(CommandList
  children: [
    (C {(set)} {(-e)})
    (CommandList
      children: [
        (Sentence
          child: 
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:common_objpfx)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [64]
                )
              ]
              spids: [64]
            )
          terminator: <Op_Semi ';'>
        )
        (C {(shift)})
      ]
    )
    (CommandList
      children: [
        (Sentence
          child: 
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:test_program_prefix_before_env)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [70]
                )
              ]
              spids: [70]
            )
          terminator: <Op_Semi ';'>
        )
        (C {(shift)})
      ]
    )
    (CommandList
      children: [
        (Sentence
          child: 
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:run_program_env)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [76]
                )
              ]
              spids: [76]
            )
          terminator: <Op_Semi ';'>
        )
        (C {(shift)})
      ]
    )
    (CommandList
      children: [
        (Sentence
          child: 
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:test_program_prefix_after_env)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [82]
                )
              ]
              spids: [82]
            )
          terminator: <Op_Semi ';'>
        )
        (C {(shift)})
      ]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:logfile)
          op: Equal
          rhs: {(${ VSub_Name common_objpfx) (posix/wordexp-tst.out)}
          spids: [88]
        )
      ]
      spids: [88]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:testout)
          op: Equal
          rhs: {(${ VSub_Name common_objpfx) (posix/wordexp-test-result)}
          spids: [94]
        )
      ]
      spids: [94]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:result) op:Equal rhs:{(0)} spids:[101])]
      spids: [101]
    )
    (C {(rm)} {(-f)} {($ VSub_Name '$logfile')})
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:IFS) op:Equal rhs:{(DQ (' \t') ('\n'))} spids:[116])]
      spids: [116]
    )
    (C {(export)} {(IFS)})
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:failed) op:Equal rhs:{(0)} spids:[128])]
      spids: [128]
    )
    (SimpleCommand
      words: [
        {(${ VSub_Name test_program_prefix_before_env)}
        {(${ VSub_Name run_program_env)}
        {(Lit_VarLike 'IFS=') (DQ ($ VSub_Name '$IFS'))}
        {(${ VSub_Name test_program_prefix_after_env)}
        {(${ VSub_Name common_objpfx) (posix/wordexp-test)}
        {(SQ <'$*'>)}
      ]
      redirects: [(Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(${ VSub_Name testout) (1)})]
    )
    (AndOr
      ops: [Op_DPipe]
      children: [
        (Pipeline
          children: [
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op: <Redir_DLess '<<'>
                  fd: 16777215
                  here_begin: {(DQ (EOF))}
                  here_end_span_id: 195
                  stdin_parts: [('wordexp returned 0\n') ('we_wordv[0] = "$*"\n')]
                )
              ]
            )
            (SimpleCommand
              words: [{(cmp)} {(-)} {(${ VSub_Name testout) (1)}]
              redirects: [
                (Redir
                  op: <Redir_DGreat '>>'>
                  fd: 16777215
                  arg_word: {($ VSub_Name '$logfile')}
                )
              ]
            )
          ]
          negated: F
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:failed) op:Equal rhs:{(1)} spids:[190])]
          spids: [190]
        )
      ]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(test)} {($ VSub_Name '$failed')} {(-ne)} {(0)})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (C {(echo)} {(SQ <'$* test failed'>)})
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:status) op:Equal rhs:{(1)} spids:[217])]
              spids: [217]
            )
          ]
          spids: [16777215 207]
        )
      ]
      spids: [16777215 220]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:failed) op:Equal rhs:{(0)} spids:[223])]
      spids: [223]
    )
    (SimpleCommand
      words: [
        {(${ VSub_Name test_program_prefix_before_env)}
        {(${ VSub_Name run_program_env)}
        {(Lit_VarLike 'IFS=') (DQ ($ VSub_Name '$IFS'))}
        {(${ VSub_Name test_program_prefix_after_env)}
        {(${ VSub_Name common_objpfx) (posix/wordexp-test)}
        {(SQ <'${*}'>)}
        {(unquoted)}
      ]
      redirects: [(Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(${ VSub_Name testout) (2)})]
    )
    (AndOr
      ops: [Op_DPipe]
      children: [
        (Pipeline
          children: [
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op: <Redir_DLess '<<'>
                  fd: 16777215
                  here_begin: {(DQ (EOF))}
                  here_end_span_id: 293
                  stdin_parts: [
                    ('wordexp returned 0\n')
                    ('we_wordv[0] = "${*}"\n')
                    ('we_wordv[1] = "unquoted"\n')
                  ]
                )
              ]
            )
            (SimpleCommand
              words: [{(cmp)} {(-)} {(${ VSub_Name testout) (2)}]
              redirects: [
                (Redir
                  op: <Redir_DGreat '>>'>
                  fd: 16777215
                  arg_word: {($ VSub_Name '$logfile')}
                )
              ]
            )
          ]
          negated: F
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:failed) op:Equal rhs:{(1)} spids:[287])]
          spids: [287]
        )
      ]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(test)} {($ VSub_Name '$failed')} {(-ne)} {(0)})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (C {(echo)} {(SQ <'${*} test failed'>)})
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:status) op:Equal rhs:{(1)} spids:[315])]
              spids: [315]
            )
          ]
          spids: [16777215 305]
        )
      ]
      spids: [16777215 318]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:failed) op:Equal rhs:{(0)} spids:[321])]
      spids: [321]
    )
    (SimpleCommand
      words: [
        {(${ VSub_Name test_program_prefix_before_env)}
        {(${ VSub_Name run_program_env)}
        {(Lit_VarLike 'IFS=') (DQ ($ VSub_Name '$IFS'))}
        {(${ VSub_Name test_program_prefix_after_env)}
        {(${ VSub_Name common_objpfx) (posix/wordexp-test)}
        {(SQ <'$@'>)}
        {(unquoted)}
      ]
      redirects: [(Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(${ VSub_Name testout) (3)})]
    )
    (AndOr
      ops: [Op_DPipe]
      children: [
        (Pipeline
          children: [
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op: <Redir_DLess '<<'>
                  fd: 16777215
                  here_begin: {(DQ (EOF))}
                  here_end_span_id: 391
                  stdin_parts: [
                    ('wordexp returned 0\n')
                    ('we_wordv[0] = "$@"\n')
                    ('we_wordv[1] = "unquoted"\n')
                  ]
                )
              ]
            )
            (SimpleCommand
              words: [{(cmp)} {(-)} {(${ VSub_Name testout) (3)}]
              redirects: [
                (Redir
                  op: <Redir_DGreat '>>'>
                  fd: 16777215
                  arg_word: {($ VSub_Name '$logfile')}
                )
              ]
            )
          ]
          negated: F
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:failed) op:Equal rhs:{(1)} spids:[385])]
          spids: [385]
        )
      ]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(test)} {($ VSub_Name '$failed')} {(-ne)} {(0)})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (C {(echo)} {(SQ <'$@ test failed'>)})
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:status) op:Equal rhs:{(1)} spids:[413])]
              spids: [413]
            )
          ]
          spids: [16777215 403]
        )
      ]
      spids: [16777215 416]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:failed) op:Equal rhs:{(0)} spids:[419])]
      spids: [419]
    )
    (SimpleCommand
      words: [
        {(${ VSub_Name test_program_prefix_before_env)}
        {(${ VSub_Name run_program_env)}
        {(Lit_VarLike 'IFS=') (DQ ($ VSub_Name '$IFS'))}
        {(${ VSub_Name test_program_prefix_after_env)}
        {(${ VSub_Name common_objpfx) (posix/wordexp-test)}
        {(SQ <'"$* quoted"'>)}
        {(param)}
      ]
      redirects: [(Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(${ VSub_Name testout) (4)})]
    )
    (AndOr
      ops: [Op_DPipe]
      children: [
        (Pipeline
          children: [
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op: <Redir_DLess '<<'>
                  fd: 16777215
                  here_begin: {(DQ (EOF))}
                  here_end_span_id: 488
                  stdin_parts: [
                    ('wordexp returned 0\n')
                    ('we_wordv[0] = ""$* quoted" param quoted"\n')
                  ]
                )
              ]
            )
            (SimpleCommand
              words: [{(cmp)} {(-)} {(${ VSub_Name testout) (4)}]
              redirects: [
                (Redir
                  op: <Redir_DGreat '>>'>
                  fd: 16777215
                  arg_word: {($ VSub_Name '$logfile')}
                )
              ]
            )
          ]
          negated: F
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:failed) op:Equal rhs:{(1)} spids:[483])]
          spids: [483]
        )
      ]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(test)} {($ VSub_Name '$failed')} {(-ne)} {(0)})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (C {(echo)} {(SQ <'$* quoted test failed'>)})
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:status) op:Equal rhs:{(1)} spids:[510])]
              spids: [510]
            )
          ]
          spids: [16777215 500]
        )
      ]
      spids: [16777215 513]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:failed) op:Equal rhs:{(0)} spids:[516])]
      spids: [516]
    )
    (SimpleCommand
      words: [
        {(${ VSub_Name test_program_prefix_before_env)}
        {(${ VSub_Name run_program_env)}
        {(Lit_VarLike 'IFS=') (DQ ($ VSub_Name '$IFS'))}
        {(${ VSub_Name test_program_prefix_after_env)}
        {(${ VSub_Name common_objpfx) (posix/wordexp-test)}
        {(SQ <'"$@ quoted"'>)}
        {(param)}
      ]
      redirects: [(Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(${ VSub_Name testout) (5)})]
    )
    (AndOr
      ops: [Op_DPipe]
      children: [
        (Pipeline
          children: [
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op: <Redir_DLess '<<'>
                  fd: 16777215
                  here_begin: {(DQ (EOF))}
                  here_end_span_id: 586
                  stdin_parts: [
                    ('wordexp returned 0\n')
                    ('we_wordv[0] = ""$@ quoted""\n')
                    ('we_wordv[1] = "param quoted"\n')
                  ]
                )
              ]
            )
            (SimpleCommand
              words: [{(cmp)} {(-)} {(${ VSub_Name testout) (5)}]
              redirects: [
                (Redir
                  op: <Redir_DGreat '>>'>
                  fd: 16777215
                  arg_word: {($ VSub_Name '$logfile')}
                )
              ]
            )
          ]
          negated: F
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:failed) op:Equal rhs:{(1)} spids:[580])]
          spids: [580]
        )
      ]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(test)} {($ VSub_Name '$failed')} {(-ne)} {(0)})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (C {(echo)} {(SQ <'$@ quoted test failed'>)})
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:status) op:Equal rhs:{(1)} spids:[608])]
              spids: [608]
            )
          ]
          spids: [16777215 598]
        )
      ]
      spids: [16777215 611]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:failed) op:Equal rhs:{(0)} spids:[617])]
      spids: [617]
    )
    (SimpleCommand
      words: [
        {(${ VSub_Name test_program_prefix_before_env)}
        {(${ VSub_Name run_program_env)}
        {(Lit_VarLike 'IFS=') (DQ ($ VSub_Name '$IFS'))}
        {(${ VSub_Name test_program_prefix_after_env)}
        {(${ VSub_Name common_objpfx) (posix/wordexp-test)}
        {(SQ <'$#'>)}
        {(2)}
        {(3)}
        {(4)}
        {(5)}
      ]
      redirects: [(Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(${ VSub_Name testout) (6)})]
    )
    (AndOr
      ops: [Op_DPipe]
      children: [
        (Pipeline
          children: [
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op: <Redir_DLess '<<'>
                  fd: 16777215
                  here_begin: {(DQ (EOF))}
                  here_end_span_id: 692
                  stdin_parts: [('wordexp returned 0\n') ('we_wordv[0] = "5"\n')]
                )
              ]
            )
            (SimpleCommand
              words: [{(cmp)} {(-)} {(${ VSub_Name testout) (6)}]
              redirects: [
                (Redir
                  op: <Redir_DGreat '>>'>
                  fd: 16777215
                  arg_word: {($ VSub_Name '$logfile')}
                )
              ]
            )
          ]
          negated: F
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:failed) op:Equal rhs:{(1)} spids:[687])]
          spids: [687]
        )
      ]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(test)} {($ VSub_Name '$failed')} {(-ne)} {(0)})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (C {(echo)} {(SQ <'$# test failed'>)})
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:status) op:Equal rhs:{(1)} spids:[714])]
              spids: [714]
            )
          ]
          spids: [16777215 704]
        )
      ]
      spids: [16777215 717]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:failed) op:Equal rhs:{(0)} spids:[720])]
      spids: [720]
    )
    (SimpleCommand
      words: [
        {(${ VSub_Name test_program_prefix_before_env)}
        {(${ VSub_Name run_program_env)}
        {(Lit_VarLike 'IFS=') (DQ ($ VSub_Name '$IFS'))}
        {(${ VSub_Name test_program_prefix_after_env)}
        {(${ VSub_Name common_objpfx) (posix/wordexp-test)}
        {(SQ <'$2 ${3} $4'>)}
        {(2nd)}
        {(3rd)}
        {(DQ ('4 th'))}
      ]
      redirects: [(Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(${ VSub_Name testout) (7)})]
    )
    (AndOr
      ops: [Op_DPipe]
      children: [
        (Pipeline
          children: [
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op: <Redir_DLess '<<'>
                  fd: 16777215
                  here_begin: {(DQ (EOF))}
                  here_end_span_id: 798
                  stdin_parts: [
                    ('wordexp returned 0\n')
                    ('we_wordv[0] = "2nd"\n')
                    ('we_wordv[1] = "3rd"\n')
                    ('we_wordv[2] = "4"\n')
                    ('we_wordv[3] = "th"\n')
                  ]
                )
              ]
            )
            (SimpleCommand
              words: [{(cmp)} {(-)} {(${ VSub_Name testout) (7)}]
              redirects: [
                (Redir
                  op: <Redir_DGreat '>>'>
                  fd: 16777215
                  arg_word: {($ VSub_Name '$logfile')}
                )
              ]
            )
          ]
          negated: F
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:failed) op:Equal rhs:{(1)} spids:[790])]
          spids: [790]
        )
      ]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(test)} {($ VSub_Name '$failed')} {(-ne)} {(0)})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (C {(echo)} {(SQ <'$2 ${3} $4 test failed'>)})
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:status) op:Equal rhs:{(1)} spids:[820])]
              spids: [820]
            )
          ]
          spids: [16777215 810]
        )
      ]
      spids: [16777215 823]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:failed) op:Equal rhs:{(0)} spids:[826])]
      spids: [826]
    )
    (SimpleCommand
      words: [
        {(${ VSub_Name test_program_prefix_before_env)}
        {(${ VSub_Name run_program_env)}
        {(Lit_VarLike 'IFS=') (DQ ($ VSub_Name '$IFS'))}
        {(${ VSub_Name test_program_prefix_after_env)}
        {(${ VSub_Name common_objpfx) (posix/wordexp-test)}
        {(SQ <'${11}'>)}
        {(2)}
        {(3)}
        {(4)}
        {(5)}
        {(6)}
        {(7)}
        {(8)}
        {(9)}
        {(10)}
        {(11)}
      ]
      redirects: [(Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(${ VSub_Name testout) (8)})]
    )
    (AndOr
      ops: [Op_DPipe]
      children: [
        (Pipeline
          children: [
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op: <Redir_DLess '<<'>
                  fd: 16777215
                  here_begin: {(DQ (EOF))}
                  here_end_span_id: 913
                  stdin_parts: [('wordexp returned 0\n') ('we_wordv[0] = "11"\n')]
                )
              ]
            )
            (SimpleCommand
              words: [{(cmp)} {(-)} {(${ VSub_Name testout) (8)}]
              redirects: [
                (Redir
                  op: <Redir_DGreat '>>'>
                  fd: 16777215
                  arg_word: {($ VSub_Name '$logfile')}
                )
              ]
            )
          ]
          negated: F
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:failed) op:Equal rhs:{(1)} spids:[908])]
          spids: [908]
        )
      ]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(test)} {($ VSub_Name '$failed')} {(-ne)} {(0)})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (C {(echo)} {(SQ <'${11} test failed'>)})
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:status) op:Equal rhs:{(1)} spids:[935])]
              spids: [935]
            )
          ]
          spids: [16777215 925]
        )
      ]
      spids: [16777215 938]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:failed) op:Equal rhs:{(0)} spids:[941])]
      spids: [941]
    )
    (SimpleCommand
      words: [
        {(${ VSub_Name test_program_prefix_before_env)}
        {(${ VSub_Name run_program_env)}
        {(Lit_VarLike 'IFS=') (DQ ($ VSub_Name '$IFS'))}
        {(${ VSub_Name test_program_prefix_after_env)}
        {(${ VSub_Name common_objpfx) (posix/wordexp-test)}
        {(SQ <'"a $@ b"'>)}
        {(c)}
        {(d)}
      ]
      redirects: [(Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(${ VSub_Name testout) (9)})]
    )
    (AndOr
      ops: [Op_DPipe]
      children: [
        (Pipeline
          children: [
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op: <Redir_DLess '<<'>
                  fd: 16777215
                  here_begin: {(DQ (EOF))}
                  here_end_span_id: 1014
                  stdin_parts: [
                    ('wordexp returned 0\n')
                    ('we_wordv[0] = "a "a $@ b""\n')
                    ('we_wordv[1] = "c"\n')
                    ('we_wordv[2] = "d b"\n')
                  ]
                )
              ]
            )
            (SimpleCommand
              words: [{(cmp)} {(-)} {(${ VSub_Name testout) (9)}]
              redirects: [
                (Redir
                  op: <Redir_DGreat '>>'>
                  fd: 16777215
                  arg_word: {($ VSub_Name '$logfile')}
                )
              ]
            )
          ]
          negated: F
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:failed) op:Equal rhs:{(1)} spids:[1007])]
          spids: [1007]
        )
      ]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(test)} {($ VSub_Name '$failed')} {(-ne)} {(0)})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (C {(echo)} {(SQ <'"a $@ b" test failed'>)})
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:status) op:Equal rhs:{(1)} spids:[1036])]
              spids: [1036]
            )
          ]
          spids: [16777215 1026]
        )
      ]
      spids: [16777215 1039]
    )
    (SimpleCommand
      words: [
        {(${ VSub_Name test_program_prefix_before_env)}
        {(${ VSub_Name run_program_env)}
        {(Lit_VarLike 'IFS=') (DQ ($ VSub_Name '$IFS'))}
        {(${ VSub_Name test_program_prefix_after_env)}
        {(${ VSub_Name common_objpfx) (posix/wordexp-test)}
        {(SQ <'${#@} ${#2} *$**'>)}
        {(two)}
        {(3)}
        {(4)}
      ]
      redirects: [(Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(${ VSub_Name testout) (10)})]
    )
    (AndOr
      ops: [Op_DPipe]
      children: [
        (Pipeline
          children: [
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op: <Redir_DLess '<<'>
                  fd: 16777215
                  here_begin: {(DQ (EOF))}
                  here_end_span_id: 1115
                  stdin_parts: [
                    ('wordexp returned 0\n')
                    ('we_wordv[0] = "4"\n')
                    ('we_wordv[1] = "3"\n')
                    ('we_wordv[2] = "*${#@}"\n')
                    ('we_wordv[3] = "${#2}"\n')
                    ('we_wordv[4] = "*$**"\n')
                    ('we_wordv[5] = "two"\n')
                    ('we_wordv[6] = "3"\n')
                    ('we_wordv[7] = "4*"\n')
                  ]
                )
              ]
            )
            (C {(cmp)} {(-)} {(${ VSub_Name testout) (10)})
          ]
          negated: F
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:failed) op:Equal rhs:{(1)} spids:[1103])]
          spids: [1103]
        )
      ]
    )
    (ControlFlow token:<ControlFlow_Exit exit> arg_word:{($ VSub_Name '$result')})
  ]
)