Logic in make_ndx

How do I properly use a sequence of logic operators in gmx make_ndx? Is there a way of writing brackets?
Example: I’m trying to select certain atoms by name from all POPC molecules in my system. I have a group containing only the POPC molecules.

gmx make_ndx -f md.tpr -n index_analysis.ndx -o test_index.ndx << EOF
"POPC" & a C13 | a C14
EOF

takes all atoms with the name C13 from the POPC group or C14 atoms from my entire system!
How can I change the logic to: “POPC” & ( a C13 | a C14 )?

Also why does
"POPC" & a C13 | "POPC" & a C14
only output the last selection instead of linking them all with an (inclusive) OR?

And/or evaluation is left to right without priority, so you could either reorder (a C13 | a C14 & "POPC"), or make an intermediate index group (a C13 | a C14 as group, then POPC & C13_C14).

For the second one, this is also a consequence of left-to-right evaluation.

Excellent! Thank you very much for pointing that out.
May I suggest that gmx make_ndx should instead follow normal operator precedence. Personally I would find it much more intuitive if & has higher precendence than or. Evaluation order should not matter.