(command.CommandList
  children: [
    (C {<Id.KW_Set set>} {<-e>})
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:common_objpfx)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_Number '$1')}
                  spids: [54]
                )
              ]
            )
          terminator: <Id.Op_Semi _>
        )
        (C {<shift>})
      ]
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:test_program_prefix)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_Number '$1')}
                  spids: [60]
                )
              ]
            )
          terminator: <Id.Op_Semi _>
        )
        (C {<shift>})
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:status)
          op: assign_op.Equal
          rhs: {<0>}
          spids: [67]
        )
      ]
    )
    (command.AndOr
      ops: [Id.Op_DPipe]
      children: [
        (command.Simple
          words: [
            {(${ Id.VSub_Name test_program_prefix)}
            {(${ Id.VSub_Name common_objpfx) <stdio-common/tst-unbputc>}
          ]
          redirects: [
            (redir.Redir
              op: <Id.Redir_Great '2>'>
              fd: 2
              arg_word: {(${ Id.VSub_Name common_objpfx) <stdio-common/tst-unbputc.out>}
            )
          ]
        )
        (command.ShAssignment
          pairs: [
            (assign_pair
              lhs: (sh_lhs_expr.Name name:status)
              op: assign_op.Equal
              rhs: {<1>}
              spids: [93]
            )
          ]
        )
      ]
    )
    (command.AndOr
      ops: [Id.Op_DPipe]
      children: [
        (command.Subshell
          command_list: 
            (command.CommandList
              children: [
                (command.Pipeline
                  children: [
                    (C {<printf>} {<12>})
                    (C {<cmp>} {(${ Id.VSub_Name common_objpfx) <stdio-common/tst-unbputc.out>} {<->})
                  ]
                  negated: F
                )
              ]
            )
        )
        (command.ShAssignment
          pairs: [
            (assign_pair
              lhs: (sh_lhs_expr.Name name:status)
              op: assign_op.Equal
              rhs: {<1>}
              spids: [116]
            )
          ]
        )
      ]
    )
    (command.ControlFlow
      token: <Id.ControlFlow_Exit exit>
      arg_word: {($ Id.VSub_DollarName '$status')}
    )
  ]
)