diff --git a/packages/gecode/5.0.0/gecode-version.txt b/packages/gecode/5.0.0/gecode-version.txt
new file mode 100644
index 000000000..0062ac971
--- /dev/null
+++ b/packages/gecode/5.0.0/gecode-version.txt
@@ -0,0 +1 @@
+5.0.0
diff --git a/packages/gecode/5.0.0/gecode_yap_auto_generated.yap b/packages/gecode/5.0.0/gecode_yap_auto_generated.yap
new file mode 100644
index 000000000..013416d52
--- /dev/null
+++ b/packages/gecode/5.0.0/gecode_yap_auto_generated.yap
@@ -0,0 +1,3645 @@
+%% -*- prolog -*-
+%%=============================================================================
+%% Copyright (C) 2011 by Denys Duchier
+%%
+%% This program is free software: you can redistribute it and/or modify it
+%% under the terms of the GNU Lesser General Public License as published by the
+%% Free Software Foundation, either version 3 of the License, or (at your
+%% option) any later version.
+%%
+%% This program is distributed in the hope that it will be useful, but WITHOUT
+%% ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+%% FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+%% more details.
+%%
+%% You should have received a copy of the GNU Lesser General Public License
+%% along with this program. If not, see .
+%%=============================================================================
+
+is_RestartMode_('RM_NONE').
+is_RestartMode_('RM_CONSTANT').
+is_RestartMode_('RM_LINEAR').
+is_RestartMode_('RM_LUBY').
+is_RestartMode_('RM_GEOMETRIC').
+
+is_RestartMode_('RM_NONE','RM_NONE').
+is_RestartMode_('RM_CONSTANT','RM_CONSTANT').
+is_RestartMode_('RM_LINEAR','RM_LINEAR').
+is_RestartMode_('RM_LUBY','RM_LUBY').
+is_RestartMode_('RM_GEOMETRIC','RM_GEOMETRIC').
+
+is_RestartMode(X,Y) :- nonvar(X), is_RestartMode_(X,Y).
+is_RestartMode(X) :- is_RestartMode(X,_).
+
+is_FloatRelType_('FRT_EQ').
+is_FloatRelType_('FRT_NQ').
+is_FloatRelType_('FRT_LQ').
+is_FloatRelType_('FRT_LE').
+is_FloatRelType_('FRT_GQ').
+is_FloatRelType_('FRT_GR').
+
+is_FloatRelType_('FRT_EQ','FRT_EQ').
+is_FloatRelType_('FRT_NQ','FRT_NQ').
+is_FloatRelType_('FRT_LQ','FRT_LQ').
+is_FloatRelType_('FRT_LE','FRT_LE').
+is_FloatRelType_('FRT_GQ','FRT_GQ').
+is_FloatRelType_('FRT_GR','FRT_GR').
+
+is_FloatRelType(X,Y) :- nonvar(X), is_FloatRelType_(X,Y).
+is_FloatRelType(X) :- is_FloatRelType(X,_).
+
+is_ReifyMode_('RM_EQV').
+is_ReifyMode_('RM_IMP').
+is_ReifyMode_('RM_PMI').
+
+is_ReifyMode_('RM_EQV','RM_EQV').
+is_ReifyMode_('RM_IMP','RM_IMP').
+is_ReifyMode_('RM_PMI','RM_PMI').
+
+is_ReifyMode(X,Y) :- nonvar(X), is_ReifyMode_(X,Y).
+is_ReifyMode(X) :- is_ReifyMode(X,_).
+
+is_IntRelType_('IRT_EQ').
+is_IntRelType_('IRT_NQ').
+is_IntRelType_('IRT_LQ').
+is_IntRelType_('IRT_LE').
+is_IntRelType_('IRT_GQ').
+is_IntRelType_('IRT_GR').
+
+is_IntRelType_('IRT_EQ','IRT_EQ').
+is_IntRelType_('IRT_NQ','IRT_NQ').
+is_IntRelType_('IRT_LQ','IRT_LQ').
+is_IntRelType_('IRT_LE','IRT_LE').
+is_IntRelType_('IRT_GQ','IRT_GQ').
+is_IntRelType_('IRT_GR','IRT_GR').
+
+is_IntRelType(X,Y) :- nonvar(X), is_IntRelType_(X,Y).
+is_IntRelType(X) :- is_IntRelType(X,_).
+
+is_BoolOpType_('BOT_AND').
+is_BoolOpType_('BOT_OR').
+is_BoolOpType_('BOT_IMP').
+is_BoolOpType_('BOT_EQV').
+is_BoolOpType_('BOT_XOR').
+
+is_BoolOpType_('BOT_AND','BOT_AND').
+is_BoolOpType_('BOT_OR','BOT_OR').
+is_BoolOpType_('BOT_IMP','BOT_IMP').
+is_BoolOpType_('BOT_EQV','BOT_EQV').
+is_BoolOpType_('BOT_XOR','BOT_XOR').
+
+is_BoolOpType(X,Y) :- nonvar(X), is_BoolOpType_(X,Y).
+is_BoolOpType(X) :- is_BoolOpType(X,_).
+
+is_IntPropLevel_('IPL_DEF').
+is_IntPropLevel_('IPL_VAL').
+is_IntPropLevel_('IPL_BND').
+is_IntPropLevel_('IPL_DOM').
+is_IntPropLevel_('IPL_SPEED').
+is_IntPropLevel_('IPL_MEMORY').
+is_IntPropLevel_('IPL_BASIC').
+is_IntPropLevel_('IPL_ADVANCED').
+is_IntPropLevel_('IPL_BASIC_ADVANCED').
+
+is_IntPropLevel_('IPL_DEF','IPL_DEF').
+is_IntPropLevel_('IPL_VAL','IPL_VAL').
+is_IntPropLevel_('IPL_BND','IPL_BND').
+is_IntPropLevel_('IPL_DOM','IPL_DOM').
+is_IntPropLevel_('IPL_SPEED','IPL_SPEED').
+is_IntPropLevel_('IPL_MEMORY','IPL_MEMORY').
+is_IntPropLevel_('IPL_BASIC','IPL_BASIC').
+is_IntPropLevel_('IPL_ADVANCED','IPL_ADVANCED').
+is_IntPropLevel_('IPL_BASIC_ADVANCED','IPL_BASIC_ADVANCED').
+
+is_IntPropLevel(X,Y) :- nonvar(X), is_IntPropLevel_(X,Y).
+is_IntPropLevel(X) :- is_IntPropLevel(X,_).
+
+is_TaskType_('TT_FIXP').
+is_TaskType_('TT_FIXS').
+is_TaskType_('TT_FIXE').
+
+is_TaskType_('TT_FIXP','TT_FIXP').
+is_TaskType_('TT_FIXS','TT_FIXS').
+is_TaskType_('TT_FIXE','TT_FIXE').
+
+is_TaskType(X,Y) :- nonvar(X), is_TaskType_(X,Y).
+is_TaskType(X) :- is_TaskType(X,_).
+
+is_TraceEvent_('TE_INIT').
+is_TraceEvent_('TE_PRUNE').
+is_TraceEvent_('TE_FIX').
+is_TraceEvent_('TE_DONE').
+
+is_TraceEvent_('TE_INIT','TE_INIT').
+is_TraceEvent_('TE_PRUNE','TE_PRUNE').
+is_TraceEvent_('TE_FIX','TE_FIX').
+is_TraceEvent_('TE_DONE','TE_DONE').
+
+is_TraceEvent(X,Y) :- nonvar(X), is_TraceEvent_(X,Y).
+is_TraceEvent(X) :- is_TraceEvent(X,_).
+
+is_SetRelType_('SRT_EQ').
+is_SetRelType_('SRT_NQ').
+is_SetRelType_('SRT_SUB').
+is_SetRelType_('SRT_SUP').
+is_SetRelType_('SRT_DISJ').
+is_SetRelType_('SRT_CMPL').
+is_SetRelType_('SRT_LQ').
+is_SetRelType_('SRT_LE').
+is_SetRelType_('SRT_GQ').
+is_SetRelType_('SRT_GR').
+
+is_SetRelType_('SRT_EQ','SRT_EQ').
+is_SetRelType_('SRT_NQ','SRT_NQ').
+is_SetRelType_('SRT_SUB','SRT_SUB').
+is_SetRelType_('SRT_SUP','SRT_SUP').
+is_SetRelType_('SRT_DISJ','SRT_DISJ').
+is_SetRelType_('SRT_CMPL','SRT_CMPL').
+is_SetRelType_('SRT_LQ','SRT_LQ').
+is_SetRelType_('SRT_LE','SRT_LE').
+is_SetRelType_('SRT_GQ','SRT_GQ').
+is_SetRelType_('SRT_GR','SRT_GR').
+
+is_SetRelType(X,Y) :- nonvar(X), is_SetRelType_(X,Y).
+is_SetRelType(X) :- is_SetRelType(X,_).
+
+is_SetOpType_('SOT_UNION').
+is_SetOpType_('SOT_DUNION').
+is_SetOpType_('SOT_INTER').
+is_SetOpType_('SOT_MINUS').
+
+is_SetOpType_('SOT_UNION','SOT_UNION').
+is_SetOpType_('SOT_DUNION','SOT_DUNION').
+is_SetOpType_('SOT_INTER','SOT_INTER').
+is_SetOpType_('SOT_MINUS','SOT_MINUS').
+
+is_SetOpType(X,Y) :- nonvar(X), is_SetOpType_(X,Y).
+is_SetOpType(X) :- is_SetOpType(X,_).
+
+unary(X0,X1,X2,X3,X4,X5) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_TaskTypeArgs(X1,Y1)
+ -> (is_IntVarArgs(X2,Y2)
+ -> (is_IntArgs(X3,Y3)
+ -> (is_BoolVarArgs(X4,Y4)
+ -> (is_IntPropLevel(X5,Y5)
+ -> gecode_constraint_unary_476(Y0,Y1,Y2,Y3,Y4,Y5)
+ ; throw(gecode_argument_error(unary(X0,X1,X2,X3,X4,X5),arg=6)))
+ ; throw(gecode_argument_error(unary(X0,X1,X2,X3,X4,X5),arg=5)))
+ ; throw(gecode_argument_error(unary(X0,X1,X2,X3,X4,X5),arg=4)))
+ ; throw(gecode_argument_error(unary(X0,X1,X2,X3,X4,X5),arg=3)))
+ ; (is_IntVarArgs(X1,Y1)
+ -> (is_IntVarArgs(X2,Y2)
+ -> (is_IntVarArgs(X3,Y3)
+ -> (is_BoolVarArgs(X4,Y4)
+ -> (is_IntPropLevel(X5,Y5)
+ -> gecode_constraint_unary_472(Y0,Y1,Y2,Y3,Y4,Y5)
+ ; throw(gecode_argument_error(unary(X0,X1,X2,X3,X4,X5),arg=6)))
+ ; throw(gecode_argument_error(unary(X0,X1,X2,X3,X4,X5),arg=5)))
+ ; throw(gecode_argument_error(unary(X0,X1,X2,X3,X4,X5),arg=4)))
+ ; throw(gecode_argument_error(unary(X0,X1,X2,X3,X4,X5),arg=3)))
+ ; throw(gecode_argument_error(unary(X0,X1,X2,X3,X4,X5),arg=2))))
+ ; throw(gecode_argument_error(unary(X0,X1,X2,X3,X4,X5),arg=1))).
+
+nvalues(X0,X1,X2,X3,X4) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_IntVarArgs(X1,Y1)
+ -> (is_IntRelType(X2,Y2)
+ -> (is_IntVar(X3,Y3)
+ -> (is_IntPropLevel(X4,Y4)
+ -> gecode_constraint_nvalues_361(Y0,Y1,Y2,Y3,Y4)
+ ; throw(gecode_argument_error(nvalues(X0,X1,X2,X3,X4),arg=5)))
+ ; (is_int(X3,Y3)
+ -> (is_IntPropLevel(X4,Y4)
+ -> gecode_constraint_nvalues_363(Y0,Y1,Y2,Y3,Y4)
+ ; throw(gecode_argument_error(nvalues(X0,X1,X2,X3,X4),arg=5)))
+ ; throw(gecode_argument_error(nvalues(X0,X1,X2,X3,X4),arg=4))))
+ ; throw(gecode_argument_error(nvalues(X0,X1,X2,X3,X4),arg=3)))
+ ; (is_BoolVarArgs(X1,Y1)
+ -> (is_IntRelType(X2,Y2)
+ -> (is_IntVar(X3,Y3)
+ -> (is_IntPropLevel(X4,Y4)
+ -> gecode_constraint_nvalues_357(Y0,Y1,Y2,Y3,Y4)
+ ; throw(gecode_argument_error(nvalues(X0,X1,X2,X3,X4),arg=5)))
+ ; (is_int(X3,Y3)
+ -> (is_IntPropLevel(X4,Y4)
+ -> gecode_constraint_nvalues_359(Y0,Y1,Y2,Y3,Y4)
+ ; throw(gecode_argument_error(nvalues(X0,X1,X2,X3,X4),arg=5)))
+ ; throw(gecode_argument_error(nvalues(X0,X1,X2,X3,X4),arg=4))))
+ ; throw(gecode_argument_error(nvalues(X0,X1,X2,X3,X4),arg=3)))
+ ; throw(gecode_argument_error(nvalues(X0,X1,X2,X3,X4),arg=2))))
+ ; throw(gecode_argument_error(nvalues(X0,X1,X2,X3,X4),arg=1))).
+
+max(X0,X1,X2,X3) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_IntVar(X1,Y1)
+ -> (is_IntVar(X2,Y2)
+ -> (is_IntVar(X3,Y3)
+ -> gecode_constraint_max_315(Y0,Y1,Y2,Y3)
+ ; throw(gecode_argument_error(max(X0,X1,X2,X3),arg=4)))
+ ; throw(gecode_argument_error(max(X0,X1,X2,X3),arg=3)))
+ ; (is_IntVarArgs(X1,Y1)
+ -> (is_IntVar(X2,Y2)
+ -> (is_IntPropLevel(X3,Y3)
+ -> gecode_constraint_max_321(Y0,Y1,Y2,Y3)
+ ; throw(gecode_argument_error(max(X0,X1,X2,X3),arg=4)))
+ ; throw(gecode_argument_error(max(X0,X1,X2,X3),arg=3)))
+ ; (is_FloatVar(X1,Y1)
+ -> (is_FloatVar(X2,Y2)
+ -> (is_FloatVar(X3,Y3)
+ -> gecode_constraint_max_314(Y0,Y1,Y2,Y3)
+ ; throw(gecode_argument_error(max(X0,X1,X2,X3),arg=4)))
+ ; throw(gecode_argument_error(max(X0,X1,X2,X3),arg=3)))
+ ; (is_SetVar(X1,Y1)
+ -> (is_IntVar(X2,Y2)
+ -> (is_Reify(X3,Y3)
+ -> gecode_constraint_max_318(Y0,Y1,Y2,Y3)
+ ; throw(gecode_argument_error(max(X0,X1,X2,X3),arg=4)))
+ ; throw(gecode_argument_error(max(X0,X1,X2,X3),arg=3)))
+ ; throw(gecode_argument_error(max(X0,X1,X2,X3),arg=2))))))
+ ; throw(gecode_argument_error(max(X0,X1,X2,X3),arg=1))).
+
+dom(X0,X1,X2,X3,X4,X5) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_IntVar(X1,Y1)
+ -> (is_int(X2,Y2)
+ -> (is_int(X3,Y3)
+ -> (is_Reify(X4,Y4)
+ -> (is_IntPropLevel(X5,Y5)
+ -> gecode_constraint_dom_205(Y0,Y1,Y2,Y3,Y4,Y5)
+ ; throw(gecode_argument_error(dom(X0,X1,X2,X3,X4,X5),arg=6)))
+ ; throw(gecode_argument_error(dom(X0,X1,X2,X3,X4,X5),arg=5)))
+ ; throw(gecode_argument_error(dom(X0,X1,X2,X3,X4,X5),arg=4)))
+ ; throw(gecode_argument_error(dom(X0,X1,X2,X3,X4,X5),arg=3)))
+ ; (is_SetVar(X1,Y1)
+ -> (is_SetRelType(X2,Y2)
+ -> (is_int(X3,Y3)
+ -> (is_int(X4,Y4)
+ -> (is_Reify(X5,Y5)
+ -> gecode_constraint_dom_211(Y0,Y1,Y2,Y3,Y4,Y5)
+ ; throw(gecode_argument_error(dom(X0,X1,X2,X3,X4,X5),arg=6)))
+ ; throw(gecode_argument_error(dom(X0,X1,X2,X3,X4,X5),arg=5)))
+ ; throw(gecode_argument_error(dom(X0,X1,X2,X3,X4,X5),arg=4)))
+ ; throw(gecode_argument_error(dom(X0,X1,X2,X3,X4,X5),arg=3)))
+ ; throw(gecode_argument_error(dom(X0,X1,X2,X3,X4,X5),arg=2))))
+ ; throw(gecode_argument_error(dom(X0,X1,X2,X3,X4,X5),arg=1))).
+
+argmin(X0,X1,X2) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_IntVarArgs(X1,Y1)
+ -> (is_IntVar(X2,Y2)
+ -> gecode_constraint_argmin_10(Y0,Y1,Y2)
+ ; throw(gecode_argument_error(argmin(X0,X1,X2),arg=3)))
+ ; throw(gecode_argument_error(argmin(X0,X1,X2),arg=2)))
+ ; throw(gecode_argument_error(argmin(X0,X1,X2),arg=1))).
+
+convex(X0,X1,X2) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_SetVar(X1,Y1)
+ -> (is_SetVar(X2,Y2)
+ -> gecode_constraint_convex_105(Y0,Y1,Y2)
+ ; throw(gecode_argument_error(convex(X0,X1,X2),arg=3)))
+ ; throw(gecode_argument_error(convex(X0,X1,X2),arg=2)))
+ ; throw(gecode_argument_error(convex(X0,X1,X2),arg=1))).
+
+nooverlap(X0,X1,X2,X3,X4) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_IntVarArgs(X1,Y1)
+ -> (is_IntArgs(X2,Y2)
+ -> (is_IntVarArgs(X3,Y3)
+ -> (is_IntArgs(X4,Y4)
+ -> gecode_constraint_nooverlap_343(Y0,Y1,Y2,Y3,Y4)
+ ; throw(gecode_argument_error(nooverlap(X0,X1,X2,X3,X4),arg=5)))
+ ; throw(gecode_argument_error(nooverlap(X0,X1,X2,X3,X4),arg=4)))
+ ; throw(gecode_argument_error(nooverlap(X0,X1,X2,X3,X4),arg=3)))
+ ; throw(gecode_argument_error(nooverlap(X0,X1,X2,X3,X4),arg=2)))
+ ; throw(gecode_argument_error(nooverlap(X0,X1,X2,X3,X4),arg=1))).
+
+assign(X0,X1,X2) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_FloatVar(X1,Y1)
+ -> (is_FloatAssign(X2,Y2)
+ -> gecode_constraint_assign_18(Y0,Y1,Y2)
+ ; throw(gecode_argument_error(assign(X0,X1,X2),arg=3)))
+ ; (is_FloatVarArgs(X1,Y1)
+ -> (is_FloatAssign(X2,Y2)
+ -> gecode_constraint_assign_27(Y0,Y1,Y2)
+ ; throw(gecode_argument_error(assign(X0,X1,X2),arg=3)))
+ ; (is_BoolVarArgs(X1,Y1)
+ -> (is_IntAssign(X2,Y2)
+ -> gecode_constraint_assign_24(Y0,Y1,Y2)
+ ; throw(gecode_argument_error(assign(X0,X1,X2),arg=3)))
+ ; (is_BoolVar(X1,Y1)
+ -> (is_IntAssign(X2,Y2)
+ -> gecode_constraint_assign_16(Y0,Y1,Y2)
+ ; throw(gecode_argument_error(assign(X0,X1,X2),arg=3)))
+ ; (is_IntVarArgs(X1,Y1)
+ -> (is_IntAssign(X2,Y2)
+ -> gecode_constraint_assign_30(Y0,Y1,Y2)
+ ; throw(gecode_argument_error(assign(X0,X1,X2),arg=3)))
+ ; (is_IntVar(X1,Y1)
+ -> (is_IntAssign(X2,Y2)
+ -> gecode_constraint_assign_20(Y0,Y1,Y2)
+ ; throw(gecode_argument_error(assign(X0,X1,X2),arg=3)))
+ ; (is_SetVarArgs(X1,Y1)
+ -> (is_SetAssign(X2,Y2)
+ -> gecode_constraint_assign_33(Y0,Y1,Y2)
+ ; throw(gecode_argument_error(assign(X0,X1,X2),arg=3)))
+ ; (is_SetVar(X1,Y1)
+ -> (is_SetAssign(X2,Y2)
+ -> gecode_constraint_assign_22(Y0,Y1,Y2)
+ ; throw(gecode_argument_error(assign(X0,X1,X2),arg=3)))
+ ; throw(gecode_argument_error(assign(X0,X1,X2),arg=2))))))))))
+ ; throw(gecode_argument_error(assign(X0,X1,X2),arg=1))).
+
+element(X0,X1,X2,X3) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_IntVarArgs(X1,Y1)
+ -> (is_IntVar(X2,Y2)
+ -> (is_IntVar(X3,Y3)
+ -> gecode_constraint_element_256(Y0,Y1,Y2,Y3)
+ ; (is_int(X3,Y3)
+ -> gecode_constraint_element_258(Y0,Y1,Y2,Y3)
+ ; throw(gecode_argument_error(element(X0,X1,X2,X3),arg=4))))
+ ; throw(gecode_argument_error(element(X0,X1,X2,X3),arg=3)))
+ ; (is_BoolVarArgs(X1,Y1)
+ -> (is_IntVar(X2,Y2)
+ -> (is_int(X3,Y3)
+ -> gecode_constraint_element_250(Y0,Y1,Y2,Y3)
+ ; (is_BoolVar(X3,Y3)
+ -> gecode_constraint_element_248(Y0,Y1,Y2,Y3)
+ ; throw(gecode_argument_error(element(X0,X1,X2,X3),arg=4))))
+ ; throw(gecode_argument_error(element(X0,X1,X2,X3),arg=3)))
+ ; (is_IntSetArgs(X1,Y1)
+ -> (is_IntVar(X2,Y2)
+ -> (is_SetVar(X3,Y3)
+ -> gecode_constraint_element_254(Y0,Y1,Y2,Y3)
+ ; throw(gecode_argument_error(element(X0,X1,X2,X3),arg=4)))
+ ; throw(gecode_argument_error(element(X0,X1,X2,X3),arg=3)))
+ ; (is_SetVarArgs(X1,Y1)
+ -> (is_IntVar(X2,Y2)
+ -> (is_SetVar(X3,Y3)
+ -> gecode_constraint_element_262(Y0,Y1,Y2,Y3)
+ ; throw(gecode_argument_error(element(X0,X1,X2,X3),arg=4)))
+ ; throw(gecode_argument_error(element(X0,X1,X2,X3),arg=3)))
+ ; (is_IntArgs(X1,Y1)
+ -> (is_IntVar(X2,Y2)
+ -> (is_IntVar(X3,Y3)
+ -> gecode_constraint_element_232(Y0,Y1,Y2,Y3)
+ ; (is_int(X3,Y3)
+ -> gecode_constraint_element_234(Y0,Y1,Y2,Y3)
+ ; (is_BoolVar(X3,Y3)
+ -> gecode_constraint_element_230(Y0,Y1,Y2,Y3)
+ ; throw(gecode_argument_error(element(X0,X1,X2,X3),arg=4)))))
+ ; throw(gecode_argument_error(element(X0,X1,X2,X3),arg=3)))
+ ; throw(gecode_argument_error(element(X0,X1,X2,X3),arg=2)))))))
+ ; throw(gecode_argument_error(element(X0,X1,X2,X3),arg=1))).
+
+sequence(X0,X1) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_SetVarArgs(X1,Y1)
+ -> gecode_constraint_sequence_453(Y0,Y1)
+ ; throw(gecode_argument_error(sequence(X0,X1),arg=2)))
+ ; throw(gecode_argument_error(sequence(X0,X1),arg=1))).
+
+notMax(X0,X1,X2) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_SetVar(X1,Y1)
+ -> (is_IntVar(X2,Y2)
+ -> gecode_constraint_notMax_351(Y0,Y1,Y2)
+ ; throw(gecode_argument_error(notMax(X0,X1,X2),arg=3)))
+ ; throw(gecode_argument_error(notMax(X0,X1,X2),arg=2)))
+ ; throw(gecode_argument_error(notMax(X0,X1,X2),arg=1))).
+
+ite(X0,X1,X2,X3,X4) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_BoolVar(X1,Y1)
+ -> (is_IntVar(X2,Y2)
+ -> (is_IntVar(X3,Y3)
+ -> (is_IntVar(X4,Y4)
+ -> gecode_constraint_ite_272(Y0,Y1,Y2,Y3,Y4)
+ ; throw(gecode_argument_error(ite(X0,X1,X2,X3,X4),arg=5)))
+ ; throw(gecode_argument_error(ite(X0,X1,X2,X3,X4),arg=4)))
+ ; throw(gecode_argument_error(ite(X0,X1,X2,X3,X4),arg=3)))
+ ; throw(gecode_argument_error(ite(X0,X1,X2,X3,X4),arg=2)))
+ ; throw(gecode_argument_error(ite(X0,X1,X2,X3,X4),arg=1))).
+
+unary(X0,X1,X2) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_IntVarArgs(X1,Y1)
+ -> (is_IntArgs(X2,Y2)
+ -> gecode_constraint_unary_465(Y0,Y1,Y2)
+ ; throw(gecode_argument_error(unary(X0,X1,X2),arg=3)))
+ ; throw(gecode_argument_error(unary(X0,X1,X2),arg=2)))
+ ; throw(gecode_argument_error(unary(X0,X1,X2),arg=1))).
+
+nroot(X0,X1,X2,X3,X4) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_IntVar(X1,Y1)
+ -> (is_int(X2,Y2)
+ -> (is_IntVar(X3,Y3)
+ -> (is_IntPropLevel(X4,Y4)
+ -> gecode_constraint_nroot_355(Y0,Y1,Y2,Y3,Y4)
+ ; throw(gecode_argument_error(nroot(X0,X1,X2,X3,X4),arg=5)))
+ ; throw(gecode_argument_error(nroot(X0,X1,X2,X3,X4),arg=4)))
+ ; throw(gecode_argument_error(nroot(X0,X1,X2,X3,X4),arg=3)))
+ ; throw(gecode_argument_error(nroot(X0,X1,X2,X3,X4),arg=2)))
+ ; throw(gecode_argument_error(nroot(X0,X1,X2,X3,X4),arg=1))).
+
+circuit(X0,X1,X2,X3) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_int(X1,Y1)
+ -> (is_IntVarArgs(X2,Y2)
+ -> (is_IntPropLevel(X3,Y3)
+ -> gecode_constraint_circuit_99(Y0,Y1,Y2,Y3)
+ ; throw(gecode_argument_error(circuit(X0,X1,X2,X3),arg=4)))
+ ; throw(gecode_argument_error(circuit(X0,X1,X2,X3),arg=3)))
+ ; (is_IntArgs(X1,Y1)
+ -> (is_IntVarArgs(X2,Y2)
+ -> (is_IntVar(X3,Y3)
+ -> gecode_constraint_circuit_88(Y0,Y1,Y2,Y3)
+ ; throw(gecode_argument_error(circuit(X0,X1,X2,X3),arg=4)))
+ ; throw(gecode_argument_error(circuit(X0,X1,X2,X3),arg=3)))
+ ; throw(gecode_argument_error(circuit(X0,X1,X2,X3),arg=2))))
+ ; throw(gecode_argument_error(circuit(X0,X1,X2,X3),arg=1))).
+
+dom(X0,X1,X2,X3,X4) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_IntVar(X1,Y1)
+ -> (is_int(X2,Y2)
+ -> (is_int(X3,Y3)
+ -> (is_IntPropLevel(X4,Y4)
+ -> gecode_constraint_dom_203(Y0,Y1,Y2,Y3,Y4)
+ ; (is_Reify(X4,Y4)
+ -> gecode_constraint_dom_204(Y0,Y1,Y2,Y3,Y4)
+ ; throw(gecode_argument_error(dom(X0,X1,X2,X3,X4),arg=5))))
+ ; (is_Reify(X3,Y3)
+ -> (is_IntPropLevel(X4,Y4)
+ -> gecode_constraint_dom_201(Y0,Y1,Y2,Y3,Y4)
+ ; throw(gecode_argument_error(dom(X0,X1,X2,X3,X4),arg=5)))
+ ; throw(gecode_argument_error(dom(X0,X1,X2,X3,X4),arg=4))))
+ ; (is_IntSet(X2,Y2)
+ -> (is_Reify(X3,Y3)
+ -> (is_IntPropLevel(X4,Y4)
+ -> gecode_constraint_dom_197(Y0,Y1,Y2,Y3,Y4)
+ ; throw(gecode_argument_error(dom(X0,X1,X2,X3,X4),arg=5)))
+ ; throw(gecode_argument_error(dom(X0,X1,X2,X3,X4),arg=4)))
+ ; throw(gecode_argument_error(dom(X0,X1,X2,X3,X4),arg=3))))
+ ; (is_SetVarArgs(X1,Y1)
+ -> (is_SetRelType(X2,Y2)
+ -> (is_int(X3,Y3)
+ -> (is_int(X4,Y4)
+ -> gecode_constraint_dom_228(Y0,Y1,Y2,Y3,Y4)
+ ; throw(gecode_argument_error(dom(X0,X1,X2,X3,X4),arg=5)))
+ ; throw(gecode_argument_error(dom(X0,X1,X2,X3,X4),arg=4)))
+ ; throw(gecode_argument_error(dom(X0,X1,X2,X3,X4),arg=3)))
+ ; (is_IntVarArgs(X1,Y1)
+ -> (is_int(X2,Y2)
+ -> (is_int(X3,Y3)
+ -> (is_IntPropLevel(X4,Y4)
+ -> gecode_constraint_dom_225(Y0,Y1,Y2,Y3,Y4)
+ ; throw(gecode_argument_error(dom(X0,X1,X2,X3,X4),arg=5)))
+ ; throw(gecode_argument_error(dom(X0,X1,X2,X3,X4),arg=4)))
+ ; throw(gecode_argument_error(dom(X0,X1,X2,X3,X4),arg=3)))
+ ; (is_FloatVar(X1,Y1)
+ -> (is_FloatNum(X2,Y2)
+ -> (is_FloatNum(X3,Y3)
+ -> (is_Reify(X4,Y4)
+ -> gecode_constraint_dom_188(Y0,Y1,Y2,Y3,Y4)
+ ; throw(gecode_argument_error(dom(X0,X1,X2,X3,X4),arg=5)))
+ ; throw(gecode_argument_error(dom(X0,X1,X2,X3,X4),arg=4)))
+ ; throw(gecode_argument_error(dom(X0,X1,X2,X3,X4),arg=3)))
+ ; (is_SetVar(X1,Y1)
+ -> (is_SetRelType(X2,Y2)
+ -> (is_int(X3,Y3)
+ -> (is_int(X4,Y4)
+ -> gecode_constraint_dom_210(Y0,Y1,Y2,Y3,Y4)
+ ; (is_Reify(X4,Y4)
+ -> gecode_constraint_dom_209(Y0,Y1,Y2,Y3,Y4)
+ ; throw(gecode_argument_error(dom(X0,X1,X2,X3,X4),arg=5))))
+ ; (is_IntSet(X3,Y3)
+ -> (is_Reify(X4,Y4)
+ -> gecode_constraint_dom_207(Y0,Y1,Y2,Y3,Y4)
+ ; throw(gecode_argument_error(dom(X0,X1,X2,X3,X4),arg=5)))
+ ; throw(gecode_argument_error(dom(X0,X1,X2,X3,X4),arg=4))))
+ ; throw(gecode_argument_error(dom(X0,X1,X2,X3,X4),arg=3)))
+ ; throw(gecode_argument_error(dom(X0,X1,X2,X3,X4),arg=2)))))))
+ ; throw(gecode_argument_error(dom(X0,X1,X2,X3,X4),arg=1))).
+
+argmax(X0,X1,X2,X3,X4,X5) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_IntVarArgs(X1,Y1)
+ -> (is_int(X2,Y2)
+ -> (is_IntVar(X3,Y3)
+ -> (is_bool(X4,Y4)
+ -> (is_IntPropLevel(X5,Y5)
+ -> gecode_constraint_argmax_9(Y0,Y1,Y2,Y3,Y4,Y5)
+ ; throw(gecode_argument_error(argmax(X0,X1,X2,X3,X4,X5),arg=6)))
+ ; throw(gecode_argument_error(argmax(X0,X1,X2,X3,X4,X5),arg=5)))
+ ; throw(gecode_argument_error(argmax(X0,X1,X2,X3,X4,X5),arg=4)))
+ ; throw(gecode_argument_error(argmax(X0,X1,X2,X3,X4,X5),arg=3)))
+ ; throw(gecode_argument_error(argmax(X0,X1,X2,X3,X4,X5),arg=2)))
+ ; throw(gecode_argument_error(argmax(X0,X1,X2,X3,X4,X5),arg=1))).
+
+nooverlap(X0,X1,X2,X3,X4,X5,X6,X7) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_IntVarArgs(X1,Y1)
+ -> (is_IntVarArgs(X2,Y2)
+ -> (is_IntVarArgs(X3,Y3)
+ -> (is_IntVarArgs(X4,Y4)
+ -> (is_IntVarArgs(X5,Y5)
+ -> (is_IntVarArgs(X6,Y6)
+ -> (is_IntPropLevel(X7,Y7)
+ -> gecode_constraint_nooverlap_348(Y0,Y1,Y2,Y3,Y4,Y5,Y6,Y7)
+ ; (is_BoolVarArgs(X7,Y7)
+ -> gecode_constraint_nooverlap_349(Y0,Y1,Y2,Y3,Y4,Y5,Y6,Y7)
+ ; throw(gecode_argument_error(nooverlap(X0,X1,X2,X3,X4,X5,X6,X7),arg=8))))
+ ; throw(gecode_argument_error(nooverlap(X0,X1,X2,X3,X4,X5,X6,X7),arg=7)))
+ ; throw(gecode_argument_error(nooverlap(X0,X1,X2,X3,X4,X5,X6,X7),arg=6)))
+ ; throw(gecode_argument_error(nooverlap(X0,X1,X2,X3,X4,X5,X6,X7),arg=5)))
+ ; throw(gecode_argument_error(nooverlap(X0,X1,X2,X3,X4,X5,X6,X7),arg=4)))
+ ; throw(gecode_argument_error(nooverlap(X0,X1,X2,X3,X4,X5,X6,X7),arg=3)))
+ ; throw(gecode_argument_error(nooverlap(X0,X1,X2,X3,X4,X5,X6,X7),arg=2)))
+ ; throw(gecode_argument_error(nooverlap(X0,X1,X2,X3,X4,X5,X6,X7),arg=1))).
+
+element(X0,X1,X2,X3,X4,X5,X6) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_IntVarArgs(X1,Y1)
+ -> (is_IntVar(X2,Y2)
+ -> (is_int(X3,Y3)
+ -> (is_IntVar(X4,Y4)
+ -> (is_int(X5,Y5)
+ -> (is_IntVar(X6,Y6)
+ -> gecode_constraint_element_260(Y0,Y1,Y2,Y3,Y4,Y5,Y6)
+ ; throw(gecode_argument_error(element(X0,X1,X2,X3,X4,X5,X6),arg=7)))
+ ; throw(gecode_argument_error(element(X0,X1,X2,X3,X4,X5,X6),arg=6)))
+ ; throw(gecode_argument_error(element(X0,X1,X2,X3,X4,X5,X6),arg=5)))
+ ; throw(gecode_argument_error(element(X0,X1,X2,X3,X4,X5,X6),arg=4)))
+ ; throw(gecode_argument_error(element(X0,X1,X2,X3,X4,X5,X6),arg=3)))
+ ; (is_BoolVarArgs(X1,Y1)
+ -> (is_IntVar(X2,Y2)
+ -> (is_int(X3,Y3)
+ -> (is_IntVar(X4,Y4)
+ -> (is_int(X5,Y5)
+ -> (is_BoolVar(X6,Y6)
+ -> gecode_constraint_element_252(Y0,Y1,Y2,Y3,Y4,Y5,Y6)
+ ; throw(gecode_argument_error(element(X0,X1,X2,X3,X4,X5,X6),arg=7)))
+ ; throw(gecode_argument_error(element(X0,X1,X2,X3,X4,X5,X6),arg=6)))
+ ; throw(gecode_argument_error(element(X0,X1,X2,X3,X4,X5,X6),arg=5)))
+ ; throw(gecode_argument_error(element(X0,X1,X2,X3,X4,X5,X6),arg=4)))
+ ; throw(gecode_argument_error(element(X0,X1,X2,X3,X4,X5,X6),arg=3)))
+ ; (is_IntSetArgs(X1,Y1)
+ -> (is_IntVar(X2,Y2)
+ -> (is_int(X3,Y3)
+ -> (is_IntVar(X4,Y4)
+ -> (is_int(X5,Y5)
+ -> (is_SetVar(X6,Y6)
+ -> gecode_constraint_element_255(Y0,Y1,Y2,Y3,Y4,Y5,Y6)
+ ; throw(gecode_argument_error(element(X0,X1,X2,X3,X4,X5,X6),arg=7)))
+ ; throw(gecode_argument_error(element(X0,X1,X2,X3,X4,X5,X6),arg=6)))
+ ; throw(gecode_argument_error(element(X0,X1,X2,X3,X4,X5,X6),arg=5)))
+ ; throw(gecode_argument_error(element(X0,X1,X2,X3,X4,X5,X6),arg=4)))
+ ; throw(gecode_argument_error(element(X0,X1,X2,X3,X4,X5,X6),arg=3)))
+ ; (is_SetVarArgs(X1,Y1)
+ -> (is_IntVar(X2,Y2)
+ -> (is_int(X3,Y3)
+ -> (is_IntVar(X4,Y4)
+ -> (is_int(X5,Y5)
+ -> (is_SetVar(X6,Y6)
+ -> gecode_constraint_element_263(Y0,Y1,Y2,Y3,Y4,Y5,Y6)
+ ; throw(gecode_argument_error(element(X0,X1,X2,X3,X4,X5,X6),arg=7)))
+ ; throw(gecode_argument_error(element(X0,X1,X2,X3,X4,X5,X6),arg=6)))
+ ; throw(gecode_argument_error(element(X0,X1,X2,X3,X4,X5,X6),arg=5)))
+ ; throw(gecode_argument_error(element(X0,X1,X2,X3,X4,X5,X6),arg=4)))
+ ; throw(gecode_argument_error(element(X0,X1,X2,X3,X4,X5,X6),arg=3)))
+ ; (is_IntArgs(X1,Y1)
+ -> (is_IntVar(X2,Y2)
+ -> (is_int(X3,Y3)
+ -> (is_IntVar(X4,Y4)
+ -> (is_int(X5,Y5)
+ -> (is_IntVar(X6,Y6)
+ -> gecode_constraint_element_238(Y0,Y1,Y2,Y3,Y4,Y5,Y6)
+ ; (is_BoolVar(X6,Y6)
+ -> gecode_constraint_element_236(Y0,Y1,Y2,Y3,Y4,Y5,Y6)
+ ; throw(gecode_argument_error(element(X0,X1,X2,X3,X4,X5,X6),arg=7))))
+ ; throw(gecode_argument_error(element(X0,X1,X2,X3,X4,X5,X6),arg=6)))
+ ; throw(gecode_argument_error(element(X0,X1,X2,X3,X4,X5,X6),arg=5)))
+ ; throw(gecode_argument_error(element(X0,X1,X2,X3,X4,X5,X6),arg=4)))
+ ; throw(gecode_argument_error(element(X0,X1,X2,X3,X4,X5,X6),arg=3)))
+ ; throw(gecode_argument_error(element(X0,X1,X2,X3,X4,X5,X6),arg=2)))))))
+ ; throw(gecode_argument_error(element(X0,X1,X2,X3,X4,X5,X6),arg=1))).
+
+max(X0,X1,X2) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_FloatVarArgs(X1,Y1)
+ -> (is_FloatVar(X2,Y2)
+ -> gecode_constraint_max_319(Y0,Y1,Y2)
+ ; throw(gecode_argument_error(max(X0,X1,X2),arg=3)))
+ ; (is_IntVarArgs(X1,Y1)
+ -> (is_IntVar(X2,Y2)
+ -> gecode_constraint_max_320(Y0,Y1,Y2)
+ ; throw(gecode_argument_error(max(X0,X1,X2),arg=3)))
+ ; (is_SetVar(X1,Y1)
+ -> (is_IntVar(X2,Y2)
+ -> gecode_constraint_max_317(Y0,Y1,Y2)
+ ; throw(gecode_argument_error(max(X0,X1,X2),arg=3)))
+ ; throw(gecode_argument_error(max(X0,X1,X2),arg=2)))))
+ ; throw(gecode_argument_error(max(X0,X1,X2),arg=1))).
+
+unshare(X0,X1) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_IntVarArgs(X1,Y1)
+ -> gecode_constraint_unshare_479(Y0,Y1)
+ ; (is_BoolVarArgs(X1,Y1)
+ -> gecode_constraint_unshare_477(Y0,Y1)
+ ; throw(gecode_argument_error(unshare(X0,X1),arg=2))))
+ ; throw(gecode_argument_error(unshare(X0,X1),arg=1))).
+
+path(X0,X1,X2,X3,X4) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_int(X1,Y1)
+ -> (is_IntVarArgs(X2,Y2)
+ -> (is_IntVar(X3,Y3)
+ -> (is_IntVar(X4,Y4)
+ -> gecode_constraint_path_374(Y0,Y1,Y2,Y3,Y4)
+ ; throw(gecode_argument_error(path(X0,X1,X2,X3,X4),arg=5)))
+ ; throw(gecode_argument_error(path(X0,X1,X2,X3,X4),arg=4)))
+ ; throw(gecode_argument_error(path(X0,X1,X2,X3,X4),arg=3)))
+ ; (is_IntVarArgs(X1,Y1)
+ -> (is_IntVar(X2,Y2)
+ -> (is_IntVar(X3,Y3)
+ -> (is_IntPropLevel(X4,Y4)
+ -> gecode_constraint_path_373(Y0,Y1,Y2,Y3,Y4)
+ ; throw(gecode_argument_error(path(X0,X1,X2,X3,X4),arg=5)))
+ ; throw(gecode_argument_error(path(X0,X1,X2,X3,X4),arg=4)))
+ ; throw(gecode_argument_error(path(X0,X1,X2,X3,X4),arg=3)))
+ ; throw(gecode_argument_error(path(X0,X1,X2,X3,X4),arg=2))))
+ ; throw(gecode_argument_error(path(X0,X1,X2,X3,X4),arg=1))).
+
+branch(X0,X1,X2,X3,X4,X5,X6) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_IntVarArgs(X1,Y1)
+ -> (is_IntVarBranch(X2,Y2)
+ -> (is_IntValBranch(X3,Y3)
+ -> (is_Symmetries(X4,Y4)
+ -> (is_IntBranchFilter(X5,Y5)
+ -> (is_IntVarValPrint(X6,Y6)
+ -> gecode_constraint_branch_61(Y0,Y1,Y2,Y3,Y4,Y5,Y6)
+ ; throw(gecode_argument_error(branch(X0,X1,X2,X3,X4,X5,X6),arg=7)))
+ ; throw(gecode_argument_error(branch(X0,X1,X2,X3,X4,X5,X6),arg=6)))
+ ; throw(gecode_argument_error(branch(X0,X1,X2,X3,X4,X5,X6),arg=5)))
+ ; throw(gecode_argument_error(branch(X0,X1,X2,X3,X4,X5,X6),arg=4)))
+ ; throw(gecode_argument_error(branch(X0,X1,X2,X3,X4,X5,X6),arg=3)))
+ ; (is_BoolVarArgs(X1,Y1)
+ -> (is_IntVarBranch(X2,Y2)
+ -> (is_IntValBranch(X3,Y3)
+ -> (is_Symmetries(X4,Y4)
+ -> (is_BoolBranchFilter(X5,Y5)
+ -> (is_BoolVarValPrint(X6,Y6)
+ -> gecode_constraint_branch_52(Y0,Y1,Y2,Y3,Y4,Y5,Y6)
+ ; throw(gecode_argument_error(branch(X0,X1,X2,X3,X4,X5,X6),arg=7)))
+ ; throw(gecode_argument_error(branch(X0,X1,X2,X3,X4,X5,X6),arg=6)))
+ ; throw(gecode_argument_error(branch(X0,X1,X2,X3,X4,X5,X6),arg=5)))
+ ; throw(gecode_argument_error(branch(X0,X1,X2,X3,X4,X5,X6),arg=4)))
+ ; throw(gecode_argument_error(branch(X0,X1,X2,X3,X4,X5,X6),arg=3)))
+ ; (is_SetVarArgs(X1,Y1)
+ -> (is_SetVarBranch(X2,Y2)
+ -> (is_SetValBranch(X3,Y3)
+ -> (is_Symmetries(X4,Y4)
+ -> (is_SetBranchFilter(X5,Y5)
+ -> (is_SetVarValPrint(X6,Y6)
+ -> gecode_constraint_branch_67(Y0,Y1,Y2,Y3,Y4,Y5,Y6)
+ ; throw(gecode_argument_error(branch(X0,X1,X2,X3,X4,X5,X6),arg=7)))
+ ; throw(gecode_argument_error(branch(X0,X1,X2,X3,X4,X5,X6),arg=6)))
+ ; throw(gecode_argument_error(branch(X0,X1,X2,X3,X4,X5,X6),arg=5)))
+ ; throw(gecode_argument_error(branch(X0,X1,X2,X3,X4,X5,X6),arg=4)))
+ ; throw(gecode_argument_error(branch(X0,X1,X2,X3,X4,X5,X6),arg=3)))
+ ; throw(gecode_argument_error(branch(X0,X1,X2,X3,X4,X5,X6),arg=2)))))
+ ; throw(gecode_argument_error(branch(X0,X1,X2,X3,X4,X5,X6),arg=1))).
+
+mult(X0,X1,X2,X3) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_IntVar(X1,Y1)
+ -> (is_IntVar(X2,Y2)
+ -> (is_IntVar(X3,Y3)
+ -> gecode_constraint_mult_341(Y0,Y1,Y2,Y3)
+ ; throw(gecode_argument_error(mult(X0,X1,X2,X3),arg=4)))
+ ; throw(gecode_argument_error(mult(X0,X1,X2,X3),arg=3)))
+ ; (is_FloatVar(X1,Y1)
+ -> (is_FloatVar(X2,Y2)
+ -> (is_FloatVar(X3,Y3)
+ -> gecode_constraint_mult_340(Y0,Y1,Y2,Y3)
+ ; throw(gecode_argument_error(mult(X0,X1,X2,X3),arg=4)))
+ ; throw(gecode_argument_error(mult(X0,X1,X2,X3),arg=3)))
+ ; throw(gecode_argument_error(mult(X0,X1,X2,X3),arg=2))))
+ ; throw(gecode_argument_error(mult(X0,X1,X2,X3),arg=1))).
+
+clause(X0,X1,X2,X3,X4,X5) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_BoolOpType(X1,Y1)
+ -> (is_BoolVarArgs(X2,Y2)
+ -> (is_BoolVarArgs(X3,Y3)
+ -> (is_int(X4,Y4)
+ -> (is_IntPropLevel(X5,Y5)
+ -> gecode_constraint_clause_103(Y0,Y1,Y2,Y3,Y4,Y5)
+ ; throw(gecode_argument_error(clause(X0,X1,X2,X3,X4,X5),arg=6)))
+ ; (is_BoolVar(X4,Y4)
+ -> (is_IntPropLevel(X5,Y5)
+ -> gecode_constraint_clause_101(Y0,Y1,Y2,Y3,Y4,Y5)
+ ; throw(gecode_argument_error(clause(X0,X1,X2,X3,X4,X5),arg=6)))
+ ; throw(gecode_argument_error(clause(X0,X1,X2,X3,X4,X5),arg=5))))
+ ; throw(gecode_argument_error(clause(X0,X1,X2,X3,X4,X5),arg=4)))
+ ; throw(gecode_argument_error(clause(X0,X1,X2,X3,X4,X5),arg=3)))
+ ; throw(gecode_argument_error(clause(X0,X1,X2,X3,X4,X5),arg=2)))
+ ; throw(gecode_argument_error(clause(X0,X1,X2,X3,X4,X5),arg=1))).
+
+precede(X0,X1,X2,X3,X4) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_IntVarArgs(X1,Y1)
+ -> (is_int(X2,Y2)
+ -> (is_int(X3,Y3)
+ -> (is_IntPropLevel(X4,Y4)
+ -> gecode_constraint_precede_382(Y0,Y1,Y2,Y3,Y4)
+ ; throw(gecode_argument_error(precede(X0,X1,X2,X3,X4),arg=5)))
+ ; throw(gecode_argument_error(precede(X0,X1,X2,X3,X4),arg=4)))
+ ; throw(gecode_argument_error(precede(X0,X1,X2,X3,X4),arg=3)))
+ ; throw(gecode_argument_error(precede(X0,X1,X2,X3,X4),arg=2)))
+ ; throw(gecode_argument_error(precede(X0,X1,X2,X3,X4),arg=1))).
+
+argmax(X0,X1,X2) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_IntVarArgs(X1,Y1)
+ -> (is_IntVar(X2,Y2)
+ -> gecode_constraint_argmax_4(Y0,Y1,Y2)
+ ; throw(gecode_argument_error(argmax(X0,X1,X2),arg=3)))
+ ; throw(gecode_argument_error(argmax(X0,X1,X2),arg=2)))
+ ; throw(gecode_argument_error(argmax(X0,X1,X2),arg=1))).
+
+distinct(X0,X1) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_IntVarArgs(X1,Y1)
+ -> gecode_constraint_distinct_176(Y0,Y1)
+ ; throw(gecode_argument_error(distinct(X0,X1),arg=2)))
+ ; throw(gecode_argument_error(distinct(X0,X1),arg=1))).
+
+member(X0,X1,X2,X3) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_IntVarArgs(X1,Y1)
+ -> (is_IntVar(X2,Y2)
+ -> (is_IntPropLevel(X3,Y3)
+ -> gecode_constraint_member_327(Y0,Y1,Y2,Y3)
+ ; (is_Reify(X3,Y3)
+ -> gecode_constraint_member_328(Y0,Y1,Y2,Y3)
+ ; throw(gecode_argument_error(member(X0,X1,X2,X3),arg=4))))
+ ; throw(gecode_argument_error(member(X0,X1,X2,X3),arg=3)))
+ ; (is_BoolVarArgs(X1,Y1)
+ -> (is_BoolVar(X2,Y2)
+ -> (is_IntPropLevel(X3,Y3)
+ -> gecode_constraint_member_323(Y0,Y1,Y2,Y3)
+ ; (is_Reify(X3,Y3)
+ -> gecode_constraint_member_324(Y0,Y1,Y2,Y3)
+ ; throw(gecode_argument_error(member(X0,X1,X2,X3),arg=4))))
+ ; throw(gecode_argument_error(member(X0,X1,X2,X3),arg=3)))
+ ; throw(gecode_argument_error(member(X0,X1,X2,X3),arg=2))))
+ ; throw(gecode_argument_error(member(X0,X1,X2,X3),arg=1))).
+
+mod(X0,X1,X2,X3,X4) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_IntVar(X1,Y1)
+ -> (is_IntVar(X2,Y2)
+ -> (is_IntVar(X3,Y3)
+ -> (is_IntPropLevel(X4,Y4)
+ -> gecode_constraint_mod_339(Y0,Y1,Y2,Y3,Y4)
+ ; throw(gecode_argument_error(mod(X0,X1,X2,X3,X4),arg=5)))
+ ; throw(gecode_argument_error(mod(X0,X1,X2,X3,X4),arg=4)))
+ ; throw(gecode_argument_error(mod(X0,X1,X2,X3,X4),arg=3)))
+ ; throw(gecode_argument_error(mod(X0,X1,X2,X3,X4),arg=2)))
+ ; throw(gecode_argument_error(mod(X0,X1,X2,X3,X4),arg=1))).
+
+cardinality(X0,X1,X2) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_SetVar(X1,Y1)
+ -> (is_IntVar(X2,Y2)
+ -> gecode_constraint_cardinality_68(Y0,Y1,Y2)
+ ; throw(gecode_argument_error(cardinality(X0,X1,X2),arg=3)))
+ ; throw(gecode_argument_error(cardinality(X0,X1,X2),arg=2)))
+ ; throw(gecode_argument_error(cardinality(X0,X1,X2),arg=1))).
+
+atmostOne(X0,X1,X2) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_SetVarArgs(X1,Y1)
+ -> (is_int(X2,Y2)
+ -> gecode_constraint_atmostOne_36(Y0,Y1,Y2)
+ ; throw(gecode_argument_error(atmostOne(X0,X1,X2),arg=3)))
+ ; throw(gecode_argument_error(atmostOne(X0,X1,X2),arg=2)))
+ ; throw(gecode_argument_error(atmostOne(X0,X1,X2),arg=1))).
+
+channelSorted(X0,X1,X2) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_IntVarArgs(X1,Y1)
+ -> (is_SetVar(X2,Y2)
+ -> gecode_constraint_channelSorted_87(Y0,Y1,Y2)
+ ; throw(gecode_argument_error(channelSorted(X0,X1,X2),arg=3)))
+ ; throw(gecode_argument_error(channelSorted(X0,X1,X2),arg=2)))
+ ; throw(gecode_argument_error(channelSorted(X0,X1,X2),arg=1))).
+
+linear(X0,X1,X2,X3) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_FloatVarArgs(X1,Y1)
+ -> (is_FloatRelType(X2,Y2)
+ -> (is_FloatVar(X3,Y3)
+ -> gecode_constraint_linear_288(Y0,Y1,Y2,Y3)
+ ; (is_FloatNum(X3,Y3)
+ -> gecode_constraint_linear_286(Y0,Y1,Y2,Y3)
+ ; throw(gecode_argument_error(linear(X0,X1,X2,X3),arg=4))))
+ ; throw(gecode_argument_error(linear(X0,X1,X2,X3),arg=3)))
+ ; (is_BoolVarArgs(X1,Y1)
+ -> (is_IntRelType(X2,Y2)
+ -> (is_IntVar(X3,Y3)
+ -> gecode_constraint_linear_274(Y0,Y1,Y2,Y3)
+ ; (is_int(X3,Y3)
+ -> gecode_constraint_linear_278(Y0,Y1,Y2,Y3)
+ ; throw(gecode_argument_error(linear(X0,X1,X2,X3),arg=4))))
+ ; throw(gecode_argument_error(linear(X0,X1,X2,X3),arg=3)))
+ ; (is_IntVarArgs(X1,Y1)
+ -> (is_IntRelType(X2,Y2)
+ -> (is_IntVar(X3,Y3)
+ -> gecode_constraint_linear_306(Y0,Y1,Y2,Y3)
+ ; (is_int(X3,Y3)
+ -> gecode_constraint_linear_310(Y0,Y1,Y2,Y3)
+ ; throw(gecode_argument_error(linear(X0,X1,X2,X3),arg=4))))
+ ; throw(gecode_argument_error(linear(X0,X1,X2,X3),arg=3)))
+ ; throw(gecode_argument_error(linear(X0,X1,X2,X3),arg=2)))))
+ ; throw(gecode_argument_error(linear(X0,X1,X2,X3),arg=1))).
+
+circuit(X0,X1) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_IntVarArgs(X1,Y1)
+ -> gecode_constraint_circuit_96(Y0,Y1)
+ ; throw(gecode_argument_error(circuit(X0,X1),arg=2)))
+ ; throw(gecode_argument_error(circuit(X0,X1),arg=1))).
+
+rel(X0,X1,X2,X3,X4) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_FloatVar(X1,Y1)
+ -> (is_FloatRelType(X2,Y2)
+ -> (is_FloatVal(X3,Y3)
+ -> (is_Reify(X4,Y4)
+ -> gecode_constraint_rel_402(Y0,Y1,Y2,Y3,Y4)
+ ; throw(gecode_argument_error(rel(X0,X1,X2,X3,X4),arg=5)))
+ ; (is_FloatVar(X3,Y3)
+ -> (is_Reify(X4,Y4)
+ -> gecode_constraint_rel_404(Y0,Y1,Y2,Y3,Y4)
+ ; throw(gecode_argument_error(rel(X0,X1,X2,X3,X4),arg=5)))
+ ; throw(gecode_argument_error(rel(X0,X1,X2,X3,X4),arg=4))))
+ ; throw(gecode_argument_error(rel(X0,X1,X2,X3,X4),arg=3)))
+ ; (is_BoolVar(X1,Y1)
+ -> (is_IntRelType(X2,Y2)
+ -> (is_int(X3,Y3)
+ -> (is_IntPropLevel(X4,Y4)
+ -> gecode_constraint_rel_398(Y0,Y1,Y2,Y3,Y4)
+ ; (is_Reify(X4,Y4)
+ -> gecode_constraint_rel_399(Y0,Y1,Y2,Y3,Y4)
+ ; throw(gecode_argument_error(rel(X0,X1,X2,X3,X4),arg=5))))
+ ; (is_BoolVar(X3,Y3)
+ -> (is_IntPropLevel(X4,Y4)
+ -> gecode_constraint_rel_394(Y0,Y1,Y2,Y3,Y4)
+ ; (is_Reify(X4,Y4)
+ -> gecode_constraint_rel_395(Y0,Y1,Y2,Y3,Y4)
+ ; throw(gecode_argument_error(rel(X0,X1,X2,X3,X4),arg=5))))
+ ; throw(gecode_argument_error(rel(X0,X1,X2,X3,X4),arg=4))))
+ ; (is_BoolOpType(X2,Y2)
+ -> (is_BoolVar(X3,Y3)
+ -> (is_int(X4,Y4)
+ -> gecode_constraint_rel_391(Y0,Y1,Y2,Y3,Y4)
+ ; (is_BoolVar(X4,Y4)
+ -> gecode_constraint_rel_389(Y0,Y1,Y2,Y3,Y4)
+ ; throw(gecode_argument_error(rel(X0,X1,X2,X3,X4),arg=5))))
+ ; throw(gecode_argument_error(rel(X0,X1,X2,X3,X4),arg=4)))
+ ; throw(gecode_argument_error(rel(X0,X1,X2,X3,X4),arg=3))))
+ ; (is_BoolVarArgs(X1,Y1)
+ -> (is_IntRelType(X2,Y2)
+ -> (is_int(X3,Y3)
+ -> (is_IntPropLevel(X4,Y4)
+ -> gecode_constraint_rel_436(Y0,Y1,Y2,Y3,Y4)
+ ; throw(gecode_argument_error(rel(X0,X1,X2,X3,X4),arg=5)))
+ ; (is_BoolVarArgs(X3,Y3)
+ -> (is_IntPropLevel(X4,Y4)
+ -> gecode_constraint_rel_434(Y0,Y1,Y2,Y3,Y4)
+ ; throw(gecode_argument_error(rel(X0,X1,X2,X3,X4),arg=5)))
+ ; (is_BoolVar(X3,Y3)
+ -> (is_IntPropLevel(X4,Y4)
+ -> gecode_constraint_rel_430(Y0,Y1,Y2,Y3,Y4)
+ ; throw(gecode_argument_error(rel(X0,X1,X2,X3,X4),arg=5)))
+ ; throw(gecode_argument_error(rel(X0,X1,X2,X3,X4),arg=4)))))
+ ; throw(gecode_argument_error(rel(X0,X1,X2,X3,X4),arg=3)))
+ ; (is_SetOpType(X1,Y1)
+ -> (is_SetVarArgs(X2,Y2)
+ -> (is_IntSet(X3,Y3)
+ -> (is_SetVar(X4,Y4)
+ -> gecode_constraint_rel_419(Y0,Y1,Y2,Y3,Y4)
+ ; throw(gecode_argument_error(rel(X0,X1,X2,X3,X4),arg=5)))
+ ; throw(gecode_argument_error(rel(X0,X1,X2,X3,X4),arg=4)))
+ ; (is_IntVarArgs(X2,Y2)
+ -> (is_IntSet(X3,Y3)
+ -> (is_SetVar(X4,Y4)
+ -> gecode_constraint_rel_417(Y0,Y1,Y2,Y3,Y4)
+ ; throw(gecode_argument_error(rel(X0,X1,X2,X3,X4),arg=5)))
+ ; throw(gecode_argument_error(rel(X0,X1,X2,X3,X4),arg=4)))
+ ; throw(gecode_argument_error(rel(X0,X1,X2,X3,X4),arg=3))))
+ ; (is_IntVarArgs(X1,Y1)
+ -> (is_IntRelType(X2,Y2)
+ -> (is_IntVar(X3,Y3)
+ -> (is_IntPropLevel(X4,Y4)
+ -> gecode_constraint_rel_444(Y0,Y1,Y2,Y3,Y4)
+ ; throw(gecode_argument_error(rel(X0,X1,X2,X3,X4),arg=5)))
+ ; (is_int(X3,Y3)
+ -> (is_IntPropLevel(X4,Y4)
+ -> gecode_constraint_rel_448(Y0,Y1,Y2,Y3,Y4)
+ ; throw(gecode_argument_error(rel(X0,X1,X2,X3,X4),arg=5)))
+ ; (is_IntVarArgs(X3,Y3)
+ -> (is_IntPropLevel(X4,Y4)
+ -> gecode_constraint_rel_446(Y0,Y1,Y2,Y3,Y4)
+ ; throw(gecode_argument_error(rel(X0,X1,X2,X3,X4),arg=5)))
+ ; throw(gecode_argument_error(rel(X0,X1,X2,X3,X4),arg=4)))))
+ ; throw(gecode_argument_error(rel(X0,X1,X2,X3,X4),arg=3)))
+ ; (is_IntVar(X1,Y1)
+ -> (is_IntRelType(X2,Y2)
+ -> (is_IntVar(X3,Y3)
+ -> (is_IntPropLevel(X4,Y4)
+ -> gecode_constraint_rel_406(Y0,Y1,Y2,Y3,Y4)
+ ; (is_Reify(X4,Y4)
+ -> gecode_constraint_rel_407(Y0,Y1,Y2,Y3,Y4)
+ ; throw(gecode_argument_error(rel(X0,X1,X2,X3,X4),arg=5))))
+ ; (is_int(X3,Y3)
+ -> (is_IntPropLevel(X4,Y4)
+ -> gecode_constraint_rel_411(Y0,Y1,Y2,Y3,Y4)
+ ; (is_Reify(X4,Y4)
+ -> gecode_constraint_rel_412(Y0,Y1,Y2,Y3,Y4)
+ ; throw(gecode_argument_error(rel(X0,X1,X2,X3,X4),arg=5))))
+ ; throw(gecode_argument_error(rel(X0,X1,X2,X3,X4),arg=4))))
+ ; (is_SetRelType(X2,Y2)
+ -> (is_SetVar(X3,Y3)
+ -> (is_Reify(X4,Y4)
+ -> gecode_constraint_rel_415(Y0,Y1,Y2,Y3,Y4)
+ ; throw(gecode_argument_error(rel(X0,X1,X2,X3,X4),arg=5)))
+ ; throw(gecode_argument_error(rel(X0,X1,X2,X3,X4),arg=4)))
+ ; throw(gecode_argument_error(rel(X0,X1,X2,X3,X4),arg=3))))
+ ; (is_SetVar(X1,Y1)
+ -> (is_SetRelType(X2,Y2)
+ -> (is_IntVar(X3,Y3)
+ -> (is_Reify(X4,Y4)
+ -> gecode_constraint_rel_426(Y0,Y1,Y2,Y3,Y4)
+ ; throw(gecode_argument_error(rel(X0,X1,X2,X3,X4),arg=5)))
+ ; (is_SetVar(X3,Y3)
+ -> (is_Reify(X4,Y4)
+ -> gecode_constraint_rel_428(Y0,Y1,Y2,Y3,Y4)
+ ; throw(gecode_argument_error(rel(X0,X1,X2,X3,X4),arg=5)))
+ ; throw(gecode_argument_error(rel(X0,X1,X2,X3,X4),arg=4))))
+ ; throw(gecode_argument_error(rel(X0,X1,X2,X3,X4),arg=3)))
+ ; (is_BoolOpType(X1,Y1)
+ -> (is_BoolVarArgs(X2,Y2)
+ -> (is_int(X3,Y3)
+ -> (is_IntPropLevel(X4,Y4)
+ -> gecode_constraint_rel_388(Y0,Y1,Y2,Y3,Y4)
+ ; throw(gecode_argument_error(rel(X0,X1,X2,X3,X4),arg=5)))
+ ; (is_BoolVar(X3,Y3)
+ -> (is_IntPropLevel(X4,Y4)
+ -> gecode_constraint_rel_386(Y0,Y1,Y2,Y3,Y4)
+ ; throw(gecode_argument_error(rel(X0,X1,X2,X3,X4),arg=5)))
+ ; throw(gecode_argument_error(rel(X0,X1,X2,X3,X4),arg=4))))
+ ; throw(gecode_argument_error(rel(X0,X1,X2,X3,X4),arg=3)))
+ ; throw(gecode_argument_error(rel(X0,X1,X2,X3,X4),arg=2))))))))))
+ ; throw(gecode_argument_error(rel(X0,X1,X2,X3,X4),arg=1))).
+
+min(X0,X1,X2,X3) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_IntVar(X1,Y1)
+ -> (is_IntVar(X2,Y2)
+ -> (is_IntVar(X3,Y3)
+ -> gecode_constraint_min_331(Y0,Y1,Y2,Y3)
+ ; throw(gecode_argument_error(min(X0,X1,X2,X3),arg=4)))
+ ; throw(gecode_argument_error(min(X0,X1,X2,X3),arg=3)))
+ ; (is_IntVarArgs(X1,Y1)
+ -> (is_IntVar(X2,Y2)
+ -> (is_IntPropLevel(X3,Y3)
+ -> gecode_constraint_min_337(Y0,Y1,Y2,Y3)
+ ; throw(gecode_argument_error(min(X0,X1,X2,X3),arg=4)))
+ ; throw(gecode_argument_error(min(X0,X1,X2,X3),arg=3)))
+ ; (is_FloatVar(X1,Y1)
+ -> (is_FloatVar(X2,Y2)
+ -> (is_FloatVar(X3,Y3)
+ -> gecode_constraint_min_330(Y0,Y1,Y2,Y3)
+ ; throw(gecode_argument_error(min(X0,X1,X2,X3),arg=4)))
+ ; throw(gecode_argument_error(min(X0,X1,X2,X3),arg=3)))
+ ; (is_SetVar(X1,Y1)
+ -> (is_IntVar(X2,Y2)
+ -> (is_Reify(X3,Y3)
+ -> gecode_constraint_min_334(Y0,Y1,Y2,Y3)
+ ; throw(gecode_argument_error(min(X0,X1,X2,X3),arg=4)))
+ ; throw(gecode_argument_error(min(X0,X1,X2,X3),arg=3)))
+ ; throw(gecode_argument_error(min(X0,X1,X2,X3),arg=2))))))
+ ; throw(gecode_argument_error(min(X0,X1,X2,X3),arg=1))).
+
+cardinality(X0,X1,X2,X3) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_SetVarArgs(X1,Y1)
+ -> (is_int(X2,Y2)
+ -> (is_int(X3,Y3)
+ -> gecode_constraint_cardinality_70(Y0,Y1,Y2,Y3)
+ ; throw(gecode_argument_error(cardinality(X0,X1,X2,X3),arg=4)))
+ ; throw(gecode_argument_error(cardinality(X0,X1,X2,X3),arg=3)))
+ ; (is_SetVar(X1,Y1)
+ -> (is_int(X2,Y2)
+ -> (is_int(X3,Y3)
+ -> gecode_constraint_cardinality_69(Y0,Y1,Y2,Y3)
+ ; throw(gecode_argument_error(cardinality(X0,X1,X2,X3),arg=4)))
+ ; throw(gecode_argument_error(cardinality(X0,X1,X2,X3),arg=3)))
+ ; throw(gecode_argument_error(cardinality(X0,X1,X2,X3),arg=2))))
+ ; throw(gecode_argument_error(cardinality(X0,X1,X2,X3),arg=1))).
+
+count(X0,X1,X2,X3) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_IntVarArgs(X1,Y1)
+ -> (is_IntVarArgs(X2,Y2)
+ -> (is_IntPropLevel(X3,Y3)
+ -> gecode_constraint_count_125(Y0,Y1,Y2,Y3)
+ ; (is_IntArgs(X3,Y3)
+ -> gecode_constraint_count_126(Y0,Y1,Y2,Y3)
+ ; throw(gecode_argument_error(count(X0,X1,X2,X3),arg=4))))
+ ; (is_IntSet(X2,Y2)
+ -> (is_IntArgs(X3,Y3)
+ -> gecode_constraint_count_118(Y0,Y1,Y2,Y3)
+ ; throw(gecode_argument_error(count(X0,X1,X2,X3),arg=4)))
+ ; (is_IntSetArgs(X2,Y2)
+ -> (is_IntPropLevel(X3,Y3)
+ -> gecode_constraint_count_121(Y0,Y1,Y2,Y3)
+ ; (is_IntArgs(X3,Y3)
+ -> gecode_constraint_count_122(Y0,Y1,Y2,Y3)
+ ; throw(gecode_argument_error(count(X0,X1,X2,X3),arg=4))))
+ ; throw(gecode_argument_error(count(X0,X1,X2,X3),arg=3)))))
+ ; throw(gecode_argument_error(count(X0,X1,X2,X3),arg=2)))
+ ; throw(gecode_argument_error(count(X0,X1,X2,X3),arg=1))).
+
+sqrt(X0,X1,X2) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_IntVar(X1,Y1)
+ -> (is_IntVar(X2,Y2)
+ -> gecode_constraint_sqrt_463(Y0,Y1,Y2)
+ ; throw(gecode_argument_error(sqrt(X0,X1,X2),arg=3)))
+ ; (is_FloatVar(X1,Y1)
+ -> (is_FloatVar(X2,Y2)
+ -> gecode_constraint_sqrt_462(Y0,Y1,Y2)
+ ; throw(gecode_argument_error(sqrt(X0,X1,X2),arg=3)))
+ ; throw(gecode_argument_error(sqrt(X0,X1,X2),arg=2))))
+ ; throw(gecode_argument_error(sqrt(X0,X1,X2),arg=1))).
+
+cumulatives(X0,X1,X2,X3,X4,X5,X6,X7,X8) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_IntVarArgs(X1,Y1)
+ -> (is_IntVarArgs(X2,Y2)
+ -> (is_IntVarArgs(X3,Y3)
+ -> (is_IntVarArgs(X4,Y4)
+ -> (is_IntVarArgs(X5,Y5)
+ -> (is_IntArgs(X6,Y6)
+ -> (is_bool(X7,Y7)
+ -> (is_IntPropLevel(X8,Y8)
+ -> gecode_constraint_cumulatives_171(Y0,Y1,Y2,Y3,Y4,Y5,Y6,Y7,Y8)
+ ; throw(gecode_argument_error(cumulatives(X0,X1,X2,X3,X4,X5,X6,X7,X8),arg=9)))
+ ; throw(gecode_argument_error(cumulatives(X0,X1,X2,X3,X4,X5,X6,X7,X8),arg=8)))
+ ; throw(gecode_argument_error(cumulatives(X0,X1,X2,X3,X4,X5,X6,X7,X8),arg=7)))
+ ; (is_IntArgs(X5,Y5)
+ -> (is_IntArgs(X6,Y6)
+ -> (is_bool(X7,Y7)
+ -> (is_IntPropLevel(X8,Y8)
+ -> gecode_constraint_cumulatives_169(Y0,Y1,Y2,Y3,Y4,Y5,Y6,Y7,Y8)
+ ; throw(gecode_argument_error(cumulatives(X0,X1,X2,X3,X4,X5,X6,X7,X8),arg=9)))
+ ; throw(gecode_argument_error(cumulatives(X0,X1,X2,X3,X4,X5,X6,X7,X8),arg=8)))
+ ; throw(gecode_argument_error(cumulatives(X0,X1,X2,X3,X4,X5,X6,X7,X8),arg=7)))
+ ; throw(gecode_argument_error(cumulatives(X0,X1,X2,X3,X4,X5,X6,X7,X8),arg=6))))
+ ; throw(gecode_argument_error(cumulatives(X0,X1,X2,X3,X4,X5,X6,X7,X8),arg=5)))
+ ; (is_IntArgs(X3,Y3)
+ -> (is_IntVarArgs(X4,Y4)
+ -> (is_IntVarArgs(X5,Y5)
+ -> (is_IntArgs(X6,Y6)
+ -> (is_bool(X7,Y7)
+ -> (is_IntPropLevel(X8,Y8)
+ -> gecode_constraint_cumulatives_167(Y0,Y1,Y2,Y3,Y4,Y5,Y6,Y7,Y8)
+ ; throw(gecode_argument_error(cumulatives(X0,X1,X2,X3,X4,X5,X6,X7,X8),arg=9)))
+ ; throw(gecode_argument_error(cumulatives(X0,X1,X2,X3,X4,X5,X6,X7,X8),arg=8)))
+ ; throw(gecode_argument_error(cumulatives(X0,X1,X2,X3,X4,X5,X6,X7,X8),arg=7)))
+ ; (is_IntArgs(X5,Y5)
+ -> (is_IntArgs(X6,Y6)
+ -> (is_bool(X7,Y7)
+ -> (is_IntPropLevel(X8,Y8)
+ -> gecode_constraint_cumulatives_165(Y0,Y1,Y2,Y3,Y4,Y5,Y6,Y7,Y8)
+ ; throw(gecode_argument_error(cumulatives(X0,X1,X2,X3,X4,X5,X6,X7,X8),arg=9)))
+ ; throw(gecode_argument_error(cumulatives(X0,X1,X2,X3,X4,X5,X6,X7,X8),arg=8)))
+ ; throw(gecode_argument_error(cumulatives(X0,X1,X2,X3,X4,X5,X6,X7,X8),arg=7)))
+ ; throw(gecode_argument_error(cumulatives(X0,X1,X2,X3,X4,X5,X6,X7,X8),arg=6))))
+ ; throw(gecode_argument_error(cumulatives(X0,X1,X2,X3,X4,X5,X6,X7,X8),arg=5)))
+ ; throw(gecode_argument_error(cumulatives(X0,X1,X2,X3,X4,X5,X6,X7,X8),arg=4))))
+ ; throw(gecode_argument_error(cumulatives(X0,X1,X2,X3,X4,X5,X6,X7,X8),arg=3)))
+ ; (is_IntArgs(X1,Y1)
+ -> (is_IntVarArgs(X2,Y2)
+ -> (is_IntVarArgs(X3,Y3)
+ -> (is_IntVarArgs(X4,Y4)
+ -> (is_IntVarArgs(X5,Y5)
+ -> (is_IntArgs(X6,Y6)
+ -> (is_bool(X7,Y7)
+ -> (is_IntPropLevel(X8,Y8)
+ -> gecode_constraint_cumulatives_163(Y0,Y1,Y2,Y3,Y4,Y5,Y6,Y7,Y8)
+ ; throw(gecode_argument_error(cumulatives(X0,X1,X2,X3,X4,X5,X6,X7,X8),arg=9)))
+ ; throw(gecode_argument_error(cumulatives(X0,X1,X2,X3,X4,X5,X6,X7,X8),arg=8)))
+ ; throw(gecode_argument_error(cumulatives(X0,X1,X2,X3,X4,X5,X6,X7,X8),arg=7)))
+ ; (is_IntArgs(X5,Y5)
+ -> (is_IntArgs(X6,Y6)
+ -> (is_bool(X7,Y7)
+ -> (is_IntPropLevel(X8,Y8)
+ -> gecode_constraint_cumulatives_161(Y0,Y1,Y2,Y3,Y4,Y5,Y6,Y7,Y8)
+ ; throw(gecode_argument_error(cumulatives(X0,X1,X2,X3,X4,X5,X6,X7,X8),arg=9)))
+ ; throw(gecode_argument_error(cumulatives(X0,X1,X2,X3,X4,X5,X6,X7,X8),arg=8)))
+ ; throw(gecode_argument_error(cumulatives(X0,X1,X2,X3,X4,X5,X6,X7,X8),arg=7)))
+ ; throw(gecode_argument_error(cumulatives(X0,X1,X2,X3,X4,X5,X6,X7,X8),arg=6))))
+ ; throw(gecode_argument_error(cumulatives(X0,X1,X2,X3,X4,X5,X6,X7,X8),arg=5)))
+ ; (is_IntArgs(X3,Y3)
+ -> (is_IntVarArgs(X4,Y4)
+ -> (is_IntVarArgs(X5,Y5)
+ -> (is_IntArgs(X6,Y6)
+ -> (is_bool(X7,Y7)
+ -> (is_IntPropLevel(X8,Y8)
+ -> gecode_constraint_cumulatives_159(Y0,Y1,Y2,Y3,Y4,Y5,Y6,Y7,Y8)
+ ; throw(gecode_argument_error(cumulatives(X0,X1,X2,X3,X4,X5,X6,X7,X8),arg=9)))
+ ; throw(gecode_argument_error(cumulatives(X0,X1,X2,X3,X4,X5,X6,X7,X8),arg=8)))
+ ; throw(gecode_argument_error(cumulatives(X0,X1,X2,X3,X4,X5,X6,X7,X8),arg=7)))
+ ; (is_IntArgs(X5,Y5)
+ -> (is_IntArgs(X6,Y6)
+ -> (is_bool(X7,Y7)
+ -> (is_IntPropLevel(X8,Y8)
+ -> gecode_constraint_cumulatives_157(Y0,Y1,Y2,Y3,Y4,Y5,Y6,Y7,Y8)
+ ; throw(gecode_argument_error(cumulatives(X0,X1,X2,X3,X4,X5,X6,X7,X8),arg=9)))
+ ; throw(gecode_argument_error(cumulatives(X0,X1,X2,X3,X4,X5,X6,X7,X8),arg=8)))
+ ; throw(gecode_argument_error(cumulatives(X0,X1,X2,X3,X4,X5,X6,X7,X8),arg=7)))
+ ; throw(gecode_argument_error(cumulatives(X0,X1,X2,X3,X4,X5,X6,X7,X8),arg=6))))
+ ; throw(gecode_argument_error(cumulatives(X0,X1,X2,X3,X4,X5,X6,X7,X8),arg=5)))
+ ; throw(gecode_argument_error(cumulatives(X0,X1,X2,X3,X4,X5,X6,X7,X8),arg=4))))
+ ; throw(gecode_argument_error(cumulatives(X0,X1,X2,X3,X4,X5,X6,X7,X8),arg=3)))
+ ; throw(gecode_argument_error(cumulatives(X0,X1,X2,X3,X4,X5,X6,X7,X8),arg=2))))
+ ; throw(gecode_argument_error(cumulatives(X0,X1,X2,X3,X4,X5,X6,X7,X8),arg=1))).
+
+nvalues(X0,X1,X2,X3) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_IntVarArgs(X1,Y1)
+ -> (is_IntRelType(X2,Y2)
+ -> (is_IntVar(X3,Y3)
+ -> gecode_constraint_nvalues_360(Y0,Y1,Y2,Y3)
+ ; (is_int(X3,Y3)
+ -> gecode_constraint_nvalues_362(Y0,Y1,Y2,Y3)
+ ; throw(gecode_argument_error(nvalues(X0,X1,X2,X3),arg=4))))
+ ; throw(gecode_argument_error(nvalues(X0,X1,X2,X3),arg=3)))
+ ; (is_BoolVarArgs(X1,Y1)
+ -> (is_IntRelType(X2,Y2)
+ -> (is_IntVar(X3,Y3)
+ -> gecode_constraint_nvalues_356(Y0,Y1,Y2,Y3)
+ ; (is_int(X3,Y3)
+ -> gecode_constraint_nvalues_358(Y0,Y1,Y2,Y3)
+ ; throw(gecode_argument_error(nvalues(X0,X1,X2,X3),arg=4))))
+ ; throw(gecode_argument_error(nvalues(X0,X1,X2,X3),arg=3)))
+ ; throw(gecode_argument_error(nvalues(X0,X1,X2,X3),arg=2))))
+ ; throw(gecode_argument_error(nvalues(X0,X1,X2,X3),arg=1))).
+
+binpacking(X0,X1,X2,X3) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_IntVarArgs(X1,Y1)
+ -> (is_IntVarArgs(X2,Y2)
+ -> (is_IntArgs(X3,Y3)
+ -> gecode_constraint_binpacking_37(Y0,Y1,Y2,Y3)
+ ; throw(gecode_argument_error(binpacking(X0,X1,X2,X3),arg=4)))
+ ; throw(gecode_argument_error(binpacking(X0,X1,X2,X3),arg=3)))
+ ; throw(gecode_argument_error(binpacking(X0,X1,X2,X3),arg=2)))
+ ; throw(gecode_argument_error(binpacking(X0,X1,X2,X3),arg=1))).
+
+linear(X0,X1,X2,X3,X4,X5,X6) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_IntArgs(X1,Y1)
+ -> (is_IntVarArgs(X2,Y2)
+ -> (is_IntRelType(X3,Y3)
+ -> (is_IntVar(X4,Y4)
+ -> (is_Reify(X5,Y5)
+ -> (is_IntPropLevel(X6,Y6)
+ -> gecode_constraint_linear_301(Y0,Y1,Y2,Y3,Y4,Y5,Y6)
+ ; throw(gecode_argument_error(linear(X0,X1,X2,X3,X4,X5,X6),arg=7)))
+ ; throw(gecode_argument_error(linear(X0,X1,X2,X3,X4,X5,X6),arg=6)))
+ ; (is_int(X4,Y4)
+ -> (is_Reify(X5,Y5)
+ -> (is_IntPropLevel(X6,Y6)
+ -> gecode_constraint_linear_305(Y0,Y1,Y2,Y3,Y4,Y5,Y6)
+ ; throw(gecode_argument_error(linear(X0,X1,X2,X3,X4,X5,X6),arg=7)))
+ ; throw(gecode_argument_error(linear(X0,X1,X2,X3,X4,X5,X6),arg=6)))
+ ; throw(gecode_argument_error(linear(X0,X1,X2,X3,X4,X5,X6),arg=5))))
+ ; throw(gecode_argument_error(linear(X0,X1,X2,X3,X4,X5,X6),arg=4)))
+ ; (is_BoolVarArgs(X2,Y2)
+ -> (is_IntRelType(X3,Y3)
+ -> (is_IntVar(X4,Y4)
+ -> (is_Reify(X5,Y5)
+ -> (is_IntPropLevel(X6,Y6)
+ -> gecode_constraint_linear_293(Y0,Y1,Y2,Y3,Y4,Y5,Y6)
+ ; throw(gecode_argument_error(linear(X0,X1,X2,X3,X4,X5,X6),arg=7)))
+ ; throw(gecode_argument_error(linear(X0,X1,X2,X3,X4,X5,X6),arg=6)))
+ ; (is_int(X4,Y4)
+ -> (is_Reify(X5,Y5)
+ -> (is_IntPropLevel(X6,Y6)
+ -> gecode_constraint_linear_297(Y0,Y1,Y2,Y3,Y4,Y5,Y6)
+ ; throw(gecode_argument_error(linear(X0,X1,X2,X3,X4,X5,X6),arg=7)))
+ ; throw(gecode_argument_error(linear(X0,X1,X2,X3,X4,X5,X6),arg=6)))
+ ; throw(gecode_argument_error(linear(X0,X1,X2,X3,X4,X5,X6),arg=5))))
+ ; throw(gecode_argument_error(linear(X0,X1,X2,X3,X4,X5,X6),arg=4)))
+ ; throw(gecode_argument_error(linear(X0,X1,X2,X3,X4,X5,X6),arg=3))))
+ ; throw(gecode_argument_error(linear(X0,X1,X2,X3,X4,X5,X6),arg=2)))
+ ; throw(gecode_argument_error(linear(X0,X1,X2,X3,X4,X5,X6),arg=1))).
+
+abs(X0,X1,X2,X3) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_IntVar(X1,Y1)
+ -> (is_IntVar(X2,Y2)
+ -> (is_IntPropLevel(X3,Y3)
+ -> gecode_constraint_abs_3(Y0,Y1,Y2,Y3)
+ ; throw(gecode_argument_error(abs(X0,X1,X2,X3),arg=4)))
+ ; throw(gecode_argument_error(abs(X0,X1,X2,X3),arg=3)))
+ ; throw(gecode_argument_error(abs(X0,X1,X2,X3),arg=2)))
+ ; throw(gecode_argument_error(abs(X0,X1,X2,X3),arg=1))).
+
+convex(X0,X1) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_SetVar(X1,Y1)
+ -> gecode_constraint_convex_104(Y0,Y1)
+ ; throw(gecode_argument_error(convex(X0,X1),arg=2)))
+ ; throw(gecode_argument_error(convex(X0,X1),arg=1))).
+
+div(X0,X1,X2,X3) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_IntVar(X1,Y1)
+ -> (is_IntVar(X2,Y2)
+ -> (is_IntVar(X3,Y3)
+ -> gecode_constraint_div_181(Y0,Y1,Y2,Y3)
+ ; throw(gecode_argument_error(div(X0,X1,X2,X3),arg=4)))
+ ; throw(gecode_argument_error(div(X0,X1,X2,X3),arg=3)))
+ ; (is_FloatVar(X1,Y1)
+ -> (is_FloatVar(X2,Y2)
+ -> (is_FloatVar(X3,Y3)
+ -> gecode_constraint_div_180(Y0,Y1,Y2,Y3)
+ ; throw(gecode_argument_error(div(X0,X1,X2,X3),arg=4)))
+ ; throw(gecode_argument_error(div(X0,X1,X2,X3),arg=3)))
+ ; throw(gecode_argument_error(div(X0,X1,X2,X3),arg=2))))
+ ; throw(gecode_argument_error(div(X0,X1,X2,X3),arg=1))).
+
+rel(X0,X1,X2,X3,X4,X5) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_IntVar(X1,Y1)
+ -> (is_IntRelType(X2,Y2)
+ -> (is_IntVar(X3,Y3)
+ -> (is_Reify(X4,Y4)
+ -> (is_IntPropLevel(X5,Y5)
+ -> gecode_constraint_rel_408(Y0,Y1,Y2,Y3,Y4,Y5)
+ ; throw(gecode_argument_error(rel(X0,X1,X2,X3,X4,X5),arg=6)))
+ ; throw(gecode_argument_error(rel(X0,X1,X2,X3,X4,X5),arg=5)))
+ ; (is_int(X3,Y3)
+ -> (is_Reify(X4,Y4)
+ -> (is_IntPropLevel(X5,Y5)
+ -> gecode_constraint_rel_413(Y0,Y1,Y2,Y3,Y4,Y5)
+ ; throw(gecode_argument_error(rel(X0,X1,X2,X3,X4,X5),arg=6)))
+ ; throw(gecode_argument_error(rel(X0,X1,X2,X3,X4,X5),arg=5)))
+ ; throw(gecode_argument_error(rel(X0,X1,X2,X3,X4,X5),arg=4))))
+ ; throw(gecode_argument_error(rel(X0,X1,X2,X3,X4,X5),arg=3)))
+ ; (is_IntSet(X1,Y1)
+ -> (is_SetOpType(X2,Y2)
+ -> (is_SetVar(X3,Y3)
+ -> (is_SetRelType(X4,Y4)
+ -> (is_IntSet(X5,Y5)
+ -> gecode_constraint_rel_440(Y0,Y1,Y2,Y3,Y4,Y5)
+ ; (is_SetVar(X5,Y5)
+ -> gecode_constraint_rel_439(Y0,Y1,Y2,Y3,Y4,Y5)
+ ; throw(gecode_argument_error(rel(X0,X1,X2,X3,X4,X5),arg=6))))
+ ; throw(gecode_argument_error(rel(X0,X1,X2,X3,X4,X5),arg=5)))
+ ; throw(gecode_argument_error(rel(X0,X1,X2,X3,X4,X5),arg=4)))
+ ; throw(gecode_argument_error(rel(X0,X1,X2,X3,X4,X5),arg=3)))
+ ; (is_BoolVar(X1,Y1)
+ -> (is_IntRelType(X2,Y2)
+ -> (is_int(X3,Y3)
+ -> (is_Reify(X4,Y4)
+ -> (is_IntPropLevel(X5,Y5)
+ -> gecode_constraint_rel_400(Y0,Y1,Y2,Y3,Y4,Y5)
+ ; throw(gecode_argument_error(rel(X0,X1,X2,X3,X4,X5),arg=6)))
+ ; throw(gecode_argument_error(rel(X0,X1,X2,X3,X4,X5),arg=5)))
+ ; (is_BoolVar(X3,Y3)
+ -> (is_Reify(X4,Y4)
+ -> (is_IntPropLevel(X5,Y5)
+ -> gecode_constraint_rel_396(Y0,Y1,Y2,Y3,Y4,Y5)
+ ; throw(gecode_argument_error(rel(X0,X1,X2,X3,X4,X5),arg=6)))
+ ; throw(gecode_argument_error(rel(X0,X1,X2,X3,X4,X5),arg=5)))
+ ; throw(gecode_argument_error(rel(X0,X1,X2,X3,X4,X5),arg=4))))
+ ; (is_BoolOpType(X2,Y2)
+ -> (is_BoolVar(X3,Y3)
+ -> (is_int(X4,Y4)
+ -> (is_IntPropLevel(X5,Y5)
+ -> gecode_constraint_rel_392(Y0,Y1,Y2,Y3,Y4,Y5)
+ ; throw(gecode_argument_error(rel(X0,X1,X2,X3,X4,X5),arg=6)))
+ ; (is_BoolVar(X4,Y4)
+ -> (is_IntPropLevel(X5,Y5)
+ -> gecode_constraint_rel_390(Y0,Y1,Y2,Y3,Y4,Y5)
+ ; throw(gecode_argument_error(rel(X0,X1,X2,X3,X4,X5),arg=6)))
+ ; throw(gecode_argument_error(rel(X0,X1,X2,X3,X4,X5),arg=5))))
+ ; throw(gecode_argument_error(rel(X0,X1,X2,X3,X4,X5),arg=4)))
+ ; throw(gecode_argument_error(rel(X0,X1,X2,X3,X4,X5),arg=3))))
+ ; (is_SetVar(X1,Y1)
+ -> (is_SetOpType(X2,Y2)
+ -> (is_IntSet(X3,Y3)
+ -> (is_SetRelType(X4,Y4)
+ -> (is_IntSet(X5,Y5)
+ -> gecode_constraint_rel_424(Y0,Y1,Y2,Y3,Y4,Y5)
+ ; (is_SetVar(X5,Y5)
+ -> gecode_constraint_rel_423(Y0,Y1,Y2,Y3,Y4,Y5)
+ ; throw(gecode_argument_error(rel(X0,X1,X2,X3,X4,X5),arg=6))))
+ ; throw(gecode_argument_error(rel(X0,X1,X2,X3,X4,X5),arg=5)))
+ ; (is_SetVar(X3,Y3)
+ -> (is_SetRelType(X4,Y4)
+ -> (is_IntSet(X5,Y5)
+ -> gecode_constraint_rel_422(Y0,Y1,Y2,Y3,Y4,Y5)
+ ; (is_SetVar(X5,Y5)
+ -> gecode_constraint_rel_421(Y0,Y1,Y2,Y3,Y4,Y5)
+ ; throw(gecode_argument_error(rel(X0,X1,X2,X3,X4,X5),arg=6))))
+ ; throw(gecode_argument_error(rel(X0,X1,X2,X3,X4,X5),arg=5)))
+ ; throw(gecode_argument_error(rel(X0,X1,X2,X3,X4,X5),arg=4))))
+ ; throw(gecode_argument_error(rel(X0,X1,X2,X3,X4,X5),arg=3)))
+ ; throw(gecode_argument_error(rel(X0,X1,X2,X3,X4,X5),arg=2))))))
+ ; throw(gecode_argument_error(rel(X0,X1,X2,X3,X4,X5),arg=1))).
+
+weights(X0,X1,X2,X3,X4) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_IntArgs(X1,Y1)
+ -> (is_IntArgs(X2,Y2)
+ -> (is_SetVar(X3,Y3)
+ -> (is_IntVar(X4,Y4)
+ -> gecode_constraint_weights_481(Y0,Y1,Y2,Y3,Y4)
+ ; throw(gecode_argument_error(weights(X0,X1,X2,X3,X4),arg=5)))
+ ; throw(gecode_argument_error(weights(X0,X1,X2,X3,X4),arg=4)))
+ ; throw(gecode_argument_error(weights(X0,X1,X2,X3,X4),arg=3)))
+ ; throw(gecode_argument_error(weights(X0,X1,X2,X3,X4),arg=2)))
+ ; throw(gecode_argument_error(weights(X0,X1,X2,X3,X4),arg=1))).
+
+max(X0,X1,X2,X3,X4) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_IntVar(X1,Y1)
+ -> (is_IntVar(X2,Y2)
+ -> (is_IntVar(X3,Y3)
+ -> (is_IntPropLevel(X4,Y4)
+ -> gecode_constraint_max_316(Y0,Y1,Y2,Y3,Y4)
+ ; throw(gecode_argument_error(max(X0,X1,X2,X3,X4),arg=5)))
+ ; throw(gecode_argument_error(max(X0,X1,X2,X3,X4),arg=4)))
+ ; throw(gecode_argument_error(max(X0,X1,X2,X3,X4),arg=3)))
+ ; throw(gecode_argument_error(max(X0,X1,X2,X3,X4),arg=2)))
+ ; throw(gecode_argument_error(max(X0,X1,X2,X3,X4),arg=1))).
+
+path(X0,X1,X2,X3,X4,X5,X6,X7,X8) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_IntArgs(X1,Y1)
+ -> (is_int(X2,Y2)
+ -> (is_IntVarArgs(X3,Y3)
+ -> (is_IntVar(X4,Y4)
+ -> (is_IntVar(X5,Y5)
+ -> (is_IntVarArgs(X6,Y6)
+ -> (is_IntVar(X7,Y7)
+ -> (is_IntPropLevel(X8,Y8)
+ -> gecode_constraint_path_371(Y0,Y1,Y2,Y3,Y4,Y5,Y6,Y7,Y8)
+ ; throw(gecode_argument_error(path(X0,X1,X2,X3,X4,X5,X6,X7,X8),arg=9)))
+ ; throw(gecode_argument_error(path(X0,X1,X2,X3,X4,X5,X6,X7,X8),arg=8)))
+ ; throw(gecode_argument_error(path(X0,X1,X2,X3,X4,X5,X6,X7,X8),arg=7)))
+ ; throw(gecode_argument_error(path(X0,X1,X2,X3,X4,X5,X6,X7,X8),arg=6)))
+ ; throw(gecode_argument_error(path(X0,X1,X2,X3,X4,X5,X6,X7,X8),arg=5)))
+ ; throw(gecode_argument_error(path(X0,X1,X2,X3,X4,X5,X6,X7,X8),arg=4)))
+ ; throw(gecode_argument_error(path(X0,X1,X2,X3,X4,X5,X6,X7,X8),arg=3)))
+ ; throw(gecode_argument_error(path(X0,X1,X2,X3,X4,X5,X6,X7,X8),arg=2)))
+ ; throw(gecode_argument_error(path(X0,X1,X2,X3,X4,X5,X6,X7,X8),arg=1))).
+
+unary(X0,X1,X2,X3) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_TaskTypeArgs(X1,Y1)
+ -> (is_IntVarArgs(X2,Y2)
+ -> (is_IntArgs(X3,Y3)
+ -> gecode_constraint_unary_473(Y0,Y1,Y2,Y3)
+ ; throw(gecode_argument_error(unary(X0,X1,X2,X3),arg=4)))
+ ; throw(gecode_argument_error(unary(X0,X1,X2,X3),arg=3)))
+ ; (is_IntVarArgs(X1,Y1)
+ -> (is_IntVarArgs(X2,Y2)
+ -> (is_IntVarArgs(X3,Y3)
+ -> gecode_constraint_unary_469(Y0,Y1,Y2,Y3)
+ ; throw(gecode_argument_error(unary(X0,X1,X2,X3),arg=4)))
+ ; (is_IntArgs(X2,Y2)
+ -> (is_IntPropLevel(X3,Y3)
+ -> gecode_constraint_unary_466(Y0,Y1,Y2,Y3)
+ ; (is_BoolVarArgs(X3,Y3)
+ -> gecode_constraint_unary_467(Y0,Y1,Y2,Y3)
+ ; throw(gecode_argument_error(unary(X0,X1,X2,X3),arg=4))))
+ ; throw(gecode_argument_error(unary(X0,X1,X2,X3),arg=3))))
+ ; throw(gecode_argument_error(unary(X0,X1,X2,X3),arg=2))))
+ ; throw(gecode_argument_error(unary(X0,X1,X2,X3),arg=1))).
+
+nroot(X0,X1,X2,X3) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_IntVar(X1,Y1)
+ -> (is_int(X2,Y2)
+ -> (is_IntVar(X3,Y3)
+ -> gecode_constraint_nroot_354(Y0,Y1,Y2,Y3)
+ ; throw(gecode_argument_error(nroot(X0,X1,X2,X3),arg=4)))
+ ; throw(gecode_argument_error(nroot(X0,X1,X2,X3),arg=3)))
+ ; (is_FloatVar(X1,Y1)
+ -> (is_int(X2,Y2)
+ -> (is_FloatVar(X3,Y3)
+ -> gecode_constraint_nroot_353(Y0,Y1,Y2,Y3)
+ ; throw(gecode_argument_error(nroot(X0,X1,X2,X3),arg=4)))
+ ; throw(gecode_argument_error(nroot(X0,X1,X2,X3),arg=3)))
+ ; throw(gecode_argument_error(nroot(X0,X1,X2,X3),arg=2))))
+ ; throw(gecode_argument_error(nroot(X0,X1,X2,X3),arg=1))).
+
+sorted(X0,X1,X2,X3,X4) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_IntVarArgs(X1,Y1)
+ -> (is_IntVarArgs(X2,Y2)
+ -> (is_IntVarArgs(X3,Y3)
+ -> (is_IntPropLevel(X4,Y4)
+ -> gecode_constraint_sorted_458(Y0,Y1,Y2,Y3,Y4)
+ ; throw(gecode_argument_error(sorted(X0,X1,X2,X3,X4),arg=5)))
+ ; throw(gecode_argument_error(sorted(X0,X1,X2,X3,X4),arg=4)))
+ ; throw(gecode_argument_error(sorted(X0,X1,X2,X3,X4),arg=3)))
+ ; throw(gecode_argument_error(sorted(X0,X1,X2,X3,X4),arg=2)))
+ ; throw(gecode_argument_error(sorted(X0,X1,X2,X3,X4),arg=1))).
+
+circuit(X0,X1,X2,X3,X4) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_IntArgs(X1,Y1)
+ -> (is_int(X2,Y2)
+ -> (is_IntVarArgs(X3,Y3)
+ -> (is_IntVar(X4,Y4)
+ -> gecode_constraint_circuit_92(Y0,Y1,Y2,Y3,Y4)
+ ; throw(gecode_argument_error(circuit(X0,X1,X2,X3,X4),arg=5)))
+ ; throw(gecode_argument_error(circuit(X0,X1,X2,X3,X4),arg=4)))
+ ; (is_IntVarArgs(X2,Y2)
+ -> (is_IntVar(X3,Y3)
+ -> (is_IntPropLevel(X4,Y4)
+ -> gecode_constraint_circuit_89(Y0,Y1,Y2,Y3,Y4)
+ ; throw(gecode_argument_error(circuit(X0,X1,X2,X3,X4),arg=5)))
+ ; (is_IntVarArgs(X3,Y3)
+ -> (is_IntVar(X4,Y4)
+ -> gecode_constraint_circuit_90(Y0,Y1,Y2,Y3,Y4)
+ ; throw(gecode_argument_error(circuit(X0,X1,X2,X3,X4),arg=5)))
+ ; throw(gecode_argument_error(circuit(X0,X1,X2,X3,X4),arg=4))))
+ ; throw(gecode_argument_error(circuit(X0,X1,X2,X3,X4),arg=3))))
+ ; throw(gecode_argument_error(circuit(X0,X1,X2,X3,X4),arg=2)))
+ ; throw(gecode_argument_error(circuit(X0,X1,X2,X3,X4),arg=1))).
+
+dom(X0,X1,X2,X3) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_FloatVar(X1,Y1)
+ -> (is_FloatVal(X2,Y2)
+ -> (is_Reify(X3,Y3)
+ -> gecode_constraint_dom_190(Y0,Y1,Y2,Y3)
+ ; throw(gecode_argument_error(dom(X0,X1,X2,X3),arg=4)))
+ ; (is_FloatNum(X2,Y2)
+ -> (is_FloatNum(X3,Y3)
+ -> gecode_constraint_dom_187(Y0,Y1,Y2,Y3)
+ ; throw(gecode_argument_error(dom(X0,X1,X2,X3),arg=4)))
+ ; throw(gecode_argument_error(dom(X0,X1,X2,X3),arg=3))))
+ ; (is_FloatVarArgs(X1,Y1)
+ -> (is_FloatNum(X2,Y2)
+ -> (is_FloatNum(X3,Y3)
+ -> gecode_constraint_dom_215(Y0,Y1,Y2,Y3)
+ ; throw(gecode_argument_error(dom(X0,X1,X2,X3),arg=4)))
+ ; throw(gecode_argument_error(dom(X0,X1,X2,X3),arg=3)))
+ ; (is_BoolVarArgs(X1,Y1)
+ -> (is_BoolVarArgs(X2,Y2)
+ -> (is_IntPropLevel(X3,Y3)
+ -> gecode_constraint_dom_214(Y0,Y1,Y2,Y3)
+ ; throw(gecode_argument_error(dom(X0,X1,X2,X3),arg=4)))
+ ; throw(gecode_argument_error(dom(X0,X1,X2,X3),arg=3)))
+ ; (is_BoolVar(X1,Y1)
+ -> (is_BoolVar(X2,Y2)
+ -> (is_IntPropLevel(X3,Y3)
+ -> gecode_constraint_dom_186(Y0,Y1,Y2,Y3)
+ ; throw(gecode_argument_error(dom(X0,X1,X2,X3),arg=4)))
+ ; throw(gecode_argument_error(dom(X0,X1,X2,X3),arg=3)))
+ ; (is_IntVarArgs(X1,Y1)
+ -> (is_int(X2,Y2)
+ -> (is_int(X3,Y3)
+ -> gecode_constraint_dom_224(Y0,Y1,Y2,Y3)
+ ; (is_IntPropLevel(X3,Y3)
+ -> gecode_constraint_dom_223(Y0,Y1,Y2,Y3)
+ ; throw(gecode_argument_error(dom(X0,X1,X2,X3),arg=4))))
+ ; (is_IntVarArgs(X2,Y2)
+ -> (is_IntPropLevel(X3,Y3)
+ -> gecode_constraint_dom_221(Y0,Y1,Y2,Y3)
+ ; throw(gecode_argument_error(dom(X0,X1,X2,X3),arg=4)))
+ ; (is_IntSet(X2,Y2)
+ -> (is_IntPropLevel(X3,Y3)
+ -> gecode_constraint_dom_219(Y0,Y1,Y2,Y3)
+ ; throw(gecode_argument_error(dom(X0,X1,X2,X3),arg=4)))
+ ; throw(gecode_argument_error(dom(X0,X1,X2,X3),arg=3)))))
+ ; (is_IntVar(X1,Y1)
+ -> (is_IntVar(X2,Y2)
+ -> (is_IntPropLevel(X3,Y3)
+ -> gecode_constraint_dom_193(Y0,Y1,Y2,Y3)
+ ; throw(gecode_argument_error(dom(X0,X1,X2,X3),arg=4)))
+ ; (is_int(X2,Y2)
+ -> (is_int(X3,Y3)
+ -> gecode_constraint_dom_202(Y0,Y1,Y2,Y3)
+ ; (is_IntPropLevel(X3,Y3)
+ -> gecode_constraint_dom_199(Y0,Y1,Y2,Y3)
+ ; (is_Reify(X3,Y3)
+ -> gecode_constraint_dom_200(Y0,Y1,Y2,Y3)
+ ; throw(gecode_argument_error(dom(X0,X1,X2,X3),arg=4)))))
+ ; (is_IntSet(X2,Y2)
+ -> (is_IntPropLevel(X3,Y3)
+ -> gecode_constraint_dom_195(Y0,Y1,Y2,Y3)
+ ; (is_Reify(X3,Y3)
+ -> gecode_constraint_dom_196(Y0,Y1,Y2,Y3)
+ ; throw(gecode_argument_error(dom(X0,X1,X2,X3),arg=4))))
+ ; throw(gecode_argument_error(dom(X0,X1,X2,X3),arg=3)))))
+ ; (is_SetVarArgs(X1,Y1)
+ -> (is_SetRelType(X2,Y2)
+ -> (is_int(X3,Y3)
+ -> gecode_constraint_dom_227(Y0,Y1,Y2,Y3)
+ ; (is_IntSet(X3,Y3)
+ -> gecode_constraint_dom_226(Y0,Y1,Y2,Y3)
+ ; throw(gecode_argument_error(dom(X0,X1,X2,X3),arg=4))))
+ ; throw(gecode_argument_error(dom(X0,X1,X2,X3),arg=3)))
+ ; (is_SetVar(X1,Y1)
+ -> (is_SetRelType(X2,Y2)
+ -> (is_int(X3,Y3)
+ -> gecode_constraint_dom_208(Y0,Y1,Y2,Y3)
+ ; (is_IntSet(X3,Y3)
+ -> gecode_constraint_dom_206(Y0,Y1,Y2,Y3)
+ ; throw(gecode_argument_error(dom(X0,X1,X2,X3),arg=4))))
+ ; throw(gecode_argument_error(dom(X0,X1,X2,X3),arg=3)))
+ ; throw(gecode_argument_error(dom(X0,X1,X2,X3),arg=2))))))))))
+ ; throw(gecode_argument_error(dom(X0,X1,X2,X3),arg=1))).
+
+abs(X0,X1,X2) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_IntVar(X1,Y1)
+ -> (is_IntVar(X2,Y2)
+ -> gecode_constraint_abs_2(Y0,Y1,Y2)
+ ; throw(gecode_argument_error(abs(X0,X1,X2),arg=3)))
+ ; (is_FloatVar(X1,Y1)
+ -> (is_FloatVar(X2,Y2)
+ -> gecode_constraint_abs_1(Y0,Y1,Y2)
+ ; throw(gecode_argument_error(abs(X0,X1,X2),arg=3)))
+ ; throw(gecode_argument_error(abs(X0,X1,X2),arg=2))))
+ ; throw(gecode_argument_error(abs(X0,X1,X2),arg=1))).
+
+channel(X0,X1,X2,X3,X4) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_IntVarArgs(X1,Y1)
+ -> (is_int(X2,Y2)
+ -> (is_IntVarArgs(X3,Y3)
+ -> (is_int(X4,Y4)
+ -> gecode_constraint_channel_84(Y0,Y1,Y2,Y3,Y4)
+ ; throw(gecode_argument_error(channel(X0,X1,X2,X3,X4),arg=5)))
+ ; throw(gecode_argument_error(channel(X0,X1,X2,X3,X4),arg=4)))
+ ; throw(gecode_argument_error(channel(X0,X1,X2,X3,X4),arg=3)))
+ ; (is_BoolVarArgs(X1,Y1)
+ -> (is_IntVar(X2,Y2)
+ -> (is_int(X3,Y3)
+ -> (is_IntPropLevel(X4,Y4)
+ -> gecode_constraint_channel_79(Y0,Y1,Y2,Y3,Y4)
+ ; throw(gecode_argument_error(channel(X0,X1,X2,X3,X4),arg=5)))
+ ; throw(gecode_argument_error(channel(X0,X1,X2,X3,X4),arg=4)))
+ ; throw(gecode_argument_error(channel(X0,X1,X2,X3,X4),arg=3)))
+ ; throw(gecode_argument_error(channel(X0,X1,X2,X3,X4),arg=2))))
+ ; throw(gecode_argument_error(channel(X0,X1,X2,X3,X4),arg=1))).
+
+assign(X0,X1,X2,X3,X4) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_FloatVarArgs(X1,Y1)
+ -> (is_FloatAssign(X2,Y2)
+ -> (is_FloatBranchFilter(X3,Y3)
+ -> (is_FloatVarValPrint(X4,Y4)
+ -> gecode_constraint_assign_29(Y0,Y1,Y2,Y3,Y4)
+ ; throw(gecode_argument_error(assign(X0,X1,X2,X3,X4),arg=5)))
+ ; throw(gecode_argument_error(assign(X0,X1,X2,X3,X4),arg=4)))
+ ; throw(gecode_argument_error(assign(X0,X1,X2,X3,X4),arg=3)))
+ ; (is_BoolVarArgs(X1,Y1)
+ -> (is_IntAssign(X2,Y2)
+ -> (is_BoolBranchFilter(X3,Y3)
+ -> (is_BoolVarValPrint(X4,Y4)
+ -> gecode_constraint_assign_26(Y0,Y1,Y2,Y3,Y4)
+ ; throw(gecode_argument_error(assign(X0,X1,X2,X3,X4),arg=5)))
+ ; throw(gecode_argument_error(assign(X0,X1,X2,X3,X4),arg=4)))
+ ; throw(gecode_argument_error(assign(X0,X1,X2,X3,X4),arg=3)))
+ ; (is_IntVarArgs(X1,Y1)
+ -> (is_IntAssign(X2,Y2)
+ -> (is_IntBranchFilter(X3,Y3)
+ -> (is_IntVarValPrint(X4,Y4)
+ -> gecode_constraint_assign_32(Y0,Y1,Y2,Y3,Y4)
+ ; throw(gecode_argument_error(assign(X0,X1,X2,X3,X4),arg=5)))
+ ; throw(gecode_argument_error(assign(X0,X1,X2,X3,X4),arg=4)))
+ ; throw(gecode_argument_error(assign(X0,X1,X2,X3,X4),arg=3)))
+ ; (is_SetVarArgs(X1,Y1)
+ -> (is_SetAssign(X2,Y2)
+ -> (is_SetBranchFilter(X3,Y3)
+ -> (is_SetVarValPrint(X4,Y4)
+ -> gecode_constraint_assign_35(Y0,Y1,Y2,Y3,Y4)
+ ; throw(gecode_argument_error(assign(X0,X1,X2,X3,X4),arg=5)))
+ ; throw(gecode_argument_error(assign(X0,X1,X2,X3,X4),arg=4)))
+ ; throw(gecode_argument_error(assign(X0,X1,X2,X3,X4),arg=3)))
+ ; throw(gecode_argument_error(assign(X0,X1,X2,X3,X4),arg=2))))))
+ ; throw(gecode_argument_error(assign(X0,X1,X2,X3,X4),arg=1))).
+
+rel(X0,X1,X2) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_IntVarArgs(X1,Y1)
+ -> (is_IntRelType(X2,Y2)
+ -> gecode_constraint_rel_441(Y0,Y1,Y2)
+ ; throw(gecode_argument_error(rel(X0,X1,X2),arg=3)))
+ ; (is_BoolVarArgs(X1,Y1)
+ -> (is_IntRelType(X2,Y2)
+ -> gecode_constraint_rel_431(Y0,Y1,Y2)
+ ; throw(gecode_argument_error(rel(X0,X1,X2),arg=3)))
+ ; throw(gecode_argument_error(rel(X0,X1,X2),arg=2))))
+ ; throw(gecode_argument_error(rel(X0,X1,X2),arg=1))).
+
+path(X0,X1,X2,X3) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_IntVarArgs(X1,Y1)
+ -> (is_IntVar(X2,Y2)
+ -> (is_IntVar(X3,Y3)
+ -> gecode_constraint_path_372(Y0,Y1,Y2,Y3)
+ ; throw(gecode_argument_error(path(X0,X1,X2,X3),arg=4)))
+ ; throw(gecode_argument_error(path(X0,X1,X2,X3),arg=3)))
+ ; throw(gecode_argument_error(path(X0,X1,X2,X3),arg=2)))
+ ; throw(gecode_argument_error(path(X0,X1,X2,X3),arg=1))).
+
+branch(X0,X1,X2,X3) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_FloatVar(X1,Y1)
+ -> (is_FloatValBranch(X2,Y2)
+ -> (is_FloatVarValPrint(X3,Y3)
+ -> gecode_constraint_branch_42(Y0,Y1,Y2,Y3)
+ ; throw(gecode_argument_error(branch(X0,X1,X2,X3),arg=4)))
+ ; throw(gecode_argument_error(branch(X0,X1,X2,X3),arg=3)))
+ ; (is_FloatVarArgs(X1,Y1)
+ -> (is_FloatVarBranch(X2,Y2)
+ -> (is_FloatValBranch(X3,Y3)
+ -> gecode_constraint_branch_53(Y0,Y1,Y2,Y3)
+ ; throw(gecode_argument_error(branch(X0,X1,X2,X3),arg=4)))
+ ; throw(gecode_argument_error(branch(X0,X1,X2,X3),arg=3)))
+ ; (is_BoolVarArgs(X1,Y1)
+ -> (is_IntVarBranch(X2,Y2)
+ -> (is_IntValBranch(X3,Y3)
+ -> gecode_constraint_branch_47(Y0,Y1,Y2,Y3)
+ ; throw(gecode_argument_error(branch(X0,X1,X2,X3),arg=4)))
+ ; throw(gecode_argument_error(branch(X0,X1,X2,X3),arg=3)))
+ ; (is_BoolVar(X1,Y1)
+ -> (is_IntValBranch(X2,Y2)
+ -> (is_BoolVarValPrint(X3,Y3)
+ -> gecode_constraint_branch_40(Y0,Y1,Y2,Y3)
+ ; throw(gecode_argument_error(branch(X0,X1,X2,X3),arg=4)))
+ ; throw(gecode_argument_error(branch(X0,X1,X2,X3),arg=3)))
+ ; (is_IntVarArgs(X1,Y1)
+ -> (is_IntVarBranch(X2,Y2)
+ -> (is_IntValBranch(X3,Y3)
+ -> gecode_constraint_branch_56(Y0,Y1,Y2,Y3)
+ ; throw(gecode_argument_error(branch(X0,X1,X2,X3),arg=4)))
+ ; throw(gecode_argument_error(branch(X0,X1,X2,X3),arg=3)))
+ ; (is_IntVar(X1,Y1)
+ -> (is_IntValBranch(X2,Y2)
+ -> (is_IntVarValPrint(X3,Y3)
+ -> gecode_constraint_branch_44(Y0,Y1,Y2,Y3)
+ ; throw(gecode_argument_error(branch(X0,X1,X2,X3),arg=4)))
+ ; throw(gecode_argument_error(branch(X0,X1,X2,X3),arg=3)))
+ ; (is_SetVarArgs(X1,Y1)
+ -> (is_SetVarBranch(X2,Y2)
+ -> (is_SetValBranch(X3,Y3)
+ -> gecode_constraint_branch_62(Y0,Y1,Y2,Y3)
+ ; throw(gecode_argument_error(branch(X0,X1,X2,X3),arg=4)))
+ ; throw(gecode_argument_error(branch(X0,X1,X2,X3),arg=3)))
+ ; (is_SetVar(X1,Y1)
+ -> (is_SetValBranch(X2,Y2)
+ -> (is_SetVarValPrint(X3,Y3)
+ -> gecode_constraint_branch_46(Y0,Y1,Y2,Y3)
+ ; throw(gecode_argument_error(branch(X0,X1,X2,X3),arg=4)))
+ ; throw(gecode_argument_error(branch(X0,X1,X2,X3),arg=3)))
+ ; throw(gecode_argument_error(branch(X0,X1,X2,X3),arg=2))))))))))
+ ; throw(gecode_argument_error(branch(X0,X1,X2,X3),arg=1))).
+
+mult(X0,X1,X2,X3,X4) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_IntVar(X1,Y1)
+ -> (is_IntVar(X2,Y2)
+ -> (is_IntVar(X3,Y3)
+ -> (is_IntPropLevel(X4,Y4)
+ -> gecode_constraint_mult_342(Y0,Y1,Y2,Y3,Y4)
+ ; throw(gecode_argument_error(mult(X0,X1,X2,X3,X4),arg=5)))
+ ; throw(gecode_argument_error(mult(X0,X1,X2,X3,X4),arg=4)))
+ ; throw(gecode_argument_error(mult(X0,X1,X2,X3,X4),arg=3)))
+ ; throw(gecode_argument_error(mult(X0,X1,X2,X3,X4),arg=2)))
+ ; throw(gecode_argument_error(mult(X0,X1,X2,X3,X4),arg=1))).
+
+circuit(X0,X1,X2,X3,X4,X5) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_IntArgs(X1,Y1)
+ -> (is_int(X2,Y2)
+ -> (is_IntVarArgs(X3,Y3)
+ -> (is_IntVar(X4,Y4)
+ -> (is_IntPropLevel(X5,Y5)
+ -> gecode_constraint_circuit_93(Y0,Y1,Y2,Y3,Y4,Y5)
+ ; throw(gecode_argument_error(circuit(X0,X1,X2,X3,X4,X5),arg=6)))
+ ; (is_IntVarArgs(X4,Y4)
+ -> (is_IntVar(X5,Y5)
+ -> gecode_constraint_circuit_94(Y0,Y1,Y2,Y3,Y4,Y5)
+ ; throw(gecode_argument_error(circuit(X0,X1,X2,X3,X4,X5),arg=6)))
+ ; throw(gecode_argument_error(circuit(X0,X1,X2,X3,X4,X5),arg=5))))
+ ; throw(gecode_argument_error(circuit(X0,X1,X2,X3,X4,X5),arg=4)))
+ ; (is_IntVarArgs(X2,Y2)
+ -> (is_IntVarArgs(X3,Y3)
+ -> (is_IntVar(X4,Y4)
+ -> (is_IntPropLevel(X5,Y5)
+ -> gecode_constraint_circuit_91(Y0,Y1,Y2,Y3,Y4,Y5)
+ ; throw(gecode_argument_error(circuit(X0,X1,X2,X3,X4,X5),arg=6)))
+ ; throw(gecode_argument_error(circuit(X0,X1,X2,X3,X4,X5),arg=5)))
+ ; throw(gecode_argument_error(circuit(X0,X1,X2,X3,X4,X5),arg=4)))
+ ; throw(gecode_argument_error(circuit(X0,X1,X2,X3,X4,X5),arg=3))))
+ ; throw(gecode_argument_error(circuit(X0,X1,X2,X3,X4,X5),arg=2)))
+ ; throw(gecode_argument_error(circuit(X0,X1,X2,X3,X4,X5),arg=1))).
+
+clause(X0,X1,X2,X3,X4) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_BoolOpType(X1,Y1)
+ -> (is_BoolVarArgs(X2,Y2)
+ -> (is_BoolVarArgs(X3,Y3)
+ -> (is_int(X4,Y4)
+ -> gecode_constraint_clause_102(Y0,Y1,Y2,Y3,Y4)
+ ; (is_BoolVar(X4,Y4)
+ -> gecode_constraint_clause_100(Y0,Y1,Y2,Y3,Y4)
+ ; throw(gecode_argument_error(clause(X0,X1,X2,X3,X4),arg=5))))
+ ; throw(gecode_argument_error(clause(X0,X1,X2,X3,X4),arg=4)))
+ ; throw(gecode_argument_error(clause(X0,X1,X2,X3,X4),arg=3)))
+ ; throw(gecode_argument_error(clause(X0,X1,X2,X3,X4),arg=2)))
+ ; throw(gecode_argument_error(clause(X0,X1,X2,X3,X4),arg=1))).
+
+precede(X0,X1,X2,X3) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_SetVarArgs(X1,Y1)
+ -> (is_int(X2,Y2)
+ -> (is_int(X3,Y3)
+ -> gecode_constraint_precede_384(Y0,Y1,Y2,Y3)
+ ; throw(gecode_argument_error(precede(X0,X1,X2,X3),arg=4)))
+ ; throw(gecode_argument_error(precede(X0,X1,X2,X3),arg=3)))
+ ; (is_IntVarArgs(X1,Y1)
+ -> (is_int(X2,Y2)
+ -> (is_int(X3,Y3)
+ -> gecode_constraint_precede_381(Y0,Y1,Y2,Y3)
+ ; throw(gecode_argument_error(precede(X0,X1,X2,X3),arg=4)))
+ ; (is_IntArgs(X2,Y2)
+ -> (is_IntPropLevel(X3,Y3)
+ -> gecode_constraint_precede_380(Y0,Y1,Y2,Y3)
+ ; throw(gecode_argument_error(precede(X0,X1,X2,X3),arg=4)))
+ ; throw(gecode_argument_error(precede(X0,X1,X2,X3),arg=3))))
+ ; throw(gecode_argument_error(precede(X0,X1,X2,X3),arg=2))))
+ ; throw(gecode_argument_error(precede(X0,X1,X2,X3),arg=1))).
+
+channel(X0,X1,X2,X3,X4,X5) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_IntVarArgs(X1,Y1)
+ -> (is_int(X2,Y2)
+ -> (is_IntVarArgs(X3,Y3)
+ -> (is_int(X4,Y4)
+ -> (is_IntPropLevel(X5,Y5)
+ -> gecode_constraint_channel_85(Y0,Y1,Y2,Y3,Y4,Y5)
+ ; throw(gecode_argument_error(channel(X0,X1,X2,X3,X4,X5),arg=6)))
+ ; throw(gecode_argument_error(channel(X0,X1,X2,X3,X4,X5),arg=5)))
+ ; throw(gecode_argument_error(channel(X0,X1,X2,X3,X4,X5),arg=4)))
+ ; throw(gecode_argument_error(channel(X0,X1,X2,X3,X4,X5),arg=3)))
+ ; throw(gecode_argument_error(channel(X0,X1,X2,X3,X4,X5),arg=2)))
+ ; throw(gecode_argument_error(channel(X0,X1,X2,X3,X4,X5),arg=1))).
+
+cumulative(X0,X1,X2,X3,X4,X5,X6) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_IntVar(X1,Y1)
+ -> (is_TaskTypeArgs(X2,Y2)
+ -> (is_IntVarArgs(X3,Y3)
+ -> (is_IntArgs(X4,Y4)
+ -> (is_IntArgs(X5,Y5)
+ -> (is_IntPropLevel(X6,Y6)
+ -> gecode_constraint_cumulative_141(Y0,Y1,Y2,Y3,Y4,Y5,Y6)
+ ; (is_BoolVarArgs(X6,Y6)
+ -> gecode_constraint_cumulative_142(Y0,Y1,Y2,Y3,Y4,Y5,Y6)
+ ; throw(gecode_argument_error(cumulative(X0,X1,X2,X3,X4,X5,X6),arg=7))))
+ ; throw(gecode_argument_error(cumulative(X0,X1,X2,X3,X4,X5,X6),arg=6)))
+ ; throw(gecode_argument_error(cumulative(X0,X1,X2,X3,X4,X5,X6),arg=5)))
+ ; throw(gecode_argument_error(cumulative(X0,X1,X2,X3,X4,X5,X6),arg=4)))
+ ; (is_IntVarArgs(X2,Y2)
+ -> (is_IntVarArgs(X3,Y3)
+ -> (is_IntVarArgs(X4,Y4)
+ -> (is_IntArgs(X5,Y5)
+ -> (is_IntPropLevel(X6,Y6)
+ -> gecode_constraint_cumulative_137(Y0,Y1,Y2,Y3,Y4,Y5,Y6)
+ ; (is_BoolVarArgs(X6,Y6)
+ -> gecode_constraint_cumulative_138(Y0,Y1,Y2,Y3,Y4,Y5,Y6)
+ ; throw(gecode_argument_error(cumulative(X0,X1,X2,X3,X4,X5,X6),arg=7))))
+ ; throw(gecode_argument_error(cumulative(X0,X1,X2,X3,X4,X5,X6),arg=6)))
+ ; throw(gecode_argument_error(cumulative(X0,X1,X2,X3,X4,X5,X6),arg=5)))
+ ; (is_IntArgs(X3,Y3)
+ -> (is_IntArgs(X4,Y4)
+ -> (is_BoolVarArgs(X5,Y5)
+ -> (is_IntPropLevel(X6,Y6)
+ -> gecode_constraint_cumulative_135(Y0,Y1,Y2,Y3,Y4,Y5,Y6)
+ ; throw(gecode_argument_error(cumulative(X0,X1,X2,X3,X4,X5,X6),arg=7)))
+ ; throw(gecode_argument_error(cumulative(X0,X1,X2,X3,X4,X5,X6),arg=6)))
+ ; throw(gecode_argument_error(cumulative(X0,X1,X2,X3,X4,X5,X6),arg=5)))
+ ; throw(gecode_argument_error(cumulative(X0,X1,X2,X3,X4,X5,X6),arg=4))))
+ ; throw(gecode_argument_error(cumulative(X0,X1,X2,X3,X4,X5,X6),arg=3))))
+ ; (is_int(X1,Y1)
+ -> (is_TaskTypeArgs(X2,Y2)
+ -> (is_IntVarArgs(X3,Y3)
+ -> (is_IntArgs(X4,Y4)
+ -> (is_IntArgs(X5,Y5)
+ -> (is_IntPropLevel(X6,Y6)
+ -> gecode_constraint_cumulative_153(Y0,Y1,Y2,Y3,Y4,Y5,Y6)
+ ; (is_BoolVarArgs(X6,Y6)
+ -> gecode_constraint_cumulative_154(Y0,Y1,Y2,Y3,Y4,Y5,Y6)
+ ; throw(gecode_argument_error(cumulative(X0,X1,X2,X3,X4,X5,X6),arg=7))))
+ ; throw(gecode_argument_error(cumulative(X0,X1,X2,X3,X4,X5,X6),arg=6)))
+ ; throw(gecode_argument_error(cumulative(X0,X1,X2,X3,X4,X5,X6),arg=5)))
+ ; throw(gecode_argument_error(cumulative(X0,X1,X2,X3,X4,X5,X6),arg=4)))
+ ; (is_IntVarArgs(X2,Y2)
+ -> (is_IntVarArgs(X3,Y3)
+ -> (is_IntVarArgs(X4,Y4)
+ -> (is_IntArgs(X5,Y5)
+ -> (is_IntPropLevel(X6,Y6)
+ -> gecode_constraint_cumulative_149(Y0,Y1,Y2,Y3,Y4,Y5,Y6)
+ ; (is_BoolVarArgs(X6,Y6)
+ -> gecode_constraint_cumulative_150(Y0,Y1,Y2,Y3,Y4,Y5,Y6)
+ ; throw(gecode_argument_error(cumulative(X0,X1,X2,X3,X4,X5,X6),arg=7))))
+ ; throw(gecode_argument_error(cumulative(X0,X1,X2,X3,X4,X5,X6),arg=6)))
+ ; throw(gecode_argument_error(cumulative(X0,X1,X2,X3,X4,X5,X6),arg=5)))
+ ; (is_IntArgs(X3,Y3)
+ -> (is_IntArgs(X4,Y4)
+ -> (is_BoolVarArgs(X5,Y5)
+ -> (is_IntPropLevel(X6,Y6)
+ -> gecode_constraint_cumulative_147(Y0,Y1,Y2,Y3,Y4,Y5,Y6)
+ ; throw(gecode_argument_error(cumulative(X0,X1,X2,X3,X4,X5,X6),arg=7)))
+ ; throw(gecode_argument_error(cumulative(X0,X1,X2,X3,X4,X5,X6),arg=6)))
+ ; throw(gecode_argument_error(cumulative(X0,X1,X2,X3,X4,X5,X6),arg=5)))
+ ; throw(gecode_argument_error(cumulative(X0,X1,X2,X3,X4,X5,X6),arg=4))))
+ ; throw(gecode_argument_error(cumulative(X0,X1,X2,X3,X4,X5,X6),arg=3))))
+ ; throw(gecode_argument_error(cumulative(X0,X1,X2,X3,X4,X5,X6),arg=2))))
+ ; throw(gecode_argument_error(cumulative(X0,X1,X2,X3,X4,X5,X6),arg=1))).
+
+distinct(X0,X1,X2) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_IntVarArgs(X1,Y1)
+ -> (is_int(X2,Y2)
+ -> gecode_constraint_distinct_178(Y0,Y1,Y2)
+ ; (is_IntPropLevel(X2,Y2)
+ -> gecode_constraint_distinct_177(Y0,Y1,Y2)
+ ; throw(gecode_argument_error(distinct(X0,X1,X2),arg=3))))
+ ; (is_BoolVarArgs(X1,Y1)
+ -> (is_IntVarArgs(X2,Y2)
+ -> gecode_constraint_distinct_172(Y0,Y1,Y2)
+ ; throw(gecode_argument_error(distinct(X0,X1,X2),arg=3)))
+ ; (is_IntArgs(X1,Y1)
+ -> (is_IntVarArgs(X2,Y2)
+ -> gecode_constraint_distinct_174(Y0,Y1,Y2)
+ ; throw(gecode_argument_error(distinct(X0,X1,X2),arg=3)))
+ ; throw(gecode_argument_error(distinct(X0,X1,X2),arg=2)))))
+ ; throw(gecode_argument_error(distinct(X0,X1,X2),arg=1))).
+
+member(X0,X1,X2,X3,X4) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_IntVarArgs(X1,Y1)
+ -> (is_IntVar(X2,Y2)
+ -> (is_Reify(X3,Y3)
+ -> (is_IntPropLevel(X4,Y4)
+ -> gecode_constraint_member_329(Y0,Y1,Y2,Y3,Y4)
+ ; throw(gecode_argument_error(member(X0,X1,X2,X3,X4),arg=5)))
+ ; throw(gecode_argument_error(member(X0,X1,X2,X3,X4),arg=4)))
+ ; throw(gecode_argument_error(member(X0,X1,X2,X3,X4),arg=3)))
+ ; (is_BoolVarArgs(X1,Y1)
+ -> (is_BoolVar(X2,Y2)
+ -> (is_Reify(X3,Y3)
+ -> (is_IntPropLevel(X4,Y4)
+ -> gecode_constraint_member_325(Y0,Y1,Y2,Y3,Y4)
+ ; throw(gecode_argument_error(member(X0,X1,X2,X3,X4),arg=5)))
+ ; throw(gecode_argument_error(member(X0,X1,X2,X3,X4),arg=4)))
+ ; throw(gecode_argument_error(member(X0,X1,X2,X3,X4),arg=3)))
+ ; throw(gecode_argument_error(member(X0,X1,X2,X3,X4),arg=2))))
+ ; throw(gecode_argument_error(member(X0,X1,X2,X3,X4),arg=1))).
+
+mod(X0,X1,X2,X3) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_IntVar(X1,Y1)
+ -> (is_IntVar(X2,Y2)
+ -> (is_IntVar(X3,Y3)
+ -> gecode_constraint_mod_338(Y0,Y1,Y2,Y3)
+ ; throw(gecode_argument_error(mod(X0,X1,X2,X3),arg=4)))
+ ; throw(gecode_argument_error(mod(X0,X1,X2,X3),arg=3)))
+ ; throw(gecode_argument_error(mod(X0,X1,X2,X3),arg=2)))
+ ; throw(gecode_argument_error(mod(X0,X1,X2,X3),arg=1))).
+
+sqr(X0,X1,X2) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_IntVar(X1,Y1)
+ -> (is_IntVar(X2,Y2)
+ -> gecode_constraint_sqr_460(Y0,Y1,Y2)
+ ; throw(gecode_argument_error(sqr(X0,X1,X2),arg=3)))
+ ; (is_FloatVar(X1,Y1)
+ -> (is_FloatVar(X2,Y2)
+ -> gecode_constraint_sqr_459(Y0,Y1,Y2)
+ ; throw(gecode_argument_error(sqr(X0,X1,X2),arg=3)))
+ ; throw(gecode_argument_error(sqr(X0,X1,X2),arg=2))))
+ ; throw(gecode_argument_error(sqr(X0,X1,X2),arg=1))).
+
+sequence(X0,X1,X2,X3,X4,X5,X6) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_IntVarArgs(X1,Y1)
+ -> (is_IntSet(X2,Y2)
+ -> (is_int(X3,Y3)
+ -> (is_int(X4,Y4)
+ -> (is_int(X5,Y5)
+ -> (is_IntPropLevel(X6,Y6)
+ -> gecode_constraint_sequence_452(Y0,Y1,Y2,Y3,Y4,Y5,Y6)
+ ; throw(gecode_argument_error(sequence(X0,X1,X2,X3,X4,X5,X6),arg=7)))
+ ; throw(gecode_argument_error(sequence(X0,X1,X2,X3,X4,X5,X6),arg=6)))
+ ; throw(gecode_argument_error(sequence(X0,X1,X2,X3,X4,X5,X6),arg=5)))
+ ; throw(gecode_argument_error(sequence(X0,X1,X2,X3,X4,X5,X6),arg=4)))
+ ; throw(gecode_argument_error(sequence(X0,X1,X2,X3,X4,X5,X6),arg=3)))
+ ; (is_BoolVarArgs(X1,Y1)
+ -> (is_IntSet(X2,Y2)
+ -> (is_int(X3,Y3)
+ -> (is_int(X4,Y4)
+ -> (is_int(X5,Y5)
+ -> (is_IntPropLevel(X6,Y6)
+ -> gecode_constraint_sequence_450(Y0,Y1,Y2,Y3,Y4,Y5,Y6)
+ ; throw(gecode_argument_error(sequence(X0,X1,X2,X3,X4,X5,X6),arg=7)))
+ ; throw(gecode_argument_error(sequence(X0,X1,X2,X3,X4,X5,X6),arg=6)))
+ ; throw(gecode_argument_error(sequence(X0,X1,X2,X3,X4,X5,X6),arg=5)))
+ ; throw(gecode_argument_error(sequence(X0,X1,X2,X3,X4,X5,X6),arg=4)))
+ ; throw(gecode_argument_error(sequence(X0,X1,X2,X3,X4,X5,X6),arg=3)))
+ ; throw(gecode_argument_error(sequence(X0,X1,X2,X3,X4,X5,X6),arg=2))))
+ ; throw(gecode_argument_error(sequence(X0,X1,X2,X3,X4,X5,X6),arg=1))).
+
+path(X0,X1,X2,X3,X4,X5,X6) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_IntArgs(X1,Y1)
+ -> (is_int(X2,Y2)
+ -> (is_IntVarArgs(X3,Y3)
+ -> (is_IntVar(X4,Y4)
+ -> (is_IntVar(X5,Y5)
+ -> (is_IntVar(X6,Y6)
+ -> gecode_constraint_path_368(Y0,Y1,Y2,Y3,Y4,Y5,Y6)
+ ; throw(gecode_argument_error(path(X0,X1,X2,X3,X4,X5,X6),arg=7)))
+ ; throw(gecode_argument_error(path(X0,X1,X2,X3,X4,X5,X6),arg=6)))
+ ; throw(gecode_argument_error(path(X0,X1,X2,X3,X4,X5,X6),arg=5)))
+ ; throw(gecode_argument_error(path(X0,X1,X2,X3,X4,X5,X6),arg=4)))
+ ; (is_IntVarArgs(X2,Y2)
+ -> (is_IntVar(X3,Y3)
+ -> (is_IntVar(X4,Y4)
+ -> (is_IntVar(X5,Y5)
+ -> (is_IntPropLevel(X6,Y6)
+ -> gecode_constraint_path_365(Y0,Y1,Y2,Y3,Y4,Y5,Y6)
+ ; throw(gecode_argument_error(path(X0,X1,X2,X3,X4,X5,X6),arg=7)))
+ ; (is_IntVarArgs(X5,Y5)
+ -> (is_IntVar(X6,Y6)
+ -> gecode_constraint_path_366(Y0,Y1,Y2,Y3,Y4,Y5,Y6)
+ ; throw(gecode_argument_error(path(X0,X1,X2,X3,X4,X5,X6),arg=7)))
+ ; throw(gecode_argument_error(path(X0,X1,X2,X3,X4,X5,X6),arg=6))))
+ ; throw(gecode_argument_error(path(X0,X1,X2,X3,X4,X5,X6),arg=5)))
+ ; throw(gecode_argument_error(path(X0,X1,X2,X3,X4,X5,X6),arg=4)))
+ ; throw(gecode_argument_error(path(X0,X1,X2,X3,X4,X5,X6),arg=3))))
+ ; throw(gecode_argument_error(path(X0,X1,X2,X3,X4,X5,X6),arg=2)))
+ ; throw(gecode_argument_error(path(X0,X1,X2,X3,X4,X5,X6),arg=1))).
+
+divmod(X0,X1,X2,X3,X4,X5) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_IntVar(X1,Y1)
+ -> (is_IntVar(X2,Y2)
+ -> (is_IntVar(X3,Y3)
+ -> (is_IntVar(X4,Y4)
+ -> (is_IntPropLevel(X5,Y5)
+ -> gecode_constraint_divmod_184(Y0,Y1,Y2,Y3,Y4,Y5)
+ ; throw(gecode_argument_error(divmod(X0,X1,X2,X3,X4,X5),arg=6)))
+ ; throw(gecode_argument_error(divmod(X0,X1,X2,X3,X4,X5),arg=5)))
+ ; throw(gecode_argument_error(divmod(X0,X1,X2,X3,X4,X5),arg=4)))
+ ; throw(gecode_argument_error(divmod(X0,X1,X2,X3,X4,X5),arg=3)))
+ ; throw(gecode_argument_error(divmod(X0,X1,X2,X3,X4,X5),arg=2)))
+ ; throw(gecode_argument_error(divmod(X0,X1,X2,X3,X4,X5),arg=1))).
+
+sorted(X0,X1,X2) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_IntVarArgs(X1,Y1)
+ -> (is_IntVarArgs(X2,Y2)
+ -> gecode_constraint_sorted_455(Y0,Y1,Y2)
+ ; throw(gecode_argument_error(sorted(X0,X1,X2),arg=3)))
+ ; throw(gecode_argument_error(sorted(X0,X1,X2),arg=2)))
+ ; throw(gecode_argument_error(sorted(X0,X1,X2),arg=1))).
+
+extensional(X0,X1,X2,X3) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_IntVarArgs(X1,Y1)
+ -> (is_TupleSet(X2,Y2)
+ -> (is_IntPropLevel(X3,Y3)
+ -> gecode_constraint_extensional_271(Y0,Y1,Y2,Y3)
+ ; throw(gecode_argument_error(extensional(X0,X1,X2,X3),arg=4)))
+ ; (is_DFA(X2,Y2)
+ -> (is_IntPropLevel(X3,Y3)
+ -> gecode_constraint_extensional_269(Y0,Y1,Y2,Y3)
+ ; throw(gecode_argument_error(extensional(X0,X1,X2,X3),arg=4)))
+ ; throw(gecode_argument_error(extensional(X0,X1,X2,X3),arg=3))))
+ ; (is_BoolVarArgs(X1,Y1)
+ -> (is_TupleSet(X2,Y2)
+ -> (is_IntPropLevel(X3,Y3)
+ -> gecode_constraint_extensional_267(Y0,Y1,Y2,Y3)
+ ; throw(gecode_argument_error(extensional(X0,X1,X2,X3),arg=4)))
+ ; (is_DFA(X2,Y2)
+ -> (is_IntPropLevel(X3,Y3)
+ -> gecode_constraint_extensional_265(Y0,Y1,Y2,Y3)
+ ; throw(gecode_argument_error(extensional(X0,X1,X2,X3),arg=4)))
+ ; throw(gecode_argument_error(extensional(X0,X1,X2,X3),arg=3))))
+ ; throw(gecode_argument_error(extensional(X0,X1,X2,X3),arg=2))))
+ ; throw(gecode_argument_error(extensional(X0,X1,X2,X3),arg=1))).
+
+circuit(X0,X1,X2) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_int(X1,Y1)
+ -> (is_IntVarArgs(X2,Y2)
+ -> gecode_constraint_circuit_98(Y0,Y1,Y2)
+ ; throw(gecode_argument_error(circuit(X0,X1,X2),arg=3)))
+ ; (is_IntVarArgs(X1,Y1)
+ -> (is_IntPropLevel(X2,Y2)
+ -> gecode_constraint_circuit_97(Y0,Y1,Y2)
+ ; throw(gecode_argument_error(circuit(X0,X1,X2),arg=3)))
+ ; throw(gecode_argument_error(circuit(X0,X1,X2),arg=2))))
+ ; throw(gecode_argument_error(circuit(X0,X1,X2),arg=1))).
+
+argmin(X0,X1,X2,X3) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_IntVarArgs(X1,Y1)
+ -> (is_IntVar(X2,Y2)
+ -> (is_bool(X3,Y3)
+ -> gecode_constraint_argmin_11(Y0,Y1,Y2,Y3)
+ ; throw(gecode_argument_error(argmin(X0,X1,X2,X3),arg=4)))
+ ; (is_int(X2,Y2)
+ -> (is_IntVar(X3,Y3)
+ -> gecode_constraint_argmin_13(Y0,Y1,Y2,Y3)
+ ; throw(gecode_argument_error(argmin(X0,X1,X2,X3),arg=4)))
+ ; throw(gecode_argument_error(argmin(X0,X1,X2,X3),arg=3))))
+ ; throw(gecode_argument_error(argmin(X0,X1,X2,X3),arg=2)))
+ ; throw(gecode_argument_error(argmin(X0,X1,X2,X3),arg=1))).
+
+channel(X0,X1,X2) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_FloatVar(X1,Y1)
+ -> (is_IntVar(X2,Y2)
+ -> gecode_constraint_channel_75(Y0,Y1,Y2)
+ ; (is_BoolVar(X2,Y2)
+ -> gecode_constraint_channel_74(Y0,Y1,Y2)
+ ; throw(gecode_argument_error(channel(X0,X1,X2),arg=3))))
+ ; (is_BoolVarArgs(X1,Y1)
+ -> (is_IntVar(X2,Y2)
+ -> gecode_constraint_channel_77(Y0,Y1,Y2)
+ ; (is_SetVar(X2,Y2)
+ -> gecode_constraint_channel_80(Y0,Y1,Y2)
+ ; throw(gecode_argument_error(channel(X0,X1,X2),arg=3))))
+ ; (is_BoolVar(X1,Y1)
+ -> (is_IntVar(X2,Y2)
+ -> gecode_constraint_channel_72(Y0,Y1,Y2)
+ ; (is_FloatVar(X2,Y2)
+ -> gecode_constraint_channel_71(Y0,Y1,Y2)
+ ; throw(gecode_argument_error(channel(X0,X1,X2),arg=3))))
+ ; (is_IntVarArgs(X1,Y1)
+ -> (is_SetVarArgs(X2,Y2)
+ -> gecode_constraint_channel_83(Y0,Y1,Y2)
+ ; (is_IntVarArgs(X2,Y2)
+ -> gecode_constraint_channel_81(Y0,Y1,Y2)
+ ; throw(gecode_argument_error(channel(X0,X1,X2),arg=3))))
+ ; (is_IntVar(X1,Y1)
+ -> (is_FloatVar(X2,Y2)
+ -> gecode_constraint_channel_76(Y0,Y1,Y2)
+ ; throw(gecode_argument_error(channel(X0,X1,X2),arg=3)))
+ ; (is_SetVarArgs(X1,Y1)
+ -> (is_SetVarArgs(X2,Y2)
+ -> gecode_constraint_channel_86(Y0,Y1,Y2)
+ ; throw(gecode_argument_error(channel(X0,X1,X2),arg=3)))
+ ; throw(gecode_argument_error(channel(X0,X1,X2),arg=2))))))))
+ ; throw(gecode_argument_error(channel(X0,X1,X2),arg=1))).
+
+count(X0,X1,X2,X3,X4) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_IntVarArgs(X1,Y1)
+ -> (is_IntArgs(X2,Y2)
+ -> (is_IntRelType(X3,Y3)
+ -> (is_IntVar(X4,Y4)
+ -> gecode_constraint_count_110(Y0,Y1,Y2,Y3,Y4)
+ ; (is_int(X4,Y4)
+ -> gecode_constraint_count_112(Y0,Y1,Y2,Y3,Y4)
+ ; throw(gecode_argument_error(count(X0,X1,X2,X3,X4),arg=5))))
+ ; throw(gecode_argument_error(count(X0,X1,X2,X3,X4),arg=4)))
+ ; (is_int(X2,Y2)
+ -> (is_IntRelType(X3,Y3)
+ -> (is_IntVar(X4,Y4)
+ -> gecode_constraint_count_128(Y0,Y1,Y2,Y3,Y4)
+ ; (is_int(X4,Y4)
+ -> gecode_constraint_count_130(Y0,Y1,Y2,Y3,Y4)
+ ; throw(gecode_argument_error(count(X0,X1,X2,X3,X4),arg=5))))
+ ; throw(gecode_argument_error(count(X0,X1,X2,X3,X4),arg=4)))
+ ; (is_IntSet(X2,Y2)
+ -> (is_IntRelType(X3,Y3)
+ -> (is_IntVar(X4,Y4)
+ -> gecode_constraint_count_114(Y0,Y1,Y2,Y3,Y4)
+ ; (is_int(X4,Y4)
+ -> gecode_constraint_count_116(Y0,Y1,Y2,Y3,Y4)
+ ; throw(gecode_argument_error(count(X0,X1,X2,X3,X4),arg=5))))
+ ; (is_IntArgs(X3,Y3)
+ -> (is_IntPropLevel(X4,Y4)
+ -> gecode_constraint_count_119(Y0,Y1,Y2,Y3,Y4)
+ ; throw(gecode_argument_error(count(X0,X1,X2,X3,X4),arg=5)))
+ ; throw(gecode_argument_error(count(X0,X1,X2,X3,X4),arg=4))))
+ ; (is_IntSetArgs(X2,Y2)
+ -> (is_IntArgs(X3,Y3)
+ -> (is_IntPropLevel(X4,Y4)
+ -> gecode_constraint_count_123(Y0,Y1,Y2,Y3,Y4)
+ ; throw(gecode_argument_error(count(X0,X1,X2,X3,X4),arg=5)))
+ ; throw(gecode_argument_error(count(X0,X1,X2,X3,X4),arg=4)))
+ ; (is_IntVarArgs(X2,Y2)
+ -> (is_IntArgs(X3,Y3)
+ -> (is_IntPropLevel(X4,Y4)
+ -> gecode_constraint_count_127(Y0,Y1,Y2,Y3,Y4)
+ ; throw(gecode_argument_error(count(X0,X1,X2,X3,X4),arg=5)))
+ ; throw(gecode_argument_error(count(X0,X1,X2,X3,X4),arg=4)))
+ ; (is_IntVar(X2,Y2)
+ -> (is_IntRelType(X3,Y3)
+ -> (is_IntVar(X4,Y4)
+ -> gecode_constraint_count_106(Y0,Y1,Y2,Y3,Y4)
+ ; (is_int(X4,Y4)
+ -> gecode_constraint_count_108(Y0,Y1,Y2,Y3,Y4)
+ ; throw(gecode_argument_error(count(X0,X1,X2,X3,X4),arg=5))))
+ ; throw(gecode_argument_error(count(X0,X1,X2,X3,X4),arg=4)))
+ ; throw(gecode_argument_error(count(X0,X1,X2,X3,X4),arg=3))))))))
+ ; throw(gecode_argument_error(count(X0,X1,X2,X3,X4),arg=2)))
+ ; throw(gecode_argument_error(count(X0,X1,X2,X3,X4),arg=1))).
+
+cumulatives(X0,X1,X2,X3,X4,X5,X6,X7) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_IntVarArgs(X1,Y1)
+ -> (is_IntVarArgs(X2,Y2)
+ -> (is_IntVarArgs(X3,Y3)
+ -> (is_IntVarArgs(X4,Y4)
+ -> (is_IntVarArgs(X5,Y5)
+ -> (is_IntArgs(X6,Y6)
+ -> (is_bool(X7,Y7)
+ -> gecode_constraint_cumulatives_170(Y0,Y1,Y2,Y3,Y4,Y5,Y6,Y7)
+ ; throw(gecode_argument_error(cumulatives(X0,X1,X2,X3,X4,X5,X6,X7),arg=8)))
+ ; throw(gecode_argument_error(cumulatives(X0,X1,X2,X3,X4,X5,X6,X7),arg=7)))
+ ; (is_IntArgs(X5,Y5)
+ -> (is_IntArgs(X6,Y6)
+ -> (is_bool(X7,Y7)
+ -> gecode_constraint_cumulatives_168(Y0,Y1,Y2,Y3,Y4,Y5,Y6,Y7)
+ ; throw(gecode_argument_error(cumulatives(X0,X1,X2,X3,X4,X5,X6,X7),arg=8)))
+ ; throw(gecode_argument_error(cumulatives(X0,X1,X2,X3,X4,X5,X6,X7),arg=7)))
+ ; throw(gecode_argument_error(cumulatives(X0,X1,X2,X3,X4,X5,X6,X7),arg=6))))
+ ; throw(gecode_argument_error(cumulatives(X0,X1,X2,X3,X4,X5,X6,X7),arg=5)))
+ ; (is_IntArgs(X3,Y3)
+ -> (is_IntVarArgs(X4,Y4)
+ -> (is_IntVarArgs(X5,Y5)
+ -> (is_IntArgs(X6,Y6)
+ -> (is_bool(X7,Y7)
+ -> gecode_constraint_cumulatives_166(Y0,Y1,Y2,Y3,Y4,Y5,Y6,Y7)
+ ; throw(gecode_argument_error(cumulatives(X0,X1,X2,X3,X4,X5,X6,X7),arg=8)))
+ ; throw(gecode_argument_error(cumulatives(X0,X1,X2,X3,X4,X5,X6,X7),arg=7)))
+ ; (is_IntArgs(X5,Y5)
+ -> (is_IntArgs(X6,Y6)
+ -> (is_bool(X7,Y7)
+ -> gecode_constraint_cumulatives_164(Y0,Y1,Y2,Y3,Y4,Y5,Y6,Y7)
+ ; throw(gecode_argument_error(cumulatives(X0,X1,X2,X3,X4,X5,X6,X7),arg=8)))
+ ; throw(gecode_argument_error(cumulatives(X0,X1,X2,X3,X4,X5,X6,X7),arg=7)))
+ ; throw(gecode_argument_error(cumulatives(X0,X1,X2,X3,X4,X5,X6,X7),arg=6))))
+ ; throw(gecode_argument_error(cumulatives(X0,X1,X2,X3,X4,X5,X6,X7),arg=5)))
+ ; throw(gecode_argument_error(cumulatives(X0,X1,X2,X3,X4,X5,X6,X7),arg=4))))
+ ; throw(gecode_argument_error(cumulatives(X0,X1,X2,X3,X4,X5,X6,X7),arg=3)))
+ ; (is_IntArgs(X1,Y1)
+ -> (is_IntVarArgs(X2,Y2)
+ -> (is_IntVarArgs(X3,Y3)
+ -> (is_IntVarArgs(X4,Y4)
+ -> (is_IntVarArgs(X5,Y5)
+ -> (is_IntArgs(X6,Y6)
+ -> (is_bool(X7,Y7)
+ -> gecode_constraint_cumulatives_162(Y0,Y1,Y2,Y3,Y4,Y5,Y6,Y7)
+ ; throw(gecode_argument_error(cumulatives(X0,X1,X2,X3,X4,X5,X6,X7),arg=8)))
+ ; throw(gecode_argument_error(cumulatives(X0,X1,X2,X3,X4,X5,X6,X7),arg=7)))
+ ; (is_IntArgs(X5,Y5)
+ -> (is_IntArgs(X6,Y6)
+ -> (is_bool(X7,Y7)
+ -> gecode_constraint_cumulatives_160(Y0,Y1,Y2,Y3,Y4,Y5,Y6,Y7)
+ ; throw(gecode_argument_error(cumulatives(X0,X1,X2,X3,X4,X5,X6,X7),arg=8)))
+ ; throw(gecode_argument_error(cumulatives(X0,X1,X2,X3,X4,X5,X6,X7),arg=7)))
+ ; throw(gecode_argument_error(cumulatives(X0,X1,X2,X3,X4,X5,X6,X7),arg=6))))
+ ; throw(gecode_argument_error(cumulatives(X0,X1,X2,X3,X4,X5,X6,X7),arg=5)))
+ ; (is_IntArgs(X3,Y3)
+ -> (is_IntVarArgs(X4,Y4)
+ -> (is_IntVarArgs(X5,Y5)
+ -> (is_IntArgs(X6,Y6)
+ -> (is_bool(X7,Y7)
+ -> gecode_constraint_cumulatives_158(Y0,Y1,Y2,Y3,Y4,Y5,Y6,Y7)
+ ; throw(gecode_argument_error(cumulatives(X0,X1,X2,X3,X4,X5,X6,X7),arg=8)))
+ ; throw(gecode_argument_error(cumulatives(X0,X1,X2,X3,X4,X5,X6,X7),arg=7)))
+ ; (is_IntArgs(X5,Y5)
+ -> (is_IntArgs(X6,Y6)
+ -> (is_bool(X7,Y7)
+ -> gecode_constraint_cumulatives_156(Y0,Y1,Y2,Y3,Y4,Y5,Y6,Y7)
+ ; throw(gecode_argument_error(cumulatives(X0,X1,X2,X3,X4,X5,X6,X7),arg=8)))
+ ; throw(gecode_argument_error(cumulatives(X0,X1,X2,X3,X4,X5,X6,X7),arg=7)))
+ ; throw(gecode_argument_error(cumulatives(X0,X1,X2,X3,X4,X5,X6,X7),arg=6))))
+ ; throw(gecode_argument_error(cumulatives(X0,X1,X2,X3,X4,X5,X6,X7),arg=5)))
+ ; throw(gecode_argument_error(cumulatives(X0,X1,X2,X3,X4,X5,X6,X7),arg=4))))
+ ; throw(gecode_argument_error(cumulatives(X0,X1,X2,X3,X4,X5,X6,X7),arg=3)))
+ ; throw(gecode_argument_error(cumulatives(X0,X1,X2,X3,X4,X5,X6,X7),arg=2))))
+ ; throw(gecode_argument_error(cumulatives(X0,X1,X2,X3,X4,X5,X6,X7),arg=1))).
+
+binpacking(X0,X1,X2,X3,X4) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_IntVarArgs(X1,Y1)
+ -> (is_IntVarArgs(X2,Y2)
+ -> (is_IntArgs(X3,Y3)
+ -> (is_IntPropLevel(X4,Y4)
+ -> gecode_constraint_binpacking_38(Y0,Y1,Y2,Y3,Y4)
+ ; throw(gecode_argument_error(binpacking(X0,X1,X2,X3,X4),arg=5)))
+ ; throw(gecode_argument_error(binpacking(X0,X1,X2,X3,X4),arg=4)))
+ ; throw(gecode_argument_error(binpacking(X0,X1,X2,X3,X4),arg=3)))
+ ; throw(gecode_argument_error(binpacking(X0,X1,X2,X3,X4),arg=2)))
+ ; throw(gecode_argument_error(binpacking(X0,X1,X2,X3,X4),arg=1))).
+
+extensional(X0,X1,X2) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_IntVarArgs(X1,Y1)
+ -> (is_TupleSet(X2,Y2)
+ -> gecode_constraint_extensional_270(Y0,Y1,Y2)
+ ; (is_DFA(X2,Y2)
+ -> gecode_constraint_extensional_268(Y0,Y1,Y2)
+ ; throw(gecode_argument_error(extensional(X0,X1,X2),arg=3))))
+ ; (is_BoolVarArgs(X1,Y1)
+ -> (is_TupleSet(X2,Y2)
+ -> gecode_constraint_extensional_266(Y0,Y1,Y2)
+ ; (is_DFA(X2,Y2)
+ -> gecode_constraint_extensional_264(Y0,Y1,Y2)
+ ; throw(gecode_argument_error(extensional(X0,X1,X2),arg=3))))
+ ; throw(gecode_argument_error(extensional(X0,X1,X2),arg=2))))
+ ; throw(gecode_argument_error(extensional(X0,X1,X2),arg=1))).
+
+linear(X0,X1,X2,X3,X4,X5) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_IntVarArgs(X1,Y1)
+ -> (is_IntRelType(X2,Y2)
+ -> (is_IntVar(X3,Y3)
+ -> (is_Reify(X4,Y4)
+ -> (is_IntPropLevel(X5,Y5)
+ -> gecode_constraint_linear_309(Y0,Y1,Y2,Y3,Y4,Y5)
+ ; throw(gecode_argument_error(linear(X0,X1,X2,X3,X4,X5),arg=6)))
+ ; throw(gecode_argument_error(linear(X0,X1,X2,X3,X4,X5),arg=5)))
+ ; (is_int(X3,Y3)
+ -> (is_Reify(X4,Y4)
+ -> (is_IntPropLevel(X5,Y5)
+ -> gecode_constraint_linear_313(Y0,Y1,Y2,Y3,Y4,Y5)
+ ; throw(gecode_argument_error(linear(X0,X1,X2,X3,X4,X5),arg=6)))
+ ; throw(gecode_argument_error(linear(X0,X1,X2,X3,X4,X5),arg=5)))
+ ; throw(gecode_argument_error(linear(X0,X1,X2,X3,X4,X5),arg=4))))
+ ; throw(gecode_argument_error(linear(X0,X1,X2,X3,X4,X5),arg=3)))
+ ; (is_BoolVarArgs(X1,Y1)
+ -> (is_IntRelType(X2,Y2)
+ -> (is_IntVar(X3,Y3)
+ -> (is_Reify(X4,Y4)
+ -> (is_IntPropLevel(X5,Y5)
+ -> gecode_constraint_linear_277(Y0,Y1,Y2,Y3,Y4,Y5)
+ ; throw(gecode_argument_error(linear(X0,X1,X2,X3,X4,X5),arg=6)))
+ ; throw(gecode_argument_error(linear(X0,X1,X2,X3,X4,X5),arg=5)))
+ ; (is_int(X3,Y3)
+ -> (is_Reify(X4,Y4)
+ -> (is_IntPropLevel(X5,Y5)
+ -> gecode_constraint_linear_281(Y0,Y1,Y2,Y3,Y4,Y5)
+ ; throw(gecode_argument_error(linear(X0,X1,X2,X3,X4,X5),arg=6)))
+ ; throw(gecode_argument_error(linear(X0,X1,X2,X3,X4,X5),arg=5)))
+ ; throw(gecode_argument_error(linear(X0,X1,X2,X3,X4,X5),arg=4))))
+ ; throw(gecode_argument_error(linear(X0,X1,X2,X3,X4,X5),arg=3)))
+ ; (is_FloatValArgs(X1,Y1)
+ -> (is_FloatVarArgs(X2,Y2)
+ -> (is_FloatRelType(X3,Y3)
+ -> (is_FloatVar(X4,Y4)
+ -> (is_Reify(X5,Y5)
+ -> gecode_constraint_linear_285(Y0,Y1,Y2,Y3,Y4,Y5)
+ ; throw(gecode_argument_error(linear(X0,X1,X2,X3,X4,X5),arg=6)))
+ ; (is_FloatNum(X4,Y4)
+ -> (is_Reify(X5,Y5)
+ -> gecode_constraint_linear_283(Y0,Y1,Y2,Y3,Y4,Y5)
+ ; throw(gecode_argument_error(linear(X0,X1,X2,X3,X4,X5),arg=6)))
+ ; throw(gecode_argument_error(linear(X0,X1,X2,X3,X4,X5),arg=5))))
+ ; throw(gecode_argument_error(linear(X0,X1,X2,X3,X4,X5),arg=4)))
+ ; throw(gecode_argument_error(linear(X0,X1,X2,X3,X4,X5),arg=3)))
+ ; (is_IntArgs(X1,Y1)
+ -> (is_IntVarArgs(X2,Y2)
+ -> (is_IntRelType(X3,Y3)
+ -> (is_IntVar(X4,Y4)
+ -> (is_IntPropLevel(X5,Y5)
+ -> gecode_constraint_linear_299(Y0,Y1,Y2,Y3,Y4,Y5)
+ ; (is_Reify(X5,Y5)
+ -> gecode_constraint_linear_300(Y0,Y1,Y2,Y3,Y4,Y5)
+ ; throw(gecode_argument_error(linear(X0,X1,X2,X3,X4,X5),arg=6))))
+ ; (is_int(X4,Y4)
+ -> (is_IntPropLevel(X5,Y5)
+ -> gecode_constraint_linear_303(Y0,Y1,Y2,Y3,Y4,Y5)
+ ; (is_Reify(X5,Y5)
+ -> gecode_constraint_linear_304(Y0,Y1,Y2,Y3,Y4,Y5)
+ ; throw(gecode_argument_error(linear(X0,X1,X2,X3,X4,X5),arg=6))))
+ ; throw(gecode_argument_error(linear(X0,X1,X2,X3,X4,X5),arg=5))))
+ ; throw(gecode_argument_error(linear(X0,X1,X2,X3,X4,X5),arg=4)))
+ ; (is_BoolVarArgs(X2,Y2)
+ -> (is_IntRelType(X3,Y3)
+ -> (is_IntVar(X4,Y4)
+ -> (is_IntPropLevel(X5,Y5)
+ -> gecode_constraint_linear_291(Y0,Y1,Y2,Y3,Y4,Y5)
+ ; (is_Reify(X5,Y5)
+ -> gecode_constraint_linear_292(Y0,Y1,Y2,Y3,Y4,Y5)
+ ; throw(gecode_argument_error(linear(X0,X1,X2,X3,X4,X5),arg=6))))
+ ; (is_int(X4,Y4)
+ -> (is_IntPropLevel(X5,Y5)
+ -> gecode_constraint_linear_295(Y0,Y1,Y2,Y3,Y4,Y5)
+ ; (is_Reify(X5,Y5)
+ -> gecode_constraint_linear_296(Y0,Y1,Y2,Y3,Y4,Y5)
+ ; throw(gecode_argument_error(linear(X0,X1,X2,X3,X4,X5),arg=6))))
+ ; throw(gecode_argument_error(linear(X0,X1,X2,X3,X4,X5),arg=5))))
+ ; throw(gecode_argument_error(linear(X0,X1,X2,X3,X4,X5),arg=4)))
+ ; throw(gecode_argument_error(linear(X0,X1,X2,X3,X4,X5),arg=3))))
+ ; throw(gecode_argument_error(linear(X0,X1,X2,X3,X4,X5),arg=2))))))
+ ; throw(gecode_argument_error(linear(X0,X1,X2,X3,X4,X5),arg=1))).
+
+nooverlap(X0,X1,X2,X3,X4,X5,X6) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_IntVarArgs(X1,Y1)
+ -> (is_IntVarArgs(X2,Y2)
+ -> (is_IntVarArgs(X3,Y3)
+ -> (is_IntVarArgs(X4,Y4)
+ -> (is_IntVarArgs(X5,Y5)
+ -> (is_IntVarArgs(X6,Y6)
+ -> gecode_constraint_nooverlap_347(Y0,Y1,Y2,Y3,Y4,Y5,Y6)
+ ; throw(gecode_argument_error(nooverlap(X0,X1,X2,X3,X4,X5,X6),arg=7)))
+ ; throw(gecode_argument_error(nooverlap(X0,X1,X2,X3,X4,X5,X6),arg=6)))
+ ; throw(gecode_argument_error(nooverlap(X0,X1,X2,X3,X4,X5,X6),arg=5)))
+ ; throw(gecode_argument_error(nooverlap(X0,X1,X2,X3,X4,X5,X6),arg=4)))
+ ; (is_IntArgs(X2,Y2)
+ -> (is_IntVarArgs(X3,Y3)
+ -> (is_IntArgs(X4,Y4)
+ -> (is_BoolVarArgs(X5,Y5)
+ -> (is_IntPropLevel(X6,Y6)
+ -> gecode_constraint_nooverlap_346(Y0,Y1,Y2,Y3,Y4,Y5,Y6)
+ ; throw(gecode_argument_error(nooverlap(X0,X1,X2,X3,X4,X5,X6),arg=7)))
+ ; throw(gecode_argument_error(nooverlap(X0,X1,X2,X3,X4,X5,X6),arg=6)))
+ ; throw(gecode_argument_error(nooverlap(X0,X1,X2,X3,X4,X5,X6),arg=5)))
+ ; throw(gecode_argument_error(nooverlap(X0,X1,X2,X3,X4,X5,X6),arg=4)))
+ ; throw(gecode_argument_error(nooverlap(X0,X1,X2,X3,X4,X5,X6),arg=3))))
+ ; throw(gecode_argument_error(nooverlap(X0,X1,X2,X3,X4,X5,X6),arg=2)))
+ ; throw(gecode_argument_error(nooverlap(X0,X1,X2,X3,X4,X5,X6),arg=1))).
+
+div(X0,X1,X2,X3,X4) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_IntVar(X1,Y1)
+ -> (is_IntVar(X2,Y2)
+ -> (is_IntVar(X3,Y3)
+ -> (is_IntPropLevel(X4,Y4)
+ -> gecode_constraint_div_182(Y0,Y1,Y2,Y3,Y4)
+ ; throw(gecode_argument_error(div(X0,X1,X2,X3,X4),arg=5)))
+ ; throw(gecode_argument_error(div(X0,X1,X2,X3,X4),arg=4)))
+ ; throw(gecode_argument_error(div(X0,X1,X2,X3,X4),arg=3)))
+ ; throw(gecode_argument_error(div(X0,X1,X2,X3,X4),arg=2)))
+ ; throw(gecode_argument_error(div(X0,X1,X2,X3,X4),arg=1))).
+
+sqr(X0,X1,X2,X3) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_IntVar(X1,Y1)
+ -> (is_IntVar(X2,Y2)
+ -> (is_IntPropLevel(X3,Y3)
+ -> gecode_constraint_sqr_461(Y0,Y1,Y2,Y3)
+ ; throw(gecode_argument_error(sqr(X0,X1,X2,X3),arg=4)))
+ ; throw(gecode_argument_error(sqr(X0,X1,X2,X3),arg=3)))
+ ; throw(gecode_argument_error(sqr(X0,X1,X2,X3),arg=2)))
+ ; throw(gecode_argument_error(sqr(X0,X1,X2,X3),arg=1))).
+
+channel(X0,X1,X2,X3) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_IntVarArgs(X1,Y1)
+ -> (is_IntVarArgs(X2,Y2)
+ -> (is_IntPropLevel(X3,Y3)
+ -> gecode_constraint_channel_82(Y0,Y1,Y2,Y3)
+ ; throw(gecode_argument_error(channel(X0,X1,X2,X3),arg=4)))
+ ; throw(gecode_argument_error(channel(X0,X1,X2,X3),arg=3)))
+ ; (is_BoolVarArgs(X1,Y1)
+ -> (is_IntVar(X2,Y2)
+ -> (is_int(X3,Y3)
+ -> gecode_constraint_channel_78(Y0,Y1,Y2,Y3)
+ ; throw(gecode_argument_error(channel(X0,X1,X2,X3),arg=4)))
+ ; throw(gecode_argument_error(channel(X0,X1,X2,X3),arg=3)))
+ ; (is_BoolVar(X1,Y1)
+ -> (is_IntVar(X2,Y2)
+ -> (is_IntPropLevel(X3,Y3)
+ -> gecode_constraint_channel_73(Y0,Y1,Y2,Y3)
+ ; throw(gecode_argument_error(channel(X0,X1,X2,X3),arg=4)))
+ ; throw(gecode_argument_error(channel(X0,X1,X2,X3),arg=3)))
+ ; throw(gecode_argument_error(channel(X0,X1,X2,X3),arg=2)))))
+ ; throw(gecode_argument_error(channel(X0,X1,X2,X3),arg=1))).
+
+path(X0,X1,X2,X3,X4,X5,X6,X7) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_IntArgs(X1,Y1)
+ -> (is_int(X2,Y2)
+ -> (is_IntVarArgs(X3,Y3)
+ -> (is_IntVar(X4,Y4)
+ -> (is_IntVar(X5,Y5)
+ -> (is_IntVar(X6,Y6)
+ -> (is_IntPropLevel(X7,Y7)
+ -> gecode_constraint_path_369(Y0,Y1,Y2,Y3,Y4,Y5,Y6,Y7)
+ ; throw(gecode_argument_error(path(X0,X1,X2,X3,X4,X5,X6,X7),arg=8)))
+ ; (is_IntVarArgs(X6,Y6)
+ -> (is_IntVar(X7,Y7)
+ -> gecode_constraint_path_370(Y0,Y1,Y2,Y3,Y4,Y5,Y6,Y7)
+ ; throw(gecode_argument_error(path(X0,X1,X2,X3,X4,X5,X6,X7),arg=8)))
+ ; throw(gecode_argument_error(path(X0,X1,X2,X3,X4,X5,X6,X7),arg=7))))
+ ; throw(gecode_argument_error(path(X0,X1,X2,X3,X4,X5,X6,X7),arg=6)))
+ ; throw(gecode_argument_error(path(X0,X1,X2,X3,X4,X5,X6,X7),arg=5)))
+ ; throw(gecode_argument_error(path(X0,X1,X2,X3,X4,X5,X6,X7),arg=4)))
+ ; (is_IntVarArgs(X2,Y2)
+ -> (is_IntVar(X3,Y3)
+ -> (is_IntVar(X4,Y4)
+ -> (is_IntVarArgs(X5,Y5)
+ -> (is_IntVar(X6,Y6)
+ -> (is_IntPropLevel(X7,Y7)
+ -> gecode_constraint_path_367(Y0,Y1,Y2,Y3,Y4,Y5,Y6,Y7)
+ ; throw(gecode_argument_error(path(X0,X1,X2,X3,X4,X5,X6,X7),arg=8)))
+ ; throw(gecode_argument_error(path(X0,X1,X2,X3,X4,X5,X6,X7),arg=7)))
+ ; throw(gecode_argument_error(path(X0,X1,X2,X3,X4,X5,X6,X7),arg=6)))
+ ; throw(gecode_argument_error(path(X0,X1,X2,X3,X4,X5,X6,X7),arg=5)))
+ ; throw(gecode_argument_error(path(X0,X1,X2,X3,X4,X5,X6,X7),arg=4)))
+ ; throw(gecode_argument_error(path(X0,X1,X2,X3,X4,X5,X6,X7),arg=3))))
+ ; throw(gecode_argument_error(path(X0,X1,X2,X3,X4,X5,X6,X7),arg=2)))
+ ; throw(gecode_argument_error(path(X0,X1,X2,X3,X4,X5,X6,X7),arg=1))).
+
+unary(X0,X1,X2,X3,X4) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_TaskTypeArgs(X1,Y1)
+ -> (is_IntVarArgs(X2,Y2)
+ -> (is_IntArgs(X3,Y3)
+ -> (is_IntPropLevel(X4,Y4)
+ -> gecode_constraint_unary_474(Y0,Y1,Y2,Y3,Y4)
+ ; (is_BoolVarArgs(X4,Y4)
+ -> gecode_constraint_unary_475(Y0,Y1,Y2,Y3,Y4)
+ ; throw(gecode_argument_error(unary(X0,X1,X2,X3,X4),arg=5))))
+ ; throw(gecode_argument_error(unary(X0,X1,X2,X3,X4),arg=4)))
+ ; throw(gecode_argument_error(unary(X0,X1,X2,X3,X4),arg=3)))
+ ; (is_IntVarArgs(X1,Y1)
+ -> (is_IntVarArgs(X2,Y2)
+ -> (is_IntVarArgs(X3,Y3)
+ -> (is_IntPropLevel(X4,Y4)
+ -> gecode_constraint_unary_470(Y0,Y1,Y2,Y3,Y4)
+ ; (is_BoolVarArgs(X4,Y4)
+ -> gecode_constraint_unary_471(Y0,Y1,Y2,Y3,Y4)
+ ; throw(gecode_argument_error(unary(X0,X1,X2,X3,X4),arg=5))))
+ ; throw(gecode_argument_error(unary(X0,X1,X2,X3,X4),arg=4)))
+ ; (is_IntArgs(X2,Y2)
+ -> (is_BoolVarArgs(X3,Y3)
+ -> (is_IntPropLevel(X4,Y4)
+ -> gecode_constraint_unary_468(Y0,Y1,Y2,Y3,Y4)
+ ; throw(gecode_argument_error(unary(X0,X1,X2,X3,X4),arg=5)))
+ ; throw(gecode_argument_error(unary(X0,X1,X2,X3,X4),arg=4)))
+ ; throw(gecode_argument_error(unary(X0,X1,X2,X3,X4),arg=3))))
+ ; throw(gecode_argument_error(unary(X0,X1,X2,X3,X4),arg=2))))
+ ; throw(gecode_argument_error(unary(X0,X1,X2,X3,X4),arg=1))).
+
+sorted(X0,X1,X2,X3) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_IntVarArgs(X1,Y1)
+ -> (is_IntVarArgs(X2,Y2)
+ -> (is_IntPropLevel(X3,Y3)
+ -> gecode_constraint_sorted_456(Y0,Y1,Y2,Y3)
+ ; (is_IntVarArgs(X3,Y3)
+ -> gecode_constraint_sorted_457(Y0,Y1,Y2,Y3)
+ ; throw(gecode_argument_error(sorted(X0,X1,X2,X3),arg=4))))
+ ; throw(gecode_argument_error(sorted(X0,X1,X2,X3),arg=3)))
+ ; throw(gecode_argument_error(sorted(X0,X1,X2,X3),arg=2)))
+ ; throw(gecode_argument_error(sorted(X0,X1,X2,X3),arg=1))).
+
+element(X0,X1,X2,X3,X4,X5,X6,X7) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_IntVarArgs(X1,Y1)
+ -> (is_IntVar(X2,Y2)
+ -> (is_int(X3,Y3)
+ -> (is_IntVar(X4,Y4)
+ -> (is_int(X5,Y5)
+ -> (is_IntVar(X6,Y6)
+ -> (is_IntPropLevel(X7,Y7)
+ -> gecode_constraint_element_261(Y0,Y1,Y2,Y3,Y4,Y5,Y6,Y7)
+ ; throw(gecode_argument_error(element(X0,X1,X2,X3,X4,X5,X6,X7),arg=8)))
+ ; throw(gecode_argument_error(element(X0,X1,X2,X3,X4,X5,X6,X7),arg=7)))
+ ; throw(gecode_argument_error(element(X0,X1,X2,X3,X4,X5,X6,X7),arg=6)))
+ ; throw(gecode_argument_error(element(X0,X1,X2,X3,X4,X5,X6,X7),arg=5)))
+ ; throw(gecode_argument_error(element(X0,X1,X2,X3,X4,X5,X6,X7),arg=4)))
+ ; throw(gecode_argument_error(element(X0,X1,X2,X3,X4,X5,X6,X7),arg=3)))
+ ; (is_BoolVarArgs(X1,Y1)
+ -> (is_IntVar(X2,Y2)
+ -> (is_int(X3,Y3)
+ -> (is_IntVar(X4,Y4)
+ -> (is_int(X5,Y5)
+ -> (is_BoolVar(X6,Y6)
+ -> (is_IntPropLevel(X7,Y7)
+ -> gecode_constraint_element_253(Y0,Y1,Y2,Y3,Y4,Y5,Y6,Y7)
+ ; throw(gecode_argument_error(element(X0,X1,X2,X3,X4,X5,X6,X7),arg=8)))
+ ; throw(gecode_argument_error(element(X0,X1,X2,X3,X4,X5,X6,X7),arg=7)))
+ ; throw(gecode_argument_error(element(X0,X1,X2,X3,X4,X5,X6,X7),arg=6)))
+ ; throw(gecode_argument_error(element(X0,X1,X2,X3,X4,X5,X6,X7),arg=5)))
+ ; throw(gecode_argument_error(element(X0,X1,X2,X3,X4,X5,X6,X7),arg=4)))
+ ; throw(gecode_argument_error(element(X0,X1,X2,X3,X4,X5,X6,X7),arg=3)))
+ ; (is_IntArgs(X1,Y1)
+ -> (is_IntVar(X2,Y2)
+ -> (is_int(X3,Y3)
+ -> (is_IntVar(X4,Y4)
+ -> (is_int(X5,Y5)
+ -> (is_IntVar(X6,Y6)
+ -> (is_IntPropLevel(X7,Y7)
+ -> gecode_constraint_element_239(Y0,Y1,Y2,Y3,Y4,Y5,Y6,Y7)
+ ; throw(gecode_argument_error(element(X0,X1,X2,X3,X4,X5,X6,X7),arg=8)))
+ ; (is_BoolVar(X6,Y6)
+ -> (is_IntPropLevel(X7,Y7)
+ -> gecode_constraint_element_237(Y0,Y1,Y2,Y3,Y4,Y5,Y6,Y7)
+ ; throw(gecode_argument_error(element(X0,X1,X2,X3,X4,X5,X6,X7),arg=8)))
+ ; throw(gecode_argument_error(element(X0,X1,X2,X3,X4,X5,X6,X7),arg=7))))
+ ; throw(gecode_argument_error(element(X0,X1,X2,X3,X4,X5,X6,X7),arg=6)))
+ ; throw(gecode_argument_error(element(X0,X1,X2,X3,X4,X5,X6,X7),arg=5)))
+ ; throw(gecode_argument_error(element(X0,X1,X2,X3,X4,X5,X6,X7),arg=4)))
+ ; throw(gecode_argument_error(element(X0,X1,X2,X3,X4,X5,X6,X7),arg=3)))
+ ; throw(gecode_argument_error(element(X0,X1,X2,X3,X4,X5,X6,X7),arg=2)))))
+ ; throw(gecode_argument_error(element(X0,X1,X2,X3,X4,X5,X6,X7),arg=1))).
+
+assign(X0,X1,X2,X3) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_FloatVar(X1,Y1)
+ -> (is_FloatAssign(X2,Y2)
+ -> (is_FloatVarValPrint(X3,Y3)
+ -> gecode_constraint_assign_19(Y0,Y1,Y2,Y3)
+ ; throw(gecode_argument_error(assign(X0,X1,X2,X3),arg=4)))
+ ; throw(gecode_argument_error(assign(X0,X1,X2,X3),arg=3)))
+ ; (is_FloatVarArgs(X1,Y1)
+ -> (is_FloatAssign(X2,Y2)
+ -> (is_FloatBranchFilter(X3,Y3)
+ -> gecode_constraint_assign_28(Y0,Y1,Y2,Y3)
+ ; throw(gecode_argument_error(assign(X0,X1,X2,X3),arg=4)))
+ ; throw(gecode_argument_error(assign(X0,X1,X2,X3),arg=3)))
+ ; (is_BoolVarArgs(X1,Y1)
+ -> (is_IntAssign(X2,Y2)
+ -> (is_BoolBranchFilter(X3,Y3)
+ -> gecode_constraint_assign_25(Y0,Y1,Y2,Y3)
+ ; throw(gecode_argument_error(assign(X0,X1,X2,X3),arg=4)))
+ ; throw(gecode_argument_error(assign(X0,X1,X2,X3),arg=3)))
+ ; (is_BoolVar(X1,Y1)
+ -> (is_IntAssign(X2,Y2)
+ -> (is_BoolVarValPrint(X3,Y3)
+ -> gecode_constraint_assign_17(Y0,Y1,Y2,Y3)
+ ; throw(gecode_argument_error(assign(X0,X1,X2,X3),arg=4)))
+ ; throw(gecode_argument_error(assign(X0,X1,X2,X3),arg=3)))
+ ; (is_IntVarArgs(X1,Y1)
+ -> (is_IntAssign(X2,Y2)
+ -> (is_IntBranchFilter(X3,Y3)
+ -> gecode_constraint_assign_31(Y0,Y1,Y2,Y3)
+ ; throw(gecode_argument_error(assign(X0,X1,X2,X3),arg=4)))
+ ; throw(gecode_argument_error(assign(X0,X1,X2,X3),arg=3)))
+ ; (is_IntVar(X1,Y1)
+ -> (is_IntAssign(X2,Y2)
+ -> (is_IntVarValPrint(X3,Y3)
+ -> gecode_constraint_assign_21(Y0,Y1,Y2,Y3)
+ ; throw(gecode_argument_error(assign(X0,X1,X2,X3),arg=4)))
+ ; throw(gecode_argument_error(assign(X0,X1,X2,X3),arg=3)))
+ ; (is_SetVarArgs(X1,Y1)
+ -> (is_SetAssign(X2,Y2)
+ -> (is_SetBranchFilter(X3,Y3)
+ -> gecode_constraint_assign_34(Y0,Y1,Y2,Y3)
+ ; throw(gecode_argument_error(assign(X0,X1,X2,X3),arg=4)))
+ ; throw(gecode_argument_error(assign(X0,X1,X2,X3),arg=3)))
+ ; (is_SetVar(X1,Y1)
+ -> (is_SetAssign(X2,Y2)
+ -> (is_SetVarValPrint(X3,Y3)
+ -> gecode_constraint_assign_23(Y0,Y1,Y2,Y3)
+ ; throw(gecode_argument_error(assign(X0,X1,X2,X3),arg=4)))
+ ; throw(gecode_argument_error(assign(X0,X1,X2,X3),arg=3)))
+ ; throw(gecode_argument_error(assign(X0,X1,X2,X3),arg=2))))))))))
+ ; throw(gecode_argument_error(assign(X0,X1,X2,X3),arg=1))).
+
+element(X0,X1,X2,X3,X4) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_IntVarArgs(X1,Y1)
+ -> (is_IntVar(X2,Y2)
+ -> (is_IntVar(X3,Y3)
+ -> (is_IntPropLevel(X4,Y4)
+ -> gecode_constraint_element_257(Y0,Y1,Y2,Y3,Y4)
+ ; throw(gecode_argument_error(element(X0,X1,X2,X3,X4),arg=5)))
+ ; (is_int(X3,Y3)
+ -> (is_IntPropLevel(X4,Y4)
+ -> gecode_constraint_element_259(Y0,Y1,Y2,Y3,Y4)
+ ; throw(gecode_argument_error(element(X0,X1,X2,X3,X4),arg=5)))
+ ; throw(gecode_argument_error(element(X0,X1,X2,X3,X4),arg=4))))
+ ; throw(gecode_argument_error(element(X0,X1,X2,X3,X4),arg=3)))
+ ; (is_BoolVarArgs(X1,Y1)
+ -> (is_IntVar(X2,Y2)
+ -> (is_int(X3,Y3)
+ -> (is_IntPropLevel(X4,Y4)
+ -> gecode_constraint_element_251(Y0,Y1,Y2,Y3,Y4)
+ ; throw(gecode_argument_error(element(X0,X1,X2,X3,X4),arg=5)))
+ ; (is_BoolVar(X3,Y3)
+ -> (is_IntPropLevel(X4,Y4)
+ -> gecode_constraint_element_249(Y0,Y1,Y2,Y3,Y4)
+ ; throw(gecode_argument_error(element(X0,X1,X2,X3,X4),arg=5)))
+ ; throw(gecode_argument_error(element(X0,X1,X2,X3,X4),arg=4))))
+ ; throw(gecode_argument_error(element(X0,X1,X2,X3,X4),arg=3)))
+ ; (is_SetOpType(X1,Y1)
+ -> (is_SetVarArgs(X2,Y2)
+ -> (is_SetVar(X3,Y3)
+ -> (is_SetVar(X4,Y4)
+ -> gecode_constraint_element_246(Y0,Y1,Y2,Y3,Y4)
+ ; throw(gecode_argument_error(element(X0,X1,X2,X3,X4),arg=5)))
+ ; throw(gecode_argument_error(element(X0,X1,X2,X3,X4),arg=4)))
+ ; (is_IntVarArgs(X2,Y2)
+ -> (is_SetVar(X3,Y3)
+ -> (is_SetVar(X4,Y4)
+ -> gecode_constraint_element_244(Y0,Y1,Y2,Y3,Y4)
+ ; throw(gecode_argument_error(element(X0,X1,X2,X3,X4),arg=5)))
+ ; throw(gecode_argument_error(element(X0,X1,X2,X3,X4),arg=4)))
+ ; (is_IntSetArgs(X2,Y2)
+ -> (is_SetVar(X3,Y3)
+ -> (is_SetVar(X4,Y4)
+ -> gecode_constraint_element_242(Y0,Y1,Y2,Y3,Y4)
+ ; throw(gecode_argument_error(element(X0,X1,X2,X3,X4),arg=5)))
+ ; throw(gecode_argument_error(element(X0,X1,X2,X3,X4),arg=4)))
+ ; (is_IntArgs(X2,Y2)
+ -> (is_SetVar(X3,Y3)
+ -> (is_SetVar(X4,Y4)
+ -> gecode_constraint_element_240(Y0,Y1,Y2,Y3,Y4)
+ ; throw(gecode_argument_error(element(X0,X1,X2,X3,X4),arg=5)))
+ ; throw(gecode_argument_error(element(X0,X1,X2,X3,X4),arg=4)))
+ ; throw(gecode_argument_error(element(X0,X1,X2,X3,X4),arg=3))))))
+ ; (is_IntArgs(X1,Y1)
+ -> (is_IntVar(X2,Y2)
+ -> (is_IntVar(X3,Y3)
+ -> (is_IntPropLevel(X4,Y4)
+ -> gecode_constraint_element_233(Y0,Y1,Y2,Y3,Y4)
+ ; throw(gecode_argument_error(element(X0,X1,X2,X3,X4),arg=5)))
+ ; (is_int(X3,Y3)
+ -> (is_IntPropLevel(X4,Y4)
+ -> gecode_constraint_element_235(Y0,Y1,Y2,Y3,Y4)
+ ; throw(gecode_argument_error(element(X0,X1,X2,X3,X4),arg=5)))
+ ; (is_BoolVar(X3,Y3)
+ -> (is_IntPropLevel(X4,Y4)
+ -> gecode_constraint_element_231(Y0,Y1,Y2,Y3,Y4)
+ ; throw(gecode_argument_error(element(X0,X1,X2,X3,X4),arg=5)))
+ ; throw(gecode_argument_error(element(X0,X1,X2,X3,X4),arg=4)))))
+ ; throw(gecode_argument_error(element(X0,X1,X2,X3,X4),arg=3)))
+ ; throw(gecode_argument_error(element(X0,X1,X2,X3,X4),arg=2))))))
+ ; throw(gecode_argument_error(element(X0,X1,X2,X3,X4),arg=1))).
+
+sequence(X0,X1,X2) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_SetVarArgs(X1,Y1)
+ -> (is_SetVar(X2,Y2)
+ -> gecode_constraint_sequence_454(Y0,Y1,Y2)
+ ; throw(gecode_argument_error(sequence(X0,X1,X2),arg=3)))
+ ; throw(gecode_argument_error(sequence(X0,X1,X2),arg=2)))
+ ; throw(gecode_argument_error(sequence(X0,X1,X2),arg=1))).
+
+branch(X0,X1,X2,X3,X4) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_FloatVarArgs(X1,Y1)
+ -> (is_FloatVarBranch(X2,Y2)
+ -> (is_FloatValBranch(X3,Y3)
+ -> (is_FloatBranchFilter(X4,Y4)
+ -> gecode_constraint_branch_54(Y0,Y1,Y2,Y3,Y4)
+ ; throw(gecode_argument_error(branch(X0,X1,X2,X3,X4),arg=5)))
+ ; throw(gecode_argument_error(branch(X0,X1,X2,X3,X4),arg=4)))
+ ; throw(gecode_argument_error(branch(X0,X1,X2,X3,X4),arg=3)))
+ ; (is_BoolVarArgs(X1,Y1)
+ -> (is_IntVarBranch(X2,Y2)
+ -> (is_IntValBranch(X3,Y3)
+ -> (is_Symmetries(X4,Y4)
+ -> gecode_constraint_branch_50(Y0,Y1,Y2,Y3,Y4)
+ ; (is_BoolBranchFilter(X4,Y4)
+ -> gecode_constraint_branch_48(Y0,Y1,Y2,Y3,Y4)
+ ; throw(gecode_argument_error(branch(X0,X1,X2,X3,X4),arg=5))))
+ ; throw(gecode_argument_error(branch(X0,X1,X2,X3,X4),arg=4)))
+ ; throw(gecode_argument_error(branch(X0,X1,X2,X3,X4),arg=3)))
+ ; (is_IntVarArgs(X1,Y1)
+ -> (is_IntVarBranch(X2,Y2)
+ -> (is_IntValBranch(X3,Y3)
+ -> (is_Symmetries(X4,Y4)
+ -> gecode_constraint_branch_59(Y0,Y1,Y2,Y3,Y4)
+ ; (is_IntBranchFilter(X4,Y4)
+ -> gecode_constraint_branch_57(Y0,Y1,Y2,Y3,Y4)
+ ; throw(gecode_argument_error(branch(X0,X1,X2,X3,X4),arg=5))))
+ ; throw(gecode_argument_error(branch(X0,X1,X2,X3,X4),arg=4)))
+ ; throw(gecode_argument_error(branch(X0,X1,X2,X3,X4),arg=3)))
+ ; (is_SetVarArgs(X1,Y1)
+ -> (is_SetVarBranch(X2,Y2)
+ -> (is_SetValBranch(X3,Y3)
+ -> (is_SetBranchFilter(X4,Y4)
+ -> gecode_constraint_branch_63(Y0,Y1,Y2,Y3,Y4)
+ ; (is_Symmetries(X4,Y4)
+ -> gecode_constraint_branch_65(Y0,Y1,Y2,Y3,Y4)
+ ; throw(gecode_argument_error(branch(X0,X1,X2,X3,X4),arg=5))))
+ ; throw(gecode_argument_error(branch(X0,X1,X2,X3,X4),arg=4)))
+ ; throw(gecode_argument_error(branch(X0,X1,X2,X3,X4),arg=3)))
+ ; throw(gecode_argument_error(branch(X0,X1,X2,X3,X4),arg=2))))))
+ ; throw(gecode_argument_error(branch(X0,X1,X2,X3,X4),arg=1))).
+
+circuit(X0,X1,X2,X3,X4,X5,X6) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_IntArgs(X1,Y1)
+ -> (is_int(X2,Y2)
+ -> (is_IntVarArgs(X3,Y3)
+ -> (is_IntVarArgs(X4,Y4)
+ -> (is_IntVar(X5,Y5)
+ -> (is_IntPropLevel(X6,Y6)
+ -> gecode_constraint_circuit_95(Y0,Y1,Y2,Y3,Y4,Y5,Y6)
+ ; throw(gecode_argument_error(circuit(X0,X1,X2,X3,X4,X5,X6),arg=7)))
+ ; throw(gecode_argument_error(circuit(X0,X1,X2,X3,X4,X5,X6),arg=6)))
+ ; throw(gecode_argument_error(circuit(X0,X1,X2,X3,X4,X5,X6),arg=5)))
+ ; throw(gecode_argument_error(circuit(X0,X1,X2,X3,X4,X5,X6),arg=4)))
+ ; throw(gecode_argument_error(circuit(X0,X1,X2,X3,X4,X5,X6),arg=3)))
+ ; throw(gecode_argument_error(circuit(X0,X1,X2,X3,X4,X5,X6),arg=2)))
+ ; throw(gecode_argument_error(circuit(X0,X1,X2,X3,X4,X5,X6),arg=1))).
+
+pow(X0,X1,X2,X3) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_IntVar(X1,Y1)
+ -> (is_int(X2,Y2)
+ -> (is_IntVar(X3,Y3)
+ -> gecode_constraint_pow_377(Y0,Y1,Y2,Y3)
+ ; throw(gecode_argument_error(pow(X0,X1,X2,X3),arg=4)))
+ ; throw(gecode_argument_error(pow(X0,X1,X2,X3),arg=3)))
+ ; (is_FloatVar(X1,Y1)
+ -> (is_int(X2,Y2)
+ -> (is_FloatVar(X3,Y3)
+ -> gecode_constraint_pow_376(Y0,Y1,Y2,Y3)
+ ; throw(gecode_argument_error(pow(X0,X1,X2,X3),arg=4)))
+ ; throw(gecode_argument_error(pow(X0,X1,X2,X3),arg=3)))
+ ; throw(gecode_argument_error(pow(X0,X1,X2,X3),arg=2))))
+ ; throw(gecode_argument_error(pow(X0,X1,X2,X3),arg=1))).
+
+precede(X0,X1,X2) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_SetVarArgs(X1,Y1)
+ -> (is_IntArgs(X2,Y2)
+ -> gecode_constraint_precede_383(Y0,Y1,Y2)
+ ; throw(gecode_argument_error(precede(X0,X1,X2),arg=3)))
+ ; (is_IntVarArgs(X1,Y1)
+ -> (is_IntArgs(X2,Y2)
+ -> gecode_constraint_precede_379(Y0,Y1,Y2)
+ ; throw(gecode_argument_error(precede(X0,X1,X2),arg=3)))
+ ; throw(gecode_argument_error(precede(X0,X1,X2),arg=2))))
+ ; throw(gecode_argument_error(precede(X0,X1,X2),arg=1))).
+
+argmax(X0,X1,X2,X3,X4) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_IntVarArgs(X1,Y1)
+ -> (is_IntVar(X2,Y2)
+ -> (is_bool(X3,Y3)
+ -> (is_IntPropLevel(X4,Y4)
+ -> gecode_constraint_argmax_6(Y0,Y1,Y2,Y3,Y4)
+ ; throw(gecode_argument_error(argmax(X0,X1,X2,X3,X4),arg=5)))
+ ; throw(gecode_argument_error(argmax(X0,X1,X2,X3,X4),arg=4)))
+ ; (is_int(X2,Y2)
+ -> (is_IntVar(X3,Y3)
+ -> (is_bool(X4,Y4)
+ -> gecode_constraint_argmax_8(Y0,Y1,Y2,Y3,Y4)
+ ; throw(gecode_argument_error(argmax(X0,X1,X2,X3,X4),arg=5)))
+ ; throw(gecode_argument_error(argmax(X0,X1,X2,X3,X4),arg=4)))
+ ; throw(gecode_argument_error(argmax(X0,X1,X2,X3,X4),arg=3))))
+ ; throw(gecode_argument_error(argmax(X0,X1,X2,X3,X4),arg=2)))
+ ; throw(gecode_argument_error(argmax(X0,X1,X2,X3,X4),arg=1))).
+
+cumulative(X0,X1,X2,X3,X4,X5) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_IntVar(X1,Y1)
+ -> (is_TaskTypeArgs(X2,Y2)
+ -> (is_IntVarArgs(X3,Y3)
+ -> (is_IntArgs(X4,Y4)
+ -> (is_IntArgs(X5,Y5)
+ -> gecode_constraint_cumulative_140(Y0,Y1,Y2,Y3,Y4,Y5)
+ ; throw(gecode_argument_error(cumulative(X0,X1,X2,X3,X4,X5),arg=6)))
+ ; throw(gecode_argument_error(cumulative(X0,X1,X2,X3,X4,X5),arg=5)))
+ ; throw(gecode_argument_error(cumulative(X0,X1,X2,X3,X4,X5),arg=4)))
+ ; (is_IntVarArgs(X2,Y2)
+ -> (is_IntVarArgs(X3,Y3)
+ -> (is_IntVarArgs(X4,Y4)
+ -> (is_IntArgs(X5,Y5)
+ -> gecode_constraint_cumulative_136(Y0,Y1,Y2,Y3,Y4,Y5)
+ ; throw(gecode_argument_error(cumulative(X0,X1,X2,X3,X4,X5),arg=6)))
+ ; throw(gecode_argument_error(cumulative(X0,X1,X2,X3,X4,X5),arg=5)))
+ ; (is_IntArgs(X3,Y3)
+ -> (is_IntArgs(X4,Y4)
+ -> (is_IntPropLevel(X5,Y5)
+ -> gecode_constraint_cumulative_133(Y0,Y1,Y2,Y3,Y4,Y5)
+ ; (is_BoolVarArgs(X5,Y5)
+ -> gecode_constraint_cumulative_134(Y0,Y1,Y2,Y3,Y4,Y5)
+ ; throw(gecode_argument_error(cumulative(X0,X1,X2,X3,X4,X5),arg=6))))
+ ; throw(gecode_argument_error(cumulative(X0,X1,X2,X3,X4,X5),arg=5)))
+ ; throw(gecode_argument_error(cumulative(X0,X1,X2,X3,X4,X5),arg=4))))
+ ; throw(gecode_argument_error(cumulative(X0,X1,X2,X3,X4,X5),arg=3))))
+ ; (is_int(X1,Y1)
+ -> (is_TaskTypeArgs(X2,Y2)
+ -> (is_IntVarArgs(X3,Y3)
+ -> (is_IntArgs(X4,Y4)
+ -> (is_IntArgs(X5,Y5)
+ -> gecode_constraint_cumulative_152(Y0,Y1,Y2,Y3,Y4,Y5)
+ ; throw(gecode_argument_error(cumulative(X0,X1,X2,X3,X4,X5),arg=6)))
+ ; throw(gecode_argument_error(cumulative(X0,X1,X2,X3,X4,X5),arg=5)))
+ ; throw(gecode_argument_error(cumulative(X0,X1,X2,X3,X4,X5),arg=4)))
+ ; (is_IntVarArgs(X2,Y2)
+ -> (is_IntVarArgs(X3,Y3)
+ -> (is_IntVarArgs(X4,Y4)
+ -> (is_IntArgs(X5,Y5)
+ -> gecode_constraint_cumulative_148(Y0,Y1,Y2,Y3,Y4,Y5)
+ ; throw(gecode_argument_error(cumulative(X0,X1,X2,X3,X4,X5),arg=6)))
+ ; throw(gecode_argument_error(cumulative(X0,X1,X2,X3,X4,X5),arg=5)))
+ ; (is_IntArgs(X3,Y3)
+ -> (is_IntArgs(X4,Y4)
+ -> (is_IntPropLevel(X5,Y5)
+ -> gecode_constraint_cumulative_145(Y0,Y1,Y2,Y3,Y4,Y5)
+ ; (is_BoolVarArgs(X5,Y5)
+ -> gecode_constraint_cumulative_146(Y0,Y1,Y2,Y3,Y4,Y5)
+ ; throw(gecode_argument_error(cumulative(X0,X1,X2,X3,X4,X5),arg=6))))
+ ; throw(gecode_argument_error(cumulative(X0,X1,X2,X3,X4,X5),arg=5)))
+ ; throw(gecode_argument_error(cumulative(X0,X1,X2,X3,X4,X5),arg=4))))
+ ; throw(gecode_argument_error(cumulative(X0,X1,X2,X3,X4,X5),arg=3))))
+ ; throw(gecode_argument_error(cumulative(X0,X1,X2,X3,X4,X5),arg=2))))
+ ; throw(gecode_argument_error(cumulative(X0,X1,X2,X3,X4,X5),arg=1))).
+
+distinct(X0,X1,X2,X3) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_IntVarArgs(X1,Y1)
+ -> (is_int(X2,Y2)
+ -> (is_IntPropLevel(X3,Y3)
+ -> gecode_constraint_distinct_179(Y0,Y1,Y2,Y3)
+ ; throw(gecode_argument_error(distinct(X0,X1,X2,X3),arg=4)))
+ ; throw(gecode_argument_error(distinct(X0,X1,X2,X3),arg=3)))
+ ; (is_BoolVarArgs(X1,Y1)
+ -> (is_IntVarArgs(X2,Y2)
+ -> (is_IntPropLevel(X3,Y3)
+ -> gecode_constraint_distinct_173(Y0,Y1,Y2,Y3)
+ ; throw(gecode_argument_error(distinct(X0,X1,X2,X3),arg=4)))
+ ; throw(gecode_argument_error(distinct(X0,X1,X2,X3),arg=3)))
+ ; (is_IntArgs(X1,Y1)
+ -> (is_IntVarArgs(X2,Y2)
+ -> (is_IntPropLevel(X3,Y3)
+ -> gecode_constraint_distinct_175(Y0,Y1,Y2,Y3)
+ ; throw(gecode_argument_error(distinct(X0,X1,X2,X3),arg=4)))
+ ; throw(gecode_argument_error(distinct(X0,X1,X2,X3),arg=3)))
+ ; throw(gecode_argument_error(distinct(X0,X1,X2,X3),arg=2)))))
+ ; throw(gecode_argument_error(distinct(X0,X1,X2,X3),arg=1))).
+
+min(X0,X1,X2) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_FloatVarArgs(X1,Y1)
+ -> (is_FloatVar(X2,Y2)
+ -> gecode_constraint_min_335(Y0,Y1,Y2)
+ ; throw(gecode_argument_error(min(X0,X1,X2),arg=3)))
+ ; (is_IntVarArgs(X1,Y1)
+ -> (is_IntVar(X2,Y2)
+ -> gecode_constraint_min_336(Y0,Y1,Y2)
+ ; throw(gecode_argument_error(min(X0,X1,X2),arg=3)))
+ ; (is_SetVar(X1,Y1)
+ -> (is_IntVar(X2,Y2)
+ -> gecode_constraint_min_333(Y0,Y1,Y2)
+ ; throw(gecode_argument_error(min(X0,X1,X2),arg=3)))
+ ; throw(gecode_argument_error(min(X0,X1,X2),arg=2)))))
+ ; throw(gecode_argument_error(min(X0,X1,X2),arg=1))).
+
+sqrt(X0,X1,X2,X3) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_IntVar(X1,Y1)
+ -> (is_IntVar(X2,Y2)
+ -> (is_IntPropLevel(X3,Y3)
+ -> gecode_constraint_sqrt_464(Y0,Y1,Y2,Y3)
+ ; throw(gecode_argument_error(sqrt(X0,X1,X2,X3),arg=4)))
+ ; throw(gecode_argument_error(sqrt(X0,X1,X2,X3),arg=3)))
+ ; throw(gecode_argument_error(sqrt(X0,X1,X2,X3),arg=2)))
+ ; throw(gecode_argument_error(sqrt(X0,X1,X2,X3),arg=1))).
+
+sequence(X0,X1,X2,X3,X4,X5) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_IntVarArgs(X1,Y1)
+ -> (is_IntSet(X2,Y2)
+ -> (is_int(X3,Y3)
+ -> (is_int(X4,Y4)
+ -> (is_int(X5,Y5)
+ -> gecode_constraint_sequence_451(Y0,Y1,Y2,Y3,Y4,Y5)
+ ; throw(gecode_argument_error(sequence(X0,X1,X2,X3,X4,X5),arg=6)))
+ ; throw(gecode_argument_error(sequence(X0,X1,X2,X3,X4,X5),arg=5)))
+ ; throw(gecode_argument_error(sequence(X0,X1,X2,X3,X4,X5),arg=4)))
+ ; throw(gecode_argument_error(sequence(X0,X1,X2,X3,X4,X5),arg=3)))
+ ; (is_BoolVarArgs(X1,Y1)
+ -> (is_IntSet(X2,Y2)
+ -> (is_int(X3,Y3)
+ -> (is_int(X4,Y4)
+ -> (is_int(X5,Y5)
+ -> gecode_constraint_sequence_449(Y0,Y1,Y2,Y3,Y4,Y5)
+ ; throw(gecode_argument_error(sequence(X0,X1,X2,X3,X4,X5),arg=6)))
+ ; throw(gecode_argument_error(sequence(X0,X1,X2,X3,X4,X5),arg=5)))
+ ; throw(gecode_argument_error(sequence(X0,X1,X2,X3,X4,X5),arg=4)))
+ ; throw(gecode_argument_error(sequence(X0,X1,X2,X3,X4,X5),arg=3)))
+ ; throw(gecode_argument_error(sequence(X0,X1,X2,X3,X4,X5),arg=2))))
+ ; throw(gecode_argument_error(sequence(X0,X1,X2,X3,X4,X5),arg=1))).
+
+unshare(X0,X1,X2) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_IntVarArgs(X1,Y1)
+ -> (is_IntPropLevel(X2,Y2)
+ -> gecode_constraint_unshare_480(Y0,Y1,Y2)
+ ; throw(gecode_argument_error(unshare(X0,X1,X2),arg=3)))
+ ; (is_BoolVarArgs(X1,Y1)
+ -> (is_IntPropLevel(X2,Y2)
+ -> gecode_constraint_unshare_478(Y0,Y1,Y2)
+ ; throw(gecode_argument_error(unshare(X0,X1,X2),arg=3)))
+ ; throw(gecode_argument_error(unshare(X0,X1,X2),arg=2))))
+ ; throw(gecode_argument_error(unshare(X0,X1,X2),arg=1))).
+
+path(X0,X1,X2,X3,X4,X5) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_int(X1,Y1)
+ -> (is_IntVarArgs(X2,Y2)
+ -> (is_IntVar(X3,Y3)
+ -> (is_IntVar(X4,Y4)
+ -> (is_IntPropLevel(X5,Y5)
+ -> gecode_constraint_path_375(Y0,Y1,Y2,Y3,Y4,Y5)
+ ; throw(gecode_argument_error(path(X0,X1,X2,X3,X4,X5),arg=6)))
+ ; throw(gecode_argument_error(path(X0,X1,X2,X3,X4,X5),arg=5)))
+ ; throw(gecode_argument_error(path(X0,X1,X2,X3,X4,X5),arg=4)))
+ ; throw(gecode_argument_error(path(X0,X1,X2,X3,X4,X5),arg=3)))
+ ; (is_IntArgs(X1,Y1)
+ -> (is_IntVarArgs(X2,Y2)
+ -> (is_IntVar(X3,Y3)
+ -> (is_IntVar(X4,Y4)
+ -> (is_IntVar(X5,Y5)
+ -> gecode_constraint_path_364(Y0,Y1,Y2,Y3,Y4,Y5)
+ ; throw(gecode_argument_error(path(X0,X1,X2,X3,X4,X5),arg=6)))
+ ; throw(gecode_argument_error(path(X0,X1,X2,X3,X4,X5),arg=5)))
+ ; throw(gecode_argument_error(path(X0,X1,X2,X3,X4,X5),arg=4)))
+ ; throw(gecode_argument_error(path(X0,X1,X2,X3,X4,X5),arg=3)))
+ ; throw(gecode_argument_error(path(X0,X1,X2,X3,X4,X5),arg=2))))
+ ; throw(gecode_argument_error(path(X0,X1,X2,X3,X4,X5),arg=1))).
+
+divmod(X0,X1,X2,X3,X4) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_IntVar(X1,Y1)
+ -> (is_IntVar(X2,Y2)
+ -> (is_IntVar(X3,Y3)
+ -> (is_IntVar(X4,Y4)
+ -> gecode_constraint_divmod_183(Y0,Y1,Y2,Y3,Y4)
+ ; throw(gecode_argument_error(divmod(X0,X1,X2,X3,X4),arg=5)))
+ ; throw(gecode_argument_error(divmod(X0,X1,X2,X3,X4),arg=4)))
+ ; throw(gecode_argument_error(divmod(X0,X1,X2,X3,X4),arg=3)))
+ ; throw(gecode_argument_error(divmod(X0,X1,X2,X3,X4),arg=2)))
+ ; throw(gecode_argument_error(divmod(X0,X1,X2,X3,X4),arg=1))).
+
+branch(X0,X1,X2,X3,X4,X5) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_FloatVarArgs(X1,Y1)
+ -> (is_FloatVarBranch(X2,Y2)
+ -> (is_FloatValBranch(X3,Y3)
+ -> (is_FloatBranchFilter(X4,Y4)
+ -> (is_FloatVarValPrint(X5,Y5)
+ -> gecode_constraint_branch_55(Y0,Y1,Y2,Y3,Y4,Y5)
+ ; throw(gecode_argument_error(branch(X0,X1,X2,X3,X4,X5),arg=6)))
+ ; throw(gecode_argument_error(branch(X0,X1,X2,X3,X4,X5),arg=5)))
+ ; throw(gecode_argument_error(branch(X0,X1,X2,X3,X4,X5),arg=4)))
+ ; throw(gecode_argument_error(branch(X0,X1,X2,X3,X4,X5),arg=3)))
+ ; (is_BoolVarArgs(X1,Y1)
+ -> (is_IntVarBranch(X2,Y2)
+ -> (is_IntValBranch(X3,Y3)
+ -> (is_Symmetries(X4,Y4)
+ -> (is_BoolBranchFilter(X5,Y5)
+ -> gecode_constraint_branch_51(Y0,Y1,Y2,Y3,Y4,Y5)
+ ; throw(gecode_argument_error(branch(X0,X1,X2,X3,X4,X5),arg=6)))
+ ; (is_BoolBranchFilter(X4,Y4)
+ -> (is_BoolVarValPrint(X5,Y5)
+ -> gecode_constraint_branch_49(Y0,Y1,Y2,Y3,Y4,Y5)
+ ; throw(gecode_argument_error(branch(X0,X1,X2,X3,X4,X5),arg=6)))
+ ; throw(gecode_argument_error(branch(X0,X1,X2,X3,X4,X5),arg=5))))
+ ; throw(gecode_argument_error(branch(X0,X1,X2,X3,X4,X5),arg=4)))
+ ; throw(gecode_argument_error(branch(X0,X1,X2,X3,X4,X5),arg=3)))
+ ; (is_IntVarArgs(X1,Y1)
+ -> (is_IntVarBranch(X2,Y2)
+ -> (is_IntValBranch(X3,Y3)
+ -> (is_Symmetries(X4,Y4)
+ -> (is_IntBranchFilter(X5,Y5)
+ -> gecode_constraint_branch_60(Y0,Y1,Y2,Y3,Y4,Y5)
+ ; throw(gecode_argument_error(branch(X0,X1,X2,X3,X4,X5),arg=6)))
+ ; (is_IntBranchFilter(X4,Y4)
+ -> (is_IntVarValPrint(X5,Y5)
+ -> gecode_constraint_branch_58(Y0,Y1,Y2,Y3,Y4,Y5)
+ ; throw(gecode_argument_error(branch(X0,X1,X2,X3,X4,X5),arg=6)))
+ ; throw(gecode_argument_error(branch(X0,X1,X2,X3,X4,X5),arg=5))))
+ ; throw(gecode_argument_error(branch(X0,X1,X2,X3,X4,X5),arg=4)))
+ ; throw(gecode_argument_error(branch(X0,X1,X2,X3,X4,X5),arg=3)))
+ ; (is_SetVarArgs(X1,Y1)
+ -> (is_SetVarBranch(X2,Y2)
+ -> (is_SetValBranch(X3,Y3)
+ -> (is_SetBranchFilter(X4,Y4)
+ -> (is_SetVarValPrint(X5,Y5)
+ -> gecode_constraint_branch_64(Y0,Y1,Y2,Y3,Y4,Y5)
+ ; throw(gecode_argument_error(branch(X0,X1,X2,X3,X4,X5),arg=6)))
+ ; (is_Symmetries(X4,Y4)
+ -> (is_SetBranchFilter(X5,Y5)
+ -> gecode_constraint_branch_66(Y0,Y1,Y2,Y3,Y4,Y5)
+ ; throw(gecode_argument_error(branch(X0,X1,X2,X3,X4,X5),arg=6)))
+ ; throw(gecode_argument_error(branch(X0,X1,X2,X3,X4,X5),arg=5))))
+ ; throw(gecode_argument_error(branch(X0,X1,X2,X3,X4,X5),arg=4)))
+ ; throw(gecode_argument_error(branch(X0,X1,X2,X3,X4,X5),arg=3)))
+ ; throw(gecode_argument_error(branch(X0,X1,X2,X3,X4,X5),arg=2))))))
+ ; throw(gecode_argument_error(branch(X0,X1,X2,X3,X4,X5),arg=1))).
+
+nooverlap(X0,X1,X2,X3,X4,X5,X6,X7,X8) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_IntVarArgs(X1,Y1)
+ -> (is_IntVarArgs(X2,Y2)
+ -> (is_IntVarArgs(X3,Y3)
+ -> (is_IntVarArgs(X4,Y4)
+ -> (is_IntVarArgs(X5,Y5)
+ -> (is_IntVarArgs(X6,Y6)
+ -> (is_BoolVarArgs(X7,Y7)
+ -> (is_IntPropLevel(X8,Y8)
+ -> gecode_constraint_nooverlap_350(Y0,Y1,Y2,Y3,Y4,Y5,Y6,Y7,Y8)
+ ; throw(gecode_argument_error(nooverlap(X0,X1,X2,X3,X4,X5,X6,X7,X8),arg=9)))
+ ; throw(gecode_argument_error(nooverlap(X0,X1,X2,X3,X4,X5,X6,X7,X8),arg=8)))
+ ; throw(gecode_argument_error(nooverlap(X0,X1,X2,X3,X4,X5,X6,X7,X8),arg=7)))
+ ; throw(gecode_argument_error(nooverlap(X0,X1,X2,X3,X4,X5,X6,X7,X8),arg=6)))
+ ; throw(gecode_argument_error(nooverlap(X0,X1,X2,X3,X4,X5,X6,X7,X8),arg=5)))
+ ; throw(gecode_argument_error(nooverlap(X0,X1,X2,X3,X4,X5,X6,X7,X8),arg=4)))
+ ; throw(gecode_argument_error(nooverlap(X0,X1,X2,X3,X4,X5,X6,X7,X8),arg=3)))
+ ; throw(gecode_argument_error(nooverlap(X0,X1,X2,X3,X4,X5,X6,X7,X8),arg=2)))
+ ; throw(gecode_argument_error(nooverlap(X0,X1,X2,X3,X4,X5,X6,X7,X8),arg=1))).
+
+argmin(X0,X1,X2,X3,X4) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_IntVarArgs(X1,Y1)
+ -> (is_IntVar(X2,Y2)
+ -> (is_bool(X3,Y3)
+ -> (is_IntPropLevel(X4,Y4)
+ -> gecode_constraint_argmin_12(Y0,Y1,Y2,Y3,Y4)
+ ; throw(gecode_argument_error(argmin(X0,X1,X2,X3,X4),arg=5)))
+ ; throw(gecode_argument_error(argmin(X0,X1,X2,X3,X4),arg=4)))
+ ; (is_int(X2,Y2)
+ -> (is_IntVar(X3,Y3)
+ -> (is_bool(X4,Y4)
+ -> gecode_constraint_argmin_14(Y0,Y1,Y2,Y3,Y4)
+ ; throw(gecode_argument_error(argmin(X0,X1,X2,X3,X4),arg=5)))
+ ; throw(gecode_argument_error(argmin(X0,X1,X2,X3,X4),arg=4)))
+ ; throw(gecode_argument_error(argmin(X0,X1,X2,X3,X4),arg=3))))
+ ; throw(gecode_argument_error(argmin(X0,X1,X2,X3,X4),arg=2)))
+ ; throw(gecode_argument_error(argmin(X0,X1,X2,X3,X4),arg=1))).
+
+cumulative(X0,X1,X2,X3,X4) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_IntVar(X1,Y1)
+ -> (is_IntVarArgs(X2,Y2)
+ -> (is_IntArgs(X3,Y3)
+ -> (is_IntArgs(X4,Y4)
+ -> gecode_constraint_cumulative_132(Y0,Y1,Y2,Y3,Y4)
+ ; throw(gecode_argument_error(cumulative(X0,X1,X2,X3,X4),arg=5)))
+ ; throw(gecode_argument_error(cumulative(X0,X1,X2,X3,X4),arg=4)))
+ ; throw(gecode_argument_error(cumulative(X0,X1,X2,X3,X4),arg=3)))
+ ; (is_int(X1,Y1)
+ -> (is_IntVarArgs(X2,Y2)
+ -> (is_IntArgs(X3,Y3)
+ -> (is_IntArgs(X4,Y4)
+ -> gecode_constraint_cumulative_144(Y0,Y1,Y2,Y3,Y4)
+ ; throw(gecode_argument_error(cumulative(X0,X1,X2,X3,X4),arg=5)))
+ ; throw(gecode_argument_error(cumulative(X0,X1,X2,X3,X4),arg=4)))
+ ; throw(gecode_argument_error(cumulative(X0,X1,X2,X3,X4),arg=3)))
+ ; throw(gecode_argument_error(cumulative(X0,X1,X2,X3,X4),arg=2))))
+ ; throw(gecode_argument_error(cumulative(X0,X1,X2,X3,X4),arg=1))).
+
+member(X0,X1,X2) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_IntVarArgs(X1,Y1)
+ -> (is_IntVar(X2,Y2)
+ -> gecode_constraint_member_326(Y0,Y1,Y2)
+ ; throw(gecode_argument_error(member(X0,X1,X2),arg=3)))
+ ; (is_BoolVarArgs(X1,Y1)
+ -> (is_BoolVar(X2,Y2)
+ -> gecode_constraint_member_322(Y0,Y1,Y2)
+ ; throw(gecode_argument_error(member(X0,X1,X2),arg=3)))
+ ; throw(gecode_argument_error(member(X0,X1,X2),arg=2))))
+ ; throw(gecode_argument_error(member(X0,X1,X2),arg=1))).
+
+count(X0,X1,X2,X3,X4,X5) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_IntVarArgs(X1,Y1)
+ -> (is_IntVar(X2,Y2)
+ -> (is_IntRelType(X3,Y3)
+ -> (is_IntVar(X4,Y4)
+ -> (is_IntPropLevel(X5,Y5)
+ -> gecode_constraint_count_107(Y0,Y1,Y2,Y3,Y4,Y5)
+ ; throw(gecode_argument_error(count(X0,X1,X2,X3,X4,X5),arg=6)))
+ ; (is_int(X4,Y4)
+ -> (is_IntPropLevel(X5,Y5)
+ -> gecode_constraint_count_109(Y0,Y1,Y2,Y3,Y4,Y5)
+ ; throw(gecode_argument_error(count(X0,X1,X2,X3,X4,X5),arg=6)))
+ ; throw(gecode_argument_error(count(X0,X1,X2,X3,X4,X5),arg=5))))
+ ; throw(gecode_argument_error(count(X0,X1,X2,X3,X4,X5),arg=4)))
+ ; (is_int(X2,Y2)
+ -> (is_IntRelType(X3,Y3)
+ -> (is_IntVar(X4,Y4)
+ -> (is_IntPropLevel(X5,Y5)
+ -> gecode_constraint_count_129(Y0,Y1,Y2,Y3,Y4,Y5)
+ ; throw(gecode_argument_error(count(X0,X1,X2,X3,X4,X5),arg=6)))
+ ; (is_int(X4,Y4)
+ -> (is_IntPropLevel(X5,Y5)
+ -> gecode_constraint_count_131(Y0,Y1,Y2,Y3,Y4,Y5)
+ ; throw(gecode_argument_error(count(X0,X1,X2,X3,X4,X5),arg=6)))
+ ; throw(gecode_argument_error(count(X0,X1,X2,X3,X4,X5),arg=5))))
+ ; throw(gecode_argument_error(count(X0,X1,X2,X3,X4,X5),arg=4)))
+ ; (is_IntSet(X2,Y2)
+ -> (is_IntRelType(X3,Y3)
+ -> (is_IntVar(X4,Y4)
+ -> (is_IntPropLevel(X5,Y5)
+ -> gecode_constraint_count_115(Y0,Y1,Y2,Y3,Y4,Y5)
+ ; throw(gecode_argument_error(count(X0,X1,X2,X3,X4,X5),arg=6)))
+ ; (is_int(X4,Y4)
+ -> (is_IntPropLevel(X5,Y5)
+ -> gecode_constraint_count_117(Y0,Y1,Y2,Y3,Y4,Y5)
+ ; throw(gecode_argument_error(count(X0,X1,X2,X3,X4,X5),arg=6)))
+ ; throw(gecode_argument_error(count(X0,X1,X2,X3,X4,X5),arg=5))))
+ ; throw(gecode_argument_error(count(X0,X1,X2,X3,X4,X5),arg=4)))
+ ; (is_IntArgs(X2,Y2)
+ -> (is_IntRelType(X3,Y3)
+ -> (is_IntVar(X4,Y4)
+ -> (is_IntPropLevel(X5,Y5)
+ -> gecode_constraint_count_111(Y0,Y1,Y2,Y3,Y4,Y5)
+ ; throw(gecode_argument_error(count(X0,X1,X2,X3,X4,X5),arg=6)))
+ ; (is_int(X4,Y4)
+ -> (is_IntPropLevel(X5,Y5)
+ -> gecode_constraint_count_113(Y0,Y1,Y2,Y3,Y4,Y5)
+ ; throw(gecode_argument_error(count(X0,X1,X2,X3,X4,X5),arg=6)))
+ ; throw(gecode_argument_error(count(X0,X1,X2,X3,X4,X5),arg=5))))
+ ; throw(gecode_argument_error(count(X0,X1,X2,X3,X4,X5),arg=4)))
+ ; throw(gecode_argument_error(count(X0,X1,X2,X3,X4,X5),arg=3))))))
+ ; throw(gecode_argument_error(count(X0,X1,X2,X3,X4,X5),arg=2)))
+ ; throw(gecode_argument_error(count(X0,X1,X2,X3,X4,X5),arg=1))).
+
+pow(X0,X1,X2,X3,X4) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_IntVar(X1,Y1)
+ -> (is_int(X2,Y2)
+ -> (is_IntVar(X3,Y3)
+ -> (is_IntPropLevel(X4,Y4)
+ -> gecode_constraint_pow_378(Y0,Y1,Y2,Y3,Y4)
+ ; throw(gecode_argument_error(pow(X0,X1,X2,X3,X4),arg=5)))
+ ; throw(gecode_argument_error(pow(X0,X1,X2,X3,X4),arg=4)))
+ ; throw(gecode_argument_error(pow(X0,X1,X2,X3,X4),arg=3)))
+ ; throw(gecode_argument_error(pow(X0,X1,X2,X3,X4),arg=2)))
+ ; throw(gecode_argument_error(pow(X0,X1,X2,X3,X4),arg=1))).
+
+notMin(X0,X1,X2) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_SetVar(X1,Y1)
+ -> (is_IntVar(X2,Y2)
+ -> gecode_constraint_notMin_352(Y0,Y1,Y2)
+ ; throw(gecode_argument_error(notMin(X0,X1,X2),arg=3)))
+ ; throw(gecode_argument_error(notMin(X0,X1,X2),arg=2)))
+ ; throw(gecode_argument_error(notMin(X0,X1,X2),arg=1))).
+
+cumulative(X0,X1,X2,X3,X4,X5,X6,X7) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_IntVar(X1,Y1)
+ -> (is_TaskTypeArgs(X2,Y2)
+ -> (is_IntVarArgs(X3,Y3)
+ -> (is_IntArgs(X4,Y4)
+ -> (is_IntArgs(X5,Y5)
+ -> (is_BoolVarArgs(X6,Y6)
+ -> (is_IntPropLevel(X7,Y7)
+ -> gecode_constraint_cumulative_143(Y0,Y1,Y2,Y3,Y4,Y5,Y6,Y7)
+ ; throw(gecode_argument_error(cumulative(X0,X1,X2,X3,X4,X5,X6,X7),arg=8)))
+ ; throw(gecode_argument_error(cumulative(X0,X1,X2,X3,X4,X5,X6,X7),arg=7)))
+ ; throw(gecode_argument_error(cumulative(X0,X1,X2,X3,X4,X5,X6,X7),arg=6)))
+ ; throw(gecode_argument_error(cumulative(X0,X1,X2,X3,X4,X5,X6,X7),arg=5)))
+ ; throw(gecode_argument_error(cumulative(X0,X1,X2,X3,X4,X5,X6,X7),arg=4)))
+ ; (is_IntVarArgs(X2,Y2)
+ -> (is_IntVarArgs(X3,Y3)
+ -> (is_IntVarArgs(X4,Y4)
+ -> (is_IntArgs(X5,Y5)
+ -> (is_BoolVarArgs(X6,Y6)
+ -> (is_IntPropLevel(X7,Y7)
+ -> gecode_constraint_cumulative_139(Y0,Y1,Y2,Y3,Y4,Y5,Y6,Y7)
+ ; throw(gecode_argument_error(cumulative(X0,X1,X2,X3,X4,X5,X6,X7),arg=8)))
+ ; throw(gecode_argument_error(cumulative(X0,X1,X2,X3,X4,X5,X6,X7),arg=7)))
+ ; throw(gecode_argument_error(cumulative(X0,X1,X2,X3,X4,X5,X6,X7),arg=6)))
+ ; throw(gecode_argument_error(cumulative(X0,X1,X2,X3,X4,X5,X6,X7),arg=5)))
+ ; throw(gecode_argument_error(cumulative(X0,X1,X2,X3,X4,X5,X6,X7),arg=4)))
+ ; throw(gecode_argument_error(cumulative(X0,X1,X2,X3,X4,X5,X6,X7),arg=3))))
+ ; (is_int(X1,Y1)
+ -> (is_TaskTypeArgs(X2,Y2)
+ -> (is_IntVarArgs(X3,Y3)
+ -> (is_IntArgs(X4,Y4)
+ -> (is_IntArgs(X5,Y5)
+ -> (is_BoolVarArgs(X6,Y6)
+ -> (is_IntPropLevel(X7,Y7)
+ -> gecode_constraint_cumulative_155(Y0,Y1,Y2,Y3,Y4,Y5,Y6,Y7)
+ ; throw(gecode_argument_error(cumulative(X0,X1,X2,X3,X4,X5,X6,X7),arg=8)))
+ ; throw(gecode_argument_error(cumulative(X0,X1,X2,X3,X4,X5,X6,X7),arg=7)))
+ ; throw(gecode_argument_error(cumulative(X0,X1,X2,X3,X4,X5,X6,X7),arg=6)))
+ ; throw(gecode_argument_error(cumulative(X0,X1,X2,X3,X4,X5,X6,X7),arg=5)))
+ ; throw(gecode_argument_error(cumulative(X0,X1,X2,X3,X4,X5,X6,X7),arg=4)))
+ ; (is_IntVarArgs(X2,Y2)
+ -> (is_IntVarArgs(X3,Y3)
+ -> (is_IntVarArgs(X4,Y4)
+ -> (is_IntArgs(X5,Y5)
+ -> (is_BoolVarArgs(X6,Y6)
+ -> (is_IntPropLevel(X7,Y7)
+ -> gecode_constraint_cumulative_151(Y0,Y1,Y2,Y3,Y4,Y5,Y6,Y7)
+ ; throw(gecode_argument_error(cumulative(X0,X1,X2,X3,X4,X5,X6,X7),arg=8)))
+ ; throw(gecode_argument_error(cumulative(X0,X1,X2,X3,X4,X5,X6,X7),arg=7)))
+ ; throw(gecode_argument_error(cumulative(X0,X1,X2,X3,X4,X5,X6,X7),arg=6)))
+ ; throw(gecode_argument_error(cumulative(X0,X1,X2,X3,X4,X5,X6,X7),arg=5)))
+ ; throw(gecode_argument_error(cumulative(X0,X1,X2,X3,X4,X5,X6,X7),arg=4)))
+ ; throw(gecode_argument_error(cumulative(X0,X1,X2,X3,X4,X5,X6,X7),arg=3))))
+ ; throw(gecode_argument_error(cumulative(X0,X1,X2,X3,X4,X5,X6,X7),arg=2))))
+ ; throw(gecode_argument_error(cumulative(X0,X1,X2,X3,X4,X5,X6,X7),arg=1))).
+
+branch(X0,X1,X2) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_IntVar(X1,Y1)
+ -> (is_IntValBranch(X2,Y2)
+ -> gecode_constraint_branch_43(Y0,Y1,Y2)
+ ; throw(gecode_argument_error(branch(X0,X1,X2),arg=3)))
+ ; (is_BoolVar(X1,Y1)
+ -> (is_IntValBranch(X2,Y2)
+ -> gecode_constraint_branch_39(Y0,Y1,Y2)
+ ; throw(gecode_argument_error(branch(X0,X1,X2),arg=3)))
+ ; (is_FloatVar(X1,Y1)
+ -> (is_FloatValBranch(X2,Y2)
+ -> gecode_constraint_branch_41(Y0,Y1,Y2)
+ ; throw(gecode_argument_error(branch(X0,X1,X2),arg=3)))
+ ; (is_SetVar(X1,Y1)
+ -> (is_SetValBranch(X2,Y2)
+ -> gecode_constraint_branch_45(Y0,Y1,Y2)
+ ; throw(gecode_argument_error(branch(X0,X1,X2),arg=3)))
+ ; throw(gecode_argument_error(branch(X0,X1,X2),arg=2))))))
+ ; throw(gecode_argument_error(branch(X0,X1,X2),arg=1))).
+
+dom(X0,X1,X2) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_FloatVar(X1,Y1)
+ -> (is_FloatVal(X2,Y2)
+ -> gecode_constraint_dom_189(Y0,Y1,Y2)
+ ; (is_FloatVar(X2,Y2)
+ -> gecode_constraint_dom_191(Y0,Y1,Y2)
+ ; throw(gecode_argument_error(dom(X0,X1,X2),arg=3))))
+ ; (is_FloatVarArgs(X1,Y1)
+ -> (is_FloatVarArgs(X2,Y2)
+ -> gecode_constraint_dom_217(Y0,Y1,Y2)
+ ; (is_FloatVal(X2,Y2)
+ -> gecode_constraint_dom_216(Y0,Y1,Y2)
+ ; throw(gecode_argument_error(dom(X0,X1,X2),arg=3))))
+ ; (is_BoolVarArgs(X1,Y1)
+ -> (is_BoolVarArgs(X2,Y2)
+ -> gecode_constraint_dom_213(Y0,Y1,Y2)
+ ; throw(gecode_argument_error(dom(X0,X1,X2),arg=3)))
+ ; (is_BoolVar(X1,Y1)
+ -> (is_BoolVar(X2,Y2)
+ -> gecode_constraint_dom_185(Y0,Y1,Y2)
+ ; throw(gecode_argument_error(dom(X0,X1,X2),arg=3)))
+ ; (is_IntVarArgs(X1,Y1)
+ -> (is_int(X2,Y2)
+ -> gecode_constraint_dom_222(Y0,Y1,Y2)
+ ; (is_IntVarArgs(X2,Y2)
+ -> gecode_constraint_dom_220(Y0,Y1,Y2)
+ ; (is_IntSet(X2,Y2)
+ -> gecode_constraint_dom_218(Y0,Y1,Y2)
+ ; throw(gecode_argument_error(dom(X0,X1,X2),arg=3)))))
+ ; (is_IntVar(X1,Y1)
+ -> (is_IntVar(X2,Y2)
+ -> gecode_constraint_dom_192(Y0,Y1,Y2)
+ ; (is_int(X2,Y2)
+ -> gecode_constraint_dom_198(Y0,Y1,Y2)
+ ; (is_IntSet(X2,Y2)
+ -> gecode_constraint_dom_194(Y0,Y1,Y2)
+ ; throw(gecode_argument_error(dom(X0,X1,X2),arg=3)))))
+ ; (is_SetVarArgs(X1,Y1)
+ -> (is_SetVarArgs(X2,Y2)
+ -> gecode_constraint_dom_229(Y0,Y1,Y2)
+ ; throw(gecode_argument_error(dom(X0,X1,X2),arg=3)))
+ ; (is_SetVar(X1,Y1)
+ -> (is_SetVar(X2,Y2)
+ -> gecode_constraint_dom_212(Y0,Y1,Y2)
+ ; throw(gecode_argument_error(dom(X0,X1,X2),arg=3)))
+ ; throw(gecode_argument_error(dom(X0,X1,X2),arg=2))))))))))
+ ; throw(gecode_argument_error(dom(X0,X1,X2),arg=1))).
+
+linear(X0,X1,X2,X3,X4) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_IntVarArgs(X1,Y1)
+ -> (is_IntRelType(X2,Y2)
+ -> (is_IntVar(X3,Y3)
+ -> (is_IntPropLevel(X4,Y4)
+ -> gecode_constraint_linear_307(Y0,Y1,Y2,Y3,Y4)
+ ; (is_Reify(X4,Y4)
+ -> gecode_constraint_linear_308(Y0,Y1,Y2,Y3,Y4)
+ ; throw(gecode_argument_error(linear(X0,X1,X2,X3,X4),arg=5))))
+ ; (is_int(X3,Y3)
+ -> (is_IntPropLevel(X4,Y4)
+ -> gecode_constraint_linear_311(Y0,Y1,Y2,Y3,Y4)
+ ; (is_Reify(X4,Y4)
+ -> gecode_constraint_linear_312(Y0,Y1,Y2,Y3,Y4)
+ ; throw(gecode_argument_error(linear(X0,X1,X2,X3,X4),arg=5))))
+ ; throw(gecode_argument_error(linear(X0,X1,X2,X3,X4),arg=4))))
+ ; throw(gecode_argument_error(linear(X0,X1,X2,X3,X4),arg=3)))
+ ; (is_FloatVarArgs(X1,Y1)
+ -> (is_FloatRelType(X2,Y2)
+ -> (is_FloatVar(X3,Y3)
+ -> (is_Reify(X4,Y4)
+ -> gecode_constraint_linear_289(Y0,Y1,Y2,Y3,Y4)
+ ; throw(gecode_argument_error(linear(X0,X1,X2,X3,X4),arg=5)))
+ ; (is_FloatNum(X3,Y3)
+ -> (is_Reify(X4,Y4)
+ -> gecode_constraint_linear_287(Y0,Y1,Y2,Y3,Y4)
+ ; throw(gecode_argument_error(linear(X0,X1,X2,X3,X4),arg=5)))
+ ; throw(gecode_argument_error(linear(X0,X1,X2,X3,X4),arg=4))))
+ ; throw(gecode_argument_error(linear(X0,X1,X2,X3,X4),arg=3)))
+ ; (is_BoolVarArgs(X1,Y1)
+ -> (is_IntRelType(X2,Y2)
+ -> (is_IntVar(X3,Y3)
+ -> (is_IntPropLevel(X4,Y4)
+ -> gecode_constraint_linear_275(Y0,Y1,Y2,Y3,Y4)
+ ; (is_Reify(X4,Y4)
+ -> gecode_constraint_linear_276(Y0,Y1,Y2,Y3,Y4)
+ ; throw(gecode_argument_error(linear(X0,X1,X2,X3,X4),arg=5))))
+ ; (is_int(X3,Y3)
+ -> (is_IntPropLevel(X4,Y4)
+ -> gecode_constraint_linear_279(Y0,Y1,Y2,Y3,Y4)
+ ; (is_Reify(X4,Y4)
+ -> gecode_constraint_linear_280(Y0,Y1,Y2,Y3,Y4)
+ ; throw(gecode_argument_error(linear(X0,X1,X2,X3,X4),arg=5))))
+ ; throw(gecode_argument_error(linear(X0,X1,X2,X3,X4),arg=4))))
+ ; throw(gecode_argument_error(linear(X0,X1,X2,X3,X4),arg=3)))
+ ; (is_FloatValArgs(X1,Y1)
+ -> (is_FloatVarArgs(X2,Y2)
+ -> (is_FloatRelType(X3,Y3)
+ -> (is_FloatVar(X4,Y4)
+ -> gecode_constraint_linear_284(Y0,Y1,Y2,Y3,Y4)
+ ; (is_FloatNum(X4,Y4)
+ -> gecode_constraint_linear_282(Y0,Y1,Y2,Y3,Y4)
+ ; throw(gecode_argument_error(linear(X0,X1,X2,X3,X4),arg=5))))
+ ; throw(gecode_argument_error(linear(X0,X1,X2,X3,X4),arg=4)))
+ ; throw(gecode_argument_error(linear(X0,X1,X2,X3,X4),arg=3)))
+ ; (is_IntArgs(X1,Y1)
+ -> (is_IntVarArgs(X2,Y2)
+ -> (is_IntRelType(X3,Y3)
+ -> (is_IntVar(X4,Y4)
+ -> gecode_constraint_linear_298(Y0,Y1,Y2,Y3,Y4)
+ ; (is_int(X4,Y4)
+ -> gecode_constraint_linear_302(Y0,Y1,Y2,Y3,Y4)
+ ; throw(gecode_argument_error(linear(X0,X1,X2,X3,X4),arg=5))))
+ ; throw(gecode_argument_error(linear(X0,X1,X2,X3,X4),arg=4)))
+ ; (is_BoolVarArgs(X2,Y2)
+ -> (is_IntRelType(X3,Y3)
+ -> (is_IntVar(X4,Y4)
+ -> gecode_constraint_linear_290(Y0,Y1,Y2,Y3,Y4)
+ ; (is_int(X4,Y4)
+ -> gecode_constraint_linear_294(Y0,Y1,Y2,Y3,Y4)
+ ; throw(gecode_argument_error(linear(X0,X1,X2,X3,X4),arg=5))))
+ ; throw(gecode_argument_error(linear(X0,X1,X2,X3,X4),arg=4)))
+ ; throw(gecode_argument_error(linear(X0,X1,X2,X3,X4),arg=3))))
+ ; throw(gecode_argument_error(linear(X0,X1,X2,X3,X4),arg=2)))))))
+ ; throw(gecode_argument_error(linear(X0,X1,X2,X3,X4),arg=1))).
+
+argmin(X0,X1,X2,X3,X4,X5) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_IntVarArgs(X1,Y1)
+ -> (is_int(X2,Y2)
+ -> (is_IntVar(X3,Y3)
+ -> (is_bool(X4,Y4)
+ -> (is_IntPropLevel(X5,Y5)
+ -> gecode_constraint_argmin_15(Y0,Y1,Y2,Y3,Y4,Y5)
+ ; throw(gecode_argument_error(argmin(X0,X1,X2,X3,X4,X5),arg=6)))
+ ; throw(gecode_argument_error(argmin(X0,X1,X2,X3,X4,X5),arg=5)))
+ ; throw(gecode_argument_error(argmin(X0,X1,X2,X3,X4,X5),arg=4)))
+ ; throw(gecode_argument_error(argmin(X0,X1,X2,X3,X4,X5),arg=3)))
+ ; throw(gecode_argument_error(argmin(X0,X1,X2,X3,X4,X5),arg=2)))
+ ; throw(gecode_argument_error(argmin(X0,X1,X2,X3,X4,X5),arg=1))).
+
+nooverlap(X0,X1,X2,X3,X4,X5) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_IntVarArgs(X1,Y1)
+ -> (is_IntArgs(X2,Y2)
+ -> (is_IntVarArgs(X3,Y3)
+ -> (is_IntArgs(X4,Y4)
+ -> (is_IntPropLevel(X5,Y5)
+ -> gecode_constraint_nooverlap_344(Y0,Y1,Y2,Y3,Y4,Y5)
+ ; (is_BoolVarArgs(X5,Y5)
+ -> gecode_constraint_nooverlap_345(Y0,Y1,Y2,Y3,Y4,Y5)
+ ; throw(gecode_argument_error(nooverlap(X0,X1,X2,X3,X4,X5),arg=6))))
+ ; throw(gecode_argument_error(nooverlap(X0,X1,X2,X3,X4,X5),arg=5)))
+ ; throw(gecode_argument_error(nooverlap(X0,X1,X2,X3,X4,X5),arg=4)))
+ ; throw(gecode_argument_error(nooverlap(X0,X1,X2,X3,X4,X5),arg=3)))
+ ; throw(gecode_argument_error(nooverlap(X0,X1,X2,X3,X4,X5),arg=2)))
+ ; throw(gecode_argument_error(nooverlap(X0,X1,X2,X3,X4,X5),arg=1))).
+
+element(X0,X1,X2,X3,X4,X5) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_SetOpType(X1,Y1)
+ -> (is_SetVarArgs(X2,Y2)
+ -> (is_SetVar(X3,Y3)
+ -> (is_SetVar(X4,Y4)
+ -> (is_IntSet(X5,Y5)
+ -> gecode_constraint_element_247(Y0,Y1,Y2,Y3,Y4,Y5)
+ ; throw(gecode_argument_error(element(X0,X1,X2,X3,X4,X5),arg=6)))
+ ; throw(gecode_argument_error(element(X0,X1,X2,X3,X4,X5),arg=5)))
+ ; throw(gecode_argument_error(element(X0,X1,X2,X3,X4,X5),arg=4)))
+ ; (is_IntVarArgs(X2,Y2)
+ -> (is_SetVar(X3,Y3)
+ -> (is_SetVar(X4,Y4)
+ -> (is_IntSet(X5,Y5)
+ -> gecode_constraint_element_245(Y0,Y1,Y2,Y3,Y4,Y5)
+ ; throw(gecode_argument_error(element(X0,X1,X2,X3,X4,X5),arg=6)))
+ ; throw(gecode_argument_error(element(X0,X1,X2,X3,X4,X5),arg=5)))
+ ; throw(gecode_argument_error(element(X0,X1,X2,X3,X4,X5),arg=4)))
+ ; (is_IntSetArgs(X2,Y2)
+ -> (is_SetVar(X3,Y3)
+ -> (is_SetVar(X4,Y4)
+ -> (is_IntSet(X5,Y5)
+ -> gecode_constraint_element_243(Y0,Y1,Y2,Y3,Y4,Y5)
+ ; throw(gecode_argument_error(element(X0,X1,X2,X3,X4,X5),arg=6)))
+ ; throw(gecode_argument_error(element(X0,X1,X2,X3,X4,X5),arg=5)))
+ ; throw(gecode_argument_error(element(X0,X1,X2,X3,X4,X5),arg=4)))
+ ; (is_IntArgs(X2,Y2)
+ -> (is_SetVar(X3,Y3)
+ -> (is_SetVar(X4,Y4)
+ -> (is_IntSet(X5,Y5)
+ -> gecode_constraint_element_241(Y0,Y1,Y2,Y3,Y4,Y5)
+ ; throw(gecode_argument_error(element(X0,X1,X2,X3,X4,X5),arg=6)))
+ ; throw(gecode_argument_error(element(X0,X1,X2,X3,X4,X5),arg=5)))
+ ; throw(gecode_argument_error(element(X0,X1,X2,X3,X4,X5),arg=4)))
+ ; throw(gecode_argument_error(element(X0,X1,X2,X3,X4,X5),arg=3))))))
+ ; throw(gecode_argument_error(element(X0,X1,X2,X3,X4,X5),arg=2)))
+ ; throw(gecode_argument_error(element(X0,X1,X2,X3,X4,X5),arg=1))).
+
+rel(X0,X1,X2,X3) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_FloatVar(X1,Y1)
+ -> (is_FloatRelType(X2,Y2)
+ -> (is_FloatVal(X3,Y3)
+ -> gecode_constraint_rel_401(Y0,Y1,Y2,Y3)
+ ; (is_FloatVar(X3,Y3)
+ -> gecode_constraint_rel_403(Y0,Y1,Y2,Y3)
+ ; throw(gecode_argument_error(rel(X0,X1,X2,X3),arg=4))))
+ ; throw(gecode_argument_error(rel(X0,X1,X2,X3),arg=3)))
+ ; (is_BoolVar(X1,Y1)
+ -> (is_IntRelType(X2,Y2)
+ -> (is_int(X3,Y3)
+ -> gecode_constraint_rel_397(Y0,Y1,Y2,Y3)
+ ; (is_BoolVar(X3,Y3)
+ -> gecode_constraint_rel_393(Y0,Y1,Y2,Y3)
+ ; throw(gecode_argument_error(rel(X0,X1,X2,X3),arg=4))))
+ ; throw(gecode_argument_error(rel(X0,X1,X2,X3),arg=3)))
+ ; (is_FloatVarArgs(X1,Y1)
+ -> (is_FloatRelType(X2,Y2)
+ -> (is_FloatVal(X3,Y3)
+ -> gecode_constraint_rel_437(Y0,Y1,Y2,Y3)
+ ; (is_FloatVar(X3,Y3)
+ -> gecode_constraint_rel_438(Y0,Y1,Y2,Y3)
+ ; throw(gecode_argument_error(rel(X0,X1,X2,X3),arg=4))))
+ ; throw(gecode_argument_error(rel(X0,X1,X2,X3),arg=3)))
+ ; (is_BoolVarArgs(X1,Y1)
+ -> (is_IntRelType(X2,Y2)
+ -> (is_int(X3,Y3)
+ -> gecode_constraint_rel_435(Y0,Y1,Y2,Y3)
+ ; (is_IntPropLevel(X3,Y3)
+ -> gecode_constraint_rel_432(Y0,Y1,Y2,Y3)
+ ; (is_BoolVarArgs(X3,Y3)
+ -> gecode_constraint_rel_433(Y0,Y1,Y2,Y3)
+ ; (is_BoolVar(X3,Y3)
+ -> gecode_constraint_rel_429(Y0,Y1,Y2,Y3)
+ ; throw(gecode_argument_error(rel(X0,X1,X2,X3),arg=4))))))
+ ; throw(gecode_argument_error(rel(X0,X1,X2,X3),arg=3)))
+ ; (is_SetOpType(X1,Y1)
+ -> (is_SetVarArgs(X2,Y2)
+ -> (is_SetVar(X3,Y3)
+ -> gecode_constraint_rel_418(Y0,Y1,Y2,Y3)
+ ; throw(gecode_argument_error(rel(X0,X1,X2,X3),arg=4)))
+ ; (is_IntVarArgs(X2,Y2)
+ -> (is_SetVar(X3,Y3)
+ -> gecode_constraint_rel_416(Y0,Y1,Y2,Y3)
+ ; throw(gecode_argument_error(rel(X0,X1,X2,X3),arg=4)))
+ ; throw(gecode_argument_error(rel(X0,X1,X2,X3),arg=3))))
+ ; (is_IntVarArgs(X1,Y1)
+ -> (is_IntRelType(X2,Y2)
+ -> (is_IntVar(X3,Y3)
+ -> gecode_constraint_rel_443(Y0,Y1,Y2,Y3)
+ ; (is_int(X3,Y3)
+ -> gecode_constraint_rel_447(Y0,Y1,Y2,Y3)
+ ; (is_IntPropLevel(X3,Y3)
+ -> gecode_constraint_rel_442(Y0,Y1,Y2,Y3)
+ ; (is_IntVarArgs(X3,Y3)
+ -> gecode_constraint_rel_445(Y0,Y1,Y2,Y3)
+ ; throw(gecode_argument_error(rel(X0,X1,X2,X3),arg=4))))))
+ ; throw(gecode_argument_error(rel(X0,X1,X2,X3),arg=3)))
+ ; (is_IntVar(X1,Y1)
+ -> (is_IntRelType(X2,Y2)
+ -> (is_IntVar(X3,Y3)
+ -> gecode_constraint_rel_405(Y0,Y1,Y2,Y3)
+ ; (is_int(X3,Y3)
+ -> gecode_constraint_rel_410(Y0,Y1,Y2,Y3)
+ ; (is_SetVar(X3,Y3)
+ -> gecode_constraint_rel_409(Y0,Y1,Y2,Y3)
+ ; throw(gecode_argument_error(rel(X0,X1,X2,X3),arg=4)))))
+ ; (is_SetRelType(X2,Y2)
+ -> (is_SetVar(X3,Y3)
+ -> gecode_constraint_rel_414(Y0,Y1,Y2,Y3)
+ ; throw(gecode_argument_error(rel(X0,X1,X2,X3),arg=4)))
+ ; throw(gecode_argument_error(rel(X0,X1,X2,X3),arg=3))))
+ ; (is_SetVar(X1,Y1)
+ -> (is_IntRelType(X2,Y2)
+ -> (is_IntVar(X3,Y3)
+ -> gecode_constraint_rel_420(Y0,Y1,Y2,Y3)
+ ; throw(gecode_argument_error(rel(X0,X1,X2,X3),arg=4)))
+ ; (is_SetRelType(X2,Y2)
+ -> (is_IntVar(X3,Y3)
+ -> gecode_constraint_rel_425(Y0,Y1,Y2,Y3)
+ ; (is_SetVar(X3,Y3)
+ -> gecode_constraint_rel_427(Y0,Y1,Y2,Y3)
+ ; throw(gecode_argument_error(rel(X0,X1,X2,X3),arg=4))))
+ ; throw(gecode_argument_error(rel(X0,X1,X2,X3),arg=3))))
+ ; (is_BoolOpType(X1,Y1)
+ -> (is_BoolVarArgs(X2,Y2)
+ -> (is_int(X3,Y3)
+ -> gecode_constraint_rel_387(Y0,Y1,Y2,Y3)
+ ; (is_BoolVar(X3,Y3)
+ -> gecode_constraint_rel_385(Y0,Y1,Y2,Y3)
+ ; throw(gecode_argument_error(rel(X0,X1,X2,X3),arg=4))))
+ ; throw(gecode_argument_error(rel(X0,X1,X2,X3),arg=3)))
+ ; throw(gecode_argument_error(rel(X0,X1,X2,X3),arg=2)))))))))))
+ ; throw(gecode_argument_error(rel(X0,X1,X2,X3),arg=1))).
+
+min(X0,X1,X2,X3,X4) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_IntVar(X1,Y1)
+ -> (is_IntVar(X2,Y2)
+ -> (is_IntVar(X3,Y3)
+ -> (is_IntPropLevel(X4,Y4)
+ -> gecode_constraint_min_332(Y0,Y1,Y2,Y3,Y4)
+ ; throw(gecode_argument_error(min(X0,X1,X2,X3,X4),arg=5)))
+ ; throw(gecode_argument_error(min(X0,X1,X2,X3,X4),arg=4)))
+ ; throw(gecode_argument_error(min(X0,X1,X2,X3,X4),arg=3)))
+ ; throw(gecode_argument_error(min(X0,X1,X2,X3,X4),arg=2)))
+ ; throw(gecode_argument_error(min(X0,X1,X2,X3,X4),arg=1))).
+
+count(X0,X1,X2) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_IntVarArgs(X1,Y1)
+ -> (is_IntVarArgs(X2,Y2)
+ -> gecode_constraint_count_124(Y0,Y1,Y2)
+ ; (is_IntSetArgs(X2,Y2)
+ -> gecode_constraint_count_120(Y0,Y1,Y2)
+ ; throw(gecode_argument_error(count(X0,X1,X2),arg=3))))
+ ; throw(gecode_argument_error(count(X0,X1,X2),arg=2)))
+ ; throw(gecode_argument_error(count(X0,X1,X2),arg=1))).
+
+argmax(X0,X1,X2,X3) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_IntVarArgs(X1,Y1)
+ -> (is_IntVar(X2,Y2)
+ -> (is_bool(X3,Y3)
+ -> gecode_constraint_argmax_5(Y0,Y1,Y2,Y3)
+ ; throw(gecode_argument_error(argmax(X0,X1,X2,X3),arg=4)))
+ ; (is_int(X2,Y2)
+ -> (is_IntVar(X3,Y3)
+ -> gecode_constraint_argmax_7(Y0,Y1,Y2,Y3)
+ ; throw(gecode_argument_error(argmax(X0,X1,X2,X3),arg=4)))
+ ; throw(gecode_argument_error(argmax(X0,X1,X2,X3),arg=3))))
+ ; throw(gecode_argument_error(argmax(X0,X1,X2,X3),arg=2)))
+ ; throw(gecode_argument_error(argmax(X0,X1,X2,X3),arg=1))).
+
+ite(X0,X1,X2,X3,X4,X5) :-
+ (is_Space_or_Clause(X0,Y0)
+ -> (is_BoolVar(X1,Y1)
+ -> (is_IntVar(X2,Y2)
+ -> (is_IntVar(X3,Y3)
+ -> (is_IntVar(X4,Y4)
+ -> (is_IntPropLevel(X5,Y5)
+ -> gecode_constraint_ite_273(Y0,Y1,Y2,Y3,Y4,Y5)
+ ; throw(gecode_argument_error(ite(X0,X1,X2,X3,X4,X5),arg=6)))
+ ; throw(gecode_argument_error(ite(X0,X1,X2,X3,X4,X5),arg=5)))
+ ; throw(gecode_argument_error(ite(X0,X1,X2,X3,X4,X5),arg=4)))
+ ; throw(gecode_argument_error(ite(X0,X1,X2,X3,X4,X5),arg=3)))
+ ; throw(gecode_argument_error(ite(X0,X1,X2,X3,X4,X5),arg=2)))
+ ; throw(gecode_argument_error(ite(X0,X1,X2,X3,X4,X5),arg=1))).
+
diff --git a/packages/gecode/5.0.0/gecode_yap_cc_forward_auto_generated.icc b/packages/gecode/5.0.0/gecode_yap_cc_forward_auto_generated.icc
new file mode 100644
index 000000000..dd1196994
--- /dev/null
+++ b/packages/gecode/5.0.0/gecode_yap_cc_forward_auto_generated.icc
@@ -0,0 +1,28 @@
+// -*- c++ -*-
+//=============================================================================
+// Copyright (C) 2011 by Denys Duchier
+//
+// This program is free software: you can redistribute it and/or modify it
+// under the terms of the GNU Lesser General Public License as published by the
+// Free Software Foundation, either version 3 of the License, or (at your
+// option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but WITHOUT
+// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+// more details.
+//
+// You should have received a copy of the GNU Lesser General Public License
+// along with this program. If not, see .
+//=============================================================================
+
+static RestartMode gecode_RestartMode_from_term(YAP_Term);
+static FloatRelType gecode_FloatRelType_from_term(YAP_Term);
+static ReifyMode gecode_ReifyMode_from_term(YAP_Term);
+static IntRelType gecode_IntRelType_from_term(YAP_Term);
+static BoolOpType gecode_BoolOpType_from_term(YAP_Term);
+static IntPropLevel gecode_IntPropLevel_from_term(YAP_Term);
+static TaskType gecode_TaskType_from_term(YAP_Term);
+static TraceEvent gecode_TraceEvent_from_term(YAP_Term);
+static SetRelType gecode_SetRelType_from_term(YAP_Term);
+static SetOpType gecode_SetOpType_from_term(YAP_Term);
diff --git a/packages/gecode/5.0.0/gecode_yap_cc_impl_auto_generated.icc b/packages/gecode/5.0.0/gecode_yap_cc_impl_auto_generated.icc
new file mode 100644
index 000000000..2c66493de
--- /dev/null
+++ b/packages/gecode/5.0.0/gecode_yap_cc_impl_auto_generated.icc
@@ -0,0 +1,5404 @@
+// -*- c++ -*-
+//=============================================================================
+// Copyright (C) 2011 by Denys Duchier
+//
+// This program is free software: you can redistribute it and/or modify it
+// under the terms of the GNU Lesser General Public License as published by the
+// Free Software Foundation, either version 3 of the License, or (at your
+// option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but WITHOUT
+// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+// more details.
+//
+// You should have received a copy of the GNU Lesser General Public License
+// along with this program. If not, see .
+//=============================================================================
+
+static YAP_Term gecode_RM_NONE;
+static YAP_Term gecode_RM_CONSTANT;
+static YAP_Term gecode_RM_LINEAR;
+static YAP_Term gecode_RM_LUBY;
+static YAP_Term gecode_RM_GEOMETRIC;
+
+static RestartMode gecode_RestartMode_from_term(YAP_Term X)
+{
+ if (X==gecode_RM_NONE) return RM_NONE;
+ if (X==gecode_RM_CONSTANT) return RM_CONSTANT;
+ if (X==gecode_RM_LINEAR) return RM_LINEAR;
+ if (X==gecode_RM_LUBY) return RM_LUBY;
+ if (X==gecode_RM_GEOMETRIC) return RM_GEOMETRIC;
+ cerr << "this should never happen" << endl; exit(1);
+}
+
+static YAP_Term gecode_FRT_EQ;
+static YAP_Term gecode_FRT_NQ;
+static YAP_Term gecode_FRT_LQ;
+static YAP_Term gecode_FRT_LE;
+static YAP_Term gecode_FRT_GQ;
+static YAP_Term gecode_FRT_GR;
+
+static FloatRelType gecode_FloatRelType_from_term(YAP_Term X)
+{
+ if (X==gecode_FRT_EQ) return FRT_EQ;
+ if (X==gecode_FRT_NQ) return FRT_NQ;
+ if (X==gecode_FRT_LQ) return FRT_LQ;
+ if (X==gecode_FRT_LE) return FRT_LE;
+ if (X==gecode_FRT_GQ) return FRT_GQ;
+ if (X==gecode_FRT_GR) return FRT_GR;
+ cerr << "this should never happen" << endl; exit(1);
+}
+
+static YAP_Term gecode_RM_EQV;
+static YAP_Term gecode_RM_IMP;
+static YAP_Term gecode_RM_PMI;
+
+static ReifyMode gecode_ReifyMode_from_term(YAP_Term X)
+{
+ if (X==gecode_RM_EQV) return RM_EQV;
+ if (X==gecode_RM_IMP) return RM_IMP;
+ if (X==gecode_RM_PMI) return RM_PMI;
+ cerr << "this should never happen" << endl; exit(1);
+}
+
+static YAP_Term gecode_IRT_EQ;
+static YAP_Term gecode_IRT_NQ;
+static YAP_Term gecode_IRT_LQ;
+static YAP_Term gecode_IRT_LE;
+static YAP_Term gecode_IRT_GQ;
+static YAP_Term gecode_IRT_GR;
+
+static IntRelType gecode_IntRelType_from_term(YAP_Term X)
+{
+ if (X==gecode_IRT_EQ) return IRT_EQ;
+ if (X==gecode_IRT_NQ) return IRT_NQ;
+ if (X==gecode_IRT_LQ) return IRT_LQ;
+ if (X==gecode_IRT_LE) return IRT_LE;
+ if (X==gecode_IRT_GQ) return IRT_GQ;
+ if (X==gecode_IRT_GR) return IRT_GR;
+ cerr << "this should never happen" << endl; exit(1);
+}
+
+static YAP_Term gecode_BOT_AND;
+static YAP_Term gecode_BOT_OR;
+static YAP_Term gecode_BOT_IMP;
+static YAP_Term gecode_BOT_EQV;
+static YAP_Term gecode_BOT_XOR;
+
+static BoolOpType gecode_BoolOpType_from_term(YAP_Term X)
+{
+ if (X==gecode_BOT_AND) return BOT_AND;
+ if (X==gecode_BOT_OR) return BOT_OR;
+ if (X==gecode_BOT_IMP) return BOT_IMP;
+ if (X==gecode_BOT_EQV) return BOT_EQV;
+ if (X==gecode_BOT_XOR) return BOT_XOR;
+ cerr << "this should never happen" << endl; exit(1);
+}
+
+static YAP_Term gecode_IPL_DEF;
+static YAP_Term gecode_IPL_VAL;
+static YAP_Term gecode_IPL_BND;
+static YAP_Term gecode_IPL_DOM;
+static YAP_Term gecode_IPL_SPEED;
+static YAP_Term gecode_IPL_MEMORY;
+static YAP_Term gecode_IPL_BASIC;
+static YAP_Term gecode_IPL_ADVANCED;
+static YAP_Term gecode_IPL_BASIC_ADVANCED;
+
+static IntPropLevel gecode_IntPropLevel_from_term(YAP_Term X)
+{
+ if (X==gecode_IPL_DEF) return IPL_DEF;
+ if (X==gecode_IPL_VAL) return IPL_VAL;
+ if (X==gecode_IPL_BND) return IPL_BND;
+ if (X==gecode_IPL_DOM) return IPL_DOM;
+ if (X==gecode_IPL_SPEED) return IPL_SPEED;
+ if (X==gecode_IPL_MEMORY) return IPL_MEMORY;
+ if (X==gecode_IPL_BASIC) return IPL_BASIC;
+ if (X==gecode_IPL_ADVANCED) return IPL_ADVANCED;
+ if (X==gecode_IPL_BASIC_ADVANCED) return IPL_BASIC_ADVANCED;
+ cerr << "this should never happen" << endl; exit(1);
+}
+
+static YAP_Term gecode_TT_FIXP;
+static YAP_Term gecode_TT_FIXS;
+static YAP_Term gecode_TT_FIXE;
+
+static TaskType gecode_TaskType_from_term(YAP_Term X)
+{
+ if (X==gecode_TT_FIXP) return TT_FIXP;
+ if (X==gecode_TT_FIXS) return TT_FIXS;
+ if (X==gecode_TT_FIXE) return TT_FIXE;
+ cerr << "this should never happen" << endl; exit(1);
+}
+
+static YAP_Term gecode_TE_INIT;
+static YAP_Term gecode_TE_PRUNE;
+static YAP_Term gecode_TE_FIX;
+static YAP_Term gecode_TE_DONE;
+
+static TraceEvent gecode_TraceEvent_from_term(YAP_Term X)
+{
+ if (X==gecode_TE_INIT) return TE_INIT;
+ if (X==gecode_TE_PRUNE) return TE_PRUNE;
+ if (X==gecode_TE_FIX) return TE_FIX;
+ if (X==gecode_TE_DONE) return TE_DONE;
+ cerr << "this should never happen" << endl; exit(1);
+}
+
+static YAP_Term gecode_SRT_EQ;
+static YAP_Term gecode_SRT_NQ;
+static YAP_Term gecode_SRT_SUB;
+static YAP_Term gecode_SRT_SUP;
+static YAP_Term gecode_SRT_DISJ;
+static YAP_Term gecode_SRT_CMPL;
+static YAP_Term gecode_SRT_LQ;
+static YAP_Term gecode_SRT_LE;
+static YAP_Term gecode_SRT_GQ;
+static YAP_Term gecode_SRT_GR;
+
+static SetRelType gecode_SetRelType_from_term(YAP_Term X)
+{
+ if (X==gecode_SRT_EQ) return SRT_EQ;
+ if (X==gecode_SRT_NQ) return SRT_NQ;
+ if (X==gecode_SRT_SUB) return SRT_SUB;
+ if (X==gecode_SRT_SUP) return SRT_SUP;
+ if (X==gecode_SRT_DISJ) return SRT_DISJ;
+ if (X==gecode_SRT_CMPL) return SRT_CMPL;
+ if (X==gecode_SRT_LQ) return SRT_LQ;
+ if (X==gecode_SRT_LE) return SRT_LE;
+ if (X==gecode_SRT_GQ) return SRT_GQ;
+ if (X==gecode_SRT_GR) return SRT_GR;
+ cerr << "this should never happen" << endl; exit(1);
+}
+
+static YAP_Term gecode_SOT_UNION;
+static YAP_Term gecode_SOT_DUNION;
+static YAP_Term gecode_SOT_INTER;
+static YAP_Term gecode_SOT_MINUS;
+
+static SetOpType gecode_SetOpType_from_term(YAP_Term X)
+{
+ if (X==gecode_SOT_UNION) return SOT_UNION;
+ if (X==gecode_SOT_DUNION) return SOT_DUNION;
+ if (X==gecode_SOT_INTER) return SOT_INTER;
+ if (X==gecode_SOT_MINUS) return SOT_MINUS;
+ cerr << "this should never happen" << endl; exit(1);
+}
+
+static YAP_Bool gecode_constraint_unary_476(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ TaskTypeArgs X2 = gecode_TaskTypeArgs_from_term(YAP_ARG2);
+ IntVarArgs X3 = gecode_IntVarArgs_from_term(space,YAP_ARG3);
+ IntArgs X4 = gecode_IntArgs_from_term(YAP_ARG4);
+ BoolVarArgs X5 = gecode_BoolVarArgs_from_term(space,YAP_ARG5);
+ IntPropLevel X6 = gecode_IntPropLevel_from_term(YAP_ARG6);
+ unary(*space,X2,X3,X4,X5,X6);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_unary_472(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntVarArgs X3 = gecode_IntVarArgs_from_term(space,YAP_ARG3);
+ IntVarArgs X4 = gecode_IntVarArgs_from_term(space,YAP_ARG4);
+ BoolVarArgs X5 = gecode_BoolVarArgs_from_term(space,YAP_ARG5);
+ IntPropLevel X6 = gecode_IntPropLevel_from_term(YAP_ARG6);
+ unary(*space,X2,X3,X4,X5,X6);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_nvalues_361(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntRelType X3 = gecode_IntRelType_from_term(YAP_ARG3);
+ IntVar X4 = gecode_IntVar_from_term(space,YAP_ARG4);
+ IntPropLevel X5 = gecode_IntPropLevel_from_term(YAP_ARG5);
+ nvalues(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_nvalues_363(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntRelType X3 = gecode_IntRelType_from_term(YAP_ARG3);
+ int X4 = gecode_int_from_term(YAP_ARG4);
+ IntPropLevel X5 = gecode_IntPropLevel_from_term(YAP_ARG5);
+ nvalues(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_nvalues_357(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ BoolVarArgs X2 = gecode_BoolVarArgs_from_term(space,YAP_ARG2);
+ IntRelType X3 = gecode_IntRelType_from_term(YAP_ARG3);
+ IntVar X4 = gecode_IntVar_from_term(space,YAP_ARG4);
+ IntPropLevel X5 = gecode_IntPropLevel_from_term(YAP_ARG5);
+ nvalues(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_nvalues_359(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ BoolVarArgs X2 = gecode_BoolVarArgs_from_term(space,YAP_ARG2);
+ IntRelType X3 = gecode_IntRelType_from_term(YAP_ARG3);
+ int X4 = gecode_int_from_term(YAP_ARG4);
+ IntPropLevel X5 = gecode_IntPropLevel_from_term(YAP_ARG5);
+ nvalues(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_max_315(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVar X2 = gecode_IntVar_from_term(space,YAP_ARG2);
+ IntVar X3 = gecode_IntVar_from_term(space,YAP_ARG3);
+ IntVar X4 = gecode_IntVar_from_term(space,YAP_ARG4);
+ max(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_max_321(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntVar X3 = gecode_IntVar_from_term(space,YAP_ARG3);
+ IntPropLevel X4 = gecode_IntPropLevel_from_term(YAP_ARG4);
+ max(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_max_314(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ FloatVar X2 = gecode_FloatVar_from_term(space,YAP_ARG2);
+ FloatVar X3 = gecode_FloatVar_from_term(space,YAP_ARG3);
+ FloatVar X4 = gecode_FloatVar_from_term(space,YAP_ARG4);
+ max(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_max_318(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ SetVar X2 = gecode_SetVar_from_term(space,YAP_ARG2);
+ IntVar X3 = gecode_IntVar_from_term(space,YAP_ARG3);
+ Reify X4 = gecode_Reify_from_term(YAP_ARG4);
+ max(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_dom_205(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVar X2 = gecode_IntVar_from_term(space,YAP_ARG2);
+ int X3 = gecode_int_from_term(YAP_ARG3);
+ int X4 = gecode_int_from_term(YAP_ARG4);
+ Reify X5 = gecode_Reify_from_term(YAP_ARG5);
+ IntPropLevel X6 = gecode_IntPropLevel_from_term(YAP_ARG6);
+ dom(*space,X2,X3,X4,X5,X6);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_dom_211(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ SetVar X2 = gecode_SetVar_from_term(space,YAP_ARG2);
+ SetRelType X3 = gecode_SetRelType_from_term(YAP_ARG3);
+ int X4 = gecode_int_from_term(YAP_ARG4);
+ int X5 = gecode_int_from_term(YAP_ARG5);
+ Reify X6 = gecode_Reify_from_term(YAP_ARG6);
+ dom(*space,X2,X3,X4,X5,X6);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_argmin_10(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntVar X3 = gecode_IntVar_from_term(space,YAP_ARG3);
+ argmin(*space,X2,X3);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_convex_105(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ SetVar X2 = gecode_SetVar_from_term(space,YAP_ARG2);
+ SetVar X3 = gecode_SetVar_from_term(space,YAP_ARG3);
+ convex(*space,X2,X3);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_nooverlap_343(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntArgs X3 = gecode_IntArgs_from_term(YAP_ARG3);
+ IntVarArgs X4 = gecode_IntVarArgs_from_term(space,YAP_ARG4);
+ IntArgs X5 = gecode_IntArgs_from_term(YAP_ARG5);
+ nooverlap(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_assign_18(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ FloatVar X2 = gecode_FloatVar_from_term(space,YAP_ARG2);
+ FloatAssign X3 = gecode_FloatAssign_from_term(YAP_ARG3);
+ assign(*space,X2,X3);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_assign_27(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ FloatVarArgs X2 = gecode_FloatVarArgs_from_term(space,YAP_ARG2);
+ FloatAssign X3 = gecode_FloatAssign_from_term(YAP_ARG3);
+ assign(*space,X2,X3);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_assign_24(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ BoolVarArgs X2 = gecode_BoolVarArgs_from_term(space,YAP_ARG2);
+ IntAssign X3 = gecode_IntAssign_from_term(YAP_ARG3);
+ assign(*space,X2,X3);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_assign_16(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ BoolVar X2 = gecode_BoolVar_from_term(space,YAP_ARG2);
+ IntAssign X3 = gecode_IntAssign_from_term(YAP_ARG3);
+ assign(*space,X2,X3);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_assign_30(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntAssign X3 = gecode_IntAssign_from_term(YAP_ARG3);
+ assign(*space,X2,X3);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_assign_20(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVar X2 = gecode_IntVar_from_term(space,YAP_ARG2);
+ IntAssign X3 = gecode_IntAssign_from_term(YAP_ARG3);
+ assign(*space,X2,X3);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_assign_33(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ SetVarArgs X2 = gecode_SetVarArgs_from_term(space,YAP_ARG2);
+ SetAssign X3 = gecode_SetAssign_from_term(YAP_ARG3);
+ assign(*space,X2,X3);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_assign_22(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ SetVar X2 = gecode_SetVar_from_term(space,YAP_ARG2);
+ SetAssign X3 = gecode_SetAssign_from_term(YAP_ARG3);
+ assign(*space,X2,X3);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_element_256(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntVar X3 = gecode_IntVar_from_term(space,YAP_ARG3);
+ IntVar X4 = gecode_IntVar_from_term(space,YAP_ARG4);
+ element(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_element_258(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntVar X3 = gecode_IntVar_from_term(space,YAP_ARG3);
+ int X4 = gecode_int_from_term(YAP_ARG4);
+ element(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_element_250(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ BoolVarArgs X2 = gecode_BoolVarArgs_from_term(space,YAP_ARG2);
+ IntVar X3 = gecode_IntVar_from_term(space,YAP_ARG3);
+ int X4 = gecode_int_from_term(YAP_ARG4);
+ element(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_element_248(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ BoolVarArgs X2 = gecode_BoolVarArgs_from_term(space,YAP_ARG2);
+ IntVar X3 = gecode_IntVar_from_term(space,YAP_ARG3);
+ BoolVar X4 = gecode_BoolVar_from_term(space,YAP_ARG4);
+ element(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_element_254(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntSetArgs X2 = gecode_IntSetArgs_from_term(YAP_ARG2);
+ IntVar X3 = gecode_IntVar_from_term(space,YAP_ARG3);
+ SetVar X4 = gecode_SetVar_from_term(space,YAP_ARG4);
+ element(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_element_262(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ SetVarArgs X2 = gecode_SetVarArgs_from_term(space,YAP_ARG2);
+ IntVar X3 = gecode_IntVar_from_term(space,YAP_ARG3);
+ SetVar X4 = gecode_SetVar_from_term(space,YAP_ARG4);
+ element(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_element_232(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntArgs X2 = gecode_IntArgs_from_term(YAP_ARG2);
+ IntVar X3 = gecode_IntVar_from_term(space,YAP_ARG3);
+ IntVar X4 = gecode_IntVar_from_term(space,YAP_ARG4);
+ element(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_element_234(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntArgs X2 = gecode_IntArgs_from_term(YAP_ARG2);
+ IntVar X3 = gecode_IntVar_from_term(space,YAP_ARG3);
+ int X4 = gecode_int_from_term(YAP_ARG4);
+ element(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_element_230(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntArgs X2 = gecode_IntArgs_from_term(YAP_ARG2);
+ IntVar X3 = gecode_IntVar_from_term(space,YAP_ARG3);
+ BoolVar X4 = gecode_BoolVar_from_term(space,YAP_ARG4);
+ element(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_sequence_453(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ SetVarArgs X2 = gecode_SetVarArgs_from_term(space,YAP_ARG2);
+ sequence(*space,X2);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_notMax_351(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ SetVar X2 = gecode_SetVar_from_term(space,YAP_ARG2);
+ IntVar X3 = gecode_IntVar_from_term(space,YAP_ARG3);
+ notMax(*space,X2,X3);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_ite_272(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ BoolVar X2 = gecode_BoolVar_from_term(space,YAP_ARG2);
+ IntVar X3 = gecode_IntVar_from_term(space,YAP_ARG3);
+ IntVar X4 = gecode_IntVar_from_term(space,YAP_ARG4);
+ IntVar X5 = gecode_IntVar_from_term(space,YAP_ARG5);
+ ite(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_unary_465(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntArgs X3 = gecode_IntArgs_from_term(YAP_ARG3);
+ unary(*space,X2,X3);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_nroot_355(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVar X2 = gecode_IntVar_from_term(space,YAP_ARG2);
+ int X3 = gecode_int_from_term(YAP_ARG3);
+ IntVar X4 = gecode_IntVar_from_term(space,YAP_ARG4);
+ IntPropLevel X5 = gecode_IntPropLevel_from_term(YAP_ARG5);
+ nroot(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_circuit_99(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ int X2 = gecode_int_from_term(YAP_ARG2);
+ IntVarArgs X3 = gecode_IntVarArgs_from_term(space,YAP_ARG3);
+ IntPropLevel X4 = gecode_IntPropLevel_from_term(YAP_ARG4);
+ circuit(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_circuit_88(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntArgs X2 = gecode_IntArgs_from_term(YAP_ARG2);
+ IntVarArgs X3 = gecode_IntVarArgs_from_term(space,YAP_ARG3);
+ IntVar X4 = gecode_IntVar_from_term(space,YAP_ARG4);
+ circuit(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_dom_203(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVar X2 = gecode_IntVar_from_term(space,YAP_ARG2);
+ int X3 = gecode_int_from_term(YAP_ARG3);
+ int X4 = gecode_int_from_term(YAP_ARG4);
+ IntPropLevel X5 = gecode_IntPropLevel_from_term(YAP_ARG5);
+ dom(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_dom_204(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVar X2 = gecode_IntVar_from_term(space,YAP_ARG2);
+ int X3 = gecode_int_from_term(YAP_ARG3);
+ int X4 = gecode_int_from_term(YAP_ARG4);
+ Reify X5 = gecode_Reify_from_term(YAP_ARG5);
+ dom(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_dom_201(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVar X2 = gecode_IntVar_from_term(space,YAP_ARG2);
+ int X3 = gecode_int_from_term(YAP_ARG3);
+ Reify X4 = gecode_Reify_from_term(YAP_ARG4);
+ IntPropLevel X5 = gecode_IntPropLevel_from_term(YAP_ARG5);
+ dom(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_dom_197(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVar X2 = gecode_IntVar_from_term(space,YAP_ARG2);
+ IntSet X3 = gecode_IntSet_from_term(YAP_ARG3);
+ Reify X4 = gecode_Reify_from_term(YAP_ARG4);
+ IntPropLevel X5 = gecode_IntPropLevel_from_term(YAP_ARG5);
+ dom(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_dom_228(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ SetVarArgs X2 = gecode_SetVarArgs_from_term(space,YAP_ARG2);
+ SetRelType X3 = gecode_SetRelType_from_term(YAP_ARG3);
+ int X4 = gecode_int_from_term(YAP_ARG4);
+ int X5 = gecode_int_from_term(YAP_ARG5);
+ dom(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_dom_225(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ int X3 = gecode_int_from_term(YAP_ARG3);
+ int X4 = gecode_int_from_term(YAP_ARG4);
+ IntPropLevel X5 = gecode_IntPropLevel_from_term(YAP_ARG5);
+ dom(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_dom_188(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ FloatVar X2 = gecode_FloatVar_from_term(space,YAP_ARG2);
+ FloatNum X3 = gecode_FloatNum_from_term(YAP_ARG3);
+ FloatNum X4 = gecode_FloatNum_from_term(YAP_ARG4);
+ Reify X5 = gecode_Reify_from_term(YAP_ARG5);
+ dom(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_dom_210(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ SetVar X2 = gecode_SetVar_from_term(space,YAP_ARG2);
+ SetRelType X3 = gecode_SetRelType_from_term(YAP_ARG3);
+ int X4 = gecode_int_from_term(YAP_ARG4);
+ int X5 = gecode_int_from_term(YAP_ARG5);
+ dom(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_dom_209(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ SetVar X2 = gecode_SetVar_from_term(space,YAP_ARG2);
+ SetRelType X3 = gecode_SetRelType_from_term(YAP_ARG3);
+ int X4 = gecode_int_from_term(YAP_ARG4);
+ Reify X5 = gecode_Reify_from_term(YAP_ARG5);
+ dom(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_dom_207(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ SetVar X2 = gecode_SetVar_from_term(space,YAP_ARG2);
+ SetRelType X3 = gecode_SetRelType_from_term(YAP_ARG3);
+ IntSet X4 = gecode_IntSet_from_term(YAP_ARG4);
+ Reify X5 = gecode_Reify_from_term(YAP_ARG5);
+ dom(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_argmax_9(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ int X3 = gecode_int_from_term(YAP_ARG3);
+ IntVar X4 = gecode_IntVar_from_term(space,YAP_ARG4);
+ bool X5 = gecode_bool_from_term(YAP_ARG5);
+ IntPropLevel X6 = gecode_IntPropLevel_from_term(YAP_ARG6);
+ argmax(*space,X2,X3,X4,X5,X6);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_nooverlap_348(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntVarArgs X3 = gecode_IntVarArgs_from_term(space,YAP_ARG3);
+ IntVarArgs X4 = gecode_IntVarArgs_from_term(space,YAP_ARG4);
+ IntVarArgs X5 = gecode_IntVarArgs_from_term(space,YAP_ARG5);
+ IntVarArgs X6 = gecode_IntVarArgs_from_term(space,YAP_ARG6);
+ IntVarArgs X7 = gecode_IntVarArgs_from_term(space,YAP_ARG7);
+ IntPropLevel X8 = gecode_IntPropLevel_from_term(YAP_ARG8);
+ nooverlap(*space,X2,X3,X4,X5,X6,X7,X8);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_nooverlap_349(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntVarArgs X3 = gecode_IntVarArgs_from_term(space,YAP_ARG3);
+ IntVarArgs X4 = gecode_IntVarArgs_from_term(space,YAP_ARG4);
+ IntVarArgs X5 = gecode_IntVarArgs_from_term(space,YAP_ARG5);
+ IntVarArgs X6 = gecode_IntVarArgs_from_term(space,YAP_ARG6);
+ IntVarArgs X7 = gecode_IntVarArgs_from_term(space,YAP_ARG7);
+ BoolVarArgs X8 = gecode_BoolVarArgs_from_term(space,YAP_ARG8);
+ nooverlap(*space,X2,X3,X4,X5,X6,X7,X8);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_element_260(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntVar X3 = gecode_IntVar_from_term(space,YAP_ARG3);
+ int X4 = gecode_int_from_term(YAP_ARG4);
+ IntVar X5 = gecode_IntVar_from_term(space,YAP_ARG5);
+ int X6 = gecode_int_from_term(YAP_ARG6);
+ IntVar X7 = gecode_IntVar_from_term(space,YAP_ARG7);
+ element(*space,X2,X3,X4,X5,X6,X7);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_element_252(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ BoolVarArgs X2 = gecode_BoolVarArgs_from_term(space,YAP_ARG2);
+ IntVar X3 = gecode_IntVar_from_term(space,YAP_ARG3);
+ int X4 = gecode_int_from_term(YAP_ARG4);
+ IntVar X5 = gecode_IntVar_from_term(space,YAP_ARG5);
+ int X6 = gecode_int_from_term(YAP_ARG6);
+ BoolVar X7 = gecode_BoolVar_from_term(space,YAP_ARG7);
+ element(*space,X2,X3,X4,X5,X6,X7);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_element_255(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntSetArgs X2 = gecode_IntSetArgs_from_term(YAP_ARG2);
+ IntVar X3 = gecode_IntVar_from_term(space,YAP_ARG3);
+ int X4 = gecode_int_from_term(YAP_ARG4);
+ IntVar X5 = gecode_IntVar_from_term(space,YAP_ARG5);
+ int X6 = gecode_int_from_term(YAP_ARG6);
+ SetVar X7 = gecode_SetVar_from_term(space,YAP_ARG7);
+ element(*space,X2,X3,X4,X5,X6,X7);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_element_263(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ SetVarArgs X2 = gecode_SetVarArgs_from_term(space,YAP_ARG2);
+ IntVar X3 = gecode_IntVar_from_term(space,YAP_ARG3);
+ int X4 = gecode_int_from_term(YAP_ARG4);
+ IntVar X5 = gecode_IntVar_from_term(space,YAP_ARG5);
+ int X6 = gecode_int_from_term(YAP_ARG6);
+ SetVar X7 = gecode_SetVar_from_term(space,YAP_ARG7);
+ element(*space,X2,X3,X4,X5,X6,X7);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_element_238(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntArgs X2 = gecode_IntArgs_from_term(YAP_ARG2);
+ IntVar X3 = gecode_IntVar_from_term(space,YAP_ARG3);
+ int X4 = gecode_int_from_term(YAP_ARG4);
+ IntVar X5 = gecode_IntVar_from_term(space,YAP_ARG5);
+ int X6 = gecode_int_from_term(YAP_ARG6);
+ IntVar X7 = gecode_IntVar_from_term(space,YAP_ARG7);
+ element(*space,X2,X3,X4,X5,X6,X7);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_element_236(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntArgs X2 = gecode_IntArgs_from_term(YAP_ARG2);
+ IntVar X3 = gecode_IntVar_from_term(space,YAP_ARG3);
+ int X4 = gecode_int_from_term(YAP_ARG4);
+ IntVar X5 = gecode_IntVar_from_term(space,YAP_ARG5);
+ int X6 = gecode_int_from_term(YAP_ARG6);
+ BoolVar X7 = gecode_BoolVar_from_term(space,YAP_ARG7);
+ element(*space,X2,X3,X4,X5,X6,X7);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_max_319(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ FloatVarArgs X2 = gecode_FloatVarArgs_from_term(space,YAP_ARG2);
+ FloatVar X3 = gecode_FloatVar_from_term(space,YAP_ARG3);
+ max(*space,X2,X3);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_max_320(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntVar X3 = gecode_IntVar_from_term(space,YAP_ARG3);
+ max(*space,X2,X3);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_max_317(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ SetVar X2 = gecode_SetVar_from_term(space,YAP_ARG2);
+ IntVar X3 = gecode_IntVar_from_term(space,YAP_ARG3);
+ max(*space,X2,X3);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_unshare_479(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ unshare(*space,X2);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_unshare_477(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ BoolVarArgs X2 = gecode_BoolVarArgs_from_term(space,YAP_ARG2);
+ unshare(*space,X2);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_path_374(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ int X2 = gecode_int_from_term(YAP_ARG2);
+ IntVarArgs X3 = gecode_IntVarArgs_from_term(space,YAP_ARG3);
+ IntVar X4 = gecode_IntVar_from_term(space,YAP_ARG4);
+ IntVar X5 = gecode_IntVar_from_term(space,YAP_ARG5);
+ path(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_path_373(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntVar X3 = gecode_IntVar_from_term(space,YAP_ARG3);
+ IntVar X4 = gecode_IntVar_from_term(space,YAP_ARG4);
+ IntPropLevel X5 = gecode_IntPropLevel_from_term(YAP_ARG5);
+ path(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_branch_61(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntVarBranch X3 = gecode_IntVarBranch_from_term(YAP_ARG3);
+ IntValBranch X4 = gecode_IntValBranch_from_term(YAP_ARG4);
+ Symmetries X5 = gecode_Symmetries_from_term(YAP_ARG5);
+ IntBranchFilter X6 = gecode_IntBranchFilter_from_term(YAP_ARG6);
+ IntVarValPrint X7 = gecode_IntVarValPrint_from_term(YAP_ARG7);
+ branch(*space,X2,X3,X4,X5,X6,X7);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_branch_52(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ BoolVarArgs X2 = gecode_BoolVarArgs_from_term(space,YAP_ARG2);
+ IntVarBranch X3 = gecode_IntVarBranch_from_term(YAP_ARG3);
+ IntValBranch X4 = gecode_IntValBranch_from_term(YAP_ARG4);
+ Symmetries X5 = gecode_Symmetries_from_term(YAP_ARG5);
+ BoolBranchFilter X6 = gecode_BoolBranchFilter_from_term(YAP_ARG6);
+ BoolVarValPrint X7 = gecode_BoolVarValPrint_from_term(YAP_ARG7);
+ branch(*space,X2,X3,X4,X5,X6,X7);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_branch_67(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ SetVarArgs X2 = gecode_SetVarArgs_from_term(space,YAP_ARG2);
+ SetVarBranch X3 = gecode_SetVarBranch_from_term(YAP_ARG3);
+ SetValBranch X4 = gecode_SetValBranch_from_term(YAP_ARG4);
+ Symmetries X5 = gecode_Symmetries_from_term(YAP_ARG5);
+ SetBranchFilter X6 = gecode_SetBranchFilter_from_term(YAP_ARG6);
+ SetVarValPrint X7 = gecode_SetVarValPrint_from_term(YAP_ARG7);
+ branch(*space,X2,X3,X4,X5,X6,X7);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_mult_341(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVar X2 = gecode_IntVar_from_term(space,YAP_ARG2);
+ IntVar X3 = gecode_IntVar_from_term(space,YAP_ARG3);
+ IntVar X4 = gecode_IntVar_from_term(space,YAP_ARG4);
+ mult(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_mult_340(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ FloatVar X2 = gecode_FloatVar_from_term(space,YAP_ARG2);
+ FloatVar X3 = gecode_FloatVar_from_term(space,YAP_ARG3);
+ FloatVar X4 = gecode_FloatVar_from_term(space,YAP_ARG4);
+ mult(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_clause_103(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ BoolOpType X2 = gecode_BoolOpType_from_term(YAP_ARG2);
+ BoolVarArgs X3 = gecode_BoolVarArgs_from_term(space,YAP_ARG3);
+ BoolVarArgs X4 = gecode_BoolVarArgs_from_term(space,YAP_ARG4);
+ int X5 = gecode_int_from_term(YAP_ARG5);
+ IntPropLevel X6 = gecode_IntPropLevel_from_term(YAP_ARG6);
+ clause(*space,X2,X3,X4,X5,X6);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_clause_101(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ BoolOpType X2 = gecode_BoolOpType_from_term(YAP_ARG2);
+ BoolVarArgs X3 = gecode_BoolVarArgs_from_term(space,YAP_ARG3);
+ BoolVarArgs X4 = gecode_BoolVarArgs_from_term(space,YAP_ARG4);
+ BoolVar X5 = gecode_BoolVar_from_term(space,YAP_ARG5);
+ IntPropLevel X6 = gecode_IntPropLevel_from_term(YAP_ARG6);
+ clause(*space,X2,X3,X4,X5,X6);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_precede_382(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ int X3 = gecode_int_from_term(YAP_ARG3);
+ int X4 = gecode_int_from_term(YAP_ARG4);
+ IntPropLevel X5 = gecode_IntPropLevel_from_term(YAP_ARG5);
+ precede(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_argmax_4(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntVar X3 = gecode_IntVar_from_term(space,YAP_ARG3);
+ argmax(*space,X2,X3);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_distinct_176(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ distinct(*space,X2);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_member_327(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntVar X3 = gecode_IntVar_from_term(space,YAP_ARG3);
+ IntPropLevel X4 = gecode_IntPropLevel_from_term(YAP_ARG4);
+ member(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_member_328(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntVar X3 = gecode_IntVar_from_term(space,YAP_ARG3);
+ Reify X4 = gecode_Reify_from_term(YAP_ARG4);
+ member(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_member_323(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ BoolVarArgs X2 = gecode_BoolVarArgs_from_term(space,YAP_ARG2);
+ BoolVar X3 = gecode_BoolVar_from_term(space,YAP_ARG3);
+ IntPropLevel X4 = gecode_IntPropLevel_from_term(YAP_ARG4);
+ member(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_member_324(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ BoolVarArgs X2 = gecode_BoolVarArgs_from_term(space,YAP_ARG2);
+ BoolVar X3 = gecode_BoolVar_from_term(space,YAP_ARG3);
+ Reify X4 = gecode_Reify_from_term(YAP_ARG4);
+ member(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_mod_339(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVar X2 = gecode_IntVar_from_term(space,YAP_ARG2);
+ IntVar X3 = gecode_IntVar_from_term(space,YAP_ARG3);
+ IntVar X4 = gecode_IntVar_from_term(space,YAP_ARG4);
+ IntPropLevel X5 = gecode_IntPropLevel_from_term(YAP_ARG5);
+ mod(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_cardinality_68(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ SetVar X2 = gecode_SetVar_from_term(space,YAP_ARG2);
+ IntVar X3 = gecode_IntVar_from_term(space,YAP_ARG3);
+ cardinality(*space,X2,X3);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_atmostOne_36(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ SetVarArgs X2 = gecode_SetVarArgs_from_term(space,YAP_ARG2);
+ int X3 = gecode_int_from_term(YAP_ARG3);
+ atmostOne(*space,X2,X3);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_channelSorted_87(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ SetVar X3 = gecode_SetVar_from_term(space,YAP_ARG3);
+ channelSorted(*space,X2,X3);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_linear_288(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ FloatVarArgs X2 = gecode_FloatVarArgs_from_term(space,YAP_ARG2);
+ FloatRelType X3 = gecode_FloatRelType_from_term(YAP_ARG3);
+ FloatVar X4 = gecode_FloatVar_from_term(space,YAP_ARG4);
+ linear(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_linear_286(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ FloatVarArgs X2 = gecode_FloatVarArgs_from_term(space,YAP_ARG2);
+ FloatRelType X3 = gecode_FloatRelType_from_term(YAP_ARG3);
+ FloatNum X4 = gecode_FloatNum_from_term(YAP_ARG4);
+ linear(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_linear_274(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ BoolVarArgs X2 = gecode_BoolVarArgs_from_term(space,YAP_ARG2);
+ IntRelType X3 = gecode_IntRelType_from_term(YAP_ARG3);
+ IntVar X4 = gecode_IntVar_from_term(space,YAP_ARG4);
+ linear(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_linear_278(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ BoolVarArgs X2 = gecode_BoolVarArgs_from_term(space,YAP_ARG2);
+ IntRelType X3 = gecode_IntRelType_from_term(YAP_ARG3);
+ int X4 = gecode_int_from_term(YAP_ARG4);
+ linear(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_linear_306(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntRelType X3 = gecode_IntRelType_from_term(YAP_ARG3);
+ IntVar X4 = gecode_IntVar_from_term(space,YAP_ARG4);
+ linear(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_linear_310(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntRelType X3 = gecode_IntRelType_from_term(YAP_ARG3);
+ int X4 = gecode_int_from_term(YAP_ARG4);
+ linear(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_circuit_96(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ circuit(*space,X2);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_rel_402(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ FloatVar X2 = gecode_FloatVar_from_term(space,YAP_ARG2);
+ FloatRelType X3 = gecode_FloatRelType_from_term(YAP_ARG3);
+ FloatVal X4 = gecode_FloatVal_from_term(YAP_ARG4);
+ Reify X5 = gecode_Reify_from_term(YAP_ARG5);
+ rel(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_rel_404(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ FloatVar X2 = gecode_FloatVar_from_term(space,YAP_ARG2);
+ FloatRelType X3 = gecode_FloatRelType_from_term(YAP_ARG3);
+ FloatVar X4 = gecode_FloatVar_from_term(space,YAP_ARG4);
+ Reify X5 = gecode_Reify_from_term(YAP_ARG5);
+ rel(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_rel_398(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ BoolVar X2 = gecode_BoolVar_from_term(space,YAP_ARG2);
+ IntRelType X3 = gecode_IntRelType_from_term(YAP_ARG3);
+ int X4 = gecode_int_from_term(YAP_ARG4);
+ IntPropLevel X5 = gecode_IntPropLevel_from_term(YAP_ARG5);
+ rel(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_rel_399(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ BoolVar X2 = gecode_BoolVar_from_term(space,YAP_ARG2);
+ IntRelType X3 = gecode_IntRelType_from_term(YAP_ARG3);
+ int X4 = gecode_int_from_term(YAP_ARG4);
+ Reify X5 = gecode_Reify_from_term(YAP_ARG5);
+ rel(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_rel_394(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ BoolVar X2 = gecode_BoolVar_from_term(space,YAP_ARG2);
+ IntRelType X3 = gecode_IntRelType_from_term(YAP_ARG3);
+ BoolVar X4 = gecode_BoolVar_from_term(space,YAP_ARG4);
+ IntPropLevel X5 = gecode_IntPropLevel_from_term(YAP_ARG5);
+ rel(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_rel_395(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ BoolVar X2 = gecode_BoolVar_from_term(space,YAP_ARG2);
+ IntRelType X3 = gecode_IntRelType_from_term(YAP_ARG3);
+ BoolVar X4 = gecode_BoolVar_from_term(space,YAP_ARG4);
+ Reify X5 = gecode_Reify_from_term(YAP_ARG5);
+ rel(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_rel_391(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ BoolVar X2 = gecode_BoolVar_from_term(space,YAP_ARG2);
+ BoolOpType X3 = gecode_BoolOpType_from_term(YAP_ARG3);
+ BoolVar X4 = gecode_BoolVar_from_term(space,YAP_ARG4);
+ int X5 = gecode_int_from_term(YAP_ARG5);
+ rel(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_rel_389(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ BoolVar X2 = gecode_BoolVar_from_term(space,YAP_ARG2);
+ BoolOpType X3 = gecode_BoolOpType_from_term(YAP_ARG3);
+ BoolVar X4 = gecode_BoolVar_from_term(space,YAP_ARG4);
+ BoolVar X5 = gecode_BoolVar_from_term(space,YAP_ARG5);
+ rel(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_rel_436(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ BoolVarArgs X2 = gecode_BoolVarArgs_from_term(space,YAP_ARG2);
+ IntRelType X3 = gecode_IntRelType_from_term(YAP_ARG3);
+ int X4 = gecode_int_from_term(YAP_ARG4);
+ IntPropLevel X5 = gecode_IntPropLevel_from_term(YAP_ARG5);
+ rel(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_rel_434(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ BoolVarArgs X2 = gecode_BoolVarArgs_from_term(space,YAP_ARG2);
+ IntRelType X3 = gecode_IntRelType_from_term(YAP_ARG3);
+ BoolVarArgs X4 = gecode_BoolVarArgs_from_term(space,YAP_ARG4);
+ IntPropLevel X5 = gecode_IntPropLevel_from_term(YAP_ARG5);
+ rel(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_rel_430(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ BoolVarArgs X2 = gecode_BoolVarArgs_from_term(space,YAP_ARG2);
+ IntRelType X3 = gecode_IntRelType_from_term(YAP_ARG3);
+ BoolVar X4 = gecode_BoolVar_from_term(space,YAP_ARG4);
+ IntPropLevel X5 = gecode_IntPropLevel_from_term(YAP_ARG5);
+ rel(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_rel_419(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ SetOpType X2 = gecode_SetOpType_from_term(YAP_ARG2);
+ SetVarArgs X3 = gecode_SetVarArgs_from_term(space,YAP_ARG3);
+ IntSet X4 = gecode_IntSet_from_term(YAP_ARG4);
+ SetVar X5 = gecode_SetVar_from_term(space,YAP_ARG5);
+ rel(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_rel_417(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ SetOpType X2 = gecode_SetOpType_from_term(YAP_ARG2);
+ IntVarArgs X3 = gecode_IntVarArgs_from_term(space,YAP_ARG3);
+ IntSet X4 = gecode_IntSet_from_term(YAP_ARG4);
+ SetVar X5 = gecode_SetVar_from_term(space,YAP_ARG5);
+ rel(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_rel_444(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntRelType X3 = gecode_IntRelType_from_term(YAP_ARG3);
+ IntVar X4 = gecode_IntVar_from_term(space,YAP_ARG4);
+ IntPropLevel X5 = gecode_IntPropLevel_from_term(YAP_ARG5);
+ rel(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_rel_448(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntRelType X3 = gecode_IntRelType_from_term(YAP_ARG3);
+ int X4 = gecode_int_from_term(YAP_ARG4);
+ IntPropLevel X5 = gecode_IntPropLevel_from_term(YAP_ARG5);
+ rel(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_rel_446(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntRelType X3 = gecode_IntRelType_from_term(YAP_ARG3);
+ IntVarArgs X4 = gecode_IntVarArgs_from_term(space,YAP_ARG4);
+ IntPropLevel X5 = gecode_IntPropLevel_from_term(YAP_ARG5);
+ rel(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_rel_406(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVar X2 = gecode_IntVar_from_term(space,YAP_ARG2);
+ IntRelType X3 = gecode_IntRelType_from_term(YAP_ARG3);
+ IntVar X4 = gecode_IntVar_from_term(space,YAP_ARG4);
+ IntPropLevel X5 = gecode_IntPropLevel_from_term(YAP_ARG5);
+ rel(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_rel_407(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVar X2 = gecode_IntVar_from_term(space,YAP_ARG2);
+ IntRelType X3 = gecode_IntRelType_from_term(YAP_ARG3);
+ IntVar X4 = gecode_IntVar_from_term(space,YAP_ARG4);
+ Reify X5 = gecode_Reify_from_term(YAP_ARG5);
+ rel(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_rel_411(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVar X2 = gecode_IntVar_from_term(space,YAP_ARG2);
+ IntRelType X3 = gecode_IntRelType_from_term(YAP_ARG3);
+ int X4 = gecode_int_from_term(YAP_ARG4);
+ IntPropLevel X5 = gecode_IntPropLevel_from_term(YAP_ARG5);
+ rel(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_rel_412(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVar X2 = gecode_IntVar_from_term(space,YAP_ARG2);
+ IntRelType X3 = gecode_IntRelType_from_term(YAP_ARG3);
+ int X4 = gecode_int_from_term(YAP_ARG4);
+ Reify X5 = gecode_Reify_from_term(YAP_ARG5);
+ rel(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_rel_415(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVar X2 = gecode_IntVar_from_term(space,YAP_ARG2);
+ SetRelType X3 = gecode_SetRelType_from_term(YAP_ARG3);
+ SetVar X4 = gecode_SetVar_from_term(space,YAP_ARG4);
+ Reify X5 = gecode_Reify_from_term(YAP_ARG5);
+ rel(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_rel_426(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ SetVar X2 = gecode_SetVar_from_term(space,YAP_ARG2);
+ SetRelType X3 = gecode_SetRelType_from_term(YAP_ARG3);
+ IntVar X4 = gecode_IntVar_from_term(space,YAP_ARG4);
+ Reify X5 = gecode_Reify_from_term(YAP_ARG5);
+ rel(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_rel_428(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ SetVar X2 = gecode_SetVar_from_term(space,YAP_ARG2);
+ SetRelType X3 = gecode_SetRelType_from_term(YAP_ARG3);
+ SetVar X4 = gecode_SetVar_from_term(space,YAP_ARG4);
+ Reify X5 = gecode_Reify_from_term(YAP_ARG5);
+ rel(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_rel_388(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ BoolOpType X2 = gecode_BoolOpType_from_term(YAP_ARG2);
+ BoolVarArgs X3 = gecode_BoolVarArgs_from_term(space,YAP_ARG3);
+ int X4 = gecode_int_from_term(YAP_ARG4);
+ IntPropLevel X5 = gecode_IntPropLevel_from_term(YAP_ARG5);
+ rel(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_rel_386(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ BoolOpType X2 = gecode_BoolOpType_from_term(YAP_ARG2);
+ BoolVarArgs X3 = gecode_BoolVarArgs_from_term(space,YAP_ARG3);
+ BoolVar X4 = gecode_BoolVar_from_term(space,YAP_ARG4);
+ IntPropLevel X5 = gecode_IntPropLevel_from_term(YAP_ARG5);
+ rel(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_min_331(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVar X2 = gecode_IntVar_from_term(space,YAP_ARG2);
+ IntVar X3 = gecode_IntVar_from_term(space,YAP_ARG3);
+ IntVar X4 = gecode_IntVar_from_term(space,YAP_ARG4);
+ min(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_min_337(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntVar X3 = gecode_IntVar_from_term(space,YAP_ARG3);
+ IntPropLevel X4 = gecode_IntPropLevel_from_term(YAP_ARG4);
+ min(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_min_330(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ FloatVar X2 = gecode_FloatVar_from_term(space,YAP_ARG2);
+ FloatVar X3 = gecode_FloatVar_from_term(space,YAP_ARG3);
+ FloatVar X4 = gecode_FloatVar_from_term(space,YAP_ARG4);
+ min(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_min_334(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ SetVar X2 = gecode_SetVar_from_term(space,YAP_ARG2);
+ IntVar X3 = gecode_IntVar_from_term(space,YAP_ARG3);
+ Reify X4 = gecode_Reify_from_term(YAP_ARG4);
+ min(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_cardinality_70(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ SetVarArgs X2 = gecode_SetVarArgs_from_term(space,YAP_ARG2);
+ int X3 = gecode_int_from_term(YAP_ARG3);
+ int X4 = gecode_int_from_term(YAP_ARG4);
+ cardinality(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_cardinality_69(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ SetVar X2 = gecode_SetVar_from_term(space,YAP_ARG2);
+ int X3 = gecode_int_from_term(YAP_ARG3);
+ int X4 = gecode_int_from_term(YAP_ARG4);
+ cardinality(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_count_125(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntVarArgs X3 = gecode_IntVarArgs_from_term(space,YAP_ARG3);
+ IntPropLevel X4 = gecode_IntPropLevel_from_term(YAP_ARG4);
+ count(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_count_126(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntVarArgs X3 = gecode_IntVarArgs_from_term(space,YAP_ARG3);
+ IntArgs X4 = gecode_IntArgs_from_term(YAP_ARG4);
+ count(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_count_118(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntSet X3 = gecode_IntSet_from_term(YAP_ARG3);
+ IntArgs X4 = gecode_IntArgs_from_term(YAP_ARG4);
+ count(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_count_121(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntSetArgs X3 = gecode_IntSetArgs_from_term(YAP_ARG3);
+ IntPropLevel X4 = gecode_IntPropLevel_from_term(YAP_ARG4);
+ count(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_count_122(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntSetArgs X3 = gecode_IntSetArgs_from_term(YAP_ARG3);
+ IntArgs X4 = gecode_IntArgs_from_term(YAP_ARG4);
+ count(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_sqrt_463(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVar X2 = gecode_IntVar_from_term(space,YAP_ARG2);
+ IntVar X3 = gecode_IntVar_from_term(space,YAP_ARG3);
+ sqrt(*space,X2,X3);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_sqrt_462(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ FloatVar X2 = gecode_FloatVar_from_term(space,YAP_ARG2);
+ FloatVar X3 = gecode_FloatVar_from_term(space,YAP_ARG3);
+ sqrt(*space,X2,X3);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_cumulatives_171(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntVarArgs X3 = gecode_IntVarArgs_from_term(space,YAP_ARG3);
+ IntVarArgs X4 = gecode_IntVarArgs_from_term(space,YAP_ARG4);
+ IntVarArgs X5 = gecode_IntVarArgs_from_term(space,YAP_ARG5);
+ IntVarArgs X6 = gecode_IntVarArgs_from_term(space,YAP_ARG6);
+ IntArgs X7 = gecode_IntArgs_from_term(YAP_ARG7);
+ bool X8 = gecode_bool_from_term(YAP_ARG8);
+ IntPropLevel X9 = gecode_IntPropLevel_from_term(YAP_ARG9);
+ cumulatives(*space,X2,X3,X4,X5,X6,X7,X8,X9);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_cumulatives_169(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntVarArgs X3 = gecode_IntVarArgs_from_term(space,YAP_ARG3);
+ IntVarArgs X4 = gecode_IntVarArgs_from_term(space,YAP_ARG4);
+ IntVarArgs X5 = gecode_IntVarArgs_from_term(space,YAP_ARG5);
+ IntArgs X6 = gecode_IntArgs_from_term(YAP_ARG6);
+ IntArgs X7 = gecode_IntArgs_from_term(YAP_ARG7);
+ bool X8 = gecode_bool_from_term(YAP_ARG8);
+ IntPropLevel X9 = gecode_IntPropLevel_from_term(YAP_ARG9);
+ cumulatives(*space,X2,X3,X4,X5,X6,X7,X8,X9);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_cumulatives_167(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntVarArgs X3 = gecode_IntVarArgs_from_term(space,YAP_ARG3);
+ IntArgs X4 = gecode_IntArgs_from_term(YAP_ARG4);
+ IntVarArgs X5 = gecode_IntVarArgs_from_term(space,YAP_ARG5);
+ IntVarArgs X6 = gecode_IntVarArgs_from_term(space,YAP_ARG6);
+ IntArgs X7 = gecode_IntArgs_from_term(YAP_ARG7);
+ bool X8 = gecode_bool_from_term(YAP_ARG8);
+ IntPropLevel X9 = gecode_IntPropLevel_from_term(YAP_ARG9);
+ cumulatives(*space,X2,X3,X4,X5,X6,X7,X8,X9);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_cumulatives_165(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntVarArgs X3 = gecode_IntVarArgs_from_term(space,YAP_ARG3);
+ IntArgs X4 = gecode_IntArgs_from_term(YAP_ARG4);
+ IntVarArgs X5 = gecode_IntVarArgs_from_term(space,YAP_ARG5);
+ IntArgs X6 = gecode_IntArgs_from_term(YAP_ARG6);
+ IntArgs X7 = gecode_IntArgs_from_term(YAP_ARG7);
+ bool X8 = gecode_bool_from_term(YAP_ARG8);
+ IntPropLevel X9 = gecode_IntPropLevel_from_term(YAP_ARG9);
+ cumulatives(*space,X2,X3,X4,X5,X6,X7,X8,X9);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_cumulatives_163(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntArgs X2 = gecode_IntArgs_from_term(YAP_ARG2);
+ IntVarArgs X3 = gecode_IntVarArgs_from_term(space,YAP_ARG3);
+ IntVarArgs X4 = gecode_IntVarArgs_from_term(space,YAP_ARG4);
+ IntVarArgs X5 = gecode_IntVarArgs_from_term(space,YAP_ARG5);
+ IntVarArgs X6 = gecode_IntVarArgs_from_term(space,YAP_ARG6);
+ IntArgs X7 = gecode_IntArgs_from_term(YAP_ARG7);
+ bool X8 = gecode_bool_from_term(YAP_ARG8);
+ IntPropLevel X9 = gecode_IntPropLevel_from_term(YAP_ARG9);
+ cumulatives(*space,X2,X3,X4,X5,X6,X7,X8,X9);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_cumulatives_161(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntArgs X2 = gecode_IntArgs_from_term(YAP_ARG2);
+ IntVarArgs X3 = gecode_IntVarArgs_from_term(space,YAP_ARG3);
+ IntVarArgs X4 = gecode_IntVarArgs_from_term(space,YAP_ARG4);
+ IntVarArgs X5 = gecode_IntVarArgs_from_term(space,YAP_ARG5);
+ IntArgs X6 = gecode_IntArgs_from_term(YAP_ARG6);
+ IntArgs X7 = gecode_IntArgs_from_term(YAP_ARG7);
+ bool X8 = gecode_bool_from_term(YAP_ARG8);
+ IntPropLevel X9 = gecode_IntPropLevel_from_term(YAP_ARG9);
+ cumulatives(*space,X2,X3,X4,X5,X6,X7,X8,X9);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_cumulatives_159(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntArgs X2 = gecode_IntArgs_from_term(YAP_ARG2);
+ IntVarArgs X3 = gecode_IntVarArgs_from_term(space,YAP_ARG3);
+ IntArgs X4 = gecode_IntArgs_from_term(YAP_ARG4);
+ IntVarArgs X5 = gecode_IntVarArgs_from_term(space,YAP_ARG5);
+ IntVarArgs X6 = gecode_IntVarArgs_from_term(space,YAP_ARG6);
+ IntArgs X7 = gecode_IntArgs_from_term(YAP_ARG7);
+ bool X8 = gecode_bool_from_term(YAP_ARG8);
+ IntPropLevel X9 = gecode_IntPropLevel_from_term(YAP_ARG9);
+ cumulatives(*space,X2,X3,X4,X5,X6,X7,X8,X9);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_cumulatives_157(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntArgs X2 = gecode_IntArgs_from_term(YAP_ARG2);
+ IntVarArgs X3 = gecode_IntVarArgs_from_term(space,YAP_ARG3);
+ IntArgs X4 = gecode_IntArgs_from_term(YAP_ARG4);
+ IntVarArgs X5 = gecode_IntVarArgs_from_term(space,YAP_ARG5);
+ IntArgs X6 = gecode_IntArgs_from_term(YAP_ARG6);
+ IntArgs X7 = gecode_IntArgs_from_term(YAP_ARG7);
+ bool X8 = gecode_bool_from_term(YAP_ARG8);
+ IntPropLevel X9 = gecode_IntPropLevel_from_term(YAP_ARG9);
+ cumulatives(*space,X2,X3,X4,X5,X6,X7,X8,X9);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_nvalues_360(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntRelType X3 = gecode_IntRelType_from_term(YAP_ARG3);
+ IntVar X4 = gecode_IntVar_from_term(space,YAP_ARG4);
+ nvalues(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_nvalues_362(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntRelType X3 = gecode_IntRelType_from_term(YAP_ARG3);
+ int X4 = gecode_int_from_term(YAP_ARG4);
+ nvalues(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_nvalues_356(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ BoolVarArgs X2 = gecode_BoolVarArgs_from_term(space,YAP_ARG2);
+ IntRelType X3 = gecode_IntRelType_from_term(YAP_ARG3);
+ IntVar X4 = gecode_IntVar_from_term(space,YAP_ARG4);
+ nvalues(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_nvalues_358(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ BoolVarArgs X2 = gecode_BoolVarArgs_from_term(space,YAP_ARG2);
+ IntRelType X3 = gecode_IntRelType_from_term(YAP_ARG3);
+ int X4 = gecode_int_from_term(YAP_ARG4);
+ nvalues(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_binpacking_37(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntVarArgs X3 = gecode_IntVarArgs_from_term(space,YAP_ARG3);
+ IntArgs X4 = gecode_IntArgs_from_term(YAP_ARG4);
+ binpacking(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_linear_301(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntArgs X2 = gecode_IntArgs_from_term(YAP_ARG2);
+ IntVarArgs X3 = gecode_IntVarArgs_from_term(space,YAP_ARG3);
+ IntRelType X4 = gecode_IntRelType_from_term(YAP_ARG4);
+ IntVar X5 = gecode_IntVar_from_term(space,YAP_ARG5);
+ Reify X6 = gecode_Reify_from_term(YAP_ARG6);
+ IntPropLevel X7 = gecode_IntPropLevel_from_term(YAP_ARG7);
+ linear(*space,X2,X3,X4,X5,X6,X7);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_linear_305(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntArgs X2 = gecode_IntArgs_from_term(YAP_ARG2);
+ IntVarArgs X3 = gecode_IntVarArgs_from_term(space,YAP_ARG3);
+ IntRelType X4 = gecode_IntRelType_from_term(YAP_ARG4);
+ int X5 = gecode_int_from_term(YAP_ARG5);
+ Reify X6 = gecode_Reify_from_term(YAP_ARG6);
+ IntPropLevel X7 = gecode_IntPropLevel_from_term(YAP_ARG7);
+ linear(*space,X2,X3,X4,X5,X6,X7);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_linear_293(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntArgs X2 = gecode_IntArgs_from_term(YAP_ARG2);
+ BoolVarArgs X3 = gecode_BoolVarArgs_from_term(space,YAP_ARG3);
+ IntRelType X4 = gecode_IntRelType_from_term(YAP_ARG4);
+ IntVar X5 = gecode_IntVar_from_term(space,YAP_ARG5);
+ Reify X6 = gecode_Reify_from_term(YAP_ARG6);
+ IntPropLevel X7 = gecode_IntPropLevel_from_term(YAP_ARG7);
+ linear(*space,X2,X3,X4,X5,X6,X7);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_linear_297(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntArgs X2 = gecode_IntArgs_from_term(YAP_ARG2);
+ BoolVarArgs X3 = gecode_BoolVarArgs_from_term(space,YAP_ARG3);
+ IntRelType X4 = gecode_IntRelType_from_term(YAP_ARG4);
+ int X5 = gecode_int_from_term(YAP_ARG5);
+ Reify X6 = gecode_Reify_from_term(YAP_ARG6);
+ IntPropLevel X7 = gecode_IntPropLevel_from_term(YAP_ARG7);
+ linear(*space,X2,X3,X4,X5,X6,X7);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_abs_3(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVar X2 = gecode_IntVar_from_term(space,YAP_ARG2);
+ IntVar X3 = gecode_IntVar_from_term(space,YAP_ARG3);
+ IntPropLevel X4 = gecode_IntPropLevel_from_term(YAP_ARG4);
+ abs(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_convex_104(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ SetVar X2 = gecode_SetVar_from_term(space,YAP_ARG2);
+ convex(*space,X2);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_div_181(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVar X2 = gecode_IntVar_from_term(space,YAP_ARG2);
+ IntVar X3 = gecode_IntVar_from_term(space,YAP_ARG3);
+ IntVar X4 = gecode_IntVar_from_term(space,YAP_ARG4);
+ div(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_div_180(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ FloatVar X2 = gecode_FloatVar_from_term(space,YAP_ARG2);
+ FloatVar X3 = gecode_FloatVar_from_term(space,YAP_ARG3);
+ FloatVar X4 = gecode_FloatVar_from_term(space,YAP_ARG4);
+ div(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_rel_408(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVar X2 = gecode_IntVar_from_term(space,YAP_ARG2);
+ IntRelType X3 = gecode_IntRelType_from_term(YAP_ARG3);
+ IntVar X4 = gecode_IntVar_from_term(space,YAP_ARG4);
+ Reify X5 = gecode_Reify_from_term(YAP_ARG5);
+ IntPropLevel X6 = gecode_IntPropLevel_from_term(YAP_ARG6);
+ rel(*space,X2,X3,X4,X5,X6);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_rel_413(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVar X2 = gecode_IntVar_from_term(space,YAP_ARG2);
+ IntRelType X3 = gecode_IntRelType_from_term(YAP_ARG3);
+ int X4 = gecode_int_from_term(YAP_ARG4);
+ Reify X5 = gecode_Reify_from_term(YAP_ARG5);
+ IntPropLevel X6 = gecode_IntPropLevel_from_term(YAP_ARG6);
+ rel(*space,X2,X3,X4,X5,X6);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_rel_440(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntSet X2 = gecode_IntSet_from_term(YAP_ARG2);
+ SetOpType X3 = gecode_SetOpType_from_term(YAP_ARG3);
+ SetVar X4 = gecode_SetVar_from_term(space,YAP_ARG4);
+ SetRelType X5 = gecode_SetRelType_from_term(YAP_ARG5);
+ IntSet X6 = gecode_IntSet_from_term(YAP_ARG6);
+ rel(*space,X2,X3,X4,X5,X6);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_rel_439(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntSet X2 = gecode_IntSet_from_term(YAP_ARG2);
+ SetOpType X3 = gecode_SetOpType_from_term(YAP_ARG3);
+ SetVar X4 = gecode_SetVar_from_term(space,YAP_ARG4);
+ SetRelType X5 = gecode_SetRelType_from_term(YAP_ARG5);
+ SetVar X6 = gecode_SetVar_from_term(space,YAP_ARG6);
+ rel(*space,X2,X3,X4,X5,X6);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_rel_400(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ BoolVar X2 = gecode_BoolVar_from_term(space,YAP_ARG2);
+ IntRelType X3 = gecode_IntRelType_from_term(YAP_ARG3);
+ int X4 = gecode_int_from_term(YAP_ARG4);
+ Reify X5 = gecode_Reify_from_term(YAP_ARG5);
+ IntPropLevel X6 = gecode_IntPropLevel_from_term(YAP_ARG6);
+ rel(*space,X2,X3,X4,X5,X6);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_rel_396(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ BoolVar X2 = gecode_BoolVar_from_term(space,YAP_ARG2);
+ IntRelType X3 = gecode_IntRelType_from_term(YAP_ARG3);
+ BoolVar X4 = gecode_BoolVar_from_term(space,YAP_ARG4);
+ Reify X5 = gecode_Reify_from_term(YAP_ARG5);
+ IntPropLevel X6 = gecode_IntPropLevel_from_term(YAP_ARG6);
+ rel(*space,X2,X3,X4,X5,X6);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_rel_392(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ BoolVar X2 = gecode_BoolVar_from_term(space,YAP_ARG2);
+ BoolOpType X3 = gecode_BoolOpType_from_term(YAP_ARG3);
+ BoolVar X4 = gecode_BoolVar_from_term(space,YAP_ARG4);
+ int X5 = gecode_int_from_term(YAP_ARG5);
+ IntPropLevel X6 = gecode_IntPropLevel_from_term(YAP_ARG6);
+ rel(*space,X2,X3,X4,X5,X6);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_rel_390(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ BoolVar X2 = gecode_BoolVar_from_term(space,YAP_ARG2);
+ BoolOpType X3 = gecode_BoolOpType_from_term(YAP_ARG3);
+ BoolVar X4 = gecode_BoolVar_from_term(space,YAP_ARG4);
+ BoolVar X5 = gecode_BoolVar_from_term(space,YAP_ARG5);
+ IntPropLevel X6 = gecode_IntPropLevel_from_term(YAP_ARG6);
+ rel(*space,X2,X3,X4,X5,X6);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_rel_424(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ SetVar X2 = gecode_SetVar_from_term(space,YAP_ARG2);
+ SetOpType X3 = gecode_SetOpType_from_term(YAP_ARG3);
+ IntSet X4 = gecode_IntSet_from_term(YAP_ARG4);
+ SetRelType X5 = gecode_SetRelType_from_term(YAP_ARG5);
+ IntSet X6 = gecode_IntSet_from_term(YAP_ARG6);
+ rel(*space,X2,X3,X4,X5,X6);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_rel_423(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ SetVar X2 = gecode_SetVar_from_term(space,YAP_ARG2);
+ SetOpType X3 = gecode_SetOpType_from_term(YAP_ARG3);
+ IntSet X4 = gecode_IntSet_from_term(YAP_ARG4);
+ SetRelType X5 = gecode_SetRelType_from_term(YAP_ARG5);
+ SetVar X6 = gecode_SetVar_from_term(space,YAP_ARG6);
+ rel(*space,X2,X3,X4,X5,X6);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_rel_422(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ SetVar X2 = gecode_SetVar_from_term(space,YAP_ARG2);
+ SetOpType X3 = gecode_SetOpType_from_term(YAP_ARG3);
+ SetVar X4 = gecode_SetVar_from_term(space,YAP_ARG4);
+ SetRelType X5 = gecode_SetRelType_from_term(YAP_ARG5);
+ IntSet X6 = gecode_IntSet_from_term(YAP_ARG6);
+ rel(*space,X2,X3,X4,X5,X6);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_rel_421(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ SetVar X2 = gecode_SetVar_from_term(space,YAP_ARG2);
+ SetOpType X3 = gecode_SetOpType_from_term(YAP_ARG3);
+ SetVar X4 = gecode_SetVar_from_term(space,YAP_ARG4);
+ SetRelType X5 = gecode_SetRelType_from_term(YAP_ARG5);
+ SetVar X6 = gecode_SetVar_from_term(space,YAP_ARG6);
+ rel(*space,X2,X3,X4,X5,X6);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_weights_481(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntArgs X2 = gecode_IntArgs_from_term(YAP_ARG2);
+ IntArgs X3 = gecode_IntArgs_from_term(YAP_ARG3);
+ SetVar X4 = gecode_SetVar_from_term(space,YAP_ARG4);
+ IntVar X5 = gecode_IntVar_from_term(space,YAP_ARG5);
+ weights(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_max_316(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVar X2 = gecode_IntVar_from_term(space,YAP_ARG2);
+ IntVar X3 = gecode_IntVar_from_term(space,YAP_ARG3);
+ IntVar X4 = gecode_IntVar_from_term(space,YAP_ARG4);
+ IntPropLevel X5 = gecode_IntPropLevel_from_term(YAP_ARG5);
+ max(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_path_371(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntArgs X2 = gecode_IntArgs_from_term(YAP_ARG2);
+ int X3 = gecode_int_from_term(YAP_ARG3);
+ IntVarArgs X4 = gecode_IntVarArgs_from_term(space,YAP_ARG4);
+ IntVar X5 = gecode_IntVar_from_term(space,YAP_ARG5);
+ IntVar X6 = gecode_IntVar_from_term(space,YAP_ARG6);
+ IntVarArgs X7 = gecode_IntVarArgs_from_term(space,YAP_ARG7);
+ IntVar X8 = gecode_IntVar_from_term(space,YAP_ARG8);
+ IntPropLevel X9 = gecode_IntPropLevel_from_term(YAP_ARG9);
+ path(*space,X2,X3,X4,X5,X6,X7,X8,X9);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_unary_473(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ TaskTypeArgs X2 = gecode_TaskTypeArgs_from_term(YAP_ARG2);
+ IntVarArgs X3 = gecode_IntVarArgs_from_term(space,YAP_ARG3);
+ IntArgs X4 = gecode_IntArgs_from_term(YAP_ARG4);
+ unary(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_unary_469(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntVarArgs X3 = gecode_IntVarArgs_from_term(space,YAP_ARG3);
+ IntVarArgs X4 = gecode_IntVarArgs_from_term(space,YAP_ARG4);
+ unary(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_unary_466(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntArgs X3 = gecode_IntArgs_from_term(YAP_ARG3);
+ IntPropLevel X4 = gecode_IntPropLevel_from_term(YAP_ARG4);
+ unary(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_unary_467(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntArgs X3 = gecode_IntArgs_from_term(YAP_ARG3);
+ BoolVarArgs X4 = gecode_BoolVarArgs_from_term(space,YAP_ARG4);
+ unary(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_nroot_354(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVar X2 = gecode_IntVar_from_term(space,YAP_ARG2);
+ int X3 = gecode_int_from_term(YAP_ARG3);
+ IntVar X4 = gecode_IntVar_from_term(space,YAP_ARG4);
+ nroot(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_nroot_353(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ FloatVar X2 = gecode_FloatVar_from_term(space,YAP_ARG2);
+ int X3 = gecode_int_from_term(YAP_ARG3);
+ FloatVar X4 = gecode_FloatVar_from_term(space,YAP_ARG4);
+ nroot(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_sorted_458(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntVarArgs X3 = gecode_IntVarArgs_from_term(space,YAP_ARG3);
+ IntVarArgs X4 = gecode_IntVarArgs_from_term(space,YAP_ARG4);
+ IntPropLevel X5 = gecode_IntPropLevel_from_term(YAP_ARG5);
+ sorted(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_circuit_92(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntArgs X2 = gecode_IntArgs_from_term(YAP_ARG2);
+ int X3 = gecode_int_from_term(YAP_ARG3);
+ IntVarArgs X4 = gecode_IntVarArgs_from_term(space,YAP_ARG4);
+ IntVar X5 = gecode_IntVar_from_term(space,YAP_ARG5);
+ circuit(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_circuit_89(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntArgs X2 = gecode_IntArgs_from_term(YAP_ARG2);
+ IntVarArgs X3 = gecode_IntVarArgs_from_term(space,YAP_ARG3);
+ IntVar X4 = gecode_IntVar_from_term(space,YAP_ARG4);
+ IntPropLevel X5 = gecode_IntPropLevel_from_term(YAP_ARG5);
+ circuit(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_circuit_90(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntArgs X2 = gecode_IntArgs_from_term(YAP_ARG2);
+ IntVarArgs X3 = gecode_IntVarArgs_from_term(space,YAP_ARG3);
+ IntVarArgs X4 = gecode_IntVarArgs_from_term(space,YAP_ARG4);
+ IntVar X5 = gecode_IntVar_from_term(space,YAP_ARG5);
+ circuit(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_dom_190(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ FloatVar X2 = gecode_FloatVar_from_term(space,YAP_ARG2);
+ FloatVal X3 = gecode_FloatVal_from_term(YAP_ARG3);
+ Reify X4 = gecode_Reify_from_term(YAP_ARG4);
+ dom(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_dom_187(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ FloatVar X2 = gecode_FloatVar_from_term(space,YAP_ARG2);
+ FloatNum X3 = gecode_FloatNum_from_term(YAP_ARG3);
+ FloatNum X4 = gecode_FloatNum_from_term(YAP_ARG4);
+ dom(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_dom_215(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ FloatVarArgs X2 = gecode_FloatVarArgs_from_term(space,YAP_ARG2);
+ FloatNum X3 = gecode_FloatNum_from_term(YAP_ARG3);
+ FloatNum X4 = gecode_FloatNum_from_term(YAP_ARG4);
+ dom(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_dom_214(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ BoolVarArgs X2 = gecode_BoolVarArgs_from_term(space,YAP_ARG2);
+ BoolVarArgs X3 = gecode_BoolVarArgs_from_term(space,YAP_ARG3);
+ IntPropLevel X4 = gecode_IntPropLevel_from_term(YAP_ARG4);
+ dom(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_dom_186(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ BoolVar X2 = gecode_BoolVar_from_term(space,YAP_ARG2);
+ BoolVar X3 = gecode_BoolVar_from_term(space,YAP_ARG3);
+ IntPropLevel X4 = gecode_IntPropLevel_from_term(YAP_ARG4);
+ dom(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_dom_224(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ int X3 = gecode_int_from_term(YAP_ARG3);
+ int X4 = gecode_int_from_term(YAP_ARG4);
+ dom(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_dom_223(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ int X3 = gecode_int_from_term(YAP_ARG3);
+ IntPropLevel X4 = gecode_IntPropLevel_from_term(YAP_ARG4);
+ dom(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_dom_221(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntVarArgs X3 = gecode_IntVarArgs_from_term(space,YAP_ARG3);
+ IntPropLevel X4 = gecode_IntPropLevel_from_term(YAP_ARG4);
+ dom(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_dom_219(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntSet X3 = gecode_IntSet_from_term(YAP_ARG3);
+ IntPropLevel X4 = gecode_IntPropLevel_from_term(YAP_ARG4);
+ dom(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_dom_193(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVar X2 = gecode_IntVar_from_term(space,YAP_ARG2);
+ IntVar X3 = gecode_IntVar_from_term(space,YAP_ARG3);
+ IntPropLevel X4 = gecode_IntPropLevel_from_term(YAP_ARG4);
+ dom(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_dom_202(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVar X2 = gecode_IntVar_from_term(space,YAP_ARG2);
+ int X3 = gecode_int_from_term(YAP_ARG3);
+ int X4 = gecode_int_from_term(YAP_ARG4);
+ dom(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_dom_199(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVar X2 = gecode_IntVar_from_term(space,YAP_ARG2);
+ int X3 = gecode_int_from_term(YAP_ARG3);
+ IntPropLevel X4 = gecode_IntPropLevel_from_term(YAP_ARG4);
+ dom(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_dom_200(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVar X2 = gecode_IntVar_from_term(space,YAP_ARG2);
+ int X3 = gecode_int_from_term(YAP_ARG3);
+ Reify X4 = gecode_Reify_from_term(YAP_ARG4);
+ dom(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_dom_195(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVar X2 = gecode_IntVar_from_term(space,YAP_ARG2);
+ IntSet X3 = gecode_IntSet_from_term(YAP_ARG3);
+ IntPropLevel X4 = gecode_IntPropLevel_from_term(YAP_ARG4);
+ dom(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_dom_196(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVar X2 = gecode_IntVar_from_term(space,YAP_ARG2);
+ IntSet X3 = gecode_IntSet_from_term(YAP_ARG3);
+ Reify X4 = gecode_Reify_from_term(YAP_ARG4);
+ dom(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_dom_227(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ SetVarArgs X2 = gecode_SetVarArgs_from_term(space,YAP_ARG2);
+ SetRelType X3 = gecode_SetRelType_from_term(YAP_ARG3);
+ int X4 = gecode_int_from_term(YAP_ARG4);
+ dom(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_dom_226(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ SetVarArgs X2 = gecode_SetVarArgs_from_term(space,YAP_ARG2);
+ SetRelType X3 = gecode_SetRelType_from_term(YAP_ARG3);
+ IntSet X4 = gecode_IntSet_from_term(YAP_ARG4);
+ dom(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_dom_208(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ SetVar X2 = gecode_SetVar_from_term(space,YAP_ARG2);
+ SetRelType X3 = gecode_SetRelType_from_term(YAP_ARG3);
+ int X4 = gecode_int_from_term(YAP_ARG4);
+ dom(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_dom_206(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ SetVar X2 = gecode_SetVar_from_term(space,YAP_ARG2);
+ SetRelType X3 = gecode_SetRelType_from_term(YAP_ARG3);
+ IntSet X4 = gecode_IntSet_from_term(YAP_ARG4);
+ dom(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_abs_2(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVar X2 = gecode_IntVar_from_term(space,YAP_ARG2);
+ IntVar X3 = gecode_IntVar_from_term(space,YAP_ARG3);
+ abs(*space,X2,X3);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_abs_1(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ FloatVar X2 = gecode_FloatVar_from_term(space,YAP_ARG2);
+ FloatVar X3 = gecode_FloatVar_from_term(space,YAP_ARG3);
+ abs(*space,X2,X3);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_channel_84(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ int X3 = gecode_int_from_term(YAP_ARG3);
+ IntVarArgs X4 = gecode_IntVarArgs_from_term(space,YAP_ARG4);
+ int X5 = gecode_int_from_term(YAP_ARG5);
+ channel(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_channel_79(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ BoolVarArgs X2 = gecode_BoolVarArgs_from_term(space,YAP_ARG2);
+ IntVar X3 = gecode_IntVar_from_term(space,YAP_ARG3);
+ int X4 = gecode_int_from_term(YAP_ARG4);
+ IntPropLevel X5 = gecode_IntPropLevel_from_term(YAP_ARG5);
+ channel(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_assign_29(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ FloatVarArgs X2 = gecode_FloatVarArgs_from_term(space,YAP_ARG2);
+ FloatAssign X3 = gecode_FloatAssign_from_term(YAP_ARG3);
+ FloatBranchFilter X4 = gecode_FloatBranchFilter_from_term(YAP_ARG4);
+ FloatVarValPrint X5 = gecode_FloatVarValPrint_from_term(YAP_ARG5);
+ assign(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_assign_26(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ BoolVarArgs X2 = gecode_BoolVarArgs_from_term(space,YAP_ARG2);
+ IntAssign X3 = gecode_IntAssign_from_term(YAP_ARG3);
+ BoolBranchFilter X4 = gecode_BoolBranchFilter_from_term(YAP_ARG4);
+ BoolVarValPrint X5 = gecode_BoolVarValPrint_from_term(YAP_ARG5);
+ assign(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_assign_32(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntAssign X3 = gecode_IntAssign_from_term(YAP_ARG3);
+ IntBranchFilter X4 = gecode_IntBranchFilter_from_term(YAP_ARG4);
+ IntVarValPrint X5 = gecode_IntVarValPrint_from_term(YAP_ARG5);
+ assign(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_assign_35(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ SetVarArgs X2 = gecode_SetVarArgs_from_term(space,YAP_ARG2);
+ SetAssign X3 = gecode_SetAssign_from_term(YAP_ARG3);
+ SetBranchFilter X4 = gecode_SetBranchFilter_from_term(YAP_ARG4);
+ SetVarValPrint X5 = gecode_SetVarValPrint_from_term(YAP_ARG5);
+ assign(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_rel_441(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntRelType X3 = gecode_IntRelType_from_term(YAP_ARG3);
+ rel(*space,X2,X3);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_rel_431(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ BoolVarArgs X2 = gecode_BoolVarArgs_from_term(space,YAP_ARG2);
+ IntRelType X3 = gecode_IntRelType_from_term(YAP_ARG3);
+ rel(*space,X2,X3);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_path_372(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntVar X3 = gecode_IntVar_from_term(space,YAP_ARG3);
+ IntVar X4 = gecode_IntVar_from_term(space,YAP_ARG4);
+ path(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_branch_42(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ FloatVar X2 = gecode_FloatVar_from_term(space,YAP_ARG2);
+ FloatValBranch X3 = gecode_FloatValBranch_from_term(YAP_ARG3);
+ FloatVarValPrint X4 = gecode_FloatVarValPrint_from_term(YAP_ARG4);
+ branch(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_branch_53(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ FloatVarArgs X2 = gecode_FloatVarArgs_from_term(space,YAP_ARG2);
+ FloatVarBranch X3 = gecode_FloatVarBranch_from_term(YAP_ARG3);
+ FloatValBranch X4 = gecode_FloatValBranch_from_term(YAP_ARG4);
+ branch(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_branch_47(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ BoolVarArgs X2 = gecode_BoolVarArgs_from_term(space,YAP_ARG2);
+ IntVarBranch X3 = gecode_IntVarBranch_from_term(YAP_ARG3);
+ IntValBranch X4 = gecode_IntValBranch_from_term(YAP_ARG4);
+ branch(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_branch_40(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ BoolVar X2 = gecode_BoolVar_from_term(space,YAP_ARG2);
+ IntValBranch X3 = gecode_IntValBranch_from_term(YAP_ARG3);
+ BoolVarValPrint X4 = gecode_BoolVarValPrint_from_term(YAP_ARG4);
+ branch(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_branch_56(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntVarBranch X3 = gecode_IntVarBranch_from_term(YAP_ARG3);
+ IntValBranch X4 = gecode_IntValBranch_from_term(YAP_ARG4);
+ branch(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_branch_44(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVar X2 = gecode_IntVar_from_term(space,YAP_ARG2);
+ IntValBranch X3 = gecode_IntValBranch_from_term(YAP_ARG3);
+ IntVarValPrint X4 = gecode_IntVarValPrint_from_term(YAP_ARG4);
+ branch(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_branch_62(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ SetVarArgs X2 = gecode_SetVarArgs_from_term(space,YAP_ARG2);
+ SetVarBranch X3 = gecode_SetVarBranch_from_term(YAP_ARG3);
+ SetValBranch X4 = gecode_SetValBranch_from_term(YAP_ARG4);
+ branch(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_branch_46(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ SetVar X2 = gecode_SetVar_from_term(space,YAP_ARG2);
+ SetValBranch X3 = gecode_SetValBranch_from_term(YAP_ARG3);
+ SetVarValPrint X4 = gecode_SetVarValPrint_from_term(YAP_ARG4);
+ branch(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_mult_342(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVar X2 = gecode_IntVar_from_term(space,YAP_ARG2);
+ IntVar X3 = gecode_IntVar_from_term(space,YAP_ARG3);
+ IntVar X4 = gecode_IntVar_from_term(space,YAP_ARG4);
+ IntPropLevel X5 = gecode_IntPropLevel_from_term(YAP_ARG5);
+ mult(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_circuit_93(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntArgs X2 = gecode_IntArgs_from_term(YAP_ARG2);
+ int X3 = gecode_int_from_term(YAP_ARG3);
+ IntVarArgs X4 = gecode_IntVarArgs_from_term(space,YAP_ARG4);
+ IntVar X5 = gecode_IntVar_from_term(space,YAP_ARG5);
+ IntPropLevel X6 = gecode_IntPropLevel_from_term(YAP_ARG6);
+ circuit(*space,X2,X3,X4,X5,X6);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_circuit_94(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntArgs X2 = gecode_IntArgs_from_term(YAP_ARG2);
+ int X3 = gecode_int_from_term(YAP_ARG3);
+ IntVarArgs X4 = gecode_IntVarArgs_from_term(space,YAP_ARG4);
+ IntVarArgs X5 = gecode_IntVarArgs_from_term(space,YAP_ARG5);
+ IntVar X6 = gecode_IntVar_from_term(space,YAP_ARG6);
+ circuit(*space,X2,X3,X4,X5,X6);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_circuit_91(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntArgs X2 = gecode_IntArgs_from_term(YAP_ARG2);
+ IntVarArgs X3 = gecode_IntVarArgs_from_term(space,YAP_ARG3);
+ IntVarArgs X4 = gecode_IntVarArgs_from_term(space,YAP_ARG4);
+ IntVar X5 = gecode_IntVar_from_term(space,YAP_ARG5);
+ IntPropLevel X6 = gecode_IntPropLevel_from_term(YAP_ARG6);
+ circuit(*space,X2,X3,X4,X5,X6);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_clause_102(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ BoolOpType X2 = gecode_BoolOpType_from_term(YAP_ARG2);
+ BoolVarArgs X3 = gecode_BoolVarArgs_from_term(space,YAP_ARG3);
+ BoolVarArgs X4 = gecode_BoolVarArgs_from_term(space,YAP_ARG4);
+ int X5 = gecode_int_from_term(YAP_ARG5);
+ clause(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_clause_100(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ BoolOpType X2 = gecode_BoolOpType_from_term(YAP_ARG2);
+ BoolVarArgs X3 = gecode_BoolVarArgs_from_term(space,YAP_ARG3);
+ BoolVarArgs X4 = gecode_BoolVarArgs_from_term(space,YAP_ARG4);
+ BoolVar X5 = gecode_BoolVar_from_term(space,YAP_ARG5);
+ clause(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_precede_384(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ SetVarArgs X2 = gecode_SetVarArgs_from_term(space,YAP_ARG2);
+ int X3 = gecode_int_from_term(YAP_ARG3);
+ int X4 = gecode_int_from_term(YAP_ARG4);
+ precede(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_precede_381(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ int X3 = gecode_int_from_term(YAP_ARG3);
+ int X4 = gecode_int_from_term(YAP_ARG4);
+ precede(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_precede_380(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntArgs X3 = gecode_IntArgs_from_term(YAP_ARG3);
+ IntPropLevel X4 = gecode_IntPropLevel_from_term(YAP_ARG4);
+ precede(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_channel_85(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ int X3 = gecode_int_from_term(YAP_ARG3);
+ IntVarArgs X4 = gecode_IntVarArgs_from_term(space,YAP_ARG4);
+ int X5 = gecode_int_from_term(YAP_ARG5);
+ IntPropLevel X6 = gecode_IntPropLevel_from_term(YAP_ARG6);
+ channel(*space,X2,X3,X4,X5,X6);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_cumulative_141(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVar X2 = gecode_IntVar_from_term(space,YAP_ARG2);
+ TaskTypeArgs X3 = gecode_TaskTypeArgs_from_term(YAP_ARG3);
+ IntVarArgs X4 = gecode_IntVarArgs_from_term(space,YAP_ARG4);
+ IntArgs X5 = gecode_IntArgs_from_term(YAP_ARG5);
+ IntArgs X6 = gecode_IntArgs_from_term(YAP_ARG6);
+ IntPropLevel X7 = gecode_IntPropLevel_from_term(YAP_ARG7);
+ cumulative(*space,X2,X3,X4,X5,X6,X7);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_cumulative_142(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVar X2 = gecode_IntVar_from_term(space,YAP_ARG2);
+ TaskTypeArgs X3 = gecode_TaskTypeArgs_from_term(YAP_ARG3);
+ IntVarArgs X4 = gecode_IntVarArgs_from_term(space,YAP_ARG4);
+ IntArgs X5 = gecode_IntArgs_from_term(YAP_ARG5);
+ IntArgs X6 = gecode_IntArgs_from_term(YAP_ARG6);
+ BoolVarArgs X7 = gecode_BoolVarArgs_from_term(space,YAP_ARG7);
+ cumulative(*space,X2,X3,X4,X5,X6,X7);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_cumulative_137(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVar X2 = gecode_IntVar_from_term(space,YAP_ARG2);
+ IntVarArgs X3 = gecode_IntVarArgs_from_term(space,YAP_ARG3);
+ IntVarArgs X4 = gecode_IntVarArgs_from_term(space,YAP_ARG4);
+ IntVarArgs X5 = gecode_IntVarArgs_from_term(space,YAP_ARG5);
+ IntArgs X6 = gecode_IntArgs_from_term(YAP_ARG6);
+ IntPropLevel X7 = gecode_IntPropLevel_from_term(YAP_ARG7);
+ cumulative(*space,X2,X3,X4,X5,X6,X7);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_cumulative_138(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVar X2 = gecode_IntVar_from_term(space,YAP_ARG2);
+ IntVarArgs X3 = gecode_IntVarArgs_from_term(space,YAP_ARG3);
+ IntVarArgs X4 = gecode_IntVarArgs_from_term(space,YAP_ARG4);
+ IntVarArgs X5 = gecode_IntVarArgs_from_term(space,YAP_ARG5);
+ IntArgs X6 = gecode_IntArgs_from_term(YAP_ARG6);
+ BoolVarArgs X7 = gecode_BoolVarArgs_from_term(space,YAP_ARG7);
+ cumulative(*space,X2,X3,X4,X5,X6,X7);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_cumulative_135(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVar X2 = gecode_IntVar_from_term(space,YAP_ARG2);
+ IntVarArgs X3 = gecode_IntVarArgs_from_term(space,YAP_ARG3);
+ IntArgs X4 = gecode_IntArgs_from_term(YAP_ARG4);
+ IntArgs X5 = gecode_IntArgs_from_term(YAP_ARG5);
+ BoolVarArgs X6 = gecode_BoolVarArgs_from_term(space,YAP_ARG6);
+ IntPropLevel X7 = gecode_IntPropLevel_from_term(YAP_ARG7);
+ cumulative(*space,X2,X3,X4,X5,X6,X7);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_cumulative_153(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ int X2 = gecode_int_from_term(YAP_ARG2);
+ TaskTypeArgs X3 = gecode_TaskTypeArgs_from_term(YAP_ARG3);
+ IntVarArgs X4 = gecode_IntVarArgs_from_term(space,YAP_ARG4);
+ IntArgs X5 = gecode_IntArgs_from_term(YAP_ARG5);
+ IntArgs X6 = gecode_IntArgs_from_term(YAP_ARG6);
+ IntPropLevel X7 = gecode_IntPropLevel_from_term(YAP_ARG7);
+ cumulative(*space,X2,X3,X4,X5,X6,X7);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_cumulative_154(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ int X2 = gecode_int_from_term(YAP_ARG2);
+ TaskTypeArgs X3 = gecode_TaskTypeArgs_from_term(YAP_ARG3);
+ IntVarArgs X4 = gecode_IntVarArgs_from_term(space,YAP_ARG4);
+ IntArgs X5 = gecode_IntArgs_from_term(YAP_ARG5);
+ IntArgs X6 = gecode_IntArgs_from_term(YAP_ARG6);
+ BoolVarArgs X7 = gecode_BoolVarArgs_from_term(space,YAP_ARG7);
+ cumulative(*space,X2,X3,X4,X5,X6,X7);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_cumulative_149(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ int X2 = gecode_int_from_term(YAP_ARG2);
+ IntVarArgs X3 = gecode_IntVarArgs_from_term(space,YAP_ARG3);
+ IntVarArgs X4 = gecode_IntVarArgs_from_term(space,YAP_ARG4);
+ IntVarArgs X5 = gecode_IntVarArgs_from_term(space,YAP_ARG5);
+ IntArgs X6 = gecode_IntArgs_from_term(YAP_ARG6);
+ IntPropLevel X7 = gecode_IntPropLevel_from_term(YAP_ARG7);
+ cumulative(*space,X2,X3,X4,X5,X6,X7);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_cumulative_150(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ int X2 = gecode_int_from_term(YAP_ARG2);
+ IntVarArgs X3 = gecode_IntVarArgs_from_term(space,YAP_ARG3);
+ IntVarArgs X4 = gecode_IntVarArgs_from_term(space,YAP_ARG4);
+ IntVarArgs X5 = gecode_IntVarArgs_from_term(space,YAP_ARG5);
+ IntArgs X6 = gecode_IntArgs_from_term(YAP_ARG6);
+ BoolVarArgs X7 = gecode_BoolVarArgs_from_term(space,YAP_ARG7);
+ cumulative(*space,X2,X3,X4,X5,X6,X7);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_cumulative_147(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ int X2 = gecode_int_from_term(YAP_ARG2);
+ IntVarArgs X3 = gecode_IntVarArgs_from_term(space,YAP_ARG3);
+ IntArgs X4 = gecode_IntArgs_from_term(YAP_ARG4);
+ IntArgs X5 = gecode_IntArgs_from_term(YAP_ARG5);
+ BoolVarArgs X6 = gecode_BoolVarArgs_from_term(space,YAP_ARG6);
+ IntPropLevel X7 = gecode_IntPropLevel_from_term(YAP_ARG7);
+ cumulative(*space,X2,X3,X4,X5,X6,X7);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_distinct_178(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ int X3 = gecode_int_from_term(YAP_ARG3);
+ distinct(*space,X2,X3);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_distinct_177(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntPropLevel X3 = gecode_IntPropLevel_from_term(YAP_ARG3);
+ distinct(*space,X2,X3);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_distinct_172(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ BoolVarArgs X2 = gecode_BoolVarArgs_from_term(space,YAP_ARG2);
+ IntVarArgs X3 = gecode_IntVarArgs_from_term(space,YAP_ARG3);
+ distinct(*space,X2,X3);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_distinct_174(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntArgs X2 = gecode_IntArgs_from_term(YAP_ARG2);
+ IntVarArgs X3 = gecode_IntVarArgs_from_term(space,YAP_ARG3);
+ distinct(*space,X2,X3);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_member_329(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntVar X3 = gecode_IntVar_from_term(space,YAP_ARG3);
+ Reify X4 = gecode_Reify_from_term(YAP_ARG4);
+ IntPropLevel X5 = gecode_IntPropLevel_from_term(YAP_ARG5);
+ member(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_member_325(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ BoolVarArgs X2 = gecode_BoolVarArgs_from_term(space,YAP_ARG2);
+ BoolVar X3 = gecode_BoolVar_from_term(space,YAP_ARG3);
+ Reify X4 = gecode_Reify_from_term(YAP_ARG4);
+ IntPropLevel X5 = gecode_IntPropLevel_from_term(YAP_ARG5);
+ member(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_mod_338(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVar X2 = gecode_IntVar_from_term(space,YAP_ARG2);
+ IntVar X3 = gecode_IntVar_from_term(space,YAP_ARG3);
+ IntVar X4 = gecode_IntVar_from_term(space,YAP_ARG4);
+ mod(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_sqr_460(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVar X2 = gecode_IntVar_from_term(space,YAP_ARG2);
+ IntVar X3 = gecode_IntVar_from_term(space,YAP_ARG3);
+ sqr(*space,X2,X3);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_sqr_459(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ FloatVar X2 = gecode_FloatVar_from_term(space,YAP_ARG2);
+ FloatVar X3 = gecode_FloatVar_from_term(space,YAP_ARG3);
+ sqr(*space,X2,X3);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_sequence_452(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntSet X3 = gecode_IntSet_from_term(YAP_ARG3);
+ int X4 = gecode_int_from_term(YAP_ARG4);
+ int X5 = gecode_int_from_term(YAP_ARG5);
+ int X6 = gecode_int_from_term(YAP_ARG6);
+ IntPropLevel X7 = gecode_IntPropLevel_from_term(YAP_ARG7);
+ sequence(*space,X2,X3,X4,X5,X6,X7);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_sequence_450(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ BoolVarArgs X2 = gecode_BoolVarArgs_from_term(space,YAP_ARG2);
+ IntSet X3 = gecode_IntSet_from_term(YAP_ARG3);
+ int X4 = gecode_int_from_term(YAP_ARG4);
+ int X5 = gecode_int_from_term(YAP_ARG5);
+ int X6 = gecode_int_from_term(YAP_ARG6);
+ IntPropLevel X7 = gecode_IntPropLevel_from_term(YAP_ARG7);
+ sequence(*space,X2,X3,X4,X5,X6,X7);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_path_368(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntArgs X2 = gecode_IntArgs_from_term(YAP_ARG2);
+ int X3 = gecode_int_from_term(YAP_ARG3);
+ IntVarArgs X4 = gecode_IntVarArgs_from_term(space,YAP_ARG4);
+ IntVar X5 = gecode_IntVar_from_term(space,YAP_ARG5);
+ IntVar X6 = gecode_IntVar_from_term(space,YAP_ARG6);
+ IntVar X7 = gecode_IntVar_from_term(space,YAP_ARG7);
+ path(*space,X2,X3,X4,X5,X6,X7);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_path_365(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntArgs X2 = gecode_IntArgs_from_term(YAP_ARG2);
+ IntVarArgs X3 = gecode_IntVarArgs_from_term(space,YAP_ARG3);
+ IntVar X4 = gecode_IntVar_from_term(space,YAP_ARG4);
+ IntVar X5 = gecode_IntVar_from_term(space,YAP_ARG5);
+ IntVar X6 = gecode_IntVar_from_term(space,YAP_ARG6);
+ IntPropLevel X7 = gecode_IntPropLevel_from_term(YAP_ARG7);
+ path(*space,X2,X3,X4,X5,X6,X7);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_path_366(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntArgs X2 = gecode_IntArgs_from_term(YAP_ARG2);
+ IntVarArgs X3 = gecode_IntVarArgs_from_term(space,YAP_ARG3);
+ IntVar X4 = gecode_IntVar_from_term(space,YAP_ARG4);
+ IntVar X5 = gecode_IntVar_from_term(space,YAP_ARG5);
+ IntVarArgs X6 = gecode_IntVarArgs_from_term(space,YAP_ARG6);
+ IntVar X7 = gecode_IntVar_from_term(space,YAP_ARG7);
+ path(*space,X2,X3,X4,X5,X6,X7);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_divmod_184(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVar X2 = gecode_IntVar_from_term(space,YAP_ARG2);
+ IntVar X3 = gecode_IntVar_from_term(space,YAP_ARG3);
+ IntVar X4 = gecode_IntVar_from_term(space,YAP_ARG4);
+ IntVar X5 = gecode_IntVar_from_term(space,YAP_ARG5);
+ IntPropLevel X6 = gecode_IntPropLevel_from_term(YAP_ARG6);
+ divmod(*space,X2,X3,X4,X5,X6);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_sorted_455(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntVarArgs X3 = gecode_IntVarArgs_from_term(space,YAP_ARG3);
+ sorted(*space,X2,X3);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_extensional_271(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ TupleSet X3 = gecode_TupleSet_from_term(YAP_ARG3);
+ IntPropLevel X4 = gecode_IntPropLevel_from_term(YAP_ARG4);
+ extensional(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_extensional_269(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ DFA X3 = gecode_DFA_from_term(YAP_ARG3);
+ IntPropLevel X4 = gecode_IntPropLevel_from_term(YAP_ARG4);
+ extensional(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_extensional_267(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ BoolVarArgs X2 = gecode_BoolVarArgs_from_term(space,YAP_ARG2);
+ TupleSet X3 = gecode_TupleSet_from_term(YAP_ARG3);
+ IntPropLevel X4 = gecode_IntPropLevel_from_term(YAP_ARG4);
+ extensional(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_extensional_265(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ BoolVarArgs X2 = gecode_BoolVarArgs_from_term(space,YAP_ARG2);
+ DFA X3 = gecode_DFA_from_term(YAP_ARG3);
+ IntPropLevel X4 = gecode_IntPropLevel_from_term(YAP_ARG4);
+ extensional(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_circuit_98(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ int X2 = gecode_int_from_term(YAP_ARG2);
+ IntVarArgs X3 = gecode_IntVarArgs_from_term(space,YAP_ARG3);
+ circuit(*space,X2,X3);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_circuit_97(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntPropLevel X3 = gecode_IntPropLevel_from_term(YAP_ARG3);
+ circuit(*space,X2,X3);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_argmin_11(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntVar X3 = gecode_IntVar_from_term(space,YAP_ARG3);
+ bool X4 = gecode_bool_from_term(YAP_ARG4);
+ argmin(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_argmin_13(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ int X3 = gecode_int_from_term(YAP_ARG3);
+ IntVar X4 = gecode_IntVar_from_term(space,YAP_ARG4);
+ argmin(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_channel_75(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ FloatVar X2 = gecode_FloatVar_from_term(space,YAP_ARG2);
+ IntVar X3 = gecode_IntVar_from_term(space,YAP_ARG3);
+ channel(*space,X2,X3);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_channel_74(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ FloatVar X2 = gecode_FloatVar_from_term(space,YAP_ARG2);
+ BoolVar X3 = gecode_BoolVar_from_term(space,YAP_ARG3);
+ channel(*space,X2,X3);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_channel_77(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ BoolVarArgs X2 = gecode_BoolVarArgs_from_term(space,YAP_ARG2);
+ IntVar X3 = gecode_IntVar_from_term(space,YAP_ARG3);
+ channel(*space,X2,X3);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_channel_80(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ BoolVarArgs X2 = gecode_BoolVarArgs_from_term(space,YAP_ARG2);
+ SetVar X3 = gecode_SetVar_from_term(space,YAP_ARG3);
+ channel(*space,X2,X3);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_channel_72(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ BoolVar X2 = gecode_BoolVar_from_term(space,YAP_ARG2);
+ IntVar X3 = gecode_IntVar_from_term(space,YAP_ARG3);
+ channel(*space,X2,X3);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_channel_71(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ BoolVar X2 = gecode_BoolVar_from_term(space,YAP_ARG2);
+ FloatVar X3 = gecode_FloatVar_from_term(space,YAP_ARG3);
+ channel(*space,X2,X3);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_channel_83(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ SetVarArgs X3 = gecode_SetVarArgs_from_term(space,YAP_ARG3);
+ channel(*space,X2,X3);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_channel_81(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntVarArgs X3 = gecode_IntVarArgs_from_term(space,YAP_ARG3);
+ channel(*space,X2,X3);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_channel_76(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVar X2 = gecode_IntVar_from_term(space,YAP_ARG2);
+ FloatVar X3 = gecode_FloatVar_from_term(space,YAP_ARG3);
+ channel(*space,X2,X3);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_channel_86(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ SetVarArgs X2 = gecode_SetVarArgs_from_term(space,YAP_ARG2);
+ SetVarArgs X3 = gecode_SetVarArgs_from_term(space,YAP_ARG3);
+ channel(*space,X2,X3);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_count_110(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntArgs X3 = gecode_IntArgs_from_term(YAP_ARG3);
+ IntRelType X4 = gecode_IntRelType_from_term(YAP_ARG4);
+ IntVar X5 = gecode_IntVar_from_term(space,YAP_ARG5);
+ count(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_count_112(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntArgs X3 = gecode_IntArgs_from_term(YAP_ARG3);
+ IntRelType X4 = gecode_IntRelType_from_term(YAP_ARG4);
+ int X5 = gecode_int_from_term(YAP_ARG5);
+ count(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_count_128(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ int X3 = gecode_int_from_term(YAP_ARG3);
+ IntRelType X4 = gecode_IntRelType_from_term(YAP_ARG4);
+ IntVar X5 = gecode_IntVar_from_term(space,YAP_ARG5);
+ count(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_count_130(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ int X3 = gecode_int_from_term(YAP_ARG3);
+ IntRelType X4 = gecode_IntRelType_from_term(YAP_ARG4);
+ int X5 = gecode_int_from_term(YAP_ARG5);
+ count(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_count_114(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntSet X3 = gecode_IntSet_from_term(YAP_ARG3);
+ IntRelType X4 = gecode_IntRelType_from_term(YAP_ARG4);
+ IntVar X5 = gecode_IntVar_from_term(space,YAP_ARG5);
+ count(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_count_116(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntSet X3 = gecode_IntSet_from_term(YAP_ARG3);
+ IntRelType X4 = gecode_IntRelType_from_term(YAP_ARG4);
+ int X5 = gecode_int_from_term(YAP_ARG5);
+ count(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_count_119(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntSet X3 = gecode_IntSet_from_term(YAP_ARG3);
+ IntArgs X4 = gecode_IntArgs_from_term(YAP_ARG4);
+ IntPropLevel X5 = gecode_IntPropLevel_from_term(YAP_ARG5);
+ count(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_count_123(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntSetArgs X3 = gecode_IntSetArgs_from_term(YAP_ARG3);
+ IntArgs X4 = gecode_IntArgs_from_term(YAP_ARG4);
+ IntPropLevel X5 = gecode_IntPropLevel_from_term(YAP_ARG5);
+ count(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_count_127(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntVarArgs X3 = gecode_IntVarArgs_from_term(space,YAP_ARG3);
+ IntArgs X4 = gecode_IntArgs_from_term(YAP_ARG4);
+ IntPropLevel X5 = gecode_IntPropLevel_from_term(YAP_ARG5);
+ count(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_count_106(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntVar X3 = gecode_IntVar_from_term(space,YAP_ARG3);
+ IntRelType X4 = gecode_IntRelType_from_term(YAP_ARG4);
+ IntVar X5 = gecode_IntVar_from_term(space,YAP_ARG5);
+ count(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_count_108(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntVar X3 = gecode_IntVar_from_term(space,YAP_ARG3);
+ IntRelType X4 = gecode_IntRelType_from_term(YAP_ARG4);
+ int X5 = gecode_int_from_term(YAP_ARG5);
+ count(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_cumulatives_170(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntVarArgs X3 = gecode_IntVarArgs_from_term(space,YAP_ARG3);
+ IntVarArgs X4 = gecode_IntVarArgs_from_term(space,YAP_ARG4);
+ IntVarArgs X5 = gecode_IntVarArgs_from_term(space,YAP_ARG5);
+ IntVarArgs X6 = gecode_IntVarArgs_from_term(space,YAP_ARG6);
+ IntArgs X7 = gecode_IntArgs_from_term(YAP_ARG7);
+ bool X8 = gecode_bool_from_term(YAP_ARG8);
+ cumulatives(*space,X2,X3,X4,X5,X6,X7,X8);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_cumulatives_168(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntVarArgs X3 = gecode_IntVarArgs_from_term(space,YAP_ARG3);
+ IntVarArgs X4 = gecode_IntVarArgs_from_term(space,YAP_ARG4);
+ IntVarArgs X5 = gecode_IntVarArgs_from_term(space,YAP_ARG5);
+ IntArgs X6 = gecode_IntArgs_from_term(YAP_ARG6);
+ IntArgs X7 = gecode_IntArgs_from_term(YAP_ARG7);
+ bool X8 = gecode_bool_from_term(YAP_ARG8);
+ cumulatives(*space,X2,X3,X4,X5,X6,X7,X8);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_cumulatives_166(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntVarArgs X3 = gecode_IntVarArgs_from_term(space,YAP_ARG3);
+ IntArgs X4 = gecode_IntArgs_from_term(YAP_ARG4);
+ IntVarArgs X5 = gecode_IntVarArgs_from_term(space,YAP_ARG5);
+ IntVarArgs X6 = gecode_IntVarArgs_from_term(space,YAP_ARG6);
+ IntArgs X7 = gecode_IntArgs_from_term(YAP_ARG7);
+ bool X8 = gecode_bool_from_term(YAP_ARG8);
+ cumulatives(*space,X2,X3,X4,X5,X6,X7,X8);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_cumulatives_164(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntVarArgs X3 = gecode_IntVarArgs_from_term(space,YAP_ARG3);
+ IntArgs X4 = gecode_IntArgs_from_term(YAP_ARG4);
+ IntVarArgs X5 = gecode_IntVarArgs_from_term(space,YAP_ARG5);
+ IntArgs X6 = gecode_IntArgs_from_term(YAP_ARG6);
+ IntArgs X7 = gecode_IntArgs_from_term(YAP_ARG7);
+ bool X8 = gecode_bool_from_term(YAP_ARG8);
+ cumulatives(*space,X2,X3,X4,X5,X6,X7,X8);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_cumulatives_162(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntArgs X2 = gecode_IntArgs_from_term(YAP_ARG2);
+ IntVarArgs X3 = gecode_IntVarArgs_from_term(space,YAP_ARG3);
+ IntVarArgs X4 = gecode_IntVarArgs_from_term(space,YAP_ARG4);
+ IntVarArgs X5 = gecode_IntVarArgs_from_term(space,YAP_ARG5);
+ IntVarArgs X6 = gecode_IntVarArgs_from_term(space,YAP_ARG6);
+ IntArgs X7 = gecode_IntArgs_from_term(YAP_ARG7);
+ bool X8 = gecode_bool_from_term(YAP_ARG8);
+ cumulatives(*space,X2,X3,X4,X5,X6,X7,X8);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_cumulatives_160(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntArgs X2 = gecode_IntArgs_from_term(YAP_ARG2);
+ IntVarArgs X3 = gecode_IntVarArgs_from_term(space,YAP_ARG3);
+ IntVarArgs X4 = gecode_IntVarArgs_from_term(space,YAP_ARG4);
+ IntVarArgs X5 = gecode_IntVarArgs_from_term(space,YAP_ARG5);
+ IntArgs X6 = gecode_IntArgs_from_term(YAP_ARG6);
+ IntArgs X7 = gecode_IntArgs_from_term(YAP_ARG7);
+ bool X8 = gecode_bool_from_term(YAP_ARG8);
+ cumulatives(*space,X2,X3,X4,X5,X6,X7,X8);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_cumulatives_158(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntArgs X2 = gecode_IntArgs_from_term(YAP_ARG2);
+ IntVarArgs X3 = gecode_IntVarArgs_from_term(space,YAP_ARG3);
+ IntArgs X4 = gecode_IntArgs_from_term(YAP_ARG4);
+ IntVarArgs X5 = gecode_IntVarArgs_from_term(space,YAP_ARG5);
+ IntVarArgs X6 = gecode_IntVarArgs_from_term(space,YAP_ARG6);
+ IntArgs X7 = gecode_IntArgs_from_term(YAP_ARG7);
+ bool X8 = gecode_bool_from_term(YAP_ARG8);
+ cumulatives(*space,X2,X3,X4,X5,X6,X7,X8);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_cumulatives_156(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntArgs X2 = gecode_IntArgs_from_term(YAP_ARG2);
+ IntVarArgs X3 = gecode_IntVarArgs_from_term(space,YAP_ARG3);
+ IntArgs X4 = gecode_IntArgs_from_term(YAP_ARG4);
+ IntVarArgs X5 = gecode_IntVarArgs_from_term(space,YAP_ARG5);
+ IntArgs X6 = gecode_IntArgs_from_term(YAP_ARG6);
+ IntArgs X7 = gecode_IntArgs_from_term(YAP_ARG7);
+ bool X8 = gecode_bool_from_term(YAP_ARG8);
+ cumulatives(*space,X2,X3,X4,X5,X6,X7,X8);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_binpacking_38(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntVarArgs X3 = gecode_IntVarArgs_from_term(space,YAP_ARG3);
+ IntArgs X4 = gecode_IntArgs_from_term(YAP_ARG4);
+ IntPropLevel X5 = gecode_IntPropLevel_from_term(YAP_ARG5);
+ binpacking(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_extensional_270(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ TupleSet X3 = gecode_TupleSet_from_term(YAP_ARG3);
+ extensional(*space,X2,X3);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_extensional_268(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ DFA X3 = gecode_DFA_from_term(YAP_ARG3);
+ extensional(*space,X2,X3);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_extensional_266(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ BoolVarArgs X2 = gecode_BoolVarArgs_from_term(space,YAP_ARG2);
+ TupleSet X3 = gecode_TupleSet_from_term(YAP_ARG3);
+ extensional(*space,X2,X3);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_extensional_264(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ BoolVarArgs X2 = gecode_BoolVarArgs_from_term(space,YAP_ARG2);
+ DFA X3 = gecode_DFA_from_term(YAP_ARG3);
+ extensional(*space,X2,X3);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_linear_309(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntRelType X3 = gecode_IntRelType_from_term(YAP_ARG3);
+ IntVar X4 = gecode_IntVar_from_term(space,YAP_ARG4);
+ Reify X5 = gecode_Reify_from_term(YAP_ARG5);
+ IntPropLevel X6 = gecode_IntPropLevel_from_term(YAP_ARG6);
+ linear(*space,X2,X3,X4,X5,X6);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_linear_313(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntRelType X3 = gecode_IntRelType_from_term(YAP_ARG3);
+ int X4 = gecode_int_from_term(YAP_ARG4);
+ Reify X5 = gecode_Reify_from_term(YAP_ARG5);
+ IntPropLevel X6 = gecode_IntPropLevel_from_term(YAP_ARG6);
+ linear(*space,X2,X3,X4,X5,X6);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_linear_277(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ BoolVarArgs X2 = gecode_BoolVarArgs_from_term(space,YAP_ARG2);
+ IntRelType X3 = gecode_IntRelType_from_term(YAP_ARG3);
+ IntVar X4 = gecode_IntVar_from_term(space,YAP_ARG4);
+ Reify X5 = gecode_Reify_from_term(YAP_ARG5);
+ IntPropLevel X6 = gecode_IntPropLevel_from_term(YAP_ARG6);
+ linear(*space,X2,X3,X4,X5,X6);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_linear_281(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ BoolVarArgs X2 = gecode_BoolVarArgs_from_term(space,YAP_ARG2);
+ IntRelType X3 = gecode_IntRelType_from_term(YAP_ARG3);
+ int X4 = gecode_int_from_term(YAP_ARG4);
+ Reify X5 = gecode_Reify_from_term(YAP_ARG5);
+ IntPropLevel X6 = gecode_IntPropLevel_from_term(YAP_ARG6);
+ linear(*space,X2,X3,X4,X5,X6);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_linear_285(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ FloatValArgs X2 = gecode_FloatValArgs_from_term(YAP_ARG2);
+ FloatVarArgs X3 = gecode_FloatVarArgs_from_term(space,YAP_ARG3);
+ FloatRelType X4 = gecode_FloatRelType_from_term(YAP_ARG4);
+ FloatVar X5 = gecode_FloatVar_from_term(space,YAP_ARG5);
+ Reify X6 = gecode_Reify_from_term(YAP_ARG6);
+ linear(*space,X2,X3,X4,X5,X6);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_linear_283(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ FloatValArgs X2 = gecode_FloatValArgs_from_term(YAP_ARG2);
+ FloatVarArgs X3 = gecode_FloatVarArgs_from_term(space,YAP_ARG3);
+ FloatRelType X4 = gecode_FloatRelType_from_term(YAP_ARG4);
+ FloatNum X5 = gecode_FloatNum_from_term(YAP_ARG5);
+ Reify X6 = gecode_Reify_from_term(YAP_ARG6);
+ linear(*space,X2,X3,X4,X5,X6);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_linear_299(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntArgs X2 = gecode_IntArgs_from_term(YAP_ARG2);
+ IntVarArgs X3 = gecode_IntVarArgs_from_term(space,YAP_ARG3);
+ IntRelType X4 = gecode_IntRelType_from_term(YAP_ARG4);
+ IntVar X5 = gecode_IntVar_from_term(space,YAP_ARG5);
+ IntPropLevel X6 = gecode_IntPropLevel_from_term(YAP_ARG6);
+ linear(*space,X2,X3,X4,X5,X6);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_linear_300(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntArgs X2 = gecode_IntArgs_from_term(YAP_ARG2);
+ IntVarArgs X3 = gecode_IntVarArgs_from_term(space,YAP_ARG3);
+ IntRelType X4 = gecode_IntRelType_from_term(YAP_ARG4);
+ IntVar X5 = gecode_IntVar_from_term(space,YAP_ARG5);
+ Reify X6 = gecode_Reify_from_term(YAP_ARG6);
+ linear(*space,X2,X3,X4,X5,X6);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_linear_303(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntArgs X2 = gecode_IntArgs_from_term(YAP_ARG2);
+ IntVarArgs X3 = gecode_IntVarArgs_from_term(space,YAP_ARG3);
+ IntRelType X4 = gecode_IntRelType_from_term(YAP_ARG4);
+ int X5 = gecode_int_from_term(YAP_ARG5);
+ IntPropLevel X6 = gecode_IntPropLevel_from_term(YAP_ARG6);
+ linear(*space,X2,X3,X4,X5,X6);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_linear_304(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntArgs X2 = gecode_IntArgs_from_term(YAP_ARG2);
+ IntVarArgs X3 = gecode_IntVarArgs_from_term(space,YAP_ARG3);
+ IntRelType X4 = gecode_IntRelType_from_term(YAP_ARG4);
+ int X5 = gecode_int_from_term(YAP_ARG5);
+ Reify X6 = gecode_Reify_from_term(YAP_ARG6);
+ linear(*space,X2,X3,X4,X5,X6);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_linear_291(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntArgs X2 = gecode_IntArgs_from_term(YAP_ARG2);
+ BoolVarArgs X3 = gecode_BoolVarArgs_from_term(space,YAP_ARG3);
+ IntRelType X4 = gecode_IntRelType_from_term(YAP_ARG4);
+ IntVar X5 = gecode_IntVar_from_term(space,YAP_ARG5);
+ IntPropLevel X6 = gecode_IntPropLevel_from_term(YAP_ARG6);
+ linear(*space,X2,X3,X4,X5,X6);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_linear_292(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntArgs X2 = gecode_IntArgs_from_term(YAP_ARG2);
+ BoolVarArgs X3 = gecode_BoolVarArgs_from_term(space,YAP_ARG3);
+ IntRelType X4 = gecode_IntRelType_from_term(YAP_ARG4);
+ IntVar X5 = gecode_IntVar_from_term(space,YAP_ARG5);
+ Reify X6 = gecode_Reify_from_term(YAP_ARG6);
+ linear(*space,X2,X3,X4,X5,X6);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_linear_295(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntArgs X2 = gecode_IntArgs_from_term(YAP_ARG2);
+ BoolVarArgs X3 = gecode_BoolVarArgs_from_term(space,YAP_ARG3);
+ IntRelType X4 = gecode_IntRelType_from_term(YAP_ARG4);
+ int X5 = gecode_int_from_term(YAP_ARG5);
+ IntPropLevel X6 = gecode_IntPropLevel_from_term(YAP_ARG6);
+ linear(*space,X2,X3,X4,X5,X6);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_linear_296(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntArgs X2 = gecode_IntArgs_from_term(YAP_ARG2);
+ BoolVarArgs X3 = gecode_BoolVarArgs_from_term(space,YAP_ARG3);
+ IntRelType X4 = gecode_IntRelType_from_term(YAP_ARG4);
+ int X5 = gecode_int_from_term(YAP_ARG5);
+ Reify X6 = gecode_Reify_from_term(YAP_ARG6);
+ linear(*space,X2,X3,X4,X5,X6);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_nooverlap_347(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntVarArgs X3 = gecode_IntVarArgs_from_term(space,YAP_ARG3);
+ IntVarArgs X4 = gecode_IntVarArgs_from_term(space,YAP_ARG4);
+ IntVarArgs X5 = gecode_IntVarArgs_from_term(space,YAP_ARG5);
+ IntVarArgs X6 = gecode_IntVarArgs_from_term(space,YAP_ARG6);
+ IntVarArgs X7 = gecode_IntVarArgs_from_term(space,YAP_ARG7);
+ nooverlap(*space,X2,X3,X4,X5,X6,X7);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_nooverlap_346(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntArgs X3 = gecode_IntArgs_from_term(YAP_ARG3);
+ IntVarArgs X4 = gecode_IntVarArgs_from_term(space,YAP_ARG4);
+ IntArgs X5 = gecode_IntArgs_from_term(YAP_ARG5);
+ BoolVarArgs X6 = gecode_BoolVarArgs_from_term(space,YAP_ARG6);
+ IntPropLevel X7 = gecode_IntPropLevel_from_term(YAP_ARG7);
+ nooverlap(*space,X2,X3,X4,X5,X6,X7);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_div_182(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVar X2 = gecode_IntVar_from_term(space,YAP_ARG2);
+ IntVar X3 = gecode_IntVar_from_term(space,YAP_ARG3);
+ IntVar X4 = gecode_IntVar_from_term(space,YAP_ARG4);
+ IntPropLevel X5 = gecode_IntPropLevel_from_term(YAP_ARG5);
+ div(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_sqr_461(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVar X2 = gecode_IntVar_from_term(space,YAP_ARG2);
+ IntVar X3 = gecode_IntVar_from_term(space,YAP_ARG3);
+ IntPropLevel X4 = gecode_IntPropLevel_from_term(YAP_ARG4);
+ sqr(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_channel_82(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntVarArgs X3 = gecode_IntVarArgs_from_term(space,YAP_ARG3);
+ IntPropLevel X4 = gecode_IntPropLevel_from_term(YAP_ARG4);
+ channel(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_channel_78(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ BoolVarArgs X2 = gecode_BoolVarArgs_from_term(space,YAP_ARG2);
+ IntVar X3 = gecode_IntVar_from_term(space,YAP_ARG3);
+ int X4 = gecode_int_from_term(YAP_ARG4);
+ channel(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_channel_73(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ BoolVar X2 = gecode_BoolVar_from_term(space,YAP_ARG2);
+ IntVar X3 = gecode_IntVar_from_term(space,YAP_ARG3);
+ IntPropLevel X4 = gecode_IntPropLevel_from_term(YAP_ARG4);
+ channel(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_path_369(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntArgs X2 = gecode_IntArgs_from_term(YAP_ARG2);
+ int X3 = gecode_int_from_term(YAP_ARG3);
+ IntVarArgs X4 = gecode_IntVarArgs_from_term(space,YAP_ARG4);
+ IntVar X5 = gecode_IntVar_from_term(space,YAP_ARG5);
+ IntVar X6 = gecode_IntVar_from_term(space,YAP_ARG6);
+ IntVar X7 = gecode_IntVar_from_term(space,YAP_ARG7);
+ IntPropLevel X8 = gecode_IntPropLevel_from_term(YAP_ARG8);
+ path(*space,X2,X3,X4,X5,X6,X7,X8);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_path_370(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntArgs X2 = gecode_IntArgs_from_term(YAP_ARG2);
+ int X3 = gecode_int_from_term(YAP_ARG3);
+ IntVarArgs X4 = gecode_IntVarArgs_from_term(space,YAP_ARG4);
+ IntVar X5 = gecode_IntVar_from_term(space,YAP_ARG5);
+ IntVar X6 = gecode_IntVar_from_term(space,YAP_ARG6);
+ IntVarArgs X7 = gecode_IntVarArgs_from_term(space,YAP_ARG7);
+ IntVar X8 = gecode_IntVar_from_term(space,YAP_ARG8);
+ path(*space,X2,X3,X4,X5,X6,X7,X8);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_path_367(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntArgs X2 = gecode_IntArgs_from_term(YAP_ARG2);
+ IntVarArgs X3 = gecode_IntVarArgs_from_term(space,YAP_ARG3);
+ IntVar X4 = gecode_IntVar_from_term(space,YAP_ARG4);
+ IntVar X5 = gecode_IntVar_from_term(space,YAP_ARG5);
+ IntVarArgs X6 = gecode_IntVarArgs_from_term(space,YAP_ARG6);
+ IntVar X7 = gecode_IntVar_from_term(space,YAP_ARG7);
+ IntPropLevel X8 = gecode_IntPropLevel_from_term(YAP_ARG8);
+ path(*space,X2,X3,X4,X5,X6,X7,X8);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_unary_474(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ TaskTypeArgs X2 = gecode_TaskTypeArgs_from_term(YAP_ARG2);
+ IntVarArgs X3 = gecode_IntVarArgs_from_term(space,YAP_ARG3);
+ IntArgs X4 = gecode_IntArgs_from_term(YAP_ARG4);
+ IntPropLevel X5 = gecode_IntPropLevel_from_term(YAP_ARG5);
+ unary(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_unary_475(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ TaskTypeArgs X2 = gecode_TaskTypeArgs_from_term(YAP_ARG2);
+ IntVarArgs X3 = gecode_IntVarArgs_from_term(space,YAP_ARG3);
+ IntArgs X4 = gecode_IntArgs_from_term(YAP_ARG4);
+ BoolVarArgs X5 = gecode_BoolVarArgs_from_term(space,YAP_ARG5);
+ unary(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_unary_470(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntVarArgs X3 = gecode_IntVarArgs_from_term(space,YAP_ARG3);
+ IntVarArgs X4 = gecode_IntVarArgs_from_term(space,YAP_ARG4);
+ IntPropLevel X5 = gecode_IntPropLevel_from_term(YAP_ARG5);
+ unary(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_unary_471(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntVarArgs X3 = gecode_IntVarArgs_from_term(space,YAP_ARG3);
+ IntVarArgs X4 = gecode_IntVarArgs_from_term(space,YAP_ARG4);
+ BoolVarArgs X5 = gecode_BoolVarArgs_from_term(space,YAP_ARG5);
+ unary(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_unary_468(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntArgs X3 = gecode_IntArgs_from_term(YAP_ARG3);
+ BoolVarArgs X4 = gecode_BoolVarArgs_from_term(space,YAP_ARG4);
+ IntPropLevel X5 = gecode_IntPropLevel_from_term(YAP_ARG5);
+ unary(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_sorted_456(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntVarArgs X3 = gecode_IntVarArgs_from_term(space,YAP_ARG3);
+ IntPropLevel X4 = gecode_IntPropLevel_from_term(YAP_ARG4);
+ sorted(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_sorted_457(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntVarArgs X3 = gecode_IntVarArgs_from_term(space,YAP_ARG3);
+ IntVarArgs X4 = gecode_IntVarArgs_from_term(space,YAP_ARG4);
+ sorted(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_element_261(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntVar X3 = gecode_IntVar_from_term(space,YAP_ARG3);
+ int X4 = gecode_int_from_term(YAP_ARG4);
+ IntVar X5 = gecode_IntVar_from_term(space,YAP_ARG5);
+ int X6 = gecode_int_from_term(YAP_ARG6);
+ IntVar X7 = gecode_IntVar_from_term(space,YAP_ARG7);
+ IntPropLevel X8 = gecode_IntPropLevel_from_term(YAP_ARG8);
+ element(*space,X2,X3,X4,X5,X6,X7,X8);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_element_253(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ BoolVarArgs X2 = gecode_BoolVarArgs_from_term(space,YAP_ARG2);
+ IntVar X3 = gecode_IntVar_from_term(space,YAP_ARG3);
+ int X4 = gecode_int_from_term(YAP_ARG4);
+ IntVar X5 = gecode_IntVar_from_term(space,YAP_ARG5);
+ int X6 = gecode_int_from_term(YAP_ARG6);
+ BoolVar X7 = gecode_BoolVar_from_term(space,YAP_ARG7);
+ IntPropLevel X8 = gecode_IntPropLevel_from_term(YAP_ARG8);
+ element(*space,X2,X3,X4,X5,X6,X7,X8);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_element_239(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntArgs X2 = gecode_IntArgs_from_term(YAP_ARG2);
+ IntVar X3 = gecode_IntVar_from_term(space,YAP_ARG3);
+ int X4 = gecode_int_from_term(YAP_ARG4);
+ IntVar X5 = gecode_IntVar_from_term(space,YAP_ARG5);
+ int X6 = gecode_int_from_term(YAP_ARG6);
+ IntVar X7 = gecode_IntVar_from_term(space,YAP_ARG7);
+ IntPropLevel X8 = gecode_IntPropLevel_from_term(YAP_ARG8);
+ element(*space,X2,X3,X4,X5,X6,X7,X8);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_element_237(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntArgs X2 = gecode_IntArgs_from_term(YAP_ARG2);
+ IntVar X3 = gecode_IntVar_from_term(space,YAP_ARG3);
+ int X4 = gecode_int_from_term(YAP_ARG4);
+ IntVar X5 = gecode_IntVar_from_term(space,YAP_ARG5);
+ int X6 = gecode_int_from_term(YAP_ARG6);
+ BoolVar X7 = gecode_BoolVar_from_term(space,YAP_ARG7);
+ IntPropLevel X8 = gecode_IntPropLevel_from_term(YAP_ARG8);
+ element(*space,X2,X3,X4,X5,X6,X7,X8);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_assign_19(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ FloatVar X2 = gecode_FloatVar_from_term(space,YAP_ARG2);
+ FloatAssign X3 = gecode_FloatAssign_from_term(YAP_ARG3);
+ FloatVarValPrint X4 = gecode_FloatVarValPrint_from_term(YAP_ARG4);
+ assign(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_assign_28(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ FloatVarArgs X2 = gecode_FloatVarArgs_from_term(space,YAP_ARG2);
+ FloatAssign X3 = gecode_FloatAssign_from_term(YAP_ARG3);
+ FloatBranchFilter X4 = gecode_FloatBranchFilter_from_term(YAP_ARG4);
+ assign(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_assign_25(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ BoolVarArgs X2 = gecode_BoolVarArgs_from_term(space,YAP_ARG2);
+ IntAssign X3 = gecode_IntAssign_from_term(YAP_ARG3);
+ BoolBranchFilter X4 = gecode_BoolBranchFilter_from_term(YAP_ARG4);
+ assign(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_assign_17(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ BoolVar X2 = gecode_BoolVar_from_term(space,YAP_ARG2);
+ IntAssign X3 = gecode_IntAssign_from_term(YAP_ARG3);
+ BoolVarValPrint X4 = gecode_BoolVarValPrint_from_term(YAP_ARG4);
+ assign(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_assign_31(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntAssign X3 = gecode_IntAssign_from_term(YAP_ARG3);
+ IntBranchFilter X4 = gecode_IntBranchFilter_from_term(YAP_ARG4);
+ assign(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_assign_21(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVar X2 = gecode_IntVar_from_term(space,YAP_ARG2);
+ IntAssign X3 = gecode_IntAssign_from_term(YAP_ARG3);
+ IntVarValPrint X4 = gecode_IntVarValPrint_from_term(YAP_ARG4);
+ assign(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_assign_34(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ SetVarArgs X2 = gecode_SetVarArgs_from_term(space,YAP_ARG2);
+ SetAssign X3 = gecode_SetAssign_from_term(YAP_ARG3);
+ SetBranchFilter X4 = gecode_SetBranchFilter_from_term(YAP_ARG4);
+ assign(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_assign_23(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ SetVar X2 = gecode_SetVar_from_term(space,YAP_ARG2);
+ SetAssign X3 = gecode_SetAssign_from_term(YAP_ARG3);
+ SetVarValPrint X4 = gecode_SetVarValPrint_from_term(YAP_ARG4);
+ assign(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_element_257(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntVar X3 = gecode_IntVar_from_term(space,YAP_ARG3);
+ IntVar X4 = gecode_IntVar_from_term(space,YAP_ARG4);
+ IntPropLevel X5 = gecode_IntPropLevel_from_term(YAP_ARG5);
+ element(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_element_259(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntVar X3 = gecode_IntVar_from_term(space,YAP_ARG3);
+ int X4 = gecode_int_from_term(YAP_ARG4);
+ IntPropLevel X5 = gecode_IntPropLevel_from_term(YAP_ARG5);
+ element(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_element_251(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ BoolVarArgs X2 = gecode_BoolVarArgs_from_term(space,YAP_ARG2);
+ IntVar X3 = gecode_IntVar_from_term(space,YAP_ARG3);
+ int X4 = gecode_int_from_term(YAP_ARG4);
+ IntPropLevel X5 = gecode_IntPropLevel_from_term(YAP_ARG5);
+ element(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_element_249(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ BoolVarArgs X2 = gecode_BoolVarArgs_from_term(space,YAP_ARG2);
+ IntVar X3 = gecode_IntVar_from_term(space,YAP_ARG3);
+ BoolVar X4 = gecode_BoolVar_from_term(space,YAP_ARG4);
+ IntPropLevel X5 = gecode_IntPropLevel_from_term(YAP_ARG5);
+ element(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_element_246(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ SetOpType X2 = gecode_SetOpType_from_term(YAP_ARG2);
+ SetVarArgs X3 = gecode_SetVarArgs_from_term(space,YAP_ARG3);
+ SetVar X4 = gecode_SetVar_from_term(space,YAP_ARG4);
+ SetVar X5 = gecode_SetVar_from_term(space,YAP_ARG5);
+ element(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_element_244(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ SetOpType X2 = gecode_SetOpType_from_term(YAP_ARG2);
+ IntVarArgs X3 = gecode_IntVarArgs_from_term(space,YAP_ARG3);
+ SetVar X4 = gecode_SetVar_from_term(space,YAP_ARG4);
+ SetVar X5 = gecode_SetVar_from_term(space,YAP_ARG5);
+ element(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_element_242(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ SetOpType X2 = gecode_SetOpType_from_term(YAP_ARG2);
+ IntSetArgs X3 = gecode_IntSetArgs_from_term(YAP_ARG3);
+ SetVar X4 = gecode_SetVar_from_term(space,YAP_ARG4);
+ SetVar X5 = gecode_SetVar_from_term(space,YAP_ARG5);
+ element(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_element_240(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ SetOpType X2 = gecode_SetOpType_from_term(YAP_ARG2);
+ IntArgs X3 = gecode_IntArgs_from_term(YAP_ARG3);
+ SetVar X4 = gecode_SetVar_from_term(space,YAP_ARG4);
+ SetVar X5 = gecode_SetVar_from_term(space,YAP_ARG5);
+ element(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_element_233(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntArgs X2 = gecode_IntArgs_from_term(YAP_ARG2);
+ IntVar X3 = gecode_IntVar_from_term(space,YAP_ARG3);
+ IntVar X4 = gecode_IntVar_from_term(space,YAP_ARG4);
+ IntPropLevel X5 = gecode_IntPropLevel_from_term(YAP_ARG5);
+ element(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_element_235(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntArgs X2 = gecode_IntArgs_from_term(YAP_ARG2);
+ IntVar X3 = gecode_IntVar_from_term(space,YAP_ARG3);
+ int X4 = gecode_int_from_term(YAP_ARG4);
+ IntPropLevel X5 = gecode_IntPropLevel_from_term(YAP_ARG5);
+ element(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_element_231(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntArgs X2 = gecode_IntArgs_from_term(YAP_ARG2);
+ IntVar X3 = gecode_IntVar_from_term(space,YAP_ARG3);
+ BoolVar X4 = gecode_BoolVar_from_term(space,YAP_ARG4);
+ IntPropLevel X5 = gecode_IntPropLevel_from_term(YAP_ARG5);
+ element(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_sequence_454(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ SetVarArgs X2 = gecode_SetVarArgs_from_term(space,YAP_ARG2);
+ SetVar X3 = gecode_SetVar_from_term(space,YAP_ARG3);
+ sequence(*space,X2,X3);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_branch_54(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ FloatVarArgs X2 = gecode_FloatVarArgs_from_term(space,YAP_ARG2);
+ FloatVarBranch X3 = gecode_FloatVarBranch_from_term(YAP_ARG3);
+ FloatValBranch X4 = gecode_FloatValBranch_from_term(YAP_ARG4);
+ FloatBranchFilter X5 = gecode_FloatBranchFilter_from_term(YAP_ARG5);
+ branch(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_branch_50(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ BoolVarArgs X2 = gecode_BoolVarArgs_from_term(space,YAP_ARG2);
+ IntVarBranch X3 = gecode_IntVarBranch_from_term(YAP_ARG3);
+ IntValBranch X4 = gecode_IntValBranch_from_term(YAP_ARG4);
+ Symmetries X5 = gecode_Symmetries_from_term(YAP_ARG5);
+ branch(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_branch_48(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ BoolVarArgs X2 = gecode_BoolVarArgs_from_term(space,YAP_ARG2);
+ IntVarBranch X3 = gecode_IntVarBranch_from_term(YAP_ARG3);
+ IntValBranch X4 = gecode_IntValBranch_from_term(YAP_ARG4);
+ BoolBranchFilter X5 = gecode_BoolBranchFilter_from_term(YAP_ARG5);
+ branch(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_branch_59(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntVarBranch X3 = gecode_IntVarBranch_from_term(YAP_ARG3);
+ IntValBranch X4 = gecode_IntValBranch_from_term(YAP_ARG4);
+ Symmetries X5 = gecode_Symmetries_from_term(YAP_ARG5);
+ branch(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_branch_57(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntVarBranch X3 = gecode_IntVarBranch_from_term(YAP_ARG3);
+ IntValBranch X4 = gecode_IntValBranch_from_term(YAP_ARG4);
+ IntBranchFilter X5 = gecode_IntBranchFilter_from_term(YAP_ARG5);
+ branch(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_branch_63(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ SetVarArgs X2 = gecode_SetVarArgs_from_term(space,YAP_ARG2);
+ SetVarBranch X3 = gecode_SetVarBranch_from_term(YAP_ARG3);
+ SetValBranch X4 = gecode_SetValBranch_from_term(YAP_ARG4);
+ SetBranchFilter X5 = gecode_SetBranchFilter_from_term(YAP_ARG5);
+ branch(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_branch_65(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ SetVarArgs X2 = gecode_SetVarArgs_from_term(space,YAP_ARG2);
+ SetVarBranch X3 = gecode_SetVarBranch_from_term(YAP_ARG3);
+ SetValBranch X4 = gecode_SetValBranch_from_term(YAP_ARG4);
+ Symmetries X5 = gecode_Symmetries_from_term(YAP_ARG5);
+ branch(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_circuit_95(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntArgs X2 = gecode_IntArgs_from_term(YAP_ARG2);
+ int X3 = gecode_int_from_term(YAP_ARG3);
+ IntVarArgs X4 = gecode_IntVarArgs_from_term(space,YAP_ARG4);
+ IntVarArgs X5 = gecode_IntVarArgs_from_term(space,YAP_ARG5);
+ IntVar X6 = gecode_IntVar_from_term(space,YAP_ARG6);
+ IntPropLevel X7 = gecode_IntPropLevel_from_term(YAP_ARG7);
+ circuit(*space,X2,X3,X4,X5,X6,X7);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_pow_377(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVar X2 = gecode_IntVar_from_term(space,YAP_ARG2);
+ int X3 = gecode_int_from_term(YAP_ARG3);
+ IntVar X4 = gecode_IntVar_from_term(space,YAP_ARG4);
+ pow(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_pow_376(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ FloatVar X2 = gecode_FloatVar_from_term(space,YAP_ARG2);
+ int X3 = gecode_int_from_term(YAP_ARG3);
+ FloatVar X4 = gecode_FloatVar_from_term(space,YAP_ARG4);
+ pow(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_precede_383(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ SetVarArgs X2 = gecode_SetVarArgs_from_term(space,YAP_ARG2);
+ IntArgs X3 = gecode_IntArgs_from_term(YAP_ARG3);
+ precede(*space,X2,X3);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_precede_379(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntArgs X3 = gecode_IntArgs_from_term(YAP_ARG3);
+ precede(*space,X2,X3);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_argmax_6(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntVar X3 = gecode_IntVar_from_term(space,YAP_ARG3);
+ bool X4 = gecode_bool_from_term(YAP_ARG4);
+ IntPropLevel X5 = gecode_IntPropLevel_from_term(YAP_ARG5);
+ argmax(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_argmax_8(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ int X3 = gecode_int_from_term(YAP_ARG3);
+ IntVar X4 = gecode_IntVar_from_term(space,YAP_ARG4);
+ bool X5 = gecode_bool_from_term(YAP_ARG5);
+ argmax(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_cumulative_140(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVar X2 = gecode_IntVar_from_term(space,YAP_ARG2);
+ TaskTypeArgs X3 = gecode_TaskTypeArgs_from_term(YAP_ARG3);
+ IntVarArgs X4 = gecode_IntVarArgs_from_term(space,YAP_ARG4);
+ IntArgs X5 = gecode_IntArgs_from_term(YAP_ARG5);
+ IntArgs X6 = gecode_IntArgs_from_term(YAP_ARG6);
+ cumulative(*space,X2,X3,X4,X5,X6);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_cumulative_136(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVar X2 = gecode_IntVar_from_term(space,YAP_ARG2);
+ IntVarArgs X3 = gecode_IntVarArgs_from_term(space,YAP_ARG3);
+ IntVarArgs X4 = gecode_IntVarArgs_from_term(space,YAP_ARG4);
+ IntVarArgs X5 = gecode_IntVarArgs_from_term(space,YAP_ARG5);
+ IntArgs X6 = gecode_IntArgs_from_term(YAP_ARG6);
+ cumulative(*space,X2,X3,X4,X5,X6);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_cumulative_133(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVar X2 = gecode_IntVar_from_term(space,YAP_ARG2);
+ IntVarArgs X3 = gecode_IntVarArgs_from_term(space,YAP_ARG3);
+ IntArgs X4 = gecode_IntArgs_from_term(YAP_ARG4);
+ IntArgs X5 = gecode_IntArgs_from_term(YAP_ARG5);
+ IntPropLevel X6 = gecode_IntPropLevel_from_term(YAP_ARG6);
+ cumulative(*space,X2,X3,X4,X5,X6);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_cumulative_134(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVar X2 = gecode_IntVar_from_term(space,YAP_ARG2);
+ IntVarArgs X3 = gecode_IntVarArgs_from_term(space,YAP_ARG3);
+ IntArgs X4 = gecode_IntArgs_from_term(YAP_ARG4);
+ IntArgs X5 = gecode_IntArgs_from_term(YAP_ARG5);
+ BoolVarArgs X6 = gecode_BoolVarArgs_from_term(space,YAP_ARG6);
+ cumulative(*space,X2,X3,X4,X5,X6);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_cumulative_152(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ int X2 = gecode_int_from_term(YAP_ARG2);
+ TaskTypeArgs X3 = gecode_TaskTypeArgs_from_term(YAP_ARG3);
+ IntVarArgs X4 = gecode_IntVarArgs_from_term(space,YAP_ARG4);
+ IntArgs X5 = gecode_IntArgs_from_term(YAP_ARG5);
+ IntArgs X6 = gecode_IntArgs_from_term(YAP_ARG6);
+ cumulative(*space,X2,X3,X4,X5,X6);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_cumulative_148(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ int X2 = gecode_int_from_term(YAP_ARG2);
+ IntVarArgs X3 = gecode_IntVarArgs_from_term(space,YAP_ARG3);
+ IntVarArgs X4 = gecode_IntVarArgs_from_term(space,YAP_ARG4);
+ IntVarArgs X5 = gecode_IntVarArgs_from_term(space,YAP_ARG5);
+ IntArgs X6 = gecode_IntArgs_from_term(YAP_ARG6);
+ cumulative(*space,X2,X3,X4,X5,X6);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_cumulative_145(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ int X2 = gecode_int_from_term(YAP_ARG2);
+ IntVarArgs X3 = gecode_IntVarArgs_from_term(space,YAP_ARG3);
+ IntArgs X4 = gecode_IntArgs_from_term(YAP_ARG4);
+ IntArgs X5 = gecode_IntArgs_from_term(YAP_ARG5);
+ IntPropLevel X6 = gecode_IntPropLevel_from_term(YAP_ARG6);
+ cumulative(*space,X2,X3,X4,X5,X6);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_cumulative_146(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ int X2 = gecode_int_from_term(YAP_ARG2);
+ IntVarArgs X3 = gecode_IntVarArgs_from_term(space,YAP_ARG3);
+ IntArgs X4 = gecode_IntArgs_from_term(YAP_ARG4);
+ IntArgs X5 = gecode_IntArgs_from_term(YAP_ARG5);
+ BoolVarArgs X6 = gecode_BoolVarArgs_from_term(space,YAP_ARG6);
+ cumulative(*space,X2,X3,X4,X5,X6);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_distinct_179(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ int X3 = gecode_int_from_term(YAP_ARG3);
+ IntPropLevel X4 = gecode_IntPropLevel_from_term(YAP_ARG4);
+ distinct(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_distinct_173(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ BoolVarArgs X2 = gecode_BoolVarArgs_from_term(space,YAP_ARG2);
+ IntVarArgs X3 = gecode_IntVarArgs_from_term(space,YAP_ARG3);
+ IntPropLevel X4 = gecode_IntPropLevel_from_term(YAP_ARG4);
+ distinct(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_distinct_175(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntArgs X2 = gecode_IntArgs_from_term(YAP_ARG2);
+ IntVarArgs X3 = gecode_IntVarArgs_from_term(space,YAP_ARG3);
+ IntPropLevel X4 = gecode_IntPropLevel_from_term(YAP_ARG4);
+ distinct(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_min_335(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ FloatVarArgs X2 = gecode_FloatVarArgs_from_term(space,YAP_ARG2);
+ FloatVar X3 = gecode_FloatVar_from_term(space,YAP_ARG3);
+ min(*space,X2,X3);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_min_336(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntVar X3 = gecode_IntVar_from_term(space,YAP_ARG3);
+ min(*space,X2,X3);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_min_333(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ SetVar X2 = gecode_SetVar_from_term(space,YAP_ARG2);
+ IntVar X3 = gecode_IntVar_from_term(space,YAP_ARG3);
+ min(*space,X2,X3);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_sqrt_464(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVar X2 = gecode_IntVar_from_term(space,YAP_ARG2);
+ IntVar X3 = gecode_IntVar_from_term(space,YAP_ARG3);
+ IntPropLevel X4 = gecode_IntPropLevel_from_term(YAP_ARG4);
+ sqrt(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_sequence_451(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntSet X3 = gecode_IntSet_from_term(YAP_ARG3);
+ int X4 = gecode_int_from_term(YAP_ARG4);
+ int X5 = gecode_int_from_term(YAP_ARG5);
+ int X6 = gecode_int_from_term(YAP_ARG6);
+ sequence(*space,X2,X3,X4,X5,X6);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_sequence_449(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ BoolVarArgs X2 = gecode_BoolVarArgs_from_term(space,YAP_ARG2);
+ IntSet X3 = gecode_IntSet_from_term(YAP_ARG3);
+ int X4 = gecode_int_from_term(YAP_ARG4);
+ int X5 = gecode_int_from_term(YAP_ARG5);
+ int X6 = gecode_int_from_term(YAP_ARG6);
+ sequence(*space,X2,X3,X4,X5,X6);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_unshare_480(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntPropLevel X3 = gecode_IntPropLevel_from_term(YAP_ARG3);
+ unshare(*space,X2,X3);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_unshare_478(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ BoolVarArgs X2 = gecode_BoolVarArgs_from_term(space,YAP_ARG2);
+ IntPropLevel X3 = gecode_IntPropLevel_from_term(YAP_ARG3);
+ unshare(*space,X2,X3);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_path_375(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ int X2 = gecode_int_from_term(YAP_ARG2);
+ IntVarArgs X3 = gecode_IntVarArgs_from_term(space,YAP_ARG3);
+ IntVar X4 = gecode_IntVar_from_term(space,YAP_ARG4);
+ IntVar X5 = gecode_IntVar_from_term(space,YAP_ARG5);
+ IntPropLevel X6 = gecode_IntPropLevel_from_term(YAP_ARG6);
+ path(*space,X2,X3,X4,X5,X6);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_path_364(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntArgs X2 = gecode_IntArgs_from_term(YAP_ARG2);
+ IntVarArgs X3 = gecode_IntVarArgs_from_term(space,YAP_ARG3);
+ IntVar X4 = gecode_IntVar_from_term(space,YAP_ARG4);
+ IntVar X5 = gecode_IntVar_from_term(space,YAP_ARG5);
+ IntVar X6 = gecode_IntVar_from_term(space,YAP_ARG6);
+ path(*space,X2,X3,X4,X5,X6);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_divmod_183(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVar X2 = gecode_IntVar_from_term(space,YAP_ARG2);
+ IntVar X3 = gecode_IntVar_from_term(space,YAP_ARG3);
+ IntVar X4 = gecode_IntVar_from_term(space,YAP_ARG4);
+ IntVar X5 = gecode_IntVar_from_term(space,YAP_ARG5);
+ divmod(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_branch_55(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ FloatVarArgs X2 = gecode_FloatVarArgs_from_term(space,YAP_ARG2);
+ FloatVarBranch X3 = gecode_FloatVarBranch_from_term(YAP_ARG3);
+ FloatValBranch X4 = gecode_FloatValBranch_from_term(YAP_ARG4);
+ FloatBranchFilter X5 = gecode_FloatBranchFilter_from_term(YAP_ARG5);
+ FloatVarValPrint X6 = gecode_FloatVarValPrint_from_term(YAP_ARG6);
+ branch(*space,X2,X3,X4,X5,X6);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_branch_51(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ BoolVarArgs X2 = gecode_BoolVarArgs_from_term(space,YAP_ARG2);
+ IntVarBranch X3 = gecode_IntVarBranch_from_term(YAP_ARG3);
+ IntValBranch X4 = gecode_IntValBranch_from_term(YAP_ARG4);
+ Symmetries X5 = gecode_Symmetries_from_term(YAP_ARG5);
+ BoolBranchFilter X6 = gecode_BoolBranchFilter_from_term(YAP_ARG6);
+ branch(*space,X2,X3,X4,X5,X6);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_branch_49(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ BoolVarArgs X2 = gecode_BoolVarArgs_from_term(space,YAP_ARG2);
+ IntVarBranch X3 = gecode_IntVarBranch_from_term(YAP_ARG3);
+ IntValBranch X4 = gecode_IntValBranch_from_term(YAP_ARG4);
+ BoolBranchFilter X5 = gecode_BoolBranchFilter_from_term(YAP_ARG5);
+ BoolVarValPrint X6 = gecode_BoolVarValPrint_from_term(YAP_ARG6);
+ branch(*space,X2,X3,X4,X5,X6);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_branch_60(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntVarBranch X3 = gecode_IntVarBranch_from_term(YAP_ARG3);
+ IntValBranch X4 = gecode_IntValBranch_from_term(YAP_ARG4);
+ Symmetries X5 = gecode_Symmetries_from_term(YAP_ARG5);
+ IntBranchFilter X6 = gecode_IntBranchFilter_from_term(YAP_ARG6);
+ branch(*space,X2,X3,X4,X5,X6);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_branch_58(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntVarBranch X3 = gecode_IntVarBranch_from_term(YAP_ARG3);
+ IntValBranch X4 = gecode_IntValBranch_from_term(YAP_ARG4);
+ IntBranchFilter X5 = gecode_IntBranchFilter_from_term(YAP_ARG5);
+ IntVarValPrint X6 = gecode_IntVarValPrint_from_term(YAP_ARG6);
+ branch(*space,X2,X3,X4,X5,X6);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_branch_64(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ SetVarArgs X2 = gecode_SetVarArgs_from_term(space,YAP_ARG2);
+ SetVarBranch X3 = gecode_SetVarBranch_from_term(YAP_ARG3);
+ SetValBranch X4 = gecode_SetValBranch_from_term(YAP_ARG4);
+ SetBranchFilter X5 = gecode_SetBranchFilter_from_term(YAP_ARG5);
+ SetVarValPrint X6 = gecode_SetVarValPrint_from_term(YAP_ARG6);
+ branch(*space,X2,X3,X4,X5,X6);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_branch_66(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ SetVarArgs X2 = gecode_SetVarArgs_from_term(space,YAP_ARG2);
+ SetVarBranch X3 = gecode_SetVarBranch_from_term(YAP_ARG3);
+ SetValBranch X4 = gecode_SetValBranch_from_term(YAP_ARG4);
+ Symmetries X5 = gecode_Symmetries_from_term(YAP_ARG5);
+ SetBranchFilter X6 = gecode_SetBranchFilter_from_term(YAP_ARG6);
+ branch(*space,X2,X3,X4,X5,X6);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_nooverlap_350(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntVarArgs X3 = gecode_IntVarArgs_from_term(space,YAP_ARG3);
+ IntVarArgs X4 = gecode_IntVarArgs_from_term(space,YAP_ARG4);
+ IntVarArgs X5 = gecode_IntVarArgs_from_term(space,YAP_ARG5);
+ IntVarArgs X6 = gecode_IntVarArgs_from_term(space,YAP_ARG6);
+ IntVarArgs X7 = gecode_IntVarArgs_from_term(space,YAP_ARG7);
+ BoolVarArgs X8 = gecode_BoolVarArgs_from_term(space,YAP_ARG8);
+ IntPropLevel X9 = gecode_IntPropLevel_from_term(YAP_ARG9);
+ nooverlap(*space,X2,X3,X4,X5,X6,X7,X8,X9);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_argmin_12(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntVar X3 = gecode_IntVar_from_term(space,YAP_ARG3);
+ bool X4 = gecode_bool_from_term(YAP_ARG4);
+ IntPropLevel X5 = gecode_IntPropLevel_from_term(YAP_ARG5);
+ argmin(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_argmin_14(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ int X3 = gecode_int_from_term(YAP_ARG3);
+ IntVar X4 = gecode_IntVar_from_term(space,YAP_ARG4);
+ bool X5 = gecode_bool_from_term(YAP_ARG5);
+ argmin(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_cumulative_132(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVar X2 = gecode_IntVar_from_term(space,YAP_ARG2);
+ IntVarArgs X3 = gecode_IntVarArgs_from_term(space,YAP_ARG3);
+ IntArgs X4 = gecode_IntArgs_from_term(YAP_ARG4);
+ IntArgs X5 = gecode_IntArgs_from_term(YAP_ARG5);
+ cumulative(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_cumulative_144(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ int X2 = gecode_int_from_term(YAP_ARG2);
+ IntVarArgs X3 = gecode_IntVarArgs_from_term(space,YAP_ARG3);
+ IntArgs X4 = gecode_IntArgs_from_term(YAP_ARG4);
+ IntArgs X5 = gecode_IntArgs_from_term(YAP_ARG5);
+ cumulative(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_member_326(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntVar X3 = gecode_IntVar_from_term(space,YAP_ARG3);
+ member(*space,X2,X3);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_member_322(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ BoolVarArgs X2 = gecode_BoolVarArgs_from_term(space,YAP_ARG2);
+ BoolVar X3 = gecode_BoolVar_from_term(space,YAP_ARG3);
+ member(*space,X2,X3);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_count_107(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntVar X3 = gecode_IntVar_from_term(space,YAP_ARG3);
+ IntRelType X4 = gecode_IntRelType_from_term(YAP_ARG4);
+ IntVar X5 = gecode_IntVar_from_term(space,YAP_ARG5);
+ IntPropLevel X6 = gecode_IntPropLevel_from_term(YAP_ARG6);
+ count(*space,X2,X3,X4,X5,X6);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_count_109(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntVar X3 = gecode_IntVar_from_term(space,YAP_ARG3);
+ IntRelType X4 = gecode_IntRelType_from_term(YAP_ARG4);
+ int X5 = gecode_int_from_term(YAP_ARG5);
+ IntPropLevel X6 = gecode_IntPropLevel_from_term(YAP_ARG6);
+ count(*space,X2,X3,X4,X5,X6);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_count_129(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ int X3 = gecode_int_from_term(YAP_ARG3);
+ IntRelType X4 = gecode_IntRelType_from_term(YAP_ARG4);
+ IntVar X5 = gecode_IntVar_from_term(space,YAP_ARG5);
+ IntPropLevel X6 = gecode_IntPropLevel_from_term(YAP_ARG6);
+ count(*space,X2,X3,X4,X5,X6);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_count_131(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ int X3 = gecode_int_from_term(YAP_ARG3);
+ IntRelType X4 = gecode_IntRelType_from_term(YAP_ARG4);
+ int X5 = gecode_int_from_term(YAP_ARG5);
+ IntPropLevel X6 = gecode_IntPropLevel_from_term(YAP_ARG6);
+ count(*space,X2,X3,X4,X5,X6);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_count_115(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntSet X3 = gecode_IntSet_from_term(YAP_ARG3);
+ IntRelType X4 = gecode_IntRelType_from_term(YAP_ARG4);
+ IntVar X5 = gecode_IntVar_from_term(space,YAP_ARG5);
+ IntPropLevel X6 = gecode_IntPropLevel_from_term(YAP_ARG6);
+ count(*space,X2,X3,X4,X5,X6);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_count_117(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntSet X3 = gecode_IntSet_from_term(YAP_ARG3);
+ IntRelType X4 = gecode_IntRelType_from_term(YAP_ARG4);
+ int X5 = gecode_int_from_term(YAP_ARG5);
+ IntPropLevel X6 = gecode_IntPropLevel_from_term(YAP_ARG6);
+ count(*space,X2,X3,X4,X5,X6);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_count_111(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntArgs X3 = gecode_IntArgs_from_term(YAP_ARG3);
+ IntRelType X4 = gecode_IntRelType_from_term(YAP_ARG4);
+ IntVar X5 = gecode_IntVar_from_term(space,YAP_ARG5);
+ IntPropLevel X6 = gecode_IntPropLevel_from_term(YAP_ARG6);
+ count(*space,X2,X3,X4,X5,X6);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_count_113(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntArgs X3 = gecode_IntArgs_from_term(YAP_ARG3);
+ IntRelType X4 = gecode_IntRelType_from_term(YAP_ARG4);
+ int X5 = gecode_int_from_term(YAP_ARG5);
+ IntPropLevel X6 = gecode_IntPropLevel_from_term(YAP_ARG6);
+ count(*space,X2,X3,X4,X5,X6);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_pow_378(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVar X2 = gecode_IntVar_from_term(space,YAP_ARG2);
+ int X3 = gecode_int_from_term(YAP_ARG3);
+ IntVar X4 = gecode_IntVar_from_term(space,YAP_ARG4);
+ IntPropLevel X5 = gecode_IntPropLevel_from_term(YAP_ARG5);
+ pow(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_notMin_352(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ SetVar X2 = gecode_SetVar_from_term(space,YAP_ARG2);
+ IntVar X3 = gecode_IntVar_from_term(space,YAP_ARG3);
+ notMin(*space,X2,X3);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_cumulative_143(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVar X2 = gecode_IntVar_from_term(space,YAP_ARG2);
+ TaskTypeArgs X3 = gecode_TaskTypeArgs_from_term(YAP_ARG3);
+ IntVarArgs X4 = gecode_IntVarArgs_from_term(space,YAP_ARG4);
+ IntArgs X5 = gecode_IntArgs_from_term(YAP_ARG5);
+ IntArgs X6 = gecode_IntArgs_from_term(YAP_ARG6);
+ BoolVarArgs X7 = gecode_BoolVarArgs_from_term(space,YAP_ARG7);
+ IntPropLevel X8 = gecode_IntPropLevel_from_term(YAP_ARG8);
+ cumulative(*space,X2,X3,X4,X5,X6,X7,X8);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_cumulative_139(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVar X2 = gecode_IntVar_from_term(space,YAP_ARG2);
+ IntVarArgs X3 = gecode_IntVarArgs_from_term(space,YAP_ARG3);
+ IntVarArgs X4 = gecode_IntVarArgs_from_term(space,YAP_ARG4);
+ IntVarArgs X5 = gecode_IntVarArgs_from_term(space,YAP_ARG5);
+ IntArgs X6 = gecode_IntArgs_from_term(YAP_ARG6);
+ BoolVarArgs X7 = gecode_BoolVarArgs_from_term(space,YAP_ARG7);
+ IntPropLevel X8 = gecode_IntPropLevel_from_term(YAP_ARG8);
+ cumulative(*space,X2,X3,X4,X5,X6,X7,X8);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_cumulative_155(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ int X2 = gecode_int_from_term(YAP_ARG2);
+ TaskTypeArgs X3 = gecode_TaskTypeArgs_from_term(YAP_ARG3);
+ IntVarArgs X4 = gecode_IntVarArgs_from_term(space,YAP_ARG4);
+ IntArgs X5 = gecode_IntArgs_from_term(YAP_ARG5);
+ IntArgs X6 = gecode_IntArgs_from_term(YAP_ARG6);
+ BoolVarArgs X7 = gecode_BoolVarArgs_from_term(space,YAP_ARG7);
+ IntPropLevel X8 = gecode_IntPropLevel_from_term(YAP_ARG8);
+ cumulative(*space,X2,X3,X4,X5,X6,X7,X8);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_cumulative_151(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ int X2 = gecode_int_from_term(YAP_ARG2);
+ IntVarArgs X3 = gecode_IntVarArgs_from_term(space,YAP_ARG3);
+ IntVarArgs X4 = gecode_IntVarArgs_from_term(space,YAP_ARG4);
+ IntVarArgs X5 = gecode_IntVarArgs_from_term(space,YAP_ARG5);
+ IntArgs X6 = gecode_IntArgs_from_term(YAP_ARG6);
+ BoolVarArgs X7 = gecode_BoolVarArgs_from_term(space,YAP_ARG7);
+ IntPropLevel X8 = gecode_IntPropLevel_from_term(YAP_ARG8);
+ cumulative(*space,X2,X3,X4,X5,X6,X7,X8);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_branch_43(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVar X2 = gecode_IntVar_from_term(space,YAP_ARG2);
+ IntValBranch X3 = gecode_IntValBranch_from_term(YAP_ARG3);
+ branch(*space,X2,X3);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_branch_39(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ BoolVar X2 = gecode_BoolVar_from_term(space,YAP_ARG2);
+ IntValBranch X3 = gecode_IntValBranch_from_term(YAP_ARG3);
+ branch(*space,X2,X3);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_branch_41(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ FloatVar X2 = gecode_FloatVar_from_term(space,YAP_ARG2);
+ FloatValBranch X3 = gecode_FloatValBranch_from_term(YAP_ARG3);
+ branch(*space,X2,X3);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_branch_45(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ SetVar X2 = gecode_SetVar_from_term(space,YAP_ARG2);
+ SetValBranch X3 = gecode_SetValBranch_from_term(YAP_ARG3);
+ branch(*space,X2,X3);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_dom_189(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ FloatVar X2 = gecode_FloatVar_from_term(space,YAP_ARG2);
+ FloatVal X3 = gecode_FloatVal_from_term(YAP_ARG3);
+ dom(*space,X2,X3);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_dom_191(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ FloatVar X2 = gecode_FloatVar_from_term(space,YAP_ARG2);
+ FloatVar X3 = gecode_FloatVar_from_term(space,YAP_ARG3);
+ dom(*space,X2,X3);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_dom_217(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ FloatVarArgs X2 = gecode_FloatVarArgs_from_term(space,YAP_ARG2);
+ FloatVarArgs X3 = gecode_FloatVarArgs_from_term(space,YAP_ARG3);
+ dom(*space,X2,X3);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_dom_216(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ FloatVarArgs X2 = gecode_FloatVarArgs_from_term(space,YAP_ARG2);
+ FloatVal X3 = gecode_FloatVal_from_term(YAP_ARG3);
+ dom(*space,X2,X3);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_dom_213(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ BoolVarArgs X2 = gecode_BoolVarArgs_from_term(space,YAP_ARG2);
+ BoolVarArgs X3 = gecode_BoolVarArgs_from_term(space,YAP_ARG3);
+ dom(*space,X2,X3);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_dom_185(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ BoolVar X2 = gecode_BoolVar_from_term(space,YAP_ARG2);
+ BoolVar X3 = gecode_BoolVar_from_term(space,YAP_ARG3);
+ dom(*space,X2,X3);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_dom_222(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ int X3 = gecode_int_from_term(YAP_ARG3);
+ dom(*space,X2,X3);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_dom_220(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntVarArgs X3 = gecode_IntVarArgs_from_term(space,YAP_ARG3);
+ dom(*space,X2,X3);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_dom_218(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntSet X3 = gecode_IntSet_from_term(YAP_ARG3);
+ dom(*space,X2,X3);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_dom_192(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVar X2 = gecode_IntVar_from_term(space,YAP_ARG2);
+ IntVar X3 = gecode_IntVar_from_term(space,YAP_ARG3);
+ dom(*space,X2,X3);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_dom_198(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVar X2 = gecode_IntVar_from_term(space,YAP_ARG2);
+ int X3 = gecode_int_from_term(YAP_ARG3);
+ dom(*space,X2,X3);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_dom_194(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVar X2 = gecode_IntVar_from_term(space,YAP_ARG2);
+ IntSet X3 = gecode_IntSet_from_term(YAP_ARG3);
+ dom(*space,X2,X3);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_dom_229(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ SetVarArgs X2 = gecode_SetVarArgs_from_term(space,YAP_ARG2);
+ SetVarArgs X3 = gecode_SetVarArgs_from_term(space,YAP_ARG3);
+ dom(*space,X2,X3);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_dom_212(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ SetVar X2 = gecode_SetVar_from_term(space,YAP_ARG2);
+ SetVar X3 = gecode_SetVar_from_term(space,YAP_ARG3);
+ dom(*space,X2,X3);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_linear_307(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntRelType X3 = gecode_IntRelType_from_term(YAP_ARG3);
+ IntVar X4 = gecode_IntVar_from_term(space,YAP_ARG4);
+ IntPropLevel X5 = gecode_IntPropLevel_from_term(YAP_ARG5);
+ linear(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_linear_308(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntRelType X3 = gecode_IntRelType_from_term(YAP_ARG3);
+ IntVar X4 = gecode_IntVar_from_term(space,YAP_ARG4);
+ Reify X5 = gecode_Reify_from_term(YAP_ARG5);
+ linear(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_linear_311(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntRelType X3 = gecode_IntRelType_from_term(YAP_ARG3);
+ int X4 = gecode_int_from_term(YAP_ARG4);
+ IntPropLevel X5 = gecode_IntPropLevel_from_term(YAP_ARG5);
+ linear(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_linear_312(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntRelType X3 = gecode_IntRelType_from_term(YAP_ARG3);
+ int X4 = gecode_int_from_term(YAP_ARG4);
+ Reify X5 = gecode_Reify_from_term(YAP_ARG5);
+ linear(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_linear_289(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ FloatVarArgs X2 = gecode_FloatVarArgs_from_term(space,YAP_ARG2);
+ FloatRelType X3 = gecode_FloatRelType_from_term(YAP_ARG3);
+ FloatVar X4 = gecode_FloatVar_from_term(space,YAP_ARG4);
+ Reify X5 = gecode_Reify_from_term(YAP_ARG5);
+ linear(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_linear_287(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ FloatVarArgs X2 = gecode_FloatVarArgs_from_term(space,YAP_ARG2);
+ FloatRelType X3 = gecode_FloatRelType_from_term(YAP_ARG3);
+ FloatNum X4 = gecode_FloatNum_from_term(YAP_ARG4);
+ Reify X5 = gecode_Reify_from_term(YAP_ARG5);
+ linear(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_linear_275(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ BoolVarArgs X2 = gecode_BoolVarArgs_from_term(space,YAP_ARG2);
+ IntRelType X3 = gecode_IntRelType_from_term(YAP_ARG3);
+ IntVar X4 = gecode_IntVar_from_term(space,YAP_ARG4);
+ IntPropLevel X5 = gecode_IntPropLevel_from_term(YAP_ARG5);
+ linear(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_linear_276(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ BoolVarArgs X2 = gecode_BoolVarArgs_from_term(space,YAP_ARG2);
+ IntRelType X3 = gecode_IntRelType_from_term(YAP_ARG3);
+ IntVar X4 = gecode_IntVar_from_term(space,YAP_ARG4);
+ Reify X5 = gecode_Reify_from_term(YAP_ARG5);
+ linear(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_linear_279(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ BoolVarArgs X2 = gecode_BoolVarArgs_from_term(space,YAP_ARG2);
+ IntRelType X3 = gecode_IntRelType_from_term(YAP_ARG3);
+ int X4 = gecode_int_from_term(YAP_ARG4);
+ IntPropLevel X5 = gecode_IntPropLevel_from_term(YAP_ARG5);
+ linear(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_linear_280(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ BoolVarArgs X2 = gecode_BoolVarArgs_from_term(space,YAP_ARG2);
+ IntRelType X3 = gecode_IntRelType_from_term(YAP_ARG3);
+ int X4 = gecode_int_from_term(YAP_ARG4);
+ Reify X5 = gecode_Reify_from_term(YAP_ARG5);
+ linear(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_linear_284(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ FloatValArgs X2 = gecode_FloatValArgs_from_term(YAP_ARG2);
+ FloatVarArgs X3 = gecode_FloatVarArgs_from_term(space,YAP_ARG3);
+ FloatRelType X4 = gecode_FloatRelType_from_term(YAP_ARG4);
+ FloatVar X5 = gecode_FloatVar_from_term(space,YAP_ARG5);
+ linear(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_linear_282(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ FloatValArgs X2 = gecode_FloatValArgs_from_term(YAP_ARG2);
+ FloatVarArgs X3 = gecode_FloatVarArgs_from_term(space,YAP_ARG3);
+ FloatRelType X4 = gecode_FloatRelType_from_term(YAP_ARG4);
+ FloatNum X5 = gecode_FloatNum_from_term(YAP_ARG5);
+ linear(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_linear_298(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntArgs X2 = gecode_IntArgs_from_term(YAP_ARG2);
+ IntVarArgs X3 = gecode_IntVarArgs_from_term(space,YAP_ARG3);
+ IntRelType X4 = gecode_IntRelType_from_term(YAP_ARG4);
+ IntVar X5 = gecode_IntVar_from_term(space,YAP_ARG5);
+ linear(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_linear_302(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntArgs X2 = gecode_IntArgs_from_term(YAP_ARG2);
+ IntVarArgs X3 = gecode_IntVarArgs_from_term(space,YAP_ARG3);
+ IntRelType X4 = gecode_IntRelType_from_term(YAP_ARG4);
+ int X5 = gecode_int_from_term(YAP_ARG5);
+ linear(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_linear_290(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntArgs X2 = gecode_IntArgs_from_term(YAP_ARG2);
+ BoolVarArgs X3 = gecode_BoolVarArgs_from_term(space,YAP_ARG3);
+ IntRelType X4 = gecode_IntRelType_from_term(YAP_ARG4);
+ IntVar X5 = gecode_IntVar_from_term(space,YAP_ARG5);
+ linear(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_linear_294(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntArgs X2 = gecode_IntArgs_from_term(YAP_ARG2);
+ BoolVarArgs X3 = gecode_BoolVarArgs_from_term(space,YAP_ARG3);
+ IntRelType X4 = gecode_IntRelType_from_term(YAP_ARG4);
+ int X5 = gecode_int_from_term(YAP_ARG5);
+ linear(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_argmin_15(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ int X3 = gecode_int_from_term(YAP_ARG3);
+ IntVar X4 = gecode_IntVar_from_term(space,YAP_ARG4);
+ bool X5 = gecode_bool_from_term(YAP_ARG5);
+ IntPropLevel X6 = gecode_IntPropLevel_from_term(YAP_ARG6);
+ argmin(*space,X2,X3,X4,X5,X6);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_nooverlap_344(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntArgs X3 = gecode_IntArgs_from_term(YAP_ARG3);
+ IntVarArgs X4 = gecode_IntVarArgs_from_term(space,YAP_ARG4);
+ IntArgs X5 = gecode_IntArgs_from_term(YAP_ARG5);
+ IntPropLevel X6 = gecode_IntPropLevel_from_term(YAP_ARG6);
+ nooverlap(*space,X2,X3,X4,X5,X6);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_nooverlap_345(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntArgs X3 = gecode_IntArgs_from_term(YAP_ARG3);
+ IntVarArgs X4 = gecode_IntVarArgs_from_term(space,YAP_ARG4);
+ IntArgs X5 = gecode_IntArgs_from_term(YAP_ARG5);
+ BoolVarArgs X6 = gecode_BoolVarArgs_from_term(space,YAP_ARG6);
+ nooverlap(*space,X2,X3,X4,X5,X6);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_element_247(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ SetOpType X2 = gecode_SetOpType_from_term(YAP_ARG2);
+ SetVarArgs X3 = gecode_SetVarArgs_from_term(space,YAP_ARG3);
+ SetVar X4 = gecode_SetVar_from_term(space,YAP_ARG4);
+ SetVar X5 = gecode_SetVar_from_term(space,YAP_ARG5);
+ IntSet X6 = gecode_IntSet_from_term(YAP_ARG6);
+ element(*space,X2,X3,X4,X5,X6);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_element_245(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ SetOpType X2 = gecode_SetOpType_from_term(YAP_ARG2);
+ IntVarArgs X3 = gecode_IntVarArgs_from_term(space,YAP_ARG3);
+ SetVar X4 = gecode_SetVar_from_term(space,YAP_ARG4);
+ SetVar X5 = gecode_SetVar_from_term(space,YAP_ARG5);
+ IntSet X6 = gecode_IntSet_from_term(YAP_ARG6);
+ element(*space,X2,X3,X4,X5,X6);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_element_243(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ SetOpType X2 = gecode_SetOpType_from_term(YAP_ARG2);
+ IntSetArgs X3 = gecode_IntSetArgs_from_term(YAP_ARG3);
+ SetVar X4 = gecode_SetVar_from_term(space,YAP_ARG4);
+ SetVar X5 = gecode_SetVar_from_term(space,YAP_ARG5);
+ IntSet X6 = gecode_IntSet_from_term(YAP_ARG6);
+ element(*space,X2,X3,X4,X5,X6);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_element_241(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ SetOpType X2 = gecode_SetOpType_from_term(YAP_ARG2);
+ IntArgs X3 = gecode_IntArgs_from_term(YAP_ARG3);
+ SetVar X4 = gecode_SetVar_from_term(space,YAP_ARG4);
+ SetVar X5 = gecode_SetVar_from_term(space,YAP_ARG5);
+ IntSet X6 = gecode_IntSet_from_term(YAP_ARG6);
+ element(*space,X2,X3,X4,X5,X6);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_rel_401(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ FloatVar X2 = gecode_FloatVar_from_term(space,YAP_ARG2);
+ FloatRelType X3 = gecode_FloatRelType_from_term(YAP_ARG3);
+ FloatVal X4 = gecode_FloatVal_from_term(YAP_ARG4);
+ rel(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_rel_403(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ FloatVar X2 = gecode_FloatVar_from_term(space,YAP_ARG2);
+ FloatRelType X3 = gecode_FloatRelType_from_term(YAP_ARG3);
+ FloatVar X4 = gecode_FloatVar_from_term(space,YAP_ARG4);
+ rel(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_rel_397(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ BoolVar X2 = gecode_BoolVar_from_term(space,YAP_ARG2);
+ IntRelType X3 = gecode_IntRelType_from_term(YAP_ARG3);
+ int X4 = gecode_int_from_term(YAP_ARG4);
+ rel(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_rel_393(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ BoolVar X2 = gecode_BoolVar_from_term(space,YAP_ARG2);
+ IntRelType X3 = gecode_IntRelType_from_term(YAP_ARG3);
+ BoolVar X4 = gecode_BoolVar_from_term(space,YAP_ARG4);
+ rel(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_rel_437(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ FloatVarArgs X2 = gecode_FloatVarArgs_from_term(space,YAP_ARG2);
+ FloatRelType X3 = gecode_FloatRelType_from_term(YAP_ARG3);
+ FloatVal X4 = gecode_FloatVal_from_term(YAP_ARG4);
+ rel(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_rel_438(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ FloatVarArgs X2 = gecode_FloatVarArgs_from_term(space,YAP_ARG2);
+ FloatRelType X3 = gecode_FloatRelType_from_term(YAP_ARG3);
+ FloatVar X4 = gecode_FloatVar_from_term(space,YAP_ARG4);
+ rel(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_rel_435(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ BoolVarArgs X2 = gecode_BoolVarArgs_from_term(space,YAP_ARG2);
+ IntRelType X3 = gecode_IntRelType_from_term(YAP_ARG3);
+ int X4 = gecode_int_from_term(YAP_ARG4);
+ rel(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_rel_432(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ BoolVarArgs X2 = gecode_BoolVarArgs_from_term(space,YAP_ARG2);
+ IntRelType X3 = gecode_IntRelType_from_term(YAP_ARG3);
+ IntPropLevel X4 = gecode_IntPropLevel_from_term(YAP_ARG4);
+ rel(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_rel_433(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ BoolVarArgs X2 = gecode_BoolVarArgs_from_term(space,YAP_ARG2);
+ IntRelType X3 = gecode_IntRelType_from_term(YAP_ARG3);
+ BoolVarArgs X4 = gecode_BoolVarArgs_from_term(space,YAP_ARG4);
+ rel(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_rel_429(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ BoolVarArgs X2 = gecode_BoolVarArgs_from_term(space,YAP_ARG2);
+ IntRelType X3 = gecode_IntRelType_from_term(YAP_ARG3);
+ BoolVar X4 = gecode_BoolVar_from_term(space,YAP_ARG4);
+ rel(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_rel_418(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ SetOpType X2 = gecode_SetOpType_from_term(YAP_ARG2);
+ SetVarArgs X3 = gecode_SetVarArgs_from_term(space,YAP_ARG3);
+ SetVar X4 = gecode_SetVar_from_term(space,YAP_ARG4);
+ rel(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_rel_416(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ SetOpType X2 = gecode_SetOpType_from_term(YAP_ARG2);
+ IntVarArgs X3 = gecode_IntVarArgs_from_term(space,YAP_ARG3);
+ SetVar X4 = gecode_SetVar_from_term(space,YAP_ARG4);
+ rel(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_rel_443(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntRelType X3 = gecode_IntRelType_from_term(YAP_ARG3);
+ IntVar X4 = gecode_IntVar_from_term(space,YAP_ARG4);
+ rel(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_rel_447(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntRelType X3 = gecode_IntRelType_from_term(YAP_ARG3);
+ int X4 = gecode_int_from_term(YAP_ARG4);
+ rel(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_rel_442(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntRelType X3 = gecode_IntRelType_from_term(YAP_ARG3);
+ IntPropLevel X4 = gecode_IntPropLevel_from_term(YAP_ARG4);
+ rel(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_rel_445(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntRelType X3 = gecode_IntRelType_from_term(YAP_ARG3);
+ IntVarArgs X4 = gecode_IntVarArgs_from_term(space,YAP_ARG4);
+ rel(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_rel_405(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVar X2 = gecode_IntVar_from_term(space,YAP_ARG2);
+ IntRelType X3 = gecode_IntRelType_from_term(YAP_ARG3);
+ IntVar X4 = gecode_IntVar_from_term(space,YAP_ARG4);
+ rel(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_rel_410(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVar X2 = gecode_IntVar_from_term(space,YAP_ARG2);
+ IntRelType X3 = gecode_IntRelType_from_term(YAP_ARG3);
+ int X4 = gecode_int_from_term(YAP_ARG4);
+ rel(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_rel_409(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVar X2 = gecode_IntVar_from_term(space,YAP_ARG2);
+ IntRelType X3 = gecode_IntRelType_from_term(YAP_ARG3);
+ SetVar X4 = gecode_SetVar_from_term(space,YAP_ARG4);
+ rel(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_rel_414(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVar X2 = gecode_IntVar_from_term(space,YAP_ARG2);
+ SetRelType X3 = gecode_SetRelType_from_term(YAP_ARG3);
+ SetVar X4 = gecode_SetVar_from_term(space,YAP_ARG4);
+ rel(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_rel_420(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ SetVar X2 = gecode_SetVar_from_term(space,YAP_ARG2);
+ IntRelType X3 = gecode_IntRelType_from_term(YAP_ARG3);
+ IntVar X4 = gecode_IntVar_from_term(space,YAP_ARG4);
+ rel(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_rel_425(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ SetVar X2 = gecode_SetVar_from_term(space,YAP_ARG2);
+ SetRelType X3 = gecode_SetRelType_from_term(YAP_ARG3);
+ IntVar X4 = gecode_IntVar_from_term(space,YAP_ARG4);
+ rel(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_rel_427(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ SetVar X2 = gecode_SetVar_from_term(space,YAP_ARG2);
+ SetRelType X3 = gecode_SetRelType_from_term(YAP_ARG3);
+ SetVar X4 = gecode_SetVar_from_term(space,YAP_ARG4);
+ rel(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_rel_387(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ BoolOpType X2 = gecode_BoolOpType_from_term(YAP_ARG2);
+ BoolVarArgs X3 = gecode_BoolVarArgs_from_term(space,YAP_ARG3);
+ int X4 = gecode_int_from_term(YAP_ARG4);
+ rel(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_rel_385(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ BoolOpType X2 = gecode_BoolOpType_from_term(YAP_ARG2);
+ BoolVarArgs X3 = gecode_BoolVarArgs_from_term(space,YAP_ARG3);
+ BoolVar X4 = gecode_BoolVar_from_term(space,YAP_ARG4);
+ rel(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_min_332(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVar X2 = gecode_IntVar_from_term(space,YAP_ARG2);
+ IntVar X3 = gecode_IntVar_from_term(space,YAP_ARG3);
+ IntVar X4 = gecode_IntVar_from_term(space,YAP_ARG4);
+ IntPropLevel X5 = gecode_IntPropLevel_from_term(YAP_ARG5);
+ min(*space,X2,X3,X4,X5);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_count_124(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntVarArgs X3 = gecode_IntVarArgs_from_term(space,YAP_ARG3);
+ count(*space,X2,X3);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_count_120(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntSetArgs X3 = gecode_IntSetArgs_from_term(YAP_ARG3);
+ count(*space,X2,X3);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_argmax_5(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ IntVar X3 = gecode_IntVar_from_term(space,YAP_ARG3);
+ bool X4 = gecode_bool_from_term(YAP_ARG4);
+ argmax(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_argmax_7(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ IntVarArgs X2 = gecode_IntVarArgs_from_term(space,YAP_ARG2);
+ int X3 = gecode_int_from_term(YAP_ARG3);
+ IntVar X4 = gecode_IntVar_from_term(space,YAP_ARG4);
+ argmax(*space,X2,X3,X4);
+ return TRUE;
+}
+
+static YAP_Bool gecode_constraint_ite_273(void)
+{
+ GenericSpace* space = gecode_Space_from_term(YAP_ARG1);
+ BoolVar X2 = gecode_BoolVar_from_term(space,YAP_ARG2);
+ IntVar X3 = gecode_IntVar_from_term(space,YAP_ARG3);
+ IntVar X4 = gecode_IntVar_from_term(space,YAP_ARG4);
+ IntVar X5 = gecode_IntVar_from_term(space,YAP_ARG5);
+ IntPropLevel X6 = gecode_IntPropLevel_from_term(YAP_ARG6);
+ ite(*space,X2,X3,X4,X5,X6);
+ return TRUE;
+}
+
diff --git a/packages/gecode/5.0.0/gecode_yap_cc_init_auto_generated.icc b/packages/gecode/5.0.0/gecode_yap_cc_init_auto_generated.icc
new file mode 100644
index 000000000..6cbab17c2
--- /dev/null
+++ b/packages/gecode/5.0.0/gecode_yap_cc_init_auto_generated.icc
@@ -0,0 +1,674 @@
+// -*- c++ -*-
+//=============================================================================
+// Copyright (C) 2011 by Denys Duchier
+//
+// This program is free software: you can redistribute it and/or modify it
+// under the terms of the GNU Lesser General Public License as published by the
+// Free Software Foundation, either version 3 of the License, or (at your
+// option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but WITHOUT
+// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+// more details.
+//
+// You should have received a copy of the GNU Lesser General Public License
+// along with this program. If not, see .
+//=============================================================================
+
+{ YAP_Atom X= YAP_LookupAtom("RM_NONE");
+ gecode_RM_NONE = YAP_MkAtomTerm(X);
+ YAP_AtomGetHold(X); }
+{ YAP_Atom X= YAP_LookupAtom("RM_CONSTANT");
+ gecode_RM_CONSTANT = YAP_MkAtomTerm(X);
+ YAP_AtomGetHold(X); }
+{ YAP_Atom X= YAP_LookupAtom("RM_LINEAR");
+ gecode_RM_LINEAR = YAP_MkAtomTerm(X);
+ YAP_AtomGetHold(X); }
+{ YAP_Atom X= YAP_LookupAtom("RM_LUBY");
+ gecode_RM_LUBY = YAP_MkAtomTerm(X);
+ YAP_AtomGetHold(X); }
+{ YAP_Atom X= YAP_LookupAtom("RM_GEOMETRIC");
+ gecode_RM_GEOMETRIC = YAP_MkAtomTerm(X);
+ YAP_AtomGetHold(X); }
+
+{ YAP_Atom X= YAP_LookupAtom("FRT_EQ");
+ gecode_FRT_EQ = YAP_MkAtomTerm(X);
+ YAP_AtomGetHold(X); }
+{ YAP_Atom X= YAP_LookupAtom("FRT_NQ");
+ gecode_FRT_NQ = YAP_MkAtomTerm(X);
+ YAP_AtomGetHold(X); }
+{ YAP_Atom X= YAP_LookupAtom("FRT_LQ");
+ gecode_FRT_LQ = YAP_MkAtomTerm(X);
+ YAP_AtomGetHold(X); }
+{ YAP_Atom X= YAP_LookupAtom("FRT_LE");
+ gecode_FRT_LE = YAP_MkAtomTerm(X);
+ YAP_AtomGetHold(X); }
+{ YAP_Atom X= YAP_LookupAtom("FRT_GQ");
+ gecode_FRT_GQ = YAP_MkAtomTerm(X);
+ YAP_AtomGetHold(X); }
+{ YAP_Atom X= YAP_LookupAtom("FRT_GR");
+ gecode_FRT_GR = YAP_MkAtomTerm(X);
+ YAP_AtomGetHold(X); }
+
+{ YAP_Atom X= YAP_LookupAtom("RM_EQV");
+ gecode_RM_EQV = YAP_MkAtomTerm(X);
+ YAP_AtomGetHold(X); }
+{ YAP_Atom X= YAP_LookupAtom("RM_IMP");
+ gecode_RM_IMP = YAP_MkAtomTerm(X);
+ YAP_AtomGetHold(X); }
+{ YAP_Atom X= YAP_LookupAtom("RM_PMI");
+ gecode_RM_PMI = YAP_MkAtomTerm(X);
+ YAP_AtomGetHold(X); }
+
+{ YAP_Atom X= YAP_LookupAtom("IRT_EQ");
+ gecode_IRT_EQ = YAP_MkAtomTerm(X);
+ YAP_AtomGetHold(X); }
+{ YAP_Atom X= YAP_LookupAtom("IRT_NQ");
+ gecode_IRT_NQ = YAP_MkAtomTerm(X);
+ YAP_AtomGetHold(X); }
+{ YAP_Atom X= YAP_LookupAtom("IRT_LQ");
+ gecode_IRT_LQ = YAP_MkAtomTerm(X);
+ YAP_AtomGetHold(X); }
+{ YAP_Atom X= YAP_LookupAtom("IRT_LE");
+ gecode_IRT_LE = YAP_MkAtomTerm(X);
+ YAP_AtomGetHold(X); }
+{ YAP_Atom X= YAP_LookupAtom("IRT_GQ");
+ gecode_IRT_GQ = YAP_MkAtomTerm(X);
+ YAP_AtomGetHold(X); }
+{ YAP_Atom X= YAP_LookupAtom("IRT_GR");
+ gecode_IRT_GR = YAP_MkAtomTerm(X);
+ YAP_AtomGetHold(X); }
+
+{ YAP_Atom X= YAP_LookupAtom("BOT_AND");
+ gecode_BOT_AND = YAP_MkAtomTerm(X);
+ YAP_AtomGetHold(X); }
+{ YAP_Atom X= YAP_LookupAtom("BOT_OR");
+ gecode_BOT_OR = YAP_MkAtomTerm(X);
+ YAP_AtomGetHold(X); }
+{ YAP_Atom X= YAP_LookupAtom("BOT_IMP");
+ gecode_BOT_IMP = YAP_MkAtomTerm(X);
+ YAP_AtomGetHold(X); }
+{ YAP_Atom X= YAP_LookupAtom("BOT_EQV");
+ gecode_BOT_EQV = YAP_MkAtomTerm(X);
+ YAP_AtomGetHold(X); }
+{ YAP_Atom X= YAP_LookupAtom("BOT_XOR");
+ gecode_BOT_XOR = YAP_MkAtomTerm(X);
+ YAP_AtomGetHold(X); }
+
+{ YAP_Atom X= YAP_LookupAtom("IPL_DEF");
+ gecode_IPL_DEF = YAP_MkAtomTerm(X);
+ YAP_AtomGetHold(X); }
+{ YAP_Atom X= YAP_LookupAtom("IPL_VAL");
+ gecode_IPL_VAL = YAP_MkAtomTerm(X);
+ YAP_AtomGetHold(X); }
+{ YAP_Atom X= YAP_LookupAtom("IPL_BND");
+ gecode_IPL_BND = YAP_MkAtomTerm(X);
+ YAP_AtomGetHold(X); }
+{ YAP_Atom X= YAP_LookupAtom("IPL_DOM");
+ gecode_IPL_DOM = YAP_MkAtomTerm(X);
+ YAP_AtomGetHold(X); }
+{ YAP_Atom X= YAP_LookupAtom("IPL_SPEED");
+ gecode_IPL_SPEED = YAP_MkAtomTerm(X);
+ YAP_AtomGetHold(X); }
+{ YAP_Atom X= YAP_LookupAtom("IPL_MEMORY");
+ gecode_IPL_MEMORY = YAP_MkAtomTerm(X);
+ YAP_AtomGetHold(X); }
+{ YAP_Atom X= YAP_LookupAtom("IPL_BASIC");
+ gecode_IPL_BASIC = YAP_MkAtomTerm(X);
+ YAP_AtomGetHold(X); }
+{ YAP_Atom X= YAP_LookupAtom("IPL_ADVANCED");
+ gecode_IPL_ADVANCED = YAP_MkAtomTerm(X);
+ YAP_AtomGetHold(X); }
+{ YAP_Atom X= YAP_LookupAtom("IPL_BASIC_ADVANCED");
+ gecode_IPL_BASIC_ADVANCED = YAP_MkAtomTerm(X);
+ YAP_AtomGetHold(X); }
+
+{ YAP_Atom X= YAP_LookupAtom("TT_FIXP");
+ gecode_TT_FIXP = YAP_MkAtomTerm(X);
+ YAP_AtomGetHold(X); }
+{ YAP_Atom X= YAP_LookupAtom("TT_FIXS");
+ gecode_TT_FIXS = YAP_MkAtomTerm(X);
+ YAP_AtomGetHold(X); }
+{ YAP_Atom X= YAP_LookupAtom("TT_FIXE");
+ gecode_TT_FIXE = YAP_MkAtomTerm(X);
+ YAP_AtomGetHold(X); }
+
+{ YAP_Atom X= YAP_LookupAtom("TE_INIT");
+ gecode_TE_INIT = YAP_MkAtomTerm(X);
+ YAP_AtomGetHold(X); }
+{ YAP_Atom X= YAP_LookupAtom("TE_PRUNE");
+ gecode_TE_PRUNE = YAP_MkAtomTerm(X);
+ YAP_AtomGetHold(X); }
+{ YAP_Atom X= YAP_LookupAtom("TE_FIX");
+ gecode_TE_FIX = YAP_MkAtomTerm(X);
+ YAP_AtomGetHold(X); }
+{ YAP_Atom X= YAP_LookupAtom("TE_DONE");
+ gecode_TE_DONE = YAP_MkAtomTerm(X);
+ YAP_AtomGetHold(X); }
+
+{ YAP_Atom X= YAP_LookupAtom("SRT_EQ");
+ gecode_SRT_EQ = YAP_MkAtomTerm(X);
+ YAP_AtomGetHold(X); }
+{ YAP_Atom X= YAP_LookupAtom("SRT_NQ");
+ gecode_SRT_NQ = YAP_MkAtomTerm(X);
+ YAP_AtomGetHold(X); }
+{ YAP_Atom X= YAP_LookupAtom("SRT_SUB");
+ gecode_SRT_SUB = YAP_MkAtomTerm(X);
+ YAP_AtomGetHold(X); }
+{ YAP_Atom X= YAP_LookupAtom("SRT_SUP");
+ gecode_SRT_SUP = YAP_MkAtomTerm(X);
+ YAP_AtomGetHold(X); }
+{ YAP_Atom X= YAP_LookupAtom("SRT_DISJ");
+ gecode_SRT_DISJ = YAP_MkAtomTerm(X);
+ YAP_AtomGetHold(X); }
+{ YAP_Atom X= YAP_LookupAtom("SRT_CMPL");
+ gecode_SRT_CMPL = YAP_MkAtomTerm(X);
+ YAP_AtomGetHold(X); }
+{ YAP_Atom X= YAP_LookupAtom("SRT_LQ");
+ gecode_SRT_LQ = YAP_MkAtomTerm(X);
+ YAP_AtomGetHold(X); }
+{ YAP_Atom X= YAP_LookupAtom("SRT_LE");
+ gecode_SRT_LE = YAP_MkAtomTerm(X);
+ YAP_AtomGetHold(X); }
+{ YAP_Atom X= YAP_LookupAtom("SRT_GQ");
+ gecode_SRT_GQ = YAP_MkAtomTerm(X);
+ YAP_AtomGetHold(X); }
+{ YAP_Atom X= YAP_LookupAtom("SRT_GR");
+ gecode_SRT_GR = YAP_MkAtomTerm(X);
+ YAP_AtomGetHold(X); }
+
+{ YAP_Atom X= YAP_LookupAtom("SOT_UNION");
+ gecode_SOT_UNION = YAP_MkAtomTerm(X);
+ YAP_AtomGetHold(X); }
+{ YAP_Atom X= YAP_LookupAtom("SOT_DUNION");
+ gecode_SOT_DUNION = YAP_MkAtomTerm(X);
+ YAP_AtomGetHold(X); }
+{ YAP_Atom X= YAP_LookupAtom("SOT_INTER");
+ gecode_SOT_INTER = YAP_MkAtomTerm(X);
+ YAP_AtomGetHold(X); }
+{ YAP_Atom X= YAP_LookupAtom("SOT_MINUS");
+ gecode_SOT_MINUS = YAP_MkAtomTerm(X);
+ YAP_AtomGetHold(X); }
+
+YAP_UserCPredicate("gecode_constraint_unary_476", gecode_constraint_unary_476, 6);
+YAP_UserCPredicate("gecode_constraint_unary_472", gecode_constraint_unary_472, 6);
+YAP_UserCPredicate("gecode_constraint_nvalues_361", gecode_constraint_nvalues_361, 5);
+YAP_UserCPredicate("gecode_constraint_nvalues_363", gecode_constraint_nvalues_363, 5);
+YAP_UserCPredicate("gecode_constraint_nvalues_357", gecode_constraint_nvalues_357, 5);
+YAP_UserCPredicate("gecode_constraint_nvalues_359", gecode_constraint_nvalues_359, 5);
+YAP_UserCPredicate("gecode_constraint_max_315", gecode_constraint_max_315, 4);
+YAP_UserCPredicate("gecode_constraint_max_321", gecode_constraint_max_321, 4);
+YAP_UserCPredicate("gecode_constraint_max_314", gecode_constraint_max_314, 4);
+YAP_UserCPredicate("gecode_constraint_max_318", gecode_constraint_max_318, 4);
+YAP_UserCPredicate("gecode_constraint_dom_205", gecode_constraint_dom_205, 6);
+YAP_UserCPredicate("gecode_constraint_dom_211", gecode_constraint_dom_211, 6);
+YAP_UserCPredicate("gecode_constraint_argmin_10", gecode_constraint_argmin_10, 3);
+YAP_UserCPredicate("gecode_constraint_convex_105", gecode_constraint_convex_105, 3);
+YAP_UserCPredicate("gecode_constraint_nooverlap_343", gecode_constraint_nooverlap_343, 5);
+YAP_UserCPredicate("gecode_constraint_assign_18", gecode_constraint_assign_18, 3);
+YAP_UserCPredicate("gecode_constraint_assign_27", gecode_constraint_assign_27, 3);
+YAP_UserCPredicate("gecode_constraint_assign_24", gecode_constraint_assign_24, 3);
+YAP_UserCPredicate("gecode_constraint_assign_16", gecode_constraint_assign_16, 3);
+YAP_UserCPredicate("gecode_constraint_assign_30", gecode_constraint_assign_30, 3);
+YAP_UserCPredicate("gecode_constraint_assign_20", gecode_constraint_assign_20, 3);
+YAP_UserCPredicate("gecode_constraint_assign_33", gecode_constraint_assign_33, 3);
+YAP_UserCPredicate("gecode_constraint_assign_22", gecode_constraint_assign_22, 3);
+YAP_UserCPredicate("gecode_constraint_element_256", gecode_constraint_element_256, 4);
+YAP_UserCPredicate("gecode_constraint_element_258", gecode_constraint_element_258, 4);
+YAP_UserCPredicate("gecode_constraint_element_250", gecode_constraint_element_250, 4);
+YAP_UserCPredicate("gecode_constraint_element_248", gecode_constraint_element_248, 4);
+YAP_UserCPredicate("gecode_constraint_element_254", gecode_constraint_element_254, 4);
+YAP_UserCPredicate("gecode_constraint_element_262", gecode_constraint_element_262, 4);
+YAP_UserCPredicate("gecode_constraint_element_232", gecode_constraint_element_232, 4);
+YAP_UserCPredicate("gecode_constraint_element_234", gecode_constraint_element_234, 4);
+YAP_UserCPredicate("gecode_constraint_element_230", gecode_constraint_element_230, 4);
+YAP_UserCPredicate("gecode_constraint_sequence_453", gecode_constraint_sequence_453, 2);
+YAP_UserCPredicate("gecode_constraint_notMax_351", gecode_constraint_notMax_351, 3);
+YAP_UserCPredicate("gecode_constraint_ite_272", gecode_constraint_ite_272, 5);
+YAP_UserCPredicate("gecode_constraint_unary_465", gecode_constraint_unary_465, 3);
+YAP_UserCPredicate("gecode_constraint_nroot_355", gecode_constraint_nroot_355, 5);
+YAP_UserCPredicate("gecode_constraint_circuit_99", gecode_constraint_circuit_99, 4);
+YAP_UserCPredicate("gecode_constraint_circuit_88", gecode_constraint_circuit_88, 4);
+YAP_UserCPredicate("gecode_constraint_dom_203", gecode_constraint_dom_203, 5);
+YAP_UserCPredicate("gecode_constraint_dom_204", gecode_constraint_dom_204, 5);
+YAP_UserCPredicate("gecode_constraint_dom_201", gecode_constraint_dom_201, 5);
+YAP_UserCPredicate("gecode_constraint_dom_197", gecode_constraint_dom_197, 5);
+YAP_UserCPredicate("gecode_constraint_dom_228", gecode_constraint_dom_228, 5);
+YAP_UserCPredicate("gecode_constraint_dom_225", gecode_constraint_dom_225, 5);
+YAP_UserCPredicate("gecode_constraint_dom_188", gecode_constraint_dom_188, 5);
+YAP_UserCPredicate("gecode_constraint_dom_210", gecode_constraint_dom_210, 5);
+YAP_UserCPredicate("gecode_constraint_dom_209", gecode_constraint_dom_209, 5);
+YAP_UserCPredicate("gecode_constraint_dom_207", gecode_constraint_dom_207, 5);
+YAP_UserCPredicate("gecode_constraint_argmax_9", gecode_constraint_argmax_9, 6);
+YAP_UserCPredicate("gecode_constraint_nooverlap_348", gecode_constraint_nooverlap_348, 8);
+YAP_UserCPredicate("gecode_constraint_nooverlap_349", gecode_constraint_nooverlap_349, 8);
+YAP_UserCPredicate("gecode_constraint_element_260", gecode_constraint_element_260, 7);
+YAP_UserCPredicate("gecode_constraint_element_252", gecode_constraint_element_252, 7);
+YAP_UserCPredicate("gecode_constraint_element_255", gecode_constraint_element_255, 7);
+YAP_UserCPredicate("gecode_constraint_element_263", gecode_constraint_element_263, 7);
+YAP_UserCPredicate("gecode_constraint_element_238", gecode_constraint_element_238, 7);
+YAP_UserCPredicate("gecode_constraint_element_236", gecode_constraint_element_236, 7);
+YAP_UserCPredicate("gecode_constraint_max_319", gecode_constraint_max_319, 3);
+YAP_UserCPredicate("gecode_constraint_max_320", gecode_constraint_max_320, 3);
+YAP_UserCPredicate("gecode_constraint_max_317", gecode_constraint_max_317, 3);
+YAP_UserCPredicate("gecode_constraint_unshare_479", gecode_constraint_unshare_479, 2);
+YAP_UserCPredicate("gecode_constraint_unshare_477", gecode_constraint_unshare_477, 2);
+YAP_UserCPredicate("gecode_constraint_path_374", gecode_constraint_path_374, 5);
+YAP_UserCPredicate("gecode_constraint_path_373", gecode_constraint_path_373, 5);
+YAP_UserCPredicate("gecode_constraint_branch_61", gecode_constraint_branch_61, 7);
+YAP_UserCPredicate("gecode_constraint_branch_52", gecode_constraint_branch_52, 7);
+YAP_UserCPredicate("gecode_constraint_branch_67", gecode_constraint_branch_67, 7);
+YAP_UserCPredicate("gecode_constraint_mult_341", gecode_constraint_mult_341, 4);
+YAP_UserCPredicate("gecode_constraint_mult_340", gecode_constraint_mult_340, 4);
+YAP_UserCPredicate("gecode_constraint_clause_103", gecode_constraint_clause_103, 6);
+YAP_UserCPredicate("gecode_constraint_clause_101", gecode_constraint_clause_101, 6);
+YAP_UserCPredicate("gecode_constraint_precede_382", gecode_constraint_precede_382, 5);
+YAP_UserCPredicate("gecode_constraint_argmax_4", gecode_constraint_argmax_4, 3);
+YAP_UserCPredicate("gecode_constraint_distinct_176", gecode_constraint_distinct_176, 2);
+YAP_UserCPredicate("gecode_constraint_member_327", gecode_constraint_member_327, 4);
+YAP_UserCPredicate("gecode_constraint_member_328", gecode_constraint_member_328, 4);
+YAP_UserCPredicate("gecode_constraint_member_323", gecode_constraint_member_323, 4);
+YAP_UserCPredicate("gecode_constraint_member_324", gecode_constraint_member_324, 4);
+YAP_UserCPredicate("gecode_constraint_mod_339", gecode_constraint_mod_339, 5);
+YAP_UserCPredicate("gecode_constraint_cardinality_68", gecode_constraint_cardinality_68, 3);
+YAP_UserCPredicate("gecode_constraint_atmostOne_36", gecode_constraint_atmostOne_36, 3);
+YAP_UserCPredicate("gecode_constraint_channelSorted_87", gecode_constraint_channelSorted_87, 3);
+YAP_UserCPredicate("gecode_constraint_linear_288", gecode_constraint_linear_288, 4);
+YAP_UserCPredicate("gecode_constraint_linear_286", gecode_constraint_linear_286, 4);
+YAP_UserCPredicate("gecode_constraint_linear_274", gecode_constraint_linear_274, 4);
+YAP_UserCPredicate("gecode_constraint_linear_278", gecode_constraint_linear_278, 4);
+YAP_UserCPredicate("gecode_constraint_linear_306", gecode_constraint_linear_306, 4);
+YAP_UserCPredicate("gecode_constraint_linear_310", gecode_constraint_linear_310, 4);
+YAP_UserCPredicate("gecode_constraint_circuit_96", gecode_constraint_circuit_96, 2);
+YAP_UserCPredicate("gecode_constraint_rel_402", gecode_constraint_rel_402, 5);
+YAP_UserCPredicate("gecode_constraint_rel_404", gecode_constraint_rel_404, 5);
+YAP_UserCPredicate("gecode_constraint_rel_398", gecode_constraint_rel_398, 5);
+YAP_UserCPredicate("gecode_constraint_rel_399", gecode_constraint_rel_399, 5);
+YAP_UserCPredicate("gecode_constraint_rel_394", gecode_constraint_rel_394, 5);
+YAP_UserCPredicate("gecode_constraint_rel_395", gecode_constraint_rel_395, 5);
+YAP_UserCPredicate("gecode_constraint_rel_391", gecode_constraint_rel_391, 5);
+YAP_UserCPredicate("gecode_constraint_rel_389", gecode_constraint_rel_389, 5);
+YAP_UserCPredicate("gecode_constraint_rel_436", gecode_constraint_rel_436, 5);
+YAP_UserCPredicate("gecode_constraint_rel_434", gecode_constraint_rel_434, 5);
+YAP_UserCPredicate("gecode_constraint_rel_430", gecode_constraint_rel_430, 5);
+YAP_UserCPredicate("gecode_constraint_rel_419", gecode_constraint_rel_419, 5);
+YAP_UserCPredicate("gecode_constraint_rel_417", gecode_constraint_rel_417, 5);
+YAP_UserCPredicate("gecode_constraint_rel_444", gecode_constraint_rel_444, 5);
+YAP_UserCPredicate("gecode_constraint_rel_448", gecode_constraint_rel_448, 5);
+YAP_UserCPredicate("gecode_constraint_rel_446", gecode_constraint_rel_446, 5);
+YAP_UserCPredicate("gecode_constraint_rel_406", gecode_constraint_rel_406, 5);
+YAP_UserCPredicate("gecode_constraint_rel_407", gecode_constraint_rel_407, 5);
+YAP_UserCPredicate("gecode_constraint_rel_411", gecode_constraint_rel_411, 5);
+YAP_UserCPredicate("gecode_constraint_rel_412", gecode_constraint_rel_412, 5);
+YAP_UserCPredicate("gecode_constraint_rel_415", gecode_constraint_rel_415, 5);
+YAP_UserCPredicate("gecode_constraint_rel_426", gecode_constraint_rel_426, 5);
+YAP_UserCPredicate("gecode_constraint_rel_428", gecode_constraint_rel_428, 5);
+YAP_UserCPredicate("gecode_constraint_rel_388", gecode_constraint_rel_388, 5);
+YAP_UserCPredicate("gecode_constraint_rel_386", gecode_constraint_rel_386, 5);
+YAP_UserCPredicate("gecode_constraint_min_331", gecode_constraint_min_331, 4);
+YAP_UserCPredicate("gecode_constraint_min_337", gecode_constraint_min_337, 4);
+YAP_UserCPredicate("gecode_constraint_min_330", gecode_constraint_min_330, 4);
+YAP_UserCPredicate("gecode_constraint_min_334", gecode_constraint_min_334, 4);
+YAP_UserCPredicate("gecode_constraint_cardinality_70", gecode_constraint_cardinality_70, 4);
+YAP_UserCPredicate("gecode_constraint_cardinality_69", gecode_constraint_cardinality_69, 4);
+YAP_UserCPredicate("gecode_constraint_count_125", gecode_constraint_count_125, 4);
+YAP_UserCPredicate("gecode_constraint_count_126", gecode_constraint_count_126, 4);
+YAP_UserCPredicate("gecode_constraint_count_118", gecode_constraint_count_118, 4);
+YAP_UserCPredicate("gecode_constraint_count_121", gecode_constraint_count_121, 4);
+YAP_UserCPredicate("gecode_constraint_count_122", gecode_constraint_count_122, 4);
+YAP_UserCPredicate("gecode_constraint_sqrt_463", gecode_constraint_sqrt_463, 3);
+YAP_UserCPredicate("gecode_constraint_sqrt_462", gecode_constraint_sqrt_462, 3);
+YAP_UserCPredicate("gecode_constraint_cumulatives_171", gecode_constraint_cumulatives_171, 9);
+YAP_UserCPredicate("gecode_constraint_cumulatives_169", gecode_constraint_cumulatives_169, 9);
+YAP_UserCPredicate("gecode_constraint_cumulatives_167", gecode_constraint_cumulatives_167, 9);
+YAP_UserCPredicate("gecode_constraint_cumulatives_165", gecode_constraint_cumulatives_165, 9);
+YAP_UserCPredicate("gecode_constraint_cumulatives_163", gecode_constraint_cumulatives_163, 9);
+YAP_UserCPredicate("gecode_constraint_cumulatives_161", gecode_constraint_cumulatives_161, 9);
+YAP_UserCPredicate("gecode_constraint_cumulatives_159", gecode_constraint_cumulatives_159, 9);
+YAP_UserCPredicate("gecode_constraint_cumulatives_157", gecode_constraint_cumulatives_157, 9);
+YAP_UserCPredicate("gecode_constraint_nvalues_360", gecode_constraint_nvalues_360, 4);
+YAP_UserCPredicate("gecode_constraint_nvalues_362", gecode_constraint_nvalues_362, 4);
+YAP_UserCPredicate("gecode_constraint_nvalues_356", gecode_constraint_nvalues_356, 4);
+YAP_UserCPredicate("gecode_constraint_nvalues_358", gecode_constraint_nvalues_358, 4);
+YAP_UserCPredicate("gecode_constraint_binpacking_37", gecode_constraint_binpacking_37, 4);
+YAP_UserCPredicate("gecode_constraint_linear_301", gecode_constraint_linear_301, 7);
+YAP_UserCPredicate("gecode_constraint_linear_305", gecode_constraint_linear_305, 7);
+YAP_UserCPredicate("gecode_constraint_linear_293", gecode_constraint_linear_293, 7);
+YAP_UserCPredicate("gecode_constraint_linear_297", gecode_constraint_linear_297, 7);
+YAP_UserCPredicate("gecode_constraint_abs_3", gecode_constraint_abs_3, 4);
+YAP_UserCPredicate("gecode_constraint_convex_104", gecode_constraint_convex_104, 2);
+YAP_UserCPredicate("gecode_constraint_div_181", gecode_constraint_div_181, 4);
+YAP_UserCPredicate("gecode_constraint_div_180", gecode_constraint_div_180, 4);
+YAP_UserCPredicate("gecode_constraint_rel_408", gecode_constraint_rel_408, 6);
+YAP_UserCPredicate("gecode_constraint_rel_413", gecode_constraint_rel_413, 6);
+YAP_UserCPredicate("gecode_constraint_rel_440", gecode_constraint_rel_440, 6);
+YAP_UserCPredicate("gecode_constraint_rel_439", gecode_constraint_rel_439, 6);
+YAP_UserCPredicate("gecode_constraint_rel_400", gecode_constraint_rel_400, 6);
+YAP_UserCPredicate("gecode_constraint_rel_396", gecode_constraint_rel_396, 6);
+YAP_UserCPredicate("gecode_constraint_rel_392", gecode_constraint_rel_392, 6);
+YAP_UserCPredicate("gecode_constraint_rel_390", gecode_constraint_rel_390, 6);
+YAP_UserCPredicate("gecode_constraint_rel_424", gecode_constraint_rel_424, 6);
+YAP_UserCPredicate("gecode_constraint_rel_423", gecode_constraint_rel_423, 6);
+YAP_UserCPredicate("gecode_constraint_rel_422", gecode_constraint_rel_422, 6);
+YAP_UserCPredicate("gecode_constraint_rel_421", gecode_constraint_rel_421, 6);
+YAP_UserCPredicate("gecode_constraint_weights_481", gecode_constraint_weights_481, 5);
+YAP_UserCPredicate("gecode_constraint_max_316", gecode_constraint_max_316, 5);
+YAP_UserCPredicate("gecode_constraint_path_371", gecode_constraint_path_371, 9);
+YAP_UserCPredicate("gecode_constraint_unary_473", gecode_constraint_unary_473, 4);
+YAP_UserCPredicate("gecode_constraint_unary_469", gecode_constraint_unary_469, 4);
+YAP_UserCPredicate("gecode_constraint_unary_466", gecode_constraint_unary_466, 4);
+YAP_UserCPredicate("gecode_constraint_unary_467", gecode_constraint_unary_467, 4);
+YAP_UserCPredicate("gecode_constraint_nroot_354", gecode_constraint_nroot_354, 4);
+YAP_UserCPredicate("gecode_constraint_nroot_353", gecode_constraint_nroot_353, 4);
+YAP_UserCPredicate("gecode_constraint_sorted_458", gecode_constraint_sorted_458, 5);
+YAP_UserCPredicate("gecode_constraint_circuit_92", gecode_constraint_circuit_92, 5);
+YAP_UserCPredicate("gecode_constraint_circuit_89", gecode_constraint_circuit_89, 5);
+YAP_UserCPredicate("gecode_constraint_circuit_90", gecode_constraint_circuit_90, 5);
+YAP_UserCPredicate("gecode_constraint_dom_190", gecode_constraint_dom_190, 4);
+YAP_UserCPredicate("gecode_constraint_dom_187", gecode_constraint_dom_187, 4);
+YAP_UserCPredicate("gecode_constraint_dom_215", gecode_constraint_dom_215, 4);
+YAP_UserCPredicate("gecode_constraint_dom_214", gecode_constraint_dom_214, 4);
+YAP_UserCPredicate("gecode_constraint_dom_186", gecode_constraint_dom_186, 4);
+YAP_UserCPredicate("gecode_constraint_dom_224", gecode_constraint_dom_224, 4);
+YAP_UserCPredicate("gecode_constraint_dom_223", gecode_constraint_dom_223, 4);
+YAP_UserCPredicate("gecode_constraint_dom_221", gecode_constraint_dom_221, 4);
+YAP_UserCPredicate("gecode_constraint_dom_219", gecode_constraint_dom_219, 4);
+YAP_UserCPredicate("gecode_constraint_dom_193", gecode_constraint_dom_193, 4);
+YAP_UserCPredicate("gecode_constraint_dom_202", gecode_constraint_dom_202, 4);
+YAP_UserCPredicate("gecode_constraint_dom_199", gecode_constraint_dom_199, 4);
+YAP_UserCPredicate("gecode_constraint_dom_200", gecode_constraint_dom_200, 4);
+YAP_UserCPredicate("gecode_constraint_dom_195", gecode_constraint_dom_195, 4);
+YAP_UserCPredicate("gecode_constraint_dom_196", gecode_constraint_dom_196, 4);
+YAP_UserCPredicate("gecode_constraint_dom_227", gecode_constraint_dom_227, 4);
+YAP_UserCPredicate("gecode_constraint_dom_226", gecode_constraint_dom_226, 4);
+YAP_UserCPredicate("gecode_constraint_dom_208", gecode_constraint_dom_208, 4);
+YAP_UserCPredicate("gecode_constraint_dom_206", gecode_constraint_dom_206, 4);
+YAP_UserCPredicate("gecode_constraint_abs_2", gecode_constraint_abs_2, 3);
+YAP_UserCPredicate("gecode_constraint_abs_1", gecode_constraint_abs_1, 3);
+YAP_UserCPredicate("gecode_constraint_channel_84", gecode_constraint_channel_84, 5);
+YAP_UserCPredicate("gecode_constraint_channel_79", gecode_constraint_channel_79, 5);
+YAP_UserCPredicate("gecode_constraint_assign_29", gecode_constraint_assign_29, 5);
+YAP_UserCPredicate("gecode_constraint_assign_26", gecode_constraint_assign_26, 5);
+YAP_UserCPredicate("gecode_constraint_assign_32", gecode_constraint_assign_32, 5);
+YAP_UserCPredicate("gecode_constraint_assign_35", gecode_constraint_assign_35, 5);
+YAP_UserCPredicate("gecode_constraint_rel_441", gecode_constraint_rel_441, 3);
+YAP_UserCPredicate("gecode_constraint_rel_431", gecode_constraint_rel_431, 3);
+YAP_UserCPredicate("gecode_constraint_path_372", gecode_constraint_path_372, 4);
+YAP_UserCPredicate("gecode_constraint_branch_42", gecode_constraint_branch_42, 4);
+YAP_UserCPredicate("gecode_constraint_branch_53", gecode_constraint_branch_53, 4);
+YAP_UserCPredicate("gecode_constraint_branch_47", gecode_constraint_branch_47, 4);
+YAP_UserCPredicate("gecode_constraint_branch_40", gecode_constraint_branch_40, 4);
+YAP_UserCPredicate("gecode_constraint_branch_56", gecode_constraint_branch_56, 4);
+YAP_UserCPredicate("gecode_constraint_branch_44", gecode_constraint_branch_44, 4);
+YAP_UserCPredicate("gecode_constraint_branch_62", gecode_constraint_branch_62, 4);
+YAP_UserCPredicate("gecode_constraint_branch_46", gecode_constraint_branch_46, 4);
+YAP_UserCPredicate("gecode_constraint_mult_342", gecode_constraint_mult_342, 5);
+YAP_UserCPredicate("gecode_constraint_circuit_93", gecode_constraint_circuit_93, 6);
+YAP_UserCPredicate("gecode_constraint_circuit_94", gecode_constraint_circuit_94, 6);
+YAP_UserCPredicate("gecode_constraint_circuit_91", gecode_constraint_circuit_91, 6);
+YAP_UserCPredicate("gecode_constraint_clause_102", gecode_constraint_clause_102, 5);
+YAP_UserCPredicate("gecode_constraint_clause_100", gecode_constraint_clause_100, 5);
+YAP_UserCPredicate("gecode_constraint_precede_384", gecode_constraint_precede_384, 4);
+YAP_UserCPredicate("gecode_constraint_precede_381", gecode_constraint_precede_381, 4);
+YAP_UserCPredicate("gecode_constraint_precede_380", gecode_constraint_precede_380, 4);
+YAP_UserCPredicate("gecode_constraint_channel_85", gecode_constraint_channel_85, 6);
+YAP_UserCPredicate("gecode_constraint_cumulative_141", gecode_constraint_cumulative_141, 7);
+YAP_UserCPredicate("gecode_constraint_cumulative_142", gecode_constraint_cumulative_142, 7);
+YAP_UserCPredicate("gecode_constraint_cumulative_137", gecode_constraint_cumulative_137, 7);
+YAP_UserCPredicate("gecode_constraint_cumulative_138", gecode_constraint_cumulative_138, 7);
+YAP_UserCPredicate("gecode_constraint_cumulative_135", gecode_constraint_cumulative_135, 7);
+YAP_UserCPredicate("gecode_constraint_cumulative_153", gecode_constraint_cumulative_153, 7);
+YAP_UserCPredicate("gecode_constraint_cumulative_154", gecode_constraint_cumulative_154, 7);
+YAP_UserCPredicate("gecode_constraint_cumulative_149", gecode_constraint_cumulative_149, 7);
+YAP_UserCPredicate("gecode_constraint_cumulative_150", gecode_constraint_cumulative_150, 7);
+YAP_UserCPredicate("gecode_constraint_cumulative_147", gecode_constraint_cumulative_147, 7);
+YAP_UserCPredicate("gecode_constraint_distinct_178", gecode_constraint_distinct_178, 3);
+YAP_UserCPredicate("gecode_constraint_distinct_177", gecode_constraint_distinct_177, 3);
+YAP_UserCPredicate("gecode_constraint_distinct_172", gecode_constraint_distinct_172, 3);
+YAP_UserCPredicate("gecode_constraint_distinct_174", gecode_constraint_distinct_174, 3);
+YAP_UserCPredicate("gecode_constraint_member_329", gecode_constraint_member_329, 5);
+YAP_UserCPredicate("gecode_constraint_member_325", gecode_constraint_member_325, 5);
+YAP_UserCPredicate("gecode_constraint_mod_338", gecode_constraint_mod_338, 4);
+YAP_UserCPredicate("gecode_constraint_sqr_460", gecode_constraint_sqr_460, 3);
+YAP_UserCPredicate("gecode_constraint_sqr_459", gecode_constraint_sqr_459, 3);
+YAP_UserCPredicate("gecode_constraint_sequence_452", gecode_constraint_sequence_452, 7);
+YAP_UserCPredicate("gecode_constraint_sequence_450", gecode_constraint_sequence_450, 7);
+YAP_UserCPredicate("gecode_constraint_path_368", gecode_constraint_path_368, 7);
+YAP_UserCPredicate("gecode_constraint_path_365", gecode_constraint_path_365, 7);
+YAP_UserCPredicate("gecode_constraint_path_366", gecode_constraint_path_366, 7);
+YAP_UserCPredicate("gecode_constraint_divmod_184", gecode_constraint_divmod_184, 6);
+YAP_UserCPredicate("gecode_constraint_sorted_455", gecode_constraint_sorted_455, 3);
+YAP_UserCPredicate("gecode_constraint_extensional_271", gecode_constraint_extensional_271, 4);
+YAP_UserCPredicate("gecode_constraint_extensional_269", gecode_constraint_extensional_269, 4);
+YAP_UserCPredicate("gecode_constraint_extensional_267", gecode_constraint_extensional_267, 4);
+YAP_UserCPredicate("gecode_constraint_extensional_265", gecode_constraint_extensional_265, 4);
+YAP_UserCPredicate("gecode_constraint_circuit_98", gecode_constraint_circuit_98, 3);
+YAP_UserCPredicate("gecode_constraint_circuit_97", gecode_constraint_circuit_97, 3);
+YAP_UserCPredicate("gecode_constraint_argmin_11", gecode_constraint_argmin_11, 4);
+YAP_UserCPredicate("gecode_constraint_argmin_13", gecode_constraint_argmin_13, 4);
+YAP_UserCPredicate("gecode_constraint_channel_75", gecode_constraint_channel_75, 3);
+YAP_UserCPredicate("gecode_constraint_channel_74", gecode_constraint_channel_74, 3);
+YAP_UserCPredicate("gecode_constraint_channel_77", gecode_constraint_channel_77, 3);
+YAP_UserCPredicate("gecode_constraint_channel_80", gecode_constraint_channel_80, 3);
+YAP_UserCPredicate("gecode_constraint_channel_72", gecode_constraint_channel_72, 3);
+YAP_UserCPredicate("gecode_constraint_channel_71", gecode_constraint_channel_71, 3);
+YAP_UserCPredicate("gecode_constraint_channel_83", gecode_constraint_channel_83, 3);
+YAP_UserCPredicate("gecode_constraint_channel_81", gecode_constraint_channel_81, 3);
+YAP_UserCPredicate("gecode_constraint_channel_76", gecode_constraint_channel_76, 3);
+YAP_UserCPredicate("gecode_constraint_channel_86", gecode_constraint_channel_86, 3);
+YAP_UserCPredicate("gecode_constraint_count_110", gecode_constraint_count_110, 5);
+YAP_UserCPredicate("gecode_constraint_count_112", gecode_constraint_count_112, 5);
+YAP_UserCPredicate("gecode_constraint_count_128", gecode_constraint_count_128, 5);
+YAP_UserCPredicate("gecode_constraint_count_130", gecode_constraint_count_130, 5);
+YAP_UserCPredicate("gecode_constraint_count_114", gecode_constraint_count_114, 5);
+YAP_UserCPredicate("gecode_constraint_count_116", gecode_constraint_count_116, 5);
+YAP_UserCPredicate("gecode_constraint_count_119", gecode_constraint_count_119, 5);
+YAP_UserCPredicate("gecode_constraint_count_123", gecode_constraint_count_123, 5);
+YAP_UserCPredicate("gecode_constraint_count_127", gecode_constraint_count_127, 5);
+YAP_UserCPredicate("gecode_constraint_count_106", gecode_constraint_count_106, 5);
+YAP_UserCPredicate("gecode_constraint_count_108", gecode_constraint_count_108, 5);
+YAP_UserCPredicate("gecode_constraint_cumulatives_170", gecode_constraint_cumulatives_170, 8);
+YAP_UserCPredicate("gecode_constraint_cumulatives_168", gecode_constraint_cumulatives_168, 8);
+YAP_UserCPredicate("gecode_constraint_cumulatives_166", gecode_constraint_cumulatives_166, 8);
+YAP_UserCPredicate("gecode_constraint_cumulatives_164", gecode_constraint_cumulatives_164, 8);
+YAP_UserCPredicate("gecode_constraint_cumulatives_162", gecode_constraint_cumulatives_162, 8);
+YAP_UserCPredicate("gecode_constraint_cumulatives_160", gecode_constraint_cumulatives_160, 8);
+YAP_UserCPredicate("gecode_constraint_cumulatives_158", gecode_constraint_cumulatives_158, 8);
+YAP_UserCPredicate("gecode_constraint_cumulatives_156", gecode_constraint_cumulatives_156, 8);
+YAP_UserCPredicate("gecode_constraint_binpacking_38", gecode_constraint_binpacking_38, 5);
+YAP_UserCPredicate("gecode_constraint_extensional_270", gecode_constraint_extensional_270, 3);
+YAP_UserCPredicate("gecode_constraint_extensional_268", gecode_constraint_extensional_268, 3);
+YAP_UserCPredicate("gecode_constraint_extensional_266", gecode_constraint_extensional_266, 3);
+YAP_UserCPredicate("gecode_constraint_extensional_264", gecode_constraint_extensional_264, 3);
+YAP_UserCPredicate("gecode_constraint_linear_309", gecode_constraint_linear_309, 6);
+YAP_UserCPredicate("gecode_constraint_linear_313", gecode_constraint_linear_313, 6);
+YAP_UserCPredicate("gecode_constraint_linear_277", gecode_constraint_linear_277, 6);
+YAP_UserCPredicate("gecode_constraint_linear_281", gecode_constraint_linear_281, 6);
+YAP_UserCPredicate("gecode_constraint_linear_285", gecode_constraint_linear_285, 6);
+YAP_UserCPredicate("gecode_constraint_linear_283", gecode_constraint_linear_283, 6);
+YAP_UserCPredicate("gecode_constraint_linear_299", gecode_constraint_linear_299, 6);
+YAP_UserCPredicate("gecode_constraint_linear_300", gecode_constraint_linear_300, 6);
+YAP_UserCPredicate("gecode_constraint_linear_303", gecode_constraint_linear_303, 6);
+YAP_UserCPredicate("gecode_constraint_linear_304", gecode_constraint_linear_304, 6);
+YAP_UserCPredicate("gecode_constraint_linear_291", gecode_constraint_linear_291, 6);
+YAP_UserCPredicate("gecode_constraint_linear_292", gecode_constraint_linear_292, 6);
+YAP_UserCPredicate("gecode_constraint_linear_295", gecode_constraint_linear_295, 6);
+YAP_UserCPredicate("gecode_constraint_linear_296", gecode_constraint_linear_296, 6);
+YAP_UserCPredicate("gecode_constraint_nooverlap_347", gecode_constraint_nooverlap_347, 7);
+YAP_UserCPredicate("gecode_constraint_nooverlap_346", gecode_constraint_nooverlap_346, 7);
+YAP_UserCPredicate("gecode_constraint_div_182", gecode_constraint_div_182, 5);
+YAP_UserCPredicate("gecode_constraint_sqr_461", gecode_constraint_sqr_461, 4);
+YAP_UserCPredicate("gecode_constraint_channel_82", gecode_constraint_channel_82, 4);
+YAP_UserCPredicate("gecode_constraint_channel_78", gecode_constraint_channel_78, 4);
+YAP_UserCPredicate("gecode_constraint_channel_73", gecode_constraint_channel_73, 4);
+YAP_UserCPredicate("gecode_constraint_path_369", gecode_constraint_path_369, 8);
+YAP_UserCPredicate("gecode_constraint_path_370", gecode_constraint_path_370, 8);
+YAP_UserCPredicate("gecode_constraint_path_367", gecode_constraint_path_367, 8);
+YAP_UserCPredicate("gecode_constraint_unary_474", gecode_constraint_unary_474, 5);
+YAP_UserCPredicate("gecode_constraint_unary_475", gecode_constraint_unary_475, 5);
+YAP_UserCPredicate("gecode_constraint_unary_470", gecode_constraint_unary_470, 5);
+YAP_UserCPredicate("gecode_constraint_unary_471", gecode_constraint_unary_471, 5);
+YAP_UserCPredicate("gecode_constraint_unary_468", gecode_constraint_unary_468, 5);
+YAP_UserCPredicate("gecode_constraint_sorted_456", gecode_constraint_sorted_456, 4);
+YAP_UserCPredicate("gecode_constraint_sorted_457", gecode_constraint_sorted_457, 4);
+YAP_UserCPredicate("gecode_constraint_element_261", gecode_constraint_element_261, 8);
+YAP_UserCPredicate("gecode_constraint_element_253", gecode_constraint_element_253, 8);
+YAP_UserCPredicate("gecode_constraint_element_239", gecode_constraint_element_239, 8);
+YAP_UserCPredicate("gecode_constraint_element_237", gecode_constraint_element_237, 8);
+YAP_UserCPredicate("gecode_constraint_assign_19", gecode_constraint_assign_19, 4);
+YAP_UserCPredicate("gecode_constraint_assign_28", gecode_constraint_assign_28, 4);
+YAP_UserCPredicate("gecode_constraint_assign_25", gecode_constraint_assign_25, 4);
+YAP_UserCPredicate("gecode_constraint_assign_17", gecode_constraint_assign_17, 4);
+YAP_UserCPredicate("gecode_constraint_assign_31", gecode_constraint_assign_31, 4);
+YAP_UserCPredicate("gecode_constraint_assign_21", gecode_constraint_assign_21, 4);
+YAP_UserCPredicate("gecode_constraint_assign_34", gecode_constraint_assign_34, 4);
+YAP_UserCPredicate("gecode_constraint_assign_23", gecode_constraint_assign_23, 4);
+YAP_UserCPredicate("gecode_constraint_element_257", gecode_constraint_element_257, 5);
+YAP_UserCPredicate("gecode_constraint_element_259", gecode_constraint_element_259, 5);
+YAP_UserCPredicate("gecode_constraint_element_251", gecode_constraint_element_251, 5);
+YAP_UserCPredicate("gecode_constraint_element_249", gecode_constraint_element_249, 5);
+YAP_UserCPredicate("gecode_constraint_element_246", gecode_constraint_element_246, 5);
+YAP_UserCPredicate("gecode_constraint_element_244", gecode_constraint_element_244, 5);
+YAP_UserCPredicate("gecode_constraint_element_242", gecode_constraint_element_242, 5);
+YAP_UserCPredicate("gecode_constraint_element_240", gecode_constraint_element_240, 5);
+YAP_UserCPredicate("gecode_constraint_element_233", gecode_constraint_element_233, 5);
+YAP_UserCPredicate("gecode_constraint_element_235", gecode_constraint_element_235, 5);
+YAP_UserCPredicate("gecode_constraint_element_231", gecode_constraint_element_231, 5);
+YAP_UserCPredicate("gecode_constraint_sequence_454", gecode_constraint_sequence_454, 3);
+YAP_UserCPredicate("gecode_constraint_branch_54", gecode_constraint_branch_54, 5);
+YAP_UserCPredicate("gecode_constraint_branch_50", gecode_constraint_branch_50, 5);
+YAP_UserCPredicate("gecode_constraint_branch_48", gecode_constraint_branch_48, 5);
+YAP_UserCPredicate("gecode_constraint_branch_59", gecode_constraint_branch_59, 5);
+YAP_UserCPredicate("gecode_constraint_branch_57", gecode_constraint_branch_57, 5);
+YAP_UserCPredicate("gecode_constraint_branch_63", gecode_constraint_branch_63, 5);
+YAP_UserCPredicate("gecode_constraint_branch_65", gecode_constraint_branch_65, 5);
+YAP_UserCPredicate("gecode_constraint_circuit_95", gecode_constraint_circuit_95, 7);
+YAP_UserCPredicate("gecode_constraint_pow_377", gecode_constraint_pow_377, 4);
+YAP_UserCPredicate("gecode_constraint_pow_376", gecode_constraint_pow_376, 4);
+YAP_UserCPredicate("gecode_constraint_precede_383", gecode_constraint_precede_383, 3);
+YAP_UserCPredicate("gecode_constraint_precede_379", gecode_constraint_precede_379, 3);
+YAP_UserCPredicate("gecode_constraint_argmax_6", gecode_constraint_argmax_6, 5);
+YAP_UserCPredicate("gecode_constraint_argmax_8", gecode_constraint_argmax_8, 5);
+YAP_UserCPredicate("gecode_constraint_cumulative_140", gecode_constraint_cumulative_140, 6);
+YAP_UserCPredicate("gecode_constraint_cumulative_136", gecode_constraint_cumulative_136, 6);
+YAP_UserCPredicate("gecode_constraint_cumulative_133", gecode_constraint_cumulative_133, 6);
+YAP_UserCPredicate("gecode_constraint_cumulative_134", gecode_constraint_cumulative_134, 6);
+YAP_UserCPredicate("gecode_constraint_cumulative_152", gecode_constraint_cumulative_152, 6);
+YAP_UserCPredicate("gecode_constraint_cumulative_148", gecode_constraint_cumulative_148, 6);
+YAP_UserCPredicate("gecode_constraint_cumulative_145", gecode_constraint_cumulative_145, 6);
+YAP_UserCPredicate("gecode_constraint_cumulative_146", gecode_constraint_cumulative_146, 6);
+YAP_UserCPredicate("gecode_constraint_distinct_179", gecode_constraint_distinct_179, 4);
+YAP_UserCPredicate("gecode_constraint_distinct_173", gecode_constraint_distinct_173, 4);
+YAP_UserCPredicate("gecode_constraint_distinct_175", gecode_constraint_distinct_175, 4);
+YAP_UserCPredicate("gecode_constraint_min_335", gecode_constraint_min_335, 3);
+YAP_UserCPredicate("gecode_constraint_min_336", gecode_constraint_min_336, 3);
+YAP_UserCPredicate("gecode_constraint_min_333", gecode_constraint_min_333, 3);
+YAP_UserCPredicate("gecode_constraint_sqrt_464", gecode_constraint_sqrt_464, 4);
+YAP_UserCPredicate("gecode_constraint_sequence_451", gecode_constraint_sequence_451, 6);
+YAP_UserCPredicate("gecode_constraint_sequence_449", gecode_constraint_sequence_449, 6);
+YAP_UserCPredicate("gecode_constraint_unshare_480", gecode_constraint_unshare_480, 3);
+YAP_UserCPredicate("gecode_constraint_unshare_478", gecode_constraint_unshare_478, 3);
+YAP_UserCPredicate("gecode_constraint_path_375", gecode_constraint_path_375, 6);
+YAP_UserCPredicate("gecode_constraint_path_364", gecode_constraint_path_364, 6);
+YAP_UserCPredicate("gecode_constraint_divmod_183", gecode_constraint_divmod_183, 5);
+YAP_UserCPredicate("gecode_constraint_branch_55", gecode_constraint_branch_55, 6);
+YAP_UserCPredicate("gecode_constraint_branch_51", gecode_constraint_branch_51, 6);
+YAP_UserCPredicate("gecode_constraint_branch_49", gecode_constraint_branch_49, 6);
+YAP_UserCPredicate("gecode_constraint_branch_60", gecode_constraint_branch_60, 6);
+YAP_UserCPredicate("gecode_constraint_branch_58", gecode_constraint_branch_58, 6);
+YAP_UserCPredicate("gecode_constraint_branch_64", gecode_constraint_branch_64, 6);
+YAP_UserCPredicate("gecode_constraint_branch_66", gecode_constraint_branch_66, 6);
+YAP_UserCPredicate("gecode_constraint_nooverlap_350", gecode_constraint_nooverlap_350, 9);
+YAP_UserCPredicate("gecode_constraint_argmin_12", gecode_constraint_argmin_12, 5);
+YAP_UserCPredicate("gecode_constraint_argmin_14", gecode_constraint_argmin_14, 5);
+YAP_UserCPredicate("gecode_constraint_cumulative_132", gecode_constraint_cumulative_132, 5);
+YAP_UserCPredicate("gecode_constraint_cumulative_144", gecode_constraint_cumulative_144, 5);
+YAP_UserCPredicate("gecode_constraint_member_326", gecode_constraint_member_326, 3);
+YAP_UserCPredicate("gecode_constraint_member_322", gecode_constraint_member_322, 3);
+YAP_UserCPredicate("gecode_constraint_count_107", gecode_constraint_count_107, 6);
+YAP_UserCPredicate("gecode_constraint_count_109", gecode_constraint_count_109, 6);
+YAP_UserCPredicate("gecode_constraint_count_129", gecode_constraint_count_129, 6);
+YAP_UserCPredicate("gecode_constraint_count_131", gecode_constraint_count_131, 6);
+YAP_UserCPredicate("gecode_constraint_count_115", gecode_constraint_count_115, 6);
+YAP_UserCPredicate("gecode_constraint_count_117", gecode_constraint_count_117, 6);
+YAP_UserCPredicate("gecode_constraint_count_111", gecode_constraint_count_111, 6);
+YAP_UserCPredicate("gecode_constraint_count_113", gecode_constraint_count_113, 6);
+YAP_UserCPredicate("gecode_constraint_pow_378", gecode_constraint_pow_378, 5);
+YAP_UserCPredicate("gecode_constraint_notMin_352", gecode_constraint_notMin_352, 3);
+YAP_UserCPredicate("gecode_constraint_cumulative_143", gecode_constraint_cumulative_143, 8);
+YAP_UserCPredicate("gecode_constraint_cumulative_139", gecode_constraint_cumulative_139, 8);
+YAP_UserCPredicate("gecode_constraint_cumulative_155", gecode_constraint_cumulative_155, 8);
+YAP_UserCPredicate("gecode_constraint_cumulative_151", gecode_constraint_cumulative_151, 8);
+YAP_UserCPredicate("gecode_constraint_branch_43", gecode_constraint_branch_43, 3);
+YAP_UserCPredicate("gecode_constraint_branch_39", gecode_constraint_branch_39, 3);
+YAP_UserCPredicate("gecode_constraint_branch_41", gecode_constraint_branch_41, 3);
+YAP_UserCPredicate("gecode_constraint_branch_45", gecode_constraint_branch_45, 3);
+YAP_UserCPredicate("gecode_constraint_dom_189", gecode_constraint_dom_189, 3);
+YAP_UserCPredicate("gecode_constraint_dom_191", gecode_constraint_dom_191, 3);
+YAP_UserCPredicate("gecode_constraint_dom_217", gecode_constraint_dom_217, 3);
+YAP_UserCPredicate("gecode_constraint_dom_216", gecode_constraint_dom_216, 3);
+YAP_UserCPredicate("gecode_constraint_dom_213", gecode_constraint_dom_213, 3);
+YAP_UserCPredicate("gecode_constraint_dom_185", gecode_constraint_dom_185, 3);
+YAP_UserCPredicate("gecode_constraint_dom_222", gecode_constraint_dom_222, 3);
+YAP_UserCPredicate("gecode_constraint_dom_220", gecode_constraint_dom_220, 3);
+YAP_UserCPredicate("gecode_constraint_dom_218", gecode_constraint_dom_218, 3);
+YAP_UserCPredicate("gecode_constraint_dom_192", gecode_constraint_dom_192, 3);
+YAP_UserCPredicate("gecode_constraint_dom_198", gecode_constraint_dom_198, 3);
+YAP_UserCPredicate("gecode_constraint_dom_194", gecode_constraint_dom_194, 3);
+YAP_UserCPredicate("gecode_constraint_dom_229", gecode_constraint_dom_229, 3);
+YAP_UserCPredicate("gecode_constraint_dom_212", gecode_constraint_dom_212, 3);
+YAP_UserCPredicate("gecode_constraint_linear_307", gecode_constraint_linear_307, 5);
+YAP_UserCPredicate("gecode_constraint_linear_308", gecode_constraint_linear_308, 5);
+YAP_UserCPredicate("gecode_constraint_linear_311", gecode_constraint_linear_311, 5);
+YAP_UserCPredicate("gecode_constraint_linear_312", gecode_constraint_linear_312, 5);
+YAP_UserCPredicate("gecode_constraint_linear_289", gecode_constraint_linear_289, 5);
+YAP_UserCPredicate("gecode_constraint_linear_287", gecode_constraint_linear_287, 5);
+YAP_UserCPredicate("gecode_constraint_linear_275", gecode_constraint_linear_275, 5);
+YAP_UserCPredicate("gecode_constraint_linear_276", gecode_constraint_linear_276, 5);
+YAP_UserCPredicate("gecode_constraint_linear_279", gecode_constraint_linear_279, 5);
+YAP_UserCPredicate("gecode_constraint_linear_280", gecode_constraint_linear_280, 5);
+YAP_UserCPredicate("gecode_constraint_linear_284", gecode_constraint_linear_284, 5);
+YAP_UserCPredicate("gecode_constraint_linear_282", gecode_constraint_linear_282, 5);
+YAP_UserCPredicate("gecode_constraint_linear_298", gecode_constraint_linear_298, 5);
+YAP_UserCPredicate("gecode_constraint_linear_302", gecode_constraint_linear_302, 5);
+YAP_UserCPredicate("gecode_constraint_linear_290", gecode_constraint_linear_290, 5);
+YAP_UserCPredicate("gecode_constraint_linear_294", gecode_constraint_linear_294, 5);
+YAP_UserCPredicate("gecode_constraint_argmin_15", gecode_constraint_argmin_15, 6);
+YAP_UserCPredicate("gecode_constraint_nooverlap_344", gecode_constraint_nooverlap_344, 6);
+YAP_UserCPredicate("gecode_constraint_nooverlap_345", gecode_constraint_nooverlap_345, 6);
+YAP_UserCPredicate("gecode_constraint_element_247", gecode_constraint_element_247, 6);
+YAP_UserCPredicate("gecode_constraint_element_245", gecode_constraint_element_245, 6);
+YAP_UserCPredicate("gecode_constraint_element_243", gecode_constraint_element_243, 6);
+YAP_UserCPredicate("gecode_constraint_element_241", gecode_constraint_element_241, 6);
+YAP_UserCPredicate("gecode_constraint_rel_401", gecode_constraint_rel_401, 4);
+YAP_UserCPredicate("gecode_constraint_rel_403", gecode_constraint_rel_403, 4);
+YAP_UserCPredicate("gecode_constraint_rel_397", gecode_constraint_rel_397, 4);
+YAP_UserCPredicate("gecode_constraint_rel_393", gecode_constraint_rel_393, 4);
+YAP_UserCPredicate("gecode_constraint_rel_437", gecode_constraint_rel_437, 4);
+YAP_UserCPredicate("gecode_constraint_rel_438", gecode_constraint_rel_438, 4);
+YAP_UserCPredicate("gecode_constraint_rel_435", gecode_constraint_rel_435, 4);
+YAP_UserCPredicate("gecode_constraint_rel_432", gecode_constraint_rel_432, 4);
+YAP_UserCPredicate("gecode_constraint_rel_433", gecode_constraint_rel_433, 4);
+YAP_UserCPredicate("gecode_constraint_rel_429", gecode_constraint_rel_429, 4);
+YAP_UserCPredicate("gecode_constraint_rel_418", gecode_constraint_rel_418, 4);
+YAP_UserCPredicate("gecode_constraint_rel_416", gecode_constraint_rel_416, 4);
+YAP_UserCPredicate("gecode_constraint_rel_443", gecode_constraint_rel_443, 4);
+YAP_UserCPredicate("gecode_constraint_rel_447", gecode_constraint_rel_447, 4);
+YAP_UserCPredicate("gecode_constraint_rel_442", gecode_constraint_rel_442, 4);
+YAP_UserCPredicate("gecode_constraint_rel_445", gecode_constraint_rel_445, 4);
+YAP_UserCPredicate("gecode_constraint_rel_405", gecode_constraint_rel_405, 4);
+YAP_UserCPredicate("gecode_constraint_rel_410", gecode_constraint_rel_410, 4);
+YAP_UserCPredicate("gecode_constraint_rel_409", gecode_constraint_rel_409, 4);
+YAP_UserCPredicate("gecode_constraint_rel_414", gecode_constraint_rel_414, 4);
+YAP_UserCPredicate("gecode_constraint_rel_420", gecode_constraint_rel_420, 4);
+YAP_UserCPredicate("gecode_constraint_rel_425", gecode_constraint_rel_425, 4);
+YAP_UserCPredicate("gecode_constraint_rel_427", gecode_constraint_rel_427, 4);
+YAP_UserCPredicate("gecode_constraint_rel_387", gecode_constraint_rel_387, 4);
+YAP_UserCPredicate("gecode_constraint_rel_385", gecode_constraint_rel_385, 4);
+YAP_UserCPredicate("gecode_constraint_min_332", gecode_constraint_min_332, 5);
+YAP_UserCPredicate("gecode_constraint_count_124", gecode_constraint_count_124, 3);
+YAP_UserCPredicate("gecode_constraint_count_120", gecode_constraint_count_120, 3);
+YAP_UserCPredicate("gecode_constraint_argmax_5", gecode_constraint_argmax_5, 4);
+YAP_UserCPredicate("gecode_constraint_argmax_7", gecode_constraint_argmax_7, 4);
+YAP_UserCPredicate("gecode_constraint_ite_273", gecode_constraint_ite_273, 6);
diff --git a/packages/gecode/CMakeLists.txt b/packages/gecode/CMakeLists.txt
index a74e68b1b..39c35573a 100644
--- a/packages/gecode/CMakeLists.txt
+++ b/packages/gecode/CMakeLists.txt
@@ -49,8 +49,9 @@ if (GECODE_FOUND)
ARCHIVE DESTINATION ${dlls}
)
- install(FILES gecode.yap
+ install(FILES gecode${GECODE_MAJOR}.yap
DESTINATION ${libpl}
+ RENAME gecode.yap
)
install(FILES clpfd.yap
diff --git a/packages/gecode/dev/Makefile b/packages/gecode/dev/Makefile
new file mode 100644
index 000000000..4464bb185
--- /dev/null
+++ b/packages/gecode/dev/Makefile
@@ -0,0 +1,5 @@
+all:
+ python code-generator.py
+
+clean:
+ -rm -f *~ *.pyc
diff --git a/packages/gecode/dev/code-generator.py b/packages/gecode/dev/code-generator.py
old mode 100644
new mode 100755
index b840130c5..2f67ba7d3
--- a/packages/gecode/dev/code-generator.py
+++ b/packages/gecode/dev/code-generator.py
@@ -6,12 +6,12 @@
# the terms of the GNU General Public License as published by the Free Software
# Foundation, either version 3 of the License, or (at your option) any later
# version.
-#
+#
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
# details.
-#
+#
# You should have received a copy of the GNU General Public License along with
# this program. If not, see .
#==============================================================================
@@ -26,12 +26,12 @@ NOTICE_CC = """// -*- c++ -*-
// under the terms of the GNU Lesser General Public License as published by the
// Free Software Foundation, either version 3 of the License, or (at your
// option) any later version.
-//
+//
// This program is distributed in the hope that it will be useful, but WITHOUT
// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
// more details.
-//
+//
// You should have received a copy of the GNU Lesser General Public License
// along with this program. If not, see .
//=============================================================================
@@ -45,12 +45,12 @@ NOTICE_PROLOG="""%% -*- prolog -*-
%% under the terms of the GNU Lesser General Public License as published by the
%% Free Software Foundation, either version 3 of the License, or (at your
%% option) any later version.
-%%
+%%
%% This program is distributed in the hope that it will be useful, but WITHOUT
%% ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
%% FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
%% more details.
-%%
+%%
%% You should have received a copy of the GNU Lesser General Public License
%% along with this program. If not, see .
%%=============================================================================
@@ -120,7 +120,7 @@ class Type(object):
def clone(self):
return type(self)(self)
-
+
class Constraint(object):
@@ -165,7 +165,7 @@ class Constraint(object):
def clone(self):
return type(self)(self)
-
+
COMMENT = re.compile("""^\\s*//.*$""")
@@ -598,7 +598,7 @@ class YAPEnumProlog(object):
print
class YAPEnumPrologGenerator(object):
-
+
def generate(self):
for c in enum_classes():
class C(c,YAPEnumProlog): pass
@@ -677,7 +677,7 @@ def gecode_version():
os.remove(file_hh)
os.remove(file_txt)
else:
- version = "4.4.0"
+ version = "5.0.0"
GECODE_VERSION = version
return version
diff --git a/packages/gecode/dev/extractor/Doxyfile b/packages/gecode/dev/extractor/Doxyfile
index 2b3c64d99..546ccc060 100644
--- a/packages/gecode/dev/extractor/Doxyfile
+++ b/packages/gecode/dev/extractor/Doxyfile
@@ -1,109 +1,129 @@
-# Doxyfile 1.7.4
+# Doxyfile 1.8.13
# This file describes the settings to be used by the documentation system
# doxygen (www.doxygen.org) for a project.
#
-# All text after a hash (#) is considered a comment and will be ignored.
+# All text after a double hash (##) is considered a comment and is placed in
+# front of the TAG it is preceding.
+#
+# All text after a single hash (#) is considered a comment and will be ignored.
# The format is:
-# TAG = value [value, ...]
-# For lists items can also be appended using:
-# TAG += value [value, ...]
-# Values that contain spaces should be placed between quotes (" ").
+# TAG = value [value, ...]
+# For lists, items can also be appended using:
+# TAG += value [value, ...]
+# Values that contain spaces should be placed between quotes (\" \").
#---------------------------------------------------------------------------
# Project related configuration options
#---------------------------------------------------------------------------
# This tag specifies the encoding used for all characters in the config file
-# that follow. The default is UTF-8 which is also the encoding used for all
-# text before the first occurrence of this tag. Doxygen uses libiconv (or the
-# iconv built into libc) for the transcoding. See
-# http://www.gnu.org/software/libiconv for the list of possible encodings.
+# that follow. The default is UTF-8 which is also the encoding used for all text
+# before the first occurrence of this tag. Doxygen uses libiconv (or the iconv
+# built into libc) for the transcoding. See http://www.gnu.org/software/libiconv
+# for the list of possible encodings.
+# The default value is: UTF-8.
DOXYFILE_ENCODING = UTF-8
-# The PROJECT_NAME tag is a single word (or a sequence of words surrounded
-# by quotes) that should identify the project.
+# The PROJECT_NAME tag is a single word (or a sequence of words surrounded by
+# double-quotes, unless you are using Doxywizard) that should identify the
+# project for which the documentation is generated. This name is used in the
+# title of most generated pages and in a few other places.
+# The default value is: My Project.
PROJECT_NAME = Gecode
-# The PROJECT_NUMBER tag can be used to enter a project or revision number.
-# This could be handy for archiving the generated documentation or
-# if some version control system is used.
+# The PROJECT_NUMBER tag can be used to enter a project or revision number. This
+# could be handy for archiving the generated documentation or if some version
+# control system is used.
PROJECT_NUMBER =
# Using the PROJECT_BRIEF tag one can provide an optional one line description
-# for a project that appears at the top of each page and should give viewer
-# a quick idea about the purpose of the project. Keep the description short.
+# for a project that appears at the top of each page and should give viewer a
+# quick idea about the purpose of the project. Keep the description short.
PROJECT_BRIEF =
-# With the PROJECT_LOGO tag one can specify an logo or icon that is
-# included in the documentation. The maximum height of the logo should not
-# exceed 55 pixels and the maximum width should not exceed 200 pixels.
-# Doxygen will copy the logo to the output directory.
+# With the PROJECT_LOGO tag one can specify a logo or an icon that is included
+# in the documentation. The maximum height of the logo should not exceed 55
+# pixels and the maximum width should not exceed 200 pixels. Doxygen will copy
+# the logo to the output directory.
PROJECT_LOGO =
-# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
-# base path where the generated documentation will be put.
-# If a relative path is entered, it will be relative to the location
-# where doxygen was started. If left blank the current directory will be used.
+# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) path
+# into which the generated documentation will be written. If a relative path is
+# entered, it will be relative to the location where doxygen was started. If
+# left blank the current directory will be used.
OUTPUT_DIRECTORY =
-# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create
-# 4096 sub-directories (in 2 levels) under the output directory of each output
-# format and will distribute the generated files over these directories.
-# Enabling this option can be useful when feeding doxygen a huge amount of
-# source files, where putting all generated files in the same directory would
-# otherwise cause performance problems for the file system.
+# If the CREATE_SUBDIRS tag is set to YES then doxygen will create 4096 sub-
+# directories (in 2 levels) under the output directory of each output format and
+# will distribute the generated files over these directories. Enabling this
+# option can be useful when feeding doxygen a huge amount of source files, where
+# putting all generated files in the same directory would otherwise causes
+# performance problems for the file system.
+# The default value is: NO.
CREATE_SUBDIRS = NO
+# If the ALLOW_UNICODE_NAMES tag is set to YES, doxygen will allow non-ASCII
+# characters to appear in the names of generated files. If set to NO, non-ASCII
+# characters will be escaped, for example _xE3_x81_x84 will be used for Unicode
+# U+3044.
+# The default value is: NO.
+
+ALLOW_UNICODE_NAMES = NO
+
# The OUTPUT_LANGUAGE tag is used to specify the language in which all
# documentation generated by doxygen is written. Doxygen will use this
# information to generate all constant output in the proper language.
-# The default language is English, other supported languages are:
-# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional,
-# Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German,
-# Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English
-# messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian,
-# Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrillic, Slovak,
-# Slovene, Spanish, Swedish, Ukrainian, and Vietnamese.
+# Possible values are: Afrikaans, Arabic, Armenian, Brazilian, Catalan, Chinese,
+# Chinese-Traditional, Croatian, Czech, Danish, Dutch, English (United States),
+# Esperanto, Farsi (Persian), Finnish, French, German, Greek, Hungarian,
+# Indonesian, Italian, Japanese, Japanese-en (Japanese with English messages),
+# Korean, Korean-en (Korean with English messages), Latvian, Lithuanian,
+# Macedonian, Norwegian, Persian (Farsi), Polish, Portuguese, Romanian, Russian,
+# Serbian, Serbian-Cyrillic, Slovak, Slovene, Spanish, Swedish, Turkish,
+# Ukrainian and Vietnamese.
+# The default value is: English.
OUTPUT_LANGUAGE = English
-# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will
-# include brief member descriptions after the members that are listed in
-# the file and class documentation (similar to JavaDoc).
-# Set to NO to disable this.
+# If the BRIEF_MEMBER_DESC tag is set to YES, doxygen will include brief member
+# descriptions after the members that are listed in the file and class
+# documentation (similar to Javadoc). Set to NO to disable this.
+# The default value is: YES.
BRIEF_MEMBER_DESC = YES
-# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend
-# the brief description of a member or function before the detailed description.
-# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
+# If the REPEAT_BRIEF tag is set to YES, doxygen will prepend the brief
+# description of a member or function before the detailed description
+#
+# Note: If both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
# brief descriptions will be completely suppressed.
+# The default value is: YES.
REPEAT_BRIEF = YES
-# This tag implements a quasi-intelligent brief description abbreviator
-# that is used to form the text in various listings. Each string
-# in this list, if found as the leading text of the brief description, will be
-# stripped from the text and the result after processing the whole list, is
-# used as the annotated text. Otherwise, the brief description is used as-is.
-# If left blank, the following values are used ("$name" is automatically
-# replaced with the name of the entity): "The $name class" "The $name widget"
-# "The $name file" "is" "provides" "specifies" "contains"
-# "represents" "a" "an" "the"
+# This tag implements a quasi-intelligent brief description abbreviator that is
+# used to form the text in various listings. Each string in this list, if found
+# as the leading text of the brief description, will be stripped from the text
+# and the result, after processing the whole list, is used as the annotated
+# text. Otherwise, the brief description is used as-is. If left blank, the
+# following values are used ($name is automatically replaced with the name of
+# the entity):The $name class, The $name widget, The $name file, is, provides,
+# specifies, contains, represents, a, an and the.
ABBREVIATE_BRIEF =
# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
-# Doxygen will generate a detailed section even if there is only a brief
+# doxygen will generate a detailed section even if there is only a brief
# description.
+# The default value is: NO.
ALWAYS_DETAILED_SEC = NO
@@ -111,548 +131,719 @@ ALWAYS_DETAILED_SEC = NO
# inherited members of a class in the documentation of that class as if those
# members were ordinary class members. Constructors, destructors and assignment
# operators of the base classes will not be shown.
+# The default value is: NO.
INLINE_INHERITED_MEMB = NO
-# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full
-# path before files name in the file list and in the header files. If set
-# to NO the shortest path that makes the file name unique will be used.
+# If the FULL_PATH_NAMES tag is set to YES, doxygen will prepend the full path
+# before files name in the file list and in the header files. If set to NO the
+# shortest path that makes the file name unique will be used
+# The default value is: YES.
FULL_PATH_NAMES = YES
-# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag
-# can be used to strip a user-defined part of the path. Stripping is
-# only done if one of the specified strings matches the left-hand part of
-# the path. The tag can be used to show relative paths in the file list.
-# If left blank the directory from which doxygen is run is used as the
-# path to strip.
+# The STRIP_FROM_PATH tag can be used to strip a user-defined part of the path.
+# Stripping is only done if one of the specified strings matches the left-hand
+# part of the path. The tag can be used to show relative paths in the file list.
+# If left blank the directory from which doxygen is run is used as the path to
+# strip.
+#
+# Note that you can specify absolute paths here, but also relative paths, which
+# will be relative from the directory where doxygen is started.
+# This tag requires that the tag FULL_PATH_NAMES is set to YES.
STRIP_FROM_PATH =
-# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of
-# the path mentioned in the documentation of a class, which tells
-# the reader which header file to include in order to use a class.
-# If left blank only the name of the header file containing the class
-# definition is used. Otherwise one should specify the include paths that
-# are normally passed to the compiler using the -I flag.
+# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of the
+# path mentioned in the documentation of a class, which tells the reader which
+# header file to include in order to use a class. If left blank only the name of
+# the header file containing the class definition is used. Otherwise one should
+# specify the list of include paths that are normally passed to the compiler
+# using the -I flag.
STRIP_FROM_INC_PATH =
-# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter
-# (but less readable) file names. This can be useful if your file system
-# doesn't support long names like on DOS, Mac, or CD-ROM.
+# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter (but
+# less readable) file names. This can be useful is your file systems doesn't
+# support long names like on DOS, Mac, or CD-ROM.
+# The default value is: NO.
SHORT_NAMES = NO
-# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen
-# will interpret the first line (until the first dot) of a JavaDoc-style
-# comment as the brief description. If set to NO, the JavaDoc
-# comments will behave just like regular Qt-style comments
-# (thus requiring an explicit @brief command for a brief description.)
+# If the JAVADOC_AUTOBRIEF tag is set to YES then doxygen will interpret the
+# first line (until the first dot) of a Javadoc-style comment as the brief
+# description. If set to NO, the Javadoc-style will behave just like regular Qt-
+# style comments (thus requiring an explicit @brief command for a brief
+# description.)
+# The default value is: NO.
JAVADOC_AUTOBRIEF = NO
-# If the QT_AUTOBRIEF tag is set to YES then Doxygen will
-# interpret the first line (until the first dot) of a Qt-style
-# comment as the brief description. If set to NO, the comments
-# will behave just like regular Qt-style comments (thus requiring
-# an explicit \brief command for a brief description.)
+# If the QT_AUTOBRIEF tag is set to YES then doxygen will interpret the first
+# line (until the first dot) of a Qt-style comment as the brief description. If
+# set to NO, the Qt-style will behave just like regular Qt-style comments (thus
+# requiring an explicit \brief command for a brief description.)
+# The default value is: NO.
QT_AUTOBRIEF = NO
-# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen
-# treat a multi-line C++ special comment block (i.e. a block of //! or ///
-# comments) as a brief description. This used to be the default behaviour.
-# The new default is to treat a multi-line C++ comment block as a detailed
-# description. Set this tag to YES if you prefer the old behaviour instead.
+# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make doxygen treat a
+# multi-line C++ special comment block (i.e. a block of //! or /// comments) as
+# a brief description. This used to be the default behavior. The new default is
+# to treat a multi-line C++ comment block as a detailed description. Set this
+# tag to YES if you prefer the old behavior instead.
+#
+# Note that setting this tag to YES also means that rational rose comments are
+# not recognized any more.
+# The default value is: NO.
MULTILINE_CPP_IS_BRIEF = NO
-# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented
-# member inherits the documentation from any documented member that it
-# re-implements.
+# If the INHERIT_DOCS tag is set to YES then an undocumented member inherits the
+# documentation from any documented member that it re-implements.
+# The default value is: YES.
INHERIT_DOCS = YES
-# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce
-# a new page for each member. If set to NO, the documentation of a member will
-# be part of the file/class/namespace that contains it.
+# If the SEPARATE_MEMBER_PAGES tag is set to YES then doxygen will produce a new
+# page for each member. If set to NO, the documentation of a member will be part
+# of the file/class/namespace that contains it.
+# The default value is: NO.
SEPARATE_MEMBER_PAGES = NO
-# The TAB_SIZE tag can be used to set the number of spaces in a tab.
-# Doxygen uses this value to replace tabs by spaces in code fragments.
+# The TAB_SIZE tag can be used to set the number of spaces in a tab. Doxygen
+# uses this value to replace tabs by spaces in code fragments.
+# Minimum value: 1, maximum value: 16, default value: 4.
TAB_SIZE = 8
-# This tag can be used to specify a number of aliases that acts
-# as commands in the documentation. An alias has the form "name=value".
-# For example adding "sideeffect=\par Side Effects:\n" will allow you to
-# put the command \sideeffect (or @sideeffect) in the documentation, which
-# will result in a user-defined paragraph with heading "Side Effects:".
-# You can put \n's in the value part of an alias to insert newlines.
+# This tag can be used to specify a number of aliases that act as commands in
+# the documentation. An alias has the form:
+# name=value
+# For example adding
+# "sideeffect=@par Side Effects:\n"
+# will allow you to put the command \sideeffect (or @sideeffect) in the
+# documentation, which will result in a user-defined paragraph with heading
+# "Side Effects:". You can put \n's in the value part of an alias to insert
+# newlines.
ALIASES =
-# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C
-# sources only. Doxygen will then generate output that is more tailored for C.
-# For instance, some of the names that are used will be different. The list
-# of all members will be omitted, etc.
+# This tag can be used to specify a number of word-keyword mappings (TCL only).
+# A mapping has the form "name=value". For example adding "class=itcl::class"
+# will allow you to use the command class in the itcl::class meaning.
+
+TCL_SUBST =
+
+# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources
+# only. Doxygen will then generate output that is more tailored for C. For
+# instance, some of the names that are used will be different. The list of all
+# members will be omitted, etc.
+# The default value is: NO.
OPTIMIZE_OUTPUT_FOR_C = NO
-# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java
-# sources only. Doxygen will then generate output that is more tailored for
-# Java. For instance, namespaces will be presented as packages, qualified
-# scopes will look different, etc.
+# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java or
+# Python sources only. Doxygen will then generate output that is more tailored
+# for that language. For instance, namespaces will be presented as packages,
+# qualified scopes will look different, etc.
+# The default value is: NO.
OPTIMIZE_OUTPUT_JAVA = NO
# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran
-# sources only. Doxygen will then generate output that is more tailored for
-# Fortran.
+# sources. Doxygen will then generate output that is tailored for Fortran.
+# The default value is: NO.
OPTIMIZE_FOR_FORTRAN = NO
# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL
-# sources. Doxygen will then generate output that is tailored for
-# VHDL.
+# sources. Doxygen will then generate output that is tailored for VHDL.
+# The default value is: NO.
OPTIMIZE_OUTPUT_VHDL = NO
+# Set the OPTIMIZE_OUTPUT_FOR_PROLOG tag to YES if your project consists of
+# Prolog sources. Doxygen will then generate output that is tailored for Prolog.
+# The default value is: NO.
+
+OPTIMIZE_OUTPUT_FOR_PROLOG = NO
+
# Doxygen selects the parser to use depending on the extension of the files it
-# parses. With this tag you can assign which parser to use for a given extension.
-# Doxygen has a built-in mapping, but you can override or extend it using this
-# tag. The format is ext=language, where ext is a file extension, and language
-# is one of the parsers supported by doxygen: IDL, Java, Javascript, CSharp, C,
-# C++, D, PHP, Objective-C, Python, Fortran, VHDL, C, C++. For instance to make
-# doxygen treat .inc files as Fortran files (default is PHP), and .f files as C
-# (default is Fortran), use: inc=Fortran f=C. Note that for custom extensions
-# you also need to set FILE_PATTERNS otherwise the files are not read by doxygen.
+# parses. With this tag you can assign which parser to use for a given
+# extension. Doxygen has a built-in mapping, but you can override or extend it
+# using this tag. The format is ext=language, where ext is a file extension, and
+# language is one of the parsers supported by doxygen: IDL, Java, Javascript,
+# C#, C, C++, D, PHP, Objective-C, Python, Fortran (fixed format Fortran:
+# FortranFixed, free formatted Fortran: FortranFree, unknown formatted Fortran:
+# Fortran. In the later case the parser tries to guess whether the code is fixed
+# or free formatted code, this is the default for Fortran type files), VHDL. For
+# instance to make doxygen treat .inc files as Fortran files (default is PHP),
+# and .f files as C (default is Fortran), use: inc=Fortran f=C.
+#
+# Note: For files without extension you can use no_extension as a placeholder.
+#
+# Note that for custom extensions you also need to set FILE_PATTERNS otherwise
+# the files are not read by doxygen.
EXTENSION_MAPPING =
+# If the MARKDOWN_SUPPORT tag is enabled then doxygen pre-processes all comments
+# according to the Markdown format, which allows for more readable
+# documentation. See http://daringfireball.net/projects/markdown/ for details.
+# The output of markdown processing is further processed by doxygen, so you can
+# mix doxygen, HTML, and XML commands with Markdown formatting. Disable only in
+# case of backward compatibilities issues.
+# The default value is: YES.
+
+MARKDOWN_SUPPORT = YES
+
+# When the TOC_INCLUDE_HEADINGS tag is set to a non-zero value, all headings up
+# to that level are automatically included in the table of contents, even if
+# they do not have an id attribute.
+# Note: This feature currently applies only to Markdown headings.
+# Minimum value: 0, maximum value: 99, default value: 0.
+# This tag requires that the tag MARKDOWN_SUPPORT is set to YES.
+
+TOC_INCLUDE_HEADINGS = 0
+
+# When enabled doxygen tries to link words that correspond to documented
+# classes, or namespaces to their corresponding documentation. Such a link can
+# be prevented in individual cases by putting a % sign in front of the word or
+# globally by setting AUTOLINK_SUPPORT to NO.
+# The default value is: YES.
+
+AUTOLINK_SUPPORT = YES
+
# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want
-# to include (a tag file for) the STL sources as input, then you should
-# set this tag to YES in order to let doxygen match functions declarations and
-# definitions whose arguments contain STL classes (e.g. func(std::string); v.s.
-# func(std::string) {}). This also makes the inheritance and collaboration
+# to include (a tag file for) the STL sources as input, then you should set this
+# tag to YES in order to let doxygen match functions declarations and
+# definitions whose arguments contain STL classes (e.g. func(std::string);
+# versus func(std::string) {}). This also make the inheritance and collaboration
# diagrams that involve STL classes more complete and accurate.
+# The default value is: NO.
BUILTIN_STL_SUPPORT = NO
# If you use Microsoft's C++/CLI language, you should set this option to YES to
# enable parsing support.
+# The default value is: NO.
CPP_CLI_SUPPORT = NO
-# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only.
-# Doxygen will parse them like normal C++ but will assume all classes use public
-# instead of private inheritance when no explicit protection keyword is present.
+# Set the SIP_SUPPORT tag to YES if your project consists of sip (see:
+# http://www.riverbankcomputing.co.uk/software/sip/intro) sources only. Doxygen
+# will parse them like normal C++ but will assume all classes use public instead
+# of private inheritance when no explicit protection keyword is present.
+# The default value is: NO.
SIP_SUPPORT = NO
-# For Microsoft's IDL there are propget and propput attributes to indicate getter
-# and setter methods for a property. Setting this option to YES (the default)
-# will make doxygen replace the get and set methods by a property in the
-# documentation. This will only work if the methods are indeed getting or
-# setting a simple type. If this is not the case, or you want to show the
-# methods anyway, you should set this option to NO.
+# For Microsoft's IDL there are propget and propput attributes to indicate
+# getter and setter methods for a property. Setting this option to YES will make
+# doxygen to replace the get and set methods by a property in the documentation.
+# This will only work if the methods are indeed getting or setting a simple
+# type. If this is not the case, or you want to show the methods anyway, you
+# should set this option to NO.
+# The default value is: YES.
IDL_PROPERTY_SUPPORT = YES
# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
-# tag is set to YES, then doxygen will reuse the documentation of the first
+# tag is set to YES then doxygen will reuse the documentation of the first
# member in the group (if any) for the other members of the group. By default
# all members of a group must be documented explicitly.
+# The default value is: NO.
DISTRIBUTE_GROUP_DOC = NO
-# Set the SUBGROUPING tag to YES (the default) to allow class member groups of
-# the same type (for instance a group of public functions) to be put as a
-# subgroup of that type (e.g. under the Public Functions section). Set it to
-# NO to prevent subgrouping. Alternatively, this can be done per class using
-# the \nosubgrouping command.
+# If one adds a struct or class to a group and this option is enabled, then also
+# any nested class or struct is added to the same group. By default this option
+# is disabled and one has to add nested compounds explicitly via \ingroup.
+# The default value is: NO.
+
+GROUP_NESTED_COMPOUNDS = NO
+
+# Set the SUBGROUPING tag to YES to allow class member groups of the same type
+# (for instance a group of public functions) to be put as a subgroup of that
+# type (e.g. under the Public Functions section). Set it to NO to prevent
+# subgrouping. Alternatively, this can be done per class using the
+# \nosubgrouping command.
+# The default value is: YES.
SUBGROUPING = YES
-# When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and
-# unions are shown inside the group in which they are included (e.g. using
-# @ingroup) instead of on a separate page (for HTML and Man pages) or
-# section (for LaTeX and RTF).
+# When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and unions
+# are shown inside the group in which they are included (e.g. using \ingroup)
+# instead of on a separate page (for HTML and Man pages) or section (for LaTeX
+# and RTF).
+#
+# Note that this feature does not work in combination with
+# SEPARATE_MEMBER_PAGES.
+# The default value is: NO.
INLINE_GROUPED_CLASSES = NO
-# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum
-# is documented as struct, union, or enum with the name of the typedef. So
+# When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and unions
+# with only public data fields or simple typedef fields will be shown inline in
+# the documentation of the scope in which they are defined (i.e. file,
+# namespace, or group documentation), provided this scope is documented. If set
+# to NO, structs, classes, and unions are shown on a separate page (for HTML and
+# Man pages) or section (for LaTeX and RTF).
+# The default value is: NO.
+
+INLINE_SIMPLE_STRUCTS = NO
+
+# When TYPEDEF_HIDES_STRUCT tag is enabled, a typedef of a struct, union, or
+# enum is documented as struct, union, or enum with the name of the typedef. So
# typedef struct TypeS {} TypeT, will appear in the documentation as a struct
# with name TypeT. When disabled the typedef will appear as a member of a file,
-# namespace, or class. And the struct will be named TypeS. This can typically
-# be useful for C code in case the coding convention dictates that all compound
+# namespace, or class. And the struct will be named TypeS. This can typically be
+# useful for C code in case the coding convention dictates that all compound
# types are typedef'ed and only the typedef is referenced, never the tag name.
+# The default value is: NO.
TYPEDEF_HIDES_STRUCT = NO
-# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to
-# determine which symbols to keep in memory and which to flush to disk.
-# When the cache is full, less often used symbols will be written to disk.
-# For small to medium size projects (<1000 input files) the default value is
-# probably good enough. For larger projects a too small cache size can cause
-# doxygen to be busy swapping symbols to and from disk most of the time
-# causing a significant performance penalty.
-# If the system has enough physical memory increasing the cache will improve the
-# performance by keeping more symbols in memory. Note that the value works on
-# a logarithmic scale so increasing the size by one will roughly double the
-# memory usage. The cache size is given by this formula:
-# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0,
-# corresponding to a cache size of 2^16 = 65536 symbols
+# The size of the symbol lookup cache can be set using LOOKUP_CACHE_SIZE. This
+# cache is used to resolve symbols given their name and scope. Since this can be
+# an expensive process and often the same symbol appears multiple times in the
+# code, doxygen keeps a cache of pre-resolved symbols. If the cache is too small
+# doxygen will become slower. If the cache is too large, memory is wasted. The
+# cache size is given by this formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range
+# is 0..9, the default is 0, corresponding to a cache size of 2^16=65536
+# symbols. At the end of a run doxygen will report the cache usage and suggest
+# the optimal cache size from a speed point of view.
+# Minimum value: 0, maximum value: 9, default value: 0.
-SYMBOL_CACHE_SIZE = 0
+LOOKUP_CACHE_SIZE = 0
#---------------------------------------------------------------------------
# Build related configuration options
#---------------------------------------------------------------------------
-# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
-# documentation are documented, even if no documentation was available.
-# Private class members and static file members will be hidden unless
-# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
+# If the EXTRACT_ALL tag is set to YES, doxygen will assume all entities in
+# documentation are documented, even if no documentation was available. Private
+# class members and static file members will be hidden unless the
+# EXTRACT_PRIVATE respectively EXTRACT_STATIC tags are set to YES.
+# Note: This will also disable the warnings about undocumented members that are
+# normally produced when WARNINGS is set to YES.
+# The default value is: NO.
EXTRACT_ALL = NO
-# If the EXTRACT_PRIVATE tag is set to YES all private members of a class
-# will be included in the documentation.
+# If the EXTRACT_PRIVATE tag is set to YES, all private members of a class will
+# be included in the documentation.
+# The default value is: NO.
EXTRACT_PRIVATE = NO
-# If the EXTRACT_STATIC tag is set to YES all static members of a file
-# will be included in the documentation.
+# If the EXTRACT_PACKAGE tag is set to YES, all members with package or internal
+# scope will be included in the documentation.
+# The default value is: NO.
+
+EXTRACT_PACKAGE = NO
+
+# If the EXTRACT_STATIC tag is set to YES, all static members of a file will be
+# included in the documentation.
+# The default value is: NO.
EXTRACT_STATIC = NO
-# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs)
-# defined locally in source files will be included in the documentation.
-# If set to NO only classes defined in header files are included.
+# If the EXTRACT_LOCAL_CLASSES tag is set to YES, classes (and structs) defined
+# locally in source files will be included in the documentation. If set to NO,
+# only classes defined in header files are included. Does not have any effect
+# for Java sources.
+# The default value is: YES.
EXTRACT_LOCAL_CLASSES = YES
-# This flag is only useful for Objective-C code. When set to YES local
-# methods, which are defined in the implementation section but not in
-# the interface are included in the documentation.
-# If set to NO (the default) only methods in the interface are included.
+# This flag is only useful for Objective-C code. If set to YES, local methods,
+# which are defined in the implementation section but not in the interface are
+# included in the documentation. If set to NO, only methods in the interface are
+# included.
+# The default value is: NO.
EXTRACT_LOCAL_METHODS = NO
# If this flag is set to YES, the members of anonymous namespaces will be
# extracted and appear in the documentation as a namespace called
-# 'anonymous_namespace{file}', where file will be replaced with the base
-# name of the file that contains the anonymous namespace. By default
-# anonymous namespaces are hidden.
+# 'anonymous_namespace{file}', where file will be replaced with the base name of
+# the file that contains the anonymous namespace. By default anonymous namespace
+# are hidden.
+# The default value is: NO.
EXTRACT_ANON_NSPACES = NO
-# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all
-# undocumented members of documented classes, files or namespaces.
-# If set to NO (the default) these members will be included in the
-# various overviews, but no documentation section is generated.
-# This option has no effect if EXTRACT_ALL is enabled.
+# If the HIDE_UNDOC_MEMBERS tag is set to YES, doxygen will hide all
+# undocumented members inside documented classes or files. If set to NO these
+# members will be included in the various overviews, but no documentation
+# section is generated. This option has no effect if EXTRACT_ALL is enabled.
+# The default value is: NO.
HIDE_UNDOC_MEMBERS = NO
-# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all
-# undocumented classes that are normally visible in the class hierarchy.
-# If set to NO (the default) these classes will be included in the various
-# overviews. This option has no effect if EXTRACT_ALL is enabled.
+# If the HIDE_UNDOC_CLASSES tag is set to YES, doxygen will hide all
+# undocumented classes that are normally visible in the class hierarchy. If set
+# to NO, these classes will be included in the various overviews. This option
+# has no effect if EXTRACT_ALL is enabled.
+# The default value is: NO.
HIDE_UNDOC_CLASSES = NO
-# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all
-# friend (class|struct|union) declarations.
-# If set to NO (the default) these declarations will be included in the
-# documentation.
+# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, doxygen will hide all friend
+# (class|struct|union) declarations. If set to NO, these declarations will be
+# included in the documentation.
+# The default value is: NO.
HIDE_FRIEND_COMPOUNDS = NO
-# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any
-# documentation blocks found inside the body of a function.
-# If set to NO (the default) these blocks will be appended to the
-# function's detailed documentation block.
+# If the HIDE_IN_BODY_DOCS tag is set to YES, doxygen will hide any
+# documentation blocks found inside the body of a function. If set to NO, these
+# blocks will be appended to the function's detailed documentation block.
+# The default value is: NO.
HIDE_IN_BODY_DOCS = NO
-# The INTERNAL_DOCS tag determines if documentation
-# that is typed after a \internal command is included. If the tag is set
-# to NO (the default) then the documentation will be excluded.
-# Set it to YES to include the internal documentation.
+# The INTERNAL_DOCS tag determines if documentation that is typed after a
+# \internal command is included. If the tag is set to NO then the documentation
+# will be excluded. Set it to YES to include the internal documentation.
+# The default value is: NO.
INTERNAL_DOCS = NO
-# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate
-# file names in lower-case letters. If set to YES upper-case letters are also
+# If the CASE_SENSE_NAMES tag is set to NO then doxygen will only generate file
+# names in lower-case letters. If set to YES, upper-case letters are also
# allowed. This is useful if you have classes or files whose names only differ
# in case and if your file system supports case sensitive file names. Windows
# and Mac users are advised to set this option to NO.
+# The default value is: system dependent.
CASE_SENSE_NAMES = YES
-# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen
-# will show members with their full class and namespace scopes in the
-# documentation. If set to YES the scope will be hidden.
+# If the HIDE_SCOPE_NAMES tag is set to NO then doxygen will show members with
+# their full class and namespace scopes in the documentation. If set to YES, the
+# scope will be hidden.
+# The default value is: NO.
HIDE_SCOPE_NAMES = NO
-# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen
-# will put a list of the files that are included by a file in the documentation
-# of that file.
+# If the HIDE_COMPOUND_REFERENCE tag is set to NO (default) then doxygen will
+# append additional text to a page's title, such as Class Reference. If set to
+# YES the compound reference will be hidden.
+# The default value is: NO.
+
+HIDE_COMPOUND_REFERENCE= NO
+
+# If the SHOW_INCLUDE_FILES tag is set to YES then doxygen will put a list of
+# the files that are included by a file in the documentation of that file.
+# The default value is: YES.
SHOW_INCLUDE_FILES = YES
-# If the FORCE_LOCAL_INCLUDES tag is set to YES then Doxygen
-# will list include files with double quotes in the documentation
-# rather than with sharp brackets.
+# If the SHOW_GROUPED_MEMB_INC tag is set to YES then Doxygen will add for each
+# grouped member an include statement to the documentation, telling the reader
+# which file to include in order to use the member.
+# The default value is: NO.
+
+SHOW_GROUPED_MEMB_INC = NO
+
+# If the FORCE_LOCAL_INCLUDES tag is set to YES then doxygen will list include
+# files with double quotes in the documentation rather than with sharp brackets.
+# The default value is: NO.
FORCE_LOCAL_INCLUDES = NO
-# If the INLINE_INFO tag is set to YES (the default) then a tag [inline]
-# is inserted in the documentation for inline members.
+# If the INLINE_INFO tag is set to YES then a tag [inline] is inserted in the
+# documentation for inline members.
+# The default value is: YES.
INLINE_INFO = YES
-# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen
-# will sort the (detailed) documentation of file and class members
-# alphabetically by member name. If set to NO the members will appear in
-# declaration order.
+# If the SORT_MEMBER_DOCS tag is set to YES then doxygen will sort the
+# (detailed) documentation of file and class members alphabetically by member
+# name. If set to NO, the members will appear in declaration order.
+# The default value is: YES.
SORT_MEMBER_DOCS = YES
-# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the
-# brief documentation of file, namespace and class members alphabetically
-# by member name. If set to NO (the default) the members will appear in
-# declaration order.
+# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the brief
+# descriptions of file, namespace and class members alphabetically by member
+# name. If set to NO, the members will appear in declaration order. Note that
+# this will also influence the order of the classes in the class list.
+# The default value is: NO.
SORT_BRIEF_DOCS = NO
-# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen
-# will sort the (brief and detailed) documentation of class members so that
-# constructors and destructors are listed first. If set to NO (the default)
-# the constructors will appear in the respective orders defined by
-# SORT_MEMBER_DOCS and SORT_BRIEF_DOCS.
-# This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO
-# and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO.
+# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen will sort the
+# (brief and detailed) documentation of class members so that constructors and
+# destructors are listed first. If set to NO the constructors will appear in the
+# respective orders defined by SORT_BRIEF_DOCS and SORT_MEMBER_DOCS.
+# Note: If SORT_BRIEF_DOCS is set to NO this option is ignored for sorting brief
+# member documentation.
+# Note: If SORT_MEMBER_DOCS is set to NO this option is ignored for sorting
+# detailed member documentation.
+# The default value is: NO.
SORT_MEMBERS_CTORS_1ST = NO
-# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the
-# hierarchy of group names into alphabetical order. If set to NO (the default)
-# the group names will appear in their defined order.
+# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the hierarchy
+# of group names into alphabetical order. If set to NO the group names will
+# appear in their defined order.
+# The default value is: NO.
SORT_GROUP_NAMES = NO
-# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be
-# sorted by fully-qualified names, including namespaces. If set to
-# NO (the default), the class list will be sorted only by class name,
-# not including the namespace part.
+# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be sorted by
+# fully-qualified names, including namespaces. If set to NO, the class list will
+# be sorted only by class name, not including the namespace part.
# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.
-# Note: This option applies only to the class list, not to the
-# alphabetical list.
+# Note: This option applies only to the class list, not to the alphabetical
+# list.
+# The default value is: NO.
SORT_BY_SCOPE_NAME = NO
-# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to
-# do proper type resolution of all parameters of a function it will reject a
-# match between the prototype and the implementation of a member function even
-# if there is only one candidate or it is obvious which candidate to choose
-# by doing a simple string match. By disabling STRICT_PROTO_MATCHING doxygen
-# will still accept a match between prototype and implementation in such cases.
+# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to do proper
+# type resolution of all parameters of a function it will reject a match between
+# the prototype and the implementation of a member function even if there is
+# only one candidate or it is obvious which candidate to choose by doing a
+# simple string match. By disabling STRICT_PROTO_MATCHING doxygen will still
+# accept a match between prototype and implementation in such cases.
+# The default value is: NO.
STRICT_PROTO_MATCHING = NO
-# The GENERATE_TODOLIST tag can be used to enable (YES) or
-# disable (NO) the todo list. This list is created by putting \todo
-# commands in the documentation.
+# The GENERATE_TODOLIST tag can be used to enable (YES) or disable (NO) the todo
+# list. This list is created by putting \todo commands in the documentation.
+# The default value is: YES.
GENERATE_TODOLIST = YES
-# The GENERATE_TESTLIST tag can be used to enable (YES) or
-# disable (NO) the test list. This list is created by putting \test
-# commands in the documentation.
+# The GENERATE_TESTLIST tag can be used to enable (YES) or disable (NO) the test
+# list. This list is created by putting \test commands in the documentation.
+# The default value is: YES.
GENERATE_TESTLIST = YES
-# The GENERATE_BUGLIST tag can be used to enable (YES) or
-# disable (NO) the bug list. This list is created by putting \bug
-# commands in the documentation.
+# The GENERATE_BUGLIST tag can be used to enable (YES) or disable (NO) the bug
+# list. This list is created by putting \bug commands in the documentation.
+# The default value is: YES.
GENERATE_BUGLIST = YES
-# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or
-# disable (NO) the deprecated list. This list is created by putting
-# \deprecated commands in the documentation.
+# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or disable (NO)
+# the deprecated list. This list is created by putting \deprecated commands in
+# the documentation.
+# The default value is: YES.
GENERATE_DEPRECATEDLIST= YES
-# The ENABLED_SECTIONS tag can be used to enable conditional
-# documentation sections, marked by \if sectionname ... \endif.
+# The ENABLED_SECTIONS tag can be used to enable conditional documentation
+# sections, marked by \if ... \endif and \cond
+# ... \endcond blocks.
ENABLED_SECTIONS =
-# The MAX_INITIALIZER_LINES tag determines the maximum number of lines
-# the initial value of a variable or macro consists of for it to appear in
-# the documentation. If the initializer consists of more lines than specified
-# here it will be hidden. Use a value of 0 to hide initializers completely.
-# The appearance of the initializer of individual variables and macros in the
-# documentation can be controlled using \showinitializer or \hideinitializer
-# command in the documentation regardless of this setting.
+# The MAX_INITIALIZER_LINES tag determines the maximum number of lines that the
+# initial value of a variable or macro / define can have for it to appear in the
+# documentation. If the initializer consists of more lines than specified here
+# it will be hidden. Use a value of 0 to hide initializers completely. The
+# appearance of the value of individual variables and macros / defines can be
+# controlled using \showinitializer or \hideinitializer command in the
+# documentation regardless of this setting.
+# Minimum value: 0, maximum value: 10000, default value: 30.
MAX_INITIALIZER_LINES = 30
-# Set the SHOW_USED_FILES tag to NO to disable the list of files generated
-# at the bottom of the documentation of classes and structs. If set to YES the
+# Set the SHOW_USED_FILES tag to NO to disable the list of files generated at
+# the bottom of the documentation of classes and structs. If set to YES, the
# list will mention the files that were used to generate the documentation.
+# The default value is: YES.
SHOW_USED_FILES = YES
-# If the sources in your project are distributed over multiple directories
-# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy
-# in the documentation. The default is NO.
-
-SHOW_DIRECTORIES = NO
-
-# Set the SHOW_FILES tag to NO to disable the generation of the Files page.
-# This will remove the Files entry from the Quick Index and from the
-# Folder Tree View (if specified). The default is YES.
+# Set the SHOW_FILES tag to NO to disable the generation of the Files page. This
+# will remove the Files entry from the Quick Index and from the Folder Tree View
+# (if specified).
+# The default value is: YES.
SHOW_FILES = YES
-# Set the SHOW_NAMESPACES tag to NO to disable the generation of the
-# Namespaces page.
-# This will remove the Namespaces entry from the Quick Index
-# and from the Folder Tree View (if specified). The default is YES.
+# Set the SHOW_NAMESPACES tag to NO to disable the generation of the Namespaces
+# page. This will remove the Namespaces entry from the Quick Index and from the
+# Folder Tree View (if specified).
+# The default value is: YES.
SHOW_NAMESPACES = YES
# The FILE_VERSION_FILTER tag can be used to specify a program or script that
# doxygen should invoke to get the current version for each file (typically from
# the version control system). Doxygen will invoke the program by executing (via
-# popen()) the command , where is the value of
-# the FILE_VERSION_FILTER tag, and is the name of an input file
-# provided by doxygen. Whatever the program writes to standard output
-# is used as the file version. See the manual for examples.
+# popen()) the command command input-file, where command is the value of the
+# FILE_VERSION_FILTER tag, and input-file is the name of an input file provided
+# by doxygen. Whatever the program writes to standard output is used as the file
+# version. For an example see the documentation.
FILE_VERSION_FILTER =
# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed
# by doxygen. The layout file controls the global structure of the generated
-# output files in an output format independent way. The create the layout file
-# that represents doxygen's defaults, run doxygen with the -l option.
-# You can optionally specify a file name after the option, if omitted
-# DoxygenLayout.xml will be used as the name of the layout file.
+# output files in an output format independent way. To create the layout file
+# that represents doxygen's defaults, run doxygen with the -l option. You can
+# optionally specify a file name after the option, if omitted DoxygenLayout.xml
+# will be used as the name of the layout file.
+#
+# Note that if you run doxygen from a directory containing a file called
+# DoxygenLayout.xml, doxygen will parse it automatically even if the LAYOUT_FILE
+# tag is left empty.
LAYOUT_FILE =
+# The CITE_BIB_FILES tag can be used to specify one or more bib files containing
+# the reference definitions. This must be a list of .bib files. The .bib
+# extension is automatically appended if omitted. This requires the bibtex tool
+# to be installed. See also http://en.wikipedia.org/wiki/BibTeX for more info.
+# For LaTeX the style of the bibliography can be controlled using
+# LATEX_BIB_STYLE. To use this feature you need bibtex and perl available in the
+# search path. See also \cite for info how to create references.
+
+CITE_BIB_FILES =
+
#---------------------------------------------------------------------------
-# configuration options related to warning and progress messages
+# Configuration options related to warning and progress messages
#---------------------------------------------------------------------------
-# The QUIET tag can be used to turn on/off the messages that are generated
-# by doxygen. Possible values are YES and NO. If left blank NO is used.
+# The QUIET tag can be used to turn on/off the messages that are generated to
+# standard output by doxygen. If QUIET is set to YES this implies that the
+# messages are off.
+# The default value is: NO.
QUIET = NO
# The WARNINGS tag can be used to turn on/off the warning messages that are
-# generated by doxygen. Possible values are YES and NO. If left blank
-# NO is used.
+# generated to standard error (stderr) by doxygen. If WARNINGS is set to YES
+# this implies that the warnings are on.
+#
+# Tip: Turn warnings on while writing the documentation.
+# The default value is: YES.
WARNINGS = YES
-# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings
-# for undocumented members. If EXTRACT_ALL is set to YES then this flag will
-# automatically be disabled.
+# If the WARN_IF_UNDOCUMENTED tag is set to YES then doxygen will generate
+# warnings for undocumented members. If EXTRACT_ALL is set to YES then this flag
+# will automatically be disabled.
+# The default value is: YES.
WARN_IF_UNDOCUMENTED = YES
-# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for
-# potential errors in the documentation, such as not documenting some
-# parameters in a documented function, or documenting parameters that
-# don't exist or using markup commands wrongly.
+# If the WARN_IF_DOC_ERROR tag is set to YES, doxygen will generate warnings for
+# potential errors in the documentation, such as not documenting some parameters
+# in a documented function, or documenting parameters that don't exist or using
+# markup commands wrongly.
+# The default value is: YES.
WARN_IF_DOC_ERROR = YES
-# The WARN_NO_PARAMDOC option can be enabled to get warnings for
-# functions that are documented, but have no documentation for their parameters
-# or return value. If set to NO (the default) doxygen will only warn about
-# wrong or incomplete parameter documentation, but not about the absence of
-# documentation.
+# This WARN_NO_PARAMDOC option can be enabled to get warnings for functions that
+# are documented, but have no documentation for their parameters or return
+# value. If set to NO, doxygen will only warn about wrong or incomplete
+# parameter documentation, but not about the absence of documentation.
+# The default value is: NO.
WARN_NO_PARAMDOC = NO
-# The WARN_FORMAT tag determines the format of the warning messages that
-# doxygen can produce. The string should contain the $file, $line, and $text
-# tags, which will be replaced by the file and line number from which the
-# warning originated and the warning text. Optionally the format may contain
-# $version, which will be replaced by the version of the file (if it could
-# be obtained via FILE_VERSION_FILTER)
+# If the WARN_AS_ERROR tag is set to YES then doxygen will immediately stop when
+# a warning is encountered.
+# The default value is: NO.
+
+WARN_AS_ERROR = NO
+
+# The WARN_FORMAT tag determines the format of the warning messages that doxygen
+# can produce. The string should contain the $file, $line, and $text tags, which
+# will be replaced by the file and line number from which the warning originated
+# and the warning text. Optionally the format may contain $version, which will
+# be replaced by the version of the file (if it could be obtained via
+# FILE_VERSION_FILTER)
+# The default value is: $file:$line: $text.
WARN_FORMAT = "$file:$line: $text"
-# The WARN_LOGFILE tag can be used to specify a file to which warning
-# and error messages should be written. If left blank the output is written
-# to stderr.
+# The WARN_LOGFILE tag can be used to specify a file to which warning and error
+# messages should be written. If left blank the output is written to standard
+# error (stderr).
WARN_LOGFILE =
#---------------------------------------------------------------------------
-# configuration options related to the input files
+# Configuration options related to the input files
#---------------------------------------------------------------------------
-# The INPUT tag can be used to specify the files and/or directories that contain
-# documented source files. You may enter file names like "myfile.cpp" or
-# directories like "/usr/src/myproject". Separate the files or directories
-# with spaces.
+# The INPUT tag is used to specify the files and/or directories that contain
+# documented source files. You may enter file names like myfile.cpp or
+# directories like /usr/src/myproject. Separate the files or directories with
+# spaces. See also FILE_PATTERNS and EXTENSION_MAPPING
+# Note: If this tag is empty the current directory is searched.
-INPUT = /usr/include/gecode
+INPUT = fatal \
+ /usr/local/opt/gecode
# This tag can be used to specify the character encoding of the source files
-# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is
-# also the default input encoding. Doxygen uses libiconv (or the iconv built
-# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for
-# the list of possible encodings.
+# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
+# libiconv (or the iconv built into libc) for the transcoding. See the libiconv
+# documentation (see: http://www.gnu.org/software/libiconv) for the list of
+# possible encodings.
+# The default value is: UTF-8.
INPUT_ENCODING = ISO-8859-1
# If the value of the INPUT tag contains directories, you can use the
-# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
-# and *.h) to filter out the source-files in the directories. If left
-# blank the following patterns are tested:
-# *.c *.cc *.cxx *.cpp *.c++ *.d *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh
-# *.hxx *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.dox *.py
-# *.f90 *.f *.for *.vhd *.vhdl
+# FILE_PATTERNS tag to specify one or more wildcard patterns (like *.cpp and
+# *.h) to filter out the source-files in the directories.
+#
+# Note that for custom extensions or not directly supported extensions you also
+# need to set EXTENSION_MAPPING for the extension otherwise the files are not
+# read by doxygen.
+#
+# If left blank the following patterns are tested:*.c, *.cc, *.cxx, *.cpp,
+# *.c++, *.java, *.ii, *.ixx, *.ipp, *.i++, *.inl, *.idl, *.ddl, *.odl, *.h,
+# *.hh, *.hxx, *.hpp, *.h++, *.cs, *.d, *.php, *.php4, *.php5, *.phtml, *.inc,
+# *.m, *.markdown, *.md, *.mm, *.dox, *.py, *.pyw, *.f90, *.f95, *.f03, *.f08,
+# *.f, *.for, *.tcl, *.vhd, *.vhdl, *.ucf, *.qsf, *.as, *.js, *.yap, *.ypp,
+# *.prolog and *.pl.
-FILE_PATTERNS = *.hh *.hpp
+FILE_PATTERNS = *.hh \
+ *.hpp
-# The RECURSIVE tag can be used to turn specify whether or not subdirectories
-# should be searched for input files as well. Possible values are YES and NO.
-# If left blank NO is used.
+# The RECURSIVE tag can be used to specify whether or not subdirectories should
+# be searched for input files as well.
+# The default value is: NO.
RECURSIVE = YES
-# The EXCLUDE tag can be used to specify files and/or directories that should
+# The EXCLUDE tag can be used to specify files and/or directories that should be
# excluded from the INPUT source files. This way you can easily exclude a
# subdirectory from a directory tree whose root is specified with the INPUT tag.
+#
+# Note that relative paths are relative to the directory from which doxygen is
+# run.
EXCLUDE =
-# The EXCLUDE_SYMLINKS tag can be used select whether or not files or
+# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or
# directories that are symbolic links (a Unix file system feature) are excluded
# from the input.
+# The default value is: NO.
EXCLUDE_SYMLINKS = NO
# If the value of the INPUT tag contains directories, you can use the
# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
-# certain files from those directories. Note that the wildcards are matched
-# against the file with absolute path, so to exclude all test directories
-# for example use the pattern */test/*
+# certain files from those directories.
+#
+# Note that the wildcards are matched against the file with absolute path, so to
+# exclude all test directories for example use the pattern */test/*
EXCLUDE_PATTERNS =
@@ -661,740 +852,1130 @@ EXCLUDE_PATTERNS =
# output. The symbol name can be a fully qualified name, a word, or if the
# wildcard * is used, a substring. Examples: ANamespace, AClass,
# AClass::ANamespace, ANamespace::*Test
+#
+# Note that the wildcards are matched against the file with absolute path, so to
+# exclude all test directories use the pattern */test/*
EXCLUDE_SYMBOLS =
-# The EXAMPLE_PATH tag can be used to specify one or more files or
-# directories that contain example code fragments that are included (see
-# the \include command).
+# The EXAMPLE_PATH tag can be used to specify one or more files or directories
+# that contain example code fragments that are included (see the \include
+# command).
EXAMPLE_PATH =
# If the value of the EXAMPLE_PATH tag contains directories, you can use the
-# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
-# and *.h) to filter out the source-files in the directories. If left
-# blank all files are included.
+# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp and
+# *.h) to filter out the source-files in the directories. If left blank all
+# files are included.
EXAMPLE_PATTERNS =
# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
-# searched for input files to be used with the \include or \dontinclude
-# commands irrespective of the value of the RECURSIVE tag.
-# Possible values are YES and NO. If left blank NO is used.
+# searched for input files to be used with the \include or \dontinclude commands
+# irrespective of the value of the RECURSIVE tag.
+# The default value is: NO.
EXAMPLE_RECURSIVE = NO
-# The IMAGE_PATH tag can be used to specify one or more files or
-# directories that contain image that are included in the documentation (see
-# the \image command).
+# The IMAGE_PATH tag can be used to specify one or more files or directories
+# that contain images that are to be included in the documentation (see the
+# \image command).
IMAGE_PATH =
# The INPUT_FILTER tag can be used to specify a program that doxygen should
# invoke to filter for each input file. Doxygen will invoke the filter program
-# by executing (via popen()) the command , where
-# is the value of the INPUT_FILTER tag, and is the name of an
-# input file. Doxygen will then use the output that the filter program writes
-# to standard output.
-# If FILTER_PATTERNS is specified, this tag will be
-# ignored.
+# by executing (via popen()) the command:
+#
+#
+#
+# where is the value of the INPUT_FILTER tag, and is the
+# name of an input file. Doxygen will then use the output that the filter
+# program writes to standard output. If FILTER_PATTERNS is specified, this tag
+# will be ignored.
+#
+# Note that the filter must not add or remove lines; it is applied before the
+# code is scanned, but not when the output code is generated. If lines are added
+# or removed, the anchors will not be placed correctly.
+#
+# Note that for custom extensions or not directly supported extensions you also
+# need to set EXTENSION_MAPPING for the extension otherwise the files are not
+# properly processed by doxygen.
INPUT_FILTER =
# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern
-# basis.
-# Doxygen will compare the file name with each pattern and apply the
-# filter if there is a match.
-# The filters are a list of the form:
-# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further
-# info on how filters are used. If FILTER_PATTERNS is empty or if
-# non of the patterns match the file name, INPUT_FILTER is applied.
+# basis. Doxygen will compare the file name with each pattern and apply the
+# filter if there is a match. The filters are a list of the form: pattern=filter
+# (like *.cpp=my_cpp_filter). See INPUT_FILTER for further information on how
+# filters are used. If the FILTER_PATTERNS tag is empty or if none of the
+# patterns match the file name, INPUT_FILTER is applied.
+#
+# Note that for custom extensions or not directly supported extensions you also
+# need to set EXTENSION_MAPPING for the extension otherwise the files are not
+# properly processed by doxygen.
FILTER_PATTERNS =
# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
-# INPUT_FILTER) will be used to filter the input files when producing source
-# files to browse (i.e. when SOURCE_BROWSER is set to YES).
+# INPUT_FILTER) will also be used to filter the input files that are used for
+# producing the source files to browse (i.e. when SOURCE_BROWSER is set to YES).
+# The default value is: NO.
FILTER_SOURCE_FILES = NO
# The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file
-# pattern. A pattern will override the setting for FILTER_PATTERN (if any)
-# and it is also possible to disable source filtering for a specific pattern
-# using *.ext= (so without naming a filter). This option only has effect when
-# FILTER_SOURCE_FILES is enabled.
+# pattern. A pattern will override the setting for FILTER_PATTERN (if any) and
+# it is also possible to disable source filtering for a specific pattern using
+# *.ext= (so without naming a filter).
+# This tag requires that the tag FILTER_SOURCE_FILES is set to YES.
FILTER_SOURCE_PATTERNS =
+# If the USE_MDFILE_AS_MAINPAGE tag refers to the name of a markdown file that
+# is part of the input, its contents will be placed on the main page
+# (index.html). This can be useful if you have a project on for instance GitHub
+# and want to reuse the introduction page also for the doxygen output.
+
+USE_MDFILE_AS_MAINPAGE =
+
#---------------------------------------------------------------------------
-# configuration options related to source browsing
+# Configuration options related to source browsing
#---------------------------------------------------------------------------
-# If the SOURCE_BROWSER tag is set to YES then a list of source files will
-# be generated. Documented entities will be cross-referenced with these sources.
-# Note: To get rid of all source code in the generated output, make sure also
-# VERBATIM_HEADERS is set to NO.
+# If the SOURCE_BROWSER tag is set to YES then a list of source files will be
+# generated. Documented entities will be cross-referenced with these sources.
+#
+# Note: To get rid of all source code in the generated output, make sure that
+# also VERBATIM_HEADERS is set to NO.
+# The default value is: NO.
SOURCE_BROWSER = NO
-# Setting the INLINE_SOURCES tag to YES will include the body
-# of functions and classes directly in the documentation.
+# Setting the INLINE_SOURCES tag to YES will include the body of functions,
+# classes and enums directly into the documentation.
+# The default value is: NO.
INLINE_SOURCES = NO
-# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct
-# doxygen to hide any special comment blocks from generated source code
-# fragments. Normal C and C++ comments will always remain visible.
+# Setting the STRIP_CODE_COMMENTS tag to YES will instruct doxygen to hide any
+# special comment blocks from generated source code fragments. Normal C, C++ and
+# Fortran comments will always remain visible.
+# The default value is: YES.
STRIP_CODE_COMMENTS = YES
-# If the REFERENCED_BY_RELATION tag is set to YES
-# then for each documented function all documented
-# functions referencing it will be listed.
+# If the REFERENCED_BY_RELATION tag is set to YES then for each documented
+# function all documented functions referencing it will be listed.
+# The default value is: NO.
REFERENCED_BY_RELATION = NO
-# If the REFERENCES_RELATION tag is set to YES
-# then for each documented function all documented entities
-# called/used by that function will be listed.
+# If the REFERENCES_RELATION tag is set to YES then for each documented function
+# all documented entities called/used by that function will be listed.
+# The default value is: NO.
REFERENCES_RELATION = NO
-# If the REFERENCES_LINK_SOURCE tag is set to YES (the default)
-# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from
-# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will
-# link to the source code.
-# Otherwise they will link to the documentation.
+# If the REFERENCES_LINK_SOURCE tag is set to YES and SOURCE_BROWSER tag is set
+# to YES then the hyperlinks from functions in REFERENCES_RELATION and
+# REFERENCED_BY_RELATION lists will link to the source code. Otherwise they will
+# link to the documentation.
+# The default value is: YES.
REFERENCES_LINK_SOURCE = YES
-# If the USE_HTAGS tag is set to YES then the references to source code
-# will point to the HTML generated by the htags(1) tool instead of doxygen
-# built-in source browser. The htags tool is part of GNU's global source
-# tagging system (see http://www.gnu.org/software/global/global.html). You
-# will need version 4.8.6 or higher.
+# If SOURCE_TOOLTIPS is enabled (the default) then hovering a hyperlink in the
+# source code will show a tooltip with additional information such as prototype,
+# brief description and links to the definition and documentation. Since this
+# will make the HTML file larger and loading of large files a bit slower, you
+# can opt to disable this feature.
+# The default value is: YES.
+# This tag requires that the tag SOURCE_BROWSER is set to YES.
+
+SOURCE_TOOLTIPS = YES
+
+# If the USE_HTAGS tag is set to YES then the references to source code will
+# point to the HTML generated by the htags(1) tool instead of doxygen built-in
+# source browser. The htags tool is part of GNU's global source tagging system
+# (see http://www.gnu.org/software/global/global.html). You will need version
+# 4.8.6 or higher.
+#
+# To use it do the following:
+# - Install the latest version of global
+# - Enable SOURCE_BROWSER and USE_HTAGS in the config file
+# - Make sure the INPUT points to the root of the source tree
+# - Run doxygen as normal
+#
+# Doxygen will invoke htags (and that will in turn invoke gtags), so these
+# tools must be available from the command line (i.e. in the search path).
+#
+# The result: instead of the source browser generated by doxygen, the links to
+# source code will now point to the output of htags.
+# The default value is: NO.
+# This tag requires that the tag SOURCE_BROWSER is set to YES.
USE_HTAGS = NO
-# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen
-# will generate a verbatim copy of the header file for each class for
-# which an include is specified. Set to NO to disable this.
+# If the VERBATIM_HEADERS tag is set the YES then doxygen will generate a
+# verbatim copy of the header file for each class for which an include is
+# specified. Set to NO to disable this.
+# See also: Section \class.
+# The default value is: YES.
VERBATIM_HEADERS = YES
#---------------------------------------------------------------------------
-# configuration options related to the alphabetical class index
+# Configuration options related to the alphabetical class index
#---------------------------------------------------------------------------
-# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index
-# of all compounds will be generated. Enable this if the project
-# contains a lot of classes, structs, unions or interfaces.
+# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index of all
+# compounds will be generated. Enable this if the project contains a lot of
+# classes, structs, unions or interfaces.
+# The default value is: YES.
ALPHABETICAL_INDEX = YES
-# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then
-# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns
-# in which this list will be split (can be a number in the range [1..20])
+# The COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns in
+# which the alphabetical index list will be split.
+# Minimum value: 1, maximum value: 20, default value: 5.
+# This tag requires that the tag ALPHABETICAL_INDEX is set to YES.
COLS_IN_ALPHA_INDEX = 5
-# In case all classes in a project start with a common prefix, all
-# classes will be put under the same header in the alphabetical index.
-# The IGNORE_PREFIX tag can be used to specify one or more prefixes that
-# should be ignored while generating the index headers.
+# In case all classes in a project start with a common prefix, all classes will
+# be put under the same header in the alphabetical index. The IGNORE_PREFIX tag
+# can be used to specify a prefix (or a list of prefixes) that should be ignored
+# while generating the index headers.
+# This tag requires that the tag ALPHABETICAL_INDEX is set to YES.
IGNORE_PREFIX =
#---------------------------------------------------------------------------
-# configuration options related to the HTML output
+# Configuration options related to the HTML output
#---------------------------------------------------------------------------
-# If the GENERATE_HTML tag is set to YES (the default) Doxygen will
-# generate HTML output.
+# If the GENERATE_HTML tag is set to YES, doxygen will generate HTML output
+# The default value is: YES.
GENERATE_HTML = NO
-# The HTML_OUTPUT tag is used to specify where the HTML docs will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `html' will be used as the default path.
+# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. If a
+# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
+# it.
+# The default directory is: html.
+# This tag requires that the tag GENERATE_HTML is set to YES.
HTML_OUTPUT = html
-# The HTML_FILE_EXTENSION tag can be used to specify the file extension for
-# each generated HTML page (for example: .htm,.php,.asp). If it is left blank
-# doxygen will generate files with .html extension.
+# The HTML_FILE_EXTENSION tag can be used to specify the file extension for each
+# generated HTML page (for example: .htm, .php, .asp).
+# The default value is: .html.
+# This tag requires that the tag GENERATE_HTML is set to YES.
HTML_FILE_EXTENSION = .html
-# The HTML_HEADER tag can be used to specify a personal HTML header for
-# each generated HTML page. If it is left blank doxygen will generate a
-# standard header. Note that when using a custom header you are responsible
-# for the proper inclusion of any scripts and style sheets that doxygen
-# needs, which is dependent on the configuration options used.
-# It is adviced to generate a default header using "doxygen -w html
-# header.html footer.html stylesheet.css YourConfigFile" and then modify
-# that header. Note that the header is subject to change so you typically
-# have to redo this when upgrading to a newer version of doxygen or when changing the value of configuration settings such as GENERATE_TREEVIEW!
+# The HTML_HEADER tag can be used to specify a user-defined HTML header file for
+# each generated HTML page. If the tag is left blank doxygen will generate a
+# standard header.
+#
+# To get valid HTML the header file that includes any scripts and style sheets
+# that doxygen needs, which is dependent on the configuration options used (e.g.
+# the setting GENERATE_TREEVIEW). It is highly recommended to start with a
+# default header using
+# doxygen -w html new_header.html new_footer.html new_stylesheet.css
+# YourConfigFile
+# and then modify the file new_header.html. See also section "Doxygen usage"
+# for information on how to generate the default header that doxygen normally
+# uses.
+# Note: The header is subject to change so you typically have to regenerate the
+# default header when upgrading to a newer version of doxygen. For a description
+# of the possible markers and block names see the documentation.
+# This tag requires that the tag GENERATE_HTML is set to YES.
HTML_HEADER =
-# The HTML_FOOTER tag can be used to specify a personal HTML footer for
-# each generated HTML page. If it is left blank doxygen will generate a
-# standard footer.
+# The HTML_FOOTER tag can be used to specify a user-defined HTML footer for each
+# generated HTML page. If the tag is left blank doxygen will generate a standard
+# footer. See HTML_HEADER for more information on how to generate a default
+# footer and what special commands can be used inside the footer. See also
+# section "Doxygen usage" for information on how to generate the default footer
+# that doxygen normally uses.
+# This tag requires that the tag GENERATE_HTML is set to YES.
HTML_FOOTER =
-# The HTML_STYLESHEET tag can be used to specify a user-defined cascading
-# style sheet that is used by each HTML page. It can be used to
-# fine-tune the look of the HTML output. If the tag is left blank doxygen
-# will generate a default style sheet. Note that doxygen will try to copy
-# the style sheet file to the HTML output directory, so don't put your own
-# stylesheet in the HTML output directory as well, or it will be erased!
+# The HTML_STYLESHEET tag can be used to specify a user-defined cascading style
+# sheet that is used by each HTML page. It can be used to fine-tune the look of
+# the HTML output. If left blank doxygen will generate a default style sheet.
+# See also section "Doxygen usage" for information on how to generate the style
+# sheet that doxygen normally uses.
+# Note: It is recommended to use HTML_EXTRA_STYLESHEET instead of this tag, as
+# it is more robust and this tag (HTML_STYLESHEET) will in the future become
+# obsolete.
+# This tag requires that the tag GENERATE_HTML is set to YES.
HTML_STYLESHEET =
+# The HTML_EXTRA_STYLESHEET tag can be used to specify additional user-defined
+# cascading style sheets that are included after the standard style sheets
+# created by doxygen. Using this option one can overrule certain style aspects.
+# This is preferred over using HTML_STYLESHEET since it does not replace the
+# standard style sheet and is therefore more robust against future updates.
+# Doxygen will copy the style sheet files to the output directory.
+# Note: The order of the extra style sheet files is of importance (e.g. the last
+# style sheet in the list overrules the setting of the previous ones in the
+# list). For an example see the documentation.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_EXTRA_STYLESHEET =
+
# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or
# other source files which should be copied to the HTML output directory. Note
# that these files will be copied to the base HTML output directory. Use the
-# $relpath$ marker in the HTML_HEADER and/or HTML_FOOTER files to load these
-# files. In the HTML_STYLESHEET file, use the file name only. Also note that
-# the files will be copied as-is; there are no commands or markers available.
+# $relpath^ marker in the HTML_HEADER and/or HTML_FOOTER files to load these
+# files. In the HTML_STYLESHEET file, use the file name only. Also note that the
+# files will be copied as-is; there are no commands or markers available.
+# This tag requires that the tag GENERATE_HTML is set to YES.
HTML_EXTRA_FILES =
-# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output.
-# Doxygen will adjust the colors in the stylesheet and background images
-# according to this color. Hue is specified as an angle on a colorwheel,
-# see http://en.wikipedia.org/wiki/Hue for more information.
-# For instance the value 0 represents red, 60 is yellow, 120 is green,
-# 180 is cyan, 240 is blue, 300 purple, and 360 is red again.
-# The allowed range is 0 to 359.
+# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. Doxygen
+# will adjust the colors in the style sheet and background images according to
+# this color. Hue is specified as an angle on a colorwheel, see
+# http://en.wikipedia.org/wiki/Hue for more information. For instance the value
+# 0 represents red, 60 is yellow, 120 is green, 180 is cyan, 240 is blue, 300
+# purple, and 360 is red again.
+# Minimum value: 0, maximum value: 359, default value: 220.
+# This tag requires that the tag GENERATE_HTML is set to YES.
HTML_COLORSTYLE_HUE = 220
-# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of
-# the colors in the HTML output. For a value of 0 the output will use
-# grayscales only. A value of 255 will produce the most vivid colors.
+# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of the colors
+# in the HTML output. For a value of 0 the output will use grayscales only. A
+# value of 255 will produce the most vivid colors.
+# Minimum value: 0, maximum value: 255, default value: 100.
+# This tag requires that the tag GENERATE_HTML is set to YES.
HTML_COLORSTYLE_SAT = 100
-# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to
-# the luminance component of the colors in the HTML output. Values below
-# 100 gradually make the output lighter, whereas values above 100 make
-# the output darker. The value divided by 100 is the actual gamma applied,
-# so 80 represents a gamma of 0.8, The value 220 represents a gamma of 2.2,
-# and 100 does not change the gamma.
+# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to the
+# luminance component of the colors in the HTML output. Values below 100
+# gradually make the output lighter, whereas values above 100 make the output
+# darker. The value divided by 100 is the actual gamma applied, so 80 represents
+# a gamma of 0.8, The value 220 represents a gamma of 2.2, and 100 does not
+# change the gamma.
+# Minimum value: 40, maximum value: 240, default value: 80.
+# This tag requires that the tag GENERATE_HTML is set to YES.
HTML_COLORSTYLE_GAMMA = 80
# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML
-# page will contain the date and time when the page was generated. Setting
-# this to NO can help when comparing the output of multiple runs.
+# page will contain the date and time when the page was generated. Setting this
+# to YES can help to show when doxygen was last run and thus if the
+# documentation is up to date.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
HTML_TIMESTAMP = YES
-# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
-# files or namespaces will be aligned in HTML using tables. If set to
-# NO a bullet list will be used.
-
-HTML_ALIGN_MEMBERS = YES
-
# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
# documentation will contain sections that can be hidden and shown after the
-# page has loaded. For this to work a browser that supports
-# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox
-# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari).
+# page has loaded.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
HTML_DYNAMIC_SECTIONS = NO
-# If the GENERATE_DOCSET tag is set to YES, additional index files
-# will be generated that can be used as input for Apple's Xcode 3
-# integrated development environment, introduced with OSX 10.5 (Leopard).
-# To create a documentation set, doxygen will generate a Makefile in the
-# HTML output directory. Running make will produce the docset in that
-# directory and running "make install" will install the docset in
-# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find
-# it at startup.
-# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html
+# With HTML_INDEX_NUM_ENTRIES one can control the preferred number of entries
+# shown in the various tree structured indices initially; the user can expand
+# and collapse entries dynamically later on. Doxygen will expand the tree to
+# such a level that at most the specified number of entries are visible (unless
+# a fully collapsed tree already exceeds this amount). So setting the number of
+# entries 1 will produce a full collapsed tree by default. 0 is a special value
+# representing an infinite number of entries and will result in a full expanded
+# tree by default.
+# Minimum value: 0, maximum value: 9999, default value: 100.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_INDEX_NUM_ENTRIES = 100
+
+# If the GENERATE_DOCSET tag is set to YES, additional index files will be
+# generated that can be used as input for Apple's Xcode 3 integrated development
+# environment (see: http://developer.apple.com/tools/xcode/), introduced with
+# OSX 10.5 (Leopard). To create a documentation set, doxygen will generate a
+# Makefile in the HTML output directory. Running make will produce the docset in
+# that directory and running make install will install the docset in
+# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find it at
+# startup. See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html
# for more information.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
GENERATE_DOCSET = NO
-# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the
-# feed. A documentation feed provides an umbrella under which multiple
-# documentation sets from a single provider (such as a company or product suite)
-# can be grouped.
+# This tag determines the name of the docset feed. A documentation feed provides
+# an umbrella under which multiple documentation sets from a single provider
+# (such as a company or product suite) can be grouped.
+# The default value is: Doxygen generated docs.
+# This tag requires that the tag GENERATE_DOCSET is set to YES.
DOCSET_FEEDNAME = "Doxygen generated docs"
-# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that
-# should uniquely identify the documentation set bundle. This should be a
-# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen
-# will append .docset to the name.
+# This tag specifies a string that should uniquely identify the documentation
+# set bundle. This should be a reverse domain-name style string, e.g.
+# com.mycompany.MyDocSet. Doxygen will append .docset to the name.
+# The default value is: org.doxygen.Project.
+# This tag requires that the tag GENERATE_DOCSET is set to YES.
DOCSET_BUNDLE_ID = org.doxygen.Project
-# When GENERATE_PUBLISHER_ID tag specifies a string that should uniquely identify
+# The DOCSET_PUBLISHER_ID tag specifies a string that should uniquely identify
# the documentation publisher. This should be a reverse domain-name style
# string, e.g. com.mycompany.MyDocSet.documentation.
+# The default value is: org.doxygen.Publisher.
+# This tag requires that the tag GENERATE_DOCSET is set to YES.
DOCSET_PUBLISHER_ID = org.doxygen.Publisher
-# The GENERATE_PUBLISHER_NAME tag identifies the documentation publisher.
+# The DOCSET_PUBLISHER_NAME tag identifies the documentation publisher.
+# The default value is: Publisher.
+# This tag requires that the tag GENERATE_DOCSET is set to YES.
DOCSET_PUBLISHER_NAME = Publisher
-# If the GENERATE_HTMLHELP tag is set to YES, additional index files
-# will be generated that can be used as input for tools like the
-# Microsoft HTML help workshop to generate a compiled HTML help file (.chm)
-# of the generated HTML documentation.
+# If the GENERATE_HTMLHELP tag is set to YES then doxygen generates three
+# additional HTML index files: index.hhp, index.hhc, and index.hhk. The
+# index.hhp is a project file that can be read by Microsoft's HTML Help Workshop
+# (see: http://www.microsoft.com/en-us/download/details.aspx?id=21138) on
+# Windows.
+#
+# The HTML Help Workshop contains a compiler that can convert all HTML output
+# generated by doxygen into a single compiled HTML file (.chm). Compiled HTML
+# files are now used as the Windows 98 help format, and will replace the old
+# Windows help format (.hlp) on all Windows platforms in the future. Compressed
+# HTML files also contain an index, a table of contents, and you can search for
+# words in the documentation. The HTML workshop also contains a viewer for
+# compressed HTML files.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
GENERATE_HTMLHELP = NO
-# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can
-# be used to specify the file name of the resulting .chm file. You
-# can add a path in front of the file if the result should not be
+# The CHM_FILE tag can be used to specify the file name of the resulting .chm
+# file. You can add a path in front of the file if the result should not be
# written to the html output directory.
+# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
CHM_FILE =
-# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can
-# be used to specify the location (absolute path including file name) of
-# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run
-# the HTML help compiler on the generated index.hhp.
+# The HHC_LOCATION tag can be used to specify the location (absolute path
+# including file name) of the HTML help compiler (hhc.exe). If non-empty,
+# doxygen will try to run the HTML help compiler on the generated index.hhp.
+# The file has to be specified with full path.
+# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
HHC_LOCATION =
-# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag
-# controls if a separate .chi index file is generated (YES) or that
-# it should be included in the master .chm file (NO).
+# The GENERATE_CHI flag controls if a separate .chi index file is generated
+# (YES) or that it should be included in the master .chm file (NO).
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
GENERATE_CHI = NO
-# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING
-# is used to encode HtmlHelp index (hhk), content (hhc) and project file
-# content.
+# The CHM_INDEX_ENCODING is used to encode HtmlHelp index (hhk), content (hhc)
+# and project file content.
+# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
CHM_INDEX_ENCODING =
-# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag
-# controls whether a binary table of contents is generated (YES) or a
-# normal table of contents (NO) in the .chm file.
+# The BINARY_TOC flag controls whether a binary table of contents is generated
+# (YES) or a normal table of contents (NO) in the .chm file. Furthermore it
+# enables the Previous and Next buttons.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
BINARY_TOC = NO
-# The TOC_EXPAND flag can be set to YES to add extra items for group members
-# to the contents of the HTML help documentation and to the tree view.
+# The TOC_EXPAND flag can be set to YES to add extra items for group members to
+# the table of contents of the HTML help documentation and to the tree view.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
TOC_EXPAND = NO
# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and
-# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated
-# that can be used as input for Qt's qhelpgenerator to generate a
-# Qt Compressed Help (.qch) of the generated HTML documentation.
+# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated that
+# can be used as input for Qt's qhelpgenerator to generate a Qt Compressed Help
+# (.qch) of the generated HTML documentation.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
GENERATE_QHP = NO
-# If the QHG_LOCATION tag is specified, the QCH_FILE tag can
-# be used to specify the file name of the resulting .qch file.
-# The path specified is relative to the HTML output folder.
+# If the QHG_LOCATION tag is specified, the QCH_FILE tag can be used to specify
+# the file name of the resulting .qch file. The path specified is relative to
+# the HTML output folder.
+# This tag requires that the tag GENERATE_QHP is set to YES.
QCH_FILE =
-# The QHP_NAMESPACE tag specifies the namespace to use when generating
-# Qt Help Project output. For more information please see
-# http://doc.trolltech.com/qthelpproject.html#namespace
+# The QHP_NAMESPACE tag specifies the namespace to use when generating Qt Help
+# Project output. For more information please see Qt Help Project / Namespace
+# (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#namespace).
+# The default value is: org.doxygen.Project.
+# This tag requires that the tag GENERATE_QHP is set to YES.
QHP_NAMESPACE = org.doxygen.Project
-# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating
-# Qt Help Project output. For more information please see
-# http://doc.trolltech.com/qthelpproject.html#virtual-folders
+# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating Qt
+# Help Project output. For more information please see Qt Help Project / Virtual
+# Folders (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#virtual-
+# folders).
+# The default value is: doc.
+# This tag requires that the tag GENERATE_QHP is set to YES.
QHP_VIRTUAL_FOLDER = doc
-# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to
-# add. For more information please see
-# http://doc.trolltech.com/qthelpproject.html#custom-filters
+# If the QHP_CUST_FILTER_NAME tag is set, it specifies the name of a custom
+# filter to add. For more information please see Qt Help Project / Custom
+# Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom-
+# filters).
+# This tag requires that the tag GENERATE_QHP is set to YES.
QHP_CUST_FILTER_NAME =
-# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the
-# custom filter to add. For more information please see
-#
-# Qt Help Project / Custom Filters.
+# The QHP_CUST_FILTER_ATTRS tag specifies the list of the attributes of the
+# custom filter to add. For more information please see Qt Help Project / Custom
+# Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom-
+# filters).
+# This tag requires that the tag GENERATE_QHP is set to YES.
QHP_CUST_FILTER_ATTRS =
# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this
-# project's
-# filter section matches.
-#
-# Qt Help Project / Filter Attributes.
+# project's filter section matches. Qt Help Project / Filter Attributes (see:
+# http://qt-project.org/doc/qt-4.8/qthelpproject.html#filter-attributes).
+# This tag requires that the tag GENERATE_QHP is set to YES.
QHP_SECT_FILTER_ATTRS =
-# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can
-# be used to specify the location of Qt's qhelpgenerator.
-# If non-empty doxygen will try to run qhelpgenerator on the generated
-# .qhp file.
+# The QHG_LOCATION tag can be used to specify the location of Qt's
+# qhelpgenerator. If non-empty doxygen will try to run qhelpgenerator on the
+# generated .qhp file.
+# This tag requires that the tag GENERATE_QHP is set to YES.
QHG_LOCATION =
-# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files
-# will be generated, which together with the HTML files, form an Eclipse help
-# plugin. To install this plugin and make it available under the help contents
-# menu in Eclipse, the contents of the directory containing the HTML and XML
-# files needs to be copied into the plugins directory of eclipse. The name of
-# the directory within the plugins directory should be the same as
-# the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before
-# the help appears.
+# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files will be
+# generated, together with the HTML files, they form an Eclipse help plugin. To
+# install this plugin and make it available under the help contents menu in
+# Eclipse, the contents of the directory containing the HTML and XML files needs
+# to be copied into the plugins directory of eclipse. The name of the directory
+# within the plugins directory should be the same as the ECLIPSE_DOC_ID value.
+# After copying Eclipse needs to be restarted before the help appears.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
GENERATE_ECLIPSEHELP = NO
-# A unique identifier for the eclipse help plugin. When installing the plugin
-# the directory name containing the HTML and XML files should also have
-# this name.
+# A unique identifier for the Eclipse help plugin. When installing the plugin
+# the directory name containing the HTML and XML files should also have this
+# name. Each documentation set should have its own identifier.
+# The default value is: org.doxygen.Project.
+# This tag requires that the tag GENERATE_ECLIPSEHELP is set to YES.
ECLIPSE_DOC_ID = org.doxygen.Project
-# The DISABLE_INDEX tag can be used to turn on/off the condensed index at
-# top of each HTML page. The value NO (the default) enables the index and
-# the value YES disables it.
+# If you want full control over the layout of the generated HTML pages it might
+# be necessary to disable the index and replace it with your own. The
+# DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs) at top
+# of each HTML page. A value of NO enables the index and the value YES disables
+# it. Since the tabs in the index contain the same information as the navigation
+# tree, you can set this option to YES if you also set GENERATE_TREEVIEW to YES.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
DISABLE_INDEX = NO
-# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values
-# (range [0,1..20]) that doxygen will group on one line in the generated HTML
-# documentation. Note that a value of 0 will completely suppress the enum
-# values from appearing in the overview section.
-
-ENUM_VALUES_PER_LINE = 4
-
# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index
-# structure should be generated to display hierarchical information.
-# If the tag value is set to YES, a side panel will be generated
-# containing a tree-like index structure (just like the one that
-# is generated for HTML Help). For this to work a browser that supports
-# JavaScript, DHTML, CSS and frames is required (i.e. any modern browser).
-# Windows users are probably better off using the HTML help feature.
+# structure should be generated to display hierarchical information. If the tag
+# value is set to YES, a side panel will be generated containing a tree-like
+# index structure (just like the one that is generated for HTML Help). For this
+# to work a browser that supports JavaScript, DHTML, CSS and frames is required
+# (i.e. any modern browser). Windows users are probably better off using the
+# HTML help feature. Via custom style sheets (see HTML_EXTRA_STYLESHEET) one can
+# further fine-tune the look of the index. As an example, the default style
+# sheet generated by doxygen has an example that shows how to put an image at
+# the root of the tree instead of the PROJECT_NAME. Since the tree basically has
+# the same information as the tab index, you could consider setting
+# DISABLE_INDEX to YES when enabling this option.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
GENERATE_TREEVIEW = NO
-# By enabling USE_INLINE_TREES, doxygen will generate the Groups, Directories,
-# and Class Hierarchy pages using a tree view instead of an ordered list.
+# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values that
+# doxygen will group on one line in the generated HTML documentation.
+#
+# Note that a value of 0 will completely suppress the enum values from appearing
+# in the overview section.
+# Minimum value: 0, maximum value: 20, default value: 4.
+# This tag requires that the tag GENERATE_HTML is set to YES.
-USE_INLINE_TREES = NO
+ENUM_VALUES_PER_LINE = 4
-# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be
-# used to set the initial width (in pixels) of the frame in which the tree
-# is shown.
+# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be used
+# to set the initial width (in pixels) of the frame in which the tree is shown.
+# Minimum value: 0, maximum value: 1500, default value: 250.
+# This tag requires that the tag GENERATE_HTML is set to YES.
TREEVIEW_WIDTH = 250
-# When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open
-# links to external symbols imported via tag files in a separate window.
+# If the EXT_LINKS_IN_WINDOW option is set to YES, doxygen will open links to
+# external symbols imported via tag files in a separate window.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
EXT_LINKS_IN_WINDOW = NO
-# Use this tag to change the font size of Latex formulas included
-# as images in the HTML documentation. The default is 10. Note that
-# when you change the font size after a successful doxygen run you need
-# to manually remove any form_*.png images from the HTML output directory
-# to force them to be regenerated.
+# Use this tag to change the font size of LaTeX formulas included as images in
+# the HTML documentation. When you change the font size after a successful
+# doxygen run you need to manually remove any form_*.png images from the HTML
+# output directory to force them to be regenerated.
+# Minimum value: 8, maximum value: 50, default value: 10.
+# This tag requires that the tag GENERATE_HTML is set to YES.
FORMULA_FONTSIZE = 10
# Use the FORMULA_TRANPARENT tag to determine whether or not the images
-# generated for formulas are transparent PNGs. Transparent PNGs are
-# not supported properly for IE 6.0, but are supported on all modern browsers.
-# Note that when changing this option you need to delete any form_*.png files
-# in the HTML output before the changes have effect.
+# generated for formulas are transparent PNGs. Transparent PNGs are not
+# supported properly for IE 6.0, but are supported on all modern browsers.
+#
+# Note that when changing this option you need to delete any form_*.png files in
+# the HTML output directory before the changes have effect.
+# The default value is: YES.
+# This tag requires that the tag GENERATE_HTML is set to YES.
FORMULA_TRANSPARENT = YES
-# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax
-# (see http://www.mathjax.org) which uses client side Javascript for the
-# rendering instead of using prerendered bitmaps. Use this if you do not
-# have LaTeX installed or if you want to formulas look prettier in the HTML
-# output. When enabled you also need to install MathJax separately and
-# configure the path to it using the MATHJAX_RELPATH option.
+# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax (see
+# http://www.mathjax.org) which uses client side Javascript for the rendering
+# instead of using pre-rendered bitmaps. Use this if you do not have LaTeX
+# installed or if you want to formulas look prettier in the HTML output. When
+# enabled you may also need to install MathJax separately and configure the path
+# to it using the MATHJAX_RELPATH option.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
USE_MATHJAX = NO
-# When MathJax is enabled you need to specify the location relative to the
-# HTML output directory using the MATHJAX_RELPATH option. The destination
-# directory should contain the MathJax.js script. For instance, if the mathjax
-# directory is located at the same level as the HTML output directory, then
-# MATHJAX_RELPATH should be ../mathjax. The default value points to the
-# mathjax.org site, so you can quickly see the result without installing
-# MathJax, but it is strongly recommended to install a local copy of MathJax
-# before deployment.
+# When MathJax is enabled you can set the default output format to be used for
+# the MathJax output. See the MathJax site (see:
+# http://docs.mathjax.org/en/latest/output.html) for more details.
+# Possible values are: HTML-CSS (which is slower, but has the best
+# compatibility), NativeMML (i.e. MathML) and SVG.
+# The default value is: HTML-CSS.
+# This tag requires that the tag USE_MATHJAX is set to YES.
+
+MATHJAX_FORMAT = HTML-CSS
+
+# When MathJax is enabled you need to specify the location relative to the HTML
+# output directory using the MATHJAX_RELPATH option. The destination directory
+# should contain the MathJax.js script. For instance, if the mathjax directory
+# is located at the same level as the HTML output directory, then
+# MATHJAX_RELPATH should be ../mathjax. The default value points to the MathJax
+# Content Delivery Network so you can quickly see the result without installing
+# MathJax. However, it is strongly recommended to install a local copy of
+# MathJax from http://www.mathjax.org before deployment.
+# The default value is: http://cdn.mathjax.org/mathjax/latest.
+# This tag requires that the tag USE_MATHJAX is set to YES.
MATHJAX_RELPATH = http://www.mathjax.org/mathjax
-# When the SEARCHENGINE tag is enabled doxygen will generate a search box
-# for the HTML output. The underlying search engine uses javascript
-# and DHTML and should work on any modern browser. Note that when using
-# HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets
-# (GENERATE_DOCSET) there is already a search function so this one should
-# typically be disabled. For large projects the javascript based search engine
-# can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution.
+# The MATHJAX_EXTENSIONS tag can be used to specify one or more MathJax
+# extension names that should be enabled during MathJax rendering. For example
+# MATHJAX_EXTENSIONS = TeX/AMSmath TeX/AMSsymbols
+# This tag requires that the tag USE_MATHJAX is set to YES.
+
+MATHJAX_EXTENSIONS =
+
+# The MATHJAX_CODEFILE tag can be used to specify a file with javascript pieces
+# of code that will be used on startup of the MathJax code. See the MathJax site
+# (see: http://docs.mathjax.org/en/latest/output.html) for more details. For an
+# example see the documentation.
+# This tag requires that the tag USE_MATHJAX is set to YES.
+
+MATHJAX_CODEFILE =
+
+# When the SEARCHENGINE tag is enabled doxygen will generate a search box for
+# the HTML output. The underlying search engine uses javascript and DHTML and
+# should work on any modern browser. Note that when using HTML help
+# (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets (GENERATE_DOCSET)
+# there is already a search function so this one should typically be disabled.
+# For large projects the javascript based search engine can be slow, then
+# enabling SERVER_BASED_SEARCH may provide a better solution. It is possible to
+# search using the keyboard; to jump to the search box use + S
+# (what the is depends on the OS and browser, but it is typically
+# , /