(command.CommandList
  children: [
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:base)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: <Id.Left_DollarParen '$('>
                child: (C {<basename>} {(DQ ($ Id.VSub_Number '$0'))})
              )
            }
          spids: [4]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:TOOL_OPTIONS)
          op: assign_op.Equal
          rhs: {(SQ <'--leak-check=no'>)}
          spids: [14]
        )
      ]
    )
    (command.AndOr
      ops: [Id.Op_DAmp]
      children: [
        (C {<test>} {<-z>} {(DQ ($ Id.VSub_DollarName '$GIT_VALGRIND_ENABLED'))})
        (C {<exec>} 
          {(DQ ($ Id.VSub_DollarName '$GIT_VALGRIND')) <'/../../'> (DQ ($ Id.VSub_DollarName '$base'))} {(DQ ($ Id.VSub_At '$@'))}
        )
      ]
    )
    (command.Case
      to_match: {(DQ ($ Id.VSub_DollarName '$GIT_VALGRIND_MODE'))}
      arms: [
        (case_arm pat_list:[{<memcheck-fast>}] spids:[53 54 57 -1])
        (case_arm
          pat_list: [{<memcheck>}]
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:VALGRIND_VERSION)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_DollarParen '$('>
                        child: (C {<valgrind>} {<--version>})
                      )
                    }
                  spids: [63]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:VALGRIND_MAJOR)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_DollarParen '$('>
                        child: 
                          (C {<expr>} {(DQ ($ Id.VSub_DollarName '$VALGRIND_VERSION'))} 
                            {<Id.Lit_Colon ':'>} {(SQ <'[^0-9]*\\([0-9]*\\)'>)}
                          )
                      )
                    }
                  spids: [71]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:VALGRIND_MINOR)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_DollarParen '$('>
                        child: 
                          (C {<expr>} {(DQ ($ Id.VSub_DollarName '$VALGRIND_VERSION'))} 
                            {<Id.Lit_Colon ':'>} {(SQ <'[^0-9]*[0-9]*\\.\\([0-9]*\\)'>)}
                          )
                      )
                    }
                  spids: [87]
                )
              ]
            )
            (command.AndOr
              ops: [Id.Op_DPipe Id.Op_DPipe]
              children: [
                (C {<test>} {<3>} {<-gt>} {(DQ ($ Id.VSub_DollarName '$VALGRIND_MAJOR'))})
                (C {<test>} {<3>} {<-eq>} {(DQ ($ Id.VSub_DollarName '$VALGRIND_MAJOR'))} {<-a>} {<4>} 
                  {<-gt>} {(DQ ($ Id.VSub_DollarName '$VALGRIND_MINOR'))}
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:TOOL_OPTIONS)
                      op: assign_op.Equal
                      rhs: {(DQ ($ Id.VSub_DollarName '$TOOL_OPTIONS') <' --track-origins=yes'>)}
                      spids: [139]
                    )
                  ]
                )
              ]
            )
          ]
          spids: [59 60 146 -1]
        )
        (case_arm
          pat_list: [{<Id.Lit_Star '*'>}]
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:TOOL_OPTIONS)
                  op: assign_op.Equal
                  rhs: {(DQ <'--tool='> ($ Id.VSub_DollarName '$GIT_VALGRIND_MODE'))}
                  spids: [152]
                )
              ]
            )
          ]
          spids: [148 149 -1 158]
        )
      ]
    )
    (C {<exec>} {<valgrind>} {<-q>} {<--error-exitcode> <Id.Lit_Equals '='> <126>} 
      {<--gen-suppressions> <Id.Lit_Equals '='> <all>} {<--suppressions> <Id.Lit_Equals '='> (DQ ($ Id.VSub_DollarName '$GIT_VALGRIND') <'/default.supp'>)} 
      {($ Id.VSub_DollarName '$TOOL_OPTIONS')} {<--log-fd> <Id.Lit_Equals '='> <4>} {<--input-fd> <Id.Lit_Equals '='> <4>} 
      {($ Id.VSub_DollarName '$GIT_VALGRIND_OPTIONS')} {(DQ ($ Id.VSub_DollarName '$GIT_VALGRIND')) <'/../../'> (DQ ($ Id.VSub_DollarName '$base'))} 
      {(DQ ($ Id.VSub_At '$@'))}
    )
  ]
)