(command.CommandList
  children: [
    (C {(Id.KW_Set set)} {(-xe)})
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:SRC)
          op: assign_op.Equal
          rhs: {($ Id.VSub_DollarName '$PWD')}
          spids: [48]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:BUILD)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:53)
                command_list: 
                  (command.CommandList
                    children: [
                      (C {(mktemp)} {(-d)} 
                        {(SQ (Token id:Id.Lit_Chars val:/tmp/boringssl.XXXXXX span_id:59))}
                      )
                    ]
                  )
              )
            }
          spids: [52]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:BUILD_SRC)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:64)
                command_list: 
                  (command.CommandList
                    children: [
                      (C {(mktemp)} {(-d)} 
                        {(SQ (Token id:Id.Lit_Chars val:/tmp/boringssl-src.XXXXXX span_id:70))}
                      )
                    ]
                  )
              )
            }
          spids: [63]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:LCOV)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:75)
                command_list: 
                  (command.CommandList
                    children: [
                      (C {(mktemp)} {(-d)} 
                        {(SQ (Token id:Id.Lit_Chars val:/tmp/boringssl-lcov.XXXXXX span_id:81))}
                      )
                    ]
                  )
              )
            }
          spids: [74]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (C {(Id.Lit_LBracket '[')} {(-n)} {(DQ ($ Id.VSub_Number '$1'))} {(Id.Lit_RBracket ']')})
              terminator: (Token id:Id.Op_Semi val:';' span_id:97)
            )
          ]
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:LCOV)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:103)
                        command_list: 
                          (command.CommandList
                            children: [(C {(readlink)} {(-f)} {(DQ ($ Id.VSub_Number '$1'))})]
                          )
                      )
                    }
                  spids: [102]
                )
              ]
            )
            (C {(mkdir)} {(-p)} {(DQ ($ Id.VSub_DollarName '$LCOV'))})
          ]
          spids: [86 99]
        )
      ]
    )
    (C {(cd)} {(DQ ($ Id.VSub_DollarName '$BUILD'))})
    (C {(cmake)} {(DQ ($ Id.VSub_DollarName '$SRC'))} {(-GNinja)} {(-DGCOV) (Id.Lit_Equals '=') (1)})
    (C {(ninja)})
    (C {(cp)} {(-r)} {(DQ ($ Id.VSub_DollarName '$SRC') (/crypto))} 
      {(DQ ($ Id.VSub_DollarName '$SRC') (/decrepit))} {(DQ ($ Id.VSub_DollarName '$SRC') (/include))} {(DQ ($ Id.VSub_DollarName '$SRC') (/ssl))} 
      {(DQ ($ Id.VSub_DollarName '$SRC') (/tool))} {(DQ ($ Id.VSub_DollarName '$BUILD_SRC'))}
    )
    (C {(cp)} {(-r)} {(DQ ($ Id.VSub_DollarName '$BUILD')) (/) (Id.Lit_Star '*')} 
      {(DQ ($ Id.VSub_DollarName '$BUILD_SRC'))}
    )
    (C {(mkdir)} {(DQ ($ Id.VSub_DollarName '$BUILD') (/callgrind/))})
    (C {(cd)} {(DQ ($ Id.VSub_DollarName '$SRC'))})
    (C {(go)} {(run)} {(DQ ($ Id.VSub_DollarName '$SRC') (/util/all_tests.go))} {(-build-dir)} 
      {(DQ ($ Id.VSub_DollarName '$BUILD'))} {(-callgrind)} {(-num-workers)} {(16)}
    )
    (command.Simple
      words: [
        {(util/generate-asm-lcov.py)}
        {(DQ ($ Id.VSub_DollarName '$BUILD') (/callgrind))}
        {(DQ ($ Id.VSub_DollarName '$BUILD'))}
      ]
      redirects: [
        (redir.Redir
          op: (Token id:Id.Redir_Great val:'>' span_id:241)
          fd: -1
          arg_word: {(DQ ($ Id.VSub_DollarName '$BUILD') (/asm.info))}
        )
      ]
    )
    (C {(go)} {(run)} {(DQ (util/all_tests.go))} {(-build-dir)} {(DQ ($ Id.VSub_DollarName '$BUILD'))})
    (C {(cd)} {(DQ ($ Id.VSub_DollarName '$SRC') (/ssl/test/runner))})
    (C {(go)} {(test)} {(-shim-path)} {(DQ ($ Id.VSub_DollarName '$BUILD') (/ssl/test/bssl_shim))} 
      {(-num-workers)} {(1)}
    )
    (C {(cd)} {(DQ ($ Id.VSub_DollarName '$LCOV'))})
    (C {(lcov)} {(-c)} {(-d)} {(DQ ($ Id.VSub_DollarName '$BUILD'))} {(-b)} 
      {(DQ ($ Id.VSub_DollarName '$BUILD'))} {(-o)} {(DQ ($ Id.VSub_DollarName '$BUILD') (/lcov.info))}
    )
    (C {(lcov)} {(-r)} {(DQ ($ Id.VSub_DollarName '$BUILD') (/lcov.info))} {(-o)} 
      {(DQ ($ Id.VSub_DollarName '$BUILD') (/filtered.info))} {(DQ ('*_test.c'))} {(DQ ('*_test.cc'))} {(DQ ('*/third_party/googletest/*'))}
    )
    (command.Simple
      words: [
        {(cat)}
        {(DQ ($ Id.VSub_DollarName '$BUILD') (/filtered.info))}
        {(DQ ($ Id.VSub_DollarName '$BUILD') (/asm.info))}
      ]
      redirects: [
        (redir.Redir
          op: (Token id:Id.Redir_Great val:'>' span_id:356)
          fd: -1
          arg_word: {(DQ ($ Id.VSub_DollarName '$BUILD') (/final.info))}
        )
      ]
    )
    (C {(sed)} {(-i)} 
      {(DQ ('s;') ($ Id.VSub_DollarName '$BUILD') (';') ($ Id.VSub_DollarName '$BUILD_SRC') (';g'))} {(DQ ($ Id.VSub_DollarName '$BUILD') (/final.info))}
    )
    (C {(sed)} {(-i)} 
      {(DQ ('s;') ($ Id.VSub_DollarName '$SRC') (';') ($ Id.VSub_DollarName '$BUILD_SRC') (';g'))} {(DQ ($ Id.VSub_DollarName '$BUILD') (/final.info))}
    )
    (C {(genhtml)} {(-p)} {(DQ ($ Id.VSub_DollarName '$BUILD_SRC'))} 
      {(DQ ($ Id.VSub_DollarName '$BUILD') (/final.info))}
    )
    (C {(rm)} {(-rf)} {(DQ ($ Id.VSub_DollarName '$BUILD'))})
    (C {(rm)} {(-rf)} {(DQ ($ Id.VSub_DollarName '$BUILD_SRC'))})
    (C {(xdg-open)} {(index.html)})
  ]
)