public static void startupPartialMatch() {
    { Object old$Module$000 = Stella.$MODULE$.get();
      Object old$Context$000 = Stella.$CONTEXT$.get();

      try {
        Native.setSpecial(Stella.$MODULE$, Stella.getStellaModule("/LOGIC", Stella.$STARTUP_TIME_PHASE$ > 1));
        Native.setSpecial(Stella.$CONTEXT$, ((Module)(Stella.$MODULE$.get())));
        if (Stella.currentStartupTimePhaseP(2)) {
          _StartupPartialMatch.helpStartupPartialMatch1();
        }
        if (Stella.currentStartupTimePhaseP(4)) {
          Logic.$PARTIAL_MATCH_MODE$ = Logic.KWD_BASIC;
          Logic.$RULE_COMBINATION$ = Logic.KWD_MAX;
          Logic.$PLANABLE_PREDICATES$ = Stella.NIL;
        }
        if (Stella.currentStartupTimePhaseP(5)) {
          { Stella_Class renamed_Class = Stella.defineClassFromStringifiedSource("PARTIAL-MATCH-FRAME", "(DEFCLASS PARTIAL-MATCH-FRAME (STANDARD-OBJECT) :DOCUMENTATION \"Abstract class acting as placeholder for system and\nuser-defined partial match implementations.\" :ABSTRACT? TRUE :SLOTS ((KIND :TYPE KEYWORD :REQUIRED? TRUE) (CONTROL-FRAME :TYPE CONTROL-FRAME :REQUIRED? TRUE) (PARENT :TYPE PARTIAL-MATCH-FRAME) (CHILD :TYPE PARTIAL-MATCH-FRAME) (POSITIVE-SCORE :TYPE PARTIAL-MATCH-SCORE :INITIALLY NULL) (NEGATIVE-SCORE :TYPE PARTIAL-MATCH-SCORE :INITIALLY NULL) (DYNAMIC-CUTOFF :TYPE FLOAT) (ARGUMENT-SCORES :TYPE (CONS OF FLOAT-WRAPPER) :INITIALLY NIL) (ARGUMENT-WEIGHTS :TYPE (CONS OF FLOAT-WRAPPER) :INITIALLY NIL) (UNBOUND-VARS :TYPE CONS :INITIALLY NIL) (SUCCESS? :TYPE BOOLEAN :INITIALLY FALSE)))");

            renamed_Class.classSlotAccessorCode = Native.find_java_method("edu.isi.powerloom.logic.PartialMatchFrame", "accessPartialMatchFrameSlotValue", new java.lang.Class [] {Native.find_java_class("edu.isi.powerloom.logic.PartialMatchFrame"), Native.find_java_class("edu.isi.stella.Symbol"), Native.find_java_class("edu.isi.stella.Stella_Object"), java.lang.Boolean.TYPE});
          }
          { Stella_Class renamed_Class = Stella.defineClassFromStringifiedSource("INCREMENTAL-PARTIAL-MATCH", "(DEFCLASS INCREMENTAL-PARTIAL-MATCH (PARTIAL-MATCH-FRAME) :SLOTS ((PARENT :TYPE INCREMENTAL-PARTIAL-MATCH) (CHILD :TYPE INCREMENTAL-PARTIAL-MATCH) (ACCUMULATED-SCORE :TYPE PARTIAL-MATCH-SCORE :INITIALLY 0.0) (ACCUMULATED-WEIGHT :TYPE FLOAT :INITIALLY 0.0) (TOTAL-WEIGHT :TYPE FLOAT) (MAXIMUM-SCORE :TYPE PARTIAL-MATCH-SCORE :INITIALLY 0.0)) :INITIALIZER INITIALIZE-INCREMENTAL-PARTIAL-MATCH)");

            renamed_Class.classConstructorCode = Native.find_java_method("edu.isi.powerloom.logic.IncrementalPartialMatch", "newIncrementalPartialMatch", new java.lang.Class [] {Native.find_java_class("edu.isi.stella.Keyword"), Native.find_java_class("edu.isi.powerloom.logic.ControlFrame")});
            renamed_Class.classSlotAccessorCode = Native.find_java_method("edu.isi.powerloom.logic.IncrementalPartialMatch", "accessIncrementalPartialMatchSlotValue", new java.lang.Class [] {Native.find_java_class("edu.isi.powerloom.logic.IncrementalPartialMatch"), Native.find_java_class("edu.isi.stella.Symbol"), Native.find_java_class("edu.isi.stella.Stella_Object"), java.lang.Boolean.TYPE});
          }
          { Stella_Class renamed_Class = Stella.defineClassFromStringifiedSource("NN-PARTIAL-MATCH", "(DEFCLASS NN-PARTIAL-MATCH (PARTIAL-MATCH-FRAME) :SLOTS ((PARENT :TYPE NN-PARTIAL-MATCH) (CHILD :TYPE NN-PARTIAL-MATCH) (ACCUMULATED-SCORE :TYPE PARTIAL-MATCH-SCORE :INITIALLY 0.0) (MAXIMUM-SCORE :TYPE PARTIAL-MATCH-SCORE :INITIALLY 0.0) (RULES :TYPE (CONS OF PROPOSITION) :INITIALLY NIL) (ARITY :TYPE INTEGER)) :INITIALIZER INITIALIZE-NN-PARTIAL-MATCH)");

            renamed_Class.classConstructorCode = Native.find_java_method("edu.isi.powerloom.logic.NnPartialMatch", "newNnPartialMatch", new java.lang.Class [] {Native.find_java_class("edu.isi.stella.Keyword"), Native.find_java_class("edu.isi.powerloom.logic.ControlFrame")});
            renamed_Class.classSlotAccessorCode = Native.find_java_method("edu.isi.powerloom.logic.NnPartialMatch", "accessNnPartialMatchSlotValue", new java.lang.Class [] {Native.find_java_class("edu.isi.powerloom.logic.NnPartialMatch"), Native.find_java_class("edu.isi.stella.Symbol"), Native.find_java_class("edu.isi.stella.Stella_Object"), java.lang.Boolean.TYPE});
          }
        }
        if (Stella.currentStartupTimePhaseP(6)) {
          Stella.finalizeClasses();
        }
        if (Stella.currentStartupTimePhaseP(7)) {
          _StartupPartialMatch.helpStartupPartialMatch2();
          _StartupPartialMatch.helpStartupPartialMatch3();
        }
        if (Stella.currentStartupTimePhaseP(8)) {
          Stella.finalizeSlots();
          Stella.cleanupUnfinalizedClasses();
        }
        if (Stella.currentStartupTimePhaseP(9)) {
          Stella_Object.inModule(((StringWrapper)(Stella_Object.copyConsTree(StringWrapper.wrapString("LOGIC")))));
          Stella.defineStellaGlobalVariableFromStringifiedSource("(DEFGLOBAL *PARTIAL-MATCH-MODE* KEYWORD :BASIC)");
          Stella.defineStellaGlobalVariableFromStringifiedSource("(DEFGLOBAL *GREEDY-NETWORK-PRUNING* BOOLEAN TRUE)");
          Stella.defineStellaGlobalVariableFromStringifiedSource("(DEFGLOBAL *RULE-COMBINATION* KEYWORD :MAX)");
          Stella.defineStellaGlobalVariableFromStringifiedSource("(DEFGLOBAL *PLANNING-MODE* BOOLEAN FALSE)");
          Stella.defineStellaGlobalVariableFromStringifiedSource("(DEFGLOBAL *PLANABLE-PREDICATES* CONS NIL)");
          Stella.defineStellaGlobalVariableFromStringifiedSource("(DEFGLOBAL *FAIL-UNBOUND-CLAUSES?* BOOLEAN FALSE)");
          Stella.defineStellaGlobalVariableFromStringifiedSource("(DEFGLOBAL *MINIMUM-SCORE-CUTOFF* PARTIAL-MATCH-SCORE 0.0 :DOCUMENTATION \"Positive scores below *minimum-score-cutoff* get trimmed\nto 0.0 during partial match operations.\")");
          Stella.defineStellaGlobalVariableFromStringifiedSource("(DEFGLOBAL *MAXIMUM-SCORE-CUTOFF* PARTIAL-MATCH-SCORE 0.0 :DOCUMENTATION \"Positive scores above *maximum-score-cutoff* get trimmed\nto 1.0 during partial match operations.\")");
          Stella.defineStellaGlobalVariableFromStringifiedSource("(DEFGLOBAL *AND-MISSED-A-BINDING* BOOLEAN FALSE)");
          { Object old$Module$001 = Stella.$MODULE$.get();
            Object old$Context$001 = Stella.$CONTEXT$.get();

            try {
              Native.setSpecial(Stella.$MODULE$, Logic.$PL_KERNEL_MODULE$);
              Native.setSpecial(Stella.$CONTEXT$, ((Module)(Stella.$MODULE$.get())));
              Logic.createLogicInstance(Logic.SGT_PL_KERNEL_KB_NULL, null);

            } finally {
              Stella.$CONTEXT$.set(old$Context$001);
              Stella.$MODULE$.set(old$Module$001);
            }
          }
        }

      } finally {
        Stella.$CONTEXT$.set(old$Context$000);
        Stella.$MODULE$.set(old$Module$000);
      }
    }
  }