public static void modifyWeights() {
    { double delta = 0.0;
      int numIn = 0;
      int numHidden = 0;

      { PropositionNeuralNetwork net = null;
        Cons iter000 = Logic.$MASTER_NEURAL_NETWORK_LIST$.theConsList;

        for (;!(iter000 == Stella.NIL); iter000 = iter000.rest) {
          net = ((PropositionNeuralNetwork)(iter000.value));
          numIn = net.input.length();
          numHidden = net.hidden.length();
          { int h = Stella.NULL_INTEGER;
            int iter001 = 0;
            int upperBound000 = numHidden - 1;

            for (;iter001 <= upperBound000; iter001 = iter001 + 1) {
              h = iter001;
              delta = Logic.computeQpDelta(((FloatWrapper)((net.hoSlope.theArray)[h])).wrapperValue, ((FloatWrapper)((net.hoPrevSlope.theArray)[h])).wrapperValue, ((FloatWrapper)((net.hoDelta.theArray)[h])).wrapperValue);
              (net.ho.theArray)[h] = (FloatWrapper.wrapFloat(((FloatWrapper)((net.ho.theArray)[h])).wrapperValue + delta));
              (net.hoDelta.theArray)[h] = (FloatWrapper.wrapFloat(delta));
            }
          }
          { int i = Stella.NULL_INTEGER;
            int iter002 = 0;
            int upperBound001 = numIn - 1;

            for (;iter002 <= upperBound001; iter002 = iter002 + 1) {
              i = iter002;
              { int h = Stella.NULL_INTEGER;
                int iter003 = 0;
                int upperBound002 = numHidden - 1;

                for (;iter003 <= upperBound002; iter003 = iter003 + 1) {
                  h = iter003;
                  delta = Logic.computeQpDelta(((FloatWrapper)((net.ihSlope.theArray)[((i * net.ihSlope.nofColumns) + h)])).wrapperValue, ((FloatWrapper)((net.ihPrevSlope.theArray)[((i * net.ihPrevSlope.nofColumns) + h)])).wrapperValue, ((FloatWrapper)((net.ihDelta.theArray)[((i * net.ihDelta.nofColumns) + h)])).wrapperValue);
                  (net.ih.theArray)[((i * net.ih.nofColumns) + h)] = (FloatWrapper.wrapFloat(((FloatWrapper)((net.ih.theArray)[((i * net.ih.nofColumns) + h)])).wrapperValue + delta));
                  (net.ihDelta.theArray)[((i * net.ihDelta.nofColumns) + h)] = (FloatWrapper.wrapFloat(delta));
                }
              }
            }
          }
        }
      }
    }
  }