-//===============================\r
-// unit tests regexp\r
-// INRIA 2007\r
-//===============================\r
-if regexp('abc' ,'/abc/' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('xbc' ,'/abc/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('axc' ,'/abc/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('abx' ,'/abc/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('xabcy' ,'/abc/' ,'r') <> 2 then bugmes();quit;end\r
-if regexp('ababc' ,'/abc/' ,'r') <> 3 then bugmes();quit;end\r
-if regexp('abc' ,'/ab*c/' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('abc' ,'/ab*bc/' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('abbc' ,'/ab*bc/' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('abbbbc' ,'/ab*bc/' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('abbbbc' ,'/.{1}/' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('abbbbc' ,'/.{3,4}/' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('abbbbc' ,'/ab{0,}bc/' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('abbc' ,'/ab+bc/' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('abc' ,'/ab+bc/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('abq' ,'/ab+bc/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('abq' ,'/ab{1,}bc/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('abbbbc' ,'/ab+bc/' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('abbbbc' ,'/ab{1,}bc/' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('abbbbc' ,'/ab{1,3}bc/' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('abbbbc' ,'/ab{3,4}bc/' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('abbbbc' ,'/ab{4,5}bc/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('abbc' ,'/ab?bc/' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('abc' ,'/ab?bc/' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('abc' ,'/ab{0,1}bc/' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('abbbbc' ,'/ab?bc/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('abc' ,'/ab?c/' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('abc' ,'/ab{0,1}c/' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('abc' ,'/^abc$/' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('abcc' ,'/^abc$/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('abcc' ,'/^abc/' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('aabc' ,'/^abc$/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('aabc' ,'/abc$/' ,'r') <> 2 then bugmes();quit;end\r
-if regexp('aabcd' ,'/abc$/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('abc' ,'/^/' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('abc' ,'/$/' ,'r') <> 3 then bugmes();quit;end\r
-if regexp('abc' ,'/a.c/' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('axc' ,'/a.c/' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('axyzc' ,'/a.*c/' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('axyzd' ,'/a.*c/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('abc' ,'/a[bc]d/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('abd' ,'/a[bc]d/' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('abd' ,'/a[b-d]e/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('ace' ,'/a[b-d]e/' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('aac' ,'/a[b-d]/' ,'r') <> 2 then bugmes();quit;end\r
-if regexp('a-' ,'/a[-b]/' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('a-' ,'/a[b-]/' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('a]' ,'/a]/' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('a]b' ,'/a[]]b/' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('aed' ,'/a[^bc]d/' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('abd' ,'/a[^bc]d/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('adc' ,'/a[^-b]c/' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('a-c' ,'/a[^-b]c/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('a]c' ,'/a[^]b]c/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('adc' ,'/a[^]b]c/' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('a-' ,'/\ba\b/' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('-a' ,'/\ba\b/' ,'r') <> 2 then bugmes();quit;end\r
-if regexp('-a-' ,'/\ba\b/' ,'r') <> 2 then bugmes();quit;end\r
-if regexp('xy' ,'/\by\b/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('yz' ,'/\by\b/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('xyz' ,'/\by\b/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('a-' ,'/\Ba\B/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('-a' ,'/\Ba\B/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('-a-' ,'/\Ba\B/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('xy' ,'/\By\b/' ,'r') <> 2 then bugmes();quit;end\r
-if regexp('xy' ,'/\By\b/' ,'r') <> 2 then bugmes();quit;end\r
-if regexp('yz' ,'/\by\B/' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('xyz' ,'/\By\B/' ,'r') <> 2 then bugmes();quit;end\r
-if regexp('a' ,'/\w/' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('-' ,'/\w/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('a' ,'/\W/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('-' ,'/\W/' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('a b' ,'/a\sb/' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('a-b' ,'/a\sb/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('a b' ,'/a\Sb/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('a-b' ,'/a\Sb/' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('1' ,'/\d/' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('-' ,'/\d/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('1' ,'/\D/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('-' ,'/\D/' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('a' ,'/[\w]/' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('-' ,'/[\w]/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('a' ,'/[\W]/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('-' ,'/[\W]/' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('a b' ,'/a[\s]b/' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('a-b' ,'/a[\s]b/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('a b' ,'/a[\S]b/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('a-b' ,'/a[\S]b/' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('1' ,'/[\d]/' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('-' ,'/[\d]/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('1' ,'/[\D]/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('-' ,'/[\D]/' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('abc' ,'/ab|cd/' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('abcd' ,'/ab|cd/' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('b' ,'/$b/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('ab' ,'/a\(*b/' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('a((b' ,'/a\(*b/' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('aabbabc' ,'/a+b+c/' ,'r') <> 5 then bugmes();quit;end\r
-if regexp('aabbabc' ,'/a{1,}b{1,}c/' ,'r') <> 5 then bugmes();quit;end\r
-if regexp('abcabc' ,'/a.+?c/' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('cde' ,'/[^ab]*/' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('' ,'/abc/' ,'r') <> [] then bugmes();quit;end\r
-//?if regexp('' ,'/a*/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('e' ,'/a|b|c|d|e/' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('abcdefg' ,'/abcd*efg/' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('xabyabbbz' ,'/ab*/' ,'r') <> [2 5] then bugmes();quit;end\r
-//?if regexp('xayabbbz' ,'/ab*/' ,'r') <> [2 4] then bugmes();quit;end\r
-if regexp('hij' ,'/[abhgefdc]ij/' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('abcde' ,'/^(ab|cd)e/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('adcdcde' ,'/a[bcd]*dcdcde/' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('adcdcde' ,'/a[bcd]+dcdcde/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('alpha' ,'/[a-zA-Z_][a-zA-Z0-9_]*/' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('effg' ,'/(bc+d$|ef*g.|h?i(j|k))/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('bcdd' ,'/(bc+d$|ef*g.|h?i(j|k))/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('aa' ,'/((((((((((a))))))))))\10/' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('aa' ,'/((((((((((a))))))))))\041/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('a!' ,'/((((((((((a))))))))))\041/' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('a' ,'/(((((((((a)))))))))/' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('uh-uh' ,'/multiple words of text/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('multiple words, yeah' ,'/multiple words/' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('ab' ,'/[k]/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('ac' ,'/a[-]?c/' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('a' ,'/(a)|\1/' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('x' ,'/(a)|\1/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('aaxabxbaxbbx' ,'/((\3|b)\2(a)x)+/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('ABC' ,'/abc/i' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('XBC' ,'/abc/i' ,'r') <> [] then bugmes();quit;end\r
-if regexp('AXC' ,'/abc/i' ,'r') <> [] then bugmes();quit;end\r
-if regexp('ABX' ,'/abc/i' ,'r') <> [] then bugmes();quit;end\r
-if regexp('XABCY' ,'/abc/i' ,'r') <> 2 then bugmes();quit;end\r
-if regexp('ABABC' ,'/abc/i' ,'r') <> 3 then bugmes();quit;end\r
-if regexp('ABC' ,'/ab*c/i' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('ABC' ,'/ab*bc/i' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('ABBC' ,'/ab*bc/i' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('ABBBBC' ,'/ab*?bc/i' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('ABBBBC' ,'/ab{0,}?bc/i' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('ABBC' ,'/ab+?bc/i' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('ABC' ,'/ab+bc/i' ,'r') <> [] then bugmes();quit;end\r
-if regexp('ABQ' ,'/ab+bc/i' ,'r') <> [] then bugmes();quit;end\r
-if regexp('ABQ' ,'/ab{1,}bc/i' ,'r') <> [] then bugmes();quit;end\r
-if regexp('ABBBBC' ,'/ab+bc/i' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('ABBBBC' ,'/ab{1,}?bc/i' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('ABBBBC' ,'/ab{1,3}?bc/i' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('ABBBBC' ,'/ab{3,4}?bc/i' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('ABBBBC' ,'/ab{4,5}?bc/i' ,'r') <> [] then bugmes();quit;end\r
-if regexp('ABBC' ,'/ab??bc/i' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('ABC' ,'/ab??bc/i' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('ABC' ,'/ab{0,1}?bc/i' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('ABBBBC' ,'/ab??bc/i' ,'r') <> [] then bugmes();quit;end\r
-if regexp('ABC' ,'/ab??c/i' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('ABC' ,'/ab{0,1}?c/i' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('ABC' ,'/^abc$/i' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('ABCC' ,'/^abc$/i' ,'r') <> [] then bugmes();quit;end\r
-if regexp('ABCC' ,'/^abc/i' ,'r') <> 1 then bugmes();quit;end\r
-//leak if regexp('AABC' ,'/^abc$/i' ,'r') <> [] then bugmes();quit;end\r
-if regexp('AABC' ,'/abc$/i' ,'r') <> 2 then bugmes();quit;end\r
-//leak if regexp('ABC' ,'/^/i' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('ABC' ,'/$/i' ,'r') <> 3 then bugmes();quit;end\r
-if regexp('ABC' ,'/a.c/i' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('AXC' ,'/a.c/i' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('AXYZC' ,'/a.*?c/i' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('AXYZD' ,'/a.*c/i' ,'r') <> [] then bugmes();quit;end\r
-if regexp('ABC' ,'/a[bc]d/i' ,'r') <> [] then bugmes();quit;end\r
-if regexp('ABD' ,'/a[bc]d/i' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('ABD' ,'/a[b-d]e/i' ,'r') <> [] then bugmes();quit;end\r
-if regexp('ACE' ,'/a[b-d]e/i' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('AAC' ,'/a[b-d]/i' ,'r') <> 2 then bugmes();quit;end\r
-if regexp('A-' ,'/a[-b]/i' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('A-' ,'/a[b-]/i' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('A]' ,'/a]/i' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('A]B' ,'/a[]]b/i' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('AED' ,'/a[^bc]d/i' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('ABD' ,'/a[^bc]d/i' ,'r') <> [] then bugmes();quit;end\r
-if regexp('ADC' ,'/a[^-b]c/i' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('A-C' ,'/a[^-b]c/i' ,'r') <> [] then bugmes();quit;end\r
-if regexp('A]C' ,'/a[^]b]c/i' ,'r') <> [] then bugmes();quit;end\r
-if regexp('ADC' ,'/a[^]b]c/i' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('ABC' ,'/ab|cd/i' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('ABCD' ,'/ab|cd/i' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('B' ,'/$b/i' ,'r') <> [] then bugmes();quit;end\r
-if regexp('AB' ,'/a\(*b/i' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('A((B' ,'/a\(*b/i' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('AABBABC' ,'/a+b+c/i' ,'r') <> 5 then bugmes();quit;end\r
-if regexp('AABBABC' ,'/a{1,}b{1,}c/i' ,'r') <> 5 then bugmes();quit;end\r
-if regexp('ABCABC' ,'/a.+?c/i' ,'r') <> [1 4] then bugmes();quit;end\r
-if regexp('ABCABC' ,'/a.*?c/i' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('ABCABC' ,'/a.{0,5}?c/i' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('CDE' ,'/[^ab]*/i' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('' ,'/abc/i' ,'r') <> [] then bugmes();quit;end\r
-//if regexp('' ,'/a*/i' ,'r') <> [] then bugmes();quit;end\r
-if regexp('E' ,'/a|b|c|d|e/i' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('ABCDEFG' ,'/abcd*efg/i' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('XABYABBBZ' ,'/ab*/i' ,'r') <> [2 5] then bugmes();quit;end\r
-if regexp('XAYABBBZ' ,'/ab*/i' ,'r') <> [2 4] then bugmes();quit;end\r
-if regexp('HIJ' ,'/[abhgefdc]ij/i' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('ABCDE' ,'/^(ab|cd)e/i' ,'r') <> [] then bugmes();quit;end\r
-if regexp('ADCDCDE' ,'/a[bcd]*dcdcde/i' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('ADCDCDE' ,'/a[bcd]+dcdcde/i' ,'r') <> [] then bugmes();quit;end\r
-if regexp('ALPHA' ,'/[a-zA-Z_][a-zA-Z0-9_]*/i' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('EFFG' ,'/(bc+d$|ef*g.|h?i(j|k))/i' ,'r') <> [] then bugmes();quit;end\r
-if regexp('BCDD' ,'/(bc+d$|ef*g.|h?i(j|k))/i' ,'r') <> [] then bugmes();quit;end\r
-if regexp('AA' ,'/((((((((((a))))))))))\10/i' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('AA' ,'/((((((((((a))))))))))\041/i' ,'r') <> [] then bugmes();quit;end\r
-if regexp('A!' ,'/((((((((((a))))))))))\041/i' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('A' ,'/(((((((((a)))))))))/i' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('UH-UH' ,'/multiple words of text/i' ,'r') <> [] then bugmes();quit;end\r
-if regexp('MULTIPLE WORDS, YEAH' ,'/multiple words/i' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('AB' ,'/[k]/i' ,'r') <> [] then bugmes();quit;end\r
-if regexp('AC' ,'/a[-]?c/i' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('abad' ,'/a(?!b)./' ,'r') <> 3 then bugmes();quit;end\r
-if regexp('abad' ,'/a(?=d)./' ,'r') <> 3 then bugmes();quit;end\r
-if regexp('abad' ,'/a(?=c|d)./' ,'r') <> 3 then bugmes();quit;end\r
-if regexp('<&OUT' ,'/^[<>]&/' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('aaaaaaaaa' ,'/^(a\1?){4}$/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('aaaaaaaaaaa' ,'/^(a\1?){4}$/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('aaaaaaaaa' ,'/^(a(?(1)\1)){4}$/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('aaaaaaaaaaa' ,'/^(a(?(1)\1)){4}$/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('ab' ,'/(?<=a)b/' ,'r') <> 2 then bugmes();quit;end\r
-if regexp('cb' ,'/(?<=a)b/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('b' ,'/(?<=a)b/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('ab' ,'/(?<!c)b/' ,'r') <> 2 then bugmes();quit;end\r
-if regexp('cb' ,'/(?<!c)b/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('b' ,'/(?<!c)b/' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('b' ,'/(?<!c)b/' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('aba' ,'/(?:..)*a/' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('aba' ,'/(?:..)*?a/' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('abc' ,'/^(?:b|a(?=(.)))*\1/' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('ab' ,'/(?:(?i)a)b/' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('Ab' ,'/(?:(?i)a)b/' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('aB' ,'/(?:(?i)a)b/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('aB' ,'/((?i)a)b/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('ab' ,'/(?i:a)b/' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('Ab' ,'/(?i:a)b/' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('aB' ,'/(?i:a)b/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('aB' ,'/((?i:a))b/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('ab' ,'/(?:(?-i)a)b/i' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('aB' ,'/(?:(?-i)a)b/i' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('Ab' ,'/(?:(?-i)a)b/i' ,'r') <> [] then bugmes();quit;end\r
-if regexp('Ab' ,'/((?-i)a)b/i' ,'r') <> [] then bugmes();quit;end\r
-if regexp('aB' ,'/(?:(?-i)a)b/i' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('AB' ,'/(?:(?-i)a)b/i' ,'r') <> [] then bugmes();quit;end\r
-if regexp('AB' ,'/((?-i)a)b/i' ,'r') <> [] then bugmes();quit;end\r
-if regexp('ab' ,'/(?-i:a)b/i' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('aB' ,'/(?-i:a)b/i' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('Ab' ,'/(?-i:a)b/i' ,'r') <> [] then bugmes();quit;end\r
-if regexp('Ab' ,'/((?-i:a))b/i' ,'r') <> [] then bugmes();quit;end\r
-if regexp('aB' ,'/(?-i:a)b/i' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('AB' ,'/(?-i:a)b/i' ,'r') <> [] then bugmes();quit;end\r
-if regexp('AB' ,'/((?-i:a))b/i' ,'r') <> [] then bugmes();quit;end\r
-if regexp('a\nB' ,'/((?-i:a.))b/i' ,'r') <> [] then bugmes();quit;end\r
-if regexp('B\nB' ,'/((?s-i:a.))b/i' ,'r') <> [] then bugmes();quit;end\r
-if regexp('cabbbb' ,'/(?:c|d)(?:)(?:a(?:)(?:b)(?:b(?:))(?:b(?:)(?:b)))/','r') <> 1 then bugmes();quit;end\r
-if regexp('caaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb','/(?:c|d)(?:)(?:aaaaaaaa(?:)(?:bbbbbbbb)(?:bbbbbbbb(?:))(?:bbbbbbbb(?:)(?:bbbbbbbb)))/','r') <> 1 then bugmes();quit;end\r
-if regexp('foobar1234baz' ,'/foo\w*\d{4}baz/' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('x~~' ,'/x(~~)*(?:(?:F)?)?/' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('aaac' ,'/^a(?#xxx){3}c/' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('aaac' ,'/^a (?#xxx) (?#yyy) {3}c/x' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('dbcb' ,'/(?<![cd])b/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('dbaacb' ,'/(?<![cd])[ab]/' ,'r') <> [3 4] then bugmes();quit;end\r
-if regexp('dbcb' ,'/(?<!(c|d))b/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('dbaacb' ,'/(?<!(c|d))[ab]/' ,'r') <> [3 4] then bugmes();quit;end\r
-if regexp('cdaccb' ,'/(?<!cd)[ab]/' ,'r') <> 6 then bugmes();quit;end\r
-if regexp('a--' ,'/^(?:a?b?)*$/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('a\nb\n' ,'/(?m)^b/' ,'r') <> [3 4] then bugmes();quit;end\r
-if regexp('a\nb\nc\n' ,'/^b/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('a\nb\nc\n' ,'/()^b/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('a' ,'/(?(1)a|b)/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('a' ,'/(?(1)b|a)/' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('a' ,'/(x)?(?(1)a|b)/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('a' ,'/(x)?(?(1)b|a)/' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('a' ,'/()?(?(1)b|a)/' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('a' ,'/()(?(1)b|a)/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('a' ,'/()?(?(1)a|b)/' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('blah)' ,'/^(\()?blah(?(1)(\)))$/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('(blah' ,'/^(\()?blah(?(1)(\)))$/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('blah)' ,'/^(\(+)?blah(?(1)(\)))$/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('(blah' ,'/^(\(+)?blah(?(1)(\)))$/' ,'r') <> [] then bugmes();quit;end\r
-//if regexp('a' ,'/(?(?{0})a|b)/' ,'r') <> [] then bugmes();quit;end\r
-//if regexp('a' ,'/(?(?{1})b|a)/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('a' ,'/(?(?!a)a|b)/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('a' ,'/(?(?!a)b|a)/' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('a' ,'/(?(?=a)b|a)/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('a' ,'/(?(?=a)a|b)/' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('aaab' ,'/^(?=(a+?))\1ab/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('aaab' ,'/^(?=(a+?))\1ab/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('abcd:' ,'/([\w:]+::)?(\w+)$/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('abcd:' ,'/([\w:]+::)?(\w+)$/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('aaab' ,'/(>a+)ab/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('aaab' ,'/(?>a+)b/' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('abc' ,'/[a[:]b[:c]/' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('abc' ,'/[a[:]b[:c]/' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('((abc(ade)ufh()()x' ,'/((?>[^()]+)|\([^()]*\))+/' ,'r') <> 3 then bugmes();quit;end\r
-//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\r
-if regexp('a\nb\n' ,'/a\Z/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('a\nb\n' ,'/a\z/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('a\nb\n' ,'/a$/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('b\na\n' ,'/a\z/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('a\nb\n' ,'/a\Z/m' ,'r') <> [] then bugmes();quit;end\r
-if regexp('a\nb\n' ,'/a\z/m' ,'r') <> [] then bugmes();quit;end\r
-if regexp('b\na\n' ,'/a\z/m' ,'r') <> [] then bugmes();quit;end\r
-if regexp('aa\nb\n' ,'/aa\Z/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('aa\nb\n' ,'/aa\z/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('aa\nb\n' ,'/aa$/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('b\naa\n' ,'/aa\z/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('aa\nb\n' ,'/aa\Z/m' ,'r') <> [] then bugmes();quit;end\r
-if regexp('aa\nb\n' ,'/aa\z/m' ,'r') <> [] then bugmes();quit;end\r
-if regexp('b\naa\n' ,'/aa\z/m' ,'r') <> [] then bugmes();quit;end\r
-if regexp('ac\nb\n' ,'/aa\Z/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('ac\nb\n' ,'/aa\z/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('ac\nb\n' ,'/aa$/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('b\nac\n' ,'/aa\Z/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('b\nac\n' ,'/aa\z/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('b\nac\n' ,'/aa$/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('b\nac' ,'/aa\Z/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('b\nac' ,'/aa\z/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('b\nac' ,'/aa$/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('ac\nb\n' ,'/aa\Z/m' ,'r') <> [] then bugmes();quit;end\r
-if regexp('ac\nb\n' ,'/aa\z/m' ,'r') <> [] then bugmes();quit;end\r
-if regexp('ac\nb\n' ,'/aa$/m' ,'r') <> [] then bugmes();quit;end\r
-if regexp('b\nac\n' ,'/aa\Z/m' ,'r') <> [] then bugmes();quit;end\r
-if regexp('b\nac\n' ,'/aa\z/m' ,'r') <> [] then bugmes();quit;end\r
-if regexp('b\nac\n' ,'/aa$/m' ,'r') <> [] then bugmes();quit;end\r
-if regexp('b\nac' ,'/aa\Z/m' ,'r') <> [] then bugmes();quit;end\r
-if regexp('b\nac' ,'/aa\z/m' ,'r') <> [] then bugmes();quit;end\r
-if regexp('b\nac' ,'/aa$/m' ,'r') <> [] then bugmes();quit;end\r
-if regexp('ca\nb\n' ,'/aa\Z/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('ca\nb\n' ,'/aa\z/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('ca\nb\n' ,'/aa$/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('b\nca\n' ,'/aa\Z/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('b\nca\n' ,'/aa\z/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('b\nca\n' ,'/aa$/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('b\nca' ,'/aa\Z/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('b\nca' ,'/aa\z/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('b\nca' ,'/aa$/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('ca\nb\n' ,'/aa\Z/m' ,'r') <> [] then bugmes();quit;end\r
-if regexp('ca\nb\n' ,'/aa\z/m' ,'r') <> [] then bugmes();quit;end\r
-if regexp('ca\nb\n' ,'/aa$/m' ,'r') <> [] then bugmes();quit;end\r
-if regexp('b\nca\n' ,'/aa\Z/m' ,'r') <> [] then bugmes();quit;end\r
-if regexp('b\nca\n' ,'/aa\z/m' ,'r') <> [] then bugmes();quit;end\r
-if regexp('b\nca\n' ,'/aa$/m' ,'r') <> [] then bugmes();quit;end\r
-if regexp('b\nca' ,'/aa\Z/m' ,'r') <> [] then bugmes();quit;end\r
-if regexp('b\nca' ,'/aa\z/m' ,'r') <> [] then bugmes();quit;end\r
-if regexp('b\nca' ,'/aa$/m' ,'r') <> [] then bugmes();quit;end\r
-if regexp('ab\nb\n' ,'/ab\Z/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('ab\nb\n' ,'/ab\z/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('ab\nb\n' ,'/ab$/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('b\nab\n' ,'/ab\z/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('ab\nb\n' ,'/ab\Z/m' ,'r') <> [] then bugmes();quit;end\r
-if regexp('ab\nb\n' ,'/ab\z/m' ,'r') <> [] then bugmes();quit;end\r
-if regexp('b\nab\n' ,'/ab\z/m' ,'r') <> [] then bugmes();quit;end\r
-if regexp('ac\nb\n' ,'/ab\Z/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('ac\nb\n' ,'/ab\z/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('ac\nb\n' ,'/ab$/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('b\nac\n' ,'/ab\Z/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('b\nac\n' ,'/ab\z/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('b\nac\n' ,'/ab$/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('b\nac' ,'/ab\Z/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('b\nac' ,'/ab\z/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('b\nac' ,'/ab$/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('ac\nb\n' ,'/ab\Z/m' ,'r') <> [] then bugmes();quit;end\r
-if regexp('ac\nb\n' ,'/ab\z/m' ,'r') <> [] then bugmes();quit;end\r
-if regexp('ac\nb\n' ,'/ab$/m' ,'r') <> [] then bugmes();quit;end\r
-if regexp('b\nac\n' ,'/ab\Z/m' ,'r') <> [] then bugmes();quit;end\r
-if regexp('b\nac\n' ,'/ab\z/m' ,'r') <> [] then bugmes();quit;end\r
-if regexp('b\nac\n' ,'/ab$/m' ,'r') <> [] then bugmes();quit;end\r
-if regexp('b\nac' ,'/ab\Z/m' ,'r') <> [] then bugmes();quit;end\r
-if regexp('b\nac' ,'/ab\z/m' ,'r') <> [] then bugmes();quit;end\r
-if regexp('b\nac' ,'/ab$/m' ,'r') <> [] then bugmes();quit;end\r
-if regexp('ca\nb\n' ,'/ab\Z/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('ca\nb\n' ,'/ab\z/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('ca\nb\n' ,'/ab$/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('b\nca\n' ,'/ab\Z/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('b\nca\n' ,'/ab\z/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('b\nca\n' ,'/ab$/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('b\nca' ,'/ab\Z/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('b\nca' ,'/ab\z/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('b\nca' ,'/ab$/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('ca\nb\n' ,'/ab\Z/m' ,'r') <> [] then bugmes();quit;end\r
-if regexp('ca\nb\n' ,'/ab\z/m' ,'r') <> [] then bugmes();quit;end\r
-if regexp('ca\nb\n' ,'/ab$/m' ,'r') <> [] then bugmes();quit;end\r
-if regexp('b\nca\n' ,'/ab\Z/m' ,'r') <> [] then bugmes();quit;end\r
-if regexp('b\nca\n' ,'/ab\z/m' ,'r') <> [] then bugmes();quit;end\r
-if regexp('b\nca\n' ,'/ab$/m' ,'r') <> [] then bugmes();quit;end\r
-if regexp('b\nca' ,'/ab\Z/m' ,'r') <> [] then bugmes();quit;end\r
-if regexp('b\nca' ,'/ab\z/m' ,'r') <> [] then bugmes();quit;end\r
-if regexp('b\nca' ,'/ab$/m' ,'r') <> [] then bugmes();quit;end\r
-if regexp('abb\nb\n' ,'/abb\Z/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('abb\nb\n' ,'/abb\z/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('abb\nb\n' ,'/abb$/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('b\nabb\n' ,'/abb\z/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('abb\nb\n' ,'/abb\Z/m' ,'r') <> [] then bugmes();quit;end\r
-if regexp('abb\nb\n' ,'/abb\z/m' ,'r') <> [] then bugmes();quit;end\r
-if regexp('b\nabb\n' ,'/abb\z/m' ,'r') <> [] then bugmes();quit;end\r
-if regexp('ac\nb\n' ,'/abb\Z/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('ac\nb\n' ,'/abb\z/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('ac\nb\n' ,'/abb$/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('b\nac\n' ,'/abb\Z/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('b\nac\n' ,'/abb\z/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('b\nac\n' ,'/abb$/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('b\nac' ,'/abb\Z/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('b\nac' ,'/abb\z/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('b\nac' ,'/abb$/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('ac\nb\n' ,'/abb\Z/m' ,'r') <> [] then bugmes();quit;end\r
-if regexp('ac\nb\n' ,'/abb\z/m' ,'r') <> [] then bugmes();quit;end\r
-if regexp('ac\nb\n' ,'/abb$/m' ,'r') <> [] then bugmes();quit;end\r
-if regexp('b\nac\n' ,'/abb\Z/m' ,'r') <> [] then bugmes();quit;end\r
-if regexp('b\nac\n' ,'/abb\z/m' ,'r') <> [] then bugmes();quit;end\r
-if regexp('b\nac\n' ,'/abb$/m' ,'r') <> [] then bugmes();quit;end\r
-if regexp('b\nac' ,'/abb\Z/m' ,'r') <> [] then bugmes();quit;end\r
-if regexp('b\nac' ,'/abb\z/m' ,'r') <> [] then bugmes();quit;end\r
-if regexp('b\nac' ,'/abb$/m' ,'r') <> [] then bugmes();quit;end\r
-if regexp('ca\nb\n' ,'/abb\Z/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('ca\nb\n' ,'/abb\z/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('ca\nb\n' ,'/abb$/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('b\nca\n' ,'/abb\Z/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('b\nca\n' ,'/abb\z/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('b\nca\n' ,'/abb$/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('b\nca' ,'/abb\Z/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('b\nca' ,'/abb\z/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('b\nca' ,'/abb$/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('ca\nb\n' ,'/abb\Z/m' ,'r') <> [] then bugmes();quit;end\r
-if regexp('ca\nb\n' ,'/abb\z/m' ,'r') <> [] then bugmes();quit;end\r
-if regexp('ca\nb\n' ,'/abb$/m' ,'r') <> [] then bugmes();quit;end\r
-if regexp('b\nca\n' ,'/abb\Z/m' ,'r') <> [] then bugmes();quit;end\r
-if regexp('b\nca\n' ,'/abb\z/m' ,'r') <> [] then bugmes();quit;end\r
-if regexp('b\nca\n' ,'/abb$/m' ,'r') <> [] then bugmes();quit;end\r
-if regexp('b\nca' ,'/abb\Z/m' ,'r') <> [] then bugmes();quit;end\r
-if regexp('b\nca' ,'/abb\z/m' ,'r') <> [] then bugmes();quit;end\r
-if regexp('b\nca' ,'/abb$/m' ,'r') <> [] then bugmes();quit;end\r
-if regexp('x' ,'/a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz/','r') <> [] then bugmes();quit;end\r
-if regexp('foo.bart' ,'/foo.bart/' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('abcd\ndxxx' ,'/^d[x][x][x]/m' ,'r') <> 6 then bugmes();quit;end\r
-if regexp('xxxtt' ,'/tt+$/' ,'r') <> 4 then bugmes();quit;end\r
-if regexp('aaaXbX' ,'/\GX.*X/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('Changes' ,'/\.c(pp|xx|c)?$/i' ,'r') <> [] then bugmes();quit;end\r
-if regexp('IO.c' ,'/\.c(pp|xx|c)?$/i' ,'r') <> 3 then bugmes();quit;end\r
-if regexp('C:/' ,'/^([a-z]:)/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('\nx aa' ,'/^\S\s+aa$/m' ,'r') <> 2 then bugmes();quit;end\r
-if regexp('ab' ,'/(^|a)b/' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('abcab' ,'/(\w)?(abc)\1b/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('a,b,c' ,'/^(?:.,){2}c/' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('a,b,c' ,'/^(?:[^,]*,){2}c/' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('' ,'/(?i)/' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('a\nxb\n' ,'/(?!\A)x/m' ,'r') <> 3 then bugmes();quit;end\r
-if regexp('123\nabcabcabcabc\n' ,'/^.{9}abc.*\n/m' ,'r') <> 5 then bugmes();quit;end\r
-if regexp('a' ,'/^(a)?(?(1)a|b)+$/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('x1' ,'/^(0+)?(?:x(1))?/' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('012cxx0190' ,'/^([0-9a-fA-F]+)(?:x([0-9a-fA-F]+)?)(?:x([0-9a-fA-F]+))?/','r') <> 1 then bugmes();quit;end\r
-if regexp('aaaacccc' ,'/((?:aaaa|bbbb)cccc)?/' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('bbbbcccc' ,'/((?:aaaa|bbbb)cccc)?/' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('a\nb\n' ,'/b\s^/m' ,'r') <> [] then bugmes();quit;end\r
-if regexp('a' ,'/\ba/' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('AbCd' ,'/ab(?i)cd/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('abCd' ,'/ab(?i)cd/' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('Oo' ,'/^(o)(?!.*\1)/i' ,'r') <> [] then bugmes();quit;end\r
-if regexp('2' ,'/2(]*)?$\1/' ,'r') <> 1 then bugmes();quit;end\r
-if regexp('......abef' ,'/.*a(?!(b|cd)*e).*f/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('fools' ,'/(foo|fool|x.|money|parted)$/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('fools' ,'/(x.|foo|fool|x.|money|parted|y.)$/' ,'r') <> [] then bugmes();quit;end\r
-if regexp('fools' ,'/(foo|fool|money|parted)$/' ,'r') <> [] then bugmes();quit;end\r
+//===============================
+// unit tests regexp
+// INRIA 2007
+//===============================
+if regexp('abc' ,'/abc/' ,'r') <> 1 then bugmes();quit;end
+if regexp('xbc' ,'/abc/' ,'r') <> [] then bugmes();quit;end
+if regexp('axc' ,'/abc/' ,'r') <> [] then bugmes();quit;end
+if regexp('abx' ,'/abc/' ,'r') <> [] then bugmes();quit;end
+if regexp('xabcy' ,'/abc/' ,'r') <> 2 then bugmes();quit;end
+if regexp('ababc' ,'/abc/' ,'r') <> 3 then bugmes();quit;end
+if regexp('abc' ,'/ab*c/' ,'r') <> 1 then bugmes();quit;end
+if regexp('abc' ,'/ab*bc/' ,'r') <> 1 then bugmes();quit;end
+if regexp('abbc' ,'/ab*bc/' ,'r') <> 1 then bugmes();quit;end
+if regexp('abbbbc' ,'/ab*bc/' ,'r') <> 1 then bugmes();quit;end
+if regexp('abbbbc' ,'/.{1}/' ,'r') <> 1 then bugmes();quit;end
+if regexp('abbbbc' ,'/.{3,4}/' ,'r') <> 1 then bugmes();quit;end
+if regexp('abbbbc' ,'/ab{0,}bc/' ,'r') <> 1 then bugmes();quit;end
+if regexp('abbc' ,'/ab+bc/' ,'r') <> 1 then bugmes();quit;end
+if regexp('abc' ,'/ab+bc/' ,'r') <> [] then bugmes();quit;end
+if regexp('abq' ,'/ab+bc/' ,'r') <> [] then bugmes();quit;end
+if regexp('abq' ,'/ab{1,}bc/' ,'r') <> [] then bugmes();quit;end
+if regexp('abbbbc' ,'/ab+bc/' ,'r') <> 1 then bugmes();quit;end
+if regexp('abbbbc' ,'/ab{1,}bc/' ,'r') <> 1 then bugmes();quit;end
+if regexp('abbbbc' ,'/ab{1,3}bc/' ,'r') <> 1 then bugmes();quit;end
+if regexp('abbbbc' ,'/ab{3,4}bc/' ,'r') <> 1 then bugmes();quit;end
+if regexp('abbbbc' ,'/ab{4,5}bc/' ,'r') <> [] then bugmes();quit;end
+if regexp('abbc' ,'/ab?bc/' ,'r') <> 1 then bugmes();quit;end
+if regexp('abc' ,'/ab?bc/' ,'r') <> 1 then bugmes();quit;end
+if regexp('abc' ,'/ab{0,1}bc/' ,'r') <> 1 then bugmes();quit;end
+if regexp('abbbbc' ,'/ab?bc/' ,'r') <> [] then bugmes();quit;end
+if regexp('abc' ,'/ab?c/' ,'r') <> 1 then bugmes();quit;end
+if regexp('abc' ,'/ab{0,1}c/' ,'r') <> 1 then bugmes();quit;end
+if regexp('abc' ,'/^abc$/' ,'r') <> 1 then bugmes();quit;end
+if regexp('abcc' ,'/^abc$/' ,'r') <> [] then bugmes();quit;end
+if regexp('abcc' ,'/^abc/' ,'r') <> 1 then bugmes();quit;end
+if regexp('aabc' ,'/^abc$/' ,'r') <> [] then bugmes();quit;end
+if regexp('aabc' ,'/abc$/' ,'r') <> 2 then bugmes();quit;end
+if regexp('aabcd' ,'/abc$/' ,'r') <> [] then bugmes();quit;end
+if regexp('abc' ,'/^/' ,'r') <> 1 then bugmes();quit;end
+if regexp('abc' ,'/$/' ,'r') <> 3 then bugmes();quit;end
+if regexp('abc' ,'/a.c/' ,'r') <> 1 then bugmes();quit;end
+if regexp('axc' ,'/a.c/' ,'r') <> 1 then bugmes();quit;end
+if regexp('axyzc' ,'/a.*c/' ,'r') <> 1 then bugmes();quit;end
+if regexp('axyzd' ,'/a.*c/' ,'r') <> [] then bugmes();quit;end
+if regexp('abc' ,'/a[bc]d/' ,'r') <> [] then bugmes();quit;end
+if regexp('abd' ,'/a[bc]d/' ,'r') <> 1 then bugmes();quit;end
+if regexp('abd' ,'/a[b-d]e/' ,'r') <> [] then bugmes();quit;end
+if regexp('ace' ,'/a[b-d]e/' ,'r') <> 1 then bugmes();quit;end
+if regexp('aac' ,'/a[b-d]/' ,'r') <> 2 then bugmes();quit;end
+if regexp('a-' ,'/a[-b]/' ,'r') <> 1 then bugmes();quit;end
+if regexp('a-' ,'/a[b-]/' ,'r') <> 1 then bugmes();quit;end
+if regexp('a]' ,'/a]/' ,'r') <> 1 then bugmes();quit;end
+if regexp('a]b' ,'/a[]]b/' ,'r') <> 1 then bugmes();quit;end
+if regexp('aed' ,'/a[^bc]d/' ,'r') <> 1 then bugmes();quit;end
+if regexp('abd' ,'/a[^bc]d/' ,'r') <> [] then bugmes();quit;end
+if regexp('adc' ,'/a[^-b]c/' ,'r') <> 1 then bugmes();quit;end
+if regexp('a-c' ,'/a[^-b]c/' ,'r') <> [] then bugmes();quit;end
+if regexp('a]c' ,'/a[^]b]c/' ,'r') <> [] then bugmes();quit;end
+if regexp('adc' ,'/a[^]b]c/' ,'r') <> 1 then bugmes();quit;end
+if regexp('a-' ,'/\ba\b/' ,'r') <> 1 then bugmes();quit;end
+if regexp('-a' ,'/\ba\b/' ,'r') <> 2 then bugmes();quit;end
+if regexp('-a-' ,'/\ba\b/' ,'r') <> 2 then bugmes();quit;end
+if regexp('xy' ,'/\by\b/' ,'r') <> [] then bugmes();quit;end
+if regexp('yz' ,'/\by\b/' ,'r') <> [] then bugmes();quit;end
+if regexp('xyz' ,'/\by\b/' ,'r') <> [] then bugmes();quit;end
+if regexp('a-' ,'/\Ba\B/' ,'r') <> [] then bugmes();quit;end
+if regexp('-a' ,'/\Ba\B/' ,'r') <> [] then bugmes();quit;end
+if regexp('-a-' ,'/\Ba\B/' ,'r') <> [] then bugmes();quit;end
+if regexp('xy' ,'/\By\b/' ,'r') <> 2 then bugmes();quit;end
+if regexp('xy' ,'/\By\b/' ,'r') <> 2 then bugmes();quit;end
+if regexp('yz' ,'/\by\B/' ,'r') <> 1 then bugmes();quit;end
+if regexp('xyz' ,'/\By\B/' ,'r') <> 2 then bugmes();quit;end
+if regexp('a' ,'/\w/' ,'r') <> 1 then bugmes();quit;end
+if regexp('-' ,'/\w/' ,'r') <> [] then bugmes();quit;end
+if regexp('a' ,'/\W/' ,'r') <> [] then bugmes();quit;end
+if regexp('-' ,'/\W/' ,'r') <> 1 then bugmes();quit;end
+if regexp('a b' ,'/a\sb/' ,'r') <> 1 then bugmes();quit;end
+if regexp('a-b' ,'/a\sb/' ,'r') <> [] then bugmes();quit;end
+if regexp('a b' ,'/a\Sb/' ,'r') <> [] then bugmes();quit;end
+if regexp('a-b' ,'/a\Sb/' ,'r') <> 1 then bugmes();quit;end
+if regexp('1' ,'/\d/' ,'r') <> 1 then bugmes();quit;end
+if regexp('-' ,'/\d/' ,'r') <> [] then bugmes();quit;end
+if regexp('1' ,'/\D/' ,'r') <> [] then bugmes();quit;end
+if regexp('-' ,'/\D/' ,'r') <> 1 then bugmes();quit;end
+if regexp('a' ,'/[\w]/' ,'r') <> 1 then bugmes();quit;end
+if regexp('-' ,'/[\w]/' ,'r') <> [] then bugmes();quit;end
+if regexp('a' ,'/[\W]/' ,'r') <> [] then bugmes();quit;end
+if regexp('-' ,'/[\W]/' ,'r') <> 1 then bugmes();quit;end
+if regexp('a b' ,'/a[\s]b/' ,'r') <> 1 then bugmes();quit;end
+if regexp('a-b' ,'/a[\s]b/' ,'r') <> [] then bugmes();quit;end
+if regexp('a b' ,'/a[\S]b/' ,'r') <> [] then bugmes();quit;end
+if regexp('a-b' ,'/a[\S]b/' ,'r') <> 1 then bugmes();quit;end
+if regexp('1' ,'/[\d]/' ,'r') <> 1 then bugmes();quit;end
+if regexp('-' ,'/[\d]/' ,'r') <> [] then bugmes();quit;end
+if regexp('1' ,'/[\D]/' ,'r') <> [] then bugmes();quit;end
+if regexp('-' ,'/[\D]/' ,'r') <> 1 then bugmes();quit;end
+if regexp('abc' ,'/ab|cd/' ,'r') <> 1 then bugmes();quit;end
+if regexp('abcd' ,'/ab|cd/' ,'r') <> 1 then bugmes();quit;end
+if regexp('b' ,'/$b/' ,'r') <> [] then bugmes();quit;end
+if regexp('ab' ,'/a\(*b/' ,'r') <> 1 then bugmes();quit;end
+if regexp('a((b' ,'/a\(*b/' ,'r') <> 1 then bugmes();quit;end
+if regexp('aabbabc' ,'/a+b+c/' ,'r') <> 5 then bugmes();quit;end
+if regexp('aabbabc' ,'/a{1,}b{1,}c/' ,'r') <> 5 then bugmes();quit;end
+if regexp('abcabc' ,'/a.+?c/' ,'r') <> 1 then bugmes();quit;end
+if regexp('cde' ,'/[^ab]*/' ,'r') <> 1 then bugmes();quit;end
+if regexp('' ,'/abc/' ,'r') <> [] then bugmes();quit;end
+//?if regexp('' ,'/a*/' ,'r') <> [] then bugmes();quit;end
+if regexp('e' ,'/a|b|c|d|e/' ,'r') <> 1 then bugmes();quit;end
+if regexp('abcdefg' ,'/abcd*efg/' ,'r') <> 1 then bugmes();quit;end
+if regexp('xabyabbbz' ,'/ab*/' ,'r') <> [2 5] then bugmes();quit;end
+//?if regexp('xayabbbz' ,'/ab*/' ,'r') <> [2 4] then bugmes();quit;end
+if regexp('hij' ,'/[abhgefdc]ij/' ,'r') <> 1 then bugmes();quit;end
+if regexp('abcde' ,'/^(ab|cd)e/' ,'r') <> [] then bugmes();quit;end
+if regexp('adcdcde' ,'/a[bcd]*dcdcde/' ,'r') <> 1 then bugmes();quit;end
+if regexp('adcdcde' ,'/a[bcd]+dcdcde/' ,'r') <> [] then bugmes();quit;end
+if regexp('alpha' ,'/[a-zA-Z_][a-zA-Z0-9_]*/' ,'r') <> 1 then bugmes();quit;end
+if regexp('effg' ,'/(bc+d$|ef*g.|h?i(j|k))/' ,'r') <> [] then bugmes();quit;end
+if regexp('bcdd' ,'/(bc+d$|ef*g.|h?i(j|k))/' ,'r') <> [] then bugmes();quit;end
+if regexp('aa' ,'/((((((((((a))))))))))\10/' ,'r') <> 1 then bugmes();quit;end
+if regexp('aa' ,'/((((((((((a))))))))))\041/' ,'r') <> [] then bugmes();quit;end
+if regexp('a!' ,'/((((((((((a))))))))))\041/' ,'r') <> 1 then bugmes();quit;end
+if regexp('a' ,'/(((((((((a)))))))))/' ,'r') <> 1 then bugmes();quit;end
+if regexp('uh-uh' ,'/multiple words of text/' ,'r') <> [] then bugmes();quit;end
+if regexp('multiple words, yeah' ,'/multiple words/' ,'r') <> 1 then bugmes();quit;end
+if regexp('ab' ,'/[k]/' ,'r') <> [] then bugmes();quit;end
+if regexp('ac' ,'/a[-]?c/' ,'r') <> 1 then bugmes();quit;end
+if regexp('a' ,'/(a)|\1/' ,'r') <> 1 then bugmes();quit;end
+if regexp('x' ,'/(a)|\1/' ,'r') <> [] then bugmes();quit;end
+if regexp('aaxabxbaxbbx' ,'/((\3|b)\2(a)x)+/' ,'r') <> [] then bugmes();quit;end
+if regexp('ABC' ,'/abc/i' ,'r') <> 1 then bugmes();quit;end
+if regexp('XBC' ,'/abc/i' ,'r') <> [] then bugmes();quit;end
+if regexp('AXC' ,'/abc/i' ,'r') <> [] then bugmes();quit;end
+if regexp('ABX' ,'/abc/i' ,'r') <> [] then bugmes();quit;end
+if regexp('XABCY' ,'/abc/i' ,'r') <> 2 then bugmes();quit;end
+if regexp('ABABC' ,'/abc/i' ,'r') <> 3 then bugmes();quit;end
+if regexp('ABC' ,'/ab*c/i' ,'r') <> 1 then bugmes();quit;end
+if regexp('ABC' ,'/ab*bc/i' ,'r') <> 1 then bugmes();quit;end
+if regexp('ABBC' ,'/ab*bc/i' ,'r') <> 1 then bugmes();quit;end
+if regexp('ABBBBC' ,'/ab*?bc/i' ,'r') <> 1 then bugmes();quit;end
+if regexp('ABBBBC' ,'/ab{0,}?bc/i' ,'r') <> 1 then bugmes();quit;end
+if regexp('ABBC' ,'/ab+?bc/i' ,'r') <> 1 then bugmes();quit;end
+if regexp('ABC' ,'/ab+bc/i' ,'r') <> [] then bugmes();quit;end
+if regexp('ABQ' ,'/ab+bc/i' ,'r') <> [] then bugmes();quit;end
+if regexp('ABQ' ,'/ab{1,}bc/i' ,'r') <> [] then bugmes();quit;end
+if regexp('ABBBBC' ,'/ab+bc/i' ,'r') <> 1 then bugmes();quit;end
+if regexp('ABBBBC' ,'/ab{1,}?bc/i' ,'r') <> 1 then bugmes();quit;end
+if regexp('ABBBBC' ,'/ab{1,3}?bc/i' ,'r') <> 1 then bugmes();quit;end
+if regexp('ABBBBC' ,'/ab{3,4}?bc/i' ,'r') <> 1 then bugmes();quit;end
+if regexp('ABBBBC' ,'/ab{4,5}?bc/i' ,'r') <> [] then bugmes();quit;end
+if regexp('ABBC' ,'/ab??bc/i' ,'r') <> 1 then bugmes();quit;end
+if regexp('ABC' ,'/ab??bc/i' ,'r') <> 1 then bugmes();quit;end
+if regexp('ABC' ,'/ab{0,1}?bc/i' ,'r') <> 1 then bugmes();quit;end
+if regexp('ABBBBC' ,'/ab??bc/i' ,'r') <> [] then bugmes();quit;end
+if regexp('ABC' ,'/ab??c/i' ,'r') <> 1 then bugmes();quit;end
+if regexp('ABC' ,'/ab{0,1}?c/i' ,'r') <> 1 then bugmes();quit;end
+if regexp('ABC' ,'/^abc$/i' ,'r') <> 1 then bugmes();quit;end
+if regexp('ABCC' ,'/^abc$/i' ,'r') <> [] then bugmes();quit;end
+if regexp('ABCC' ,'/^abc/i' ,'r') <> 1 then bugmes();quit;end
+//leak if regexp('AABC' ,'/^abc$/i' ,'r') <> [] then bugmes();quit;end
+if regexp('AABC' ,'/abc$/i' ,'r') <> 2 then bugmes();quit;end
+//leak if regexp('ABC' ,'/^/i' ,'r') <> 1 then bugmes();quit;end
+if regexp('ABC' ,'/$/i' ,'r') <> 3 then bugmes();quit;end
+if regexp('ABC' ,'/a.c/i' ,'r') <> 1 then bugmes();quit;end
+if regexp('AXC' ,'/a.c/i' ,'r') <> 1 then bugmes();quit;end
+if regexp('AXYZC' ,'/a.*?c/i' ,'r') <> 1 then bugmes();quit;end
+if regexp('AXYZD' ,'/a.*c/i' ,'r') <> [] then bugmes();quit;end
+if regexp('ABC' ,'/a[bc]d/i' ,'r') <> [] then bugmes();quit;end
+if regexp('ABD' ,'/a[bc]d/i' ,'r') <> 1 then bugmes();quit;end
+if regexp('ABD' ,'/a[b-d]e/i' ,'r') <> [] then bugmes();quit;end
+if regexp('ACE' ,'/a[b-d]e/i' ,'r') <> 1 then bugmes();quit;end
+if regexp('AAC' ,'/a[b-d]/i' ,'r') <> 2 then bugmes();quit;end
+if regexp('A-' ,'/a[-b]/i' ,'r') <> 1 then bugmes();quit;end
+if regexp('A-' ,'/a[b-]/i' ,'r') <> 1 then bugmes();quit;end
+if regexp('A]' ,'/a]/i' ,'r') <> 1 then bugmes();quit;end
+if regexp('A]B' ,'/a[]]b/i' ,'r') <> 1 then bugmes();quit;end
+if regexp('AED' ,'/a[^bc]d/i' ,'r') <> 1 then bugmes();quit;end
+if regexp('ABD' ,'/a[^bc]d/i' ,'r') <> [] then bugmes();quit;end
+if regexp('ADC' ,'/a[^-b]c/i' ,'r') <> 1 then bugmes();quit;end
+if regexp('A-C' ,'/a[^-b]c/i' ,'r') <> [] then bugmes();quit;end
+if regexp('A]C' ,'/a[^]b]c/i' ,'r') <> [] then bugmes();quit;end
+if regexp('ADC' ,'/a[^]b]c/i' ,'r') <> 1 then bugmes();quit;end
+if regexp('ABC' ,'/ab|cd/i' ,'r') <> 1 then bugmes();quit;end
+if regexp('ABCD' ,'/ab|cd/i' ,'r') <> 1 then bugmes();quit;end
+if regexp('B' ,'/$b/i' ,'r') <> [] then bugmes();quit;end
+if regexp('AB' ,'/a\(*b/i' ,'r') <> 1 then bugmes();quit;end
+if regexp('A((B' ,'/a\(*b/i' ,'r') <> 1 then bugmes();quit;end
+if regexp('AABBABC' ,'/a+b+c/i' ,'r') <> 5 then bugmes();quit;end
+if regexp('AABBABC' ,'/a{1,}b{1,}c/i' ,'r') <> 5 then bugmes();quit;end
+if regexp('ABCABC' ,'/a.+?c/i' ,'r') <> [1 4] then bugmes();quit;end
+if regexp('ABCABC' ,'/a.*?c/i' ,'r') <> 1 then bugmes();quit;end
+if regexp('ABCABC' ,'/a.{0,5}?c/i' ,'r') <> 1 then bugmes();quit;end
+if regexp('CDE' ,'/[^ab]*/i' ,'r') <> 1 then bugmes();quit;end
+if regexp('' ,'/abc/i' ,'r') <> [] then bugmes();quit;end
+//if regexp('' ,'/a*/i' ,'r') <> [] then bugmes();quit;end
+if regexp('E' ,'/a|b|c|d|e/i' ,'r') <> 1 then bugmes();quit;end
+if regexp('ABCDEFG' ,'/abcd*efg/i' ,'r') <> 1 then bugmes();quit;end
+if regexp('XABYABBBZ' ,'/ab*/i' ,'r') <> [2 5] then bugmes();quit;end
+if regexp('XAYABBBZ' ,'/ab*/i' ,'r') <> [2 4] then bugmes();quit;end
+if regexp('HIJ' ,'/[abhgefdc]ij/i' ,'r') <> 1 then bugmes();quit;end
+if regexp('ABCDE' ,'/^(ab|cd)e/i' ,'r') <> [] then bugmes();quit;end
+if regexp('ADCDCDE' ,'/a[bcd]*dcdcde/i' ,'r') <> 1 then bugmes();quit;end
+if regexp('ADCDCDE' ,'/a[bcd]+dcdcde/i' ,'r') <> [] then bugmes();quit;end
+if regexp('ALPHA' ,'/[a-zA-Z_][a-zA-Z0-9_]*/i' ,'r') <> 1 then bugmes();quit;end
+if regexp('EFFG' ,'/(bc+d$|ef*g.|h?i(j|k))/i' ,'r') <> [] then bugmes();quit;end
+if regexp('BCDD' ,'/(bc+d$|ef*g.|h?i(j|k))/i' ,'r') <> [] then bugmes();quit;end
+if regexp('AA' ,'/((((((((((a))))))))))\10/i' ,'r') <> 1 then bugmes();quit;end
+if regexp('AA' ,'/((((((((((a))))))))))\041/i' ,'r') <> [] then bugmes();quit;end
+if regexp('A!' ,'/((((((((((a))))))))))\041/i' ,'r') <> 1 then bugmes();quit;end
+if regexp('A' ,'/(((((((((a)))))))))/i' ,'r') <> 1 then bugmes();quit;end
+if regexp('UH-UH' ,'/multiple words of text/i' ,'r') <> [] then bugmes();quit;end
+if regexp('MULTIPLE WORDS, YEAH' ,'/multiple words/i' ,'r') <> 1 then bugmes();quit;end
+if regexp('AB' ,'/[k]/i' ,'r') <> [] then bugmes();quit;end
+if regexp('AC' ,'/a[-]?c/i' ,'r') <> 1 then bugmes();quit;end
+if regexp('abad' ,'/a(?!b)./' ,'r') <> 3 then bugmes();quit;end
+if regexp('abad' ,'/a(?=d)./' ,'r') <> 3 then bugmes();quit;end
+if regexp('abad' ,'/a(?=c|d)./' ,'r') <> 3 then bugmes();quit;end
+if regexp('<&OUT' ,'/^[<>]&/' ,'r') <> 1 then bugmes();quit;end
+if regexp('aaaaaaaaa' ,'/^(a\1?){4}$/' ,'r') <> [] then bugmes();quit;end
+if regexp('aaaaaaaaaaa' ,'/^(a\1?){4}$/' ,'r') <> [] then bugmes();quit;end
+if regexp('aaaaaaaaa' ,'/^(a(?(1)\1)){4}$/' ,'r') <> [] then bugmes();quit;end
+if regexp('aaaaaaaaaaa' ,'/^(a(?(1)\1)){4}$/' ,'r') <> [] then bugmes();quit;end
+if regexp('ab' ,'/(?<=a)b/' ,'r') <> 2 then bugmes();quit;end
+if regexp('cb' ,'/(?<=a)b/' ,'r') <> [] then bugmes();quit;end
+if regexp('b' ,'/(?<=a)b/' ,'r') <> [] then bugmes();quit;end
+if regexp('ab' ,'/(?<!c)b/' ,'r') <> 2 then bugmes();quit;end
+if regexp('cb' ,'/(?<!c)b/' ,'r') <> [] then bugmes();quit;end
+if regexp('b' ,'/(?<!c)b/' ,'r') <> 1 then bugmes();quit;end
+if regexp('b' ,'/(?<!c)b/' ,'r') <> 1 then bugmes();quit;end
+if regexp('aba' ,'/(?:..)*a/' ,'r') <> 1 then bugmes();quit;end
+if regexp('aba' ,'/(?:..)*?a/' ,'r') <> 1 then bugmes();quit;end
+if regexp('abc' ,'/^(?:b|a(?=(.)))*\1/' ,'r') <> 1 then bugmes();quit;end
+if regexp('ab' ,'/(?:(?i)a)b/' ,'r') <> 1 then bugmes();quit;end
+if regexp('Ab' ,'/(?:(?i)a)b/' ,'r') <> 1 then bugmes();quit;end
+if regexp('aB' ,'/(?:(?i)a)b/' ,'r') <> [] then bugmes();quit;end
+if regexp('aB' ,'/((?i)a)b/' ,'r') <> [] then bugmes();quit;end
+if regexp('ab' ,'/(?i:a)b/' ,'r') <> 1 then bugmes();quit;end
+if regexp('Ab' ,'/(?i:a)b/' ,'r') <> 1 then bugmes();quit;end
+if regexp('aB' ,'/(?i:a)b/' ,'r') <> [] then bugmes();quit;end
+if regexp('aB' ,'/((?i:a))b/' ,'r') <> [] then bugmes();quit;end
+if regexp('ab' ,'/(?:(?-i)a)b/i' ,'r') <> 1 then bugmes();quit;end
+if regexp('aB' ,'/(?:(?-i)a)b/i' ,'r') <> 1 then bugmes();quit;end
+if regexp('Ab' ,'/(?:(?-i)a)b/i' ,'r') <> [] then bugmes();quit;end
+if regexp('Ab' ,'/((?-i)a)b/i' ,'r') <> [] then bugmes();quit;end
+if regexp('aB' ,'/(?:(?-i)a)b/i' ,'r') <> 1 then bugmes();quit;end
+if regexp('AB' ,'/(?:(?-i)a)b/i' ,'r') <> [] then bugmes();quit;end
+if regexp('AB' ,'/((?-i)a)b/i' ,'r') <> [] then bugmes();quit;end
+if regexp('ab' ,'/(?-i:a)b/i' ,'r') <> 1 then bugmes();quit;end
+if regexp('aB' ,'/(?-i:a)b/i' ,'r') <> 1 then bugmes();quit;end
+if regexp('Ab' ,'/(?-i:a)b/i' ,'r') <> [] then bugmes();quit;end
+if regexp('Ab' ,'/((?-i:a))b/i' ,'r') <> [] then bugmes();quit;end
+if regexp('aB' ,'/(?-i:a)b/i' ,'r') <> 1 then bugmes();quit;end
+if regexp('AB' ,'/(?-i:a)b/i' ,'r') <> [] then bugmes();quit;end
+if regexp('AB' ,'/((?-i:a))b/i' ,'r') <> [] then bugmes();quit;end
+if regexp('a\nB' ,'/((?-i:a.))b/i' ,'r') <> [] then bugmes();quit;end
+if regexp('B\nB' ,'/((?s-i:a.))b/i' ,'r') <> [] then bugmes();quit;end
+if regexp('cabbbb' ,'/(?:c|d)(?:)(?:a(?:)(?:b)(?:b(?:))(?:b(?:)(?:b)))/','r') <> 1 then bugmes();quit;end
+if regexp('caaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb','/(?:c|d)(?:)(?:aaaaaaaa(?:)(?:bbbbbbbb)(?:bbbbbbbb(?:))(?:bbbbbbbb(?:)(?:bbbbbbbb)))/','r') <> 1 then bugmes();quit;end
+if regexp('foobar1234baz' ,'/foo\w*\d{4}baz/' ,'r') <> 1 then bugmes();quit;end
+if regexp('x~~' ,'/x(~~)*(?:(?:F)?)?/' ,'r') <> 1 then bugmes();quit;end
+if regexp('aaac' ,'/^a(?#xxx){3}c/' ,'r') <> 1 then bugmes();quit;end
+if regexp('aaac' ,'/^a (?#xxx) (?#yyy) {3}c/x' ,'r') <> 1 then bugmes();quit;end
+if regexp('dbcb' ,'/(?<![cd])b/' ,'r') <> [] then bugmes();quit;end
+if regexp('dbaacb' ,'/(?<![cd])[ab]/' ,'r') <> [3 4] then bugmes();quit;end
+if regexp('dbcb' ,'/(?<!(c|d))b/' ,'r') <> [] then bugmes();quit;end
+if regexp('dbaacb' ,'/(?<!(c|d))[ab]/' ,'r') <> [3 4] then bugmes();quit;end
+if regexp('cdaccb' ,'/(?<!cd)[ab]/' ,'r') <> 6 then bugmes();quit;end
+if regexp('a--' ,'/^(?:a?b?)*$/' ,'r') <> [] then bugmes();quit;end
+if regexp('a\nb\n' ,'/(?m)^b/' ,'r') <> [3 4] then bugmes();quit;end
+if regexp('a\nb\nc\n' ,'/^b/' ,'r') <> [] then bugmes();quit;end
+if regexp('a\nb\nc\n' ,'/()^b/' ,'r') <> [] then bugmes();quit;end
+if regexp('a' ,'/(?(1)a|b)/' ,'r') <> [] then bugmes();quit;end
+if regexp('a' ,'/(?(1)b|a)/' ,'r') <> 1 then bugmes();quit;end
+if regexp('a' ,'/(x)?(?(1)a|b)/' ,'r') <> [] then bugmes();quit;end
+if regexp('a' ,'/(x)?(?(1)b|a)/' ,'r') <> 1 then bugmes();quit;end
+if regexp('a' ,'/()?(?(1)b|a)/' ,'r') <> 1 then bugmes();quit;end
+if regexp('a' ,'/()(?(1)b|a)/' ,'r') <> [] then bugmes();quit;end
+if regexp('a' ,'/()?(?(1)a|b)/' ,'r') <> 1 then bugmes();quit;end
+if regexp('blah)' ,'/^(\()?blah(?(1)(\)))$/' ,'r') <> [] then bugmes();quit;end
+if regexp('(blah' ,'/^(\()?blah(?(1)(\)))$/' ,'r') <> [] then bugmes();quit;end
+if regexp('blah)' ,'/^(\(+)?blah(?(1)(\)))$/' ,'r') <> [] then bugmes();quit;end
+if regexp('(blah' ,'/^(\(+)?blah(?(1)(\)))$/' ,'r') <> [] then bugmes();quit;end
+//if regexp('a' ,'/(?(?{0})a|b)/' ,'r') <> [] then bugmes();quit;end
+//if regexp('a' ,'/(?(?{1})b|a)/' ,'r') <> [] then bugmes();quit;end
+if regexp('a' ,'/(?(?!a)a|b)/' ,'r') <> [] then bugmes();quit;end
+if regexp('a' ,'/(?(?!a)b|a)/' ,'r') <> 1 then bugmes();quit;end
+if regexp('a' ,'/(?(?=a)b|a)/' ,'r') <> [] then bugmes();quit;end
+if regexp('a' ,'/(?(?=a)a|b)/' ,'r') <> 1 then bugmes();quit;end
+if regexp('aaab' ,'/^(?=(a+?))\1ab/' ,'r') <> [] then bugmes();quit;end
+if regexp('aaab' ,'/^(?=(a+?))\1ab/' ,'r') <> [] then bugmes();quit;end
+if regexp('abcd:' ,'/([\w:]+::)?(\w+)$/' ,'r') <> [] then bugmes();quit;end
+if regexp('abcd:' ,'/([\w:]+::)?(\w+)$/' ,'r') <> [] then bugmes();quit;end
+if regexp('aaab' ,'/(>a+)ab/' ,'r') <> [] then bugmes();quit;end
+if regexp('aaab' ,'/(?>a+)b/' ,'r') <> 1 then bugmes();quit;end
+if regexp('abc' ,'/[a[:]b[:c]/' ,'r') <> 1 then bugmes();quit;end
+if regexp('abc' ,'/[a[:]b[:c]/' ,'r') <> 1 then bugmes();quit;end
+if regexp('((abc(ade)ufh()()x' ,'/((?>[^()]+)|\([^()]*\))+/' ,'r') <> 3 then bugmes();quit;end
+//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+if regexp('a\nb\n' ,'/a\Z/' ,'r') <> [] then bugmes();quit;end
+if regexp('a\nb\n' ,'/a\z/' ,'r') <> [] then bugmes();quit;end
+if regexp('a\nb\n' ,'/a$/' ,'r') <> [] then bugmes();quit;end
+if regexp('b\na\n' ,'/a\z/' ,'r') <> [] then bugmes();quit;end
+if regexp('a\nb\n' ,'/a\Z/m' ,'r') <> [] then bugmes();quit;end
+if regexp('a\nb\n' ,'/a\z/m' ,'r') <> [] then bugmes();quit;end
+if regexp('b\na\n' ,'/a\z/m' ,'r') <> [] then bugmes();quit;end
+if regexp('aa\nb\n' ,'/aa\Z/' ,'r') <> [] then bugmes();quit;end
+if regexp('aa\nb\n' ,'/aa\z/' ,'r') <> [] then bugmes();quit;end
+if regexp('aa\nb\n' ,'/aa$/' ,'r') <> [] then bugmes();quit;end
+if regexp('b\naa\n' ,'/aa\z/' ,'r') <> [] then bugmes();quit;end
+if regexp('aa\nb\n' ,'/aa\Z/m' ,'r') <> [] then bugmes();quit;end
+if regexp('aa\nb\n' ,'/aa\z/m' ,'r') <> [] then bugmes();quit;end
+if regexp('b\naa\n' ,'/aa\z/m' ,'r') <> [] then bugmes();quit;end
+if regexp('ac\nb\n' ,'/aa\Z/' ,'r') <> [] then bugmes();quit;end
+if regexp('ac\nb\n' ,'/aa\z/' ,'r') <> [] then bugmes();quit;end
+if regexp('ac\nb\n' ,'/aa$/' ,'r') <> [] then bugmes();quit;end
+if regexp('b\nac\n' ,'/aa\Z/' ,'r') <> [] then bugmes();quit;end
+if regexp('b\nac\n' ,'/aa\z/' ,'r') <> [] then bugmes();quit;end
+if regexp('b\nac\n' ,'/aa$/' ,'r') <> [] then bugmes();quit;end
+if regexp('b\nac' ,'/aa\Z/' ,'r') <> [] then bugmes();quit;end
+if regexp('b\nac' ,'/aa\z/' ,'r') <> [] then bugmes();quit;end
+if regexp('b\nac' ,'/aa$/' ,'r') <> [] then bugmes();quit;end
+if regexp('ac\nb\n' ,'/aa\Z/m' ,'r') <> [] then bugmes();quit;end
+if regexp('ac\nb\n' ,'/aa\z/m' ,'r') <> [] then bugmes();quit;end
+if regexp('ac\nb\n' ,'/aa$/m' ,'r') <> [] then bugmes();quit;end
+if regexp('b\nac\n' ,'/aa\Z/m' ,'r') <> [] then bugmes();quit;end
+if regexp('b\nac\n' ,'/aa\z/m' ,'r') <> [] then bugmes();quit;end
+if regexp('b\nac\n' ,'/aa$/m' ,'r') <> [] then bugmes();quit;end
+if regexp('b\nac' ,'/aa\Z/m' ,'r') <> [] then bugmes();quit;end
+if regexp('b\nac' ,'/aa\z/m' ,'r') <> [] then bugmes();quit;end
+if regexp('b\nac' ,'/aa$/m' ,'r') <> [] then bugmes();quit;end
+if regexp('ca\nb\n' ,'/aa\Z/' ,'r') <> [] then bugmes();quit;end
+if regexp('ca\nb\n' ,'/aa\z/' ,'r') <> [] then bugmes();quit;end
+if regexp('ca\nb\n' ,'/aa$/' ,'r') <> [] then bugmes();quit;end
+if regexp('b\nca\n' ,'/aa\Z/' ,'r') <> [] then bugmes();quit;end
+if regexp('b\nca\n' ,'/aa\z/' ,'r') <> [] then bugmes();quit;end
+if regexp('b\nca\n' ,'/aa$/' ,'r') <> [] then bugmes();quit;end
+if regexp('b\nca' ,'/aa\Z/' ,'r') <> [] then bugmes();quit;end
+if regexp('b\nca' ,'/aa\z/' ,'r') <> [] then bugmes();quit;end
+if regexp('b\nca' ,'/aa$/' ,'r') <> [] then bugmes();quit;end
+if regexp('ca\nb\n' ,'/aa\Z/m' ,'r') <> [] then bugmes();quit;end
+if regexp('ca\nb\n' ,'/aa\z/m' ,'r') <> [] then bugmes();quit;end
+if regexp('ca\nb\n' ,'/aa$/m' ,'r') <> [] then bugmes();quit;end
+if regexp('b\nca\n' ,'/aa\Z/m' ,'r') <> [] then bugmes();quit;end
+if regexp('b\nca\n' ,'/aa\z/m' ,'r') <> [] then bugmes();quit;end
+if regexp('b\nca\n' ,'/aa$/m' ,'r') <> [] then bugmes();quit;end
+if regexp('b\nca' ,'/aa\Z/m' ,'r') <> [] then bugmes();quit;end
+if regexp('b\nca' ,'/aa\z/m' ,'r') <> [] then bugmes();quit;end
+if regexp('b\nca' ,'/aa$/m' ,'r') <> [] then bugmes();quit;end
+if regexp('ab\nb\n' ,'/ab\Z/' ,'r') <> [] then bugmes();quit;end
+if regexp('ab\nb\n' ,'/ab\z/' ,'r') <> [] then bugmes();quit;end
+if regexp('ab\nb\n' ,'/ab$/' ,'r') <> [] then bugmes();quit;end
+if regexp('b\nab\n' ,'/ab\z/' ,'r') <> [] then bugmes();quit;end
+if regexp('ab\nb\n' ,'/ab\Z/m' ,'r') <> [] then bugmes();quit;end
+if regexp('ab\nb\n' ,'/ab\z/m' ,'r') <> [] then bugmes();quit;end
+if regexp('b\nab\n' ,'/ab\z/m' ,'r') <> [] then bugmes();quit;end
+if regexp('ac\nb\n' ,'/ab\Z/' ,'r') <> [] then bugmes();quit;end
+if regexp('ac\nb\n' ,'/ab\z/' ,'r') <> [] then bugmes();quit;end
+if regexp('ac\nb\n' ,'/ab$/' ,'r') <> [] then bugmes();quit;end
+if regexp('b\nac\n' ,'/ab\Z/' ,'r') <> [] then bugmes();quit;end
+if regexp('b\nac\n' ,'/ab\z/' ,'r') <> [] then bugmes();quit;end
+if regexp('b\nac\n' ,'/ab$/' ,'r') <> [] then bugmes();quit;end
+if regexp('b\nac' ,'/ab\Z/' ,'r') <> [] then bugmes();quit;end
+if regexp('b\nac' ,'/ab\z/' ,'r') <> [] then bugmes();quit;end
+if regexp('b\nac' ,'/ab$/' ,'r') <> [] then bugmes();quit;end
+if regexp('ac\nb\n' ,'/ab\Z/m' ,'r') <> [] then bugmes();quit;end
+if regexp('ac\nb\n' ,'/ab\z/m' ,'r') <> [] then bugmes();quit;end
+if regexp('ac\nb\n' ,'/ab$/m' ,'r') <> [] then bugmes();quit;end
+if regexp('b\nac\n' ,'/ab\Z/m' ,'r') <> [] then bugmes();quit;end
+if regexp('b\nac\n' ,'/ab\z/m' ,'r') <> [] then bugmes();quit;end
+if regexp('b\nac\n' ,'/ab$/m' ,'r') <> [] then bugmes();quit;end
+if regexp('b\nac' ,'/ab\Z/m' ,'r') <> [] then bugmes();quit;end
+if regexp('b\nac' ,'/ab\z/m' ,'r') <> [] then bugmes();quit;end
+if regexp('b\nac' ,'/ab$/m' ,'r') <> [] then bugmes();quit;end
+if regexp('ca\nb\n' ,'/ab\Z/' ,'r') <> [] then bugmes();quit;end
+if regexp('ca\nb\n' ,'/ab\z/' ,'r') <> [] then bugmes();quit;end
+if regexp('ca\nb\n' ,'/ab$/' ,'r') <> [] then bugmes();quit;end
+if regexp('b\nca\n' ,'/ab\Z/' ,'r') <> [] then bugmes();quit;end
+if regexp('b\nca\n' ,'/ab\z/' ,'r') <> [] then bugmes();quit;end
+if regexp('b\nca\n' ,'/ab$/' ,'r') <> [] then bugmes();quit;end
+if regexp('b\nca' ,'/ab\Z/' ,'r') <> [] then bugmes();quit;end
+if regexp('b\nca' ,'/ab\z/' ,'r') <> [] then bugmes();quit;end
+if regexp('b\nca' ,'/ab$/' ,'r') <> [] then bugmes();quit;end
+if regexp('ca\nb\n' ,'/ab\Z/m' ,'r') <> [] then bugmes();quit;end
+if regexp('ca\nb\n' ,'/ab\z/m' ,'r') <> [] then bugmes();quit;end
+if regexp('ca\nb\n' ,'/ab$/m' ,'r') <> [] then bugmes();quit;end
+if regexp('b\nca\n' ,'/ab\Z/m' ,'r') <> [] then bugmes();quit;end
+if regexp('b\nca\n' ,'/ab\z/m' ,'r') <> [] then bugmes();quit;end
+if regexp('b\nca\n' ,'/ab$/m' ,'r') <> [] then bugmes();quit;end
+if regexp('b\nca' ,'/ab\Z/m' ,'r') <> [] then bugmes();quit;end
+if regexp('b\nca' ,'/ab\z/m' ,'r') <> [] then bugmes();quit;end
+if regexp('b\nca' ,'/ab$/m' ,'r') <> [] then bugmes();quit;end
+if regexp('abb\nb\n' ,'/abb\Z/' ,'r') <> [] then bugmes();quit;end
+if regexp('abb\nb\n' ,'/abb\z/' ,'r') <> [] then bugmes();quit;end
+if regexp('abb\nb\n' ,'/abb$/' ,'r') <> [] then bugmes();quit;end
+if regexp('b\nabb\n' ,'/abb\z/' ,'r') <> [] then bugmes();quit;end
+if regexp('abb\nb\n' ,'/abb\Z/m' ,'r') <> [] then bugmes();quit;end
+if regexp('abb\nb\n' ,'/abb\z/m' ,'r') <> [] then bugmes();quit;end
+if regexp('b\nabb\n' ,'/abb\z/m' ,'r') <> [] then bugmes();quit;end
+if regexp('ac\nb\n' ,'/abb\Z/' ,'r') <> [] then bugmes();quit;end
+if regexp('ac\nb\n' ,'/abb\z/' ,'r') <> [] then bugmes();quit;end
+if regexp('ac\nb\n' ,'/abb$/' ,'r') <> [] then bugmes();quit;end
+if regexp('b\nac\n' ,'/abb\Z/' ,'r') <> [] then bugmes();quit;end
+if regexp('b\nac\n' ,'/abb\z/' ,'r') <> [] then bugmes();quit;end
+if regexp('b\nac\n' ,'/abb$/' ,'r') <> [] then bugmes();quit;end
+if regexp('b\nac' ,'/abb\Z/' ,'r') <> [] then bugmes();quit;end
+if regexp('b\nac' ,'/abb\z/' ,'r') <> [] then bugmes();quit;end
+if regexp('b\nac' ,'/abb$/' ,'r') <> [] then bugmes();quit;end
+if regexp('ac\nb\n' ,'/abb\Z/m' ,'r') <> [] then bugmes();quit;end
+if regexp('ac\nb\n' ,'/abb\z/m' ,'r') <> [] then bugmes();quit;end
+if regexp('ac\nb\n' ,'/abb$/m' ,'r') <> [] then bugmes();quit;end
+if regexp('b\nac\n' ,'/abb\Z/m' ,'r') <> [] then bugmes();quit;end
+if regexp('b\nac\n' ,'/abb\z/m' ,'r') <> [] then bugmes();quit;end
+if regexp('b\nac\n' ,'/abb$/m' ,'r') <> [] then bugmes();quit;end
+if regexp('b\nac' ,'/abb\Z/m' ,'r') <> [] then bugmes();quit;end
+if regexp('b\nac' ,'/abb\z/m' ,'r') <> [] then bugmes();quit;end
+if regexp('b\nac' ,'/abb$/m' ,'r') <> [] then bugmes();quit;end
+if regexp('ca\nb\n' ,'/abb\Z/' ,'r') <> [] then bugmes();quit;end
+if regexp('ca\nb\n' ,'/abb\z/' ,'r') <> [] then bugmes();quit;end
+if regexp('ca\nb\n' ,'/abb$/' ,'r') <> [] then bugmes();quit;end
+if regexp('b\nca\n' ,'/abb\Z/' ,'r') <> [] then bugmes();quit;end
+if regexp('b\nca\n' ,'/abb\z/' ,'r') <> [] then bugmes();quit;end
+if regexp('b\nca\n' ,'/abb$/' ,'r') <> [] then bugmes();quit;end
+if regexp('b\nca' ,'/abb\Z/' ,'r') <> [] then bugmes();quit;end
+if regexp('b\nca' ,'/abb\z/' ,'r') <> [] then bugmes();quit;end
+if regexp('b\nca' ,'/abb$/' ,'r') <> [] then bugmes();quit;end
+if regexp('ca\nb\n' ,'/abb\Z/m' ,'r') <> [] then bugmes();quit;end
+if regexp('ca\nb\n' ,'/abb\z/m' ,'r') <> [] then bugmes();quit;end
+if regexp('ca\nb\n' ,'/abb$/m' ,'r') <> [] then bugmes();quit;end
+if regexp('b\nca\n' ,'/abb\Z/m' ,'r') <> [] then bugmes();quit;end
+if regexp('b\nca\n' ,'/abb\z/m' ,'r') <> [] then bugmes();quit;end
+if regexp('b\nca\n' ,'/abb$/m' ,'r') <> [] then bugmes();quit;end
+if regexp('b\nca' ,'/abb\Z/m' ,'r') <> [] then bugmes();quit;end
+if regexp('b\nca' ,'/abb\z/m' ,'r') <> [] then bugmes();quit;end
+if regexp('b\nca' ,'/abb$/m' ,'r') <> [] then bugmes();quit;end
+if regexp('x' ,'/a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz/','r') <> [] then bugmes();quit;end
+if regexp('foo.bart' ,'/foo.bart/' ,'r') <> 1 then bugmes();quit;end
+if regexp('abcd\ndxxx' ,'/^d[x][x][x]/m' ,'r') <> 6 then bugmes();quit;end
+if regexp('xxxtt' ,'/tt+$/' ,'r') <> 4 then bugmes();quit;end
+if regexp('aaaXbX' ,'/\GX.*X/' ,'r') <> [] then bugmes();quit;end
+if regexp('Changes' ,'/\.c(pp|xx|c)?$/i' ,'r') <> [] then bugmes();quit;end
+if regexp('IO.c' ,'/\.c(pp|xx|c)?$/i' ,'r') <> 3 then bugmes();quit;end
+if regexp('C:/' ,'/^([a-z]:)/' ,'r') <> [] then bugmes();quit;end
+if regexp('\nx aa' ,'/^\S\s+aa$/m' ,'r') <> 2 then bugmes();quit;end
+if regexp('ab' ,'/(^|a)b/' ,'r') <> 1 then bugmes();quit;end
+if regexp('abcab' ,'/(\w)?(abc)\1b/' ,'r') <> [] then bugmes();quit;end
+if regexp('a,b,c' ,'/^(?:.,){2}c/' ,'r') <> 1 then bugmes();quit;end
+if regexp('a,b,c' ,'/^(?:[^,]*,){2}c/' ,'r') <> 1 then bugmes();quit;end
+if regexp('' ,'/(?i)/' ,'r') <> 1 then bugmes();quit;end
+if regexp('a\nxb\n' ,'/(?!\A)x/m' ,'r') <> 3 then bugmes();quit;end
+if regexp('123\nabcabcabcabc\n' ,'/^.{9}abc.*\n/m' ,'r') <> 5 then bugmes();quit;end
+if regexp('a' ,'/^(a)?(?(1)a|b)+$/' ,'r') <> [] then bugmes();quit;end
+if regexp('x1' ,'/^(0+)?(?:x(1))?/' ,'r') <> 1 then bugmes();quit;end
+if regexp('012cxx0190' ,'/^([0-9a-fA-F]+)(?:x([0-9a-fA-F]+)?)(?:x([0-9a-fA-F]+))?/','r') <> 1 then bugmes();quit;end
+if regexp('aaaacccc' ,'/((?:aaaa|bbbb)cccc)?/' ,'r') <> 1 then bugmes();quit;end
+if regexp('bbbbcccc' ,'/((?:aaaa|bbbb)cccc)?/' ,'r') <> 1 then bugmes();quit;end
+if regexp('a\nb\n' ,'/b\s^/m' ,'r') <> [] then bugmes();quit;end
+if regexp('a' ,'/\ba/' ,'r') <> 1 then bugmes();quit;end
+if regexp('AbCd' ,'/ab(?i)cd/' ,'r') <> [] then bugmes();quit;end
+if regexp('abCd' ,'/ab(?i)cd/' ,'r') <> 1 then bugmes();quit;end
+if regexp('Oo' ,'/^(o)(?!.*\1)/i' ,'r') <> [] then bugmes();quit;end
+if regexp('2' ,'/2(]*)?$\1/' ,'r') <> 1 then bugmes();quit;end
+if regexp('......abef' ,'/.*a(?!(b|cd)*e).*f/' ,'r') <> [] then bugmes();quit;end
+if regexp('fools' ,'/(foo|fool|x.|money|parted)$/' ,'r') <> [] then bugmes();quit;end
+if regexp('fools' ,'/(x.|foo|fool|x.|money|parted|y.)$/' ,'r') <> [] then bugmes();quit;end
+if regexp('fools' ,'/(foo|fool|money|parted)$/' ,'r') <> [] then bugmes();quit;end