public static void startupNeuralNetwork() {
    { 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)) {
          _StartupNeuralNetwork.helpStartupNeuralNetwork1();
        }
        if (Stella.currentStartupTimePhaseP(4)) {
          Logic.$NEURAL_NETWORK_TRAINING_METHOD$ = Logic.KWD_BACKPROP;
          Logic.$SAVE_NETWORK_FILE$ = null;
          Logic.$SHRINK_FACTOR$ = Logic.$MAX_MOVEMENT$ / (1.0 + Logic.$MAX_MOVEMENT$);
          Logic.$MASTER_NEURAL_NETWORK_LIST$ = List.newList();
          Logic.$ACTIVATED_NETWORKS$ = List.newList();
          Logic.$PARTIAL_SUPPORT_CACHE$ = List.newList();
        }
        if (Stella.currentStartupTimePhaseP(5)) {
          _StartupNeuralNetwork.helpStartupNeuralNetwork2();
        }
        if (Stella.currentStartupTimePhaseP(6)) {
          Stella.finalizeClasses();
        }
        if (Stella.currentStartupTimePhaseP(7)) {
          _StartupNeuralNetwork.helpStartupNeuralNetwork3();
          Stella.defineFunctionObject("INITIALIZE-FLOAT-VECTOR", "(DEFUN INITIALIZE-FLOAT-VECTOR ((SELF FLOAT-VECTOR)))", Native.find_java_method("edu.isi.powerloom.logic.FloatVector", "initializeFloatVector", new java.lang.Class [] {Native.find_java_class("edu.isi.powerloom.logic.FloatVector")}), null);
          Stella.defineFunctionObject("CREATE-FLOAT-VECTOR", "(DEFUN (CREATE-FLOAT-VECTOR FLOAT-VECTOR) (|&REST| (VALUES FLOAT)) :DOCUMENTATION \"Return a vector containing 'values', in order.\" :PUBLIC? TRUE)", Native.find_java_method("edu.isi.powerloom.logic.Logic", "createFloatVector", new java.lang.Class [] {Native.find_java_class("edu.isi.stella.Cons")}), null);
          Stella.defineMethodObject("(DEFMETHOD PRINT-VECTOR ((SELF FLOAT-VECTOR) (STREAM NATIVE-OUTPUT-STREAM)))", Native.find_java_method("edu.isi.powerloom.logic.FloatVector", "printVector", new java.lang.Class [] {Native.find_java_class("org.powerloom.PrintableStringWriter")}), ((java.lang.reflect.Method)(null)));
          Stella.defineMethodObject("(DEFMETHOD (EMPTY? BOOLEAN) ((SELF FLOAT-VECTOR)) :DOCUMENTATION \"Return TRUE if 'self' has length 0.\" :GLOBALLY-INLINE? TRUE (RETURN (EQL? (ARRAY-SIZE SELF) 0)))", Native.find_java_method("edu.isi.powerloom.logic.FloatVector", "emptyP", new java.lang.Class [] {}), ((java.lang.reflect.Method)(null)));
          Stella.defineMethodObject("(DEFMETHOD (NON-EMPTY? BOOLEAN) ((SELF FLOAT-VECTOR)) :DOCUMENTATION \"Return TRUE if 'self' has length > 0.\" :GLOBALLY-INLINE? TRUE (RETURN (> (ARRAY-SIZE SELF) 0)))", Native.find_java_method("edu.isi.powerloom.logic.FloatVector", "nonEmptyP", new java.lang.Class [] {}), ((java.lang.reflect.Method)(null)));
          Stella.defineMethodObject("(DEFMETHOD (NTH FLOAT) ((SELF FLOAT-VECTOR) (POSITION INTEGER)) :GLOBALLY-INLINE? TRUE (RETURN (SAFE-CAST (NTH (THE-ARRAY SELF) POSITION) FLOAT-WRAPPER)))", Native.find_java_method("edu.isi.powerloom.logic.FloatVector", "nth", new java.lang.Class [] {java.lang.Integer.TYPE}), ((java.lang.reflect.Method)(null)));
          Stella.defineMethodObject("(DEFMETHOD (NTH-SETTER FLOAT) ((SELF FLOAT-VECTOR) (VALUE FLOAT) (POSITION INTEGER)) :GLOBALLY-INLINE? TRUE (RETURN (SETF (WRAPPER-VALUE (SAFE-CAST (NTH (THE-ARRAY SELF) POSITION) FLOAT-WRAPPER)) VALUE)))", Native.find_java_method("edu.isi.powerloom.logic.FloatVector", "nthSetter", new java.lang.Class [] {java.lang.Double.TYPE, java.lang.Integer.TYPE}), ((java.lang.reflect.Method)(null)));
          Stella.defineMethodObject("(DEFMETHOD (LENGTH INTEGER) ((SELF FLOAT-VECTOR)) :GLOBALLY-INLINE? TRUE (RETURN (ARRAY-SIZE SELF)))", Native.find_java_method("edu.isi.powerloom.logic.FloatVector", "length", new java.lang.Class [] {}), ((java.lang.reflect.Method)(null)));
          Stella.defineMethodObject("(DEFMETHOD (MEMBER? BOOLEAN) ((SELF FLOAT-VECTOR) (OBJECT FLOAT)))", Native.find_java_method("edu.isi.powerloom.logic.FloatVector", "memberP", new java.lang.Class [] {java.lang.Double.TYPE}), ((java.lang.reflect.Method)(null)));
          Stella.defineFunctionObject("INITIALIZE-2_D_FLOAT-ARRAY", "(DEFUN INITIALIZE-2_D_FLOAT-ARRAY ((SELF 2_D_FLOAT-ARRAY)))", Native.find_java_method("edu.isi.powerloom.logic.two_D_floatArray", "initialize2_D_floatArray", new java.lang.Class [] {Native.find_java_class("edu.isi.powerloom.logic.two_D_floatArray")}), null);
          Stella.defineMethodObject("(DEFMETHOD (2_D_ELEMENT FLOAT) ((ARRAY 2_D_FLOAT-ARRAY) (ROW INTEGER) (COLUMN INTEGER)) :DOCUMENTATION \"Return the element of `array' at position [`row', `column'].\" :GLOBALLY-INLINE? TRUE :PUBLIC? TRUE (RETURN (SAFE-CAST (NTH (THE-ARRAY ARRAY) (+ (* ROW (NOF-COLUMNS ARRAY)) COLUMN)) FLOAT-WRAPPER)))", Native.find_java_method("edu.isi.powerloom.logic.two_D_floatArray", "two_D_element", new java.lang.Class [] {java.lang.Integer.TYPE, java.lang.Integer.TYPE}), ((java.lang.reflect.Method)(null)));
          Stella.defineMethodObject("(DEFMETHOD (2_D_ELEMENT-SETTER (LIKE (ANY-VALUE SELF))) ((ARRAY 2_D_FLOAT-ARRAY) (VALUE FLOAT) (ROW INTEGER) (COLUMN INTEGER)) :DOCUMENTATION \"Set the element of `array' at position [`row', `column']\nto `value' and return the result.\" :GLOBALLY-INLINE? TRUE :PUBLIC? TRUE (RETURN (SETF (WRAPPER-VALUE (SAFE-CAST (NTH (THE-ARRAY ARRAY) (+ (* ROW (NOF-COLUMNS ARRAY)) COLUMN)) FLOAT-WRAPPER)) VALUE)))", Native.find_java_method("edu.isi.powerloom.logic.two_D_floatArray", "two_D_elementSetter", new java.lang.Class [] {java.lang.Double.TYPE, java.lang.Integer.TYPE, java.lang.Integer.TYPE}), ((java.lang.reflect.Method)(null)));
          Stella.defineFunctionObject("CREATE-2_D_FLOAT-ARRAY", "(DEFUN (CREATE-2_D_FLOAT-ARRAY 2_D_FLOAT-ARRAY) ((NOF-ROWS INTEGER) (NOF-COLUMNS INTEGER) |&REST| (VALUES FLOAT)) :DOCUMENTATION \"Create a two-dimensional array with `nof-rows' rows and\n`nof-columns' columns, and initialize it in row-major-order from `values'.\nMissing values will be padded with NULL, extraneous values will be ignored.\" :PUBLIC? TRUE)", Native.find_java_method("edu.isi.powerloom.logic.Logic", "create2_D_floatArray", new java.lang.Class [] {java.lang.Integer.TYPE, java.lang.Integer.TYPE, Native.find_java_class("edu.isi.stella.Cons")}), null);
          Stella.defineMethodObject("(DEFMETHOD FILL-ARRAY ((SELF 2_D_FLOAT-ARRAY) |&REST| (VALUES FLOAT)) :DOCUMENTATION \"Fill the two-dimensional array `self' in row-major-order\nfrom `values'.  Missing values will retain their old values, extraneous values\nwill be ignored.\" :PUBLIC? TRUE)", Native.find_java_method("edu.isi.powerloom.logic.two_D_floatArray", "fillArray", new java.lang.Class [] {Native.find_java_class("edu.isi.stella.Cons")}), ((java.lang.reflect.Method)(null)));
          Stella.defineMethodObject("(DEFMETHOD PRINT-ARRAY ((SELF 2_D_FLOAT-ARRAY) (STREAM NATIVE-OUTPUT-STREAM)) :DOCUMENTATION \"Print the array `self' to `stream'.\")", Native.find_java_method("edu.isi.powerloom.logic.two_D_floatArray", "printArray", new java.lang.Class [] {Native.find_java_class("org.powerloom.PrintableStringWriter")}), ((java.lang.reflect.Method)(null)));
          Stella.defineFunctionObject("STARTUP-NEURAL-NETWORK", "(DEFUN STARTUP-NEURAL-NETWORK () :PUBLIC? TRUE)", Native.find_java_method("edu.isi.powerloom.logic._StartupNeuralNetwork", "startupNeuralNetwork", new java.lang.Class [] {}), null);
          { MethodSlot function = Symbol.lookupFunction(Logic.SYM_LOGIC_STARTUP_NEURAL_NETWORK);

            KeyValueList.setDynamicSlotValue(function.dynamicSlots, Logic.SYM_STELLA_METHOD_STARTUP_CLASSNAME, StringWrapper.wrapString("_StartupNeuralNetwork"), Stella.NULL_STRING_WRAPPER);
          }
        }
        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 *NEURAL-NETWORK-TRAINING-METHOD* KEYWORD :BACKPROP)");
          Stella.defineStellaGlobalVariableFromStringifiedSource("(DEFGLOBAL *LEARNING-RATE* FLOAT 0.1)");
          Stella.defineStellaGlobalVariableFromStringifiedSource("(DEFGLOBAL *MOMENTUM-TERM* FLOAT 0.9)");
          Stella.defineStellaGlobalVariableFromStringifiedSource("(DEFGLOBAL *WEIGHT-RANGE* FLOAT 0.05)");
          Stella.defineStellaGlobalVariableFromStringifiedSource("(DEFGLOBAL *ERROR-CUTOFF* FLOAT 0.0)");
          Stella.defineStellaGlobalVariableFromStringifiedSource("(DEFGLOBAL *ERROR-PRINT-CYCLE* INTEGER 25)");
          Stella.defineStellaGlobalVariableFromStringifiedSource("(DEFGLOBAL *SAVE-NETWORK-CYCLE* INTEGER 10000)");
          Stella.defineStellaGlobalVariableFromStringifiedSource("(DEFGLOBAL *SAVE-NETWORK-FILE* STRING NULL)");
          Stella.defineStellaGlobalVariableFromStringifiedSource("(DEFGLOBAL *TRACE-NEURAL-NETWORK-TRAINING* BOOLEAN FALSE)");
          Stella.defineStellaGlobalVariableFromStringifiedSource("(DEFGLOBAL *TRAIN-CACHED-NETWORKS?* BOOLEAN TRUE)");
          Stella.defineStellaGlobalVariableFromStringifiedSource("(DEFGLOBAL *MAX-MOVEMENT* FLOAT 1.75)");
          Stella.defineStellaGlobalVariableFromStringifiedSource("(DEFGLOBAL *MODE-SWITCH* FLOAT 0.0)");
          Stella.defineStellaGlobalVariableFromStringifiedSource("(DEFGLOBAL *SHRINK-FACTOR* FLOAT (/ *MAX-MOVEMENT* (+ 1.0 *MAX-MOVEMENT*)))");
          Stella.defineStellaGlobalVariableFromStringifiedSource("(DEFGLOBAL *WEIGHT-DECAY* FLOAT -1.0e-4)");
          Stella.defineStellaGlobalVariableFromStringifiedSource("(DEFGLOBAL *SIGMOID-PRIME-OFFSET* FLOAT 0.1)");
          Stella.defineStellaGlobalVariableFromStringifiedSource("(DEFGLOBAL *MASTER-NEURAL-NETWORK-LIST* (LIST OF PROPOSITION-NEURAL-NETWORK) (NEW LIST))");
          Stella.defineStellaGlobalVariableFromStringifiedSource("(DEFGLOBAL *ACTIVATED-NETWORKS* (LIST OF PROPOSITION-NEURAL-NETWORK) (NEW LIST))");
          Stella.defineStellaGlobalVariableFromStringifiedSource("(DEFGLOBAL *SAVED-NET* PROPOSITION-NEURAL-NETWORK NULL)");
          Stella.defineStellaGlobalVariableFromStringifiedSource("(DEFGLOBAL *PARTIAL-SUPPORT-CACHE* (LIST OF INTEGER-WRAPPER) (NEW LIST))");
          Stella.defineStellaGlobalVariableFromStringifiedSource("(DEFGLOBAL *LEARNING-CURVE* (VECTOR OF FLOAT-WRAPPER) NULL)");
        }

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