A computer implemented method to evaluate data in an in-memory database system, the method comprising: generating executable code for processing a data set in the in-memory database system, wherein the executable code is based on program instructions including a predicate associated with a first part of the data set; determining a size of a register (155, 407, 635) at a processor to determine a number of bit values to be allocated, the number of bit values to be allocated being equal to the size of the register (155, 407, 635), wherein the register is a SIMD register associated with performing single instructions on multiple data elements in parallel; dividing the first part of the data set into one or more data sections, wherein a data section comprises a number of data elements corresponding to the number of bit values to be allocated into the register (155, 407, 635) at the processor; at the processor, iteratively evaluating the one or more data sections to determine one or more bit vectors to be stored iteratively into the register (155, 407, 635); each bit vector storing evaluation results of the data elements in a particular one of the data sections, and at the processor, iteratively determining and providing one or more result data sets based on the stored one or more bit vectors and based on invoking data from the data set, wherein iteratively evaluating the one or more data sections to determine the one or more bit vectors to be stored iteratively into the register (155, 407, 635) further comprises: for each data section: determining the corresponding bit vector based on evaluation of the values of the data elements from the data section based on the predicate, wherein the bit vector comprises bit values corresponding to the evaluation results for compliance with the predicate, each bit value corresponding to the evaluation result of a particular one of the values; at the processor, loading the bit vector into the register (155, 407, 635); and at the processor, determining identifiers of rows from columns (405, 415) from the data set based on positions of positive bit values in the bit vector. generating executable code for processing a data set in the in-memory database system, wherein the executable code is based on program instructions including a predicate associated with a first part of the data set; determining a size of a register (155, 407, 635) at a processor to determine a number of bit values to be allocated, the number of bit values to be allocated being equal to the size of the register (155, 407, 635), wherein the register is a SIMD register associated with performing single instructions on multiple data elements in parallel; dividing the first part of the data set into one or more data sections, wherein a data section comprises a number of data elements corresponding to the number of bit values to be allocated into the register (155, 407, 635) at the processor; at the processor, iteratively evaluating the one or more data sections to determine one or more bit vectors to be stored iteratively into the register (155, 407, 635); each bit vector storing evaluation results of the data elements in a particular one of the data sections, and at the processor, iteratively determining and providing one or more result data sets based on the stored one or more bit vectors and based on invoking data from the data set, wherein iteratively evaluating the one or more data sections to determine the one or more bit vectors to be stored iteratively into the register (155, 407, 635) further comprises: for each data section: determining the corresponding bit vector based on evaluation of the values of the data elements from the data section based on the predicate, wherein the bit vector comprises bit values corresponding to the evaluation results for compliance with the predicate, each bit value corresponding to the evaluation result of a particular one of the values; at the processor, loading the bit vector into the register (155, 407, 635); and at the processor, determining identifiers of rows from columns (405, 415) from the data set based on positions of positive bit values in the bit vector. for each data section: determining the corresponding bit vector based on evaluation of the values of the data elements from the data section based on the predicate, wherein the bit vector comprises bit values corresponding to the evaluation results for compliance with the predicate, each bit value corresponding to the evaluation result of a particular one of the values; at the processor, loading the bit vector into the register (155, 407, 635); and at the processor, determining identifiers of rows from columns (405, 415) from the data set based on positions of positive bit values in the bit vector. determining the corresponding bit vector based on evaluation of the values of the data elements from the data section based on the predicate, wherein the bit vector comprises bit values corresponding to the evaluation results for compliance with the predicate, each bit value corresponding to the evaluation result of a particular one of the values; at the processor, loading the bit vector into the register (155, 407, 635); and at the processor, determining identifiers of rows from columns (405, 415) from the data set based on positions of positive bit values in the bit vector.