(command.CommandList
  children: [
    (C {<set>} {<-e>})
    (command.ShFunction
      name: check
      body: 
        (BraceGroup
          children: [
            (C {<awk>} 
              {
                (DQ <'\n'> <'BEGIN { saw1 = 0; saw2 = 0; err = 0; }\n'> <'/.*'> ($ Id.VSub_Number '$2') 
                  (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'/ { saw1 = 1; }\n'> <'/.*'> ($ Id.VSub_Number '$3') 
                  (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'/ {\n'> <'     saw2 = 1;\n'> <'     if (!saw1)\n'> <'       {\n'> <'\t  printf '> 
                  (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) <'layout of '> ($ Id.VSub_Number '$2') <' and '> ($ Id.VSub_Number '$3') <' is not right'> 
                  (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'>) <n> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) <';\n'> <'\t  err = 1;\n'> 
                  <'\t  exit 1;\n'> <'       }\n'> <'    }\n'> <'END {\n'> <'      if (!saw1 && !err)\n'> <'        {\n'> <'\t  printf '> 
                  (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) <'did not see '> ($ Id.VSub_Number '$2') (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'>) 
                  <n> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) <';\n'> <'\t  exit 1;\n'> <'\t}\n'> 
                  <'      if (!saw2 && !err)\n'> <'\t{\n'> <'\t  printf '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) <'did not see '> 
                  ($ Id.VSub_Number '$3') (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'>) <n> 
                  (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) <';\n'> <'\t  exit 1;\n'> <'\t}\n'> <'    }'>
                )
              } {($ Id.VSub_Number '$1')}
            )
          ]
        )
    )
    (C {<check>} {<final_layout.stdout>} {(DQ <_Z3barv>)} {(DQ <_Z3bazv>)})
    (C {<check>} {<final_layout.stdout>} {(DQ <_Z3bazv>)} {(DQ <_Z3foov>)})
    (C {<check>} {<final_layout.stdout>} {(DQ <global_varb>)} {(DQ <global_vara>)})
    (C {<check>} {<final_layout.stdout>} {(DQ <global_vara>)} {(DQ <global_varc>)})
  ]
)