(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:memusageso)
          op: Equal
          rhs: {(SQ <'@SLIBDIR@/libmemusage.so'>)}
          spids: [49]
        )
      ]
      spids: [49]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:memusagestat)
          op: Equal
          rhs: {(SQ <'@BINDIR@/memusagestat'>)}
          spids: [54]
        )
      ]
      spids: [54]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:TEXTDOMAIN) op:Equal rhs:{(libc)} spids:[59])]
      spids: [59]
    )
    (FuncDef
      name: do_usage
      body: 
        (BraceGroup
          children: [
            (SimpleCommand
              words: [
                {(printf)}
                {
                  (DQ ('Try ') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ("%s --help' or ") 
                    (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ("%s --usage' for more information.") (Lit_Other '\\') (n)
                  )
                }
                {(memusage)}
                {(memusage)}
              ]
              redirects: [(Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})]
            )
            (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})
          ]
          spids: [70]
        )
      spids: [66 69]
    )
    (FuncDef
      name: do_missing_arg
      body: 
        (BraceGroup
          children: [
            (SimpleCommand
              words: [
                {(printf)}
                {(DQ ("%s: option '%s' requires an argument") (Lit_Other '\\') (n))}
                {(memusage)}
                {(DQ ($ VSub_Number '$1'))}
              ]
              redirects: [(Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})]
            )
            (C {(do_usage)})
          ]
          spids: [107]
        )
      spids: [103 106]
    )
    (FuncDef
      name: do_help
      body: 
        (BraceGroup
          children: [
            (C {(echo)} 
              {
                (DQ ('Usage: memusage [OPTION]... PROGRAM [PROGRAMOPTION]...\n') 
                  ('Profile memory usage of PROGRAM.\n') ('\n') ('   -n,--progname=NAME     Name of the program file to profile\n') 
                  ('   -p,--png=FILE          Generate PNG graphic and store it in FILE\n') ('   -d,--data=FILE         Generate binary data file and store it in FILE\n') 
                  ("   -u,--unbuffered        Don't buffer output\n") ('   -b,--buffer=SIZE       Collect SIZE entries before writing them out\n') 
                  (
"      --no-timer          Don't collect additional information through timer\n"
                  ) ('   -m,--mmap              Also trace mmap & friends\n') ('\n') 
                  ('   -?,--help              Print this help and exit\n') ('      --usage             Give a short usage message\n') 
                  ('   -V,--version           Print version information and exit\n') ('\n') (' The following options only apply when generating graphical output:\n') 
                  ('   -t,--time-based        Make graph linear in time\n') ('   -T,--total             Also draw graph of total memory use\n') 
                  ('      --title=STRING      Use STRING as title of the graph\n') ('   -x,--x-size=SIZE       Make graphic SIZE pixels wide\n') 
                  ('   -y,--y-size=SIZE       Make graphic SIZE pixels high\n') ('\n') ('Mandatory arguments to long options are also mandatory for any corresponding\n') 
                  ('short options.\n') ('\n')
                )
              }
            )
            (C {(printf)} 
              {
                (DQ ('For bug reporting instructions, please see:') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) ('n%s.') (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) (n)
                )
              } {(DQ ('@REPORT_BUGS_TO@'))}
            )
            (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(0)})
          ]
          spids: [140]
        )
      spids: [136 139]
    )
    (FuncDef
      name: do_version
      body: 
        (BraceGroup
          children: [
            (C {(echo)} {(SQ <'memusage @PKGVERSION@@VERSION@'>)})
            (C {(printf)} 
              {
                (DQ ('Copyright (C) %s Free Software Foundation, Inc.\n') 
                  ('This is free software; see the source for copying conditions.  There is NO\n') ('warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n')
                )
              } {(DQ (2016))}
            )
            (C {(printf)} {(DQ ('Written by %s.\n'))} {(DQ ('Ulrich Drepper'))})
            (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(0)})
          ]
          spids: [202]
        )
      spids: [198 201]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:buffer) op:Equal rhs:{(EmptyPart)} spids:[246])]
      spids: [246]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:data) op:Equal rhs:{(EmptyPart)} spids:[248])]
      spids: [248]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:memusagestat_args)
          op: Equal
          rhs: {(EmptyPart)}
          spids: [250]
        )
      ]
      spids: [250]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:notimer) op:Equal rhs:{(EmptyPart)} spids:[252])]
      spids: [252]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:png) op:Equal rhs:{(EmptyPart)} spids:[254])]
      spids: [254]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:progname) op:Equal rhs:{(EmptyPart)} spids:[256])]
      spids: [256]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:tracemmap) op:Equal rhs:{(EmptyPart)} spids:[258])]
      spids: [258]
    )
    (WhileUntil
      keyword: <KW_While while>
      cond: [
        (Sentence
          child: (C {(test)} {($ VSub_Pound '$#')} {(-gt)} {(0)})
          terminator: <Op_Semi ';'>
        )
      ]
      body: 
        (DoGroup
          children: [
            (Case
              to_match: {(DQ ($ VSub_Number '$1'))}
              arms: [
                (case_arm
                  pat_list: [
                    {(-V)}
                    {(--v)}
                    {(--ve)}
                    {(--ver)}
                    {(--vers)}
                    {(--versi)}
                    {(--versio)}
                    {(--version)}
                  ]
                  action: [(C {(do_version)})]
                  spids: [287 316 322 16777215]
                )
                (case_arm
                  pat_list: [
                    {(-) (EscapedLiteralPart token:<Lit_EscapedChar '\\?'>)}
                    {(--h)}
                    {(--he)}
                    {(--hel)}
                    {(--help)}
                  ]
                  action: [(C {(do_help)})]
                  spids: [325 343 349 16777215]
                )
                (case_arm
                  pat_list: [{(--us)} {(--usa)} {(--usag)} {(--usage)}]
                  action: [
                    (C {(echo)} 
                      {
                        (DQ 
                          (
'Syntax: memusage [--data=FILE] [--progname=NAME] [--png=FILE] [--unbuffered]\n'
                          ) ('\t    [--buffer=SIZE] [--no-timer] [--time-based] [--total]\n') 
                          ('\t    [--title=STRING] [--x-size=SIZE] [--y-size=SIZE]\n') ('\t    PROGRAM [PROGRAMOPTION]...')
                        )
                      }
                    )
                    (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(0)})
                  ]
                  spids: [352 365 383 16777215]
                )
                (case_arm
                  pat_list: [
                    {(-n)}
                    {(--pr)}
                    {(--pro)}
                    {(--prog)}
                    {(--progn)}
                    {(--progna)}
                    {(--prognam)}
                    {(--progname)}
                  ]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {(test)} {($ VSub_Pound '$#')} {(-eq)} {(1)})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [(C {(do_missing_arg)} {($ VSub_Number '$1')})]
                          spids: [16777215 429]
                        )
                      ]
                      spids: [16777215 437]
                    )
                    (C {(shift)})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:progname)
                          op: Equal
                          rhs: {(DQ ($ VSub_Number '$1'))}
                          spids: [443]
                        )
                      ]
                      spids: [443]
                    )
                  ]
                  spids: [386 415 449 16777215]
                )
                (case_arm
                  pat_list: [
                    {(--pr) (Lit_Other '=') (Lit_Other '*')}
                    {(--pro) (Lit_Other '=') (Lit_Other '*')}
                    {(--prog) (Lit_Other '=') (Lit_Other '*')}
                    {(--progn) (Lit_Other '=') (Lit_Other '*')}
                    {(--progna) (Lit_Other '=') (Lit_Other '*')}
                    {(--prognam) (Lit_Other '=') (Lit_Other '*')}
                    {(--progname) (Lit_Other '=') (Lit_Other '*')}
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:progname)
                          op: Equal
                          rhs: 
                            {
                              (BracedVarSub
                                token: <VSub_Number 1>
                                suffix_op: (StringUnary op_id:VOp1_DPound arg_word:{('*=')})
                                spids: [495 499]
                              )
                            }
                          spids: [494]
                        )
                      ]
                      spids: [494]
                    )
                  ]
                  spids: [452 491 502 16777215]
                )
                (case_arm
                  pat_list: [{(-p)} {(--pn)} {(--png)}]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {(test)} {($ VSub_Pound '$#')} {(-eq)} {(1)})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [(C {(do_missing_arg)} {($ VSub_Number '$1')})]
                          spids: [16777215 528]
                        )
                      ]
                      spids: [16777215 536]
                    )
                    (C {(shift)})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:png)
                          op: Equal
                          rhs: {(DQ ($ VSub_Number '$1'))}
                          spids: [542]
                        )
                      ]
                      spids: [542]
                    )
                  ]
                  spids: [505 514 548 16777215]
                )
                (case_arm
                  pat_list: [
                    {(--pn) (Lit_Other '=') (Lit_Other '*')}
                    {(--png) (Lit_Other '=') (Lit_Other '*')}
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:png)
                          op: Equal
                          rhs: 
                            {
                              (BracedVarSub
                                token: <VSub_Number 1>
                                suffix_op: (StringUnary op_id:VOp1_DPound arg_word:{('*=')})
                                spids: [564 568]
                              )
                            }
                          spids: [563]
                        )
                      ]
                      spids: [563]
                    )
                  ]
                  spids: [551 560 571 16777215]
                )
                (case_arm
                  pat_list: [{(-d)} {(--d)} {(--da)} {(--dat)} {(--data)}]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {(test)} {($ VSub_Pound '$#')} {(-eq)} {(1)})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [(C {(do_missing_arg)} {($ VSub_Number '$1')})]
                          spids: [16777215 605]
                        )
                      ]
                      spids: [16777215 613]
                    )
                    (C {(shift)})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:data)
                          op: Equal
                          rhs: {(DQ ($ VSub_Number '$1'))}
                          spids: [619]
                        )
                      ]
                      spids: [619]
                    )
                  ]
                  spids: [574 591 625 16777215]
                )
                (case_arm
                  pat_list: [
                    {(--d) (Lit_Other '=') (Lit_Other '*')}
                    {(--da) (Lit_Other '=') (Lit_Other '*')}
                    {(--dat) (Lit_Other '=') (Lit_Other '*')}
                    {(--data) (Lit_Other '=') (Lit_Other '*')}
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:data)
                          op: Equal
                          rhs: 
                            {
                              (BracedVarSub
                                token: <VSub_Number 1>
                                suffix_op: (StringUnary op_id:VOp1_DPound arg_word:{('*=')})
                                spids: [653 657]
                              )
                            }
                          spids: [652]
                        )
                      ]
                      spids: [652]
                    )
                  ]
                  spids: [628 649 660 16777215]
                )
                (case_arm
                  pat_list: [
                    {(-u)}
                    {(--un)}
                    {(--unb)}
                    {(--unbu)}
                    {(--unbuf)}
                    {(--unbuff)}
                    {(--unbuffe)}
                    {(--unbuffer)}
                    {(--unbuffere)}
                    {(--unbuffered)}
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [(assign_pair lhs:(LhsName name:buffer) op:Equal rhs:{(1)} spids:[703])]
                      spids: [703]
                    )
                  ]
                  spids: [663 700 707 16777215]
                )
                (case_arm
                  pat_list: [{(-b)} {(--b)} {(--bu)} {(--buf)} {(--buff)} {(--buffe)} {(--buffer)}]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {(test)} {($ VSub_Pound '$#')} {(-eq)} {(1)})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [(C {(do_missing_arg)} {($ VSub_Number '$1')})]
                          spids: [16777215 749]
                        )
                      ]
                      spids: [16777215 757]
                    )
                    (C {(shift)})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:buffer)
                          op: Equal
                          rhs: {(DQ ($ VSub_Number '$1'))}
                          spids: [763]
                        )
                      ]
                      spids: [763]
                    )
                  ]
                  spids: [710 735 769 16777215]
                )
                (case_arm
                  pat_list: [
                    {(--b) (Lit_Other '=') (Lit_Other '*')}
                    {(--bu) (Lit_Other '=') (Lit_Other '*')}
                    {(--buf) (Lit_Other '=') (Lit_Other '*')}
                    {(--buff) (Lit_Other '=') (Lit_Other '*')}
                    {(--buffe) (Lit_Other '=') (Lit_Other '*')}
                    {(--buffer) (Lit_Other '=') (Lit_Other '*')}
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:buffer)
                          op: Equal
                          rhs: 
                            {
                              (BracedVarSub
                                token: <VSub_Number 1>
                                suffix_op: (StringUnary op_id:VOp1_DPound arg_word:{('*=')})
                                spids: [809 813]
                              )
                            }
                          spids: [808]
                        )
                      ]
                      spids: [808]
                    )
                  ]
                  spids: [772 805 816 16777215]
                )
                (case_arm
                  pat_list: [
                    {(--n)}
                    {(--no)}
                    {(--no-)}
                    {(--no-t)}
                    {(--no-ti)}
                    {(--no-tim)}
                    {(--no-time)}
                    {(--no-timer)}
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:notimer)
                          op: Equal
                          rhs: {(yes)}
                          spids: [851]
                        )
                      ]
                      spids: [851]
                    )
                  ]
                  spids: [819 848 855 16777215]
                )
                (case_arm
                  pat_list: [{(-m)} {(--m)} {(--mm)} {(--mma)} {(--mmap)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:tracemmap)
                          op: Equal
                          rhs: {(yes)}
                          spids: [878]
                        )
                      ]
                      spids: [878]
                    )
                  ]
                  spids: [858 875 882 16777215]
                )
                (case_arm
                  pat_list: [
                    {(-t)}
                    {(--tim)}
                    {(--time)}
                    {(--time-)}
                    {(--time-b)}
                    {(--time-ba)}
                    {(--time-bas)}
                    {(--time-base)}
                    {(--time-based)}
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:memusagestat_args)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$memusagestat_args') (' -t'))}
                          spids: [921]
                        )
                      ]
                      spids: [921]
                    )
                  ]
                  spids: [885 918 928 16777215]
                )
                (case_arm
                  pat_list: [{(-T)} {(--to)} {(--tot)} {(--tota)} {(--total)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:memusagestat_args)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$memusagestat_args') (' -T'))}
                          spids: [951]
                        )
                      ]
                      spids: [951]
                    )
                  ]
                  spids: [931 948 958 16777215]
                )
                (case_arm
                  pat_list: [{(--tit)} {(--titl)} {(--title)}]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {(test)} {($ VSub_Pound '$#')} {(-eq)} {(1)})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [(C {(do_missing_arg)} {($ VSub_Number '$1')})]
                          spids: [16777215 984]
                        )
                      ]
                      spids: [16777215 992]
                    )
                    (C {(shift)})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:memusagestat_args)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$memusagestat_args') (' -s ') ($ VSub_Number '$1'))}
                          spids: [998]
                        )
                      ]
                      spids: [998]
                    )
                  ]
                  spids: [961 970 1006 16777215]
                )
                (case_arm
                  pat_list: [
                    {(--tit) (Lit_Other '=') (Lit_Other '*')}
                    {(--titl) (Lit_Other '=') (Lit_Other '*')}
                    {(--title) (Lit_Other '=') (Lit_Other '*')}
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:memusagestat_args)
                          op: Equal
                          rhs: 
                            {
                              (DQ ($ VSub_Name '$memusagestat_args') (' -s ') 
                                (BracedVarSub
                                  token: <VSub_Number 1>
                                  suffix_op: (StringUnary op_id:VOp1_DPound arg_word:{('*=')})
                                  spids: [1031 1035]
                                )
                              )
                            }
                          spids: [1027]
                        )
                      ]
                      spids: [1027]
                    )
                  ]
                  spids: [1009 1024 1039 16777215]
                )
                (case_arm
                  pat_list: [{(-x)} {(--x)} {(--x-)} {(--x-s)} {(--x-si)} {(--x-siz)} {(--x-size)}]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {(test)} {($ VSub_Pound '$#')} {(-eq)} {(1)})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [(C {(do_missing_arg)} {($ VSub_Number '$1')})]
                          spids: [16777215 1081]
                        )
                      ]
                      spids: [16777215 1089]
                    )
                    (C {(shift)})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:memusagestat_args)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$memusagestat_args') (' -x ') ($ VSub_Number '$1'))}
                          spids: [1095]
                        )
                      ]
                      spids: [1095]
                    )
                  ]
                  spids: [1042 1067 1103 16777215]
                )
                (case_arm
                  pat_list: [
                    {(--x) (Lit_Other '=') (Lit_Other '*')}
                    {(--x-) (Lit_Other '=') (Lit_Other '*')}
                    {(--x-s) (Lit_Other '=') (Lit_Other '*')}
                    {(--x-si) (Lit_Other '=') (Lit_Other '*')}
                    {(--x-siz) (Lit_Other '=') (Lit_Other '*')}
                    {(--x-size) (Lit_Other '=') (Lit_Other '*')}
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:memusagestat_args)
                          op: Equal
                          rhs: 
                            {
                              (DQ ($ VSub_Name '$memusagestat_args') (' -x ') 
                                (BracedVarSub
                                  token: <VSub_Number 1>
                                  suffix_op: (StringUnary op_id:VOp1_DPound arg_word:{('*=')})
                                  spids: [1146 1150]
                                )
                              )
                            }
                          spids: [1142]
                        )
                      ]
                      spids: [1142]
                    )
                  ]
                  spids: [1106 1139 1154 16777215]
                )
                (case_arm
                  pat_list: [{(-y)} {(--y)} {(--y-)} {(--y-s)} {(--y-si)} {(--y-siz)} {(--y-size)}]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {(test)} {($ VSub_Pound '$#')} {(-eq)} {(1)})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [(C {(do_missing_arg)} {($ VSub_Number '$1')})]
                          spids: [16777215 1196]
                        )
                      ]
                      spids: [16777215 1204]
                    )
                    (C {(shift)})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:memusagestat_args)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$memusagestat_args') (' -y ') ($ VSub_Number '$1'))}
                          spids: [1210]
                        )
                      ]
                      spids: [1210]
                    )
                  ]
                  spids: [1157 1182 1218 16777215]
                )
                (case_arm
                  pat_list: [
                    {(--y) (Lit_Other '=') (Lit_Other '*')}
                    {(--y-) (Lit_Other '=') (Lit_Other '*')}
                    {(--y-s) (Lit_Other '=') (Lit_Other '*')}
                    {(--y-si) (Lit_Other '=') (Lit_Other '*')}
                    {(--y-siz) (Lit_Other '=') (Lit_Other '*')}
                    {(--y-size) (Lit_Other '=') (Lit_Other '*')}
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:memusagestat_args)
                          op: Equal
                          rhs: 
                            {
                              (DQ ($ VSub_Name '$memusagestat_args') (' -y ') 
                                (BracedVarSub
                                  token: <VSub_Number 1>
                                  suffix_op: (StringUnary op_id:VOp1_DPound arg_word:{('*=')})
                                  spids: [1261 1265]
                                )
                              )
                            }
                          spids: [1257]
                        )
                      ]
                      spids: [1257]
                    )
                  ]
                  spids: [1221 1254 1269 16777215]
                )
                (case_arm
                  pat_list: [
                    {(--p)}
                    {(--p) (Lit_Other '=') (Lit_Other '*')}
                    {(--t)}
                    {(--t) (Lit_Other '=') (Lit_Other '*')}
                    {(--ti)}
                    {(--ti) (Lit_Other '=') (Lit_Other '*')}
                    {(--u)}
                  ]
                  action: [
                    (SimpleCommand
                      words: [
                        {(echo)}
                        {
                          (DQ ('memusage: option ') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                            (BracedVarSub
                              token: <VSub_Number 1>
                              suffix_op: (StringUnary op_id:VOp1_DPound arg_word:{('*=')})
                              spids: [1314 1318]
                            ) ("' is ambiguous")
                          )
                        }
                      ]
                      redirects: [(Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})]
                    )
                    (C {(do_usage)})
                  ]
                  spids: [1272 1303 1326 16777215]
                )
                (case_arm
                  pat_list: [{(--)}]
                  action: [(C {(shift)}) (ControlFlow token:<ControlFlow_Break break>)]
                  spids: [1329 1330 1343 16777215]
                )
                (case_arm
                  pat_list: [{(--) (Lit_Other '*')}]
                  action: [
                    (SimpleCommand
                      words: [
                        {(echo)}
                        {
                          (DQ ('memusage: unrecognized option ') 
                            (EscapedLiteralPart
                              token: <Lit_EscapedChar '\\`'>
                            ) ($ VSub_Number '$1') ("'")
                          )
                        }
                      ]
                      redirects: [(Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})]
                    )
                    (C {(do_usage)})
                  ]
                  spids: [1346 1348 1367 16777215]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [(ControlFlow token:<ControlFlow_Break break>)]
                  spids: [1370 1371 1381 16777215]
                )
              ]
              spids: [278 284 1384]
            )
            (C {(shift)})
          ]
          spids: [275 1389]
        )
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(test)} {($ VSub_Pound '$#')} {(-eq)} {(0)})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (SimpleCommand
              words: [{(echo)} {(DQ ('No program name given'))}]
              redirects: [(Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})]
            )
            (C {(do_usage)})
          ]
          spids: [16777215 1406]
        )
      ]
      spids: [16777215 1421]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:add_env)
          op: Equal
          rhs: {(DQ ('LD_PRELOAD=') ($ VSub_Name '$memusageso'))}
          spids: [1427]
        )
      ]
      spids: [1427]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:datafile) op:Equal rhs:{(EmptyPart)} spids:[1437])]
      spids: [1437]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$data'))})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:datafile)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$data'))}
                  spids: [1453]
                )
              ]
              spids: [1453]
            )
          ]
          spids: [16777215 1450]
        )
        (if_arm
          cond: [
            (Sentence
              child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$png'))})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (AndOr
              ops: [Op_DPipe]
              children: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:datafile)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [(C {(mktemp)} {(-t)} {(memusage.XXXXXX)})]
                              )
                            left_token: <Left_CommandSub '$('>
                            spids: [1473 1479]
                          )
                        }
                      spids: [1472]
                    )
                  ]
                  spids: [1472]
                )
                (ControlFlow token:<ControlFlow_Exit exit>)
              ]
            )
            (C {(trap)} {(SQ <'rm -f "$datafile"; exit 1'>)} {(HUP)} {(INT)} {(QUIT)} {(TERM)} {(PIPE)})
          ]
          spids: [1458 1469]
        )
      ]
      spids: [16777215 1502]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$datafile'))})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:add_env)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$add_env') (' MEMUSAGE_OUTPUT=') ($ VSub_Name '$datafile'))}
                  spids: [1518]
                )
              ]
              spids: [1518]
            )
          ]
          spids: [16777215 1515]
        )
      ]
      spids: [16777215 1525]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$progname'))})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:add_env)
                  op: Equal
                  rhs: 
                    {
                      (DQ ($ VSub_Name '$add_env') (' MEMUSAGE_PROG_NAME=') ($ VSub_Name '$progname'))
                    }
                  spids: [1545]
                )
              ]
              spids: [1545]
            )
          ]
          spids: [16777215 1542]
        )
      ]
      spids: [16777215 1552]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$buffer'))})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:add_env)
                  op: Equal
                  rhs: 
                    {
                      (DQ ($ VSub_Name '$add_env') (' MEMUSAGE_BUFFER_SIZE=') ($ VSub_Name '$buffer'))
                    }
                  spids: [1572]
                )
              ]
              spids: [1572]
            )
          ]
          spids: [16777215 1569]
        )
      ]
      spids: [16777215 1579]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$notimer'))})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:add_env)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$add_env') (' MEMUSAGE_NO_TIMER=yes'))}
                  spids: [1599]
                )
              ]
              spids: [1599]
            )
          ]
          spids: [16777215 1596]
        )
      ]
      spids: [16777215 1605]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$tracemmap'))})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:add_env)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$add_env') (' MEMUSAGE_TRACE_MMAP=yes'))}
                  spids: [1625]
                )
              ]
              spids: [1625]
            )
          ]
          spids: [16777215 1622]
        )
      ]
      spids: [16777215 1631]
    )
    (C {(eval)} {($ VSub_Name '$add_env')} {(SQ <'"$@"'>)})
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:result) op:Equal rhs:{($ VSub_QMark '$?')} spids:[1645])]
      spids: [1645]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(test)} {(-n)} {(DQ ($ VSub_Name '$png'))} {(-a)} {(-n)} 
                  {(DQ ($ VSub_Name '$datafile'))} {(-a)} {(-s)} {(DQ ($ VSub_Name '$datafile'))}
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (Case
              to_match: {($ VSub_Name '$png')}
              arms: [
                (case_arm
                  pat_list: [{(Lit_Other '*') (.png)}]
                  spids: [1696 1698 1700 16777215]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:png)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$png') (.png))}
                          spids: [1706]
                        )
                      ]
                      spids: [1706]
                    )
                  ]
                  spids: [1703 1704 1712 16777215]
                )
              ]
              spids: [1689 1693 1715]
            )
            (C {($ VSub_Name '$memusagestat')} {($ VSub_Name '$memusagestat_args')} 
              {(DQ ($ VSub_Name '$datafile'))} {(DQ ($ VSub_Name '$png'))}
            )
          ]
          spids: [16777215 1682]
        )
      ]
      spids: [16777215 1730]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(test)} {(-z)} {(DQ ($ VSub_Name '$data'))} {(-a)} {(-n)} 
                  {(DQ ($ VSub_Name '$datafile'))}
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [(C {(rm)} {(-f)} {(DQ ($ VSub_Name '$datafile'))})]
          spids: [16777215 1752]
        )
      ]
      spids: [16777215 1763]
    )
    (ControlFlow token:<ControlFlow_Exit exit> arg_word:{($ VSub_Name '$result')})
  ]
)