code: def all_conditional_state_variables_read(self, include_loop=True):
          
          if include_loop:
              if self._all_conditional_state_variables_read_with_loop is None:
                  self._all_conditional_state_variables_read_with_loop = self._explore_functions(
                      lambda x: self._explore_func_cond_read(x,
                                                             include_loop))
              return self._all_conditional_state_variables_read_with_loop
          else:
              if self._all_conditional_state_variables_read is None:
                  self._all_conditional_state_variables_read = self._explore_functions(
                      lambda x: self._explore_func_cond_read(x,
                                                             include_loop))
              return self._all_conditional_state_variables_read
docs: Return the state variable used in a condition
  
              Over approximate and also return index access
              It won't work if the variable is assigned to a temp variable