Term a1, a2, a3, a4, a5, a6, a7;
Predicate p1, p2, p3, p4, p5, p6, p7, p8;
// '$trace_init':-['$get_level'(A),retractall('jp.ac.kobe_u.cs.prolog.builtin':'$leap_flag'(B)),retractall('jp.ac.kobe_u.cs.prolog.builtin':'$current_leash'(C)),retractall('jp.ac.kobe_u.cs.prolog.builtin':'$current_spypoint'(D,E,F)),assertz('jp.ac.kobe_u.cs.prolog.builtin':'$leap_flag'(no)),assertz('jp.ac.kobe_u.cs.prolog.builtin':'$current_leash'(call)),assertz('jp.ac.kobe_u.cs.prolog.builtin':'$current_leash'(exit)),assertz('jp.ac.kobe_u.cs.prolog.builtin':'$current_leash'(redo)),assertz('jp.ac.kobe_u.cs.prolog.builtin':'$current_leash'(fail)),'$cut'(A)]
a1 = new VariableTerm(engine);
//START inline expansion of $get_level(a(1))
if (! a1.unify(new IntegerTerm(engine.B0), engine.trail)) {
return engine.fail();
}
//END inline expansion
Term[] y1 = {new VariableTerm(engine)};
a2 = new StructureTerm(s3, y1);