(CommandList
  children: [
    (If
      arms: [
        (if_arm
          cond: [(C {(Lit_Other "[")} {(DQ ($ VSub_Pound "$#"))} {(-ne)} {(3)} {(Lit_Other "]")})]
          action: [
            (C {(echo)} 
              {
                (DQ ("Usage: ") ($ VSub_Number "$0") 
                  (" dart_binary benchmark_directory output_directory")
                )
              }
            )
            (C {(echo)} 
              {
                (DQ ("Example: ") ($ VSub_Number "$0") 
                  (" out/ReleaseIA32/dart ../golem4/benchmarks /tmp/bmu")
                )
              }
            )
            (C {(exit)} {(1)})
          ]
          spids: [-1 37]
        )
      ]
      spids: [-1 62]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:DART_BIN)
          op: Equal
          rhs: {($ VSub_Number "$1")}
          spids: [65]
        )
      ]
      spids: [65]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:BENCH_DIR)
          op: Equal
          rhs: {($ VSub_Number "$2")}
          spids: [68]
        )
      ]
      spids: [68]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:OUT_DIR) op:Equal rhs:{($ VSub_Number "$3")} spids:[71])]
      spids: [71]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:VERBOSE_GC_TO_BMU)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: (CommandList children:[(C {(dirname)} {(DQ ($ VSub_Number "$0"))})])
                left_token: <Left_CommandSub "$(">
                spids: [76 82]
              ) (/verbose_gc_to_bmu.dart)
            }
          spids: [75]
        )
      ]
      spids: [75]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:INDEX_FILE)
          op: Equal
          rhs: {($ VSub_Name "$OUT_DIR") (/index.html)}
          spids: [85]
        )
      ]
      spids: [85]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:TMP)
          op: Equal
          rhs: {(/tmp/bmu_benchmark_gallery)}
          spids: [89]
        )
      ]
      spids: [89]
    )
    (C {(mkdir)} {(-p)} {($ VSub_Name "$OUT_DIR")})
    (SimpleCommand
      words: [{(echo)} {(DQ ("<html><body>"))}]
      redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{($ VSub_Name "$INDEX_FILE")} spids:[105])]
    )
    (SimpleCommand
      words: [{($ VSub_Name "$DART_BIN")} {(--version)}]
      redirects: [(Redir op_id:Redir_DGreat fd:2 arg_word:{($ VSub_Name "$INDEX_FILE")} spids:[113])]
    )
    (SimpleCommand
      words: [{(echo)} {(DQ ("<br>"))}]
      redirects: [(Redir op_id:Redir_DGreat fd:-1 arg_word:{($ VSub_Name "$INDEX_FILE")} spids:[123])]
    )
    (ForEach
      iter_name: NAME
      iter_words: [
        {
          (CommandSubPart
            command_list: (CommandList children:[(C {(ls)} {($ VSub_Name "$BENCH_DIR")})])
            left_token: <Left_Backtick "`">
            spids: [133 137]
          )
        }
      ]
      do_arg_iter: False
      body: 
        (DoGroup
          children: [
            (AndOr
              children: [
                (SimpleCommand
                  words: [
                    {($ VSub_Name "$DART_BIN")}
                    {(--verbose_gc)}
                    {($ VSub_Name "$BENCH_DIR") (/) ($ VSub_Name "$NAME") (/dart/) 
                      ($ VSub_Name "$NAME") (.dart)
                    }
                  ]
                  redirects: [
                    (Redir
                      op_id: Redir_Great
                      fd: 2
                      arg_word: {($ VSub_Name "$TMP") (.gclog)}
                      spids: [153]
                    )
                  ]
                )
                (AndOr
                  children: [
                    (SimpleCommand
                      words: [{($ VSub_Name "$DART_BIN")} {($ VSub_Name "$VERBOSE_GC_TO_BMU")}]
                      redirects: [
                        (Redir
                          op_id: Redir_Less
                          fd: -1
                          arg_word: {($ VSub_Name "$TMP") (.gclog)}
                          spids: [165]
                        )
                        (Redir
                          op_id: Redir_Great
                          fd: -1
                          arg_word: {($ VSub_Name "$TMP") (.dat)}
                          spids: [170]
                        )
                      ]
                    )
                    (AndOr
                      children: [
                        (C {(gnuplot)} {(-e)} 
                          {
                            (DQ ("set term png; set output '") ($ VSub_Name "$TMP") 
                              (".png'; set title '") ($ VSub_Name "$NAME") 
                              (
"'; set ylabel 'BMU'; set xlabel 'Window size (ms)'; unset key; set yr [0:1]; set logscale x; plot '"
                              ) ($ VSub_Name "$TMP") (".dat' with linespoints")
                            )
                          }
                        )
                        (AndOr
                          children: [
                            (C {(mv)} {(-f)} {($ VSub_Name "$TMP") (.png)} 
                              {($ VSub_Name "$OUT_DIR") (/) ($ VSub_Name "$NAME") (.png)}
                            )
                            (AndOr
                              children: [
                                (C {(mv)} {(-f)} {($ VSub_Name "$TMP") (.gclog)} 
                                  {($ VSub_Name "$OUT_DIR") (/) ($ VSub_Name "$NAME") (.txt)}
                                )
                                (SimpleCommand
                                  words: [
                                    {(echo)}
                                    {
                                      (DQ ("<a href='") ($ VSub_Name "$NAME") (".txt'><img src='") 
                                        ($ VSub_Name "$NAME") (".png'></a>")
                                      )
                                    }
                                  ]
                                  redirects: [
                                    (Redir
                                      op_id: Redir_DGreat
                                      fd: -1
                                      arg_word: {($ VSub_Name "$INDEX_FILE")}
                                      spids: [235]
                                    )
                                  ]
                                )
                              ]
                              op_id: Op_DAmp
                            )
                          ]
                          op_id: Op_DAmp
                        )
                      ]
                      op_id: Op_DAmp
                    )
                  ]
                  op_id: Op_DAmp
                )
              ]
              op_id: Op_DAmp
            )
          ]
          spids: [139 239]
        )
      spids: [132 -1]
    )
    (SimpleCommand
      words: [{(echo)} {(DQ ("</body></html>"))}]
      redirects: [(Redir op_id:Redir_DGreat fd:-1 arg_word:{($ VSub_Name "$INDEX_FILE")} spids:[247])]
    )
  ]
)