code: def predict(self, X):
          
          if not hasattr(self, '_program'):
              raise NotFittedError('SymbolicRegressor not fitted.')
  
          X = check_array(X)
          _, n_features = X.shape
          if self.n_features_ != n_features:
              raise ValueError('Number of features of the model must match the '
                               'input. Model n_features is %s and input '
                               'n_features is %s.'
                               % (self.n_features_, n_features))
  
          y = self._program.execute(X)
  
          return y
docs: Perform regression on test vectors X.
  
          Parameters
          ----------
          X : array-like, shape = [n_samples, n_features]
              Input vectors, where n_samples is the number of samples
              and n_features is the number of features.
  
          Returns
          -------
          y : array, shape = [n_samples]
              Predicted values for X.