(CommandList
  children: [
    (C {(set)} {(-o)} {(nounset)})
    (C {(set)} {(-o)} {(pipefail)})
    (C {(set)} {(-o)} {(errexit)})
    (C {(source)} {(build/common.sh)})
    (C {(source)} {(benchmarks/common.sh)})
    (FuncDef
      name: _dump-if-exists
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:path)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [176]
                )
              ]
              spids: [174]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:out)
                  op: Equal
                  rhs: {($ VSub_Number '$2')}
                  spids: [182]
                )
              ]
              spids: [180]
            )
            (AndOr
              ops: [Op_DPipe]
              children: [
                (C {(test)} {(-f)} {($ VSub_Name '$path')})
                (ControlFlow token:<ControlFlow_Return return>)
              ]
            )
            (SimpleCommand
              words: [{(cat)} {($ VSub_Name '$path')}]
              redirects: [
                (Redir
                  op_id: Redir_Great
                  fd: 16777215
                  arg_word: {($ VSub_Name '$out')}
                  spids: [201]
                )
              ]
            )
          ]
          spids: [171]
        )
      spids: [167 170]
    )
    (FuncDef
      name: dump-shell-id
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:sh)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [227]
                )
              ]
              spids: [225]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:name) op:Equal spids:[237])]
              spids: [235]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:name)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: (CommandList children:[(C {(basename)} {($ VSub_Name '$sh')})])
                        left_token: <Left_CommandSub '$('>
                        spids: [241 245]
                      )
                    }
                  spids: [240]
                )
              ]
              spids: [240]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:out_dir)
                  op: Equal
                  rhs: 
                    {
                      (BracedVarSub
                        token: <VSub_Number 2>
                        suffix_op: 
                          (StringUnary
                            op_id: VTest_ColonHyphen
                            arg_word: 
                              {(_tmp) (Lit_Slash /) (shell-id) (Lit_Slash /) ($ VSub_Name '$name')}
                          )
                        spids: [252 260]
                      )
                    }
                  spids: [251]
                )
              ]
              spids: [249]
            )
            (C {(mkdir)} {(-p)} {($ VSub_Name '$out_dir')})
            (Case
              to_match: {($ VSub_Name '$sh')}
              arms: [
                (case_arm
                  pat_list: [{(Lit_Other '*') (/osh)}]
                  action: [
                    (Assignment
                      keyword: Assign_Local
                      pairs: [(assign_pair lhs:(LhsName name:branch) op:Equal spids:[289])]
                      spids: [287]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:branch)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [(C {(git)} {(rev-parse)} {(--abbrev-ref)} {(HEAD)})]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [293 301]
                              )
                            }
                          spids: [292]
                        )
                      ]
                      spids: [292]
                    )
                    (SimpleCommand
                      words: [{(echo)} {($ VSub_Name '$branch')}]
                      redirects: [
                        (Redir
                          op_id: Redir_Great
                          fd: 16777215
                          arg_word: {($ VSub_Name '$out_dir') (/git-branch.txt)}
                          spids: [308]
                        )
                      ]
                    )
                    (SimpleCommand
                      words: [{(git)} {(rev-parse)} {($ VSub_Name '$branch')}]
                      redirects: [
                        (Redir
                          op_id: Redir_Great
                          fd: 16777215
                          arg_word: {($ VSub_Name '$out_dir') (/git-commit-hash.txt)}
                          spids: [320]
                        )
                      ]
                    )
                  ]
                  spids: [282 284 326 16777215]
                )
              ]
              spids: [275 279 329]
            )
            (Case
              to_match: {($ VSub_Name '$name')}
              arms: [
                (case_arm
                  pat_list: [{(bash)} {(zsh)}]
                  action: [
                    (SimpleCommand
                      words: [{($ VSub_Name '$sh')} {(--version)}]
                      redirects: [
                        (Redir
                          op_id: Redir_Great
                          fd: 16777215
                          arg_word: {($ VSub_Name '$out_dir') (/version.txt)}
                          spids: [350]
                        )
                      ]
                    )
                  ]
                  spids: [340 343 356 16777215]
                )
                (case_arm
                  pat_list: [{(osh)}]
                  action: [
                    (SimpleCommand
                      words: [{($ VSub_Name '$sh')} {(--version)}]
                      redirects: [
                        (Redir
                          op_id: Redir_Great
                          fd: 16777215
                          arg_word: {($ VSub_Name '$out_dir') (/osh-version.txt)}
                          spids: [367]
                        )
                      ]
                    )
                  ]
                  spids: [359 360 373 16777215]
                )
                (case_arm
                  pat_list: [{(dash)} {(mksh)}]
                  action: [
                    (SimpleCommand
                      words: [{(dpkg)} {(-s)} {($ VSub_Name '$name')}]
                      redirects: [
                        (Redir
                          op_id: Redir_Great
                          fd: 16777215
                          arg_word: {($ VSub_Name '$out_dir') (/dpkg-version.txt)}
                          spids: [392]
                        )
                      ]
                    )
                  ]
                  spids: [376 379 398 16777215]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [(C {(die)} {(DQ ("Invalid shell '") ($ VSub_Name '$name') ("'"))})]
                  spids: [401 402 414 16777215]
                )
              ]
              spids: [333 337 417]
            )
          ]
          spids: [222]
        )
      spids: [218 221]
    )
    (FuncDef
      name: _shell-id-hash
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:src)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [431]
                )
              ]
              spids: [429]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:file) op:Equal spids:[438])]
              spids: [436]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:file)
                  op: Equal
                  rhs: {($ VSub_Name '$src') (/version.txt)}
                  spids: [442]
                )
              ]
              spids: [442]
            )
            (AndOr
              ops: [Op_DAmp]
              children: [(C {(test)} {(-f)} {($ VSub_Name '$file')}) (C {(cat)} {($ VSub_Name '$file')})]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:file)
                  op: Equal
                  rhs: {($ VSub_Name '$src') (/dpkg-version.txt)}
                  spids: [465]
                )
              ]
              spids: [465]
            )
            (AndOr
              ops: [Op_DAmp]
              children: [
                (C {(test)} {(-f)} {($ VSub_Name '$file')})
                (C {(egrep)} {(SQ <'^Version'>)} {($ VSub_Name '$file')})
              ]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:file)
                  op: Equal
                  rhs: {($ VSub_Name '$src') (/osh-version.txt)}
                  spids: [492]
                )
              ]
              spids: [492]
            )
            (AndOr
              ops: [Op_DAmp]
              children: [
                (C {(test)} {(-f)} {($ VSub_Name '$file')})
                (C {(egrep)} {(SQ <'^Oil version|^Interpreter'>)} {($ VSub_Name '$file')})
              ]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:file)
                  op: Equal
                  rhs: {($ VSub_Name '$src') (/git-commit-hash.txt)}
                  spids: [519]
                )
              ]
              spids: [519]
            )
            (AndOr
              ops: [Op_DAmp]
              children: [(C {(test)} {(-f)} {($ VSub_Name '$file')}) (C {(cat)} {($ VSub_Name '$file')})]
            )
            (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})
          ]
          spids: [426]
        )
      spids: [422 425]
    )
    (FuncDef
      name: publish-shell-id
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:src)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [557]
                )
              ]
              spids: [555]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:dest_base)
                  op: Equal
                  rhs: 
                    {
                      (BracedVarSub
                        token: <VSub_Number 2>
                        suffix_op: 
                          (StringUnary
                            op_id: VTest_ColonHyphen
                            arg_word: {(..) (Lit_Slash /) (benchmark-data) (Lit_Slash /) (shell-id)}
                          )
                        spids: [567 575]
                      )
                    }
                  spids: [566]
                )
              ]
              spids: [564]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:name)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [(C {(basename)} {($ VSub_Name '$src')})]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [582 586]
                      )
                    }
                  spids: [581]
                )
              ]
              spids: [579]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:hash) op:Equal spids:[591])]
              spids: [589]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:hash)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [(C {(_shell-id-hash)} {($ VSub_Name '$src')}) (C {(md5sum)})]
                                negated: F
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [604 612]
                      )
                    }
                  spids: [603]
                )
              ]
              spids: [603]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:id)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (BracedVarSub
                          token: <VSub_Name hash>
                          suffix_op: 
                            (Slice
                              begin: (ArithWord w:{(Lit_Digits 0)})
                              length: (ArithWord w:{(Lit_Digits 8)})
                            )
                          spids: [623 629]
                        )
                      )
                    }
                  spids: [621]
                )
              ]
              spids: [619]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:dest)
                  op: Equal
                  rhs: 
                    {
                      (DQ ($ VSub_Name '$dest_base') (/) ($ VSub_Name '$name') (-) ($ VSub_Name '$id'))
                    }
                  spids: [635]
                )
              ]
              spids: [633]
            )
            (C {(mkdir)} {(-p)} {($ VSub_Name '$dest')})
            (C {(cp)} {(--no-target-directory)} {(--recursive)} {($ VSub_Name '$src') (/)} 
              {($ VSub_Name '$dest') (/)}
            )
            (SimpleCommand
              words: [{(echo)} {($ VSub_Name '$hash')}]
              redirects: [
                (Redir
                  op_id: Redir_Great
                  fd: 16777215
                  arg_word: {($ VSub_Name '$dest') (/HASH.txt)}
                  spids: [671]
                )
              ]
            )
            (C {(log)} {(DQ ('Published shell ID to ') ($ VSub_Name '$dest'))})
            (C {(echo)} {($ VSub_Name '$id')})
          ]
          spids: [552]
        )
      spids: [548 551]
    )
    (FuncDef
      name: dump-host-id
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:out_dir)
                  op: Equal
                  rhs: 
                    {
                      (BracedVarSub
                        token: <VSub_Number 1>
                        suffix_op: 
                          (StringUnary
                            op_id: VTest_ColonHyphen
                            arg_word: 
                              {(_tmp) (Lit_Slash /) (host-id) (Lit_Slash /) 
                                (CommandSubPart
                                  command_list: (CommandList children:[(C {(hostname)})])
                                  left_token: <Left_CommandSub '$('>
                                  spids: [742 744]
                                )
                              }
                          )
                        spids: [735 745]
                      )
                    }
                  spids: [734]
                )
              ]
              spids: [732]
            )
            (C {(mkdir)} {(-p)} {($ VSub_Name '$out_dir')})
            (SimpleCommand
              words: [{(hostname)}]
              redirects: [
                (Redir
                  op_id: Redir_Great
                  fd: 16777215
                  arg_word: {($ VSub_Name '$out_dir') (/hostname.txt)}
                  spids: [759]
                )
              ]
            )
            (SimpleCommand
              words: [{(uname)} {(-m)}]
              redirects: [
                (Redir
                  op_id: Redir_Great
                  fd: 16777215
                  arg_word: {($ VSub_Name '$out_dir') (/machine.txt)}
                  spids: [786]
                )
              ]
            )
            (BraceGroup
              children: [(C {(uname)} {(--kernel-release)}) (C {(uname)} {(--kernel-version)})]
              redirects: [
                (Redir
                  op_id: Redir_Great
                  fd: 16777215
                  arg_word: {($ VSub_Name '$out_dir') (/kernel.txt)}
                  spids: [811]
                )
              ]
              spids: [796]
            )
            (C {(_dump-if-exists)} {(/etc/lsb-release)} {($ VSub_Name '$out_dir') (/lsb-release.txt)})
            (SimpleCommand
              words: [{(cat)} {(/proc/cpuinfo)}]
              redirects: [
                (Redir
                  op_id: Redir_Great
                  fd: 16777215
                  arg_word: {($ VSub_Name '$out_dir') (/cpuinfo.txt)}
                  spids: [831]
                )
              ]
            )
            (SimpleCommand
              words: [{(cat)} {(/proc/meminfo)}]
              redirects: [
                (Redir
                  op_id: Redir_Great
                  fd: 16777215
                  arg_word: {($ VSub_Name '$out_dir') (/meminfo.txt)}
                  spids: [849]
                )
              ]
            )
          ]
          spids: [729]
        )
      spids: [725 728]
    )
    (FuncDef
      name: _host-id-hash
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:src)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [881]
                )
              ]
              spids: [879]
            )
            (C {(cat)} {($ VSub_Name '$src') (/machine.txt)})
            (C {(cat)} {($ VSub_Name '$src') (/kernel.txt)})
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:file)
                  op: Equal
                  rhs: {($ VSub_Name '$src') (/lsb-release.txt)}
                  spids: [921]
                )
              ]
              spids: [919]
            )
            (AndOr
              ops: [Op_DAmp]
              children: [(C {(test)} {(-f)} {($ VSub_Name '$file')}) (C {(cat)} {($ VSub_Name '$file')})]
            )
            (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})
          ]
          spids: [876]
        )
      spids: [872 875]
    )
    (FuncDef
      name: publish-host-id
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:src)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [959]
                )
              ]
              spids: [957]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:dest_base)
                  op: Equal
                  rhs: 
                    {
                      (BracedVarSub
                        token: <VSub_Number 2>
                        suffix_op: 
                          (StringUnary
                            op_id: VTest_ColonHyphen
                            arg_word: {(..) (Lit_Slash /) (benchmark-data) (Lit_Slash /) (host-id)}
                          )
                        spids: [969 977]
                      )
                    }
                  spids: [968]
                )
              ]
              spids: [966]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:name)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [(C {(basename)} {($ VSub_Name '$src')})]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [984 988]
                      )
                    }
                  spids: [983]
                )
              ]
              spids: [981]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:hash) op:Equal spids:[993])]
              spids: [991]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:hash)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [(C {(_host-id-hash)} {($ VSub_Name '$src')}) (C {(md5sum)})]
                                negated: F
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [997 1005]
                      )
                    }
                  spids: [996]
                )
              ]
              spids: [996]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:id)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (BracedVarSub
                          token: <VSub_Name hash>
                          suffix_op: 
                            (Slice
                              begin: (ArithWord w:{(Lit_Digits 0)})
                              length: (ArithWord w:{(Lit_Digits 8)})
                            )
                          spids: [1016 1022]
                        )
                      )
                    }
                  spids: [1014]
                )
              ]
              spids: [1012]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:dest)
                  op: Equal
                  rhs: 
                    {
                      (DQ ($ VSub_Name '$dest_base') (/) ($ VSub_Name '$name') (-) ($ VSub_Name '$id'))
                    }
                  spids: [1028]
                )
              ]
              spids: [1026]
            )
            (C {(mkdir)} {(-p)} {($ VSub_Name '$dest')})
            (C {(cp)} {(--no-target-directory)} {(--recursive)} {($ VSub_Name '$src') (/)} 
              {($ VSub_Name '$dest') (/)}
            )
            (SimpleCommand
              words: [{(echo)} {($ VSub_Name '$hash')}]
              redirects: [
                (Redir
                  op_id: Redir_Great
                  fd: 16777215
                  arg_word: {($ VSub_Name '$dest') (/HASH.txt)}
                  spids: [1064]
                )
              ]
            )
            (C {(log)} {(DQ ('Published host ID to ') ($ VSub_Name '$dest'))})
            (C {(echo)} {($ VSub_Name '$id')})
          ]
          spids: [954]
        )
      spids: [950 953]
    )
    (FuncDef
      name: dump-compiler-id
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:cc)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [1110]
                )
              ]
              spids: [1108]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:out_dir)
                  op: Equal
                  rhs: 
                    {
                      (BracedVarSub
                        token: <VSub_Number 2>
                        suffix_op: 
                          (StringUnary
                            op_id: VTest_ColonHyphen
                            arg_word: 
                              {(_tmp) (Lit_Slash /) (compiler-id) (Lit_Slash /) 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [(C {(basename)} {($ VSub_Name '$cc')})]
                                    )
                                  left_token: <Left_CommandSub '$('>
                                  spids: [1127 1131]
                                )
                              }
                          )
                        spids: [1120 1132]
                      )
                    }
                  spids: [1119]
                )
              ]
              spids: [1117]
            )
            (C {(mkdir)} {(-p)} {($ VSub_Name '$out_dir')})
            (Case
              to_match: {($ VSub_Name '$cc')}
              arms: [
                (case_arm
                  pat_list: [{(Lit_Other '*') (/gcc)}]
                  action: [(C {($ VSub_Name '$cc')} {(--version)})]
                  spids: [1151 1153 1165 16777215]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*') (/clang)}]
                  action: [(C {($ VSub_Name '$cc')} {(--version)})]
                  spids: [1168 1170 1182 16777215]
                )
              ]
              redirects: [
                (Redir
                  op_id: Redir_Great
                  fd: 16777215
                  arg_word: {($ VSub_Name '$out_dir') (/version.txt)}
                  spids: [1187]
                )
              ]
              spids: [1144 1148 1185]
            )
          ]
          spids: [1105]
        )
      spids: [1101 1104]
    )
    (FuncDef
      name: test-compiler-id
      body: 
        (BraceGroup
          children: [
            (C {(dump-compiler-id)} {(gcc)})
            (C {(dump-compiler-id)} {($ VSub_Name '$CLANG')})
            (C {(head)} {(_tmp/compiler-id/) (Lit_Other '*') (/version.txt)})
          ]
          spids: [1199]
        )
      spids: [1195 1198]
    )
    (FuncDef
      name: _compiler-id-hash
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:src)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [1230]
                )
              ]
              spids: [1228]
            )
            (Pipeline
              children: [
                (C {(cat)} {($ VSub_Name '$src') (/version.txt)})
                (C {(grep)} {(-v)} {(InstalledDir)})
              ]
              negated: F
            )
          ]
          spids: [1225]
        )
      spids: [1221 1224]
    )
    (FuncDef
      name: publish-compiler-id
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:src)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [1268]
                )
              ]
              spids: [1266]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:dest_base)
                  op: Equal
                  rhs: 
                    {
                      (BracedVarSub
                        token: <VSub_Number 2>
                        suffix_op: 
                          (StringUnary
                            op_id: VTest_ColonHyphen
                            arg_word: 
                              {(..) (Lit_Slash /) (benchmark-data) (Lit_Slash /) (compiler-id)}
                          )
                        spids: [1278 1286]
                      )
                    }
                  spids: [1277]
                )
              ]
              spids: [1275]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:name)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [(C {(basename)} {($ VSub_Name '$src')})]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [1293 1297]
                      )
                    }
                  spids: [1292]
                )
              ]
              spids: [1290]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:hash) op:Equal spids:[1302])]
              spids: [1300]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:hash)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(_compiler-id-hash)} {($ VSub_Name '$src')})
                                  (C {(md5sum)})
                                ]
                                negated: F
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [1306 1314]
                      )
                    }
                  spids: [1305]
                )
              ]
              spids: [1305]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:id)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (BracedVarSub
                          token: <VSub_Name hash>
                          suffix_op: 
                            (Slice
                              begin: (ArithWord w:{(Lit_Digits 0)})
                              length: (ArithWord w:{(Lit_Digits 8)})
                            )
                          spids: [1325 1331]
                        )
                      )
                    }
                  spids: [1323]
                )
              ]
              spids: [1321]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:dest)
                  op: Equal
                  rhs: 
                    {
                      (DQ ($ VSub_Name '$dest_base') (/) ($ VSub_Name '$name') (-) ($ VSub_Name '$id'))
                    }
                  spids: [1337]
                )
              ]
              spids: [1335]
            )
            (C {(mkdir)} {(-p)} {($ VSub_Name '$dest')})
            (C {(cp)} {(--no-target-directory)} {(--recursive)} {($ VSub_Name '$src') (/)} 
              {($ VSub_Name '$dest') (/)}
            )
            (SimpleCommand
              words: [{(echo)} {($ VSub_Name '$hash')}]
              redirects: [
                (Redir
                  op_id: Redir_Great
                  fd: 16777215
                  arg_word: {($ VSub_Name '$dest') (/HASH.txt)}
                  spids: [1373]
                )
              ]
            )
            (C {(log)} {(DQ ('Published compiler ID to ') ($ VSub_Name '$dest'))})
            (C {(echo)} {($ VSub_Name '$id')})
          ]
          spids: [1263]
        )
      spids: [1259 1262]
    )
    (FuncDef
      name: shell-provenance
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:job_id) op:Equal spids:[1437])]
              spids: [1435]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:job_id)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (C {(date)} 
                                  {(Lit_Other '+') (Lit_Other '%') (Y-) (Lit_Other '%') (m-) 
                                    (Lit_Other '%') (d__) (Lit_Other '%') (H-) (Lit_Other '%') (M-) (Lit_Other '%') (S)
                                  }
                                )
                              ]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [1442 1458]
                        )
                      )
                    }
                  spids: [1440]
                )
              ]
              spids: [1440]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:host) op:Equal spids:[1464])]
              spids: [1462]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:host)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: (CommandList children:[(C {(hostname)})])
                        left_token: <Left_CommandSub '$('>
                        spids: [1468 1470]
                      )
                    }
                  spids: [1467]
                )
              ]
              spids: [1467]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:out)
                  op: Equal
                  rhs: {(_tmp/) (${ VSub_Name host) (.) (${ VSub_Name job_id) (.provenance.txt)}
                  spids: [1480]
                )
              ]
              spids: [1478]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:tmp_dir)
                  op: Equal
                  rhs: {(_tmp/host-id/) ($ VSub_Name '$host')}
                  spids: [1495]
                )
              ]
              spids: [1493]
            )
            (C {(dump-host-id)} {($ VSub_Name '$tmp_dir')})
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:host_hash) op:Equal spids:[1508])]
              spids: [1506]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:host_hash)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [(C {(publish-host-id)} {($ VSub_Name '$tmp_dir')})]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [1512 1516]
                      )
                    }
                  spids: [1511]
                )
              ]
              spids: [1511]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:shell_hash) op:Equal spids:[1522])]
              spids: [1520]
            )
            (ForEach
              iter_name: sh_path
              iter_words: [{(bash)} {(dash)} {(mksh)} {(zsh)} {(bin/osh)} {($ VSub_Name '$OSH_OVM')}]
              do_arg_iter: F
              body: 
                (DoGroup
                  children: [
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:name)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [(C {(basename)} {($ VSub_Name '$sh_path')})]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [1555 1559]
                              )
                            }
                          spids: [1554]
                        )
                      ]
                      spids: [1552]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:tmp_dir)
                          op: Equal
                          rhs: {(_tmp/shell-id/) ($ VSub_Name '$name')}
                          spids: [1563]
                        )
                      ]
                      spids: [1563]
                    )
                    (C {(dump-shell-id)} {($ VSub_Name '$sh_path')} {($ VSub_Name '$tmp_dir')})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:shell_hash)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [(C {(publish-shell-id)} {($ VSub_Name '$tmp_dir')})]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [1577 1581]
                              )
                            }
                          spids: [1576]
                        )
                      ]
                      spids: [1576]
                    )
                    (C {(echo)} 
                      {
                        (DQ ($ VSub_Name '$job_id') (' ') ($ VSub_Name '$host') (' ') 
                          ($ VSub_Name '$host_hash') (' ') ($ VSub_Name '$sh_path') (' ') ($ VSub_Name '$shell_hash')
                        )
                      }
                    )
                  ]
                  spids: [1545 1600]
                )
              redirects: [
                (Redir
                  op_id: Redir_Great
                  fd: 16777215
                  arg_word: {($ VSub_Name '$out')}
                  spids: [1602]
                )
              ]
              spids: [1531 1543]
            )
            (C {(log)} {(DQ ('Wrote ') ($ VSub_Name '$out'))})
            (C {(echo)} {($ VSub_Name '$out')})
          ]
          spids: [1432]
        )
      spids: [1428 1431]
    )
    (FuncDef
      name: compiler-provenance
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:job_id) op:Equal spids:[1637])]
              spids: [1635]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:job_id)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (C {(date)} 
                                  {(Lit_Other '+') (Lit_Other '%') (Y-) (Lit_Other '%') (m-) 
                                    (Lit_Other '%') (d__) (Lit_Other '%') (H-) (Lit_Other '%') (M-) (Lit_Other '%') (S)
                                  }
                                )
                              ]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [1642 1658]
                        )
                      )
                    }
                  spids: [1640]
                )
              ]
              spids: [1640]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:host) op:Equal spids:[1664])]
              spids: [1662]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:host)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: (CommandList children:[(C {(hostname)})])
                        left_token: <Left_CommandSub '$('>
                        spids: [1668 1670]
                      )
                    }
                  spids: [1667]
                )
              ]
              spids: [1667]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:out)
                  op: Equal
                  rhs: 
                    {(_tmp/) (${ VSub_Name host) (.) (${ VSub_Name job_id) (.compiler-provenance.txt)}
                  spids: [1680]
                )
              ]
              spids: [1678]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:tmp_dir)
                  op: Equal
                  rhs: {(_tmp/host-id/) ($ VSub_Name '$host')}
                  spids: [1695]
                )
              ]
              spids: [1693]
            )
            (C {(dump-host-id)} {($ VSub_Name '$tmp_dir')})
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:host_hash) op:Equal spids:[1708])]
              spids: [1706]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:host_hash)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [(C {(publish-host-id)} {($ VSub_Name '$tmp_dir')})]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [1712 1716]
                      )
                    }
                  spids: [1711]
                )
              ]
              spids: [1711]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:compiler_hash) op:Equal spids:[1722])]
              spids: [1720]
            )
            (ForEach
              iter_name: compiler_path
              iter_words: [
                {
                  (CommandSubPart
                    command_list: (CommandList children:[(C {(which)} {(gcc)})])
                    left_token: <Left_CommandSub '$('>
                    spids: [1736 1740]
                  )
                }
                {($ VSub_Name '$CLANG')}
              ]
              do_arg_iter: F
              body: 
                (DoGroup
                  children: [
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:name)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [(C {(basename)} {($ VSub_Name '$compiler_path')})]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [1751 1755]
                              )
                            }
                          spids: [1750]
                        )
                      ]
                      spids: [1748]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:tmp_dir)
                          op: Equal
                          rhs: {(_tmp/compiler-id/) ($ VSub_Name '$name')}
                          spids: [1759]
                        )
                      ]
                      spids: [1759]
                    )
                    (C {(dump-compiler-id)} {($ VSub_Name '$compiler_path')} {($ VSub_Name '$tmp_dir')})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:compiler_hash)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [(C {(publish-compiler-id)} {($ VSub_Name '$tmp_dir')})]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [1773 1777]
                              )
                            }
                          spids: [1772]
                        )
                      ]
                      spids: [1772]
                    )
                    (C {(echo)} 
                      {
                        (DQ ($ VSub_Name '$job_id') (' ') ($ VSub_Name '$host') (' ') 
                          ($ VSub_Name '$host_hash') (' ') ($ VSub_Name '$compiler_path') (' ') ($ VSub_Name '$compiler_hash')
                        )
                      }
                    )
                  ]
                  spids: [1745 1796]
                )
              redirects: [
                (Redir
                  op_id: Redir_Great
                  fd: 16777215
                  arg_word: {($ VSub_Name '$out')}
                  spids: [1798]
                )
              ]
              spids: [1735 1743]
            )
            (C {(log)} {(DQ ('Wrote ') ($ VSub_Name '$out'))})
            (C {(echo)} {($ VSub_Name '$out')})
          ]
          spids: [1632]
        )
      spids: [1628 1631]
    )
    (C {(DQ ($ VSub_At '$@'))})
  ]
)