-#define REGNODE_MAX 98
-#define REGMATCH_STATE_MAX 138
-
-#define END 0 /* 0000 End of program. */
-#define SUCCEED 1 /* 0x01 Return from a subroutine, basically. */
-#define SBOL 2 /* 0x02 Match "" at beginning of line: /^/, /\A/ */
-#define BOL 2 /* 0x02 type alias */
-#define MBOL 3 /* 0x03 Same, assuming multiline: /^/m */
-#define SEOL 4 /* 0x04 Match "" at end of line: /$/ */
-#define EOL 4 /* 0x04 type alias */
-#define MEOL 5 /* 0x05 Same, assuming multiline: /$/m */
-#define EOS 6 /* 0x06 Match "" at end of string: /\z/ */
-#define GPOS 7 /* 0x07 Matches where last m//g left off. */
-#define BOUND 8 /* 0x08 Like BOUNDA for non-utf8, otherwise match "" between any Unicode \w\W or \W\w */
-#define BOUNDL 9 /* 0x09 Like BOUND/BOUNDU, but \w and \W are defined by current locale */
-#define BOUNDU 10 /* 0x0a Match "" at any boundary of a given type using Unicode rules */
-#define BOUNDA 11 /* 0x0b Match "" at any boundary between \w\W or \W\w, where \w is [_a-zA-Z0-9] */
-#define NBOUND 12 /* 0x0c Like NBOUNDA for non-utf8, otherwise match "" between any Unicode \w\w or \W\W */
-#define NBOUNDL 13 /* 0x0d Like NBOUND/NBOUNDU, but \w and \W are defined by current locale */
-#define NBOUNDU 14 /* 0x0e Match "" at any non-boundary of a given type using using Unicode rules */
-#define NBOUNDA 15 /* 0x0f Match "" betweeen any \w\w or \W\W, where \w is [_a-zA-Z0-9] */
-#define REG_ANY 16 /* 0x10 Match any one character (except newline). */
-#define SANY 17 /* 0x11 Match any one character. */
-#define ANYOF 18 /* 0x12 Match character in (or not in) this class, single char match only */
-#define ANYOFD 19 /* 0x13 Like ANYOF, but /d is in effect */
-#define ANYOFL 20 /* 0x14 Like ANYOF, but /l is in effect */
-#define ANYOFPOSIXL 21 /* 0x15 Like ANYOFL, but matches [[:posix:]] classes */
-#define ANYOFM 22 /* 0x16 Like ANYOF, but matches an invariant byte as determined by the mask and arg */
-#define POSIXD 23 /* 0x17 Some [[:class:]] under /d; the FLAGS field gives which one */
-#define POSIXL 24 /* 0x18 Some [[:class:]] under /l; the FLAGS field gives which one */
-#define POSIXU 25 /* 0x19 Some [[:class:]] under /u; the FLAGS field gives which one */
-#define POSIXA 26 /* 0x1a Some [[:class:]] under /a; the FLAGS field gives which one */
-#define NPOSIXD 27 /* 0x1b complement of POSIXD, [[:^class:]] */
-#define NPOSIXL 28 /* 0x1c complement of POSIXL, [[:^class:]] */
-#define NPOSIXU 29 /* 0x1d complement of POSIXU, [[:^class:]] */
-#define NPOSIXA 30 /* 0x1e complement of POSIXA, [[:^class:]] */
-#define ASCII 31 /* 0x1f [[:ascii:]] */
-#define NASCII 32 /* 0x20 [[:^ascii:]] */
-#define CLUMP 33 /* 0x21 Match any extended grapheme cluster sequence */
-#define BRANCH 34 /* 0x22 Match this alternative, or the next... */
-#define EXACT 35 /* 0x23 Match this string (preceded by length). */
-#define EXACTL 36 /* 0x24 Like EXACT, but /l is in effect (used so locale-related warnings can be checked for). */
-#define EXACTF 37 /* 0x25 Match this non-UTF-8 string (not guaranteed to be folded) using /id rules (w/len). */
-#define EXACTFL 38 /* 0x26 Match this string (not guaranteed to be folded) using /il rules (w/len). */
-#define EXACTFU 39 /* 0x27 Match this string (folded iff in UTF-8, length in folding doesn't change if not in UTF-8) using /iu rules (w/len). */
-#define EXACTFAA 40 /* 0x28 Match this string (not guaranteed to be folded) using /iaa rules (w/len). */
-#define EXACTFU_SS 41 /* 0x29 Match this string (folded iff in UTF-8, length in folding may change even if not in UTF-8) using /iu rules (w/len). */
-#define EXACTFLU8 42 /* 0x2a Rare circumstances: like EXACTFU, but is under /l, UTF-8, folded, and everything in it is above 255. */
-#define EXACTFAA_NO_TRIE 43 /* 0x2b Match this string (which is not trie-able; not guaranteed to be folded) using /iaa rules (w/len). */
-#define NOTHING 44 /* 0x2c Match empty string. */
-#define TAIL 45 /* 0x2d Match empty string. Can jump here from outside. */
-#define STAR 46 /* 0x2e Match this (simple) thing 0 or more times. */
-#define PLUS 47 /* 0x2f Match this (simple) thing 1 or more times. */
-#define CURLY 48 /* 0x30 Match this simple thing {n,m} times. */
-#define CURLYN 49 /* 0x31 Capture next-after-this simple thing */
-#define CURLYM 50 /* 0x32 Capture this medium-complex thing {n,m} times. */
-#define CURLYX 51 /* 0x33 Match this complex thing {n,m} times. */
-#define WHILEM 52 /* 0x34 Do curly processing and see if rest matches. */
-#define OPEN 53 /* 0x35 Mark this point in input as start of #n. */
-#define CLOSE 54 /* 0x36 Close corresponding OPEN of #n. */
-#define SROPEN 55 /* 0x37 Same as OPEN, but for script run */
-#define SRCLOSE 56 /* 0x38 Close preceding SROPEN */
-#define REF 57 /* 0x39 Match some already matched string */
-#define REFF 58 /* 0x3a Match already matched string, folded using native charset rules for non-utf8 */
-#define REFFL 59 /* 0x3b Match already matched string, folded in loc. */
-#define REFFU 60 /* 0x3c Match already matched string, folded using unicode rules for non-utf8 */
-#define REFFA 61 /* 0x3d Match already matched string, folded using unicode rules for non-utf8, no mixing ASCII, non-ASCII */
-#define NREF 62 /* 0x3e Match some already matched string */
-#define NREFF 63 /* 0x3f Match already matched string, folded using native charset rules for non-utf8 */
-#define NREFFL 64 /* 0x40 Match already matched string, folded in loc. */
-#define NREFFU 65 /* 0x41 Match already matched string, folded using unicode rules for non-utf8 */
-#define NREFFA 66 /* 0x42 Match already matched string, folded using unicode rules for non-utf8, no mixing ASCII, non-ASCII */
-#define LONGJMP 67 /* 0x43 Jump far away. */
-#define BRANCHJ 68 /* 0x44 BRANCH with long offset. */
-#define IFMATCH 69 /* 0x45 Succeeds if the following matches. */
-#define UNLESSM 70 /* 0x46 Fails if the following matches. */
-#define SUSPEND 71 /* 0x47 "Independent" sub-RE. */
-#define IFTHEN 72 /* 0x48 Switch, should be preceded by switcher. */
-#define GROUPP 73 /* 0x49 Whether the group matched. */
-#define EVAL 74 /* 0x4a Execute some Perl code. */
-#define MINMOD 75 /* 0x4b Next operator is not greedy. */
-#define LOGICAL 76 /* 0x4c Next opcode should set the flag only. */
-#define RENUM 77 /* 0x4d Group with independently numbered parens. */
-#define TRIE 78 /* 0x4e Match many EXACT(F[ALU]?)? at once. flags==type */
-#define TRIEC 79 /* 0x4f Same as TRIE, but with embedded charclass data */
-#define AHOCORASICK 80 /* 0x50 Aho Corasick stclass. flags==type */
-#define AHOCORASICKC 81 /* 0x51 Same as AHOCORASICK, but with embedded charclass data */
-#define GOSUB 82 /* 0x52 recurse to paren arg1 at (signed) ofs arg2 */
-#define NGROUPP 83 /* 0x53 Whether the group matched. */
-#define INSUBP 84 /* 0x54 Whether we are in a specific recurse. */
-#define DEFINEP 85 /* 0x55 Never execute directly. */
-#define ENDLIKE 86 /* 0x56 Used only for the type field of verbs */
-#define OPFAIL 87 /* 0x57 Same as (?!), but with verb arg */
-#define ACCEPT 88 /* 0x58 Accepts the current matched string, with verbar */
-#define VERB 89 /* 0x59 Used only for the type field of verbs */
-#define PRUNE 90 /* 0x5a Pattern fails at this startpoint if no-backtracking through this */
-#define MARKPOINT 91 /* 0x5b Push the current location for rollback by cut. */
-#define SKIP 92 /* 0x5c On failure skip forward (to the mark) before retrying */
-#define COMMIT 93 /* 0x5d Pattern fails outright if backtracking through this */
-#define CUTGROUP 94 /* 0x5e On failure go to the next alternation in the group */
-#define KEEPS 95 /* 0x5f $& begins here. */
-#define LNBREAK 96 /* 0x60 generic newline pattern */
-#define OPTIMIZED 97 /* 0x61 Placeholder for dump. */
-#define PSEUDO 98 /* 0x62 Pseudo opcode for internal use. */
+#define REGNODE_MAX 109
+#define REGMATCH_STATE_MAX 149
+
+/* -- For regexec.c to switch on target being utf8 (t8) or not (tb, b='byte');
+ * same with pattern (p8, pb) -- */
+#define with_tp_UTF8ness(op, t_utf8, p_utf8) \
+ (((op) << 2) + (cBOOL(t_utf8) << 1) + cBOOL(p_utf8))
+
+/* The #defines below give both the basic regnode and the expanded version for
+ switching on utf8ness */
+#define END 0 /* 0x00 End of program. */
+#define END_tb_pb 0 /* 0x000 */
+#define END_tb_p8 1 /* 0x001 */
+#define END_t8_pb 2 /* 0x002 */
+#define END_t8_p8 3 /* 0x003 */
+
+#define SUCCEED 1 /* 0x01 Return from a subroutine,
+ basically. */
+#define SUCCEED_tb_pb 4 /* 0x004 */
+#define SUCCEED_tb_p8 5 /* 0x005 */
+#define SUCCEED_t8_pb 6 /* 0x006 */
+#define SUCCEED_t8_p8 7 /* 0x007 */
+
+#define SBOL 2 /* 0x02 Match "" at beginning of
+ line: /^/, /\A/ */
+#define SBOL_tb_pb 8 /* 0x008 */
+#define SBOL_tb_p8 9 /* 0x009 */
+#define SBOL_t8_pb 10 /* 0x00a */
+#define SBOL_t8_p8 11 /* 0x00b */
+
+#define BOL 2 /* 0x02 Match "" at beginning of
+ line: /^/, /\A/ */
+#define BOL_tb_pb 8 /* 0x008 */
+#define BOL_tb_p8 9 /* 0x009 */
+#define BOL_t8_pb 10 /* 0x00a */
+#define BOL_t8_p8 11 /* 0x00b */
+
+#define MBOL 3 /* 0x03 Same, assuming multiline:
+ /^/m */
+#define MBOL_tb_pb 12 /* 0x00c */
+#define MBOL_tb_p8 13 /* 0x00d */
+#define MBOL_t8_pb 14 /* 0x00e */
+#define MBOL_t8_p8 15 /* 0x00f */
+
+#define SEOL 4 /* 0x04 Match "" at end of line:
+ /$/ */
+#define SEOL_tb_pb 16 /* 0x010 */
+#define SEOL_tb_p8 17 /* 0x011 */
+#define SEOL_t8_pb 18 /* 0x012 */
+#define SEOL_t8_p8 19 /* 0x013 */
+
+#define EOL 4 /* 0x04 Match "" at end of line:
+ /$/ */
+#define EOL_tb_pb 16 /* 0x010 */
+#define EOL_tb_p8 17 /* 0x011 */
+#define EOL_t8_pb 18 /* 0x012 */
+#define EOL_t8_p8 19 /* 0x013 */
+
+#define MEOL 5 /* 0x05 Same, assuming multiline:
+ /$/m */
+#define MEOL_tb_pb 20 /* 0x014 */
+#define MEOL_tb_p8 21 /* 0x015 */
+#define MEOL_t8_pb 22 /* 0x016 */
+#define MEOL_t8_p8 23 /* 0x017 */
+
+#define EOS 6 /* 0x06 Match "" at end of string:
+ /\z/ */
+#define EOS_tb_pb 24 /* 0x018 */
+#define EOS_tb_p8 25 /* 0x019 */
+#define EOS_t8_pb 26 /* 0x01a */
+#define EOS_t8_p8 27 /* 0x01b */
+
+#define GPOS 7 /* 0x07 Matches where last m//g
+ left off. */
+#define GPOS_tb_pb 28 /* 0x01c */
+#define GPOS_tb_p8 29 /* 0x01d */
+#define GPOS_t8_pb 30 /* 0x01e */
+#define GPOS_t8_p8 31 /* 0x01f */
+
+#define BOUND 8 /* 0x08 Like BOUNDA for non-utf8,
+ otherwise like BOUNDU */
+#define BOUND_tb_pb 32 /* 0x020 */
+#define BOUND_tb_p8 33 /* 0x021 */
+#define BOUND_t8_pb 34 /* 0x022 */
+#define BOUND_t8_p8 35 /* 0x023 */
+
+#define BOUNDL 9 /* 0x09 Like BOUND/BOUNDU, but \w
+ and \W are defined by current
+ locale */
+#define BOUNDL_tb_pb 36 /* 0x024 */
+#define BOUNDL_tb_p8 37 /* 0x025 */
+#define BOUNDL_t8_pb 38 /* 0x026 */
+#define BOUNDL_t8_p8 39 /* 0x027 */
+
+#define BOUNDU 10 /* 0x0a Match "" at any boundary
+ of a given type using /u rules.
+ */
+#define BOUNDU_tb_pb 40 /* 0x028 */
+#define BOUNDU_tb_p8 41 /* 0x029 */
+#define BOUNDU_t8_pb 42 /* 0x02a */
+#define BOUNDU_t8_p8 43 /* 0x02b */
+
+#define BOUNDA 11 /* 0x0b Match "" at any boundary
+ between \w\W or \W\w, where \w
+ is [_a-zA-Z0-9] */
+#define BOUNDA_tb_pb 44 /* 0x02c */
+#define BOUNDA_tb_p8 45 /* 0x02d */
+#define BOUNDA_t8_pb 46 /* 0x02e */
+#define BOUNDA_t8_p8 47 /* 0x02f */
+
+#define NBOUND 12 /* 0x0c Like NBOUNDA for non-utf8,
+ otherwise like BOUNDU */
+#define NBOUND_tb_pb 48 /* 0x030 */
+#define NBOUND_tb_p8 49 /* 0x031 */
+#define NBOUND_t8_pb 50 /* 0x032 */
+#define NBOUND_t8_p8 51 /* 0x033 */
+
+#define NBOUNDL 13 /* 0x0d Like NBOUND/NBOUNDU, but
+ \w and \W are defined by
+ current locale */
+#define NBOUNDL_tb_pb 52 /* 0x034 */
+#define NBOUNDL_tb_p8 53 /* 0x035 */
+#define NBOUNDL_t8_pb 54 /* 0x036 */
+#define NBOUNDL_t8_p8 55 /* 0x037 */
+
+#define NBOUNDU 14 /* 0x0e Match "" at any
+ non-boundary of a given type
+ using using /u rules. */
+#define NBOUNDU_tb_pb 56 /* 0x038 */
+#define NBOUNDU_tb_p8 57 /* 0x039 */
+#define NBOUNDU_t8_pb 58 /* 0x03a */
+#define NBOUNDU_t8_p8 59 /* 0x03b */
+
+#define NBOUNDA 15 /* 0x0f Match "" betweeen any \w\w
+ or \W\W, where \w is
+ [_a-zA-Z0-9] */
+#define NBOUNDA_tb_pb 60 /* 0x03c */
+#define NBOUNDA_tb_p8 61 /* 0x03d */
+#define NBOUNDA_t8_pb 62 /* 0x03e */
+#define NBOUNDA_t8_p8 63 /* 0x03f */
+
+#define REG_ANY 16 /* 0x10 Match any one character
+ (except newline). */
+#define REG_ANY_tb_pb 64 /* 0x040 */
+#define REG_ANY_tb_p8 65 /* 0x041 */
+#define REG_ANY_t8_pb 66 /* 0x042 */
+#define REG_ANY_t8_p8 67 /* 0x043 */
+
+#define SANY 17 /* 0x11 Match any one character.
+ */
+#define SANY_tb_pb 68 /* 0x044 */
+#define SANY_tb_p8 69 /* 0x045 */
+#define SANY_t8_pb 70 /* 0x046 */
+#define SANY_t8_p8 71 /* 0x047 */
+
+#define ANYOF 18 /* 0x12 Match character in (or not
+ in) this class, single char
+ match only */
+#define ANYOF_tb_pb 72 /* 0x048 */
+#define ANYOF_tb_p8 73 /* 0x049 */
+#define ANYOF_t8_pb 74 /* 0x04a */
+#define ANYOF_t8_p8 75 /* 0x04b */
+
+#define ANYOFD 19 /* 0x13 Like ANYOF, but /d is in
+ effect */
+#define ANYOFD_tb_pb 76 /* 0x04c */
+#define ANYOFD_tb_p8 77 /* 0x04d */
+#define ANYOFD_t8_pb 78 /* 0x04e */
+#define ANYOFD_t8_p8 79 /* 0x04f */
+
+#define ANYOFL 20 /* 0x14 Like ANYOF, but /l is in
+ effect */
+#define ANYOFL_tb_pb 80 /* 0x050 */
+#define ANYOFL_tb_p8 81 /* 0x051 */
+#define ANYOFL_t8_pb 82 /* 0x052 */
+#define ANYOFL_t8_p8 83 /* 0x053 */
+
+#define ANYOFPOSIXL 21 /* 0x15 Like ANYOFL, but matches
+ [[:posix:]] classes */
+#define ANYOFPOSIXL_tb_pb 84 /* 0x054 */
+#define ANYOFPOSIXL_tb_p8 85 /* 0x055 */
+#define ANYOFPOSIXL_t8_pb 86 /* 0x056 */
+#define ANYOFPOSIXL_t8_p8 87 /* 0x057 */
+
+#define ANYOFH 22 /* 0x16 Like ANYOF, but only has
+ "High" matches, none in the
+ bitmap; the flags field
+ contains the lowest matchable
+ UTF-8 start byte */
+#define ANYOFH_tb_pb 88 /* 0x058 */
+#define ANYOFH_tb_p8 89 /* 0x059 */
+#define ANYOFH_t8_pb 90 /* 0x05a */
+#define ANYOFH_t8_p8 91 /* 0x05b */
+
+#define ANYOFHb 23 /* 0x17 Like ANYOFH, but all
+ matches share the same UTF-8
+ start byte, given in the flags
+ field */
+#define ANYOFHb_tb_pb 92 /* 0x05c */
+#define ANYOFHb_tb_p8 93 /* 0x05d */
+#define ANYOFHb_t8_pb 94 /* 0x05e */
+#define ANYOFHb_t8_p8 95 /* 0x05f */
+
+#define ANYOFHr 24 /* 0x18 Like ANYOFH, but the flags
+ field contains packed bounds
+ for all matchable UTF-8 start
+ bytes. */
+#define ANYOFHr_tb_pb 96 /* 0x060 */
+#define ANYOFHr_tb_p8 97 /* 0x061 */
+#define ANYOFHr_t8_pb 98 /* 0x062 */
+#define ANYOFHr_t8_p8 99 /* 0x063 */
+
+#define ANYOFHs 25 /* 0x19 Like ANYOFHb, but has a
+ string field that gives the
+ leading matchable UTF-8 bytes;
+ flags field is len */
+#define ANYOFHs_tb_pb 100 /* 0x064 */
+#define ANYOFHs_tb_p8 101 /* 0x065 */
+#define ANYOFHs_t8_pb 102 /* 0x066 */
+#define ANYOFHs_t8_p8 103 /* 0x067 */
+
+#define ANYOFR 26 /* 0x1a Matches any character in
+ the range given by its packed
+ args: upper 12 bits is the max
+ delta from the base lower 20;
+ the flags field contains the
+ lowest matchable UTF-8 start
+ byte */
+#define ANYOFR_tb_pb 104 /* 0x068 */
+#define ANYOFR_tb_p8 105 /* 0x069 */
+#define ANYOFR_t8_pb 106 /* 0x06a */
+#define ANYOFR_t8_p8 107 /* 0x06b */
+
+#define ANYOFRb 27 /* 0x1b Like ANYOFR, but all
+ matches share the same UTF-8
+ start byte, given in the flags
+ field */
+#define ANYOFRb_tb_pb 108 /* 0x06c */
+#define ANYOFRb_tb_p8 109 /* 0x06d */
+#define ANYOFRb_t8_pb 110 /* 0x06e */
+#define ANYOFRb_t8_p8 111 /* 0x06f */
+
+#define ANYOFM 28 /* 0x1c Like ANYOF, but matches an
+ invariant byte as determined by
+ the mask and arg */
+#define ANYOFM_tb_pb 112 /* 0x070 */
+#define ANYOFM_tb_p8 113 /* 0x071 */
+#define ANYOFM_t8_pb 114 /* 0x072 */
+#define ANYOFM_t8_p8 115 /* 0x073 */
+
+#define NANYOFM 29 /* 0x1d complement of ANYOFM */
+#define NANYOFM_tb_pb 116 /* 0x074 */
+#define NANYOFM_tb_p8 117 /* 0x075 */
+#define NANYOFM_t8_pb 118 /* 0x076 */
+#define NANYOFM_t8_p8 119 /* 0x077 */
+
+#define POSIXD 30 /* 0x1e Some [[:class:]] under /d;
+ the FLAGS field gives which one
+ */
+#define POSIXD_tb_pb 120 /* 0x078 */
+#define POSIXD_tb_p8 121 /* 0x079 */
+#define POSIXD_t8_pb 122 /* 0x07a */
+#define POSIXD_t8_p8 123 /* 0x07b */
+
+#define POSIXL 31 /* 0x1f Some [[:class:]] under /l;
+ the FLAGS field gives which one
+ */
+#define POSIXL_tb_pb 124 /* 0x07c */
+#define POSIXL_tb_p8 125 /* 0x07d */
+#define POSIXL_t8_pb 126 /* 0x07e */
+#define POSIXL_t8_p8 127 /* 0x07f */
+
+#define POSIXU 32 /* 0x20 Some [[:class:]] under /u;
+ the FLAGS field gives which one
+ */
+#define POSIXU_tb_pb 128 /* 0x080 */
+#define POSIXU_tb_p8 129 /* 0x081 */
+#define POSIXU_t8_pb 130 /* 0x082 */
+#define POSIXU_t8_p8 131 /* 0x083 */
+
+#define POSIXA 33 /* 0x21 Some [[:class:]] under /a;
+ the FLAGS field gives which one
+ */
+#define POSIXA_tb_pb 132 /* 0x084 */
+#define POSIXA_tb_p8 133 /* 0x085 */
+#define POSIXA_t8_pb 134 /* 0x086 */
+#define POSIXA_t8_p8 135 /* 0x087 */
+
+#define NPOSIXD 34 /* 0x22 complement of POSIXD,
+ [[:^class:]] */
+#define NPOSIXD_tb_pb 136 /* 0x088 */
+#define NPOSIXD_tb_p8 137 /* 0x089 */
+#define NPOSIXD_t8_pb 138 /* 0x08a */
+#define NPOSIXD_t8_p8 139 /* 0x08b */
+
+#define NPOSIXL 35 /* 0x23 complement of POSIXL,
+ [[:^class:]] */
+#define NPOSIXL_tb_pb 140 /* 0x08c */
+#define NPOSIXL_tb_p8 141 /* 0x08d */
+#define NPOSIXL_t8_pb 142 /* 0x08e */
+#define NPOSIXL_t8_p8 143 /* 0x08f */
+
+#define NPOSIXU 36 /* 0x24 complement of POSIXU,
+ [[:^class:]] */
+#define NPOSIXU_tb_pb 144 /* 0x090 */
+#define NPOSIXU_tb_p8 145 /* 0x091 */
+#define NPOSIXU_t8_pb 146 /* 0x092 */
+#define NPOSIXU_t8_p8 147 /* 0x093 */
+
+#define NPOSIXA 37 /* 0x25 complement of POSIXA,
+ [[:^class:]] */
+#define NPOSIXA_tb_pb 148 /* 0x094 */
+#define NPOSIXA_tb_p8 149 /* 0x095 */
+#define NPOSIXA_t8_pb 150 /* 0x096 */
+#define NPOSIXA_t8_p8 151 /* 0x097 */
+
+#define CLUMP 38 /* 0x26 Match any extended
+ grapheme cluster sequence */
+#define CLUMP_tb_pb 152 /* 0x098 */
+#define CLUMP_tb_p8 153 /* 0x099 */
+#define CLUMP_t8_pb 154 /* 0x09a */
+#define CLUMP_t8_p8 155 /* 0x09b */
+
+#define BRANCH 39 /* 0x27 Match this alternative, or
+ the next... */
+#define BRANCH_tb_pb 156 /* 0x09c */
+#define BRANCH_tb_p8 157 /* 0x09d */
+#define BRANCH_t8_pb 158 /* 0x09e */
+#define BRANCH_t8_p8 159 /* 0x09f */
+
+#define EXACT 40 /* 0x28 Match this string (flags
+ field is the length). */
+#define EXACT_tb_pb 160 /* 0x0a0 */
+#define EXACT_tb_p8 161 /* 0x0a1 */
+#define EXACT_t8_pb 162 /* 0x0a2 */
+#define EXACT_t8_p8 163 /* 0x0a3 */
+
+#define LEXACT 41 /* 0x29 Match this long string
+ (preceded by length; flags
+ unused). */
+#define LEXACT_tb_pb 164 /* 0x0a4 */
+#define LEXACT_tb_p8 165 /* 0x0a5 */
+#define LEXACT_t8_pb 166 /* 0x0a6 */
+#define LEXACT_t8_p8 167 /* 0x0a7 */
+
+#define EXACTL 42 /* 0x2a Like EXACT, but /l is in
+ effect (used so locale-related
+ warnings can be checked for) */
+#define EXACTL_tb_pb 168 /* 0x0a8 */
+#define EXACTL_tb_p8 169 /* 0x0a9 */
+#define EXACTL_t8_pb 170 /* 0x0aa */
+#define EXACTL_t8_p8 171 /* 0x0ab */
+
+#define EXACTF 43 /* 0x2b Like EXACT, but match
+ using /id rules; (string not
+ UTF-8, ASCII folded; non-ASCII
+ not) */
+#define EXACTF_tb_pb 172 /* 0x0ac */
+#define EXACTF_tb_p8 173 /* 0x0ad */
+#define EXACTF_t8_pb 174 /* 0x0ae */
+#define EXACTF_t8_p8 175 /* 0x0af */
+
+#define EXACTFL 44 /* 0x2c Like EXACT, but match
+ using /il rules; (string not
+ likely to be folded) */
+#define EXACTFL_tb_pb 176 /* 0x0b0 */
+#define EXACTFL_tb_p8 177 /* 0x0b1 */
+#define EXACTFL_t8_pb 178 /* 0x0b2 */
+#define EXACTFL_t8_p8 179 /* 0x0b3 */
+
+#define EXACTFU 45 /* 0x2d Like EXACT, but match
+ using /iu rules; (string
+ folded) */
+#define EXACTFU_tb_pb 180 /* 0x0b4 */
+#define EXACTFU_tb_p8 181 /* 0x0b5 */
+#define EXACTFU_t8_pb 182 /* 0x0b6 */
+#define EXACTFU_t8_p8 183 /* 0x0b7 */
+
+#define EXACTFAA 46 /* 0x2e Like EXACT, but match
+ using /iaa rules; (string
+ folded except MICRO in non-UTF8
+ patterns; doesn't contain SHARP
+ S unless UTF-8; folded length
+ <= unfolded) */
+#define EXACTFAA_tb_pb 184 /* 0x0b8 */
+#define EXACTFAA_tb_p8 185 /* 0x0b9 */
+#define EXACTFAA_t8_pb 186 /* 0x0ba */
+#define EXACTFAA_t8_p8 187 /* 0x0bb */
+
+#define EXACTFAA_NO_TRIE 47 /* 0x2f Like EXACTFAA, (string not
+ UTF-8, folded except: MICRO,
+ SHARP S; folded length <=
+ unfolded, not currently
+ trie-able) */
+#define EXACTFAA_NO_TRIE_tb_pb 188 /* 0x0bc */
+#define EXACTFAA_NO_TRIE_tb_p8 189 /* 0x0bd */
+#define EXACTFAA_NO_TRIE_t8_pb 190 /* 0x0be */
+#define EXACTFAA_NO_TRIE_t8_p8 191 /* 0x0bf */
+
+#define EXACTFUP 48 /* 0x30 Like EXACT, but match
+ using /iu rules; (string not
+ UTF-8, folded except MICRO:
+ hence Problematic) */
+#define EXACTFUP_tb_pb 192 /* 0x0c0 */
+#define EXACTFUP_tb_p8 193 /* 0x0c1 */
+#define EXACTFUP_t8_pb 194 /* 0x0c2 */
+#define EXACTFUP_t8_p8 195 /* 0x0c3 */
+
+#define EXACTFLU8 49 /* 0x31 Like EXACTFU, but use /il,
+ UTF-8, (string is folded, and
+ everything in it is above 255
+ */
+#define EXACTFLU8_tb_pb 196 /* 0x0c4 */
+#define EXACTFLU8_tb_p8 197 /* 0x0c5 */
+#define EXACTFLU8_t8_pb 198 /* 0x0c6 */
+#define EXACTFLU8_t8_p8 199 /* 0x0c7 */
+
+#define EXACT_REQ8 50 /* 0x32 Like EXACT, but only UTF-8
+ encoded targets can match */
+#define EXACT_REQ8_tb_pb 200 /* 0x0c8 */
+#define EXACT_REQ8_tb_p8 201 /* 0x0c9 */
+#define EXACT_REQ8_t8_pb 202 /* 0x0ca */
+#define EXACT_REQ8_t8_p8 203 /* 0x0cb */
+
+#define LEXACT_REQ8 51 /* 0x33 Like LEXACT, but only
+ UTF-8 encoded targets can match
+ */
+#define LEXACT_REQ8_tb_pb 204 /* 0x0cc */
+#define LEXACT_REQ8_tb_p8 205 /* 0x0cd */
+#define LEXACT_REQ8_t8_pb 206 /* 0x0ce */
+#define LEXACT_REQ8_t8_p8 207 /* 0x0cf */
+
+#define EXACTFU_REQ8 52 /* 0x34 Like EXACTFU, but only
+ UTF-8 encoded targets can match
+ */
+#define EXACTFU_REQ8_tb_pb 208 /* 0x0d0 */
+#define EXACTFU_REQ8_tb_p8 209 /* 0x0d1 */
+#define EXACTFU_REQ8_t8_pb 210 /* 0x0d2 */
+#define EXACTFU_REQ8_t8_p8 211 /* 0x0d3 */
+
+#define EXACTFU_S_EDGE 53 /* 0x35 /di rules, but nothing in
+ it precludes /ui, except begins
+ and/or ends with [Ss]; (string
+ not UTF-8; compile-time only)
+ */
+#define EXACTFU_S_EDGE_tb_pb 212 /* 0x0d4 */
+#define EXACTFU_S_EDGE_tb_p8 213 /* 0x0d5 */
+#define EXACTFU_S_EDGE_t8_pb 214 /* 0x0d6 */
+#define EXACTFU_S_EDGE_t8_p8 215 /* 0x0d7 */
+
+#define LNBREAK 54 /* 0x36 generic newline pattern */
+#define LNBREAK_tb_pb 216 /* 0x0d8 */
+#define LNBREAK_tb_p8 217 /* 0x0d9 */
+#define LNBREAK_t8_pb 218 /* 0x0da */
+#define LNBREAK_t8_p8 219 /* 0x0db */
+
+#define TRIE 55 /* 0x37 Match many EXACT(F[ALU]?)?
+ at once. flags==type */
+#define TRIE_tb_pb 220 /* 0x0dc */
+#define TRIE_tb_p8 221 /* 0x0dd */
+#define TRIE_t8_pb 222 /* 0x0de */
+#define TRIE_t8_p8 223 /* 0x0df */
+
+#define TRIEC 56 /* 0x38 Same as TRIE, but with
+ embedded charclass data */
+#define TRIEC_tb_pb 224 /* 0x0e0 */
+#define TRIEC_tb_p8 225 /* 0x0e1 */
+#define TRIEC_t8_pb 226 /* 0x0e2 */
+#define TRIEC_t8_p8 227 /* 0x0e3 */
+
+#define AHOCORASICK 57 /* 0x39 Aho Corasick stclass.
+ flags==type */
+#define AHOCORASICK_tb_pb 228 /* 0x0e4 */
+#define AHOCORASICK_tb_p8 229 /* 0x0e5 */
+#define AHOCORASICK_t8_pb 230 /* 0x0e6 */
+#define AHOCORASICK_t8_p8 231 /* 0x0e7 */
+
+#define AHOCORASICKC 58 /* 0x3a Same as AHOCORASICK, but
+ with embedded charclass data */
+#define AHOCORASICKC_tb_pb 232 /* 0x0e8 */
+#define AHOCORASICKC_tb_p8 233 /* 0x0e9 */
+#define AHOCORASICKC_t8_pb 234 /* 0x0ea */
+#define AHOCORASICKC_t8_p8 235 /* 0x0eb */
+
+#define NOTHING 59 /* 0x3b Match empty string. */
+#define NOTHING_tb_pb 236 /* 0x0ec */
+#define NOTHING_tb_p8 237 /* 0x0ed */
+#define NOTHING_t8_pb 238 /* 0x0ee */
+#define NOTHING_t8_p8 239 /* 0x0ef */
+
+#define TAIL 60 /* 0x3c Match empty string. Can
+ jump here from outside. */
+#define TAIL_tb_pb 240 /* 0x0f0 */
+#define TAIL_tb_p8 241 /* 0x0f1 */
+#define TAIL_t8_pb 242 /* 0x0f2 */
+#define TAIL_t8_p8 243 /* 0x0f3 */
+
+#define STAR 61 /* 0x3d Match this (simple) thing
+ 0 or more times. */
+#define STAR_tb_pb 244 /* 0x0f4 */
+#define STAR_tb_p8 245 /* 0x0f5 */
+#define STAR_t8_pb 246 /* 0x0f6 */
+#define STAR_t8_p8 247 /* 0x0f7 */
+
+#define PLUS 62 /* 0x3e Match this (simple) thing
+ 1 or more times. */
+#define PLUS_tb_pb 248 /* 0x0f8 */
+#define PLUS_tb_p8 249 /* 0x0f9 */
+#define PLUS_t8_pb 250 /* 0x0fa */
+#define PLUS_t8_p8 251 /* 0x0fb */
+
+#define CURLY 63 /* 0x3f Match this simple thing
+ {n,m} times. */
+#define CURLY_tb_pb 252 /* 0x0fc */
+#define CURLY_tb_p8 253 /* 0x0fd */
+#define CURLY_t8_pb 254 /* 0x0fe */
+#define CURLY_t8_p8 255 /* 0x0ff */
+
+#define CURLYN 64 /* 0x40 Capture next-after-this
+ simple thing */
+#define CURLYN_tb_pb 256 /* 0x100 */
+#define CURLYN_tb_p8 257 /* 0x101 */
+#define CURLYN_t8_pb 258 /* 0x102 */
+#define CURLYN_t8_p8 259 /* 0x103 */
+
+#define CURLYM 65 /* 0x41 Capture this
+ medium-complex thing {n,m}
+ times. */
+#define CURLYM_tb_pb 260 /* 0x104 */
+#define CURLYM_tb_p8 261 /* 0x105 */
+#define CURLYM_t8_pb 262 /* 0x106 */
+#define CURLYM_t8_p8 263 /* 0x107 */
+
+#define CURLYX 66 /* 0x42 Match this complex thing
+ {n,m} times. */
+#define CURLYX_tb_pb 264 /* 0x108 */
+#define CURLYX_tb_p8 265 /* 0x109 */
+#define CURLYX_t8_pb 266 /* 0x10a */
+#define CURLYX_t8_p8 267 /* 0x10b */
+
+#define WHILEM 67 /* 0x43 Do curly processing and
+ see if rest matches. */
+#define WHILEM_tb_pb 268 /* 0x10c */
+#define WHILEM_tb_p8 269 /* 0x10d */
+#define WHILEM_t8_pb 270 /* 0x10e */
+#define WHILEM_t8_p8 271 /* 0x10f */
+
+#define OPEN 68 /* 0x44 Mark this point in input
+ as start of #n. */
+#define OPEN_tb_pb 272 /* 0x110 */
+#define OPEN_tb_p8 273 /* 0x111 */
+#define OPEN_t8_pb 274 /* 0x112 */
+#define OPEN_t8_p8 275 /* 0x113 */
+
+#define CLOSE 69 /* 0x45 Close corresponding OPEN
+ of #n. */
+#define CLOSE_tb_pb 276 /* 0x114 */
+#define CLOSE_tb_p8 277 /* 0x115 */
+#define CLOSE_t8_pb 278 /* 0x116 */
+#define CLOSE_t8_p8 279 /* 0x117 */
+
+#define SROPEN 70 /* 0x46 Same as OPEN, but for
+ script run */
+#define SROPEN_tb_pb 280 /* 0x118 */
+#define SROPEN_tb_p8 281 /* 0x119 */
+#define SROPEN_t8_pb 282 /* 0x11a */
+#define SROPEN_t8_p8 283 /* 0x11b */
+
+#define SRCLOSE 71 /* 0x47 Close preceding SROPEN */
+#define SRCLOSE_tb_pb 284 /* 0x11c */
+#define SRCLOSE_tb_p8 285 /* 0x11d */
+#define SRCLOSE_t8_pb 286 /* 0x11e */
+#define SRCLOSE_t8_p8 287 /* 0x11f */
+
+#define REF 72 /* 0x48 Match some already matched
+ string */
+#define REF_tb_pb 288 /* 0x120 */
+#define REF_tb_p8 289 /* 0x121 */
+#define REF_t8_pb 290 /* 0x122 */
+#define REF_t8_p8 291 /* 0x123 */
+
+#define REFF 73 /* 0x49 Match already matched
+ string, using /di rules. */
+#define REFF_tb_pb 292 /* 0x124 */
+#define REFF_tb_p8 293 /* 0x125 */
+#define REFF_t8_pb 294 /* 0x126 */
+#define REFF_t8_p8 295 /* 0x127 */
+
+#define REFFL 74 /* 0x4a Match already matched
+ string, using /li rules. */
+#define REFFL_tb_pb 296 /* 0x128 */
+#define REFFL_tb_p8 297 /* 0x129 */
+#define REFFL_t8_pb 298 /* 0x12a */
+#define REFFL_t8_p8 299 /* 0x12b */
+
+#define REFFU 75 /* 0x4b Match already matched
+ string, usng /ui. */
+#define REFFU_tb_pb 300 /* 0x12c */
+#define REFFU_tb_p8 301 /* 0x12d */
+#define REFFU_t8_pb 302 /* 0x12e */
+#define REFFU_t8_p8 303 /* 0x12f */
+
+#define REFFA 76 /* 0x4c Match already matched
+ string, using /aai rules. */
+#define REFFA_tb_pb 304 /* 0x130 */
+#define REFFA_tb_p8 305 /* 0x131 */
+#define REFFA_t8_pb 306 /* 0x132 */
+#define REFFA_t8_p8 307 /* 0x133 */
+
+#define REFN 77 /* 0x4d Match some already matched
+ string */
+#define REFN_tb_pb 308 /* 0x134 */
+#define REFN_tb_p8 309 /* 0x135 */
+#define REFN_t8_pb 310 /* 0x136 */
+#define REFN_t8_p8 311 /* 0x137 */
+
+#define REFFN 78 /* 0x4e Match already matched
+ string, using /di rules. */
+#define REFFN_tb_pb 312 /* 0x138 */
+#define REFFN_tb_p8 313 /* 0x139 */
+#define REFFN_t8_pb 314 /* 0x13a */
+#define REFFN_t8_p8 315 /* 0x13b */
+
+#define REFFLN 79 /* 0x4f Match already matched
+ string, using /li rules. */
+#define REFFLN_tb_pb 316 /* 0x13c */
+#define REFFLN_tb_p8 317 /* 0x13d */
+#define REFFLN_t8_pb 318 /* 0x13e */
+#define REFFLN_t8_p8 319 /* 0x13f */
+
+#define REFFUN 80 /* 0x50 Match already matched
+ string, using /ui rules. */
+#define REFFUN_tb_pb 320 /* 0x140 */
+#define REFFUN_tb_p8 321 /* 0x141 */
+#define REFFUN_t8_pb 322 /* 0x142 */
+#define REFFUN_t8_p8 323 /* 0x143 */
+
+#define REFFAN 81 /* 0x51 Match already matched
+ string, using /aai rules. */
+#define REFFAN_tb_pb 324 /* 0x144 */
+#define REFFAN_tb_p8 325 /* 0x145 */
+#define REFFAN_t8_pb 326 /* 0x146 */
+#define REFFAN_t8_p8 327 /* 0x147 */
+
+#define LONGJMP 82 /* 0x52 Jump far away. */
+#define LONGJMP_tb_pb 328 /* 0x148 */
+#define LONGJMP_tb_p8 329 /* 0x149 */
+#define LONGJMP_t8_pb 330 /* 0x14a */
+#define LONGJMP_t8_p8 331 /* 0x14b */
+
+#define BRANCHJ 83 /* 0x53 BRANCH with long offset.
+ */
+#define BRANCHJ_tb_pb 332 /* 0x14c */
+#define BRANCHJ_tb_p8 333 /* 0x14d */
+#define BRANCHJ_t8_pb 334 /* 0x14e */
+#define BRANCHJ_t8_p8 335 /* 0x14f */
+
+#define IFMATCH 84 /* 0x54 Succeeds if the following
+ matches; non-zero flags "f",
+ next_off "o" means lookbehind
+ assertion starting "f..(f-o)"
+ characters before current */
+#define IFMATCH_tb_pb 336 /* 0x150 */
+#define IFMATCH_tb_p8 337 /* 0x151 */
+#define IFMATCH_t8_pb 338 /* 0x152 */
+#define IFMATCH_t8_p8 339 /* 0x153 */
+
+#define UNLESSM 85 /* 0x55 Fails if the following
+ matches; non-zero flags "f",
+ next_off "o" means lookbehind
+ assertion starting "f..(f-o)"
+ characters before current */
+#define UNLESSM_tb_pb 340 /* 0x154 */
+#define UNLESSM_tb_p8 341 /* 0x155 */
+#define UNLESSM_t8_pb 342 /* 0x156 */
+#define UNLESSM_t8_p8 343 /* 0x157 */
+
+#define SUSPEND 86 /* 0x56 "Independent" sub-RE. */
+#define SUSPEND_tb_pb 344 /* 0x158 */
+#define SUSPEND_tb_p8 345 /* 0x159 */
+#define SUSPEND_t8_pb 346 /* 0x15a */
+#define SUSPEND_t8_p8 347 /* 0x15b */
+
+#define IFTHEN 87 /* 0x57 Switch, should be preceded
+ by switcher. */
+#define IFTHEN_tb_pb 348 /* 0x15c */
+#define IFTHEN_tb_p8 349 /* 0x15d */
+#define IFTHEN_t8_pb 350 /* 0x15e */
+#define IFTHEN_t8_p8 351 /* 0x15f */
+
+#define GROUPP 88 /* 0x58 Whether the group matched.
+ */
+#define GROUPP_tb_pb 352 /* 0x160 */
+#define GROUPP_tb_p8 353 /* 0x161 */
+#define GROUPP_t8_pb 354 /* 0x162 */
+#define GROUPP_t8_p8 355 /* 0x163 */
+
+#define EVAL 89 /* 0x59 Execute some Perl code. */
+#define EVAL_tb_pb 356 /* 0x164 */
+#define EVAL_tb_p8 357 /* 0x165 */
+#define EVAL_t8_pb 358 /* 0x166 */
+#define EVAL_t8_p8 359 /* 0x167 */
+
+#define MINMOD 90 /* 0x5a Next operator is not
+ greedy. */
+#define MINMOD_tb_pb 360 /* 0x168 */
+#define MINMOD_tb_p8 361 /* 0x169 */
+#define MINMOD_t8_pb 362 /* 0x16a */
+#define MINMOD_t8_p8 363 /* 0x16b */
+
+#define LOGICAL 91 /* 0x5b Next opcode should set the
+ flag only. */
+#define LOGICAL_tb_pb 364 /* 0x16c */
+#define LOGICAL_tb_p8 365 /* 0x16d */
+#define LOGICAL_t8_pb 366 /* 0x16e */
+#define LOGICAL_t8_p8 367 /* 0x16f */
+
+#define RENUM 92 /* 0x5c Group with independently
+ numbered parens. */
+#define RENUM_tb_pb 368 /* 0x170 */
+#define RENUM_tb_p8 369 /* 0x171 */
+#define RENUM_t8_pb 370 /* 0x172 */
+#define RENUM_t8_p8 371 /* 0x173 */
+
+#define GOSUB 93 /* 0x5d recurse to paren arg1 at
+ (signed) ofs arg2 */
+#define GOSUB_tb_pb 372 /* 0x174 */
+#define GOSUB_tb_p8 373 /* 0x175 */
+#define GOSUB_t8_pb 374 /* 0x176 */
+#define GOSUB_t8_p8 375 /* 0x177 */
+
+#define GROUPPN 94 /* 0x5e Whether the group matched.
+ */
+#define GROUPPN_tb_pb 376 /* 0x178 */
+#define GROUPPN_tb_p8 377 /* 0x179 */
+#define GROUPPN_t8_pb 378 /* 0x17a */
+#define GROUPPN_t8_p8 379 /* 0x17b */
+
+#define INSUBP 95 /* 0x5f Whether we are in a
+ specific recurse. */
+#define INSUBP_tb_pb 380 /* 0x17c */
+#define INSUBP_tb_p8 381 /* 0x17d */
+#define INSUBP_t8_pb 382 /* 0x17e */
+#define INSUBP_t8_p8 383 /* 0x17f */
+
+#define DEFINEP 96 /* 0x60 Never execute directly. */
+#define DEFINEP_tb_pb 384 /* 0x180 */
+#define DEFINEP_tb_p8 385 /* 0x181 */
+#define DEFINEP_t8_pb 386 /* 0x182 */
+#define DEFINEP_t8_p8 387 /* 0x183 */
+
+#define ENDLIKE 97 /* 0x61 Used only for the type
+ field of verbs */
+#define ENDLIKE_tb_pb 388 /* 0x184 */
+#define ENDLIKE_tb_p8 389 /* 0x185 */
+#define ENDLIKE_t8_pb 390 /* 0x186 */
+#define ENDLIKE_t8_p8 391 /* 0x187 */
+
+#define OPFAIL 98 /* 0x62 Same as (?!), but with
+ verb arg */
+#define OPFAIL_tb_pb 392 /* 0x188 */
+#define OPFAIL_tb_p8 393 /* 0x189 */
+#define OPFAIL_t8_pb 394 /* 0x18a */
+#define OPFAIL_t8_p8 395 /* 0x18b */
+
+#define ACCEPT 99 /* 0x63 Accepts the current
+ matched string, with verbar */
+#define ACCEPT_tb_pb 396 /* 0x18c */
+#define ACCEPT_tb_p8 397 /* 0x18d */
+#define ACCEPT_t8_pb 398 /* 0x18e */
+#define ACCEPT_t8_p8 399 /* 0x18f */
+
+#define VERB 100 /* 0x64 Used only for the type
+ field of verbs */
+#define VERB_tb_pb 400 /* 0x190 */
+#define VERB_tb_p8 401 /* 0x191 */
+#define VERB_t8_pb 402 /* 0x192 */
+#define VERB_t8_p8 403 /* 0x193 */
+
+#define PRUNE 101 /* 0x65 Pattern fails at this
+ startpoint if no-backtracking
+ through this */
+#define PRUNE_tb_pb 404 /* 0x194 */
+#define PRUNE_tb_p8 405 /* 0x195 */
+#define PRUNE_t8_pb 406 /* 0x196 */
+#define PRUNE_t8_p8 407 /* 0x197 */
+
+#define MARKPOINT 102 /* 0x66 Push the current location
+ for rollback by cut. */
+#define MARKPOINT_tb_pb 408 /* 0x198 */
+#define MARKPOINT_tb_p8 409 /* 0x199 */
+#define MARKPOINT_t8_pb 410 /* 0x19a */
+#define MARKPOINT_t8_p8 411 /* 0x19b */
+
+#define SKIP 103 /* 0x67 On failure skip forward
+ (to the mark) before retrying
+ */
+#define SKIP_tb_pb 412 /* 0x19c */
+#define SKIP_tb_p8 413 /* 0x19d */
+#define SKIP_t8_pb 414 /* 0x19e */
+#define SKIP_t8_p8 415 /* 0x19f */
+
+#define COMMIT 104 /* 0x68 Pattern fails outright if
+ backtracking through this */
+#define COMMIT_tb_pb 416 /* 0x1a0 */
+#define COMMIT_tb_p8 417 /* 0x1a1 */
+#define COMMIT_t8_pb 418 /* 0x1a2 */
+#define COMMIT_t8_p8 419 /* 0x1a3 */
+
+#define CUTGROUP 105 /* 0x69 On failure go to the next
+ alternation in the group */
+#define CUTGROUP_tb_pb 420 /* 0x1a4 */
+#define CUTGROUP_tb_p8 421 /* 0x1a5 */
+#define CUTGROUP_t8_pb 422 /* 0x1a6 */
+#define CUTGROUP_t8_p8 423 /* 0x1a7 */
+
+#define KEEPS 106 /* 0x6a $& begins here. */
+#define KEEPS_tb_pb 424 /* 0x1a8 */
+#define KEEPS_tb_p8 425 /* 0x1a9 */
+#define KEEPS_t8_pb 426 /* 0x1aa */
+#define KEEPS_t8_p8 427 /* 0x1ab */
+
+#define OPTIMIZED 107 /* 0x6b Placeholder for dump. */
+#define OPTIMIZED_tb_pb 428 /* 0x1ac */
+#define OPTIMIZED_tb_p8 429 /* 0x1ad */
+#define OPTIMIZED_t8_pb 430 /* 0x1ae */
+#define OPTIMIZED_t8_p8 431 /* 0x1af */
+
+#define PSEUDO 108 /* 0x6c Pseudo opcode for internal
+ use. */
+#define PSEUDO_tb_pb 432 /* 0x1b0 */
+#define PSEUDO_tb_p8 433 /* 0x1b1 */
+#define PSEUDO_t8_pb 434 /* 0x1b2 */
+#define PSEUDO_t8_p8 435 /* 0x1b3 */
+
+#define REGEX_SET 109 /* 0x6d Regex set, temporary node
+ used in pre-optimization
+ compilation */
+#define REGEX_SET_tb_pb 436 /* 0x1b4 */
+#define REGEX_SET_tb_p8 437 /* 0x1b5 */
+#define REGEX_SET_t8_pb 438 /* 0x1b6 */
+#define REGEX_SET_t8_p8 439 /* 0x1b7 */
+