(command.CommandList
  children: [
    (command.ShFunction
      name: print_defs
      body: 
        (BraceGroup
          children: [
            (C {<echo>} 
              {
                (DQ <'#if defined TEST_VECTOR_'> ($ Id.VSub_Number '$1') <' && TEST_VECTOR_'> 
                  ($ Id.VSub_Number '$1')
                )
              }
            )
            (C {<echo>} {(DQ <'# define HAVE_VECTOR_'> ($ Id.VSub_Number '$1') <' 1'>)})
            (C {<echo>} 
              {
                (DQ <'# define '> (${ Id.VSub_Number 1) <'_VEC_SUFF WRAPPER_NAME ('> 
                  ($ Id.VSub_Number '$1') <')'>
                )
              }
            )
            (C {<echo>} 
              {
                (DQ <WRAPPER_DECL> ($ Id.VSub_Number '$2') <' (WRAPPER_NAME ('> ($ Id.VSub_Number '$1') 
                  <'))'>
                )
              }
            )
            (C {<echo>} {(DQ <'#else'>)})
            (C {<echo>} {(DQ <'# define HAVE_VECTOR_'> ($ Id.VSub_Number '$1') <' 0'>)})
            (C {<echo>} 
              {(DQ <'# define '> (${ Id.VSub_Number 1) <'_VEC_SUFF '> ($ Id.VSub_Number '$1'))}
            )
            (C {<echo>} {(DQ <'#endif'>)})
            (C {<echo>})
          ]
        )
    )
    (command.ForEach
      iter_name: func
      iter_words: [
        {
          (command_sub
            left_token: <Id.Left_DollarParen '$('>
            child: 
              (command.Pipeline
                children: [
                  (C {<cat>} {<libm-test.inc>})
                  (C {<grep>} {<ALL_RM_TEST>})
                  (C {<grep>} {<-v>} {<define>})
                  (C {<grep>} {<-v>} {<RUN_TEST_LOOP_ff_f>})
                  (C {<grep>} {<-v>} {<RUN_TEST_LOOP_fFF_11>})
                  (C {<sed>} {<-r>} {(DQ <'s/.*'> <Id.Lit_BadBackslash '\\'> <'(//; s/,.*//'>)})
                ]
                negated: F
              )
          )
        }
      ]
      do_arg_iter: F
      body: 
        (command.DoGroup
          children: [
            (C {<print_defs>} {(${ Id.VSub_Name func)})
            (C {<print_defs>} {(${ Id.VSub_Name func) <f>})
            (C {<print_defs>} {(${ Id.VSub_Name func) <l>})
          ]
        )
    )
    (command.ForEach
      iter_name: func
      iter_words: [
        {
          (command_sub
            left_token: <Id.Left_DollarParen '$('>
            child: 
              (command.Pipeline
                children: [
                  (C {<cat>} {<libm-test.inc>})
                  (C {<grep>} {<ALL_RM_TEST>})
                  (C {<grep>} {<RUN_TEST_LOOP_ff_f>})
                  (C {<sed>} {<-r>} {(DQ <'s/.*'> <Id.Lit_BadBackslash '\\'> <'(//; s/,.*//'>)})
                ]
                negated: F
              )
          )
        }
      ]
      do_arg_iter: F
      body: 
        (command.DoGroup
          children: [
            (C {<print_defs>} {(${ Id.VSub_Name func)} {(DQ <_ff>)})
            (C {<print_defs>} {(${ Id.VSub_Name func) <f>} {(DQ <_ff>)})
            (C {<print_defs>} {(${ Id.VSub_Name func) <l>} {(DQ <_ff>)})
          ]
        )
    )
    (command.ForEach
      iter_name: func
      iter_words: [
        {
          (command_sub
            left_token: <Id.Left_DollarParen '$('>
            child: 
              (command.Pipeline
                children: [
                  (C {<cat>} {<libm-test.inc>})
                  (C {<grep>} {<ALL_RM_TEST>})
                  (C {<grep>} {<RUN_TEST_LOOP_fFF_11>})
                  (C {<sed>} {<-r>} {(DQ <'s/.*'> <Id.Lit_BadBackslash '\\'> <'(//; s/,.*//'>)})
                ]
                negated: F
              )
          )
        }
      ]
      do_arg_iter: F
      body: 
        (command.DoGroup
          children: [
            (C {<print_defs>} {(${ Id.VSub_Name func)} {(DQ <_fFF>)})
            (C {<print_defs>} {(${ Id.VSub_Name func) <f>} {(DQ <_fFF>)})
            (C {<print_defs>} {(${ Id.VSub_Name func) <l>} {(DQ <_fFF>)})
          ]
        )
    )
  ]
)