(CommandList
  children: [
    (Sentence
      child: 
        (C {(.)} 
          {
            (DQ 
              (BracedVarSub
                token: <VSub_Name srcdir>
                suffix_op: (StringUnary op_id:VTest_Equals arg_word:{(.)})
                spids: [47 51]
              ) (/tests/init.sh)
            )
          }
        )
      terminator: <Op_Semi ';'>
    )
    (C {(path_prepend_)} {(./src)})
    (C {(print_ver_)} {(nproc)})
    (ForEach
      iter_name: mode
      iter_words: [{(--all)} {(SQ )}]
      do_arg_iter: F
      body: 
        (DoGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:procs)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: (CommandList children:[(C {(nproc)} {($ VSub_Name '$mode')})])
                        left_token: <Left_CommandSub '$('>
                        spids: [81 85]
                      )
                    }
                  spids: [80]
                )
              ]
              spids: [80]
            )
            (AndOr
              ops: [Op_DPipe]
              children: [
                (C {(test)} {(DQ ($ VSub_Name '$procs'))} {(-gt)} {(0)})
                (Assignment
                  keyword: Assign_None
                  pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[100])]
                  spids: [100]
                )
              ]
            )
          ]
          spids: [77 103]
        )
      spids: [70 75]
    )
    (ForEach
      iter_name: i
      iter_words: [{(-1000)} {(0)} {(1)} {(1000)}]
      do_arg_iter: F
      body: 
        (DoGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:procs)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (SimpleCommand
                                words: [{(nproc)}]
                                more_env: [
                                  (env_pair
                                    name: OMP_NUM_THREADS
                                    val: {($ VSub_Name '$i')}
                                    spids: [126]
                                  )
                                ]
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [125 130]
                      )
                    }
                  spids: [124]
                )
              ]
              spids: [124]
            )
            (AndOr
              ops: [Op_DPipe]
              children: [
                (C {(test)} {(DQ ($ VSub_Name '$procs'))} {(-gt)} {(0)})
                (Assignment
                  keyword: Assign_None
                  pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[145])]
                  spids: [145]
                )
              ]
            )
          ]
          spids: [121 148]
        )
      spids: [111 119]
    )
    (ForEach
      iter_name: i
      iter_words: [{(0)} {(SQ <' 1'>)} {(1000)}]
      do_arg_iter: F
      body: 
        (DoGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:procs)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (C {(nproc)} {(--ignore) (Lit_Other '=') (DQ ($ VSub_Name '$i'))})
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [170 178]
                      )
                    }
                  spids: [169]
                )
              ]
              spids: [169]
            )
            (AndOr
              ops: [Op_DPipe]
              children: [
                (C {(test)} {(DQ ($ VSub_Name '$procs'))} {(-gt)} {(0)})
                (Assignment
                  keyword: Assign_None
                  pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[193])]
                  spids: [193]
                )
              ]
            )
          ]
          spids: [166 196]
        )
      spids: [156 164]
    )
    (ForEach
      iter_name: i
      iter_words: [{(-1)} {(N)}]
      do_arg_iter: F
      body: 
        (DoGroup
          children: [
            (AndOr
              ops: [Op_DAmp]
              children: [
                (C {(nproc)} {(--ignore) (Lit_Other '=') ($ VSub_Name '$i')})
                (Assignment
                  keyword: Assign_None
                  pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[221])]
                  spids: [221]
                )
              ]
            )
          ]
          spids: [210 224]
        )
      spids: [204 208]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:procs)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [
                      (SimpleCommand
                        words: [{(nproc)} {(--ignore) (Lit_Other '=') (40)}]
                        more_env: [(env_pair name:OMP_NUM_THREADS val:{(42)} spids:[229])]
                      )
                    ]
                  )
                left_token: <Left_CommandSub '$('>
                spids: [228 237]
              )
            }
          spids: [227]
        )
      ]
      spids: [227]
    )
    (AndOr
      ops: [Op_DPipe]
      children: [
        (C {(test)} {(DQ ($ VSub_Name '$procs'))} {(-eq)} {(2)})
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[251])]
          spids: [251]
        )
      ]
    )
    (C {(Exit)} {($ VSub_Name '$fail')})
  ]
)