(CommandList
  children: [
    (C {(Lit_Other ":")} {(generate)} {(the)} {(ksh)} {(math)} {(builtin)} {(table)})
    (C {(Lit_Other ":")} {(include)} {(math.tab)})
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:command) op:Equal rhs:{($ VSub_Number "$0")} spids:[82])]
      spids: [82]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:iffeflags) op:Equal rhs:{(DQ ("-n -v"))} spids:[85])]
      spids: [85]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:iffehdrs) op:Equal rhs:{(DQ (math.h))} spids:[90])]
      spids: [90]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:iffelibs) op:Equal rhs:{(DQ (-lm))} spids:[95])]
      spids: [95]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:table) op:Equal rhs:{(/dev/null)} spids:[100])]
      spids: [100]
    )
    (C {(eval)} {($ VSub_Number "$1")})
    (C {(shift)})
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:table) op:Equal rhs:{($ VSub_Number "$1")} spids:[110])]
      spids: [110]
    )
    (C {(Lit_Other ":")} {(check)} {(long)} {(double)})
    (C {(eval)} 
      {
        (CommandSubPart
          command_list: 
            (CommandList
              children: [
                (SimpleCommand
                  words: [
                    {(iffe)}
                    {($ VSub_Name "$iffeflags")}
                    {(-c)}
                    {(DQ ($ VSub_Name "$cc"))}
                    {(-)}
                    {(typ)}
                    {(long.double)}
                  ]
                  redirects: [
                    (Redir
                      op_id: Redir_GreatAnd
                      fd: 2
                      arg_word: {($ VSub_Name "$stderr")}
                      spids: [142]
                    )
                  ]
                )
              ]
            )
          left_token: <Left_Backtick "`">
          spids: [125 144]
        )
      }
    )
    (C {(Lit_Other ":")} {(check)} {(ast_standards.h)})
    (C {(eval)} 
      {
        (CommandSubPart
          command_list: 
            (CommandList
              children: [
                (C {(iffe)} {($ VSub_Name "$iffeflags")} {(-F)} {(ast_standards.h)} {(-c)} 
                  {(DQ ($ VSub_Name "$cc"))} {(-)} {(tst)} {(use_ast_standards)} {(-lm)} {(SQ <"note{">)} {(SQ <"math.h needs ast_standards.h">)} 
                  {(SQ <"}end">)} {(SQ <"link{">)} {(SQ <"#include <math.h>">)} {(SQ <"#ifndef isgreater">)} 
                  {(SQ <"#define isgreater(a,b) 0">)} {(SQ <"#endif">)} {(SQ <"int main() { return isgreater(0.0,1.0); }">)} {(SQ <"}end">)}
                )
              ]
            )
          left_token: <Left_Backtick "`">
          spids: [156 218]
        )
      }
    )
    (Case
      to_match: {($ VSub_Name "$_use_ast_standards")}
      arms: [
        (case_arm
          pat_list: [{(1)}]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:iffeflags)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name "$iffeflags") (" -F ast_standards.h"))}
                  spids: [229]
                )
              ]
              spids: [229]
            )
          ]
          spids: [226 227 235 -1]
        )
      ]
      spids: [220 224 237]
    )
    (C {(eval)} 
      {
        (CommandSubPart
          command_list: 
            (CommandList
              children: [
                (C {(iffe)} {($ VSub_Name "$iffeflags")} {(-c)} {(DQ ($ VSub_Name "$cc"))} {(-)} {(tst)} 
                  {(use_ieeefp)} {(-lm)} {(SQ <"note{">)} {(SQ <"ieeefp.h plays nice">)} {(SQ <"}end">)} {(SQ <"link{">)} 
                  {(SQ <"#include <math.h>">)} {(SQ <"#include <ieeefp.h>">)} {(SQ <"int main() { return 0; }">)} {(SQ <"}end">)}
                )
              ]
            )
          left_token: <Left_Backtick "`">
          spids: [241 291]
        )
      }
    )
    (Case
      to_match: {($ VSub_Name "$_use_ieeefp")}
      arms: [
        (case_arm
          pat_list: [{(1)}]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:iffehdrs)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name "$iffehdrs") (" ieeefp.h"))}
                  spids: [302]
                )
              ]
              spids: [302]
            )
          ]
          spids: [299 300 308 -1]
        )
      ]
      spids: [293 297 310]
    )
    (C {(Lit_Other ":")} {(read)} {(the)} {(table)})
    (SimpleCommand
      words: [{(exec)}]
      redirects: [(Redir op_id:Redir_Less fd:-1 arg_word:{($ VSub_Name "$table")} spids:[324])]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:ifs) op:Equal rhs:{($ VSub_Name "$IFS")} spids:[328])]
      spids: [328]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:libs) op:Equal rhs:{(SQ )} spids:[331])]
      spids: [331]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:names) op:Equal rhs:{(SQ )} spids:[333])]
      spids: [333]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:nums) op:Equal rhs:{(SQ )} spids:[335])]
      spids: [335]
    )
    (While
      cond: [(C {(read)} {(type)} {(args)} {(name)} {(aka)})]
      body: 
        (DoGroup
          children: [
            (Case
              to_match: {($ VSub_Name "$type")}
              arms: [
                (case_arm
                  pat_list: [{(Lit_Other "[") (fix) (Lit_Other "]")}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:names)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name "$names") (" ") ($ VSub_Name "$name"))}
                          spids: [363]
                        )
                      ]
                      spids: [363]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:libs)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name "$libs") (",") ($ VSub_Name "$name"))}
                          spids: [371]
                        )
                      ]
                      spids: [371]
                    )
                    (Case
                      to_match: {($ VSub_Name "$_typ_long_double")}
                      arms: [
                        (case_arm
                          pat_list: [{(1)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:libs)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name "$libs") (",") (${ VSub_Name name) (l))}
                                  spids: [389]
                                )
                              ]
                              spids: [389]
                            )
                          ]
                          spids: [386 387 399 -1]
                        )
                      ]
                      spids: [379 383 402]
                    )
                    (ForEach
                      iter_name: a
                      iter_words: [{($ VSub_Name "$aka")}]
                      do_arg_iter: False
                      body: 
                        (DoGroup
                          children: [
                            (Case
                              to_match: {($ VSub_Name "$a")}
                              arms: [
                                (case_arm
                                  pat_list: [{(SQ <"{">) (Lit_Other "*")}]
                                  action: [(ControlFlow token:<ControlFlow_Break break>)]
                                  spids: [424 427 432 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*") (Lit_Other "=") (Lit_Other "*")}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:IFS)
                                          op: Equal
                                          rhs: {(SQ <"=|">)}
                                          spids: [440]
                                        )
                                      ]
                                      spids: [440]
                                    )
                                    (C {(set)} {($ VSub_Name "$a")})
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:IFS)
                                          op: Equal
                                          rhs: {($ VSub_Name "$ifs")}
                                          spids: [451]
                                        )
                                      ]
                                      spids: [451]
                                    )
                                    (Case
                                      to_match: {(DQ (",") ($ VSub_Name "$libs"))}
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other "*") (Lit_Comma ",") ($ VSub_Number "$1") 
                                              (Lit_Comma ",") (Lit_Other "*")
                                            }
                                          ]
                                          spids: [465 470 472 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*")}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:names)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name "$names") (" ") 
                                                        ($ VSub_Number "$1")
                                                      )
                                                    }
                                                  spids: [478]
                                                )
                                              ]
                                              spids: [478]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:libs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name "$libs") (",") 
                                                        ($ VSub_Number "$1")
                                                      )
                                                    }
                                                  spids: [486]
                                                )
                                              ]
                                              spids: [486]
                                            )
                                            (Case
                                              to_match: {($ VSub_Name "$_typ_long_double")}
                                              arms: [
                                                (case_arm
                                                  pat_list: [{(1)}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:libs)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name "$libs") (",") 
                                                                (${ VSub_Number 1) (l)
                                                              )
                                                            }
                                                          spids: [504]
                                                        )
                                                      ]
                                                      spids: [504]
                                                    )
                                                  ]
                                                  spids: [501 502 514 -1]
                                                )
                                              ]
                                              spids: [494 498 517]
                                            )
                                          ]
                                          spids: [475 476 520 -1]
                                        )
                                      ]
                                      spids: [455 462 523]
                                    )
                                    (C {(shift)})
                                    (While
                                      cond: [(C {(Lit_Other ":")})]
                                      body: 
                                        (DoGroup
                                          children: [
                                            (Case
                                              to_match: {($ VSub_Pound "$#")}
                                              arms: [
                                                (case_arm
                                                  pat_list: [{(0)}]
                                                  action: [
                                                    (ControlFlow
                                                      token: <ControlFlow_Break break>
                                                    )
                                                  ]
                                                  spids: [543 544 548 -1]
                                                )
                                              ]
                                              spids: [536 540 551]
                                            )
                                            (Case
                                              to_match: {(DQ (",") ($ VSub_Name "$nums"))}
                                              arms: [
                                                (case_arm
                                                  pat_list: [
                                                    {(Lit_Other "*") (Lit_Comma ",") 
                                                      ($ VSub_Number "$1") (Lit_Comma ",") (Lit_Other "*")
                                                    }
                                                  ]
                                                  spids: [564 569 571 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other "*")}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:nums)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name "$nums") (",") 
                                                                ($ VSub_Number "$1")
                                                              )
                                                            }
                                                          spids: [577]
                                                        )
                                                      ]
                                                      spids: [577]
                                                    )
                                                  ]
                                                  spids: [574 575 584 -1]
                                                )
                                              ]
                                              spids: [554 561 587]
                                            )
                                            (C {(shift)})
                                          ]
                                          spids: [534 593]
                                        )
                                    )
                                  ]
                                  spids: [435 438 596 -1]
                                )
                              ]
                              spids: [416 420 599]
                            )
                          ]
                          spids: [414 602]
                        )
                      spids: [410 -1]
                    )
                    (C {(eval)} {(TYPE_) ($ VSub_Name "$name") (Lit_Other "=") (SQ <"$type">)} 
                      {(ARGS_) ($ VSub_Name "$name") (Lit_Other "=") (SQ <"$args">)} {(AKA_) ($ VSub_Name "$name") (Lit_Other "=") (SQ <"$aka">)}
                    )
                  ]
                  spids: [358 361 629 -1]
                )
              ]
              spids: [351 355 632]
            )
          ]
          spids: [349 634]
        )
    )
    (C {(Lit_Other ":")} {(check)} {(the)} {(math)} {(library)})
    (C {(eval)} 
      {
        (CommandSubPart
          command_list: 
            (CommandList
              children: [
                (SimpleCommand
                  words: [
                    {(iffe)}
                    {($ VSub_Name "$iffeflags")}
                    {(-c)}
                    {(DQ ($ VSub_Name "$cc"))}
                    {(-)}
                    {(lib)}
                    {($ VSub_Name "$libs")}
                    {($ VSub_Name "$iffehdrs")}
                    {($ VSub_Name "$iffelibs")}
                  ]
                  redirects: [
                    (Redir
                      op_id: Redir_GreatAnd
                      fd: 2
                      arg_word: {($ VSub_Name "$stderr")}
                      spids: [671]
                    )
                  ]
                )
              ]
            )
          left_token: <Left_Backtick "`">
          spids: [650 673]
        )
      }
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:lib) op:Equal rhs:{(SQ )} spids:[675])]
      spids: [675]
    )
    (ForEach
      iter_name: name
      iter_words: [{($ VSub_Name "$names")}]
      do_arg_iter: False
      body: 
        (DoGroup
          children: [
            (C {(eval)} {(Lit_VarLike "x=") (SQ <"$">) (_lib_) (${ VSub_Name name) (l)} 
              {(Lit_VarLike "y=") (SQ <"$">) (_lib_) (${ VSub_Name name)}
            )
            (Case
              to_match: {($ VSub_Name "$x")}
              arms: [
                (case_arm
                  pat_list: [{(1)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:lib)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name "$lib") (",") (${ VSub_Name name) (l))}
                          spids: [719]
                        )
                      ]
                      spids: [719]
                    )
                  ]
                  spids: [716 717 729 -1]
                )
              ]
              spids: [709 713 732]
            )
            (Case
              to_match: {($ VSub_Name "$y")}
              arms: [
                (case_arm
                  pat_list: [{(1)}]
                  action: [
                    (Case
                      to_match: {($ VSub_Name "$x")}
                      arms: [
                        (case_arm
                          pat_list: [{(SQ )}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:lib)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name "$lib") (",") (${ VSub_Name name))}
                                  spids: [756]
                                )
                              ]
                              spids: [756]
                            )
                          ]
                          spids: [-1 754 765 -1]
                        )
                      ]
                      spids: [745 749 768]
                    )
                  ]
                  spids: [742 743 771 -1]
                )
              ]
              spids: [735 739 774]
            )
          ]
          spids: [685 776]
        )
      spids: [682 -1]
    )
    (C {(eval)} 
      {
        (CommandSubPart
          command_list: 
            (CommandList
              children: [
                (SimpleCommand
                  words: [
                    {(iffe)}
                    {($ VSub_Name "$iffeflags")}
                    {(-c)}
                    {(DQ ($ VSub_Name "$cc"))}
                    {(-)}
                    {(dat) (Lit_Comma ",") (npt) (Lit_Comma ",") (mac)}
                    {($ VSub_Name "$lib")}
                    {($ VSub_Name "$iffehdrs")}
                    {($ VSub_Name "$iffelibs")}
                  ]
                  redirects: [
                    (Redir
                      op_id: Redir_GreatAnd
                      fd: 2
                      arg_word: {($ VSub_Name "$stderr")}
                      spids: [805]
                    )
                  ]
                )
              ]
            )
          left_token: <Left_Backtick "`">
          spids: [780 807]
        )
      }
    )
    (C {(eval)} 
      {
        (CommandSubPart
          command_list: 
            (CommandList
              children: [
                (SimpleCommand
                  words: [
                    {(iffe)}
                    {($ VSub_Name "$iffeflags")}
                    {(-c)}
                    {(DQ ($ VSub_Name "$cc"))}
                    {(-)}
                    {(num)}
                    {($ VSub_Name "$nums")}
                    {($ VSub_Name "$iffehdrs")}
                    {($ VSub_Name "$iffelibs")}
                  ]
                  redirects: [
                    (Redir
                      op_id: Redir_GreatAnd
                      fd: 2
                      arg_word: {($ VSub_Name "$stderr")}
                      spids: [832]
                    )
                  ]
                )
              ]
            )
          left_token: <Left_Backtick "`">
          spids: [811 834]
        )
      }
    )
    (SimpleCommand
      words: [{(cat)}]
      redirects: [
        (HereDoc
          op_id: Redir_DLess
          fd: -1
          body: 
            {
              (DQ ("#pragma prototyped\n") ("\n") ("/* : : generated by ") ($ VSub_Name "$command") 
                (" from ") ($ VSub_Name "$table") (" : : */\n") ("\n") ("typedef Sfdouble_t (*Math_f)(Sfdouble_t,...);\n") ("\n")
              )
            }
          do_expansion: True
          here_end: "!"
          was_filled: True
          spids: [839]
        )
      ]
    )
    (Case
      to_match: {($ VSub_Name "$_use_ast_standards")}
      arms: [
        (case_arm
          pat_list: [{(1)}]
          action: [(C {(echo)} {(DQ ("#include <ast_standards.h>"))})]
          spids: [858 859 867 -1]
        )
      ]
      spids: [852 856 869]
    )
    (C {(echo)} {(DQ ("#include <math.h>"))})
    (Case
      to_match: {($ VSub_Name "$_hdr_ieeefp")}
      arms: [
        (case_arm
          pat_list: [{(1)}]
          action: [(C {(echo)} {(DQ ("#include <ieeefp.h>"))})]
          spids: [883 884 892 -1]
        )
      ]
      spids: [877 881 894]
    )
    (C {(echo)})
    (C {(Lit_Other ":")} {(generate)} {(the)} {(intercept)} {(functions)} {(and)} {(table)} {(entries)})
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:nl) op:Equal rhs:{(SQ <"\n">)} spids:[916])]
      spids: [916]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:ht) op:Equal rhs:{(SQ <"\t">)} spids:[921])]
      spids: [921]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:tab) op:Equal rhs:{(SQ )} spids:[926])]
      spids: [926]
    )
    (ForEach
      iter_name: name
      iter_words: [{($ VSub_Name "$names")}]
      do_arg_iter: False
      body: 
        (DoGroup
          children: [
            (C {(eval)} {(Lit_VarLike "x=") (SQ <"$">) (_lib_) (${ VSub_Name name) (l)} 
              {(Lit_VarLike "y=") (SQ <"$">) (_lib_) (${ VSub_Name name)} {(Lit_VarLike "r=") (SQ <"$">) (TYPE_) (${ VSub_Name name)} 
              {(Lit_VarLike "a=") (SQ <"$">) (ARGS_) (${ VSub_Name name)} {(Lit_VarLike "aka=") (SQ <"$">) (AKA_) (${ VSub_Name name)}
            )
            (Case
              to_match: {($ VSub_Name "$r")}
              arms: [
                (case_arm
                  pat_list: [{(i)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:L)
                          op: Equal
                          rhs: {(int)}
                          spids: [997]
                        )
                        (assign_pair
                          lhs: (LhsName name:R)
                          op: Equal
                          rhs: {(1)}
                          spids: [1000]
                        )
                      ]
                      spids: [997]
                    )
                  ]
                  spids: [994 995 1003 -1]
                )
                (case_arm
                  pat_list: [{(x)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:L)
                          op: Equal
                          rhs: {(Sfdouble_t)}
                          spids: [1009]
                        )
                        (assign_pair
                          lhs: (LhsName name:R)
                          op: Equal
                          rhs: {(4)}
                          spids: [1012]
                        )
                      ]
                      spids: [1009]
                    )
                  ]
                  spids: [1006 1007 1015 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other "*")}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:L)
                          op: Equal
                          rhs: {(Sfdouble_t)}
                          spids: [1021]
                        )
                        (assign_pair
                          lhs: (LhsName name:R)
                          op: Equal
                          rhs: {(0)}
                          spids: [1024]
                        )
                      ]
                      spids: [1021]
                    )
                  ]
                  spids: [1018 1019 1027 -1]
                )
              ]
              spids: [987 991 1030]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:F)
                  op: Equal
                  rhs: {(local_) ($ VSub_Name "$name")}
                  spids: [1033]
                )
              ]
              spids: [1033]
            )
            (Case
              to_match: {($ VSub_Name "$x") (Lit_Other ":") ($ VSub_Name "$y")}
              arms: [
                (case_arm
                  pat_list: [{(1) (Lit_Other ":") (Lit_Other "*")}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:f)
                          op: Equal
                          rhs: {(${ VSub_Name name) (l)}
                          spids: [1052]
                        )
                      ]
                      spids: [1052]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:t)
                          op: Equal
                          rhs: {(Sfdouble_t)}
                          spids: [1059]
                        )
                      ]
                      spids: [1059]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:local)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [1063]
                        )
                      ]
                      spids: [1063]
                    )
                  ]
                  spids: [1047 1050 1066 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other "*") (Lit_Other ":") (1)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:f)
                          op: Equal
                          rhs: {(${ VSub_Name name)}
                          spids: [1074]
                        )
                      ]
                      spids: [1074]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [(assign_pair lhs:(LhsName name:t) op:Equal rhs:{(double)} spids:[1080])]
                      spids: [1080]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:local)
                          op: Equal
                          rhs: {($ VSub_Name "$_typ_long_double")}
                          spids: [1084]
                        )
                      ]
                      spids: [1084]
                    )
                  ]
                  spids: [1069 1072 1088 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other "*")}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [(assign_pair lhs:(LhsName name:body) op:Equal rhs:{(SQ )} spids:[1094])]
                      spids: [1094]
                    )
                    (ForEach
                      iter_name: k
                      iter_words: [{($ VSub_Name "$aka")}]
                      do_arg_iter: False
                      body: 
                        (DoGroup
                          children: [
                            (Case
                              to_match: {($ VSub_Name "$body")}
                              arms: [
                                (case_arm
                                  pat_list: [{(Lit_Other "?") (Lit_Other "*")}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:body)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name "$body") (" ") ($ VSub_Name "$k"))}
                                          spids: [1119]
                                        )
                                      ]
                                      spids: [1119]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [1115 1117 1130 -1]
                                )
                              ]
                              spids: [1108 1112 1133]
                            )
                            (Case
                              to_match: {($ VSub_Name "$k")}
                              arms: [
                                (case_arm
                                  pat_list: [{(SQ <"{">) (Lit_Other "*")}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:body)
                                          op: Equal
                                          rhs: {($ VSub_Name "$k")}
                                          spids: [1149]
                                        )
                                      ]
                                      spids: [1149]
                                    )
                                  ]
                                  spids: [1144 1147 1153 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*") (Lit_Other "=") (Lit_Other "*")}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:IFS)
                                          op: Equal
                                          rhs: {(SQ <"=|">)}
                                          spids: [1161]
                                        )
                                      ]
                                      spids: [1161]
                                    )
                                    (C {(set)} {($ VSub_Name "$k")})
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:IFS)
                                          op: Equal
                                          rhs: {($ VSub_Name "$ifs")}
                                          spids: [1172]
                                        )
                                      ]
                                      spids: [1172]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:f)
                                          op: Equal
                                          rhs: {($ VSub_Number "$1")}
                                          spids: [1176]
                                        )
                                      ]
                                      spids: [1176]
                                    )
                                    (C {(shift)})
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:v)
                                          op: Equal
                                          rhs: {($ VSub_Star "$*")}
                                          spids: [1183]
                                        )
                                      ]
                                      spids: [1183]
                                    )
                                    (C {(eval)} 
                                      {(Lit_VarLike "x=") (SQ <"$">) (_lib_) (${ VSub_Name f) (l)} {(Lit_VarLike "y=") (SQ <"$">) (_lib_) (${ VSub_Name f)}
                                    )
                                    (Case
                                      to_match: 
                                        {($ VSub_Name "$x") (Lit_Other ":") ($ VSub_Name "$y")}
                                      arms: [
                                        (case_arm
                                          pat_list: [{(1) (Lit_Other ":") (Lit_Other "*")}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:f)
                                                  op: Equal
                                                  rhs: {(${ VSub_Name f) (l)}
                                                  spids: [1223]
                                                )
                                              ]
                                              spids: [1223]
                                            )
                                          ]
                                          spids: [1218 1221 1230 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*") (Lit_Other ":") (1)}]
                                          spids: [1233 1236 1238 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*")}]
                                          action: [(ControlFlow token:<ControlFlow_Continue continue>)]
                                          spids: [1241 1242 1247 -1]
                                        )
                                      ]
                                      spids: [1209 1215 1250]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:y)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [1253]
                                        )
                                      ]
                                      spids: [1253]
                                    )
                                    (While
                                      cond: [(C {(Lit_Other ":")})]
                                      body: 
                                        (DoGroup
                                          children: [
                                            (Case
                                              to_match: {($ VSub_Pound "$#")}
                                              arms: [
                                                (case_arm
                                                  pat_list: [{(0)}]
                                                  action: [
                                                    (ControlFlow
                                                      token: <ControlFlow_Break break>
                                                    )
                                                  ]
                                                  spids: [1270 1271 1275 -1]
                                                )
                                              ]
                                              spids: [1263 1267 1278]
                                            )
                                            (C {(eval)} 
                                              {(Lit_VarLike "x=") (SQ <"$">) (_num_) 
                                                ($ VSub_Number "$1")
                                              }
                                            )
                                            (Case
                                              to_match: {($ VSub_Name "$x")}
                                              arms: [
                                                (case_arm
                                                  pat_list: [{(1)}]
                                                  action: [
                                                    (Case
                                                      to_match: {($ VSub_Name "$y")}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "?") (Lit_Other "*")}]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:y)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ ($ VSub_Name "$y") (" || "))
                                                                    }
                                                                  spids: [1312]
                                                                )
                                                              ]
                                                              spids: [1312]
                                                            )
                                                          ]
                                                          spids: [1308 1310 1318 -1]
                                                        )
                                                      ]
                                                      spids: [1301 1305 1321]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:y)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ (${ VSub_Name y) ("q == ") 
                                                                ($ VSub_Number "$1")
                                                              )
                                                            }
                                                          spids: [1324]
                                                        )
                                                      ]
                                                      spids: [1324]
                                                    )
                                                  ]
                                                  spids: [1298 1299 1334 -1]
                                                )
                                              ]
                                              spids: [1291 1295 1337]
                                            )
                                            (C {(shift)})
                                          ]
                                          spids: [1261 1343]
                                        )
                                    )
                                    (Case
                                      to_match: {($ VSub_Name "$y")}
                                      arms: [
                                        (case_arm
                                          pat_list: [{(SQ )}]
                                          spids: [-1 1355 1357 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*")}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:r)
                                                  op: Equal
                                                  rhs: {(int)}
                                                  spids: [1363]
                                                )
                                                (assign_pair
                                                  lhs: (LhsName name:R)
                                                  op: Equal
                                                  rhs: {(1)}
                                                  spids: [1366]
                                                )
                                              ]
                                              spids: [1363]
                                            )
                                            (C {(echo)} 
                                              {
                                                (DQ ("static ") ($ VSub_Name "$r") (" ") 
                                                  ($ VSub_Name "$F") ("(Sfdouble_t a1) { ") ($ VSub_Name "$r") (" q = ") ($ VSub_Name "$f") ("(a1); return ") 
                                                  ($ VSub_Name "$y") ("; }")
                                                )
                                              }
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:tab)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name "$tab") ($ VSub_Name "$nl") 
                                                        ($ VSub_Name "$ht") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (EscapedLiteralPart token:<Lit_EscapedChar "\\\\">) 
                                                        (0) (${ VSub_Name R) (${ VSub_Name a) (${ VSub_Name name) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                                                        (",") ($ VSub_Name "$ht") ("(Math_f)") (${ VSub_Name F) (",")
                                                      )
                                                    }
                                                  spids: [1387]
                                                )
                                              ]
                                              spids: [1387]
                                            )
                                            (ControlFlow
                                              token: <ControlFlow_Break break>
                                            )
                                          ]
                                          spids: [1360 1361 1418 -1]
                                        )
                                      ]
                                      spids: [1346 1350 1421]
                                    )
                                  ]
                                  spids: [1156 1159 1424 -1]
                                )
                              ]
                              spids: [1136 1140 1427]
                            )
                          ]
                          spids: [1106 1430]
                        )
                      spids: [1102 -1]
                    )
                    (Case
                      to_match: {($ VSub_Name "$body")}
                      arms: [
                        (case_arm
                          pat_list: [{(Lit_Other "?") (Lit_Other "*")}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:code)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ ("static ") ($ VSub_Name "$L") (" ") ($ VSub_Name "$F") ("("))
                                    }
                                  spids: [1444]
                                )
                              ]
                              spids: [1444]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:sep)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [1454]
                                )
                              ]
                              spids: [1454]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:ta)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [1457]
                                )
                              ]
                              spids: [1457]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:tc)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [1460]
                                )
                              ]
                              spids: [1460]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:td)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [1463]
                                )
                              ]
                              spids: [1463]
                            )
                            (ForEach
                              iter_name: p
                              iter_words: [{(1)} {(2)} {(3)} {(4)} {(5)} {(6)} {(7)} {(8)} {(9)}]
                              do_arg_iter: False
                              body: 
                                (DoGroup
                                  children: [
                                    (Case
                                      to_match: 
                                        {($ VSub_Name "$R") (Lit_Other ":") ($ VSub_Name "$p")}
                                      arms: [
                                        (case_arm
                                          pat_list: [{(4) (Lit_Other ":") (2)}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:T)
                                                  op: Equal
                                                  rhs: {(int)}
                                                  spids: [1507]
                                                )
                                              ]
                                              spids: [1507]
                                            )
                                          ]
                                          spids: [1502 1505 1510 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*")}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:T)
                                                  op: Equal
                                                  rhs: {(Sfdouble_t)}
                                                  spids: [1516]
                                                )
                                              ]
                                              spids: [1516]
                                            )
                                          ]
                                          spids: [1513 1514 1519 -1]
                                        )
                                      ]
                                      spids: [1493 1499 1522]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:code)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name "$code") (${ VSub_Name sep) 
                                                ($ VSub_Name "$T") (" a") ($ VSub_Name "$p")
                                              )
                                            }
                                          spids: [1525]
                                        )
                                      ]
                                      spids: [1525]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:ta)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name "$ta") (${ VSub_Name sep) (a) 
                                                ($ VSub_Name "$p")
                                              )
                                            }
                                          spids: [1537]
                                        )
                                      ]
                                      spids: [1537]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:tc)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name "$tc") (${ VSub_Name sep) (0))}
                                          spids: [1548]
                                        )
                                      ]
                                      spids: [1548]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:td)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ (${ VSub_Name td) ($ VSub_Name "$T") (" a") 
                                                ($ VSub_Name "$p") (";")
                                              )
                                            }
                                          spids: [1558]
                                        )
                                      ]
                                      spids: [1558]
                                    )
                                    (Case
                                      to_match: {($ VSub_Name "$a")}
                                      arms: [
                                        (case_arm
                                          pat_list: [{($ VSub_Name "$p")}]
                                          action: [(ControlFlow token:<ControlFlow_Break break>)]
                                          spids: [1577 1578 1582 -1]
                                        )
                                      ]
                                      spids: [1570 1574 1585]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:sep)
                                          op: Equal
                                          rhs: {(DQ (","))}
                                          spids: [1588]
                                        )
                                      ]
                                      spids: [1588]
                                    )
                                  ]
                                  spids: [1491 1594]
                                )
                              spids: [1471 -1]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:_it_links_)
                                  op: Equal
                                  rhs: {(0)}
                                  spids: [1597]
                                )
                              ]
                              spids: [1597]
                            )
                            (C {(eval)} 
                              {
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (SimpleCommand
                                          words: [
                                            {(iffe)}
                                            {($ VSub_Name "$iffeflags")}
                                            {(-c)}
                                            {(DQ ($ VSub_Name "$cc"))}
                                            {(-)}
                                            {(tst)}
                                            {(it_links_)}
                                            {(note) (Lit_LBrace "{")}
                                            {($ VSub_Name "$F")}
                                            {(KW_Function function)}
                                            {(links)}
                                            {(Lit_RBrace "}") (end)}
                                            {(link) (Lit_LBrace "{")}
                                            {
                                              (DQ ("static ") ($ VSub_Name "$L") (" ") 
                                                ($ VSub_Name "$F") ("(") ($ VSub_Name "$ta") (")") ($ VSub_Name "$td") (${ VSub_Name body) ("int main(){return ") 
                                                ($ VSub_Name "$F") ("(") ($ VSub_Name "$tc") (")!=0;}")
                                              )
                                            }
                                            {(Lit_RBrace "}") (end)}
                                            {(sfio.h)}
                                            {($ VSub_Name "$iffehdrs")}
                                            {($ VSub_Name "$iffelibs")}
                                          ]
                                          redirects: [
                                            (Redir
                                              op_id: Redir_GreatAnd
                                              fd: 2
                                              arg_word: {($ VSub_Name "$stderr")}
                                              spids: [1663]
                                            )
                                          ]
                                        )
                                      ]
                                    )
                                  left_token: <Left_Backtick "`">
                                  spids: [1603 1665]
                                )
                              }
                            )
                            (Case
                              to_match: {($ VSub_Name "$_it_links_")}
                              arms: [
                                (case_arm
                                  pat_list: [{(1)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:code)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name "$code") (")") ($ VSub_Name "$body"))}
                                          spids: [1678]
                                        )
                                      ]
                                      spids: [1678]
                                    )
                                    (C {(echo)} {(DQ ($ VSub_Name "$code"))})
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:tab)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name "$tab") ($ VSub_Name "$nl") 
                                                ($ VSub_Name "$ht") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (EscapedLiteralPart token:<Lit_EscapedChar "\\\\">) 
                                                (0) (${ VSub_Name R) (${ VSub_Name a) (${ VSub_Name name) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                                                (",") ($ VSub_Name "$ht") ("(Math_f)") (${ VSub_Name F) (",")
                                              )
                                            }
                                          spids: [1693]
                                        )
                                      ]
                                      spids: [1693]
                                    )
                                  ]
                                  spids: [1675 1676 1721 -1]
                                )
                              ]
                              spids: [1668 1672 1724]
                            )
                          ]
                          spids: [1440 1442 1727 -1]
                        )
                      ]
                      spids: [1433 1437 1730]
                    )
                    (ControlFlow token:<ControlFlow_Continue continue>)
                  ]
                  spids: [1091 1092 1736 -1]
                )
              ]
              spids: [1038 1044 1739]
            )
            (Case
              to_match: {($ VSub_Name "$r")}
              arms: [
                (case_arm
                  pat_list: [{(i)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [(assign_pair lhs:(LhsName name:r) op:Equal rhs:{(int)} spids:[1752])]
                      spids: [1752]
                    )
                  ]
                  spids: [1749 1750 1755 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other "*")}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:r)
                          op: Equal
                          rhs: {($ VSub_Name "$t")}
                          spids: [1761]
                        )
                      ]
                      spids: [1761]
                    )
                  ]
                  spids: [1758 1759 1764 -1]
                )
              ]
              spids: [1742 1746 1767]
            )
            (C {(eval)} {(Lit_VarLike "n=") (SQ <"$">) (_npt_) ($ VSub_Name "$f")} 
              {(Lit_VarLike "m=") (SQ <"$">) (_mac_) ($ VSub_Name "$f")} {(Lit_VarLike "d=") (SQ <"$">) (_dat_) ($ VSub_Name "$f")}
            )
            (Case
              to_match: 
                {($ VSub_Name "$d") (Lit_Other ":") ($ VSub_Name "$m") (Lit_Other ":") 
                  ($ VSub_Name "$n")
                }
              arms: [
                (case_arm
                  pat_list: [
                    {(1) (Lit_Other ":") (Lit_Other "*") (Lit_Other ":") (Lit_Other "*")}
                    {(Lit_Other "*") (Lit_Other ":") (1) (Lit_Other ":") (Lit_Other "*")}
                  ]
                  spids: [1805 1816 1819 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other "*") (Lit_Other ":") (Lit_Other "*") (Lit_Other ":") (1)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:code)
                          op: Equal
                          rhs: {(DQ ("extern ") ($ VSub_Name "$r") (" ") ($ VSub_Name "$f") ("("))}
                          spids: [1829]
                        )
                      ]
                      spids: [1829]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [(assign_pair lhs:(LhsName name:sep) op:Equal rhs:{(SQ )} spids:[1839])]
                      spids: [1839]
                    )
                    (ForEach
                      iter_name: p
                      iter_words: [{(1)} {(2)} {(3)} {(4)} {(5)} {(6)} {(7)}]
                      do_arg_iter: False
                      body: 
                        (DoGroup
                          children: [
                            (Case
                              to_match: {($ VSub_Name "$p") (Lit_Other ":") ($ VSub_Name "$f")}
                              arms: [
                                (case_arm
                                  pat_list: [{(2) (Lit_Other ":") (ldexp) (Lit_Other "*")}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:code)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name "$code") (${ VSub_Name sep) (int))}
                                          spids: [1880]
                                        )
                                      ]
                                      spids: [1880]
                                    )
                                  ]
                                  spids: [1874 1878 1889 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*")}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:code)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name "$code") (${ VSub_Name sep) 
                                                ($ VSub_Name "$t")
                                              )
                                            }
                                          spids: [1895]
                                        )
                                      ]
                                      spids: [1895]
                                    )
                                  ]
                                  spids: [1892 1893 1904 -1]
                                )
                              ]
                              spids: [1865 1871 1907]
                            )
                            (Case
                              to_match: {($ VSub_Name "$a")}
                              arms: [
                                (case_arm
                                  pat_list: [{($ VSub_Name "$p")}]
                                  action: [(ControlFlow token:<ControlFlow_Break break>)]
                                  spids: [1917 1918 1922 -1]
                                )
                              ]
                              spids: [1910 1914 1925]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:sep)
                                  op: Equal
                                  rhs: {(DQ (","))}
                                  spids: [1928]
                                )
                              ]
                              spids: [1928]
                            )
                          ]
                          spids: [1863 1934]
                        )
                      spids: [1847 -1]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:code)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name "$code") (");"))}
                          spids: [1937]
                        )
                      ]
                      spids: [1937]
                    )
                    (C {(echo)} {(DQ ($ VSub_Name "$code"))})
                  ]
                  spids: [1822 1827 1951 -1]
                )
              ]
              spids: [1794 1802 1954]
            )
            (Case
              to_match: 
                {($ VSub_Name "$local") (Lit_Other ":") ($ VSub_Name "$m") (Lit_Other ":") 
                  ($ VSub_Name "$n") (Lit_Other ":") ($ VSub_Name "$d")
                }
              arms: [
                (case_arm
                  pat_list: [
                    {(1) (Lit_Other ":") (Lit_Other "*") (Lit_Other ":") (Lit_Other "*") (Lit_Other ":") 
                      (Lit_Other "*")
                    }
                    {(Lit_Other "*") (Lit_Other ":") (1) (Lit_Other ":") (Lit_Other "*") (Lit_Other ":") 
                      (Lit_Other "*")
                    }
                    {(Lit_Other "*") (Lit_Other ":") (Lit_Other "*") (Lit_Other ":") (1) (Lit_Other ":")}
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [(assign_pair lhs:(LhsName name:args) op:Equal rhs:{(SQ )} spids:[1995])]
                      spids: [1995]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:code)
                          op: Equal
                          rhs: 
                            {
                              (DQ ("static ") ($ VSub_Name "$L") (" local_") ($ VSub_Name "$f") ("("))
                            }
                          spids: [1998]
                        )
                      ]
                      spids: [1998]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [(assign_pair lhs:(LhsName name:sep) op:Equal rhs:{(SQ )} spids:[2008])]
                      spids: [2008]
                    )
                    (ForEach
                      iter_name: p
                      iter_words: [{(1)} {(2)} {(3)} {(4)} {(5)} {(6)} {(7)} {(8)} {(9)}]
                      do_arg_iter: False
                      body: 
                        (DoGroup
                          children: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:args)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ ($ VSub_Name "$args") (${ VSub_Name sep) (a) 
                                        ($ VSub_Name "$p")
                                      )
                                    }
                                  spids: [2038]
                                )
                              ]
                              spids: [2038]
                            )
                            (Case
                              to_match: {($ VSub_Name "$R") (Lit_Other ":") ($ VSub_Name "$p")}
                              arms: [
                                (case_arm
                                  pat_list: [{(4) (Lit_Other ":") (2)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:T)
                                          op: Equal
                                          rhs: {(int)}
                                          spids: [2063]
                                        )
                                      ]
                                      spids: [2063]
                                    )
                                  ]
                                  spids: [2058 2061 2066 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*")}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:T)
                                          op: Equal
                                          rhs: {(Sfdouble_t)}
                                          spids: [2072]
                                        )
                                      ]
                                      spids: [2072]
                                    )
                                  ]
                                  spids: [2069 2070 2075 -1]
                                )
                              ]
                              spids: [2049 2055 2078]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:code)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ ($ VSub_Name "$code") (${ VSub_Name sep) ($ VSub_Name "$T") 
                                        (" a") ($ VSub_Name "$p")
                                      )
                                    }
                                  spids: [2081]
                                )
                              ]
                              spids: [2081]
                            )
                            (Case
                              to_match: {($ VSub_Name "$a")}
                              arms: [
                                (case_arm
                                  pat_list: [{($ VSub_Name "$p")}]
                                  action: [(ControlFlow token:<ControlFlow_Break break>)]
                                  spids: [2100 2101 2105 -1]
                                )
                              ]
                              spids: [2093 2097 2108]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:sep)
                                  op: Equal
                                  rhs: {(DQ (","))}
                                  spids: [2111]
                                )
                              ]
                              spids: [2111]
                            )
                          ]
                          spids: [2036 2117]
                        )
                      spids: [2016 -1]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:code)
                          op: Equal
                          rhs: 
                            {
                              (DQ ($ VSub_Name "$code") ("){return ") ($ VSub_Name "$f") ("(") 
                                ($ VSub_Name "$args") (");}")
                              )
                            }
                          spids: [2120]
                        )
                      ]
                      spids: [2120]
                    )
                    (C {(echo)} {(DQ ($ VSub_Name "$code"))})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:f)
                          op: Equal
                          rhs: {(local_) ($ VSub_Name "$f")}
                          spids: [2138]
                        )
                      ]
                      spids: [2138]
                    )
                  ]
                  spids: [1970 1992 2143 -1]
                )
              ]
              spids: [1957 1967 2146]
            )
            (ForEach
              iter_name: x
              iter_words: [{($ VSub_Name "$name")} {($ VSub_Name "$aka")}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (Case
                      to_match: {($ VSub_Name "$x")}
                      arms: [
                        (case_arm
                          pat_list: [{(SQ <"{">) (Lit_Other "*")}]
                          action: [(ControlFlow token:<ControlFlow_Break break>)]
                          spids: [2170 2173 2178 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other "*") (Lit_Other "=") (Lit_Other "*")}]
                          action: [(ControlFlow token:<ControlFlow_Continue continue>)]
                          spids: [2181 2184 2189 -1]
                        )
                      ]
                      spids: [2162 2166 2192]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:tab)
                          op: Equal
                          rhs: 
                            {
                              (DQ ($ VSub_Name "$tab") ($ VSub_Name "$nl") ($ VSub_Name "$ht") 
                                (EscapedLiteralPart
                                  token: <Lit_EscapedChar "\\\"">
                                ) (EscapedLiteralPart token:<Lit_EscapedChar "\\\\">) (0) (${ VSub_Name R) (${ VSub_Name a) 
                                (${ VSub_Name x) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (",") ($ VSub_Name "$ht") ("(Math_f)") 
                                ($ VSub_Name "$f") (",")
                              )
                            }
                          spids: [2195]
                        )
                      ]
                      spids: [2195]
                    )
                  ]
                  spids: [2160 2221]
                )
              spids: [2154 -1]
            )
          ]
          spids: [936 2223]
        )
      spids: [933 -1]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:tab)
          op: Equal
          rhs: 
            {
              (DQ ($ VSub_Name "$tab") ($ VSub_Name "$nl") ($ VSub_Name "$ht") 
                (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (",") ($ VSub_Name "$ht") ($ VSub_Name "$ht") 
                ("(Math_f)0")
              )
            }
          spids: [2225]
        )
      ]
      spids: [2225]
    )
    (SimpleCommand
      words: [{(cat)}]
      redirects: [
        (HereDoc
          op_id: Redir_DLess
          fd: -1
          body: 
            {
              (DQ ("\n") ("/*\n") 
                (" * first byte is two-digit octal number.  Last digit is number of args\n") (" * first digit is 0 if return value is double, 1 for integer\n") (" */\n") 
                ("const struct mathtab shtab_math[] =\n") ("{") ($ VSub_Name "$tab") ("\n") ("};\n")
              )
            }
          do_expansion: True
          here_end: "!"
          was_filled: True
          spids: [2241]
        )
      ]
    )
  ]
)