def all_conditional_state_variables_read(self, include_loop=True):
        """
            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
        """
        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
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