```
+## REMAP selector
+
+Selecting which REMAP Schedule to use is shown by the pseudocode below.
+Each SVSHAPE 0-3 goes through this selection process.
+
+```
+ if self.mode == 0b00:
+ iterate_fn = iterate_indices
+ elif self.mode == 0b10:
+ iterate_fn = iterate_preduce_indices
+ elif self.mode in [0b01, 0b11]:
+ # further sub-selection
+ if self.ydimsz == 1:
+ iterate_fn = iterate_butterfly_indices
+ elif self.ydimsz == 2:
+ iterate_fn = iterate_dct_inner_butterfly_indices
+ elif self.ydimsz == 3:
+ iterate_fn = iterate_dct_outer_butterfly_indices
+ elif self.ydimsz in [5, 13]:
+ iterate_fn = iterate_dct_inner_costable_indices
+ elif self.ydimsz in [6, 14, 15]:
+ iterate_fn = iterate_dct_inner_halfswap_loadstore
+```
+
[[!tag opf_rfc]]