a1 = engine.aregs[1];
a2 = engine.aregs[2];
a3 = engine.aregs[3];
cont = engine.cont;
// '$add_operators'([A|B],C,D):-['$add_op'(A,C,D),'$add_operators'(B,C,D)]
a1 = a1.dereference();
if (a1.isList()){
Term[] args = {((ListTerm)a1).car(), ((ListTerm)a1).cdr()};
a4 = args[0];
a5 = args[1];
} else if (a1.isVariable()){