code: private Tristate simplify() {
          assert this.simplifier == Simplifier.NOSIMP;
          this.simplifier = Simplifier.TOPSIMP;
          this.stats.simplifications++;
          backtrack();
          final int varsBefore = remainingVars();
          if (!this.config.plain) {
              if (this.empty == null) { distill(); }
              if (this.empty == null) { block(); }
              if (this.empty == null) { elim(); }
          }
          collect();
          assert this.simplifier == Simplifier.TOPSIMP;
          this.simplifier = Simplifier.NOSIMP;
          final int varsAfter = remainingVars();
          assert varsBefore >= varsAfter;
          this.limits.simpRemovedVars = varsBefore - varsAfter;
          return this.empty != null ? FALSE : UNDEF;
      }
docs: Performs bounded inprocessing.
  @return the status after simplification