tl.Select made me confused a lots

Why the ordered manner from tl.Select is (Select to add in an ordered manner to the top of the stack which after the command is 3 4 3 4) but it shows on the picture in the different order 4, 3, 4, 3. Please explain for me thr command Push(Select[0,1,0,1]) step by step, which number will be selected first and pushed into the stack. Tks

Hi @vhgiang96

The reason you might find the operations confusing is because in the picture the top stack values are on the right (right-to-left orientation in the picture):

Here is an alternative step by step explanation (with left-to-right orientation):

  1. you push 4, → (4);
  2. you push 3, → (3,4) (with left-to-right orientation)
  3. you pass through Select[0,1,0,1], the resulting stack is (3, 4, 3, 4).
  4. you pass through Addition_in2 - you grab first two elements (3, 4). You add them together - result (7). You push the result onto the stack (7, 3, 4).
  5. you pass through Multiplication_in2 - you grab first two elements (7, 3). You multiply them together - result (21). You push result onto the stack (21, 4).
  6. you pass through Addition_in2 - you grab first two elements (21, 4). You add them together - result (25). You push the result onto the stack (25).

Cheers