(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:me)
          op: Equal
          rhs: 
            {
              (ArithSubPart
                anode: 
                  (ArithBinary
                    op_id: Arith_Star
                    left: (ArithWord w:{($ VSub_Number "$1")})
                    right: (ArithWord w:{(Lit_Digits 1000)})
                  )
                spids: [92 99]
              )
            }
          spids: [91]
        )
      ]
      spids: [91]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:duration)
          op: Equal
          rhs: {($ VSub_Number "$2")}
          spids: [101]
        )
      ]
      spids: [101]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:sleepmax)
          op: Equal
          rhs: 
            {
              (BracedVarSub
                token: <VSub_Number 3>
                suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(1000000)})
                spids: [105 109]
              )
            }
          spids: [104]
        )
      ]
      spids: [104]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:spinmax)
          op: Equal
          rhs: 
            {
              (BracedVarSub
                token: <VSub_Number 4>
                suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(1000)})
                spids: [112 116]
              )
            }
          spids: [111]
        )
      ]
      spids: [111]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:n) op:Equal rhs:{(1)} spids:[119])]
      spids: [119]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:starttime)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [
                      (SimpleCommand
                        words: [{(awk)} {(SQ <"BEGIN { print systime(); }">)}]
                        redirects: [(Redir op_id:Redir_Less fd:-1 arg_word:{(/dev/null)} spids:[131])]
                      )
                    ]
                  )
                left_token: <Left_Backtick "`">
                spids: [124 134]
              )
            }
          spids: [123]
        )
      ]
      spids: [123]
    )
    (While
      cond: [(C {(Lit_Other ":")})]
      body: 
        (DoGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:t)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (SimpleCommand
                                words: [
                                  {(awk)}
                                  {(-v)}
                                  {(Lit_VarLike "s=") ($ VSub_Name "$starttime")}
                                  {(SQ <"BEGIN { print systime() - s; }">)}
                                ]
                                redirects: [
                                  (Redir
                                    op_id: Redir_Less
                                    fd: -1
                                    arg_word: {(/dev/null)}
                                    spids: [161]
                                  )
                                ]
                              )
                            ]
                          )
                        left_token: <Left_Backtick "`">
                        spids: [149 164]
                      )
                    }
                  spids: [148]
                )
              ]
              spids: [148]
            )
            (If
              arms: [
                (if_arm
                  cond: [(C {(test)} {(DQ ($ VSub_Name "$t"))} {(-gt)} {(DQ ($ VSub_Name "$duration"))})]
                  action: [(Sentence child:(C {(exit)} {(0)}) terminator:<Op_Semi ";">)]
                  spids: [-1 182]
                )
              ]
              spids: [-1 191]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:cpus)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(ls)} {(/sys/devices/system/cpu/) (Lit_Other "*") (/online)})
                                  (C {(sed)} {(-e)} {(SQ <"s,/[^/]*$,,">)} {(-e)} {(SQ <"s/^[^0-9]*//">)})
                                  (C {(grep)} {(-v)} {(SQ <"^0*$">)})
                                ]
                                negated: False
                              )
                            ]
                          )
                        left_token: <Left_Backtick "`">
                        spids: [200 234]
                      )
                    }
                  spids: [199]
                )
              ]
              spids: [199]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:cpumask)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (SimpleCommand
                                words: [
                                  {(awk)}
                                  {(-v)}
                                  {(Lit_VarLike "cpus=") (DQ ($ VSub_Name "$cpus"))}
                                  {(-v)}
                                  {(Lit_VarLike "me=") ($ VSub_Name "$me")}
                                  {(-v)}
                                  {(Lit_VarLike "n=") ($ VSub_Name "$n")}
                                  {
                                    (SQ <"BEGIN {\n"> <"\t\tsrand(n + me + systime());\n"> 
                                      <"\t\tncpus = split(cpus, ca);\n"> <"\t\tcurcpu = ca[int(rand() * ncpus + 1)];\n"> <"\t\tmask = lshift(1, curcpu);\n"> 
                                      <"\t\tif (mask + 0 <= 0)\n"> <"\t\t\tmask = 1;\n"> <"\t\tprintf(\"%#x\\n\", mask);\n"> <"\t}">
                                    )
                                  }
                                ]
                                redirects: [
                                  (Redir
                                    op_id: Redir_Less
                                    fd: -1
                                    arg_word: {(/dev/null)}
                                    spids: [270]
                                  )
                                ]
                              )
                            ]
                          )
                        left_token: <Left_Backtick "`">
                        spids: [238 273]
                      )
                    }
                  spids: [237]
                )
              ]
              spids: [237]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:n)
                  op: Equal
                  rhs: 
                    {
                      (ArithSubPart
                        anode: 
                          (ArithBinary
                            op_id: Arith_Plus
                            left: (ArithWord w:{($ VSub_Name "$n")})
                            right: (ArithWord w:{(Lit_Digits 1)})
                          )
                        spids: [277 282]
                      )
                    }
                  spids: [276]
                )
              ]
              spids: [276]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Pipeline
                      children: [
                        (SimpleCommand
                          words: [{(taskset)} {(-p)} {($ VSub_Name "$cpumask")} {($ VSub_Dollar "$$")}]
                          redirects: [
                            (Redir
                              op_id: Redir_Great
                              fd: -1
                              arg_word: {(/dev/null)}
                              spids: [297]
                            )
                            (Redir
                              op_id: Redir_GreatAnd
                              fd: 2
                              arg_word: {(1)}
                              spids: [301]
                            )
                          ]
                        )
                      ]
                      negated: True
                    )
                  ]
                  action: [
                    (C {(echo)} {(taskset)} {(failure) (Lit_Other ":")} {(SQ <"\"taskset -p ">)} 
                      {($ VSub_Name "$cpumask")} {($ VSub_Dollar "$$")} {(SQ <"\"">)}
                    )
                    (C {(exit)} {(1)})
                  ]
                  spids: [-1 305]
                )
              ]
              spids: [-1 333]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:sleeptime)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (SimpleCommand
                                words: [
                                  {(awk)}
                                  {(-v)}
                                  {(Lit_VarLike "me=") ($ VSub_Name "$me")}
                                  {(-v)}
                                  {(Lit_VarLike "n=") ($ VSub_Name "$n")}
                                  {(-v)}
                                  {(Lit_VarLike "sleepmax=") ($ VSub_Name "$sleepmax")}
                                  {
                                    (SQ <"BEGIN {\n"> <"\t\tsrand(n + me + systime());\n"> 
                                      <"\t\tprintf(\"%06d\", int(rand() * sleepmax));\n"> <"\t}">
                                    )
                                  }
                                ]
                                redirects: [
                                  (Redir
                                    op_id: Redir_Less
                                    fd: -1
                                    arg_word: {(/dev/null)}
                                    spids: [367]
                                  )
                                ]
                              )
                            ]
                          )
                        left_token: <Left_Backtick "`">
                        spids: [342 370]
                      )
                    }
                  spids: [341]
                )
              ]
              spids: [341]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:n)
                  op: Equal
                  rhs: 
                    {
                      (ArithSubPart
                        anode: 
                          (ArithBinary
                            op_id: Arith_Plus
                            left: (ArithWord w:{($ VSub_Name "$n")})
                            right: (ArithWord w:{(Lit_Digits 1)})
                          )
                        spids: [374 379]
                      )
                    }
                  spids: [373]
                )
              ]
              spids: [373]
            )
            (C {(sleep)} {(.) ($ VSub_Name "$sleeptime")})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:limit)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (SimpleCommand
                                words: [
                                  {(awk)}
                                  {(-v)}
                                  {(Lit_VarLike "me=") ($ VSub_Name "$me")}
                                  {(-v)}
                                  {(Lit_VarLike "n=") ($ VSub_Name "$n")}
                                  {(-v)}
                                  {(Lit_VarLike "spinmax=") ($ VSub_Name "$spinmax")}
                                  {
                                    (SQ <"BEGIN {\n"> <"\t\tsrand(n + me + systime());\n"> 
                                      <"\t\tprintf(\"%06d\", int(rand() * spinmax));\n"> <"\t}">
                                    )
                                  }
                                ]
                                redirects: [
                                  (Redir
                                    op_id: Redir_Less
                                    fd: -1
                                    arg_word: {(/dev/null)}
                                    spids: [419]
                                  )
                                ]
                              )
                            ]
                          )
                        left_token: <Left_Backtick "`">
                        spids: [394 422]
                      )
                    }
                  spids: [393]
                )
              ]
              spids: [393]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:n)
                  op: Equal
                  rhs: 
                    {
                      (ArithSubPart
                        anode: 
                          (ArithBinary
                            op_id: Arith_Plus
                            left: (ArithWord w:{($ VSub_Name "$n")})
                            right: (ArithWord w:{(Lit_Digits 1)})
                          )
                        spids: [426 431]
                      )
                    }
                  spids: [425]
                )
              ]
              spids: [425]
            )
            (ForEach
              iter_name: i
              iter_words: [{(Lit_LBrace "{") (1..) ($ VSub_Name "$limit") (Lit_RBrace "}")}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (SimpleCommand
                      words: [{(echo)}]
                      redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(/dev/null)} spids:[451])]
                    )
                  ]
                  spids: [446 456]
                )
              spids: [439 -1]
            )
          ]
          spids: [141 458]
        )
    )
    (C {(exit)} {(1)})
  ]
)