long a1 = AssignmentsImpl.getNumAssignmentsEstimate(r1,
SentenceDomainModels.getVarDomains(r1, newModel, VarDomainOpts.INCLUDE_HEAD), checker);
long a2 = AssignmentsImpl.getNumAssignmentsEstimate(r2,
SentenceDomainModels.getVarDomains(r2, newModel, VarDomainOpts.INCLUDE_HEAD), checker);
int l1 = r1.arity(); if(l1 > 1) l1++;
int l2 = r2.arity(); if(l2 > 1) l2++;
//Whether we split or not depends on what the two heuristics say
long newRulesHeuristic = a1 * l1 + a2 * l2;
return newRulesHeuristic < curRuleHeuristic;