(command.CommandList
  children: [
    (command.ShFunction
      name: check
      body: 
        (BraceGroup
          children: [
            (C {<awk>} 
              {
                (DQ <'\n'> <'BEGIN { discard = 0; }\n'> <'/^Discarded input/ { discard = 1; }\n'> 
                  <'/^Memory map/ { discard = 0; }\n'> <'/.*'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'>) <.text> 
                  (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'>) <'..*('> ($ Id.VSub_Number '$2') <'|'> ($ Id.VSub_Number '$3') <').*/ { act[discard] = act[discard] '> 
                  (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) <' '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) <' '> 
                  (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'0; }\n'> <'END {\n'> <'      # printf '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) 
                  <kept> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) <' act[0] '> 
                  (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'>) <nfolded> 
                  (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) <' act[1] '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) 
                  (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'>) <n> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) <';\n'> 
                  <'      if (length(act[0]) == 0 || length(act[1]) == 0)\n'> <'\t{\n'> <'\t  printf '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) 
                  <'Identical Code Folding did not fold '> ($ Id.VSub_Number '$2') <' and '> ($ 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>} {<icf_test.map>} {(DQ <folded_func>)} {(DQ <kept_func>)})
  ]
)