#include <perms.h>

                                                                //      1  %const %integer USE MC = 0,
                                                                //      2                  INCLUDE DELSTART = 0
                                                                //      3  
                                                                //      4  %BEGIN
#line 4 "regression-compile-tmp/imp918s.imp"
int main(int argc, char **argv) {
  _imp_initialise(argc, argv);
                                                                //      5           {%TRUSTEDPROGRAM}
                                                                //      6           %INTEGER I,J,K
#line 6 "regression-compile-tmp/imp918s.imp"
int I;
#line 6 "regression-compile-tmp/imp918s.imp"
int J;
#line 6 "regression-compile-tmp/imp918s.imp"
int K;
                                                                //      7  !%if INCLUDE DELSTART = 1 %start
                                                                //      8           %CONSTBYTEINTEGERARRAY OPC(0:120)=0,
#line 8 "regression-compile-tmp/imp918s.imp"
const unsigned char OPC[121] = { 0, 8, 9, 16, 17, 18, 19, 32, 33, 34, 35, 48, 49, 50, 51, 36, 52, 0, 69, 70, 71, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 104, 105, 106, 107, 108, 109, 110, 111, 120, 121, 122, 123, 124, 125, 126, 127, 0, 112, 96, 80, 78, 79, 76, 75, 74, 73, 72, 68, 67, 66, 65, 64, 0, 144, 152, 134, 135, 0, 145, 146, 148, 149, 150, 151, 156, 158, 157, 159, 130, 132, 133, 0, 136, 137, 138, 139, 140, 141, 142, 143, 0, 208, 209, 210, 212, 213, 214, 215, 216, 220, 221, 222, 223, 211, 0, 241, 242, 243, 248, 249, 250, 251, 252, 253, 0, 10, 4, 128,  };
                                                                //      9               8,9,X'10',X'11',X'12',
                                                                //     10                 X'13',X'20',X'21',X'22',X'23',
                                                                //     11                 X'30',X'31',X'32',X'33',X'24',
                                                                //     12                 X'34',0,X'45',X'46',X'47',
                                                                //     13                 X'54',X'55',X'56',X'57',X'58',X'59',X'5A',X'5B',X'5C',
                                                                //     14                 X'5D',X'5E',X'5F',X'68',X'69',X'6A',
                                                                //     15                 X'6B',X'6C',X'6D',X'6E',X'6F',
                                                                //     16                 X'78',X'79',X'7A',X'7B',X'7C',
                                                                //     17                 X'7D',X'7E',X'7F',0,X'70',
                                                                //     18                 X'60',X'50',X'4E',X'4F',X'4C',
                                                                //     19                 X'4B',X'4A',X'49',X'48',X'44',
                                                                //     20                 X'43',X'42',X'41',X'40',0,
                                                                //     21                 X'90',X'98',X'86',X'87',0,
                                                                //     22                 X'91',X'92',X'94',X'95',X'96',
                                                                //     23                 X'97',X'9C',X'9E',X'9D',X'9F',
                                                                //     24                 X'82',X'84',X'85',0,X'88',
                                                                //     25                 X'89',X'8A',X'8B',X'8C',X'8D',
                                                                //     26                 X'8E',X'8F',0,X'D0',X'D1',
                                                                //     27                 X'D2',X'D4',X'D5',X'D6',X'D7',
                                                                //     28                 X'D8',X'DC',X'DD',X'DE',X'DF',
                                                                //     29                 X'D3',0,X'F1',X'F2',X'F3',
                                                                //     30                 X'F8',X'F9',X'FA',X'FB',X'FC',
                                                                //     31                 X'FD',0,10,4,X'80';
                                                                //     32           %CONSTINTEGERARRAY NEM(0:120)=M'CNOP',
#line 32 "regression-compile-tmp/imp918s.imp"
const int NEM[121] = { 1129205584, 5460811, 4805451, 19536, 19534, 19540, 19523, 5001284, 5000772, 5002308, 4997956, 5001285, 5000773, 5002309, 4997957, 18500, 18501, 0, 4342092, 4342612, 16963, 78, 17228, 79, 88, 76, 67, 65, 83, 77, 68, 16716, 21324, 19524, 17220, 16708, 21316, 19780, 17476, 16727, 21335, 19525, 17221, 16709, 21317, 19781, 17477, 16725, 21333, 0, 5461061, 5461060, 21332, 4412996, 4412994, 19784, 21320, 16712, 17224, 19528, 17752, 18755, 5461059, 19521, 5461064, 0, 5461069, 19533, 4347976, 1113082949, 0, 21581, 5068361, 20041, 4410441, 20297, 22601, 5456982, 4736086, 5522518, 4410179, 20547, 5722692, 5391428, 0, 5460556, 5459020, 5460545, 5459009, 1397900364, 1397507148, 1397900353, 1397507137, 0, 5460816, 5068366, 5068355, 20035, 4410435, 20291, 22595, 5002064, 21586, 5526100, 17732, 1162104139, 5068378, 0, 5068367, 1346454347, 1431195723, 5914960, 17232, 16720, 21328, 19792, 17488, 0, 5461571, 5460045, 4801612,  };
                                                                //     33                  M'SSK',M'ISK',M'LP',M'LN',M'LT',
                                                                //     34                 M'LC',M'LPD',M'LND',M'LTD',M'LCD',
                                                                //     35                 M'LPE',M'LNE',M'LTE',M'LCE',M'HD',
                                                                //     36                 M'HE',0,M'BAL',M'BCT',M'BC',
                                                                //     37                 'N',M'CL','O','X','L','C','A','S','M','D',
                                                                //     38                 M'AL',M'SL',M'LD',M'CD',M'AD',
                                                                //     39                 M'SD',M'MD',M'DD',M'AW',M'SW',
                                                                //     40                 M'LE',M'CE',M'AE',M'SE',M'ME',
                                                                //     41                 M'DE',M'AU',M'SU',0,M'STE',
                                                                //     42                 M'STD',M'ST',M'CVD',M'CVB',M'MH',
                                                                //     43                 M'SH',M'AH',M'CH',M'LH',M'EX',
                                                                //     44                 M'IC',M'STC',M'LA',M'STH',0,
                                                                //     45                 M'STM',M'LM',M'BXH',M'BXLE',0,
                                                                //     46                 M'TM',M'MVI',M'NI',M'CLI',M'OI',
                                                                //     47                 M'XI',M'SDV',M'HDV',M'TDV',M'CKC',
                                                                //     48                 M'PC',M'WRD',M'RDD',0,M'SRL',
                                                                //     49                 M'SLL',M'SRA',M'SLA',M'SRDL',M'SLDL',
                                                                //     50                 M'SRDA',M'SLDA',0,M'SSP',M'MVN',
                                                                //     51                 M'MVC',M'NC',M'CLC',M'OC',M'XC',
                                                                //     52                 M'LSP',M'TR',M'TRT',M'ED',M'EDMK',
                                                                //     53                 M'MVZ',0,M'MVO',M'PACK',M'UNPK',
                                                                //     54                 M'ZAP',M'CP',M'AP',M'SP',M'MP',
                                                                //     55                 M'DP',0,M'SVC',M'SPM',M'IDL';
                                                                //     56           %CONSTBYTEINTEGERARRAY HASHALT(0:218)=20(33),6,
#line 56 "regression-compile-tmp/imp918s.imp"
const unsigned char HASHALT[219] = { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 6, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 1, 20, 20, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 20, 20, 20, 20, 20, 20, 20, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 7, 2, 9, 1, 13, 20, 20, 5, 20, 20, 7, 1, 20, 17, 1, 1, 1, 1, 20, 5, 20, 6, 20, 20, 20,  };
                                                                //     57           20(11),1,20(2),4(10),20(7),1(26),20(102),
                                                                //     58           20,7,2,9,1,13,20,20,5,20,20,7,1,20,17,1(4),20,5,20,6,20(3);
                                                                //     59  !%finish
                                                                //     60           %OWNINTEGERARRAY FIXED GLA(0:28)=0,
#line 60 "regression-compile-tmp/imp918s.imp"
static int FIXEDGLA[29] = { 0, 805306368, 0, 0, (-1), 0, 255, 0, 0, 0, 0, 0, 1091567616, 0, (-2147483648), 16777215, 0, 0, 1308622848, 0, (-4), (-8), 0, 0, 0, 0, (-2147483648), 105456464, 1163021633,  };
                                                                //     61                 X'30000000',0(2),-1,0,255,0(5),
                                                                //     62                X'41100000',0,X'80000000',X'FFFFFF',0(2),
                                                                //     63           X'4E000000',0,-4,-8,0(4),X'80000000',X'6492350',M'ERMA';
                                                                //     64           %CONSTSHORTINTEGERARRAY TSNAME (0:53)=10000(8),
#line 64 "regression-compile-tmp/imp918s.imp"
const short TSNAME[54] = { 10000, 10000, 10000, 10000, 10000, 10000, 10000, 10000, 10001, 10000, 10000, 10000, 10000, 10000, 10001, 10032, 10001, 10001, 10032, 10000, 10000, 2, 1, 32, 10032, 10032, 10032, 10032, 10032, 10032, 10032, 10000, 11, 21, 10032, 10032, 11, 10000, 1, 32, 10000, 10000, 5, 10000, 10005, 11, 5, 10005, 3, 0, 10000, 1, 2, 10001,  };
                                                                //     65                 10001,10000(5),10001,10032,10001(2),10032,
                                                                //     66                 10000(2),2,1,32,10032(7),10000,11,21,10032(2),11,10000,
                                                                //     67                 1,32,10000(2),5,10000,10005,11,5,10005,3,0,10000,1,2,
                                                                //     68                 10001;
                                                                //     69           %CONSTBYTEINTEGERARRAY BYTES(0:7)=4,1,2,8,4,1,2,8;
#line 69 "regression-compile-tmp/imp918s.imp"
const unsigned char BYTES[8] = { 4, 1, 2, 8, 4, 1, 2, 8,  };
                                                                //     70           %CONSTBYTEINTEGERARRAY GRMAP(0:14)=0,1,2,3,15,16,18,20,22,
#line 70 "regression-compile-tmp/imp918s.imp"
const unsigned char GRMAP[15] = { 0, 1, 2, 3, 15, 16, 18, 20, 22, 4, 5, 6, 7, 8, 14,  };
                                                                //     71                                         4,5,6,7,8,14;
                                                                //     72         %CONSTBYTEINTEGERARRAY PRECEDENCE (1:12)=0,3,3,3,3,4,4,4,4,5,5,5;
#line 72 "regression-compile-tmp/imp918s.imp"
const unsigned char PRECEDENCE[12] = { 0, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5,  };
                                                                //     73           %OWNBYTEINTEGERARRAY TRTABS (0:1283)=128(39),
#line 73 "regression-compile-tmp/imp918s.imp"
static unsigned char TRTABS[1284] = { 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 1, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 8, 28, 8, 28, 28, 12, 28, 28, 28, 28, 28, 28, 4, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 28, 28, 28, 28, 28, 28, 28, 24, 28, 28, 28, 28, 28, 28, 28, 28, 32, 28, 20, 28, 28, 28, 28, 36, 28, 28, 28, 28, 28, 16, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 20, 20, 20, 20, 16, 20, 4, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 20, 0, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 20, 20, 20, 16, 20, 4, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 20, 0, 28, 0, 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 12, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 8, 20, 20, 20, 20, 16, 20, 4, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 28, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 8, 0, 4, 0, 0, 16, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 128, 128,  };
                                                                //     74           1,255(8),0(10),255(7),0(26),255(6),255(26),255(133),
                                                                //     75           28(34),8,28,8,28(2),12,28(6),4,28,0(10),
                                                                //     76           28(8),24,28(8),32,28,20,28(4),36,28(5),16,28(167),
                                                                //     77           0(9),1,0(49),2,0(196),
                                                                //     78           0(10),12,0(21),8,20(4),16,20,4,
                                                                //     79          20(25),24(26),20(32),0,20,0,28,0,0,
                                                                //     80          0(10),12,0(21),0,20(4),16,20,4 ,
                                                                //     81           20(25),24(26),20(32),0,20,0,28,0,0,
                                                                //     82           128(10),12,128(21),8,20(4),16,20,4,
                                                                //     83           20(25),0(26),20(32),20,20,20,28,128(2),
                                                                //     84           128(32),8,0,4,0,0,16,0,4,
                                                                //     85           0(25),0(26),0(32),0,0,0,28,128,128
                                                                //     86           %COMMENT TABLE 1 FOR NAMES --2 FOR CONSTS -- 3 FOR TEXT
                                                                //     87           %COMMENT LAST 129 =TABLE FOR READ LINE KEY AS FOLLOWS.
                                                                //     88           %COMMENT  0=ILLEGAL,4='''',8=SP,12=NL,16=%,20=NONALPHA,24=ALPHA
                                                                //     89           %OWNBYTEINTEGERARRAY TYPEFLAG(1:6)=1,2,
#line 89 "regression-compile-tmp/imp918s.imp"
static unsigned char TYPEFLAG[6] = { 1, 2, 9, 17, 26, 5,  };
                                                                //     90                 B'1001',B'10001',B'11010',5;
                                                                //     91           %OWNSHORTINTEGERARRAY WARNINGS(0:30)
#line 91 "regression-compile-tmp/imp918s.imp"
static short WARNINGS[31];
                                                                //     92           %OWNINTEGER MASK1=X'0F0F0F0F'
#line 92 "regression-compile-tmp/imp918s.imp"
static int MASK1 = 252645135;
                                                                //     93           %OWNINTEGER MASK2=X'0F0F0F0F'
#line 93 "regression-compile-tmp/imp918s.imp"
static int MASK2 = 252645135;
                                                                //     94           %OWNINTEGER PI1=X'413243F6', PI2=X'A8885A31'
#line 94 "regression-compile-tmp/imp918s.imp"
static int PI1 = 1093813238;
#line 94 "regression-compile-tmp/imp918s.imp"
static int PI2 = (-1467459023);
                                                                //     95           %CONSTINTEGER RELEASE=9,VERSION=18
                                                                //     96           %CONSTSHORTINTEGER MAXLEVELS=11
                                                                //     97           %CONSTSHORTINTEGER PTBASE=256
                                                                //     98           %CONSTSHORTINTEGER SNPT=10006;        ! SPECIALNAME PTYPE
                                                                //     99           %CONSTINTEGER CODER=12
                                                                //    100           %CONSTINTEGER  WSPR =11
                                                                //    101           %CONSTINTEGER  GLA =13
                                                                //    102           %OWNINTEGER HH1=X'0047002F',HH2=X'00610035'
#line 102 "regression-compile-tmp/imp918s.imp"
static int HH1 = 4653103;
#line 102 "regression-compile-tmp/imp918s.imp"
static int HH2 = 6357045;
                                                                //    103  !
                                                                //    104  ! THE FOLLOWING FUNNY WORDS ARE CYCLE CONTROL WORDS FOR SEARCHING THE
                                                                //    105  ! LIST OF FREE REGISTERS. THE TOP HALF IS INC(SIGNED) AND THE BOTTOM
                                                                //    106  ! TWO BYTES ARE START AND FINISH RESPECTIVELY
                                                                //    107  !
                                                                //    108           %CONSTINTEGER GR0   =X'10F1E';   !   15,1,14
                                                                //    109           %CONSTINTEGER GR1   =X'1010F';   !   1,1,15
                                                                //    110           %CONSTINTEGER FR0   =X'FFFE1610';!   6,-2,0
                                                                //    111           %CONSTINTEGER ADDREG=X'FFFF0E01';!  14,-1,1
                                                                //    112           %CONSTINTEGER SAFE  =X'FFFF0E04';!  14,-1,4
                                                                //    113           %CONSTINTEGER CLMABL=X'1050E';   !  5,1,14
                                                                //    114           %SHORTINTEGER CCSIZE,ARSIZE,DSIZE,DUMMY FORMAT
#line 114 "regression-compile-tmp/imp918s.imp"
short CCSIZE;
#line 114 "regression-compile-tmp/imp918s.imp"
short ARSIZE;
#line 114 "regression-compile-tmp/imp918s.imp"
short DSIZE;
#line 114 "regression-compile-tmp/imp918s.imp"
short DUMMYFORMAT;
                                                                //    115           %INTEGER ASL,NNAMES,FLAG,GLAFLAG
#line 115 "regression-compile-tmp/imp918s.imp"
int ASL;
#line 115 "regression-compile-tmp/imp918s.imp"
int NNAMES;
#line 115 "regression-compile-tmp/imp918s.imp"
int FLAG;
#line 115 "regression-compile-tmp/imp918s.imp"
int GLAFLAG;
                                                                //    116           %INTEGER CABUF,PPCURR,LCA,OLDLINE,LINE,LENGTH,LENGTHP, %C
#line 116 "regression-compile-tmp/imp918s.imp"
int CABUF;
#line 116 "regression-compile-tmp/imp918s.imp"
int PPCURR;
#line 116 "regression-compile-tmp/imp918s.imp"
int LCA;
#line 116 "regression-compile-tmp/imp918s.imp"
int OLDLINE;
#line 116 "regression-compile-tmp/imp918s.imp"
int LINE;
#line 116 "regression-compile-tmp/imp918s.imp"
int LENGTH;
#line 116 "regression-compile-tmp/imp918s.imp"
int LENGTHP;
#line 116 "regression-compile-tmp/imp918s.imp"
int N0;
#line 116 "regression-compile-tmp/imp918s.imp"
int NUM;
#line 116 "regression-compile-tmp/imp918s.imp"
int SNUM;
#line 116 "regression-compile-tmp/imp918s.imp"
int RLEVEL;
#line 116 "regression-compile-tmp/imp918s.imp"
int NMAX;
#line 116 "regression-compile-tmp/imp918s.imp"
int LOPCODE;
#line 116 "regression-compile-tmp/imp918s.imp"
int CONSTPTR;
#line 116 "regression-compile-tmp/imp918s.imp"
int PLABEL;
#line 116 "regression-compile-tmp/imp918s.imp"
int LEVEL;
#line 116 "regression-compile-tmp/imp918s.imp"
int CA;
#line 116 "regression-compile-tmp/imp918s.imp"
int MARKER1;
#line 116 "regression-compile-tmp/imp918s.imp"
int MARKER2;
#line 116 "regression-compile-tmp/imp918s.imp"
int LABSET;
#line 116 "regression-compile-tmp/imp918s.imp"
int CCSTATE;
#line 116 "regression-compile-tmp/imp918s.imp"
int CYCLENUM;
#line 116 "regression-compile-tmp/imp918s.imp"
int CSAVED;
#line 116 "regression-compile-tmp/imp918s.imp"
int CURCYCVAR;
#line 116 "regression-compile-tmp/imp918s.imp"
int CYCREGS;
#line 116 "regression-compile-tmp/imp918s.imp"
int CYCBITS;
#line 116 "regression-compile-tmp/imp918s.imp"
int CYCASS;
                                                                //    117                 N0,NUM,SNUM,RLEVEL,NMAX,LOPCODE,CONSTPTR, %C
                                                                //    118                 PLABEL,LEVEL,CA,MARKER1,MARKER2,LABSET,CCSTATE, %C
                                                                //    119                 CYCLE NUM,CSAVED,CUR CYC VAR,CYC REGS,CYC BITS,CYC ASS
                                                                //    120  !
                                                                //    121           %BYTEINTEGER FFLAG,CHECKS,SBFLAG,LAST INST,FAULTY,MONE, %C
#line 121 "regression-compile-tmp/imp918s.imp"
unsigned char FFLAG;
#line 121 "regression-compile-tmp/imp918s.imp"
unsigned char CHECKS;
#line 121 "regression-compile-tmp/imp918s.imp"
unsigned char SBFLAG;
#line 121 "regression-compile-tmp/imp918s.imp"
unsigned char LASTINST;
#line 121 "regression-compile-tmp/imp918s.imp"
unsigned char FAULTY;
#line 121 "regression-compile-tmp/imp918s.imp"
unsigned char MONE;
#line 121 "regression-compile-tmp/imp918s.imp"
unsigned char HIT;
#line 121 "regression-compile-tmp/imp918s.imp"
unsigned char LET;
#line 121 "regression-compile-tmp/imp918s.imp"
unsigned char DIAGS2;
#line 121 "regression-compile-tmp/imp918s.imp"
unsigned char LIST;
#line 121 "regression-compile-tmp/imp918s.imp"
unsigned char ALLLONG;
#line 121 "regression-compile-tmp/imp918s.imp"
unsigned char INHCODE;
#line 121 "regression-compile-tmp/imp918s.imp"
unsigned char LINENOS;
#line 121 "regression-compile-tmp/imp918s.imp"
unsigned char DIAGS1;
#line 121 "regression-compile-tmp/imp918s.imp"
unsigned char IMPS;
#line 121 "regression-compile-tmp/imp918s.imp"
unsigned char CHECKSP;
#line 121 "regression-compile-tmp/imp918s.imp"
unsigned char CTYPE;
#line 121 "regression-compile-tmp/imp918s.imp"
unsigned char DCOMP;
#line 121 "regression-compile-tmp/imp918s.imp"
unsigned char COMPILER;
#line 121 "regression-compile-tmp/imp918s.imp"
unsigned char CPRMODE;
#line 121 "regression-compile-tmp/imp918s.imp"
unsigned char UNASS;
#line 121 "regression-compile-tmp/imp918s.imp"
unsigned char PRINTMAP;
#line 121 "regression-compile-tmp/imp918s.imp"
unsigned char BFFLAG;
#line 121 "regression-compile-tmp/imp918s.imp"
unsigned char NMDECS;
                                                                //    122                 HIT,LET,DIAGS2,LIST,ALLLONG,INHCODE,LINENOS, %C
                                                                //    123                 DIAGS1,IMPS,CHECKSP,CTYPE,DCOMP,COMPILER,CPRMODE, %C
                                                                //    124                 UNASS,PRINTMAP,BFFLAG,NMDECS
                                                                //    125  !
                                                                //    126           %LONGREAL CVALUE,IMAX
#line 126 "regression-compile-tmp/imp918s.imp"
double CVALUE;
#line 126 "regression-compile-tmp/imp918s.imp"
double IMAX;
                                                                //    127           %INTEGER MASK,RBASE,SFLABEL,NEXT,N,MAX ULAB,GSAVED,CODEBASE, %C
#line 127 "regression-compile-tmp/imp918s.imp"
int MASK;
#line 127 "regression-compile-tmp/imp918s.imp"
int RBASE;
#line 127 "regression-compile-tmp/imp918s.imp"
int SFLABEL;
#line 127 "regression-compile-tmp/imp918s.imp"
int NEXT;
#line 127 "regression-compile-tmp/imp918s.imp"
int N;
#line 127 "regression-compile-tmp/imp918s.imp"
int MAXULAB;
#line 127 "regression-compile-tmp/imp918s.imp"
int GSAVED;
#line 127 "regression-compile-tmp/imp918s.imp"
int CODEBASE;
#line 127 "regression-compile-tmp/imp918s.imp"
int P;
#line 127 "regression-compile-tmp/imp918s.imp"
int Q;
#line 127 "regression-compile-tmp/imp918s.imp"
int R;
#line 127 "regression-compile-tmp/imp918s.imp"
int S;
#line 127 "regression-compile-tmp/imp918s.imp"
int TTOPUT;
#line 127 "regression-compile-tmp/imp918s.imp"
int U;
#line 127 "regression-compile-tmp/imp918s.imp"
int V;
#line 127 "regression-compile-tmp/imp918s.imp"
int NEST;
#line 127 "regression-compile-tmp/imp918s.imp"
int FNAME;
#line 127 "regression-compile-tmp/imp918s.imp"
int NOTUSED;
#line 127 "regression-compile-tmp/imp918s.imp"
int FILEPTR;
#line 127 "regression-compile-tmp/imp918s.imp"
int FILEEND;
#line 127 "regression-compile-tmp/imp918s.imp"
int SSTL;
#line 127 "regression-compile-tmp/imp918s.imp"
int QMAX;
#line 127 "regression-compile-tmp/imp918s.imp"
int STMTS;
#line 127 "regression-compile-tmp/imp918s.imp"
int MAINEP1;
#line 127 "regression-compile-tmp/imp918s.imp"
int MAINEP2;
#line 127 "regression-compile-tmp/imp918s.imp"
int MAINEP3;
#line 127 "regression-compile-tmp/imp918s.imp"
int GLACA;
#line 127 "regression-compile-tmp/imp918s.imp"
int GLACURR;
#line 127 "regression-compile-tmp/imp918s.imp"
int GLACABUF;
#line 127 "regression-compile-tmp/imp918s.imp"
int CYCBASE;
#line 127 "regression-compile-tmp/imp918s.imp"
int CYCADDR;
                                                                //    128                 P,Q,R,S,TTOPUT,U,V,NEST,FNAME,NOT USED,FILEPTR, %C
                                                                //    129                 FILE END,SSTL,QMAX,STMTS,MAINEP1,MAINEP2,MAINEP3, %C
                                                                //    130                 GLACA,GLACURR,GLACABUF,CYC BASE,CYC ADDR
                                                                //    131  !
                                                                //    132           %SHORTINTEGER RELHEAD,EPLINK,LEVELINF,DVHEAD,GLAHOLES, %C
#line 132 "regression-compile-tmp/imp918s.imp"
short RELHEAD;
#line 132 "regression-compile-tmp/imp918s.imp"
short EPLINK;
#line 132 "regression-compile-tmp/imp918s.imp"
short LEVELINF;
#line 132 "regression-compile-tmp/imp918s.imp"
short DVHEAD;
#line 132 "regression-compile-tmp/imp918s.imp"
short GLAHOLES;
#line 132 "regression-compile-tmp/imp918s.imp"
short CONSTL2;
#line 132 "regression-compile-tmp/imp918s.imp"
short CONSTL4;
#line 132 "regression-compile-tmp/imp918s.imp"
short CONSTL6;
#line 132 "regression-compile-tmp/imp918s.imp"
short CONSTL8;
#line 132 "regression-compile-tmp/imp918s.imp"
short RNEXT;
                                                                //    133                 CONSTL2,CONSTL4,CONSTL6,CONSTL8,RNEXT
                                                                //    134  !
                                                                //    135  ! THIS IS THE LIMIT OF INITIALISATION OF SCALARS TO ZERO
                                                                //    136  !
                                                                //    137           %INTEGER QUICK,MARGIN,IOCP1,IOCP2,IOCP3,XLABEL,IMPMON1, %C
#line 137 "regression-compile-tmp/imp918s.imp"
int QUICK;
#line 137 "regression-compile-tmp/imp918s.imp"
int MARGIN;
#line 137 "regression-compile-tmp/imp918s.imp"
int IOCP1;
#line 137 "regression-compile-tmp/imp918s.imp"
int IOCP2;
#line 137 "regression-compile-tmp/imp918s.imp"
int IOCP3;
#line 137 "regression-compile-tmp/imp918s.imp"
int XLABEL;
#line 137 "regression-compile-tmp/imp918s.imp"
int IMPMON1;
#line 137 "regression-compile-tmp/imp918s.imp"
int IMPMON2;
#line 137 "regression-compile-tmp/imp918s.imp"
int IMPMON3;
#line 137 "regression-compile-tmp/imp918s.imp"
int STMTSHELD;
#line 137 "regression-compile-tmp/imp918s.imp"
int STOPSTM;
#line 137 "regression-compile-tmp/imp918s.imp"
int TOPPTR;
#line 137 "regression-compile-tmp/imp918s.imp"
int PREV3CL;
#line 137 "regression-compile-tmp/imp918s.imp"
int FILEADDR;
                                                                //    138                 IMPMON2,IMPMON3,STMTSHELD,STOPSTM,TOPPTR,PREV3CL,FILEADDR
                                                                //    139           %SHORTINTEGERARRAY STPTRS (1:15)
#line 139 "regression-compile-tmp/imp918s.imp"
short STPTRS[15];
                                                                //    140           %ROUTINESPEC FETCH AR
#line 140 "regression-compile-tmp/imp918s.imp"
auto void FETCHAR( void );
                                                                //    141           %ROUTINESPEC STORE AR(%INTEGERNAME I)
#line 141 "regression-compile-tmp/imp918s.imp"
auto void STOREAR( int /*name*/*I );
                                                                //    142           %INTEGERARRAY REGISTER,GRUSE,GRINF,GRAT(0:22)
#line 142 "regression-compile-tmp/imp918s.imp"
int REGISTER[23];
#line 142 "regression-compile-tmp/imp918s.imp"
int GRUSE[23];
#line 142 "regression-compile-tmp/imp918s.imp"
int GRINF[23];
#line 142 "regression-compile-tmp/imp918s.imp"
int GRAT[23];
                                                                //    143           %SHORTINTEGERARRAY A(-7:800)
#line 143 "regression-compile-tmp/imp918s.imp"
short A[808];
                                                                //    144           %INTEGERARRAY SET(0:11)
#line 144 "regression-compile-tmp/imp918s.imp"
int SET[12];
                                                                //    145           %SHORTINTEGERARRAY CYCLE,LABEL,SBR,L,M,NAMES(0:11)
#line 145 "regression-compile-tmp/imp918s.imp"
short CYCLE[12];
#line 145 "regression-compile-tmp/imp918s.imp"
short LABEL[12];
#line 145 "regression-compile-tmp/imp918s.imp"
short SBR[12];
#line 145 "regression-compile-tmp/imp918s.imp"
short L[12];
#line 145 "regression-compile-tmp/imp918s.imp"
short M[12];
#line 145 "regression-compile-tmp/imp918s.imp"
short NAMES[12];
                                                                //    146           %SHORTINTEGERARRAY AVLWSP(0:7,0:MAXLEVELS)
#line 146 "regression-compile-tmp/imp918s.imp"
short AVLWSP[8][12];
                                                                //    147           %INTEGERARRAY UVARREG(5:14)
#line 147 "regression-compile-tmp/imp918s.imp"
int UVARREG[10];
                                                                //    148           %RECORDFORMAT OPTFORM(%BYTEINTEGER COUNT,TYPE,%INTEGER BITS,%C
#line 148 "regression-compile-tmp/imp918s.imp"
typedef struct OPTFORM OPTFORM;
struct OPTFORM {
  unsigned char COUNT;
  unsigned char TYPE;
  int BITS;
  int PTYPE;
  int XTRA;
};
                                                                //    149                    PTYPE,XTRA)
                                                                //    150           %RECORD(OPTFORM)%ARRAY OPTINF(0:25)
#line 150 "regression-compile-tmp/imp918s.imp"
 OPTFORM OPTINF[26];
                                                                //    151           %INTEGER OPTPTR
#line 151 "regression-compile-tmp/imp918s.imp"
int OPTPTR;
                                                                //    152           %BYTEINTEGERARRAY GLABUF,CODE(0:268)
#line 152 "regression-compile-tmp/imp918s.imp"
unsigned char GLABUF[269];
#line 152 "regression-compile-tmp/imp918s.imp"
unsigned char CODE[269];
                                                                //    153           %SYSTEMINTEGERMAPSPEC COMREG(%INTEGER N)
#line 153 "regression-compile-tmp/imp918s.imp"
extern int /*map*/*comreg( int N );
                                                                //    154           !*INSERT
                                                                //    155           %BEGIN
#line 155 "regression-compile-tmp/imp918s.imp"
void _BLOCK_1_LEVEL_1_(void) {
                                                                //    156           {%SHORTROUTINE}
                                                                //    157           %INTEGER FREE,TOTAL
#line 157 "regression-compile-tmp/imp918s.imp"
int FREE;
#line 157 "regression-compile-tmp/imp918s.imp"
int TOTAL;
                                                                //    158  ! BLOCK TO ALLOCATE AVAILABLE STACK SPACE TO THE MAIN ARRAYS
                                                                //    159           FILE ADDR=COMREG(46)
#line 159 "regression-compile-tmp/imp918s.imp"
FILEADDR = *comreg(46);
                                                                //    160           %IF FILE ADDR#0 %THEN %START;  ! ON EMAS
#line 160 "regression-compile-tmp/imp918s.imp"
if (((FILEADDR) == (0))) goto L_0002;
                                                                //    161              TOTAL=INTEGER(FILEADDR); NNAMES=255
#line 161 "regression-compile-tmp/imp918s.imp"
TOTAL = *_imp_INTEGER(FILEADDR);
#line 161 "regression-compile-tmp/imp918s.imp"
NNAMES = 255;
                                                                //    162              %IF TOTAL>8000 %THEN NNAMES=511
#line 162 "regression-compile-tmp/imp918s.imp"
if (((TOTAL) <= (8000))) goto L_0003;
#line 162 "regression-compile-tmp/imp918s.imp"
NNAMES = 511;
#line 162 "regression-compile-tmp/imp918s.imp"
L_0003:;
                                                                //    163              %IF TOTAL>32000 %THEN NNAMES=1023
#line 163 "regression-compile-tmp/imp918s.imp"
if (((TOTAL) <= (32000))) goto L_0004;
#line 163 "regression-compile-tmp/imp918s.imp"
NNAMES = 1023;
#line 163 "regression-compile-tmp/imp918s.imp"
L_0004:;
                                                                //    164              %IF TOTAL>409600 %OR COMREG(27)&8#0 %THEN NNAMES=2047
#line 164 "regression-compile-tmp/imp918s.imp"
if (((TOTAL) > (409600))) goto L_0005;
#line 164 "regression-compile-tmp/imp918s.imp"
if (((((*comreg(27)) & (8))) == (0))) goto L_0006;
#line 164 "regression-compile-tmp/imp918s.imp"
L_0005:;
#line 164 "regression-compile-tmp/imp918s.imp"
NNAMES = 2047;
#line 164 "regression-compile-tmp/imp918s.imp"
L_0006:;
                                                                //    165              DSIZE=7*NNAMES; ASL=DSIZE<<2
#line 165 "regression-compile-tmp/imp918s.imp"
DSIZE = (((int)(7)) * (NNAMES));
#line 165 "regression-compile-tmp/imp918s.imp"
ASL = ((DSIZE) << (2));
                                                                //    166              CCSIZE=100+NNAMES; ->Label2
#line 166 "regression-compile-tmp/imp918s.imp"
CCSIZE = (((int)(100)) + (NNAMES));
#line 166 "regression-compile-tmp/imp918s.imp"
goto U_1000;
                                                                //    167           %FINISH
#line 167 "regression-compile-tmp/imp918s.imp"
L_0002:;
                                                                //    168           FREE=COMREG(1)-ADDR(TOTAL)-6000; ! ON IBM 370
#line 168 "regression-compile-tmp/imp918s.imp"
FREE = (((int)(((*(int *)(comreg(1))) - (_imp_ADDR(&TOTAL))))) - (6000));
                                                                //    169           %CYCLE I=2,1,4;   ! ALLOWS 255,511,1023 OR 2047 NAMES
#line 169 "regression-compile-tmp/imp918s.imp"
I = 1;
if ((((4)-(2)) % (1)) != 0) _imp_signal(5,1,0,"Illegal cycle I = 2, 1, 4");
L_0007:;
if (I == 4) goto L_0008;
I += 1;
                                                                //    170              NNAMES=128*2^^I-1
#line 170 "regression-compile-tmp/imp918s.imp"
NNAMES = (((int)(((128) * ((int)(_imp_IEXP(2, I)))))) - (1));
                                                                //    171              DSIZE=7*NNAMES
#line 171 "regression-compile-tmp/imp918s.imp"
DSIZE = (((int)(7)) * (NNAMES));
                                                                //    172              ASL=DSIZE<<2
#line 172 "regression-compile-tmp/imp918s.imp"
ASL = ((DSIZE) << (2));
                                                                //    173              CCSIZE=250+100*I
#line 173 "regression-compile-tmp/imp918s.imp"
CCSIZE = ((250) + ((int)((((int)(100)) * (I)))));
                                                                //    174              TOTAL=CCSIZE+ASL+DSIZE<<1
#line 174 "regression-compile-tmp/imp918s.imp"
TOTAL = ((((((int)(CCSIZE)) + (ASL)))) + (((DSIZE) << (1))));
                                                                //    175              ->Label1 %IF TOTAL>FREE
#line 175 "regression-compile-tmp/imp918s.imp"
if (((TOTAL) <= (FREE))) goto L_000a;
#line 175 "regression-compile-tmp/imp918s.imp"
goto U_1001;
#line 175 "regression-compile-tmp/imp918s.imp"
L_000a:;
                                                                //    176           %REPEAT
#line 176 "regression-compile-tmp/imp918s.imp"
goto L_0007;
#line 176 "regression-compile-tmp/imp918s.imp"
L_0008:;
                                                                //    177           ->Label2
#line 177 "regression-compile-tmp/imp918s.imp"
goto U_1000;
                                                                //    178  Label1:       CCSIZE=CCSIZE-100
#line 178 "regression-compile-tmp/imp918s.imp"
U_1001:;
#line 178 "regression-compile-tmp/imp918s.imp"
CCSIZE = (((int)(CCSIZE)) - (100));
                                                                //    179           NNAMES=NNAMES>>1
#line 179 "regression-compile-tmp/imp918s.imp"
NNAMES = (int)((((unsigned int)(NNAMES)) >> (1)));
                                                                //    180           ASL=(ASL>>1+(FREE-CCSIZE-DSIZE))//2;! HALF 'EXTRA' SPACE TO ASL
#line 180 "regression-compile-tmp/imp918s.imp"
ASL = (long)((long)((((((int)((((unsigned int)(ASL)) >> (1))))) + ((((short)(((FREE) - ((int)(CCSIZE))))) - (DSIZE)))))) / (long)((int)(2)));
                                                                //    181           DSIZE=DSIZE>>1
#line 181 "regression-compile-tmp/imp918s.imp"
DSIZE = (short)((((unsigned short)(DSIZE)) >> (1)));
                                                                //    182  Label2:       ASL=32760%IF ASL>32760
#line 182 "regression-compile-tmp/imp918s.imp"
U_1000:;
#line 182 "regression-compile-tmp/imp918s.imp"
if (((ASL) <= (32760))) goto L_000b;
#line 182 "regression-compile-tmp/imp918s.imp"
ASL = 32760;
#line 182 "regression-compile-tmp/imp918s.imp"
L_000b:;
                                                                //    183           ASL=ASL&X'FFFFFFF0'
#line 183 "regression-compile-tmp/imp918s.imp"
ASL = ((ASL) & ((-16)));
                                                                //    184           %END
#line 184 "regression-compile-tmp/imp918s.imp"
return;
} // End of block _BLOCK_1_LEVEL_1_ at level 2
_BLOCK_1_LEVEL_1_();
                                                                //    185          %BYTEINTEGERARRAY CC(0:CCSIZE+10), %C
#line 185 "regression-compile-tmp/imp918s.imp"
unsigned char CC[(((unsigned char)((((int)(CCSIZE)) + (10)))) + (1))];
#line 185 "regression-compile-tmp/imp918s.imp"
unsigned char ASLIST[(((unsigned char)((((int)(ASL)) + (32)))) + (1))];
#line 185 "regression-compile-tmp/imp918s.imp"
unsigned char LETT[(((unsigned char)((((int)(DSIZE)) + (20)))) + (1))];
                                                                //    186              ASLIST(0:ASL+32),LETT(0:DSIZE+20)
                                                                //    187           %SHORTINTEGERARRAY WORD,TAGS(0:NNAMES)
#line 187 "regression-compile-tmp/imp918s.imp"
short WORD[((NNAMES) + ((int)(1)))];
#line 187 "regression-compile-tmp/imp918s.imp"
short TAGS[((NNAMES) + ((int)(1)))];
                                                                //    188           %SYSTEMROUTINESPEC IOCP(%INTEGER A,B)
#line 188 "regression-compile-tmp/imp918s.imp"
extern void iocp( int A, int B );
                                                                //    189           %ROUTINESPEC CODE OUT
#line 189 "regression-compile-tmp/imp918s.imp"
auto void CODEOUT( void );
                                                                //    190           %ROUTINESPEC CNOP(%INTEGER I,J)
#line 190 "regression-compile-tmp/imp918s.imp"
auto void CNOP( int I, int J );
                                                                //    191           %ROUTINESPEC PCONST(%INTEGER X)
#line 191 "regression-compile-tmp/imp918s.imp"
auto void PCONST( int X );
                                                                //    192           %ROUTINESPEC PSI(%INTEGER OPCODE,J,BASE,DISP)
#line 192 "regression-compile-tmp/imp918s.imp"
auto void PSI( int OPCODE, int J, int BASE, int DISP );
                                                                //    193           %ROUTINESPEC PSS(%INTEGER OPCODE,N,BASE,DISP,P,Q)
#line 193 "regression-compile-tmp/imp918s.imp"
auto void PSS( int OPCODE, int N, int BASE, int DISP, int P, int Q );
                                                                //    194           %ROUTINESPEC PRX(%INTEGER OPCODE,R1,R2,BASE,DISP)
#line 194 "regression-compile-tmp/imp918s.imp"
auto void PRX( int OPCODE, int R1, int R2, int BASE, int DISP );
                                                                //    195           %ROUTINESPEC PLANT(%INTEGER VALUE)
#line 195 "regression-compile-tmp/imp918s.imp"
auto void PLANT( int VALUE );
                                                                //    196           %ROUTINESPEC PRR (%INTEGER OPCODE,R1,R2)
#line 196 "regression-compile-tmp/imp918s.imp"
auto void PRR( int OPCODE, int R1, int R2 );
                                                                //    197           %ROUTINESPEC PGLA(%INTEGER I,J,K)
#line 197 "regression-compile-tmp/imp918s.imp"
auto void PGLA( int I, int J, int K );
                                                                //    198           %SYSTEMROUTINESPEC LPUT(%INTEGER A,B,C,D)
#line 198 "regression-compile-tmp/imp918s.imp"
extern void lput( int A, int B, int C, int D );
                                                                //    199           %ROUTINESPEC SET PERMBASE
#line 199 "regression-compile-tmp/imp918s.imp"
auto void SETPERMBASE( void );
                                                                //    200           %ROUTINESPEC PLUG(%INTEGER AREA,J,K)
#line 200 "regression-compile-tmp/imp918s.imp"
auto void PLUG( int AREA, int J, int K );
                                                                //    201           %ROUTINESPEC PRHEX(%INTEGER VALUE,PLACES)
#line 201 "regression-compile-tmp/imp918s.imp"
auto void PRHEX( int VALUE, int PLACES );
                                                                //    202           %ROUTINESPEC RESTORE(%SHORTINTEGER HEAD)
#line 202 "regression-compile-tmp/imp918s.imp"
auto void RESTORE( short HEAD );
                                                                //    203           %ROUTINESPEC GET ENV(%SHORTINTEGERNAME HEAD)
#line 203 "regression-compile-tmp/imp918s.imp"
auto void GETENV( short /*name*/*HEAD );
                                                                //    204  !         %INTEGERFNSPEC NEWCELL
                                                                //    205           %ROUTINESPEC INSERTAFTER(%SHORTINTEGERNAME STAD,%INTEGER S1,S2)
#line 205 "regression-compile-tmp/imp918s.imp"
auto void INSERTAFTER( short /*name*/*STAD, int S1, int S2 );
                                                                //    206  !         %ROUTINESPEC INSERTATEND(%SHORTINTEGERNAME S,%INTEGER A,B)
                                                                //    207           %ROUTINESPEC FROM12(%INTEGER CELL,%INTEGERNAME S1,S2)
#line 207 "regression-compile-tmp/imp918s.imp"
auto void FROM12( int CELL, int /*name*/*S1, int /*name*/*S2 );
                                                                //    208           %ROUTINESPEC FROM123(%INTEGER CELL,%INTEGERNAME S1,S2,S3)
#line 208 "regression-compile-tmp/imp918s.imp"
auto void FROM123( int CELL, int /*name*/*S1, int /*name*/*S2, int /*name*/*S3 );
                                                                //    209           %ROUTINESPEC POP(%SHORTINTEGERNAME CELL,%INTEGERNAME S1,S2)
#line 209 "regression-compile-tmp/imp918s.imp"
auto void POP( short /*name*/*CELL, int /*name*/*S1, int /*name*/*S2 );
                                                                //    210           %ROUTINESPEC POP123(%SHORTINTEGERNAME C,%INTEGERNAME P,Q,R)
#line 210 "regression-compile-tmp/imp918s.imp"
auto void POP123( short /*name*/*C, int /*name*/*P, int /*name*/*Q, int /*name*/*R );
                                                                //    211           %ROUTINESPEC PUSH(%SHORTINTEGERNAME CELL,%INTEGER S1,S2)
#line 211 "regression-compile-tmp/imp918s.imp"
auto void PUSH( short /*name*/*CELL, int S1, int S2 );
                                                                //    212           %ROUTINESPEC PUSH123(%SHORTINTEGERNAME C,%INTEGER S1,S2,S3)
#line 212 "regression-compile-tmp/imp918s.imp"
auto void PUSH123( short /*name*/*C, int S1, int S2, int S3 );
                                                                //    213           %INTEGERFNSPEC FIND(%INTEGER LAB,LIST)
#line 213 "regression-compile-tmp/imp918s.imp"
auto int FIND( int LAB, int LIST );
                                                                //    214           %INTEGERFNSPEC FIND3(%INTEGER LAB,LIST)
#line 214 "regression-compile-tmp/imp918s.imp"
auto int FIND3( int LAB, int LIST );
                                                                //    215           %ROUTINESPEC MLINK(%INTEGERNAME CELL)
#line 215 "regression-compile-tmp/imp918s.imp"
auto void MLINK( int /*name*/*CELL );
                                                                //    216           %ROUTINESPEC REPLACE2(%INTEGER CELL,S2)
#line 216 "regression-compile-tmp/imp918s.imp"
auto void REPLACE2( int CELL, int S2 );
                                                                //    217           %ROUTINESPEC REPLACE1(%INTEGER CELL,S1)
#line 217 "regression-compile-tmp/imp918s.imp"
auto void REPLACE1( int CELL, int S1 );
                                                                //    218           %ROUTINESPEC REPLACE123(%INTEGER CELL,S1,S2,S3)
#line 218 "regression-compile-tmp/imp918s.imp"
auto void REPLACE123( int CELL, int S1, int S2, int S3 );
                                                                //    219           %INTEGERFNSPEC FROM2(%INTEGER CELL)
#line 219 "regression-compile-tmp/imp918s.imp"
auto int FROM2( int CELL );
                                                                //    220           %INTEGERFNSPEC FROM1(%INTEGER CELL)
#line 220 "regression-compile-tmp/imp918s.imp"
auto int FROM1( int CELL );
                                                                //    221           %INTEGERFNSPEC FROM3(%INTEGER CELL)
#line 221 "regression-compile-tmp/imp918s.imp"
auto int FROM3( int CELL );
                                                                //    222  !         %ROUTINESPEC CHECK ASL
                                                                //    223  !%if INCLUDE DELSTART = 1 %start
                                                                //    224           %ROUTINESPEC COMPARE
#line 224 "regression-compile-tmp/imp918s.imp"
auto void COMPARE( void );
                                                                //    225           %ROUTINESPEC PNAME
#line 225 "regression-compile-tmp/imp918s.imp"
auto void PNAME( void );
                                                                //    226           %ROUTINESPEC CONST(%INTEGER MODE)
#line 226 "regression-compile-tmp/imp918s.imp"
auto void CONST( int MODE );
                                                                //    227           %ROUTINESPEC CONSTLIST
#line 227 "regression-compile-tmp/imp918s.imp"
auto void CONSTLIST( void );
                                                                //    228           %ROUTINESPEC TEXTTEXT
#line 228 "regression-compile-tmp/imp918s.imp"
auto void TEXTTEXT( void );
                                                                //    229           %ROUTINESPEC READ LINE(%BYTEINTEGER N,CHAR)
#line 229 "regression-compile-tmp/imp918s.imp"
auto void READLINE( unsigned char N, unsigned char CHAR );
                                                                //    230  !%finish
                                                                //    231           %ROUTINESPEC FROMAR8(%INTEGER PTR,%LONGREALNAME VALUE)
#line 231 "regression-compile-tmp/imp918s.imp"
auto void FROMAR8( int PTR, double /*name*/*VALUE );
                                                                //    232           %ROUTINESPEC FROMAR4(%INTEGER PTR,%INTEGERNAME VALUE)
#line 232 "regression-compile-tmp/imp918s.imp"
auto void FROMAR4( int PTR, int /*name*/*VALUE );
                                                                //    233           %ROUTINESPEC TOAR8(%INTEGER PTR,%LONGREAL VALUE)
#line 233 "regression-compile-tmp/imp918s.imp"
auto void TOAR8( int PTR, double VALUE );
                                                                //    234           %ROUTINESPEC TOAR4(%INTEGER PTR,VALUE)
#line 234 "regression-compile-tmp/imp918s.imp"
auto void TOAR4( int PTR, int VALUE );
                                                                //    235           %ROUTINESPEC CSS(%INTEGER P,MODE)
#line 235 "regression-compile-tmp/imp918s.imp"
auto void CSS( int P, int MODE );
                                                                //    236           %ROUTINESPEC FAULT(%INTEGER N,FNAME)
#line 236 "regression-compile-tmp/imp918s.imp"
auto void FAULT( int N, int FNAME );
                                                                //    237            %ROUTINESPEC ABORT
#line 237 "regression-compile-tmp/imp918s.imp"
auto void ABORT( void );
                                                                //    238           %ROUTINESPEC PRINT USE
#line 238 "regression-compile-tmp/imp918s.imp"
auto void PRINTUSE( void );
                                                                //    239           %ROUTINESPEC PRINTNAME (%INTEGER N)
#line 239 "regression-compile-tmp/imp918s.imp"
auto void PRINTNAME( int N );
                                                                //    240  %SYSTEM %C
                                                                //    241           %ROUTINESPEC RECODE (%INTEGER START,FINISH,CA)
#line 241 "regression-compile-tmp/imp918s.imp"
extern void recode( int START, int FINISH, int CA );
                                                                //    242           %ROUTINESPEC MESSAGE(%INTEGER N)
#line 242 "regression-compile-tmp/imp918s.imp"
auto void MESSAGE( int N );
                                                                //    243           {%FAULT 1,2->OFL,9->INEND,18->SUBSCHAR}
                                                                //    244           %on %event 1,2,9{,18} %start
#line 244 "regression-compile-tmp/imp918s.imp"
if (!_imp_on_event(1, 2, 9)) goto L_000c;  /* TO DO: Remove %on %event handler just before L_000c: if present for this block */
                                                                //    245             ->OFL %if event_event = 1
#line 245 "regression-compile-tmp/imp918s.imp"
if (((_imp_EVENT().EVENT) != (1))) goto L_000d;
#line 245 "regression-compile-tmp/imp918s.imp"
goto U_1002;
#line 245 "regression-compile-tmp/imp918s.imp"
L_000d:;
                                                                //    246             ->OFL %if event_event = 2
#line 246 "regression-compile-tmp/imp918s.imp"
if (((_imp_EVENT().EVENT) != (2))) goto L_000e;
#line 246 "regression-compile-tmp/imp918s.imp"
goto U_1002;
#line 246 "regression-compile-tmp/imp918s.imp"
L_000e:;
                                                                //    247             ->INEND %if event_event = 9
#line 247 "regression-compile-tmp/imp918s.imp"
if (((_imp_EVENT().EVENT) != (9))) goto L_000f;
#line 247 "regression-compile-tmp/imp918s.imp"
goto U_1003;
#line 247 "regression-compile-tmp/imp918s.imp"
L_000f:;
                                                                //    248             {->SUBSCHAR %if event_event = 18}
                                                                //    249           %finish
#line 249 "regression-compile-tmp/imp918s.imp"
L_000c:;
                                                                //    250   ! START OF COMPILATION
                                                                //    251           %BEGIN
#line 251 "regression-compile-tmp/imp918s.imp"
void _BLOCK_2_LEVEL_1_(void) {
                                                                //    252  !***********************************************************************
                                                                //    253  !*       THIS BLOCK INITIALISE THE COMPILER SCALARS AND ARRAYS         *
                                                                //    254  !*       WAS ORIGINALLY ROUTINE 'INITIALISE'.                          *
                                                                //    255  !*       THE INITIALISATION OF THE CONSTANT LISTS WITH THE VALUES      *
                                                                //    256  !*       IN PERM MAY BE OMITTED IN BATCH OR CUT-DOWN VERSIONS.         *
                                                                //    257  !***********************************************************************
                                                                //    258           {%SHORTROUTINE}
                                                                //    259  !%if INCLUDE DELSTART = 1 %start
                                                                //    260           %CONSTBYTEINTEGERARRAY ILETT(0: 410)= 11,
#line 260 "regression-compile-tmp/imp918s.imp"
const unsigned char ILETT[411] = { 11, 83, 69, 76, 69, 67, 84, 73, 78, 80, 85, 84, 12, 83, 69, 76, 69, 67, 84, 79, 85, 84, 80, 85, 84, 7, 78, 69, 87, 76, 73, 78, 69, 5, 83, 80, 65, 67, 69, 10, 83, 75, 73, 80, 83, 89, 77, 66, 79, 76, 10, 82, 69, 65, 68, 83, 84, 82, 73, 78, 71, 8, 78, 69, 87, 76, 73, 78, 69, 83, 6, 83, 80, 65, 67, 69, 83, 10, 78, 69, 88, 84, 83, 89, 77, 66, 79, 76, 11, 80, 82, 73, 78, 84, 83, 89, 77, 66, 79, 76, 10, 82, 69, 65, 68, 83, 89, 77, 66, 79, 76, 4, 82, 69, 65, 68, 5, 87, 82, 73, 84, 69, 7, 78, 69, 87, 80, 65, 71, 69, 4, 65, 68, 68, 82, 6, 65, 82, 67, 83, 73, 78, 3, 73, 78, 84, 5, 73, 78, 84, 80, 84, 6, 70, 82, 65, 67, 80, 84, 5, 80, 82, 73, 78, 84, 7, 80, 82, 73, 78, 84, 70, 76, 4, 82, 69, 65, 76, 7, 73, 78, 84, 69, 71, 69, 82, 3, 77, 79, 68, 6, 65, 82, 67, 67, 79, 83, 4, 83, 81, 82, 84, 3, 76, 79, 71, 3, 83, 73, 78, 3, 67, 79, 83, 3, 84, 65, 78, 3, 69, 88, 80, 11, 67, 76, 79, 83, 69, 83, 84, 82, 69, 65, 77, 11, 66, 89, 84, 69, 73, 78, 84, 69, 71, 69, 82, 12, 83, 72, 79, 82, 84, 73, 78, 84, 69, 71, 69, 82, 6, 82, 65, 68, 73, 85, 83, 6, 65, 82, 67, 84, 65, 78, 6, 76, 69, 78, 71, 84, 72, 11, 80, 82, 73, 78, 84, 83, 84, 82, 73, 78, 71, 2, 78, 76, 8, 76, 79, 78, 71, 82, 69, 65, 76, 7, 80, 82, 73, 78, 84, 67, 72, 6, 82, 69, 65, 68, 67, 72, 6, 83, 84, 82, 73, 78, 71, 8, 82, 69, 65, 68, 73, 84, 69, 77, 8, 78, 69, 88, 84, 73, 84, 69, 77, 6, 67, 72, 65, 82, 78, 79, 8, 84, 79, 83, 84, 82, 73, 78, 71, 10, 70, 82, 79, 77, 83, 84, 82, 73, 78, 71, 6, 82, 69, 67, 79, 82, 68, 5, 65, 82, 82, 65, 89, 10, 83, 69, 84, 77, 65, 82, 71, 73, 78, 83, 4, 73, 77, 79, 68, 2, 80, 73, 6, 78, 69, 88, 84, 67, 72, 255,  };
                                                                //    261      'S','E','L','E','C','T','I','N','P','U','T', 12,'S','E','L','E',
                                                                //    262      'C','T','O','U','T','P','U','T',  7,'N','E','W','L','I','N','E',
                                                                //    263        5,'S','P','A','C','E', 10,'S','K','I','P','S','Y','M','B','O',
                                                                //    264      'L', 10,'R','E','A','D','S','T','R','I','N','G',  8,'N','E','W',
                                                                //    265      'L','I','N','E','S',  6,'S','P','A','C','E','S', 10,'N','E','X',
                                                                //    266      'T','S','Y','M','B','O','L', 11,'P','R','I','N','T','S','Y','M',
                                                                //    267      'B','O','L', 10,'R','E','A','D','S','Y','M','B','O','L',  4,'R',
                                                                //    268      'E','A','D',  5,'W','R','I','T','E',  7,'N','E','W','P','A','G',
                                                                //    269      'E',  4,'A','D','D','R',  6,'A','R','C','S','I','N',  3,'I','N',
                                                                //    270      'T',  5,'I','N','T','P','T',  6,'F','R','A','C','P','T',  5,'P',
                                                                //    271      'R','I','N','T',  7,'P','R','I','N','T','F','L',  4,'R','E','A',
                                                                //    272      'L',  7,'I','N','T','E','G','E','R',  3,'M','O','D',  6,'A','R',
                                                                //    273      'C','C','O','S',  4,'S','Q','R','T',  3,'L','O','G',  3,'S','I',
                                                                //    274      'N',  3,'C','O','S',  3,'T','A','N',  3,'E','X','P', 11,'C','L',
                                                                //    275      'O','S','E','S','T','R','E','A','M', 11,'B','Y','T','E','I','N',
                                                                //    276      'T','E','G','E','R', 12,'S','H','O','R','T','I','N','T','E','G',
                                                                //    277      'E','R',  6,'R','A','D','I','U','S',  6,'A','R','C','T','A','N',
                                                                //    278        6,'L','E','N','G','T','H', 11,'P','R','I','N','T','S','T','R',
                                                                //    279      'I','N','G',  2,'N','L',  8,'L','O','N','G','R','E','A','L',  7,
                                                                //    280      'P','R','I','N','T','C','H',  6,'R','E','A','D','C','H',  6,'S',
                                                                //    281      'T','R','I','N','G',  8,'R','E','A','D','I','T','E','M',  8,'N',
                                                                //    282      'E','X','T','I','T','E','M',  6,'C','H','A','R','N','O',  8,'T',
                                                                //    283      'O','S','T','R','I','N','G', 10,'F','R','O','M','S','T','R','I',
                                                                //    284      'N','G',  6,'R','E','C','O','R','D',  5,'A','R','R','A','Y', 10,
                                                                //    285      'S','E','T','M','A','R','G','I','N','S',4,'I','M','O','D',
                                                                //    286       2,'P','I',6,'N','E','X','T','C','H',255;
                                                                //    287  !%finish
                                                                //    288  !%if USE MC = 1 %start
                                                                //    289  !         *XC_CABUF(108),CABUF ;!CLEAR INTEGER
                                                                //    290  !         *XC_FFLAG(24),FFLAG;          !CLEAR BYTE FLAG VARIABLES
                                                                //    291  !         *XC_MASK(144),MASK;           ! CLEAR WORK VARIABLES
                                                                //    292  !%finish
                                                                //    293           STMTSHELD=0; TOPPTR=500
#line 293 "regression-compile-tmp/imp918s.imp"
STMTSHELD = 0;
#line 293 "regression-compile-tmp/imp918s.imp"
TOPPTR = 500;
                                                                //    294           IMAX=(-1)>>1;PLABEL=26999
#line 294 "regression-compile-tmp/imp918s.imp"
IMAX = (int)((((unsigned int)((-1))) >> (1)));
#line 294 "regression-compile-tmp/imp918s.imp"
PLABEL = 26999;
                                                                //    295           LABSET=3<<30;LETT(0)=0
#line 295 "regression-compile-tmp/imp918s.imp"
LABSET = ((3) << (30));
#line 295 "regression-compile-tmp/imp918s.imp"
LETT[0] = 0;
                                                                //    296           N0=27; N=12; MARGIN=1024
#line 296 "regression-compile-tmp/imp918s.imp"
N0 = 27;
#line 296 "regression-compile-tmp/imp918s.imp"
N = 12;
#line 296 "regression-compile-tmp/imp918s.imp"
MARGIN = 1024;
                                                                //    297           MAX ULAB=NNAMES+16384;   ! LARGEST VALID USER LABEL
#line 297 "regression-compile-tmp/imp918s.imp"
MAXULAB = (((int)(NNAMES)) + (16384));
                                                                //    298           GLACA=N0<<2; GLACABUF=GLACA
#line 298 "regression-compile-tmp/imp918s.imp"
GLACA = ((N0) << (2));
#line 298 "regression-compile-tmp/imp918s.imp"
GLACABUF = GLACA;
                                                                //    299           CHECKSP=1 ;  CHECKS=1
#line 299 "regression-compile-tmp/imp918s.imp"
CHECKSP = 1;
#line 299 "regression-compile-tmp/imp918s.imp"
CHECKS = 1;
                                                                //    300           LINENOS=1; DIAGS1=1;  MONE=1
#line 300 "regression-compile-tmp/imp918s.imp"
LINENOS = 1;
#line 300 "regression-compile-tmp/imp918s.imp"
DIAGS1 = 1;
#line 300 "regression-compile-tmp/imp918s.imp"
MONE = 1;
                                                                //    301           LIST=1; SFLABEL=21999; UNASS=1
#line 301 "regression-compile-tmp/imp918s.imp"
LIST = 1;
#line 301 "regression-compile-tmp/imp918s.imp"
SFLABEL = 21999;
#line 301 "regression-compile-tmp/imp918s.imp"
UNASS = 1;
                                                                //    302           LET=1; XLABEL=19999;      ! FOR EXIT STATEMENTS
#line 302 "regression-compile-tmp/imp918s.imp"
LET = 1;
#line 302 "regression-compile-tmp/imp918s.imp"
XLABEL = 19999;
                                                                //    303           ARSIZE=480
#line 303 "regression-compile-tmp/imp918s.imp"
ARSIZE = 480;
                                                                //    304            QUICK=11009
#line 304 "regression-compile-tmp/imp918s.imp"
QUICK = 11009;
                                                                //    305           MAINEP1=4; MAINEP2=M'S#GO';  ! DEFAULT ENTRY POINT
#line 305 "regression-compile-tmp/imp918s.imp"
MAINEP1 = 4;
#line 305 "regression-compile-tmp/imp918s.imp"
MAINEP2 = 1394820943;
                                                                //    306           IOCP1=6; IOCP2=M'S#IO'; IOCP3=M'CPXX'
#line 306 "regression-compile-tmp/imp918s.imp"
IOCP1 = 6;
#line 306 "regression-compile-tmp/imp918s.imp"
IOCP2 = 1394821455;
#line 306 "regression-compile-tmp/imp918s.imp"
IOCP3 = 1129338968;
                                                                //    307           IMPMON1=8; IMPMON2=M'S#IM'; IMPMON3=M'PMON'
#line 307 "regression-compile-tmp/imp918s.imp"
IMPMON1 = 8;
#line 307 "regression-compile-tmp/imp918s.imp"
IMPMON2 = 1394821453;
#line 307 "regression-compile-tmp/imp918s.imp"
IMPMON3 = 1347243854;
                                                                //    308           !*INSERT
                                                                //    309           %IF FILE ADDR#0 %THEN %START
#line 309 "regression-compile-tmp/imp918s.imp"
if (((FILEADDR) == (0))) goto L_0010;
                                                                //    310             FILE PTR=FILE ADDR+INTEGER(FILE ADDR+4)
#line 310 "regression-compile-tmp/imp918s.imp"
FILEPTR = (((int)(FILEADDR)) + (*_imp_INTEGER((((int)(FILEADDR)) + (4)))));
                                                                //    311             FILE END=FILE ADDR+INTEGER(FILE ADDR)
#line 311 "regression-compile-tmp/imp918s.imp"
FILEEND = (((int)(FILEADDR)) + (*_imp_INTEGER(FILEADDR)));
                                                                //    312           %FINISH
#line 312 "regression-compile-tmp/imp918s.imp"
L_0010:;
                                                                //    313           I=COMREG(27)
#line 313 "regression-compile-tmp/imp918s.imp"
I = *comreg(27);
                                                                //    314           %IF I&2=2 %THEN LIST=0
#line 314 "regression-compile-tmp/imp918s.imp"
if (((((I) & (2))) != (2))) goto L_0011;
#line 314 "regression-compile-tmp/imp918s.imp"
LIST = 0;
#line 314 "regression-compile-tmp/imp918s.imp"
L_0011:;
                                                                //    315           %IF I&4=4 %THEN LINENOS=0
#line 315 "regression-compile-tmp/imp918s.imp"
if (((((I) & (4))) != (4))) goto L_0012;
#line 315 "regression-compile-tmp/imp918s.imp"
LINENOS = 0;
#line 315 "regression-compile-tmp/imp918s.imp"
L_0012:;
                                                                //    316           %IF I&16=16 %THEN UNASS=0
#line 316 "regression-compile-tmp/imp918s.imp"
if (((((I) & (16))) != (16))) goto L_0013;
#line 316 "regression-compile-tmp/imp918s.imp"
UNASS = 0;
#line 316 "regression-compile-tmp/imp918s.imp"
L_0013:;
                                                                //    317           %IF I&32=32  %THEN CHECKS=0
#line 317 "regression-compile-tmp/imp918s.imp"
if (((((I) & (32))) != (32))) goto L_0014;
#line 317 "regression-compile-tmp/imp918s.imp"
CHECKS = 0;
#line 317 "regression-compile-tmp/imp918s.imp"
L_0014:;
                                                                //    318           %IF I&(128<<8)#0 %THEN PRINTMAP=1
#line 318 "regression-compile-tmp/imp918s.imp"
if (((((I) & (((128) << (8))))) == (0))) goto L_0015;
#line 318 "regression-compile-tmp/imp918s.imp"
PRINTMAP = 1;
#line 318 "regression-compile-tmp/imp918s.imp"
L_0015:;
                                                                //    319           %IF I&(32<<8)#0 %THEN LET=0
#line 319 "regression-compile-tmp/imp918s.imp"
if (((((I) & (((32) << (8))))) == (0))) goto L_0016;
#line 319 "regression-compile-tmp/imp918s.imp"
LET = 0;
#line 319 "regression-compile-tmp/imp918s.imp"
L_0016:;
                                                                //    320           %IF I&64=64 %THEN DIAGS1=0
#line 320 "regression-compile-tmp/imp918s.imp"
if (((((I) & (64))) != (64))) goto L_0017;
#line 320 "regression-compile-tmp/imp918s.imp"
DIAGS1 = 0;
#line 320 "regression-compile-tmp/imp918s.imp"
L_0017:;
                                                                //    321           DIAGS2=I>>18&1
#line 321 "regression-compile-tmp/imp918s.imp"
DIAGS2 = (((int)((((unsigned int)(I)) >> (18)))) & (1));
                                                                //    322           TTOPUT=I>>21&1
#line 322 "regression-compile-tmp/imp918s.imp"
TTOPUT = (((int)((((unsigned int)(I)) >> (21)))) & (1));
                                                                //    323           %IF I&(1<<16)#0 %THEN %START
#line 323 "regression-compile-tmp/imp918s.imp"
if (((((I) & (((1) << (16))))) == (0))) goto L_0018;
                                                                //    324              CHECKS=0; CHECKSP=0
#line 324 "regression-compile-tmp/imp918s.imp"
CHECKS = 0;
#line 324 "regression-compile-tmp/imp918s.imp"
CHECKSP = 0;
                                                                //    325              LINENOS=0; UNASS=0
#line 325 "regression-compile-tmp/imp918s.imp"
LINENOS = 0;
#line 325 "regression-compile-tmp/imp918s.imp"
UNASS = 0;
                                                                //    326           %FINISH
#line 326 "regression-compile-tmp/imp918s.imp"
L_0018:;
                                                                //    327           GLAFLAG=CHECKSP;           ! GLAFLAG SHOULD BE SET TO 0 IF
#line 327 "regression-compile-tmp/imp918s.imp"
GLAFLAG = CHECKSP;
                                                                //    328  !                                     IMPS IS COMPILED NON OPTIMISED.
                                                                //    329           WARNINGS(0)=0
#line 329 "regression-compile-tmp/imp918s.imp"
WARNINGS[0] = 0;
                                                                //    330           IMPS=I>>23&1;              ! BIT SET IF IMPS REQUESTED
#line 330 "regression-compile-tmp/imp918s.imp"
IMPS = (((int)((((unsigned int)(I)) >> (23)))) & (1));
                                                                //    331  !
                                                                //    332  ! OPEN OBJECT FILE HERE BEFORE MORE PAGES OF COMPILER CODE
                                                                //    333  ! ARE PAGED IN AND SUB-SYSTEM PAGES MOVE OUT
                                                                //    334  !
                                                                //    335           LPUT(0,IMPS<<1+1,RELEASE,VERSION)
#line 335 "regression-compile-tmp/imp918s.imp"
lput(0, (((int)(((IMPS) << (1)))) + (1)), 9, 18);
                                                                //    336           NEWLINES(3); SPACES(20)
#line 336 "regression-compile-tmp/imp918s.imp"
_imp_NEWLINES(3);
#line 336 "regression-compile-tmp/imp918s.imp"
_imp_SPACES(20);
                                                                //    337           printstring("E.R.C.C. IMP")
#line 337 "regression-compile-tmp/imp918s.imp"
_imp_PRINTSTRING(_imp_str_literal("E.R.C.C. IMP"));
                                                                //    338           %IF IMPS#0 %THEN printstring("S")
#line 338 "regression-compile-tmp/imp918s.imp"
if (((IMPS) == (0))) goto L_0019;
#line 338 "regression-compile-tmp/imp918s.imp"
_imp_PRINTSTRING(_imp_str_literal("S"));
#line 338 "regression-compile-tmp/imp918s.imp"
L_0019:;
                                                                //    339           printstring(" COMPILER RELEASE")
#line 339 "regression-compile-tmp/imp918s.imp"
_imp_PRINTSTRING(_imp_str_literal(" COMPILER RELEASE"));
                                                                //    340           WRITE(RELEASE,1)
#line 340 "regression-compile-tmp/imp918s.imp"
_imp_WRITE(9, 1);
                                                                //    341           printstring(" VERSION")
#line 341 "regression-compile-tmp/imp918s.imp"
_imp_PRINTSTRING(_imp_str_literal(" VERSION"));
                                                                //    342           WRITE(VERSION,2)
#line 342 "regression-compile-tmp/imp918s.imp"
_imp_WRITE(18, 2);
                                                                //    343           NEWLINES(3)
#line 343 "regression-compile-tmp/imp918s.imp"
_imp_NEWLINES(3);
                                                                //    344           WRITE(NNAMES,5); WRITE(ASL,5)
#line 344 "regression-compile-tmp/imp918s.imp"
_imp_WRITE(NNAMES, 5);
#line 344 "regression-compile-tmp/imp918s.imp"
_imp_WRITE(ASL, 5);
                                                                //    345  !%if USE MC = 1 %start
                                                                //    346  !         *L_1,SET; *XC_0(48,1),0(1)
                                                                //    347  !         *L_1,CYCLE;  *XC_0(24,1),0(1)
                                                                //    348  !         *L_1,NAMES; *XC_0(24,1),0(1)
                                                                //    349  !         *L_1,LABEL;  *XC_0(24,1),0(1)
                                                                //    350  !         *L_1,SBR;    *XC_0(24,1),0(1)
                                                                //    351  !         *L_1,AVL WSP; *XC_0(192,1),0(1)
                                                                //    352  !         *L_1,REGISTER;  *XC_0(92,1),0(1)
                                                                //    353  !         *L_1,GRUSE;     *XC_0(92,1),0(1)
                                                                //    354  !         *L_1,GRINF;     *XC_0(92,1),0(1)
                                                                //    355  !         *L_1,GRAT; *XC_0(92,1),0(1)
                                                                //    356  !%finish
                                                                //    357           REGISTER(10)=-1; GRUSE(10)=12
#line 357 "regression-compile-tmp/imp918s.imp"
REGISTER[10] = (-1);
#line 357 "regression-compile-tmp/imp918s.imp"
GRUSE[10] = 12;
                                                                //    358           REGISTER(11)=-1; REGISTER(13)=-1
#line 358 "regression-compile-tmp/imp918s.imp"
REGISTER[11] = (-1);
#line 358 "regression-compile-tmp/imp918s.imp"
REGISTER[13] = (-1);
                                                                //    359  !%if USE MC = 1 %start
                                                                //    360  !         *L_1,UVARREG+4; *XC_0(40,1),0(1);!NO USER DEFINED REGS
                                                                //    361  !%finish
                                                                //    362           %CYCLE I=0,16,ASL-16
#line 362 "regression-compile-tmp/imp918s.imp"
{static int _initial, _increment, _final, _control;
_initial = 0; _increment = 16; _final = (((int)(ASL)) - (16)); I = _control = _initial;
if (((_final-_initial) % _increment) != 0) _imp_signal(5,1,0,"Illegal cycle I = 0, 16, (((int)(ASL)) - (16))");
I -= _increment; _control -= _increment;
L_001a:;
if (I == _final) goto L_001b;
I += _increment; _control += _increment;
if (I != _control) _imp_signal(4,2,0,"Corrupt control variable I"); /* FOR loop control variable corrupted */
}
                                                                //    363               SHORT INTEGER(ADDR(ASLIST(I))+30)=I
#line 363 "regression-compile-tmp/imp918s.imp"
*_imp_SHORTINTEGER((((int)(_imp_ADDR(&ASLIST[I]))) + (30))) = I;
                                                                //    364           %REPEAT
#line 364 "regression-compile-tmp/imp918s.imp"
goto L_001a;
#line 364 "regression-compile-tmp/imp918s.imp"
L_001b:;
                                                                //    365           INTEGER(ADDR(ASLIST(0)))=-1
#line 365 "regression-compile-tmp/imp918s.imp"
*_imp_INTEGER(_imp_ADDR(&ASLIST[0])) = (-1);
                                                                //    366           INTEGER(ADDR(ASLIST(4)))=-1
#line 366 "regression-compile-tmp/imp918s.imp"
*_imp_INTEGER(_imp_ADDR(&ASLIST[4])) = (-1);
                                                                //    367           INTEGER(ADDR(ASLIST(8)))=-1
#line 367 "regression-compile-tmp/imp918s.imp"
*_imp_INTEGER(_imp_ADDR(&ASLIST[8])) = (-1);
                                                                //    368           INTEGER(ADDR(ASLIST(12)))=X'FFFF0000'
#line 368 "regression-compile-tmp/imp918s.imp"
*_imp_INTEGER(_imp_ADDR(&ASLIST[12])) = (-65536);
                                                                //    369           SET PERMBASE
#line 369 "regression-compile-tmp/imp918s.imp"
SETPERMBASE();
                                                                //    370           PCONST(X'50FB003C');          ! ST 15,60(11)
#line 370 "regression-compile-tmp/imp918s.imp"
PCONST(1358626876);
                                                                //    371           PCONST(X'45FC004C');          ! BAL 15,RTI1
#line 371 "regression-compile-tmp/imp918s.imp"
PCONST(1174143052);
                                                                //    372           %CYCLE I=0,1,NNAMES
#line 372 "regression-compile-tmp/imp918s.imp"
{static int _initial, _increment, _final, _control;
_initial = 0; _increment = 1; _final = NNAMES; I = _control = _initial;
if (((_final-_initial) % _increment) != 0) _imp_signal(5,1,0,"Illegal cycle I = 0, 1, NNAMES");
I -= _increment; _control -= _increment;
L_001d:;
if (I == _final) goto L_001e;
I += _increment; _control += _increment;
if (I != _control) _imp_signal(4,2,0,"Corrupt control variable I"); /* FOR loop control variable corrupted */
}
                                                                //    373               WORD(I)=0; TAGS(I)=0
#line 373 "regression-compile-tmp/imp918s.imp"
WORD[I] = 0;
#line 373 "regression-compile-tmp/imp918s.imp"
TAGS[I] = 0;
                                                                //    374           %REPEAT
#line 374 "regression-compile-tmp/imp918s.imp"
goto L_001d;
#line 374 "regression-compile-tmp/imp918s.imp"
L_001e:;
                                                                //    375  !
                                                                //    376  ! NOW DECLARE THE SPECIAL NAMES WHICH ARE IN ARRAY ILETT. A SPECIAL
                                                                //    377  ! ALTERNATIVE (19) OF PHRASE <SS> IS PROVIDED FOR THIS PURPOSE
                                                                //    378  !
                                                                //    379  !%if INCLUDE DELSTART = 1 %start
                                                                //    380           A(1)=19; K=0; NEXT=1
#line 380 "regression-compile-tmp/imp918s.imp"
A[8] = 19;
#line 380 "regression-compile-tmp/imp918s.imp"
K = 0;
#line 380 "regression-compile-tmp/imp918s.imp"
NEXT = 1;
                                                                //    381           I=ILETT(0)
#line 381 "regression-compile-tmp/imp918s.imp"
I = ILETT[0];
                                                                //    382           %WHILE I<255 %CYCLE
#line 382 "regression-compile-tmp/imp918s.imp"
L_0020:;
#line 382 "regression-compile-tmp/imp918s.imp"
if (((I) >= (255))) goto L_0021;
                                                                //    383              %CYCLE J=1,1,I
#line 383 "regression-compile-tmp/imp918s.imp"
{static int _initial, _increment, _final, _control;
_initial = 1; _increment = 1; _final = I; J = _control = _initial;
if (((_final-_initial) % _increment) != 0) _imp_signal(5,1,0,"Illegal cycle J = 1, 1, I");
J -= _increment; _control -= _increment;
L_0023:;
if (J == _final) goto L_0024;
J += _increment; _control += _increment;
if (J != _control) _imp_signal(4,2,0,"Corrupt control variable J"); /* FOR loop control variable corrupted */
}
                                                                //    384                  CC(J)=ILETT(K+J)
#line 384 "regression-compile-tmp/imp918s.imp"
CC[J] = ILETT[(((int)(K)) + (J))];
                                                                //    385              %REPEAT; CC(J+1)=';'
#line 385 "regression-compile-tmp/imp918s.imp"
goto L_0023;
#line 385 "regression-compile-tmp/imp918s.imp"
L_0024:;
#line 385 "regression-compile-tmp/imp918s.imp"
CC[(((int)(J)) + (1))] = 59;
                                                                //    386              R=2; Q=ADDR(CC(1)); PNAME
#line 386 "regression-compile-tmp/imp918s.imp"
R = 2;
#line 386 "regression-compile-tmp/imp918s.imp"
Q = _imp_ADDR(&CC[1]);
#line 386 "regression-compile-tmp/imp918s.imp"
PNAME();
                                                                //    387              CSS(1,1); K=K+I+1; I=ILETT(K)
#line 387 "regression-compile-tmp/imp918s.imp"
CSS(1, 1);
#line 387 "regression-compile-tmp/imp918s.imp"
K = (((int)((((int)(K)) + (I)))) + (1));
#line 387 "regression-compile-tmp/imp918s.imp"
I = ILETT[K];
                                                                //    388           %REPEAT
#line 388 "regression-compile-tmp/imp918s.imp"
goto L_0020;
#line 388 "regression-compile-tmp/imp918s.imp"
L_0021:;
                                                                //    389  !%finish
                                                                //    390  !
                                                                //    391                    A(-7)=2; TOAR4(-6,PI1); TOAR4(-4,PI2)
#line 391 "regression-compile-tmp/imp918s.imp"
A[0] = 2;
#line 391 "regression-compile-tmp/imp918s.imp"
TOAR4((-6), PI1);
#line 391 "regression-compile-tmp/imp918s.imp"
TOAR4((-4), PI2);
                                                                //    392           A(0)=0; A(1)=12; CSS(1,1);      ! COMPILE A BEGIN @ LINE 0
#line 392 "regression-compile-tmp/imp918s.imp"
A[7] = 0;
#line 392 "regression-compile-tmp/imp918s.imp"
A[8] = 12;
#line 392 "regression-compile-tmp/imp918s.imp"
CSS(1, 1);
                                                                //    393           COMREG(24)=16;                ! RETURN CODE
#line 393 "regression-compile-tmp/imp918s.imp"
*comreg(24) = 16;
                                                                //    394           %CYCLE I=1,1,3
#line 394 "regression-compile-tmp/imp918s.imp"
I = 0;
if ((((3)-(1)) % (1)) != 0) _imp_signal(5,1,0,"Illegal cycle I = 1, 1, 3");
L_0026:;
if (I == 3) goto L_0027;
I += 1;
                                                                //    395               PUSH123(CONSTL4,I,0,X'800000E0'+I<<2)
#line 395 "regression-compile-tmp/imp918s.imp"
PUSH123(&CONSTL4, I, 0, (((-2147483424)) + ((int)(((I) << (2))))));
                                                                //    396               PUSH123(CONSTL4,I<<12,0,X'80000100'+I<<2)
#line 396 "regression-compile-tmp/imp918s.imp"
PUSH123(&CONSTL4, ((I) << (12)), 0, (((-2147483392)) + ((int)(((I) << (2))))));
                                                                //    397           %REPEAT
#line 397 "regression-compile-tmp/imp918s.imp"
goto L_0026;
#line 397 "regression-compile-tmp/imp918s.imp"
L_0027:;
                                                                //    398           PUSH123(CONSTL4,-1,0,16)
#line 398 "regression-compile-tmp/imp918s.imp"
PUSH123(&CONSTL4, (-1), 0, 16);
                                                                //    399           PUSH123(CONSTL4,255,0,24)
#line 399 "regression-compile-tmp/imp918s.imp"
PUSH123(&CONSTL4, 255, 0, 24);
                                                                //    400           PUSH123(CONSTL4,-4,0,X'800000F8')
#line 400 "regression-compile-tmp/imp918s.imp"
PUSH123(&CONSTL4, (-4), 0, (-2147483400));
                                                                //    401           PUSH123(CONSTL4,-8,0,X'800000FC')
#line 401 "regression-compile-tmp/imp918s.imp"
PUSH123(&CONSTL4, (-8), 0, (-2147483396));
                                                                //    402           PUSH123(CONSTL8,X'41100000',0,X'800000C8');! FLOATNG =D'1'
#line 402 "regression-compile-tmp/imp918s.imp"
PUSH123(&CONSTL8, 1091567616, 0, (-2147483448));
                                                                //    403           DUMMY FORMAT=0;        ! DUMMY RECORD FORMAT
#line 403 "regression-compile-tmp/imp918s.imp"
DUMMYFORMAT = 0;
                                                                //    404           PUSH(CONSTL6,0,0)
#line 404 "regression-compile-tmp/imp918s.imp"
PUSH(&CONSTL6, 0, 0);
                                                                //    405           PUSH123(DUMMY FORMAT,0,0,CONSTL6); ! FOR BETTER ERROR RECOVERY
#line 405 "regression-compile-tmp/imp918s.imp"
PUSH123(&DUMMYFORMAT, 0, 0, CONSTL6);
                                                                //    406           CONSTL6=0
#line 406 "regression-compile-tmp/imp918s.imp"
CONSTL6 = 0;
                                                                //    407           %END
#line 407 "regression-compile-tmp/imp918s.imp"
return;
} // End of block _BLOCK_2_LEVEL_1_ at level 2
_BLOCK_2_LEVEL_1_();
                                                                //    408  !
                                                                //    409          ->Label8
#line 409 "regression-compile-tmp/imp918s.imp"
goto U_1004;
                                                                //    410           %ROUTINE LOAD DATA
#line 410 "regression-compile-tmp/imp918s.imp"
void LOADDATA( void )
#line 410 "regression-compile-tmp/imp918s.imp"
{
                                                                //    411           {%SHORTROUTINE}
                                                                //    412  !***********************************************************************
                                                                //    413  !*       PASS INFORMATION TO LPUT TO ENABLE IT TO GENERATE THE         *
                                                                //    414  !*       LOADER DATA AND COMPLETE THE PROGRAM FILE.                    *
                                                                //    415  !***********************************************************************
                                                                //    416           %INTEGER JJ,KK,FLAG,XTRA,ID1,ID2,ID3
#line 416 "regression-compile-tmp/imp918s.imp"
int JJ;
#line 416 "regression-compile-tmp/imp918s.imp"
int KK;
#line 416 "regression-compile-tmp/imp918s.imp"
int FLAG;
#line 416 "regression-compile-tmp/imp918s.imp"
int XTRA;
#line 416 "regression-compile-tmp/imp918s.imp"
int ID1;
#line 416 "regression-compile-tmp/imp918s.imp"
int ID2;
#line 416 "regression-compile-tmp/imp918s.imp"
int ID3;
                                                                //    417           %SHORTINTEGER HEAD
#line 417 "regression-compile-tmp/imp918s.imp"
short HEAD;
                                                                //    418           GLACA=(GLACA+7)&(-8)
#line 418 "regression-compile-tmp/imp918s.imp"
GLACA = (((((int)(GLACA)) + (7))) & ((-8)));
                                                                //    419           CONSTPTR=(CONSTPTR+7)&(-8)
#line 419 "regression-compile-tmp/imp918s.imp"
CONSTPTR = (((((int)(CONSTPTR)) + (7))) & ((-8)));
                                                                //    420  !
                                                                //    421  ! DEFINE ANY DATA EPS FOR DATA IN THE GLA SYMBOL TABLES. THESE CAN NOT
                                                                //    422  ! BE DEFINED BEFORE THE SIZE OF THE GLA IS KNOWN
                                                                //    423  !
                                                                //    424           %WHILE EPLINK#0 %CYCLE
#line 424 "regression-compile-tmp/imp918s.imp"
L_0029:;
#line 424 "regression-compile-tmp/imp918s.imp"
if (((EPLINK) == (0))) goto L_002a;
                                                                //    425              POP123(EPLINK,JJ,XTRA,KK)
#line 425 "regression-compile-tmp/imp918s.imp"
POP123(&EPLINK, &JJ, &XTRA, &KK);
                                                                //    426              HEAD=KK; FLAG=JJ>>24; JJ=JJ&X'FFFFFF'
#line 426 "regression-compile-tmp/imp918s.imp"
HEAD = KK;
#line 426 "regression-compile-tmp/imp918s.imp"
FLAG = (int)((((unsigned int)(JJ)) >> (24)));
#line 426 "regression-compile-tmp/imp918s.imp"
JJ = ((JJ) & (16777215));
                                                                //    427              JJ=JJ+GLACA
#line 427 "regression-compile-tmp/imp918s.imp"
JJ = (((int)(JJ)) + (GLACA));
                                                                //    428              POP123(HEAD,ID1,ID2,ID3)
#line 428 "regression-compile-tmp/imp918s.imp"
POP123(&HEAD, &ID1, &ID2, &ID3);
                                                                //    429              ID3=ID3<<16
#line 429 "regression-compile-tmp/imp918s.imp"
ID3 = ((ID3) << (16));
                                                                //    430              LPUT(14,XTRA,JJ,ADDR(ID1))
#line 430 "regression-compile-tmp/imp918s.imp"
lput(14, XTRA, JJ, _imp_ADDR(&ID1));
                                                                //    431           %REPEAT
#line 431 "regression-compile-tmp/imp918s.imp"
goto L_0029;
#line 431 "regression-compile-tmp/imp918s.imp"
L_002a:;
                                                                //    432           CNOP(0,8)
#line 432 "regression-compile-tmp/imp918s.imp"
CNOP(0, 8);
                                                                //    433           FIXED GLA(2)=GLACA;        ! GLA SYMTABS FROM HEAD OF GLA
#line 433 "regression-compile-tmp/imp918s.imp"
FIXEDGLA[2] = GLACA;
                                                                //    434           FIXED GLA(3)=CA;           ! CODE SYMTABS FROM HEAD OF CODE
#line 434 "regression-compile-tmp/imp918s.imp"
FIXEDGLA[3] = CA;
                                                                //    435           FIXED GLA(0)=CA;           ! WILL BE RELOCATED
#line 435 "regression-compile-tmp/imp918s.imp"
FIXEDGLA[0] = CA;
                                                                //    436           CODE OUT
#line 436 "regression-compile-tmp/imp918s.imp"
CODEOUT();
                                                                //    437           I=GLACA-GLACABUF
#line 437 "regression-compile-tmp/imp918s.imp"
I = (((int)(GLACA)) - (GLACABUF));
                                                                //    438           %IF INHCODE=0 %THEN %START
#line 438 "regression-compile-tmp/imp918s.imp"
if (((INHCODE) != (0))) goto L_002c;
                                                                //    439              LPUT(2,I,GLACABUF,ADDR(GLABUF(0))) %UNLESS I=0;! BACK OF GLAP
#line 439 "regression-compile-tmp/imp918s.imp"
if (((I) == (0))) goto L_002d;
#line 439 "regression-compile-tmp/imp918s.imp"
lput(2, I, GLACABUF, _imp_ADDR(&GLABUF[0]));
#line 439 "regression-compile-tmp/imp918s.imp"
L_002d:;
                                                                //    440  !
                                                                //    441  ! NOW SET THE LANGUAGE FLAG(BYTE 4 OF GLA) 1=IMP,3=IMPS
                                                                //    442  !
                                                                //    443              BYTE INTEGER(ADDR(FIXED GLA(1)))=16+IMPS<<5;! LANGUAGE FLAG
#line 443 "regression-compile-tmp/imp918s.imp"
*_imp_BYTEINTEGER(_imp_ADDR(&FIXEDGLA[1])) = ((16) + ((int)(((IMPS) << (5)))));
                                                                //    444              LPUT(2,N0<<2,0,ADDR(FIXED GLA(0)));     ! FRONT OF GLAP
#line 444 "regression-compile-tmp/imp918s.imp"
lput(2, ((N0) << (2)), 0, _imp_ADDR(&FIXEDGLA[0]));
                                                                //    445              I=X'E2E2E2E2'
#line 445 "regression-compile-tmp/imp918s.imp"
I = (-488447262);
                                                                //    446              LPUT(4,4,SSTL,ADDR(I))
#line 446 "regression-compile-tmp/imp918s.imp"
lput(4, 4, SSTL, _imp_ADDR(&I));
                                                                //    447  !
                                                                //    448  ! NOW PLANT ANY RELOCATION INFO THAT HAS BEEN HELD UP AS IT IS RELATIVE
                                                                //    449  ! TO THE SYMBOL TABLES. LPUT DEALS ONLY IN CODE & GLA SO THE COMPILER
                                                                //    450  ! HAS TO ADJUST ST REFEFERNCES TO ALLOW FOR FRONT OF CODE OR GLA
                                                                //    451  !
                                                                //    452  !            %WHILE RELHEAD#0 %CYCLE
                                                                //    453  !               POP123(RELHEAD,JJ,KK,XTRA)
                                                                //    454  !               %IF XTRA=4 %THEN %START;    ! CODE ST
                                                                //    455  !                  KK=KK+CA
                                                                //    456  !               %FINISH %ELSE %START;       ! GLA ST
                                                                //    457  !                  KK=KK+GLACA
                                                                //    458  !               %FINISH
                                                                //    459  !               LPUT(2,4,JJ,ADDR(KK));      ! OUTPUT ADJUSTED POINTER
                                                                //    460  !               LPUT(XTRA+16,0,JJ,0);       ! AND RELOCATION INFO
                                                                //    461  !            %REPEAT
                                                                //    462  !
                                                                //    463              LPUT(20,0,0,0);                ! RELOCATE POINTER TO CST
#line 463 "regression-compile-tmp/imp918s.imp"
lput(20, 0, 0, 0);
                                                                //    464              LPUT(20,0,28,0);               ! RELOCATE GLA  HDOFCODE WORD
#line 464 "regression-compile-tmp/imp918s.imp"
lput(20, 0, 28, 0);
                                                                //    465              LPUT(12,0,23<<2,ADDR(FIXEDGLA(27)));! O-P PERM REFERENCE
#line 465 "regression-compile-tmp/imp918s.imp"
lput(12, 0, ((23) << (2)), _imp_ADDR(&FIXEDGLA[27]));
                                                                //    466              LPUT(16,0,64,0);               ! DEFINE TOPOFSTORE WORD
#line 466 "regression-compile-tmp/imp918s.imp"
lput(16, 0, 64, 0);
                                                                //    467           %FINISH
#line 467 "regression-compile-tmp/imp918s.imp"
L_002c:;
                                                                //    468           SSTL=(SSTL+11)&(-8)
#line 468 "regression-compile-tmp/imp918s.imp"
SSTL = (((((int)(SSTL)) + (11))) & ((-8)));
                                                                //    469           printstring("
#line 469 "regression-compile-tmp/imp918s.imp"
_imp_PRINTSTRING(_imp_str_literal("\nCODE"));
                                                                //    470  CODE")
                                                                //    471           WRITE(CA,6); PRINTSTRING(" BYTES      GLAP")
#line 471 "regression-compile-tmp/imp918s.imp"
_imp_WRITE(CA, 6);
#line 471 "regression-compile-tmp/imp918s.imp"
_imp_PRINTSTRING(_imp_str_literal(" BYTES      GLAP"));
                                                                //    472           WRITE(GLACA,3); printstring("+")
#line 472 "regression-compile-tmp/imp918s.imp"
_imp_WRITE(GLACA, 3);
#line 472 "regression-compile-tmp/imp918s.imp"
_imp_PRINTSTRING(_imp_str_literal("+"));
                                                                //    473           WRITE(CONSTPTR,1); printstring(" BYTES      DIAG TABLES")
#line 473 "regression-compile-tmp/imp918s.imp"
_imp_WRITE(CONSTPTR, 1);
#line 473 "regression-compile-tmp/imp918s.imp"
_imp_PRINTSTRING(_imp_str_literal(" BYTES      DIAG TABLES"));
                                                                //    474           WRITE(SSTL,3); printstring(" BYTES
#line 474 "regression-compile-tmp/imp918s.imp"
_imp_WRITE(SSTL, 3);
#line 474 "regression-compile-tmp/imp918s.imp"
_imp_PRINTSTRING(_imp_str_literal(" BYTES\nTOTAL"));
                                                                //    475  TOTAL")
                                                                //    476           REGISTER(0)=CA; REGISTER(1)=GLACA
#line 476 "regression-compile-tmp/imp918s.imp"
REGISTER[0] = CA;
#line 476 "regression-compile-tmp/imp918s.imp"
REGISTER[1] = GLACA;
                                                                //    477           REGISTER(2)=0
#line 477 "regression-compile-tmp/imp918s.imp"
REGISTER[2] = 0;
                                                                //    478           REGISTER(3)=SSTL
#line 478 "regression-compile-tmp/imp918s.imp"
REGISTER[3] = SSTL;
                                                                //    479           REGISTER(4)=CONSTPTR
#line 479 "regression-compile-tmp/imp918s.imp"
REGISTER[4] = CONSTPTR;
                                                                //    480           K=CA+GLACA+SSTL+CONSTPTR;REGISTER(5)=K
#line 480 "regression-compile-tmp/imp918s.imp"
K = (((int)((((int)((((int)(CA)) + (GLACA)))) + (SSTL)))) + (CONSTPTR));
#line 480 "regression-compile-tmp/imp918s.imp"
REGISTER[5] = K;
                                                                //    481           WRITE(K,5); printstring(" BYTES")
#line 481 "regression-compile-tmp/imp918s.imp"
_imp_WRITE(K, 5);
#line 481 "regression-compile-tmp/imp918s.imp"
_imp_PRINTSTRING(_imp_str_literal(" BYTES"));
                                                                //    482           %IF IMPS=0 %AND WARNINGS(0)>0 %START
#line 482 "regression-compile-tmp/imp918s.imp"
if (((IMPS) != (0))) goto L_002e;
#line 482 "regression-compile-tmp/imp918s.imp"
if (((WARNINGS[0]) <= (0))) goto L_002e;
                                                                //    483              J=WARNINGS(0)
#line 483 "regression-compile-tmp/imp918s.imp"
J = WARNINGS[0];
                                                                //    484              PRINTSTRING("
#line 484 "regression-compile-tmp/imp918s.imp"
_imp_PRINTSTRING(_imp_str_literal("\nTHE FOLLOWING LINES ARE NOT ACCEPTABLE TO 2900 IMP:-"));
                                                                //    485  THE FOLLOWING LINES ARE NOT ACCEPTABLE TO 2900 IMP:-")
                                                                //    486              NEWLINE
#line 486 "regression-compile-tmp/imp918s.imp"
_imp_NEWLINE();
                                                                //    487              %CYCLE I=1,1,J
#line 487 "regression-compile-tmp/imp918s.imp"
{static int _initial, _increment, _final, _control;
_initial = 1; _increment = 1; _final = J; I = _control = _initial;
if (((_final-_initial) % _increment) != 0) _imp_signal(5,1,0,"Illegal cycle I = 1, 1, J");
I -= _increment; _control -= _increment;
L_002f:;
if (I == _final) goto L_0030;
I += _increment; _control += _increment;
if (I != _control) _imp_signal(4,2,0,"Corrupt control variable I"); /* FOR loop control variable corrupted */
}
                                                                //    488                 WRITE(WARNINGS(I),3)
#line 488 "regression-compile-tmp/imp918s.imp"
_imp_WRITE(WARNINGS[I], 3);
                                                                //    489                 %EXIT %IF I>=30
#line 489 "regression-compile-tmp/imp918s.imp"
if (((I) < (30))) goto L_0032;
#line 489 "regression-compile-tmp/imp918s.imp"
goto L_0030;
#line 489 "regression-compile-tmp/imp918s.imp"
L_0032:;
                                                                //    490              %REPEAT
#line 490 "regression-compile-tmp/imp918s.imp"
goto L_002f;
#line 490 "regression-compile-tmp/imp918s.imp"
L_0030:;
                                                                //    491              NEWLINE
#line 491 "regression-compile-tmp/imp918s.imp"
_imp_NEWLINE();
                                                                //    492              %IF J>30 %THEN PRINTSTRING("PLUS ") %AND WRITE(J-30,3) %C
#line 492 "regression-compile-tmp/imp918s.imp"
if (((J) <= (30))) goto L_0033;
#line 492 "regression-compile-tmp/imp918s.imp"
_imp_PRINTSTRING(_imp_str_literal("PLUS "));
#line 492 "regression-compile-tmp/imp918s.imp"
_imp_WRITE((((int)(J)) - (30)), 3);
#line 492 "regression-compile-tmp/imp918s.imp"
_imp_PRINTSTRING(_imp_str_literal(" MORE\n"));
#line 492 "regression-compile-tmp/imp918s.imp"
L_0033:;
                                                                //    493                 %AND PRINTSTRING(" MORE
                                                                //    494  ")
                                                                //    495           %FINISH
#line 495 "regression-compile-tmp/imp918s.imp"
L_002e:;
                                                                //    496           NEWLINE; print symbol(13);    ! MARKER FOR COMP TO PRINT SUMMARY
#line 496 "regression-compile-tmp/imp918s.imp"
_imp_NEWLINE();
#line 496 "regression-compile-tmp/imp918s.imp"
_imp_PRINTSYMBOL(13);
                                                                //    497           %IF FAULTY=0 %THEN %START
#line 497 "regression-compile-tmp/imp918s.imp"
if (((FAULTY) != (0))) goto L_0034;
                                                                //    498              WRITE(STMTS,7); printstring(" STATEMENTS COMPILED")
#line 498 "regression-compile-tmp/imp918s.imp"
_imp_WRITE(STMTS, 7);
#line 498 "regression-compile-tmp/imp918s.imp"
_imp_PRINTSTRING(_imp_str_literal(" STATEMENTS COMPILED"));
                                                                //    499              %IF GLACA>4096 %THEN printstring("
#line 499 "regression-compile-tmp/imp918s.imp"
if (((GLACA) <= (4096))) goto L_0035;
#line 499 "regression-compile-tmp/imp918s.imp"
_imp_PRINTSTRING(_imp_str_literal("\nWARNING:- GLAP ROOT IS GREATER THAN 4096 BYTES!\n********\n          OBJECT PROGRAM IS LIABLE TO BE VERY INEFFICIENT\n"));
#line 499 "regression-compile-tmp/imp918s.imp"
L_0035:;
                                                                //    500  WARNING:- GLAP ROOT IS GREATER THAN 4096 BYTES!
                                                                //    501  ********
                                                                //    502            OBJECT PROGRAM IS LIABLE TO BE VERY INEFFICIENT
                                                                //    503  ");
                                                                //    504             COMREG(47) = STMTS
#line 504 "regression-compile-tmp/imp918s.imp"
*comreg(47) = STMTS;
                                                                //    505           %FINISH %ELSE %START
#line 505 "regression-compile-tmp/imp918s.imp"
goto L_0036;
#line 505 "regression-compile-tmp/imp918s.imp"
L_0034:;
                                                                //    506              printstring("PROGRAM CONTAINS"); WRITE(FAULTY,2)
#line 506 "regression-compile-tmp/imp918s.imp"
_imp_PRINTSTRING(_imp_str_literal("PROGRAM CONTAINS"));
#line 506 "regression-compile-tmp/imp918s.imp"
_imp_WRITE(FAULTY, 2);
                                                                //    507              printstring(" FAULT");  PRINTSYMBOL('S') %IF FAULTY>1
#line 507 "regression-compile-tmp/imp918s.imp"
_imp_PRINTSTRING(_imp_str_literal(" FAULT"));
#line 507 "regression-compile-tmp/imp918s.imp"
if (((FAULTY) <= (1))) goto L_0037;
#line 507 "regression-compile-tmp/imp918s.imp"
_imp_PRINTSYMBOL(83);
#line 507 "regression-compile-tmp/imp918s.imp"
L_0037:;
                                                                //    508              COMREG(47)=FAULTY;             ! FOR COMPER
#line 508 "regression-compile-tmp/imp918s.imp"
*comreg(47) = FAULTY;
                                                                //    509           %FINISH
#line 509 "regression-compile-tmp/imp918s.imp"
L_0036:;
                                                                //    510           NEWLINES(2)
#line 510 "regression-compile-tmp/imp918s.imp"
_imp_NEWLINES(2);
                                                                //    511           I=0; I=8 %IF FAULTY#0
#line 511 "regression-compile-tmp/imp918s.imp"
I = 0;
#line 511 "regression-compile-tmp/imp918s.imp"
if (((FAULTY) == (0))) goto L_0038;
#line 511 "regression-compile-tmp/imp918s.imp"
I = 8;
#line 511 "regression-compile-tmp/imp918s.imp"
L_0038:;
                                                                //    512           COMREG(24)=I
#line 512 "regression-compile-tmp/imp918s.imp"
*comreg(24) = I;
                                                                //    513           %IF INHCODE=0 %THEN %C
#line 513 "regression-compile-tmp/imp918s.imp"
if (((INHCODE) != (0))) goto L_0039;
#line 513 "regression-compile-tmp/imp918s.imp"
lput(7, 24, 0, _imp_ADDR(&REGISTER[0]));
#line 513 "regression-compile-tmp/imp918s.imp"
L_0039:;
                                                                //    514           LPUT(7,24,0,ADDR(REGISTER(0)));! SUMMARY INFO..REGISTER AS BUF
                                                                //    515           %STOP
#line 515 "regression-compile-tmp/imp918s.imp"
exit(0);
                                                                //    516           %END
#line 516 "regression-compile-tmp/imp918s.imp"
return;
} // End of block LOADDATA at level 2
                                                                //    517           %ROUTINE     FAULT(%INTEGER N,FNAME)
#line 517 "regression-compile-tmp/imp918s.imp"
void FAULT( int N, int FNAME )
#line 517 "regression-compile-tmp/imp918s.imp"
{
                                                                //    518           {%SHORTROUTINE}
                                                                //    519           %INTEGER I,J,QP,FLINE
#line 519 "regression-compile-tmp/imp918s.imp"
int I;
#line 519 "regression-compile-tmp/imp918s.imp"
int J;
#line 519 "regression-compile-tmp/imp918s.imp"
int QP;
#line 519 "regression-compile-tmp/imp918s.imp"
int FLINE;
                                                                //    520           %IF N=100 %THEN FLINE=LINE %ELSE FLINE=A(STPTRS(1)-1)
#line 520 "regression-compile-tmp/imp918s.imp"
if (((N) != (100))) goto L_003a;
#line 520 "regression-compile-tmp/imp918s.imp"
FLINE = LINE;
#line 520 "regression-compile-tmp/imp918s.imp"
goto L_003b;
#line 520 "regression-compile-tmp/imp918s.imp"
L_003a:;
#line 520 "regression-compile-tmp/imp918s.imp"
FLINE = A[(((unsigned char)((((int)(STPTRS[0])) - (1)))) + (7))];
#line 520 "regression-compile-tmp/imp918s.imp"
L_003b:;
                                                                //    521           QP=Q
#line 521 "regression-compile-tmp/imp918s.imp"
QP = Q;
                                                                //    522           printstring("
#line 522 "regression-compile-tmp/imp918s.imp"
_imp_PRINTSTRING(_imp_str_literal("\n*"));
                                                                //    523  *");      WRITE(FLINE,4)
#line 523 "regression-compile-tmp/imp918s.imp"
_imp_WRITE(FLINE, 4);
                                                                //    524           I=3; I=3*LEVEL %IF LIST=0; SPACES(I)
#line 524 "regression-compile-tmp/imp918s.imp"
I = 3;
#line 524 "regression-compile-tmp/imp918s.imp"
if (((LIST) != (0))) goto L_003c;
#line 524 "regression-compile-tmp/imp918s.imp"
I = (((int)(3)) * (LEVEL));
#line 524 "regression-compile-tmp/imp918s.imp"
L_003c:;
#line 524 "regression-compile-tmp/imp918s.imp"
_imp_SPACES(I);
                                                                //    525           CHECKSP=1; FAULTY=FAULTY+1
#line 525 "regression-compile-tmp/imp918s.imp"
CHECKSP = 1;
#line 525 "regression-compile-tmp/imp918s.imp"
FAULTY = (((int)(FAULTY)) + (1));
                                                                //    526           INHCODE=1 %UNLESS LET=0;    ! STOP GENERATING CODE
#line 526 "regression-compile-tmp/imp918s.imp"
if (((LET) == (0))) goto L_003d;
#line 526 "regression-compile-tmp/imp918s.imp"
INHCODE = 1;
#line 526 "regression-compile-tmp/imp918s.imp"
L_003d:;
                                                                //    527           %IF N#100 %THEN %START;     ! ALL EXCEPT SYNTAX
#line 527 "regression-compile-tmp/imp918s.imp"
if (((N) == (100))) goto L_003e;
                                                                //    528              printstring("FAULT"); WRITE(N,2)
#line 528 "regression-compile-tmp/imp918s.imp"
_imp_PRINTSTRING(_imp_str_literal("FAULT"));
#line 528 "regression-compile-tmp/imp918s.imp"
_imp_WRITE(N, 2);
                                                                //    529              MESSAGE(N)
#line 529 "regression-compile-tmp/imp918s.imp"
MESSAGE(N);
                                                                //    530              %IF N>100 %THEN %START
#line 530 "regression-compile-tmp/imp918s.imp"
if (((N) <= (100))) goto L_003f;
                                                                //    531                 printstring(" DISASTER ")
#line 531 "regression-compile-tmp/imp918s.imp"
_imp_PRINTSTRING(_imp_str_literal(" DISASTER "));
                                                                //    532                 ABORT %UNLESS N<=108; %STOP
#line 532 "regression-compile-tmp/imp918s.imp"
if (((N) <= (108))) goto L_0040;
#line 532 "regression-compile-tmp/imp918s.imp"
ABORT();
#line 532 "regression-compile-tmp/imp918s.imp"
L_0040:;
#line 532 "regression-compile-tmp/imp918s.imp"
exit(0);
                                                                //    533              %FINISH
#line 533 "regression-compile-tmp/imp918s.imp"
L_003f:;
                                                                //    534              PRINTNAME(FNAME) %UNLESS FNAME=0
#line 534 "regression-compile-tmp/imp918s.imp"
if (((FNAME) == (0))) goto L_0041;
#line 534 "regression-compile-tmp/imp918s.imp"
PRINTNAME(FNAME);
#line 534 "regression-compile-tmp/imp918s.imp"
L_0041:;
                                                                //    535           %FINISH %ELSE %START;       ! SYMTAX FAULTS
#line 535 "regression-compile-tmp/imp918s.imp"
goto L_0042;
#line 535 "regression-compile-tmp/imp918s.imp"
L_003e:;
                                                                //    536              printstring("  SYNTAX   ")
#line 536 "regression-compile-tmp/imp918s.imp"
_imp_PRINTSTRING(_imp_str_literal("  SYNTAX   "));
                                                                //    537              %IF LINE#OLDLINE %THEN %START
#line 537 "regression-compile-tmp/imp918s.imp"
if (((LINE) == (OLDLINE))) goto L_0043;
                                                                //    538                 printstring("
#line 538 "regression-compile-tmp/imp918s.imp"
_imp_PRINTSTRING(_imp_str_literal("\n TEXT MODE FAILURE "));
                                                                //    539   TEXT MODE FAILURE ")
                                                                //    540                 WRITE(LINE-OLDLINE,1)
#line 540 "regression-compile-tmp/imp918s.imp"
_imp_WRITE((((int)(LINE)) - (OLDLINE)), 1);
                                                                //    541                 printstring(" LINES LOST 
#line 541 "regression-compile-tmp/imp918s.imp"
_imp_PRINTSTRING(_imp_str_literal(" LINES LOST \n"));
                                                                //    542  ")
                                                                //    543                 Q=QMAX
#line 543 "regression-compile-tmp/imp918s.imp"
Q = QMAX;
                                                                //    544              %FINISH %ELSE %START
#line 544 "regression-compile-tmp/imp918s.imp"
goto L_0044;
#line 544 "regression-compile-tmp/imp918s.imp"
L_0043:;
                                                                //    545                 %CYCLE
#line 545 "regression-compile-tmp/imp918s.imp"
L_0045:;
                                                                //    546                    J=BYTE INTEGER(Q)
#line 546 "regression-compile-tmp/imp918s.imp"
J = *_imp_BYTEINTEGER(Q);
                                                                //    547                    PRINT SYMBOL(J)
#line 547 "regression-compile-tmp/imp918s.imp"
_imp_PRINTSYMBOL(J);
                                                                //    548                    Q=Q+1
#line 548 "regression-compile-tmp/imp918s.imp"
Q = (((int)(Q)) + (1));
                                                                //    549                 %REPEAT %UNTIL J=';' %OR Q=LENGTH
#line 549 "regression-compile-tmp/imp918s.imp"
if (((J) == (59))) goto L_0046;
#line 549 "regression-compile-tmp/imp918s.imp"
if (((Q) == (LENGTH))) goto L_0046;
#line 549 "regression-compile-tmp/imp918s.imp"
goto L_0045;
#line 549 "regression-compile-tmp/imp918s.imp"
L_0046:;
                                                                //    550                  %IF I+20+Q-QP<=120 %THEN %START
#line 550 "regression-compile-tmp/imp918s.imp"
if ((((((int)((((int)((((int)(I)) + (20)))) + (Q)))) - (QP))) > (120))) goto L_0048;
                                                                //    551                    NEWLINE; SPACES(I+QMAX-QP+17)
#line 551 "regression-compile-tmp/imp918s.imp"
_imp_NEWLINE();
#line 551 "regression-compile-tmp/imp918s.imp"
_imp_SPACES((((int)((((int)((((int)(I)) + (QMAX)))) - (QP)))) + (17)));
                                                                //    552                    printstring("!
#line 552 "regression-compile-tmp/imp918s.imp"
_imp_PRINTSTRING(_imp_str_literal("!\n"));
                                                                //    553  ")
                                                                //    554                 %FINISH
#line 554 "regression-compile-tmp/imp918s.imp"
L_0048:;
                                                                //    555              %FINISH
#line 555 "regression-compile-tmp/imp918s.imp"
L_0044:;
                                                                //    556           %FINISH
#line 556 "regression-compile-tmp/imp918s.imp"
L_0042:;
                                                                //    557           %IF TTOPUT#0 %THEN %START
#line 557 "regression-compile-tmp/imp918s.imp"
if (((TTOPUT) == (0))) goto L_0049;
                                                                //    558              Q=QP; TTOPUT=0
#line 558 "regression-compile-tmp/imp918s.imp"
Q = QP;
#line 558 "regression-compile-tmp/imp918s.imp"
TTOPUT = 0;
                                                                //    559              SELECT OUTPUT(87)
#line 559 "regression-compile-tmp/imp918s.imp"
_imp_SELECTOUTPUT(87);
                                                                //    560              FAULT(N,FNAME)
#line 560 "regression-compile-tmp/imp918s.imp"
FAULT(N, FNAME);
                                                                //    561              FAULTY=FAULTY-1
#line 561 "regression-compile-tmp/imp918s.imp"
FAULTY = (((int)(FAULTY)) - (1));
                                                                //    562              NEWLINE
#line 562 "regression-compile-tmp/imp918s.imp"
_imp_NEWLINE();
                                                                //    563              SELECT OUTPUT(82)
#line 563 "regression-compile-tmp/imp918s.imp"
_imp_SELECTOUTPUT(82);
                                                                //    564              TTOPUT=1
#line 564 "regression-compile-tmp/imp918s.imp"
TTOPUT = 1;
                                                                //    565           %FINISH
#line 565 "regression-compile-tmp/imp918s.imp"
L_0049:;
                                                                //    566           %END
#line 566 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block FAULT at level 2
                                                                //    567  
                                                                //    568  %ROUTINE WARN(%INTEGER LINE)
#line 568 "regression-compile-tmp/imp918s.imp"
void WARN( int LINE )
#line 568 "regression-compile-tmp/imp918s.imp"
{
                                                                //    569  !***********************************************************************
                                                                //    570  !*       STORE A WARNING IF STMNT NOT 2900 IMP COMPATIBLE              *
                                                                //    571  !***********************************************************************
                                                                //    572  %INTEGER I,J
#line 572 "regression-compile-tmp/imp918s.imp"
int I;
#line 572 "regression-compile-tmp/imp918s.imp"
int J;
                                                                //    573           I=WARNINGS(0); J=I+1
#line 573 "regression-compile-tmp/imp918s.imp"
I = WARNINGS[0];
#line 573 "regression-compile-tmp/imp918s.imp"
J = (((int)(I)) + (1));
                                                                //    574           %IF J>30 %THEN WARNINGS(0)=J %AND %RETURN
#line 574 "regression-compile-tmp/imp918s.imp"
if (((J) <= (30))) goto L_004a;
#line 574 "regression-compile-tmp/imp918s.imp"
WARNINGS[0] = J;
#line 574 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 574 "regression-compile-tmp/imp918s.imp"
L_004a:;
                                                                //    575           %IF LINE>WARNINGS(I) %THEN WARNINGS(J)=LINE %AND %C
#line 575 "regression-compile-tmp/imp918s.imp"
if (((LINE) <= (WARNINGS[I]))) goto L_004b;
#line 575 "regression-compile-tmp/imp918s.imp"
WARNINGS[J] = LINE;
#line 575 "regression-compile-tmp/imp918s.imp"
WARNINGS[0] = J;
#line 575 "regression-compile-tmp/imp918s.imp"
L_004b:;
                                                                //    576              WARNINGS(0)=J
                                                                //    577  %END
#line 577 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block WARN at level 2
                                                                //    578           %ROUTINE ABORT
#line 578 "regression-compile-tmp/imp918s.imp"
void ABORT( void )
#line 578 "regression-compile-tmp/imp918s.imp"
{
                                                                //    579           printstring("
#line 579 "regression-compile-tmp/imp918s.imp"
_imp_PRINTSTRING(_imp_str_literal("\n****************      ABORT********************    ABORT    *******"));
                                                                //    580  ****************      ABORT********************    ABORT    *******")
                                                                //    581           RECODE(ADDR(CODE(0)),ADDR(CODE(PPCURR)),CABUF) %UNLESS CA=CABUF
#line 581 "regression-compile-tmp/imp918s.imp"
if (((CA) == (CABUF))) goto L_004c;
#line 581 "regression-compile-tmp/imp918s.imp"
recode(_imp_ADDR(&CODE[0]), _imp_ADDR(&CODE[PPCURR]), CABUF);
#line 581 "regression-compile-tmp/imp918s.imp"
L_004c:;
                                                                //    582           PRINT USE
#line 582 "regression-compile-tmp/imp918s.imp"
PRINTUSE();
                                                                //    583           %MONITOR ; %STOP; %END
#line 583 "regression-compile-tmp/imp918s.imp"
_imp_monitor(0, (_imp_current_line != 0 ? _imp_current_line : __LINE__), (_imp_current_file != 0 ? _imp_current_file : __FILE__), __PRETTY_FUNCTION__);
#line 583 "regression-compile-tmp/imp918s.imp"
exit(0);
#line 583 "regression-compile-tmp/imp918s.imp"
return;
} // End of block ABORT at level 2
                                                                //    584  %ROUTINE PRINT USE
#line 584 "regression-compile-tmp/imp918s.imp"
void PRINTUSE( void )
#line 584 "regression-compile-tmp/imp918s.imp"
{
                                                                //    585  %INTEGER I, J, K
#line 585 "regression-compile-tmp/imp918s.imp"
int I;
#line 585 "regression-compile-tmp/imp918s.imp"
int J;
#line 585 "regression-compile-tmp/imp918s.imp"
int K;
                                                                //    586  %ROUTINESPEC USES(%INTEGER I)
#line 586 "regression-compile-tmp/imp918s.imp"
auto void USES( int I );
                                                                //    587  %OWNSTRING (10) %ARRAY STATUS(-1:2)="  LOCKED  ",
#line 587 "regression-compile-tmp/imp918s.imp"
static _imp_string /*%string(10)*/ STATUS[4] = { _imp_str_literal("  LOCKED  "), _imp_str_literal("   FREE   "), _imp_str_literal(" CLAIMED  "), _imp_str_literal(" RESERVED "),  };
                                                                //    588           "   FREE   "," CLAIMED  "," RESERVED "
                                                                //    589  %INTEGER NNAMES
#line 589 "regression-compile-tmp/imp918s.imp"
int NNAMES;
                                                                //    590  !%if USE MC = 1 %start
                                                                //    591  !         *L_1,TAGS+8;  *MVC_NNAMES(4),8(1)
                                                                //    592  !%finish
                                                                //    593           NEWLINES(2)
#line 593 "regression-compile-tmp/imp918s.imp"
_imp_NEWLINES(2);
                                                                //    594           %CYCLE I=0, 1, 15
#line 594 "regression-compile-tmp/imp918s.imp"
I = (-1);
if ((((15)-(0)) % (1)) != 0) _imp_signal(5,1,0,"Illegal cycle I = 0, 1, 15");
L_004d:;
if (I == 15) goto L_004e;
I += 1;
                                                                //    595              ->Label9 %IF 10<=I<=13
#line 595 "regression-compile-tmp/imp918s.imp"
if ((((10) > (I))) || (((I) > (13)))) goto L_0050;
#line 595 "regression-compile-tmp/imp918s.imp"
goto U_1005;
#line 595 "regression-compile-tmp/imp918s.imp"
L_0050:;
                                                                //    596              ->Label9 %IF REGISTER(I)=0 %AND GRUSE(I)=0 %AND (I>6 %C
#line 596 "regression-compile-tmp/imp918s.imp"
if (((REGISTER[I]) != (0))) goto L_0051;
#line 596 "regression-compile-tmp/imp918s.imp"
if (((GRUSE[I]) != (0))) goto L_0051;
#line 596 "regression-compile-tmp/imp918s.imp"
if (((I) > (6))) goto L_0031;
#line 596 "regression-compile-tmp/imp918s.imp"
if (((REGISTER[(((int)(I)) + (16))]) != (0))) goto L_0051;
#line 596 "regression-compile-tmp/imp918s.imp"
if (((GRUSE[(((int)(I)) + (16))]) != (0))) goto L_0051;
#line 596 "regression-compile-tmp/imp918s.imp"
L_0031:;
#line 596 "regression-compile-tmp/imp918s.imp"
goto U_1005;
#line 596 "regression-compile-tmp/imp918s.imp"
L_0051:;
                                                                //    597                 %OR (REGISTER(I+16)=0 %AND GRUSE(I+16)=0))
                                                                //    598              WRITE(I, 2)
#line 598 "regression-compile-tmp/imp918s.imp"
_imp_WRITE(I, 2);
                                                                //    599              PRINTSTRING(STATUS(REGISTER(I)))
#line 599 "regression-compile-tmp/imp918s.imp"
_imp_PRINTSTRING((STATUS+1)[REGISTER[I]]);
                                                                //    600              USES(I)
#line 600 "regression-compile-tmp/imp918s.imp"
USES(I);
                                                                //    601              ->Label4 %IF I>6 %OR (REGISTER(I+16)=0=GRUSE(I+16))
#line 601 "regression-compile-tmp/imp918s.imp"
if (((I) > (6))) goto L_0052;
#line 601 "regression-compile-tmp/imp918s.imp"
if ((((REGISTER[(((int)(I)) + (16))]) != (0))) || (((0) != (GRUSE[(((int)(I)) + (16))])))) goto L_0053;
#line 601 "regression-compile-tmp/imp918s.imp"
L_0052:;
#line 601 "regression-compile-tmp/imp918s.imp"
goto U_1006;
#line 601 "regression-compile-tmp/imp918s.imp"
L_0053:;
                                                                //    602              SPACES(13-K)
#line 602 "regression-compile-tmp/imp918s.imp"
_imp_SPACES((((int)(13)) - (K)));
                                                                //    603              PRINTSTRING(STATUS(REGISTER(I+16)))
#line 603 "regression-compile-tmp/imp918s.imp"
_imp_PRINTSTRING((STATUS+1)[REGISTER[(((int)(I)) + (16))]]);
                                                                //    604              USES(I+16)
#line 604 "regression-compile-tmp/imp918s.imp"
USES((((int)(I)) + (16)));
                                                                //    605  Label4:          NEWLINE
#line 605 "regression-compile-tmp/imp918s.imp"
U_1006:;
#line 605 "regression-compile-tmp/imp918s.imp"
_imp_NEWLINE();
                                                                //    606  Label9:       %REPEAT
#line 606 "regression-compile-tmp/imp918s.imp"
U_1005:;
#line 606 "regression-compile-tmp/imp918s.imp"
goto L_004d;
#line 606 "regression-compile-tmp/imp918s.imp"
L_004e:;
                                                                //    607           I=CCSTATE>>16
#line 607 "regression-compile-tmp/imp918s.imp"
I = (int)((((unsigned int)(CCSTATE)) >> (16)));
                                                                //    608           %IF 1<=I<=2 %THEN %START
#line 608 "regression-compile-tmp/imp918s.imp"
if ((((1) > (I))) || (((I) > (2)))) goto L_0054;
                                                                //    609              %IF I=1 %THEN PRINTSTRING("ARITHMETIC CC ON REG") %C
#line 609 "regression-compile-tmp/imp918s.imp"
if (((I) != (1))) goto L_0055;
#line 609 "regression-compile-tmp/imp918s.imp"
_imp_PRINTSTRING(_imp_str_literal("ARITHMETIC CC ON REG"));
#line 609 "regression-compile-tmp/imp918s.imp"
goto L_0056;
#line 609 "regression-compile-tmp/imp918s.imp"
L_0055:;
#line 609 "regression-compile-tmp/imp918s.imp"
_imp_PRINTSTRING(_imp_str_literal("LOGICAL CC ON REG"));
#line 609 "regression-compile-tmp/imp918s.imp"
L_0056:;
                                                                //    610                 %ELSE PRINTSTRING("LOGICAL CC ON REG")
                                                                //    611              WRITE(CCSTATE&255, 5)
#line 611 "regression-compile-tmp/imp918s.imp"
_imp_WRITE(((CCSTATE) & (255)), 5);
                                                                //    612              NEWLINE
#line 612 "regression-compile-tmp/imp918s.imp"
_imp_NEWLINE();
                                                                //    613           %FINISH
#line 613 "regression-compile-tmp/imp918s.imp"
L_0054:;
                                                                //    614           %RETURN
#line 614 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //    615  %ROUTINE PN(%INTEGER N)
#line 615 "regression-compile-tmp/imp918s.imp"
void PN( int N )
#line 615 "regression-compile-tmp/imp918s.imp"
{
                                                                //    616  %INTEGER J, P, Q, R
#line 616 "regression-compile-tmp/imp918s.imp"
int J;
#line 616 "regression-compile-tmp/imp918s.imp"
int P;
#line 616 "regression-compile-tmp/imp918s.imp"
int Q;
#line 616 "regression-compile-tmp/imp918s.imp"
int R;
                                                                //    617           %CYCLE J=0, 1, NNAMES
#line 617 "regression-compile-tmp/imp918s.imp"
{static int _initial, _increment, _final, _control;
_initial = 0; _increment = 1; _final = NNAMES; J = _control = _initial;
if (((_final-_initial) % _increment) != 0) _imp_signal(5,1,0,"Illegal cycle J = 0, 1, NNAMES");
J -= _increment; _control -= _increment;
L_0057:;
if (J == _final) goto L_0058;
J += _increment; _control += _increment;
if (J != _control) _imp_signal(4,2,0,"Corrupt control variable J"); /* FOR loop control variable corrupted */
}
                                                                //    618              ->FOUND %IF N=TAGS(J)
#line 618 "regression-compile-tmp/imp918s.imp"
if (((N) != (TAGS[J]))) goto L_005a;
#line 618 "regression-compile-tmp/imp918s.imp"
goto U_1007;
#line 618 "regression-compile-tmp/imp918s.imp"
L_005a:;
                                                                //    619           %REPEAT;  PRINTSTRING(" ??")
#line 619 "regression-compile-tmp/imp918s.imp"
goto L_0057;
#line 619 "regression-compile-tmp/imp918s.imp"
L_0058:;
#line 619 "regression-compile-tmp/imp918s.imp"
_imp_PRINTSTRING(_imp_str_literal(" ??"));
                                                                //    620           K=K+3;  ->Label99
#line 620 "regression-compile-tmp/imp918s.imp"
K = (((int)(K)) + (3));
#line 620 "regression-compile-tmp/imp918s.imp"
goto U_1008;
                                                                //    621  FOUND:   P=WORD(J);  R=LETT(P)
#line 621 "regression-compile-tmp/imp918s.imp"
U_1007:;
#line 621 "regression-compile-tmp/imp918s.imp"
P = WORD[J];
#line 621 "regression-compile-tmp/imp918s.imp"
R = LETT[P];
                                                                //    622           %IF R#0 %THEN %START
#line 622 "regression-compile-tmp/imp918s.imp"
if (((R) == (0))) goto L_005b;
                                                                //    623              %CYCLE Q=1, 1, R
#line 623 "regression-compile-tmp/imp918s.imp"
{static int _initial, _increment, _final, _control;
_initial = 1; _increment = 1; _final = R; Q = _control = _initial;
if (((_final-_initial) % _increment) != 0) _imp_signal(5,1,0,"Illegal cycle Q = 1, 1, R");
Q -= _increment; _control -= _increment;
L_005c:;
if (Q == _final) goto L_005d;
Q += _increment; _control += _increment;
if (Q != _control) _imp_signal(4,2,0,"Corrupt control variable Q"); /* FOR loop control variable corrupted */
}
                                                                //    624                 PRINT SYMBOL(LETT(P+Q))
#line 624 "regression-compile-tmp/imp918s.imp"
_imp_PRINTSYMBOL(LETT[(((int)(P)) + (Q))]);
                                                                //    625              %REPEAT
#line 625 "regression-compile-tmp/imp918s.imp"
goto L_005c;
#line 625 "regression-compile-tmp/imp918s.imp"
L_005d:;
                                                                //    626           %FINISH %ELSE PRINTSTRING("?")
#line 626 "regression-compile-tmp/imp918s.imp"
goto L_005f;
#line 626 "regression-compile-tmp/imp918s.imp"
L_005b:;
#line 626 "regression-compile-tmp/imp918s.imp"
_imp_PRINTSTRING(_imp_str_literal("?"));
#line 626 "regression-compile-tmp/imp918s.imp"
L_005f:;
                                                                //    627           K=K+1+R
#line 627 "regression-compile-tmp/imp918s.imp"
K = (((int)((((int)(K)) + (1)))) + (R));
                                                                //    628  Label99: %END
#line 628 "regression-compile-tmp/imp918s.imp"
U_1008:;
#line 628 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block PN at level 3
                                                                //    629  %ROUTINE USES(%INTEGER I)
#line 629 "regression-compile-tmp/imp918s.imp"
void USES( int I )
#line 629 "regression-compile-tmp/imp918s.imp"
{
                                                                //    630  %SWITCH SW(0:18)
#line 630 "regression-compile-tmp/imp918s.imp"
static int sw1_SW_idx;
static const void * /*SWITCH*/ sw1_SW[19] = { &&sw1_SW_0, &&sw1_SW_1, &&sw1_SW_2, &&sw1_SW_3, &&sw1_SW_4, &&sw1_SW_5, &&sw1_SW_6, &&sw1_SW_7, &&sw1_SW_8, &&sw1_SW_9, &&sw1_SW_10, &&sw1_SW_11, &&sw1_SW_12, &&sw1_SW_13, &&sw1_SW_14, &&sw1_SW_15, &&sw1_SW_16, &&sw1_SW_17, &&sw1_SW_18,  };
                                                                //    631  %INTEGER INF, J
#line 631 "regression-compile-tmp/imp918s.imp"
int INF;
#line 631 "regression-compile-tmp/imp918s.imp"
int J;
                                                                //    632           PRINTSTRING(" USE = ")
#line 632 "regression-compile-tmp/imp918s.imp"
_imp_PRINTSTRING(_imp_str_literal(" USE = "));
                                                                //    633           K=0;  J=GRUSE(I);  INF=GRINF(I)
#line 633 "regression-compile-tmp/imp918s.imp"
K = 0;
#line 633 "regression-compile-tmp/imp918s.imp"
J = GRUSE[I];
#line 633 "regression-compile-tmp/imp918s.imp"
INF = GRINF[I];
                                                                //    634           ->SW(J)
#line 634 "regression-compile-tmp/imp918s.imp"
sw1_SW_idx = J; if ((0 <= sw1_SW_idx) && (sw1_SW_idx <= 18)) goto *sw1_SW[sw1_SW_idx]; else {
   /*_imp_signal(8, 2, sw1_SW_idx);*/
   fprintf(stderr, "%%SWITCH index SW(%d) not in range 0:18 at %s:%d\n",
           sw1_SW_idx, (_imp_current_file != 0 ? _imp_current_file : __FILE__),
           (_imp_current_line != 0 ? _imp_current_line : __LINE__));
           exit(1);
}
                                                                //    635  SW(0):   PRINTSTRING(" NOT KNOWN");  ->Label99
#line 635 "regression-compile-tmp/imp918s.imp"
sw1_SW_0:;
#line 635 "regression-compile-tmp/imp918s.imp"
_imp_PRINTSTRING(_imp_str_literal(" NOT KNOWN"));
#line 635 "regression-compile-tmp/imp918s.imp"
goto U_1009;
                                                                //    636  SW(1):   PRINTSTRING(" I/RESULT ")
#line 636 "regression-compile-tmp/imp918s.imp"
sw1_SW_1:;
#line 636 "regression-compile-tmp/imp918s.imp"
_imp_PRINTSTRING(_imp_str_literal(" I/RESULT "));
                                                                //    637  Label1:       K=7;  WRITE(INF, 6);  ->Label99
#line 637 "regression-compile-tmp/imp918s.imp"
U_1007:;
#line 637 "regression-compile-tmp/imp918s.imp"
K = 7;
#line 637 "regression-compile-tmp/imp918s.imp"
_imp_WRITE(INF, 6);
#line 637 "regression-compile-tmp/imp918s.imp"
goto U_1009;
                                                                //    638  SW(2):   PRINTSTRING(" CONST = ");  ->Label1
#line 638 "regression-compile-tmp/imp918s.imp"
sw1_SW_2:;
#line 638 "regression-compile-tmp/imp918s.imp"
_imp_PRINTSTRING(_imp_str_literal(" CONST = "));
#line 638 "regression-compile-tmp/imp918s.imp"
goto U_1007;
                                                                //    639  SW(3):   PRINTSTRING("  LOCAL   ")
#line 639 "regression-compile-tmp/imp918s.imp"
sw1_SW_3:;
#line 639 "regression-compile-tmp/imp918s.imp"
_imp_PRINTSTRING(_imp_str_literal("  LOCAL   "));
                                                                //    640  Label2:       PN(INF);  ->Label99
#line 640 "regression-compile-tmp/imp918s.imp"
U_1008:;
#line 640 "regression-compile-tmp/imp918s.imp"
PN(INF);
#line 640 "regression-compile-tmp/imp918s.imp"
goto U_1009;
                                                                //    641  SW(4):
#line 641 "regression-compile-tmp/imp918s.imp"
sw1_SW_4:;
                                                                //    642  SW(5):
#line 642 "regression-compile-tmp/imp918s.imp"
sw1_SW_5:;
                                                                //    643  SW(6):   PRINTSTRING(" ERROR  ");  ->Label1
#line 643 "regression-compile-tmp/imp918s.imp"
sw1_SW_6:;
#line 643 "regression-compile-tmp/imp918s.imp"
_imp_PRINTSTRING(_imp_str_literal(" ERROR  "));
#line 643 "regression-compile-tmp/imp918s.imp"
goto U_1007;
                                                                //    644  SW(7):   PRINTSTRING(" ADDR OF  ");  ->Label2
#line 644 "regression-compile-tmp/imp918s.imp"
sw1_SW_7:;
#line 644 "regression-compile-tmp/imp918s.imp"
_imp_PRINTSTRING(_imp_str_literal(" ADDR OF  "));
#line 644 "regression-compile-tmp/imp918s.imp"
goto U_1008;
                                                                //    645  SW(8):   PRINTSTRING(" BASE OF  ");  ->Label2
#line 645 "regression-compile-tmp/imp918s.imp"
sw1_SW_8:;
#line 645 "regression-compile-tmp/imp918s.imp"
_imp_PRINTSTRING(_imp_str_literal(" BASE OF  "));
#line 645 "regression-compile-tmp/imp918s.imp"
goto U_1008;
                                                                //    646  SW(9):   PN(INF&X'FFFF')
#line 646 "regression-compile-tmp/imp918s.imp"
sw1_SW_9:;
#line 646 "regression-compile-tmp/imp918s.imp"
PN(((INF) & (65535)));
                                                                //    647           PRINTSTRING(" TIMES ");  WRITE(INF>>24, 2);  ->Label99
#line 647 "regression-compile-tmp/imp918s.imp"
_imp_PRINTSTRING(_imp_str_literal(" TIMES "));
#line 647 "regression-compile-tmp/imp918s.imp"
_imp_WRITE((int)((((unsigned int)(INF)) >> (24))), 2);
#line 647 "regression-compile-tmp/imp918s.imp"
goto U_1009;
                                                                //    648  SW(10):  PRINTSTRING("DOPE V OF ");  ->Label2
#line 648 "regression-compile-tmp/imp918s.imp"
sw1_SW_10:;
#line 648 "regression-compile-tmp/imp918s.imp"
_imp_PRINTSTRING(_imp_str_literal("DOPE V OF "));
#line 648 "regression-compile-tmp/imp918s.imp"
goto U_1008;
                                                                //    649  SW(11):  %IF INF>0 %THEN ->Label111
#line 649 "regression-compile-tmp/imp918s.imp"
sw1_SW_11:;
#line 649 "regression-compile-tmp/imp918s.imp"
if (((INF) <= (0))) goto L_0060;
#line 649 "regression-compile-tmp/imp918s.imp"
goto U_100a;
#line 649 "regression-compile-tmp/imp918s.imp"
L_0060:;
                                                                //    650           PRINTSTRING(" 4K FOR LAB ")
#line 650 "regression-compile-tmp/imp918s.imp"
_imp_PRINTSTRING(_imp_str_literal(" 4K FOR LAB "));
                                                                //    651           K=8;  WRITE(\INF, 6);  ->Label99
#line 651 "regression-compile-tmp/imp918s.imp"
K = 8;
#line 651 "regression-compile-tmp/imp918s.imp"
_imp_WRITE((~(INF)), 6);
#line 651 "regression-compile-tmp/imp918s.imp"
goto U_1009;
                                                                //    652  Label111:     PRINTSTRING(" 4096 * ");  K=8;  WRITE(INF, 6);  ->Label99
#line 652 "regression-compile-tmp/imp918s.imp"
U_100a:;
#line 652 "regression-compile-tmp/imp918s.imp"
_imp_PRINTSTRING(_imp_str_literal(" 4096 * "));
#line 652 "regression-compile-tmp/imp918s.imp"
K = 8;
#line 652 "regression-compile-tmp/imp918s.imp"
_imp_WRITE(INF, 6);
#line 652 "regression-compile-tmp/imp918s.imp"
goto U_1009;
                                                                //    653  SW(12):  PRINTSTRING(" BASE AT  ");  ->Label1
#line 653 "regression-compile-tmp/imp918s.imp"
sw1_SW_12:;
#line 653 "regression-compile-tmp/imp918s.imp"
_imp_PRINTSTRING(_imp_str_literal(" BASE AT  "));
#line 653 "regression-compile-tmp/imp918s.imp"
goto U_1007;
                                                                //    654  SW(13):  PRINTSTRING(" STR LEN  ");  ->Label1
#line 654 "regression-compile-tmp/imp918s.imp"
sw1_SW_13:;
#line 654 "regression-compile-tmp/imp918s.imp"
_imp_PRINTSTRING(_imp_str_literal(" STR LEN  "));
#line 654 "regression-compile-tmp/imp918s.imp"
goto U_1007;
                                                                //    655  SW(14):  PRINTSTRING(" CYCLE VAR ");  ->Label99
#line 655 "regression-compile-tmp/imp918s.imp"
sw1_SW_14:;
#line 655 "regression-compile-tmp/imp918s.imp"
_imp_PRINTSTRING(_imp_str_literal(" CYCLE VAR "));
#line 655 "regression-compile-tmp/imp918s.imp"
goto U_1009;
                                                                //    656  SW(15):  PRINTSTRING(" RT PARAM ");  ->Label99
#line 656 "regression-compile-tmp/imp918s.imp"
sw1_SW_15:;
#line 656 "regression-compile-tmp/imp918s.imp"
_imp_PRINTSTRING(_imp_str_literal(" RT PARAM "));
#line 656 "regression-compile-tmp/imp918s.imp"
goto U_1009;
                                                                //    657  SW(16):  PRINTSTRING(" RSLN PARM ");  ->Label1
#line 657 "regression-compile-tmp/imp918s.imp"
sw1_SW_16:;
#line 657 "regression-compile-tmp/imp918s.imp"
_imp_PRINTSTRING(_imp_str_literal(" RSLN PARM "));
#line 657 "regression-compile-tmp/imp918s.imp"
goto U_1007;
                                                                //    658  SW(17):  PRINTSTRING(" ADDR SST ");  ->Label1
#line 658 "regression-compile-tmp/imp918s.imp"
sw1_SW_17:;
#line 658 "regression-compile-tmp/imp918s.imp"
_imp_PRINTSTRING(_imp_str_literal(" ADDR SST "));
#line 658 "regression-compile-tmp/imp918s.imp"
goto U_1007;
                                                                //    659  SW(18):  PRINTSTRING(" PERMBASE ");  ->Label99
#line 659 "regression-compile-tmp/imp918s.imp"
sw1_SW_18:;
#line 659 "regression-compile-tmp/imp918s.imp"
_imp_PRINTSTRING(_imp_str_literal(" PERMBASE "));
#line 659 "regression-compile-tmp/imp918s.imp"
goto U_1009;
                                                                //    660  Label99: %END
#line 660 "regression-compile-tmp/imp918s.imp"
U_1009:;
#line 660 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block USES at level 3
                                                                //    661  %END
#line 661 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block PRINTUSE at level 2
                                                                //    662  
                                                                //    663  
                                                                //    664           %ROUTINE MESSAGE(%INTEGER N)
#line 664 "regression-compile-tmp/imp918s.imp"
void MESSAGE( int N )
#line 664 "regression-compile-tmp/imp918s.imp"
{
                                                                //    665  !***********************************************************************
                                                                //    666  !*       OUTPUTS AN ERROR MESSAGE STORED IN A COMPRESSED FORMAT        *
                                                                //    667  !***********************************************************************
                                                                //    668           %CONSTBYTEINTEGERARRAY WORD(0: 330)=0,%C
#line 668 "regression-compile-tmp/imp918s.imp"
const unsigned char WORD[331] = { 0, 1, 1, 2, 3, 0, 2, 4, 5, 7, 8, 4, 9, 10, 11, 7, 5, 9, 4, 12, 0, 6, 9, 4, 7, 8, 7, 10, 7, 8, 0, 8, 13, 14, 11, 16, 9, 13, 14, 11, 16, 10, 13, 14, 11, 16, 11, 4, 11, 7, 0, 13, 1, 18, 0, 0, 14, 2, 3, 20, 0, 15, 18, 20, 0, 0, 16, 10, 11, 7, 0, 17, 11, 21, 10, 0, 18, 9, 23, 12, 0, 19, 24, 25, 26, 14, 20, 9, 10, 27, 28, 22, 30, 14, 11, 16, 23, 21, 10, 27, 28, 24, 31, 27, 32, 28, 25, 34, 35, 11, 32, 26, 37, 38, 24, 39, 28, 21, 40, 18, 0, 29, 41, 11, 42, 0, 30, 44, 45, 26, 46, 31, 48, 45, 26, 46, 34, 2, 3, 49, 0, 35, 2, 3, 21, 49, 36, 50, 37, 25, 0, 39, 31, 52, 0, 0, 40, 23, 53, 0, 0, 42, 55, 35, 27, 28, 43, 56, 57, 45, 0, 44, 50, 58, 0, 0, 45, 24, 25, 26, 58, 47, 50, 59, 0, 0, 48, 60, 61, 27, 38, 51, 62, 2, 3, 0, 52, 1, 18, 63, 62, 53, 62, 18, 0, 0, 54, 64, 45, 26, 46, 57, 65, 18, 0, 0, 62, 11, 66, 10, 0, 64, 67, 18, 0, 0, 65, 67, 11, 27, 66, 66, 50, 69, 70, 0, 67, 11, 69, 10, 0, 69, 67, 45, 26, 46, 70, 50, 55, 23, 0, 71, 35, 27, 55, 28, 72, 50, 55, 72, 0, 73, 74, 45, 26, 46, 74, 74, 24, 66, 0, 81, 50, 76, 0, 0, 82, 41, 11, 78, 10, 83, 80, 76, 0, 0, 84, 50, 69, 70, 0, 85, 81, 0, 0, 0, 98, 84, 0, 0, 0, 99, 84, 0, 0, 0, 103, 87, 2, 88, 0, 104, 2, 3, 87, 0, 106, 55, 58, 2, 88, 108, 89, 61, 27, 38, 127, 90, 0, 0, 0,  };
                                                                //    669              1,   1,   2,   3,   0,   2,   4,   5,
                                                                //    670              7,   8,   4,   9,  10,  11,   7,   5,
                                                                //    671              9,   4,  12,   0,   6,   9,   4,   7,
                                                                //    672              8,   7,  10,   7,   8,   0,   8,  13,
                                                                //    673             14,  11,  16,   9,  13,  14,  11,  16,
                                                                //    674             10,  13,  14,  11,  16,  11,   4,  11,
                                                                //    675              7,   0,  13,   1,  18,   0,   0,  14,
                                                                //    676              2,   3,  20,   0,  15,  18,  20,   0,
                                                                //    677              0,  16,  10,  11,   7,   0,  17,  11,
                                                                //    678             21,  10,   0,  18,   9,  23,  12,   0,
                                                                //    679             19,  24,  25,  26,  14,  20,   9,  10,
                                                                //    680             27,  28,  22,  30,  14,  11,  16,  23,
                                                                //    681             21,  10,  27,  28,  24,  31,  27,  32,
                                                                //    682             28,  25,  34,  35,  11,  32,  26,  37,
                                                                //    683             38,  24,  39,  28,  21,  40,  18,   0,
                                                                //    684             29,  41,  11,  42,   0,  30,  44,  45,
                                                                //    685             26,  46,  31,  48,  45,  26,  46,  34,
                                                                //    686              2,   3,  49,   0,  35,   2,   3,  21,
                                                                //    687             49,  36,  50,  37,  25,   0,  39,  31,
                                                                //    688             52,   0,   0,  40,  23,  53,   0,   0,
                                                                //    689             42,  55,  35,  27,  28,  43,  56,  57,
                                                                //    690             45,   0,  44,  50,  58,   0,   0,  45,
                                                                //    691             24,  25,  26,  58,  47,  50,  59,   0,
                                                                //    692              0,  48,  60,  61,  27,  38,  51,  62,
                                                                //    693              2,   3,   0,  52,   1,  18,  63,  62,
                                                                //    694             53,  62,  18,   0,   0,  54,  64,  45,
                                                                //    695             26,  46,  57,  65,  18,   0,   0,  62,
                                                                //    696             11,  66,  10,   0,  64,  67,  18,   0,
                                                                //    697              0,  65,  67,  11,  27,  66,  66,  50,
                                                                //    698             69,  70,   0,  67,  11,  69,  10,   0,
                                                                //    699             69,  67,  45,  26,  46,  70,  50,  55,
                                                                //    700             23,   0,  71,  35,  27,  55,  28,  72,
                                                                //    701             50,  55,  72,   0,  73,  74,  45,  26,
                                                                //    702             46,  74,  74,  24,  66,   0,  81,  50,
                                                                //    703             76,   0,   0,  82,  41,  11,  78,  10,
                                                                //    704             83,  80,  76,   0,   0,  84,  50,  69,
                                                                //    705             70,   0,  85,  81,   0,   0,   0,  98,
                                                                //    706             84,   0,   0,   0,  99,  84,   0,   0,
                                                                //    707              0, 103,  87,   2,  88,   0, 104,   2,
                                                                //    708              3,  87,   0, 106,  55,  58,   2,  88,
                                                                //    709            108,  89,  61,  27,  38, 127,  90,   0,
                                                                //    710              0,   0
                                                                //    711            %CONSTINTEGERARRAY LETT(0: 92)=0,%C
#line 711 "regression-compile-tmp/imp918s.imp"
const int LETT[93] = { 0, 1219504232, 1374617600, 875481088, 807545600, 634784531, 334467072, 1286864896, 1391008064, 1323933904, 942483456, 972292096, 374504576, 435316824, 1077021515, 1353881600, 109026315, 201326592, 892574301, 469762048, 365205504, 1240834653, 335544320, 279143296, 1582264768, 970981376, 1019215872, 633339904, 386962663, 939524096, 74754136, 1218535424, 634661323, 1207959552, 253976896, 1479690309, 815792128, 406152448, 1317893376, 817244928, 165988352, 823328768, 280208297, 939524096, 1219800220, 1051983872, 233742705, 1342177280, 1219734312, 817244966, 629942723, 805306368, 386954496, 892568323, 212074496, 1318210446, 106040896, 634603786, 233741568, 361965568, 1319239680, 218206208, 422464720, 109051904, 386506752, 145181568, 435316840, 1319268443, 335544320, 1218673800, 1040552041, 939524096, 1040552041, 1044381696, 1219722027, 1362063360, 372592003, 816716096, 1105818891, 1207959552, 971898880, 288172967, 636357395, 1394606080, 75796839, 1277315859, 1394606080, 942484672, 837695488, 362807296, 1285945947, 1139608491, 92274688,  };
                                                                //    712          X'48B02868',X'51EF0000',X'342EC800',X'30222B00',
                                                                //    713          X'25D60B13',X'13EF9000',X'4CB40000',X'52E91940',
                                                                //    714          X'4EE9A0D0',X'382D2800',X'39F40000',X'16527C80',
                                                                //    715          X'19F26858',X'40320B4B',X'50B29800',X'067F9C0B',
                                                                //    716          X'0C000000',X'35339A5D',X'1C000000',X'15C49800',
                                                                //    717          X'49F5A25D',X'14000000',X'10A36380',X'5E4F71C0',
                                                                //    718          X'39E00000',X'3CC00000',X'25C00000',X'171094E7',
                                                                //    719          X'38000000',X'0474A858',X'48A16000',X'25D429CB',
                                                                //    720          X'48000000',X'0F236140',X'58324845',X'30A00000',
                                                                //    721          X'18356500',X'4E8D7500',X'30B62B00',X'09E4C800',
                                                                //    722          X'31130000',X'10B3A3A9',X'38000000',X'48B4AC9C',
                                                                //    723          X'3EB40000',X'0DEEA171',X'50000000',X'48B3AB28',
                                                                //    724          X'30B62B26',X'258C29C3',X'30000000',X'17107500',
                                                                //    725          X'35338303',X'0CA40000',X'4E924B8E',X'06520E40',
                                                                //    726          X'25D3490A',X'0DEE9D00',X'15932800',X'4EA20000',
                                                                //    727          X'0D019000',X'192E4CD0',X'06800000',X'1709A000',
                                                                //    728          X'08A74B80',X'19F26868',X'4EA2705B',X'14000000',
                                                                //    729          X'48A37C88',X'3E059069',X'38000000',X'3E059069',
                                                                //    730          X'3E400000',X'48B37B2B',X'512F7000',X'16354D83',
                                                                //    731          X'30AE1940',X'41E9750B',X'48000000',X'39EE0000',
                                                                //    732          X'112D2BA7',X'25EE0B13',X'53200000',X'04849167',
                                                                //    733          X'4C224B13',X'53200000',X'382D2CC0',X'31EE3800',
                                                                //    734          X'15A00000',X'4CA5FA5B',X'43ED0BAB',X'05800000'
                                                                //    735          
                                                                //    736           %INTEGER I,J,K,M,Q,S
#line 736 "regression-compile-tmp/imp918s.imp"
int I;
#line 736 "regression-compile-tmp/imp918s.imp"
int J;
#line 736 "regression-compile-tmp/imp918s.imp"
int K;
#line 736 "regression-compile-tmp/imp918s.imp"
int M;
#line 736 "regression-compile-tmp/imp918s.imp"
int Q;
#line 736 "regression-compile-tmp/imp918s.imp"
int S;
                                                                //    737           printstring(" (")
#line 737 "regression-compile-tmp/imp918s.imp"
_imp_PRINTSTRING(_imp_str_literal(" ("));
                                                                //    738           I=-4
#line 738 "regression-compile-tmp/imp918s.imp"
I = (-4);
                                                                //    739           I=I+5 %UNTIL N=WORD(I) %OR I= 326
#line 739 "regression-compile-tmp/imp918s.imp"
L_0061:;
#line 739 "regression-compile-tmp/imp918s.imp"
I = (((int)(I)) + (5));
#line 739 "regression-compile-tmp/imp918s.imp"
if (((N) == (WORD[I]))) goto L_0062;
#line 739 "regression-compile-tmp/imp918s.imp"
if (((I) == (326))) goto L_0062;
#line 739 "regression-compile-tmp/imp918s.imp"
goto L_0061;
#line 739 "regression-compile-tmp/imp918s.imp"
L_0062:;
                                                                //    740           %CYCLE J=1,1,4
#line 740 "regression-compile-tmp/imp918s.imp"
J = 0;
if ((((4)-(1)) % (1)) != 0) _imp_signal(5,1,0,"Illegal cycle J = 1, 1, 4");
L_0064:;
if (J == 4) goto L_0065;
J += 1;
                                                                //    741              K=WORD(I+J)
#line 741 "regression-compile-tmp/imp918s.imp"
K = WORD[(((int)(I)) + (J))];
                                                                //    742              %IF K=0 %THEN %EXIT
#line 742 "regression-compile-tmp/imp918s.imp"
if (((K) != (0))) goto L_0067;
#line 742 "regression-compile-tmp/imp918s.imp"
goto L_0065;
#line 742 "regression-compile-tmp/imp918s.imp"
L_0067:;
                                                                //    743              SPACE %UNLESS J=1
#line 743 "regression-compile-tmp/imp918s.imp"
if (((J) == (1))) goto L_0068;
#line 743 "regression-compile-tmp/imp918s.imp"
_imp_SPACE();
#line 743 "regression-compile-tmp/imp918s.imp"
L_0068:;
                                                                //    744              %CYCLE
#line 744 "regression-compile-tmp/imp918s.imp"
L_0069:;
                                                                //    745                 M=LETT(K); S=26
#line 745 "regression-compile-tmp/imp918s.imp"
M = LETT[K];
#line 745 "regression-compile-tmp/imp918s.imp"
S = 26;
                                                                //    746                 %CYCLE
#line 746 "regression-compile-tmp/imp918s.imp"
L_006c:;
                                                                //    747                    Q=M>>S&31; 
#line 747 "regression-compile-tmp/imp918s.imp"
Q = (((int)((((unsigned int)(M)) >> (S)))) & (31));
                                                                //    748                    %IF Q=31 %THEN Q=-32
#line 748 "regression-compile-tmp/imp918s.imp"
if (((Q) != (31))) goto L_006f;
#line 748 "regression-compile-tmp/imp918s.imp"
Q = (-32);
#line 748 "regression-compile-tmp/imp918s.imp"
L_006f:;
                                                                //    749                    %IF Q\=0 %THEN PRINT SYMBOL(Q+64)
#line 749 "regression-compile-tmp/imp918s.imp"
if (((Q) == (0))) goto L_0070;
#line 749 "regression-compile-tmp/imp918s.imp"
_imp_PRINTSYMBOL((((int)(Q)) + (64)));
#line 749 "regression-compile-tmp/imp918s.imp"
L_0070:;
                                                                //    750                    S=S-5
#line 750 "regression-compile-tmp/imp918s.imp"
S = (((int)(S)) - (5));
                                                                //    751                 %REPEAT %UNTIL S<0
#line 751 "regression-compile-tmp/imp918s.imp"
if (((S) < (0))) goto L_006d;
#line 751 "regression-compile-tmp/imp918s.imp"
goto L_006c;
#line 751 "regression-compile-tmp/imp918s.imp"
L_006d:;
                                                                //    752                 K=K+1
#line 752 "regression-compile-tmp/imp918s.imp"
K = (((int)(K)) + (1));
                                                                //    753              %REPEAT %UNTIL M&1=0
#line 753 "regression-compile-tmp/imp918s.imp"
if (((((M) & (1))) == (0))) goto L_006a;
#line 753 "regression-compile-tmp/imp918s.imp"
goto L_0069;
#line 753 "regression-compile-tmp/imp918s.imp"
L_006a:;
                                                                //    754           %REPEAT
#line 754 "regression-compile-tmp/imp918s.imp"
goto L_0064;
#line 754 "regression-compile-tmp/imp918s.imp"
L_0065:;
                                                                //    755           printstring(") ")
#line 755 "regression-compile-tmp/imp918s.imp"
_imp_PRINTSTRING(_imp_str_literal(") "));
                                                                //    756           %END
#line 756 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block MESSAGE at level 2
                                                                //    757  INEND:   FAULT(108,0)
#line 757 "regression-compile-tmp/imp918s.imp"
U_1003:;
#line 757 "regression-compile-tmp/imp918s.imp"
FAULT(108, 0);
                                                                //    758  OFL:     FAULT(38,0); ->Label8
#line 758 "regression-compile-tmp/imp918s.imp"
U_1002:;
#line 758 "regression-compile-tmp/imp918s.imp"
FAULT(38, 0);
#line 758 "regression-compile-tmp/imp918s.imp"
goto U_1004;
                                                                //    759  SUBSCHAR:LINE=LINE+1;FAULT(48,0)
#line 759 "regression-compile-tmp/imp918s.imp"
U_100b:;
#line 759 "regression-compile-tmp/imp918s.imp"
LINE = (((int)(LINE)) + (1));
#line 759 "regression-compile-tmp/imp918s.imp"
FAULT(48, 0);
                                                                //    760           SPACES(5)
#line 760 "regression-compile-tmp/imp918s.imp"
_imp_SPACES(5);
                                                                //    761  Label15:      READSYMBOL(I); ->Label8 %IF I=10
#line 761 "regression-compile-tmp/imp918s.imp"
U_100c:;
#line 761 "regression-compile-tmp/imp918s.imp"
_imp_READSYMBOL(&I);
#line 761 "regression-compile-tmp/imp918s.imp"
if (((I) != (10))) goto L_0071;
#line 761 "regression-compile-tmp/imp918s.imp"
goto U_1004;
#line 761 "regression-compile-tmp/imp918s.imp"
L_0071:;
                                                                //    762           PRINTSYMBOL(I); ->Label15
#line 762 "regression-compile-tmp/imp918s.imp"
_imp_PRINTSYMBOL(I);
#line 762 "regression-compile-tmp/imp918s.imp"
goto U_100c;
                                                                //    763           %ROUTINE PRINTNAME (%INTEGER N)
#line 763 "regression-compile-tmp/imp918s.imp"
void PRINTNAME( int N )
#line 763 "regression-compile-tmp/imp918s.imp"
{
                                                                //    764           %IF N<0 %THEN %START
#line 764 "regression-compile-tmp/imp918s.imp"
if (((N) >= (0))) goto L_0072;
                                                                //    765              N=-N
#line 765 "regression-compile-tmp/imp918s.imp"
N = (-(N));
                                                                //    766              %IF 16384<=N<=MAX ULAB %THEN N=N-16384 %ELSE %START
#line 766 "regression-compile-tmp/imp918s.imp"
if ((((16384) > (N))) || (((N) > (MAXULAB)))) goto L_0073;
#line 766 "regression-compile-tmp/imp918s.imp"
N = (((int)(N)) - (16384));
#line 766 "regression-compile-tmp/imp918s.imp"
goto L_0074;
#line 766 "regression-compile-tmp/imp918s.imp"
L_0073:;
                                                                //    767                 WRITE(N,5); ->Label99
#line 767 "regression-compile-tmp/imp918s.imp"
_imp_WRITE(N, 5);
#line 767 "regression-compile-tmp/imp918s.imp"
goto U_100d;
                                                                //    768              %FINISH
#line 768 "regression-compile-tmp/imp918s.imp"
L_0074:;
                                                                //    769         %FINISH
#line 769 "regression-compile-tmp/imp918s.imp"
L_0072:;
                                                                //    770           printstring(" ")
#line 770 "regression-compile-tmp/imp918s.imp"
_imp_PRINTSTRING(_imp_str_literal(" "));
                                                                //    771  !%if USE MC = 1 %start
                                                                //    772  !         **1,WORD(N)
                                                                //    773  !         *A_1,LETT; *->P5;             ! USE PRINTSTRING IN PERM
                                                                //    774  !%finish
                                                                //    775  Label99:      %END
#line 775 "regression-compile-tmp/imp918s.imp"
U_100d:;
#line 775 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block PRINTNAME at level 2
                                                                //    776  !
                                                                //    777  !***********************************************************************
                                                                //    778  !*       IMP CODE PLANTING ROUTINES                                    *
                                                                //    779  !*       CODE AND GLAP ARE PUT INTO THE BUFFERS 'CODE,GLABUF(0:268)'   *
                                                                //    780  !*       BY A NUMBER OF TRIVIAL ROUTINES.LPUT IS CALLED TO ADD THE     *
                                                                //    781  !*       BUFFER TO THE OUTPUT FILE. THE BUFFERS ARE BASICALLY 0:255    *
                                                                //    782  !*       WITH A 12-BYTE MARGIN TO MINIMISE THE NUMBER OF TESTS FOR     *
                                                                //    783  !*       THE BUFFER FULL CONDITION                                     *
                                                                //    784  !*                                                                     *
                                                                //    785  !*       PPCURR(GLACURR) IS THE BUFFER POINTER                         *
                                                                //    786  !*       CA(GLACA)  IS THE RELATIVE ADDRESS OF THE NEXT BYTE           *
                                                                //    787  !*       CABUF(GLACABUF) IS CA(GLACA) FOR START OF BUFFER              *
                                                                //    788  !***********************************************************************
                                                                //    789           %ROUTINE CODEOUT
#line 789 "regression-compile-tmp/imp918s.imp"
void CODEOUT( void )
#line 789 "regression-compile-tmp/imp918s.imp"
{
                                                                //    790           %IF PPCURR>0 %THEN %START
#line 790 "regression-compile-tmp/imp918s.imp"
if (((PPCURR) <= (0))) goto L_0075;
                                                                //    791              %IF DCOMP#0 %THEN %C
#line 791 "regression-compile-tmp/imp918s.imp"
if (((DCOMP) == (0))) goto L_0076;
#line 791 "regression-compile-tmp/imp918s.imp"
recode(_imp_ADDR(&CODE[0]), _imp_ADDR(&CODE[PPCURR]), CABUF);
#line 791 "regression-compile-tmp/imp918s.imp"
L_0076:;
                                                                //    792                 RECODE(ADDR(CODE(0)),ADDR(CODE(PPCURR)),CABUF)
                                                                //    793              LPUT(1,PPCURR,CABUF,ADDR(CODE(0))) %IF INHCODE=0
#line 793 "regression-compile-tmp/imp918s.imp"
if (((INHCODE) != (0))) goto L_0077;
#line 793 "regression-compile-tmp/imp918s.imp"
lput(1, PPCURR, CABUF, _imp_ADDR(&CODE[0]));
#line 793 "regression-compile-tmp/imp918s.imp"
L_0077:;
                                                                //    794              PPCURR=0; CABUF=CA
#line 794 "regression-compile-tmp/imp918s.imp"
PPCURR = 0;
#line 794 "regression-compile-tmp/imp918s.imp"
CABUF = CA;
                                                                //    795           %FINISH
#line 795 "regression-compile-tmp/imp918s.imp"
L_0075:;
                                                                //    796           %END
#line 796 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block CODEOUT at level 2
                                                                //    797           %ROUTINE PLANT(%INTEGER HALFWORD)
#line 797 "regression-compile-tmp/imp918s.imp"
void PLANT( int HALFWORD )
#line 797 "regression-compile-tmp/imp918s.imp"
{
                                                                //    798  !        ADD A HALF WORD OF BINARY TO THE BUFFER
                                                                //    799           SHORT INTEGER(ADDR(CODE(PPCURR)))<-HALFWORD
#line 799 "regression-compile-tmp/imp918s.imp"
*_imp_SHORTINTEGER(_imp_ADDR(&CODE[PPCURR])) = HALFWORD;
                                                                //    800           PPCURR=PPCURR+2
#line 800 "regression-compile-tmp/imp918s.imp"
PPCURR = (((int)(PPCURR)) + (2));
                                                                //    801           CA=CA+2
#line 801 "regression-compile-tmp/imp918s.imp"
CA = (((int)(CA)) + (2));
                                                                //    802           CODEOUT %IF PPCURR>=256
#line 802 "regression-compile-tmp/imp918s.imp"
if (((PPCURR) < (256))) goto L_0078;
#line 802 "regression-compile-tmp/imp918s.imp"
CODEOUT();
#line 802 "regression-compile-tmp/imp918s.imp"
L_0078:;
                                                                //    803           %END
#line 803 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block PLANT at level 2
                                                                //    804           %ROUTINE PCONST(%INTEGER WORD)
#line 804 "regression-compile-tmp/imp918s.imp"
void PCONST( int WORD )
#line 804 "regression-compile-tmp/imp918s.imp"
{
                                                                //    805  !        ADD A WORD OF BINARY TO THE BUFFER
                                                                //    806  !%if USE MC = 1 %start
                                                                //    807  !         **1,ADDR(CODE(PPCURR))
                                                                //    808  !         *MVC_0(4,1),WORD
                                                                //    809  !%finish
                                                                //    810           PPCURR=PPCURR+4
#line 810 "regression-compile-tmp/imp918s.imp"
PPCURR = (((int)(PPCURR)) + (4));
                                                                //    811           CA=CA+4
#line 811 "regression-compile-tmp/imp918s.imp"
CA = (((int)(CA)) + (4));
                                                                //    812           CODEOUT %IF PPCURR>=256
#line 812 "regression-compile-tmp/imp918s.imp"
if (((PPCURR) < (256))) goto L_0079;
#line 812 "regression-compile-tmp/imp918s.imp"
CODEOUT();
#line 812 "regression-compile-tmp/imp918s.imp"
L_0079:;
                                                                //    813           %END
#line 813 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block PCONST at level 2
                                                                //    814           %ROUTINE PRR(%INTEGER OPCODE,R1,R2)
#line 814 "regression-compile-tmp/imp918s.imp"
void PRR( int OPCODE, int R1, int R2 )
#line 814 "regression-compile-tmp/imp918s.imp"
{
                                                                //    815           CODE(PPCURR)=OPCODE
#line 815 "regression-compile-tmp/imp918s.imp"
CODE[PPCURR] = OPCODE;
                                                                //    816           CODE(PPCURR+1)=R1<<4!R2
#line 816 "regression-compile-tmp/imp918s.imp"
CODE[(((int)(PPCURR)) + (1))] = ((((R1) << (4))) | (R2));
                                                                //    817           PPCURR=PPCURR+2
#line 817 "regression-compile-tmp/imp918s.imp"
PPCURR = (((int)(PPCURR)) + (2));
                                                                //    818           CA=CA+2
#line 818 "regression-compile-tmp/imp918s.imp"
CA = (((int)(CA)) + (2));
                                                                //    819           CODEOUT %IF PPCURR>=256
#line 819 "regression-compile-tmp/imp918s.imp"
if (((PPCURR) < (256))) goto L_007a;
#line 819 "regression-compile-tmp/imp918s.imp"
CODEOUT();
#line 819 "regression-compile-tmp/imp918s.imp"
L_007a:;
                                                                //    820           %END
#line 820 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block PRR at level 2
                                                                //    821           %ROUTINE MOVE BACK PC
#line 821 "regression-compile-tmp/imp918s.imp"
void MOVEBACKPC( void )
#line 821 "regression-compile-tmp/imp918s.imp"
{
                                                                //    822           %IF LCA<CABUF %THEN CABUF=LCA %AND PPCURR=0 %ELSE %C
#line 822 "regression-compile-tmp/imp918s.imp"
if (((LCA) >= (CABUF))) goto L_007b;
#line 822 "regression-compile-tmp/imp918s.imp"
CABUF = LCA;
#line 822 "regression-compile-tmp/imp918s.imp"
PPCURR = 0;
#line 822 "regression-compile-tmp/imp918s.imp"
goto L_007c;
#line 822 "regression-compile-tmp/imp918s.imp"
L_007b:;
#line 822 "regression-compile-tmp/imp918s.imp"
PPCURR = (((int)((((int)(PPCURR)) - (CA)))) + (LCA));
#line 822 "regression-compile-tmp/imp918s.imp"
L_007c:;
                                                                //    823              PPCURR=PPCURR-CA+LCA
                                                                //    824           CA=LCA
#line 824 "regression-compile-tmp/imp918s.imp"
CA = LCA;
                                                                //    825           %END
#line 825 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block MOVEBACKPC at level 2
                                                                //    826           %ROUTINE PRX(%INTEGER OPCODE,R1,R2,B,D)
#line 826 "regression-compile-tmp/imp918s.imp"
void PRX( int OPCODE, int R1, int R2, int B, int D )
#line 826 "regression-compile-tmp/imp918s.imp"
{
                                                                //    827           {%SHORTROUTINE}
                                                                //    828           %OWNINTEGER LR1,LR2,LB,LD
#line 828 "regression-compile-tmp/imp918s.imp"
static int LR1;
#line 828 "regression-compile-tmp/imp918s.imp"
static int LR2;
#line 828 "regression-compile-tmp/imp918s.imp"
static int LB;
#line 828 "regression-compile-tmp/imp918s.imp"
static int LD;
                                                                //    829           %IF CHECKSP=0 %THEN %START
#line 829 "regression-compile-tmp/imp918s.imp"
if (((CHECKSP) != (0))) goto L_007d;
                                                                //    830              %IF OPCODE=X'58' %OR OPCODE=X'50' %THEN %START
#line 830 "regression-compile-tmp/imp918s.imp"
if (((OPCODE) == (88))) goto L_006b;
#line 830 "regression-compile-tmp/imp918s.imp"
if (((OPCODE) != (80))) goto L_007e;
#line 830 "regression-compile-tmp/imp918s.imp"
L_006b:;
                                                                //    831                 %IF LCA+4=CA %AND LB=B %AND R2=0 %AND %C
#line 831 "regression-compile-tmp/imp918s.imp"
if ((((((int)(LCA)) + (4))) != (CA))) goto L_007f;
#line 831 "regression-compile-tmp/imp918s.imp"
if (((LB) != (B))) goto L_007f;
#line 831 "regression-compile-tmp/imp918s.imp"
if (((R2) != (0))) goto L_007f;
#line 831 "regression-compile-tmp/imp918s.imp"
if (((LOPCODE) != (OPCODE))) goto L_0080;
#line 831 "regression-compile-tmp/imp918s.imp"
if ((((((((int)(LR1)) + (1))) & (15))) != (R1))) goto L_0080;
#line 831 "regression-compile-tmp/imp918s.imp"
if (((LR2) != (0))) goto L_0080;
#line 831 "regression-compile-tmp/imp918s.imp"
if (((D) == ((((int)(LD)) + (4))))) goto L_006e;
#line 831 "regression-compile-tmp/imp918s.imp"
L_0080:;
#line 831 "regression-compile-tmp/imp918s.imp"
if (((LOPCODE) != ((((int)(OPCODE)) + (64))))) goto L_007f;
#line 831 "regression-compile-tmp/imp918s.imp"
if ((((((((int)(LR2)) + (1))) & (15))) != (R1))) goto L_007f;
#line 831 "regression-compile-tmp/imp918s.imp"
if (((D) != (((LD) + ((int)((((int)((((((int)(R1)) - (LR1))) & (15)))) * (4)))))))) goto L_007f;
#line 831 "regression-compile-tmp/imp918s.imp"
L_006e:;
                                                                //    832                    ((LOPCODE=OPCODE %AND (LR1+1)&15=R1 %AND LR2=0 %AND %C
                                                                //    833                    D=LD+4) %OR (LOPCODE=OPCODE+X'40' %AND %C
                                                                //    834                    (LR2+1)&15=R1 %AND D=LD+((R1-LR1)&15)*4)) %START
                                                                //    835                    %IF DCOMP#0 %THEN printstring("** LOADS COMBINED **")
#line 835 "regression-compile-tmp/imp918s.imp"
if (((DCOMP) == (0))) goto L_0081;
#line 835 "regression-compile-tmp/imp918s.imp"
_imp_PRINTSTRING(_imp_str_literal("** LOADS COMBINED **"));
#line 835 "regression-compile-tmp/imp918s.imp"
L_0081:;
                                                                //    836                    MOVE BACK PC
#line 836 "regression-compile-tmp/imp918s.imp"
MOVEBACKPC();
                                                                //    837                    CSAVED=CSAVED+4
#line 837 "regression-compile-tmp/imp918s.imp"
CSAVED = (((int)(CSAVED)) + (4));
                                                                //    838                    PRX(X'90'+OPCODE&15,LR1,R1,LB,LD)
#line 838 "regression-compile-tmp/imp918s.imp"
PRX(((144) + ((int)(((OPCODE) & (15))))), LR1, R1, LB, LD);
                                                                //    839                    %RETURN
#line 839 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //    840                 %FINISH
#line 840 "regression-compile-tmp/imp918s.imp"
L_007f:;
                                                                //    841              %FINISH
#line 841 "regression-compile-tmp/imp918s.imp"
L_007e:;
                                                                //    842              LCA=CA; LR1=R1; LR2=R2
#line 842 "regression-compile-tmp/imp918s.imp"
LCA = CA;
#line 842 "regression-compile-tmp/imp918s.imp"
LR1 = R1;
#line 842 "regression-compile-tmp/imp918s.imp"
LR2 = R2;
                                                                //    843              LB=B; LD=D; LOPCODE=OPCODE
#line 843 "regression-compile-tmp/imp918s.imp"
LB = B;
#line 843 "regression-compile-tmp/imp918s.imp"
LD = D;
#line 843 "regression-compile-tmp/imp918s.imp"
LOPCODE = OPCODE;
                                                                //    844           %FINISH
#line 844 "regression-compile-tmp/imp918s.imp"
L_007d:;
                                                                //    845           CODE(PPCURR)=OPCODE
#line 845 "regression-compile-tmp/imp918s.imp"
CODE[PPCURR] = OPCODE;
                                                                //    846           CODE(PPCURR+1)=R1<<4!R2
#line 846 "regression-compile-tmp/imp918s.imp"
CODE[(((int)(PPCURR)) + (1))] = ((((R1) << (4))) | (R2));
                                                                //    847           SHORT INTEGER(ADDR(CODE(PPCURR+2)))<- B<<12!D
#line 847 "regression-compile-tmp/imp918s.imp"
*_imp_SHORTINTEGER(_imp_ADDR(&CODE[(((int)(PPCURR)) + (2))])) = ((((B) << (12))) | (D));
                                                                //    848           PPCURR=PPCURR+4
#line 848 "regression-compile-tmp/imp918s.imp"
PPCURR = (((int)(PPCURR)) + (4));
                                                                //    849           CA=CA+4
#line 849 "regression-compile-tmp/imp918s.imp"
CA = (((int)(CA)) + (4));
                                                                //    850           CODEOUT %IF PPCURR>=256
#line 850 "regression-compile-tmp/imp918s.imp"
if (((PPCURR) < (256))) goto L_0082;
#line 850 "regression-compile-tmp/imp918s.imp"
CODEOUT();
#line 850 "regression-compile-tmp/imp918s.imp"
L_0082:;
                                                                //    851           %END
#line 851 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block PRX at level 2
                                                                //    852           %ROUTINE PSI(%INTEGER OPCODE,J,B,D)
#line 852 "regression-compile-tmp/imp918s.imp"
void PSI( int OPCODE, int J, int B, int D )
#line 852 "regression-compile-tmp/imp918s.imp"
{
                                                                //    853           CODE(PPCURR)=OPCODE
#line 853 "regression-compile-tmp/imp918s.imp"
CODE[PPCURR] = OPCODE;
                                                                //    854           CODE(PPCURR+1)=J
#line 854 "regression-compile-tmp/imp918s.imp"
CODE[(((int)(PPCURR)) + (1))] = J;
                                                                //    855           SHORT INTEGER(ADDR(CODE(PPCURR+2)))<- B<<12!D
#line 855 "regression-compile-tmp/imp918s.imp"
*_imp_SHORTINTEGER(_imp_ADDR(&CODE[(((int)(PPCURR)) + (2))])) = ((((B) << (12))) | (D));
                                                                //    856           PPCURR=PPCURR+4
#line 856 "regression-compile-tmp/imp918s.imp"
PPCURR = (((int)(PPCURR)) + (4));
                                                                //    857           CA=CA+4
#line 857 "regression-compile-tmp/imp918s.imp"
CA = (((int)(CA)) + (4));
                                                                //    858           CODEOUT %IF PPCURR>=256
#line 858 "regression-compile-tmp/imp918s.imp"
if (((PPCURR) < (256))) goto L_0083;
#line 858 "regression-compile-tmp/imp918s.imp"
CODEOUT();
#line 858 "regression-compile-tmp/imp918s.imp"
L_0083:;
                                                                //    859           %END
#line 859 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block PSI at level 2
                                                                //    860           %ROUTINE PSS(%INTEGER OPCODE,N,B1,D1,B2,D2)
#line 860 "regression-compile-tmp/imp918s.imp"
void PSS( int OPCODE, int N, int B1, int D1, int B2, int D2 )
#line 860 "regression-compile-tmp/imp918s.imp"
{
                                                                //    861           CODE(PPCURR)=OPCODE
#line 861 "regression-compile-tmp/imp918s.imp"
CODE[PPCURR] = OPCODE;
                                                                //    862           N=N-1 %UNLESS N=0
#line 862 "regression-compile-tmp/imp918s.imp"
if (((N) == (0))) goto L_0084;
#line 862 "regression-compile-tmp/imp918s.imp"
N = (((int)(N)) - (1));
#line 862 "regression-compile-tmp/imp918s.imp"
L_0084:;
                                                                //    863           CODE(PPCURR+1)=N
#line 863 "regression-compile-tmp/imp918s.imp"
CODE[(((int)(PPCURR)) + (1))] = N;
                                                                //    864           SHORT INTEGER(ADDR(CODE(PPCURR+2)))<- B1<<12!D1
#line 864 "regression-compile-tmp/imp918s.imp"
*_imp_SHORTINTEGER(_imp_ADDR(&CODE[(((int)(PPCURR)) + (2))])) = ((((B1) << (12))) | (D1));
                                                                //    865           SHORT INTEGER(ADDR(CODE(PPCURR+4)))<- B2<<12!D2
#line 865 "regression-compile-tmp/imp918s.imp"
*_imp_SHORTINTEGER(_imp_ADDR(&CODE[(((int)(PPCURR)) + (4))])) = ((((B2) << (12))) | (D2));
                                                                //    866           PPCURR=PPCURR+6
#line 866 "regression-compile-tmp/imp918s.imp"
PPCURR = (((int)(PPCURR)) + (6));
                                                                //    867           CA=CA+6
#line 867 "regression-compile-tmp/imp918s.imp"
CA = (((int)(CA)) + (6));
                                                                //    868           CODEOUT %IF PPCURR>=256
#line 868 "regression-compile-tmp/imp918s.imp"
if (((PPCURR) < (256))) goto L_0085;
#line 868 "regression-compile-tmp/imp918s.imp"
CODEOUT();
#line 868 "regression-compile-tmp/imp918s.imp"
L_0085:;
                                                                //    869           %END
#line 869 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block PSS at level 2
                                                                //    870           %ROUTINE PMVC(%INTEGER L,B1,D1,B2,D2)
#line 870 "regression-compile-tmp/imp918s.imp"
void PMVC( int L, int B1, int D1, int B2, int D2 )
#line 870 "regression-compile-tmp/imp918s.imp"
{
                                                                //    871           {%SHORTROUTINE}
                                                                //    872  !***********************************************************************
                                                                //    873  !*         PLANTS AN MVC INSTRN. IN OPTIMISING MODE TRIES TO GLUE IT   *
                                                                //    874  !*         ON TO THE LAST ONE PLANTED                                  *
                                                                //    875  !***********************************************************************
                                                                //    876           %OWNINTEGER LL,LB1,LD1,LB2,LD2
#line 876 "regression-compile-tmp/imp918s.imp"
static int LL;
#line 876 "regression-compile-tmp/imp918s.imp"
static int LB1;
#line 876 "regression-compile-tmp/imp918s.imp"
static int LD1;
#line 876 "regression-compile-tmp/imp918s.imp"
static int LB2;
#line 876 "regression-compile-tmp/imp918s.imp"
static int LD2;
                                                                //    877           %IF CHECKSP#1 %THEN %START
#line 877 "regression-compile-tmp/imp918s.imp"
if (((CHECKSP) == (1))) goto L_0086;
                                                                //    878              %IF LCA+6=CA %AND B1=LB1 %AND B2=LB2 %AND LOPCODE=X'D2' %C
#line 878 "regression-compile-tmp/imp918s.imp"
if ((((((int)(LCA)) + (6))) != (CA))) goto L_0087;
#line 878 "regression-compile-tmp/imp918s.imp"
if (((B1) != (LB1))) goto L_0087;
#line 878 "regression-compile-tmp/imp918s.imp"
if (((B2) != (LB2))) goto L_0087;
#line 878 "regression-compile-tmp/imp918s.imp"
if (((LOPCODE) != (210))) goto L_0087;
#line 878 "regression-compile-tmp/imp918s.imp"
if (((D1) != ((((int)(LD1)) + (LL))))) goto L_0087;
#line 878 "regression-compile-tmp/imp918s.imp"
if (((D2) != ((((int)(LD2)) + (LL))))) goto L_0087;
#line 878 "regression-compile-tmp/imp918s.imp"
if ((((((int)(LL)) + (L))) > (256))) goto L_0087;
                                                                //    879                  %AND D1=LD1+LL %AND D2=LD2+LL %AND LL+L<=256 %START
                                                                //    880                 MOVE BACK PC
#line 880 "regression-compile-tmp/imp918s.imp"
MOVEBACKPC();
                                                                //    881                 CA=LCA; L=L+LL
#line 881 "regression-compile-tmp/imp918s.imp"
CA = LCA;
#line 881 "regression-compile-tmp/imp918s.imp"
L = (((int)(L)) + (LL));
                                                                //    882                 D1=LD1; D2=LD2
#line 882 "regression-compile-tmp/imp918s.imp"
D1 = LD1;
#line 882 "regression-compile-tmp/imp918s.imp"
D2 = LD2;
                                                                //    883              %FINISH
#line 883 "regression-compile-tmp/imp918s.imp"
L_0087:;
                                                                //    884              LCA=CA; LL=L; LB1=B1; LD1=D1
#line 884 "regression-compile-tmp/imp918s.imp"
LCA = CA;
#line 884 "regression-compile-tmp/imp918s.imp"
LL = L;
#line 884 "regression-compile-tmp/imp918s.imp"
LB1 = B1;
#line 884 "regression-compile-tmp/imp918s.imp"
LD1 = D1;
                                                                //    885              LB2=B2; LD2=D2; LOPCODE=X'D2'
#line 885 "regression-compile-tmp/imp918s.imp"
LB2 = B2;
#line 885 "regression-compile-tmp/imp918s.imp"
LD2 = D2;
#line 885 "regression-compile-tmp/imp918s.imp"
LOPCODE = 210;
                                                                //    886           %FINISH
#line 886 "regression-compile-tmp/imp918s.imp"
L_0086:;
                                                                //    887           PSS(X'D2',L,B1,D1,B2,D2)
#line 887 "regression-compile-tmp/imp918s.imp"
PSS(210, L, B1, D1, B2, D2);
                                                                //    888           %END
#line 888 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block PMVC at level 2
                                                                //    889           %ROUTINE     CNOP(%INTEGER I,J)
#line 889 "regression-compile-tmp/imp918s.imp"
void CNOP( int I, int J )
#line 889 "regression-compile-tmp/imp918s.imp"
{
                                                                //    890           PLANT(X'0700') %WHILE CA&(J-1)#I
#line 890 "regression-compile-tmp/imp918s.imp"
L_0088:;
#line 890 "regression-compile-tmp/imp918s.imp"
if (((((CA) & ((((int)(J)) - (1))))) == (I))) goto L_0089;
#line 890 "regression-compile-tmp/imp918s.imp"
PLANT(1792);
#line 890 "regression-compile-tmp/imp918s.imp"
goto L_0088;
#line 890 "regression-compile-tmp/imp918s.imp"
L_0089:;
                                                                //    891           %END
#line 891 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block CNOP at level 2
                                                                //    892           %ROUTINE PGLA(%INTEGER BDRY,L,INF ADR)
#line 892 "regression-compile-tmp/imp918s.imp"
void PGLA( int BDRY, int L, int INFADR )
#line 892 "regression-compile-tmp/imp918s.imp"
{
                                                                //    893           {%SHORTROUTINE}
                                                                //    894           %INTEGER I,J
#line 894 "regression-compile-tmp/imp918s.imp"
int I;
#line 894 "regression-compile-tmp/imp918s.imp"
int J;
                                                                //    895           J=GLACA; GLACA=(J+BDRY-1)&(-BDRY)
#line 895 "regression-compile-tmp/imp918s.imp"
J = GLACA;
#line 895 "regression-compile-tmp/imp918s.imp"
GLACA = (((((int)((((int)(J)) + (BDRY)))) - (1))) & ((-(BDRY))));
                                                                //    896           GLACURR=GLACURR+GLACA-J;      ! COMPLETE THE ROUNDING
#line 896 "regression-compile-tmp/imp918s.imp"
GLACURR = (((int)((((int)(GLACURR)) + (GLACA)))) - (J));
                                                                //    897  !
                                                                //    898  ! RECORD HOLES IN THE GLA FOR FUTURE USE
                                                                //    899  !
                                                                //    900           %IF J&1#0 %THEN J=J+1
#line 900 "regression-compile-tmp/imp918s.imp"
if (((((J) & (1))) == (0))) goto L_008b;
#line 900 "regression-compile-tmp/imp918s.imp"
J = (((int)(J)) + (1));
#line 900 "regression-compile-tmp/imp918s.imp"
L_008b:;
                                                                //    901           %WHILE J+2<=GLACA %CYCLE
#line 901 "regression-compile-tmp/imp918s.imp"
L_008c:;
#line 901 "regression-compile-tmp/imp918s.imp"
if ((((((int)(J)) + (2))) > (GLACA))) goto L_008d;
                                                                //    902              PUSH(GLAHOLES,J,0)
#line 902 "regression-compile-tmp/imp918s.imp"
PUSH(&GLAHOLES, J, 0);
                                                                //    903              J=J+2
#line 903 "regression-compile-tmp/imp918s.imp"
J = (((int)(J)) + (2));
                                                                //    904           %REPEAT
#line 904 "regression-compile-tmp/imp918s.imp"
goto L_008c;
#line 904 "regression-compile-tmp/imp918s.imp"
L_008d:;
                                                                //    905           %IF L+GLACURR>256 %THEN %START
#line 905 "regression-compile-tmp/imp918s.imp"
if ((((((int)(L)) + (GLACURR))) <= (256))) goto L_008f;
                                                                //    906              %IF INHCODE=0 %THEN LPUT(2,GLACURR,GLACABUF,ADDR(GLABUF(0)))
#line 906 "regression-compile-tmp/imp918s.imp"
if (((INHCODE) != (0))) goto L_0090;
#line 906 "regression-compile-tmp/imp918s.imp"
lput(2, GLACURR, GLACABUF, _imp_ADDR(&GLABUF[0]));
#line 906 "regression-compile-tmp/imp918s.imp"
L_0090:;
                                                                //    907              GLACA=(GLACA+1)&(-2)
#line 907 "regression-compile-tmp/imp918s.imp"
GLACA = (((((int)(GLACA)) + (1))) & ((-2)));
                                                                //    908              GLACURR=0; GLACABUF=GLACA
#line 908 "regression-compile-tmp/imp918s.imp"
GLACURR = 0;
#line 908 "regression-compile-tmp/imp918s.imp"
GLACABUF = GLACA;
                                                                //    909           %FINISH
#line 909 "regression-compile-tmp/imp918s.imp"
L_008f:;
                                                                //    910  !%if USE MC = 1 %start
                                                                //    911  !         *LM_1,2,L; *L_3,GLABUF
                                                                //    912  !         *A_3,GLACURR; *BCTR_1,0
                                                                //    913  !         *EX_1,<MOVE>
                                                                //    914  !%finish
                                                                //    915           GLACA=GLACA+L; GLACURR=GLACURR+L
#line 915 "regression-compile-tmp/imp918s.imp"
GLACA = (((int)(GLACA)) + (L));
#line 915 "regression-compile-tmp/imp918s.imp"
GLACURR = (((int)(GLACURR)) + (L));
                                                                //    916           %RETURN
#line 916 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //    917  !%if USE MC = 1 %start
                                                                //    918  !MOVE:    *MVC_0(1,3),0(2)
                                                                //    919  !%finish
                                                                //    920           %END
#line 920 "regression-compile-tmp/imp918s.imp"
return;
} // End of block PGLA at level 2
                                                                //    921           %ROUTINE     PLUG(%INTEGER AREA,AT,VALUE)
#line 921 "regression-compile-tmp/imp918s.imp"
void PLUG( int AREA, int AT, int VALUE )
#line 921 "regression-compile-tmp/imp918s.imp"
{
                                                                //    922           {%SHORTROUTINE}
                                                                //    923  !***********************************************************************
                                                                //    924  !*       WRITE ONE HALFWORD INTO OBJECT FILE OUT OF SEQUENCE           *
                                                                //    925  !***********************************************************************
                                                                //    926           %INTEGERNAME WCABUF
#line 926 "regression-compile-tmp/imp918s.imp"
int /*name*/*WCABUF;
                                                                //    927           %INTEGER RELAD,BUFAD
#line 927 "regression-compile-tmp/imp918s.imp"
int RELAD;
#line 927 "regression-compile-tmp/imp918s.imp"
int BUFAD;
                                                                //    928           WCABUF==CABUF; BUFAD=ADDR(CODE(0))
#line 928 "regression-compile-tmp/imp918s.imp"
WCABUF = &CABUF;
#line 928 "regression-compile-tmp/imp918s.imp"
BUFAD = _imp_ADDR(&CODE[0]);
                                                                //    929           %IF AREA=2 %THEN WCABUF==GLACABUF %AND BUFAD=ADDR(GLABUF(0))
#line 929 "regression-compile-tmp/imp918s.imp"
if (((AREA) != (2))) goto L_0091;
#line 929 "regression-compile-tmp/imp918s.imp"
WCABUF = &GLACABUF;
#line 929 "regression-compile-tmp/imp918s.imp"
BUFAD = _imp_ADDR(&GLABUF[0]);
#line 929 "regression-compile-tmp/imp918s.imp"
L_0091:;
                                                                //    930           RELAD=AT-WCABUF
#line 930 "regression-compile-tmp/imp918s.imp"
RELAD = (((int)(AT)) - (*WCABUF));
                                                                //    931           %IF RELAD>=0 %THEN SHORTINTEGER(RELAD+BUFAD)<-VALUE %ELSESTART
#line 931 "regression-compile-tmp/imp918s.imp"
if (((RELAD) < (0))) goto L_0092;
#line 931 "regression-compile-tmp/imp918s.imp"
*_imp_SHORTINTEGER((((int)(RELAD)) + (BUFAD))) = VALUE;
#line 931 "regression-compile-tmp/imp918s.imp"
goto L_0093;
#line 931 "regression-compile-tmp/imp918s.imp"
L_0092:;
                                                                //    932              %IF INHCODE=0 %THEN LPUT(AREA,2,AT,ADDR(VALUE)+2)
#line 932 "regression-compile-tmp/imp918s.imp"
if (((INHCODE) != (0))) goto L_0094;
#line 932 "regression-compile-tmp/imp918s.imp"
lput(AREA, 2, AT, (((int)(_imp_ADDR(&VALUE))) + (2)));
#line 932 "regression-compile-tmp/imp918s.imp"
L_0094:;
                                                                //    933           %FINISH
#line 933 "regression-compile-tmp/imp918s.imp"
L_0093:;
                                                                //    934           %END
#line 934 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block PLUG at level 2
                                                                //    935           %ROUTINE SET PERMBASE
#line 935 "regression-compile-tmp/imp918s.imp"
void SETPERMBASE( void )
#line 935 "regression-compile-tmp/imp918s.imp"
{
                                                                //    936           PCONST(X'58CD005C')
#line 936 "regression-compile-tmp/imp918s.imp"
PCONST(1489829980);
                                                                //    937           REGISTER(12)=-1
#line 937 "regression-compile-tmp/imp918s.imp"
REGISTER[12] = (-1);
                                                                //    938           GRUSE(12)=18
#line 938 "regression-compile-tmp/imp918s.imp"
GRUSE[12] = 18;
                                                                //    939           GRINF(12)=0
#line 939 "regression-compile-tmp/imp918s.imp"
GRINF[12] = 0;
                                                                //    940           %END
#line 940 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block SETPERMBASE at level 2
                                                                //    941           %ROUTINE     PRHEX(%INTEGER VALUE,PLACES)
#line 941 "regression-compile-tmp/imp918s.imp"
void PRHEX( int VALUE, int PLACES )
#line 941 "regression-compile-tmp/imp918s.imp"
{
                                                                //    942           %OWNINTEGER HT1=M'0123'
#line 942 "regression-compile-tmp/imp918s.imp"
static int HT1 = 808530483;
                                                                //    943           %OWNINTEGER HT2=M'4567'
#line 943 "regression-compile-tmp/imp918s.imp"
static int HT2 = 875902519;
                                                                //    944           %OWNINTEGER HT3=M'89AB'
#line 944 "regression-compile-tmp/imp918s.imp"
static int HT3 = 943276354;
                                                                //    945           %OWNINTEGER HT4=M'CDEF'
#line 945 "regression-compile-tmp/imp918s.imp"
static int HT4 = 1128547654;
                                                                //    946           %INTEGER W1,W2,W3
#line 946 "regression-compile-tmp/imp918s.imp"
int W1;
#line 946 "regression-compile-tmp/imp918s.imp"
int W2;
#line 946 "regression-compile-tmp/imp918s.imp"
int W3;
                                                                //    947  !%if USE MC = 1 %start
                                                                //    948  !         *UNPK_W1+1(9),VALUE(5)
                                                                //    949  !         *NC_W1+1(8),MASK1
                                                                //    950  !         *TR_W1+1(8),HT1
                                                                //    951  !         *LA_1,W1+8; *S_1,PLACES
                                                                //    952  !         *MVC_ 0(1,1),PLACES+3
                                                                //    953  !         *-> P5;                       ! PRINTSTRING IN PERM
                                                                //    954  !%finish
                                                                //    955           %END
#line 955 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block PRHEX at level 2
                                                                //    956           %ROUTINE GET ENV(%SHORTINTEGERNAME HEAD)
#line 956 "regression-compile-tmp/imp918s.imp"
void GETENV( short /*name*/*HEAD )
#line 956 "regression-compile-tmp/imp918s.imp"
{
                                                                //    957           {%SHORTROUTINE}
                                                                //    958  !***********************************************************************
                                                                //    959  !*       SAVE A COPY OF THE REGISTER STATE FOR FUTURE REFERENCE        *
                                                                //    960  !***********************************************************************
                                                                //    961           %INTEGER I,J
#line 961 "regression-compile-tmp/imp918s.imp"
int I;
#line 961 "regression-compile-tmp/imp918s.imp"
int J;
                                                                //    962           %CYCLE J=0,1,14; I=GRMAP(J)
#line 962 "regression-compile-tmp/imp918s.imp"
J = (-1);
if ((((14)-(0)) % (1)) != 0) _imp_signal(5,1,0,"Illegal cycle J = 0, 1, 14");
L_0095:;
if (J == 14) goto L_0096;
J += 1;
#line 962 "regression-compile-tmp/imp918s.imp"
I = GRMAP[J];
                                                                //    963              PUSH123(HEAD,GRINF(I),GRAT(I),I<<8!GRUSE(I)) %IF GRUSE(I)>1
#line 963 "regression-compile-tmp/imp918s.imp"
if (((GRUSE[I]) <= (1))) goto L_0098;
#line 963 "regression-compile-tmp/imp918s.imp"
PUSH123(HEAD, GRINF[I], GRAT[I], ((((I) << (8))) | (GRUSE[I])));
#line 963 "regression-compile-tmp/imp918s.imp"
L_0098:;
                                                                //    964           %REPEAT
#line 964 "regression-compile-tmp/imp918s.imp"
goto L_0095;
#line 964 "regression-compile-tmp/imp918s.imp"
L_0096:;
                                                                //    965           %END
#line 965 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block GETENV at level 2
                                                                //    966           %ROUTINE RESTORE(%SHORTINTEGER HEAD)
#line 966 "regression-compile-tmp/imp918s.imp"
void RESTORE( short HEAD )
#line 966 "regression-compile-tmp/imp918s.imp"
{
                                                                //    967           {%SHORTROUTINE}
                                                                //    968  !***********************************************************************
                                                                //    969  !*       RESET THE REGISTERS TO ENVIRONMENT IN LIST HEADED BY 'HEAD'   *
                                                                //    970  !***********************************************************************
                                                                //    971           %INTEGER I,J,R,USE,INF,AT
#line 971 "regression-compile-tmp/imp918s.imp"
int I;
#line 971 "regression-compile-tmp/imp918s.imp"
int J;
#line 971 "regression-compile-tmp/imp918s.imp"
int R;
#line 971 "regression-compile-tmp/imp918s.imp"
int USE;
#line 971 "regression-compile-tmp/imp918s.imp"
int INF;
#line 971 "regression-compile-tmp/imp918s.imp"
int AT;
                                                                //    972           CCSTATE=-1
#line 972 "regression-compile-tmp/imp918s.imp"
CCSTATE = (-1);
                                                                //    973           %CYCLE J=0,1,14; I=GRMAP(J)
#line 973 "regression-compile-tmp/imp918s.imp"
J = (-1);
if ((((14)-(0)) % (1)) != 0) _imp_signal(5,1,0,"Illegal cycle J = 0, 1, 14");
L_0099:;
if (J == 14) goto L_009a;
J += 1;
#line 973 "regression-compile-tmp/imp918s.imp"
I = GRMAP[J];
                                                                //    974              %IF REGISTER(I)>=0 %THEN GRUSE(I)=0 %AND GRINF(I)=0
#line 974 "regression-compile-tmp/imp918s.imp"
if (((REGISTER[I]) < (0))) goto L_009c;
#line 974 "regression-compile-tmp/imp918s.imp"
GRUSE[I] = 0;
#line 974 "regression-compile-tmp/imp918s.imp"
GRINF[I] = 0;
#line 974 "regression-compile-tmp/imp918s.imp"
L_009c:;
                                                                //    975           %REPEAT
#line 975 "regression-compile-tmp/imp918s.imp"
goto L_0099;
#line 975 "regression-compile-tmp/imp918s.imp"
L_009a:;
                                                                //    976           %WHILE HEAD#0 %CYCLE
#line 976 "regression-compile-tmp/imp918s.imp"
L_009d:;
#line 976 "regression-compile-tmp/imp918s.imp"
if (((HEAD) == (0))) goto L_009e;
                                                                //    977              POP123(HEAD,INF,AT,I)
#line 977 "regression-compile-tmp/imp918s.imp"
POP123(&HEAD, &INF, &AT, &I);
                                                                //    978              R=I>>8
#line 978 "regression-compile-tmp/imp918s.imp"
R = (int)((((unsigned int)(I)) >> (8)));
                                                                //    979              %IF REGISTER(R)>=0 %THEN GRUSE(R)=I&255 %AND GRINF(R)=INF
#line 979 "regression-compile-tmp/imp918s.imp"
if (((REGISTER[R]) < (0))) goto L_00a0;
#line 979 "regression-compile-tmp/imp918s.imp"
GRUSE[R] = ((I) & (255));
#line 979 "regression-compile-tmp/imp918s.imp"
GRINF[R] = INF;
#line 979 "regression-compile-tmp/imp918s.imp"
L_00a0:;
                                                                //    980              GRAT(R)=AT
#line 980 "regression-compile-tmp/imp918s.imp"
GRAT[R] = AT;
                                                                //    981           %REPEAT
#line 981 "regression-compile-tmp/imp918s.imp"
goto L_009d;
#line 981 "regression-compile-tmp/imp918s.imp"
L_009e:;
                                                                //    982           %END
#line 982 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block RESTORE at level 2
                                                                //    983  !         %ROUTINE PRINT LIST(%INTEGER HEAD)
                                                                //    984  !         {%SHORTROUTINE}
                                                                //    985  !         %INTEGER I,J,K
                                                                //    986  !1:       %IF HEAD=0 %THEN %RETURN
                                                                //    987  !         FROM123(HEAD,I,J,K)
                                                                //    988  !         NEWLINE
                                                                //    989  !         PRHEX(I,8)
                                                                //    990  !         SPACES(3)
                                                                //    991  !         PRHEX(J,8)
                                                                //    992  !         SPACES(3)
                                                                //    993  !         PRHEX(K,8)
                                                                //    994  !         NEWLINE
                                                                //    995  !         MLINK(HEAD)
                                                                //    996  !         ->Label1
                                                                //    997  !         %END
                                                                //    998  !
                                                                //    999  ! ******* LIST***PROCESSING***ROUTINES
                                                                //   1000  ! NEW VERSIONS BASED ON A 96BIT(12 BYTE) UNIT
                                                                //   1001  ! S1=S2=32 BIT STREAM, S3=16 BIT STREAM
                                                                //   1002  !
                                                                //   1003  !         %ROUTINE CHECK ASL
                                                                //   1004  !! CHECK ASL FOR CONSISTENCY AND PRINT OUT FREE CELLS
                                                                //   1005  !! FOR DEBUGGING OBSCURE LIST PROCESSING FAULTS ONLY
                                                                //   1006  !         {%SHORTROUTINE}
                                                                //   1007  !         %INTEGER N,Q
                                                                //   1008  !         N=0
                                                                //   1009  !          Q=ASL
                                                                //   1010  !1:       ->Label2 %IF Q=0
                                                                //   1011  !         ABORT %UNLESS Q&3=0
                                                                //   1012  !          MLINK(Q)
                                                                //   1013  !          N=N+1
                                                                //   1014  !          ->Label1
                                                                //   1015  !2:         printstring(" FREE CELLS=")
                                                                //   1016  !          WRITE(N,3)
                                                                //   1017  !         NEWLINE
                                                                //   1018  !           %END
                                                                //   1019  !
                                                                //   1020  !         %INTEGERFN NEW CELL
                                                                //   1021  !         %INTEGER I
                                                                //   1022  !%if USE MC = 1 %start
                                                                //   1023  !         *L_1,ASL
                                                                //   1024  !         *LTR_2,1
                                                                //   1025  !         *BC_7,<1>
                                                                //   1026  !%finish
                                                                //   1027  !         FAULT(107,0)
                                                                //   1028  !%if USE MC = 1 %start
                                                                //   1029  !1:       *A_2,ASLIST
                                                                //   1030  !         *MVC_ASL+2(2),14(2);         !ASL TO NEXT FREE CELL
                                                                //   1031  !         *XC_0(16,2),0(2);                  ! NEWCELL TO ZERO
                                                                //   1032  !         *LM_4,15,16(8)
                                                                //   1033  !         *BCR_15,15
                                                                //   1034  !%finish
                                                                //   1035  !         %END
                                                                //   1036           %ROUTINE PUSH(%SHORTINTEGERNAME CELL,%INTEGER S1,S2)
#line 1036 "regression-compile-tmp/imp918s.imp"
void PUSH( short /*name*/*CELL, int S1, int S2 )
#line 1036 "regression-compile-tmp/imp918s.imp"
{
                                                                //   1037  !%if USE MC = 1 %start
                                                                //   1038  !         *L_4,ASL; *LTR_5,4; *BC_7,<1>
                                                                //   1039  !%finish
                                                                //   1040           FAULT(107,0)
#line 1040 "regression-compile-tmp/imp918s.imp"
FAULT(107, 0);
                                                                //   1041  !%if USE MC = 1 %start
                                                                //   1042  !1:       *A_5,ASLIST; *MVC_ASL+2(2),14(5)
                                                                //   1043  !         *LM_15,1,CELL; *LH_3,0(15); *SR_2,2
                                                                //   1044  !         *STH_4,0(15); *STM_0,3,0(5)
                                                                //   1045  !%finish
                                                                //   1046           %END
#line 1046 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block PUSH at level 2
                                                                //   1047           %ROUTINE PUSH123(%SHORTINTEGERNAME CELL,%INTEGER S1,S2,S3)
#line 1047 "regression-compile-tmp/imp918s.imp"
void PUSH123( short /*name*/*CELL, int S1, int S2, int S3 )
#line 1047 "regression-compile-tmp/imp918s.imp"
{
                                                                //   1048  !%if USE MC = 1 %start
                                                                //   1049  !         *L_4,ASL; *LTR_5,4; *BC_7,<1>
                                                                //   1050  !%finish
                                                                //   1051           FAULT(107,0)
#line 1051 "regression-compile-tmp/imp918s.imp"
FAULT(107, 0);
                                                                //   1052  !%if USE MC = 1 %start
                                                                //   1053  !1:       *A_5,ASLIST; *MVC_ASL+2(2),14(5)
                                                                //   1054  !         *LM_15,2,CELL; *LH_3,0(15)
                                                                //   1055  !         *STH_4,0(15); *STM_0,3,0(5)
                                                                //   1056  !%finish
                                                                //   1057           %END
#line 1057 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block PUSH123 at level 2
                                                                //   1058           %ROUTINE POP(%SHORTINTEGERNAME CELL,%INTEGERNAME S1,S2)
#line 1058 "regression-compile-tmp/imp918s.imp"
void POP( short /*name*/*CELL, int /*name*/*S1, int /*name*/*S2 )
#line 1058 "regression-compile-tmp/imp918s.imp"
{
                                                                //   1059  !%if USE MC = 1 %start
                                                                //   1060  !         *LM_1,3,CELL; *LH_4,0(1); *L_15,ASLIST
                                                                //   1061  !         *L_0,0(4,15); *ST_0,0(2);       ! SET S1
                                                                //   1062  !         *L_0,4(4,15); *ST_0,0(3);       ! SET S2
                                                                //   1063  !         *LTR_4,4; *BC_8,<1>;             ! HEAD =0 FOR NULL LIST
                                                                //   1064  !         *LH_0,14(4,15); *STH_0,0(1);    ! HEADCELL TO OLD 2ND CELL
                                                                //   1065  !         *L_3,ASL; *STH_3,14(4,15); *ST_4,ASL
                                                                //   1066  !%finish
                                                                //   1067  Label1:       %END
#line 1067 "regression-compile-tmp/imp918s.imp"
U_1006:;
#line 1067 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block POP at level 2
                                                                //   1068           %ROUTINE POP123(%SHORTINTEGERNAME CELL,%C
#line 1068 "regression-compile-tmp/imp918s.imp"
void POP123( short /*name*/*CELL, int /*name*/*S1, int /*name*/*S2, int /*name*/*S3 )
#line 1068 "regression-compile-tmp/imp918s.imp"
{
                                                                //   1069           %INTEGERNAME S1,S2,S3)
                                                                //   1070  
                                                                //   1071  !%if USE MC = 1 %start
                                                                //   1072  !         *LM_1,3,CELL; *LH_4,0(1); *L_15,ASLIST
                                                                //   1073  !         *L_0,0(4,15); *ST_0,0(2);       ! SET S1
                                                                //   1074  !         *L_0,4(4,15); *ST_0,0(3);       ! SET S2
                                                                //   1075  !         *L_0,8(4,15); *L_3,S3; *ST_0,0(3); ! SET S3
                                                                //   1076  !         *LTR_4,4; *BC_8,<1>;             ! HEAD =0 FOR NULL LIST
                                                                //   1077  !         *LH_0,14(4,15); *STH_0,0(1);    ! HEADCELL TO OLD 2ND CELL
                                                                //   1078  !         *L_3,ASL; *STH_3,14(4,15); *ST_4,ASL
                                                                //   1079  !%finish
                                                                //   1080  Label1:       %END
#line 1080 "regression-compile-tmp/imp918s.imp"
U_100e:;
#line 1080 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block POP123 at level 2
                                                                //   1081           %ROUTINE INSERT AFTER(%SHORTINTEGERNAME CELL,%INTEGER S1,S2)
#line 1081 "regression-compile-tmp/imp918s.imp"
void INSERTAFTER( short /*name*/*CELL, int S1, int S2 )
#line 1081 "regression-compile-tmp/imp918s.imp"
{
                                                                //   1082  !%if USE MC = 1 %start
                                                                //   1083  !         *L_1,ASL; *LTR_2,1; *BC_7,<2>
                                                                //   1084  !%finish
                                                                //   1085           FAULT(107,0)
#line 1085 "regression-compile-tmp/imp918s.imp"
FAULT(107, 0);
                                                                //   1086  !%if USE MC = 1 %start
                                                                //   1087  !2:       *A_2,ASLIST; *MVC_ASL+2(2),14(2)
                                                                //   1088  !         *SR_0,0; *ST_0,12(2); *ST_0,8(2)
                                                                //   1089  !         *L_2,ASLIST;*LM_3,4,S1;*ST_3,0(1,2);*ST_4,4(1,2)
                                                                //   1090  !         *L_4,CELL; *LH_3,0(4); *STH_1,0(4)
                                                                //   1091  !         *LTR_3,3;*BC_8,<1>;*LH_4,14(3,2)
                                                                //   1092  !         *STH_4,14(1,2); *STH_1,14(3,2)
                                                                //   1093  !%finish
                                                                //   1094  Label1:       %END
#line 1094 "regression-compile-tmp/imp918s.imp"
U_1006:;
#line 1094 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block INSERTAFTER at level 2
                                                                //   1095  
                                                                //   1096  %ROUTINE BINSERT(%SHORTINTEGERNAME TOP,BOT,%INTEGER S1,S2,S3)
#line 1096 "regression-compile-tmp/imp918s.imp"
void BINSERT( short /*name*/*TOP, short /*name*/*BOT, int S1, int S2, int S3 )
#line 1096 "regression-compile-tmp/imp918s.imp"
{
                                                                //   1097  !***********************************************************************
                                                                //   1098  !*       ADD A NEWCELL AT THE BOTTOM OF A LIST                         *
                                                                //   1099  !***********************************************************************
                                                                //   1100  !%if USE MC = 1 %start
                                                                //   1101  !         *LM_14,2,TOP; *L_3,ASL
                                                                //   1102  !         *LTR_4,3; *BC_7,<1>
                                                                //   1103  !%finish
                                                                //   1104           FAULT(107,0)
#line 1104 "regression-compile-tmp/imp918s.imp"
FAULT(107, 0);
                                                                //   1105  !%if USE MC = 1 %start
                                                                //   1106  !1:       *L_5,ASLIST; *LH_6,14(3,5); *ST_6,ASL
                                                                //   1107  !         *LH_6,0(15); *LTR_6,6; *BC_7,<2>; ! IS BOT 0 ?
                                                                //   1108  !         *STH_3,0(14); *BC_15,<3>;      ! YES SET TOP =NEWCELL
                                                                //   1109  !2:       *STH_3,14(6,5);                ! LINK NEWCELL TO PREV BOT
                                                                //   1110  !3:       *STH_3,0(15);                  ! BOT =NEWCELL
                                                                //   1111  !         *SR_3,3; *AR_4,5
                                                                //   1112  !         *STM_0,3,0(4)
                                                                //   1113  !%finish
                                                                //   1114  %END
#line 1114 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block BINSERT at level 2
                                                                //   1115           %ROUTINE     REPLACE123(%INTEGER CELL,S1,S2,S3)
#line 1115 "regression-compile-tmp/imp918s.imp"
void REPLACE123( int CELL, int S1, int S2, int S3 )
#line 1115 "regression-compile-tmp/imp918s.imp"
{
                                                                //   1116  !%if USE MC = 1 %start
                                                                //   1117  !         *LM_15,2,CELL;*A_15,ASLIST
                                                                //   1118  !         *STM_0,2,0(15)
                                                                //   1119  !         *LM_8,15,32(8); *BCR_15,15
                                                                //   1120  !%finish
                                                                //   1121           %END
#line 1121 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block REPLACE123 at level 2
                                                                //   1122           %ROUTINE     REPLACE1(%INTEGER CELL,S1)
#line 1122 "regression-compile-tmp/imp918s.imp"
void REPLACE1( int CELL, int S1 )
#line 1122 "regression-compile-tmp/imp918s.imp"
{
                                                                //   1123           INTEGER(ADDR(ASLIST(CELL)))=S1
#line 1123 "regression-compile-tmp/imp918s.imp"
*_imp_INTEGER(_imp_ADDR(&ASLIST[CELL])) = S1;
                                                                //   1124           %END
#line 1124 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block REPLACE1 at level 2
                                                                //   1125           %ROUTINE     REPLACE2(%INTEGER CELL,S2)
#line 1125 "regression-compile-tmp/imp918s.imp"
void REPLACE2( int CELL, int S2 )
#line 1125 "regression-compile-tmp/imp918s.imp"
{
                                                                //   1126           INTEGER(ADDR(ASLIST(CELL+4)))=S2
#line 1126 "regression-compile-tmp/imp918s.imp"
*_imp_INTEGER(_imp_ADDR(&ASLIST[(((int)(CELL)) + (4))])) = S2;
                                                                //   1127           %END
#line 1127 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block REPLACE2 at level 2
                                                                //   1128           %ROUTINE     REPLACE3(%INTEGER CELL,S3)
#line 1128 "regression-compile-tmp/imp918s.imp"
void REPLACE3( int CELL, int S3 )
#line 1128 "regression-compile-tmp/imp918s.imp"
{
                                                                //   1129           INTEGER(ADDR(ASLIST(CELL+8)))=S3
#line 1129 "regression-compile-tmp/imp918s.imp"
*_imp_INTEGER(_imp_ADDR(&ASLIST[(((int)(CELL)) + (8))])) = S3;
                                                                //   1130           %END
#line 1130 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block REPLACE3 at level 2
                                                                //   1131           %ROUTINE     MLINK(%INTEGERNAME CELL)
#line 1131 "regression-compile-tmp/imp918s.imp"
void MLINK( int /*name*/*CELL )
#line 1131 "regression-compile-tmp/imp918s.imp"
{
                                                                //   1132           CELL=SHORTINTEGER(ADDR(ASLIST(CELL+14)))
#line 1132 "regression-compile-tmp/imp918s.imp"
*CELL = *_imp_SHORTINTEGER(_imp_ADDR(&ASLIST[((*(int *)(CELL)) + (14))]));
                                                                //   1133           %END
#line 1133 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block MLINK at level 2
                                                                //   1134           %INTEGERFN     FIND(%INTEGER LAB,LIST)
#line 1134 "regression-compile-tmp/imp918s.imp"
int FIND( int LAB, int LIST )
#line 1134 "regression-compile-tmp/imp918s.imp"
{
                                                                //   1135  ! THIS FUNCTION SEARCHES LIST 'LIST' FOR LAB IN STREAM2 AND
                                                                //   1136  ! RETURNS THE CORRESPONDING CELL NO.IT USED FOR MORE THAN
                                                                //   1137  ! SCANNING LABEL LISTS.
                                                                //   1138  !%if USE MC = 1 %start
                                                                //   1139  !         %MCODE
                                                                //   1140  !         *LM_0,1,LAB; *L_2,ASLIST
                                                                //   1141  !         *LTR_15,1; *BC_8,<FAIL>
                                                                //   1142  !AGAIN:   *C_0,4(1,2);
                                                                //   1143  !         *BC_8,<FOUND>
                                                                //   1144  !         *LH_1,14(1,2)
                                                                //   1145  !         *LTR_15,1
                                                                //   1146  !         *BC_7,<AGAIN>
                                                                //   1147  !FAIL:    *L_1,0(15,2);                  ! IF FAIL LOADS-1 ELSE RESULT
                                                                //   1148  !FOUND:   *LM_8,15,32(8); *BCR_15,15
                                                                //   1149  !         %ENDOFMCODE
                                                                //   1150  !%finish
                                                                //   1151  %result=-1
#line 1151 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return (-1);
                                                                //   1152           %END
#line 1152 "regression-compile-tmp/imp918s.imp"
} // End of block FIND at level 2
                                                                //   1153           %INTEGERFN FIND3(%INTEGER S3,LIST)
#line 1153 "regression-compile-tmp/imp918s.imp"
int FIND3( int S3, int LIST )
#line 1153 "regression-compile-tmp/imp918s.imp"
{
                                                                //   1154  !***********************************************************************
                                                                //   1155  !*       SEARCHES LIST FOR S3 IN STREAM 3                              *
                                                                //   1156  !*       RETURNS CELL NO AS RESULT                                     *
                                                                //   1157  !***********************************************************************
                                                                //   1158  !%if USE MC = 1 %start
                                                                //   1159  !         *LM_0,1,S3; *L_2,ASLIST; *SR_3,3
                                                                //   1160  !         *LTR_1,1; *BC_8,<FAIL>
                                                                //   1161  !AGAIN:   *C_0,8(1,2)
                                                                //   1162  !         *BC_8,<FOUND>
                                                                //   1163  !         *LR_3,1;                       ! SAVE PREVIOUS CELL
                                                                //   1164  !         *LH_1,14(1,2)
                                                                //   1165  !         *LTR_1,1
                                                                //   1166  !         *BC_7,<AGAIN>
                                                                //   1167  !FAIL:    *BCTR_1,0
                                                                //   1168  !FOUND:   *ST_3,PREV3CL;
                                                                //   1169  !         *LM_8,15,32(8); *BCR_15,15
                                                                //   1170  !%finish
                                                                //   1171  %result=-1
#line 1171 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return (-1);
                                                                //   1172           %END
#line 1172 "regression-compile-tmp/imp918s.imp"
} // End of block FIND3 at level 2
                                                                //   1173           %ROUTINE FROM123(%INTEGER CELL,%INTEGERNAME S1,S2,S3)
#line 1173 "regression-compile-tmp/imp918s.imp"
void FROM123( int CELL, int /*name*/*S1, int /*name*/*S2, int /*name*/*S3 )
#line 1173 "regression-compile-tmp/imp918s.imp"
{
                                                                //   1174  !%if USE MC = 1 %start
                                                                //   1175  !        *LM_1,4,CELL; *A_1,ASLIST;
                                                                //   1176  !         *LM_15,1,0(1); * ST_15,0(2)
                                                                //   1177  !         *ST_ 0,0(3); *ST_1,0(4)
                                                                //   1178  !         *LM_8,15,32(8); *BCR_15,15
                                                                //   1179  !%finish
                                                                //   1180           %END
#line 1180 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block FROM123 at level 2
                                                                //   1181           %ROUTINE FROM12(%INTEGER CELL,%INTEGERNAME S1,S2)
#line 1181 "regression-compile-tmp/imp918s.imp"
void FROM12( int CELL, int /*name*/*S1, int /*name*/*S2 )
#line 1181 "regression-compile-tmp/imp918s.imp"
{
                                                                //   1182  !%if USE MC = 1 %start
                                                                //   1183  !         *LM_1,3,CELL ;*A_1,ASLIST ;
                                                                //   1184  !         *LM_0,1,0(1); *ST_0,0(2); *ST_1,0(3)
                                                                //   1185  !%finish
                                                                //   1186           %END
#line 1186 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block FROM12 at level 2
                                                                //   1187           %INTEGERFN     FROM1(%INTEGER CELL)
#line 1187 "regression-compile-tmp/imp918s.imp"
int FROM1( int CELL )
#line 1187 "regression-compile-tmp/imp918s.imp"
{
                                                                //   1188           %RESULT=INTEGER(ADDR(ASLIST(CELL)))
#line 1188 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return *_imp_INTEGER(_imp_ADDR(&ASLIST[CELL]));
                                                                //   1189           %END
#line 1189 "regression-compile-tmp/imp918s.imp"
} // End of block FROM1 at level 2
                                                                //   1190           %INTEGERFN     FROM2(%INTEGER CELL)
#line 1190 "regression-compile-tmp/imp918s.imp"
int FROM2( int CELL )
#line 1190 "regression-compile-tmp/imp918s.imp"
{
                                                                //   1191           %RESULT=INTEGER(ADDR(ASLIST(CELL))+4)
#line 1191 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return *_imp_INTEGER((((int)(_imp_ADDR(&ASLIST[CELL]))) + (4)));
                                                                //   1192           %END
#line 1192 "regression-compile-tmp/imp918s.imp"
} // End of block FROM2 at level 2
                                                                //   1193           %INTEGERFN FROM3(%INTEGER CELL)
#line 1193 "regression-compile-tmp/imp918s.imp"
int FROM3( int CELL )
#line 1193 "regression-compile-tmp/imp918s.imp"
{
                                                                //   1194           %RESULT=INTEGER(ADDR(ASLIST(CELL))+8)
#line 1194 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return *_imp_INTEGER((((int)(_imp_ADDR(&ASLIST[CELL]))) + (8)));
                                                                //   1195          %END
#line 1195 "regression-compile-tmp/imp918s.imp"
} // End of block FROM3 at level 2
                                                                //   1196           %ROUTINE CLEAR LIST (%SHORTINTEGERNAME OPHEAD)
#line 1196 "regression-compile-tmp/imp918s.imp"
void CLEARLIST( short /*name*/*OPHEAD )
#line 1196 "regression-compile-tmp/imp918s.imp"
{
                                                                //   1197  !%if USE MC = 1 %start
                                                                //   1198  !         **1,OPHEAD; *LTR_1,1; *BC_8,<EMPTY>
                                                                //   1199  !         *L_2,ASLIST; *L_0,ASL; *ST_1,ASL
                                                                //   1200  !AGAIN:  *LR_3,1; *LH_1,14(1,2);         ! NEXT LINK
                                                                //   1201  !         *LTR_1,1; *BC_7,<AGAIN>;       ! IS IT ZERO?
                                                                //   1202  !         *STH_0,14(3,2);                ! LAST LINK TO OLD VALUE OF ASL
                                                                //   1203  !%finish
                                                                //   1204  EMPTY:   OPHEAD=0;
#line 1204 "regression-compile-tmp/imp918s.imp"
U_100e:;
#line 1204 "regression-compile-tmp/imp918s.imp"
*OPHEAD = 0;
                                                                //   1205           %END
#line 1205 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block CLEARLIST at level 2
                                                                //   1206  !         %ROUTINE CONCAT(%SHORTINTEGERNAME LIST1,LIST2)
                                                                //   1207  !         %COMMENT ADDS LIST2 TO BOTTOM OF LIST1
                                                                //   1208  !%if USE MC = 1 %start
                                                                //   1209  !         *L_4,LIST1
                                                                //   1210  !         *L_15,LIST2
                                                                //   1211  !         *LH_0,0(15)
                                                                //   1212  !         *L_2,ASLIST
                                                                //   1213  !         *LH_1,0(4)
                                                                //   1214  !         *LTR_3,1
                                                                //   1215  !         *BC_7,<ON>
                                                                //   1216  !         *STH_0,0(4)
                                                                //   1217  !         *BC_15,<COMM>
                                                                //   1218  !ON:      *LR_3,1
                                                                //   1219  !         *LH_1,14(3,2);                 ! NEXT LINK
                                                                //   1220  !         *LTR_1,1
                                                                //   1221  !         *BC_7,<ON>
                                                                //   1222  !         *STH_0,14(3,2);                ! LAST LINK TO NEW LIST
                                                                //   1223  !COMM:    *STH_1,0(15);                  ! ZERO HEAD OF LIST2 IN CASE
                                                                //   1224  !%finish
                                                                //   1225  !         %END;                          ! AN ERROR PUTS CELL TWICE ONTO
                                                                //   1226                                         ! FREE LIST - CATASTROPHIC!
                                                                //   1227  !         %ROUTINE INSERT AT END(%SHORTINTEGERNAME CELL,%INTEGER S1,S2)
                                                                //   1228  !         {%SHORTROUTINE}
                                                                //   1229  !!***********************************************************************
                                                                //   1230  !!*       ADD A CELL TO THE BOTTOM OF THE LIST HEADED BY 'CELL'         *
                                                                //   1231  !!***********************************************************************
                                                                //   1232  !%if USE MC = 1 %start
                                                                //   1233  !         *L_1,ASL
                                                                //   1234  !         *LTR_2,1
                                                                //   1235  !         *BC_7,<1>
                                                                //   1236  !%finish
                                                                //   1237  !         FAULT(107,0)
                                                                //   1238  !%if USE MC = 1 %start
                                                                //   1239  !1:       *A_2,ASLIST
                                                                //   1240  !         *MVC_ASL+2(2),14(2)
                                                                //   1241  !         *SR_0,0
                                                                //   1242  !         *ST_0,12(2)
                                                                //   1243  !         *L_2,ASLIST
                                                                //   1244  !         *L_4,CELL
                                                                //   1245  !         *LH_3,0(4);                 ! GET HEAD CELL
                                                                //   1246  !         *LTR_3,3
                                                                //   1247  !         *BC_7,<ON>;                 ! LIST NOT EMPTY
                                                                //   1248  !         *STH_1,0(4)
                                                                //   1249  !         *BC_15,<LOAD>;               ! EMPTY LIST -- CELL TO TOP
                                                                //   1250  !ON:      *LR_4,3
                                                                //   1251  !         *LH_3,14(2,4);               ! IS NEXT CELL THE BOTTOM??
                                                                //   1252  !         *LTR_3,3
                                                                //   1253  !         *BC_7,<ON>
                                                                //   1254  !         *STH_1,14(2,4)
                                                                //   1255  !LOAD:    *AR_1,2
                                                                //   1256  !         *MVC_0(8,1),S1
                                                                //   1257  !%finish
                                                                //   1258  !         %END
                                                                //   1259  ! ************END****OF****LIST****PROCESSING ROUTINES
                                                                //   1260           %ROUTINE CSS(%INTEGER PIN,CSSMODE)
#line 1260 "regression-compile-tmp/imp918s.imp"
void CSS( int PIN, int CSSMODE )
#line 1260 "regression-compile-tmp/imp918s.imp"
{
                                                                //   1261           %ROUTINESPEC CIOCP(%INTEGER N)
#line 1261 "regression-compile-tmp/imp918s.imp"
auto void CIOCP( int N );
                                                                //   1262           %ROUTINESPEC DEFINE EP(%INTEGER A,B,C,D)
#line 1262 "regression-compile-tmp/imp918s.imp"
auto void DEFINEEP( int A, int B, int C, int D );
                                                                //   1263           %ROUTINESPEC LAB LOOK(%INTEGERNAME A,%INTEGER B)
#line 1263 "regression-compile-tmp/imp918s.imp"
auto void LABLOOK( int /*name*/*A, int B );
                                                                //   1264           %ROUTINESPEC SET LOCAL BASE
#line 1264 "regression-compile-tmp/imp918s.imp"
auto void SETLOCALBASE( void );
                                                                //   1265           %ROUTINESPEC STRINGOP(%INTEGER Z,L,BTO,DTO,BFRM,DFRM,BML,DML,X)
#line 1265 "regression-compile-tmp/imp918s.imp"
auto void STRINGOP( int Z, int L, int BTO, int DTO, int BFRM, int DFRM, int BML, int DML, int X );
                                                                //   1266           %ROUTINESPEC CEND(%INTEGER KKK)
#line 1266 "regression-compile-tmp/imp918s.imp"
auto void CEND( int KKK );
                                                                //   1267           %ROUTINESPEC CBPAIR(%INTEGERNAME LB,UB)
#line 1267 "regression-compile-tmp/imp918s.imp"
auto void CBPAIR( int /*name*/*LB, int /*name*/*UB );
                                                                //   1268           %ROUTINESPEC CCOND(%INTEGER IU,FARLAB)
#line 1268 "regression-compile-tmp/imp918s.imp"
auto void CCOND( int IU, int FARLAB );
                                                                //   1269           %ROUTINESPEC SET LINE
#line 1269 "regression-compile-tmp/imp918s.imp"
auto void SETLINE( void );
                                                                //   1270           %ROUTINESPEC CUI(%INTEGER CODE)
#line 1270 "regression-compile-tmp/imp918s.imp"
auto void CUI( int CODE );
                                                                //   1271           %ROUTINESPEC CSTART(%INTEGER CODE)
#line 1271 "regression-compile-tmp/imp918s.imp"
auto void CSTART( int CODE );
                                                                //   1272           %ROUTINESPEC BULKM(%INTEGER A,B,C,D,E,F)
#line 1272 "regression-compile-tmp/imp918s.imp"
auto void BULKM( int A, int B, int C, int D, int E, int F );
                                                                //   1273           %ROUTINESPEC TORP(%SHORTINTEGERNAME H,B,NOPS,%INTEGER MODE)
#line 1273 "regression-compile-tmp/imp918s.imp"
auto void TORP( short /*name*/*H, short /*name*/*B, short /*name*/*NOPS, int MODE );
                                                                //   1274           %ROUTINESPEC SET USE(%INTEGER R,U,I)
#line 1274 "regression-compile-tmp/imp918s.imp"
auto void SETUSE( int R, int U, int I );
                                                                //   1275           %ROUTINESPEC CSEXP(%INTEGER REG,MODE)
#line 1275 "regression-compile-tmp/imp918s.imp"
auto void CSEXP( int REG, int MODE );
                                                                //   1276           %ROUTINESPEC DSEXP(%INTEGER REG,MODE)
#line 1276 "regression-compile-tmp/imp918s.imp"
auto void DSEXP( int REG, int MODE );
                                                                //   1277           %ROUTINESPEC FREE AND FORGET(%INTEGER REG)
#line 1277 "regression-compile-tmp/imp918s.imp"
auto void FREEANDFORGET( int REG );
                                                                //   1278           %ROUTINESPEC SAVE IRS(%INTEGER MODE)
#line 1278 "regression-compile-tmp/imp918s.imp"
auto void SAVEIRS( int MODE );
                                                                //   1279           %ROUTINESPEC BOOT OUT(%INTEGER MODE)
#line 1279 "regression-compile-tmp/imp918s.imp"
auto void BOOTOUT( int MODE );
                                                                //   1280           %ROUTINESPEC EXPOP(%INTEGER A,B,C,D)
#line 1280 "regression-compile-tmp/imp918s.imp"
auto void EXPOP( int A, int B, int C, int D );
                                                                //   1281           %ROUTINESPEC CSTREXP(%INTEGER MODE,REG)
#line 1281 "regression-compile-tmp/imp918s.imp"
auto void CSTREXP( int MODE, int REG );
                                                                //   1282           %ROUTINESPEC ASSIGN (%INTEGER P1,P2)
#line 1282 "regression-compile-tmp/imp918s.imp"
auto void ASSIGN( int P1, int P2 );
                                                                //   1283           %INTEGERFNSPEC COPY RECORD TAG(%INTEGERNAME SUBS)
#line 1283 "regression-compile-tmp/imp918s.imp"
auto int COPYRECORDTAG( int /*name*/*SUBS );
                                                                //   1284           %ROUTINESPEC  TEST APP(%INTEGERNAME NUM)
#line 1284 "regression-compile-tmp/imp918s.imp"
auto void TESTAPP( int /*name*/*NUM );
                                                                //   1285           %INTEGERFNSPEC DISPLACEMENT(%INTEGER LINK)
#line 1285 "regression-compile-tmp/imp918s.imp"
auto int DISPLACEMENT( int LINK );
                                                                //   1286            %ROUTINESPEC SKIP APP
#line 1286 "regression-compile-tmp/imp918s.imp"
auto void SKIPAPP( void );
                                                                //   1287           %ROUTINESPEC CRFORMAT(%SHORTINTEGERNAME HEAD)
#line 1287 "regression-compile-tmp/imp918s.imp"
auto void CRFORMAT( short /*name*/*HEAD );
                                                                //   1288           %INTEGERFNSPEC DOPE VECTOR(%INTEGER A,B,C)
#line 1288 "regression-compile-tmp/imp918s.imp"
auto int DOPEVECTOR( int A, int B, int C );
                                                                //   1289           %ROUTINESPEC DECLARE ARRAYS(%INTEGER MODE,XTRA)
#line 1289 "regression-compile-tmp/imp918s.imp"
auto void DECLAREARRAYS( int MODE, int XTRA );
                                                                //   1290           %ROUTINESPEC DECLARE SCALARS(%INTEGER A,B)
#line 1290 "regression-compile-tmp/imp918s.imp"
auto void DECLARESCALARS( int A, int B );
                                                                //   1291           %ROUTINESPEC CQN(%INTEGER P)
#line 1291 "regression-compile-tmp/imp918s.imp"
auto void CQN( int P );
                                                                //   1292           %ROUTINESPEC CLT
#line 1292 "regression-compile-tmp/imp918s.imp"
auto void CLT( void );
                                                                //   1293           %ROUTINESPEC MOVE R(%INTEGER R,N)
#line 1293 "regression-compile-tmp/imp918s.imp"
auto void MOVER( int R, int N );
                                                                //   1294           %ROUTINESPEC GET WSP(%INTEGERNAME PLACE,%INTEGER SIZE)
#line 1294 "regression-compile-tmp/imp918s.imp"
auto void GETWSP( int /*name*/*PLACE, int SIZE );
                                                                //   1295           %ROUTINESPEC RETURN WSP(%INTEGER PLACE,SIZE)
#line 1295 "regression-compile-tmp/imp918s.imp"
auto void RETURNWSP( int PLACE, int SIZE );
                                                                //   1296           %ROUTINESPEC CRCALL(%INTEGER A)
#line 1296 "regression-compile-tmp/imp918s.imp"
auto void CRCALL( int A );
                                                                //   1297           %ROUTINESPEC CNAME(%INTEGER Z,REG)
#line 1297 "regression-compile-tmp/imp918s.imp"
auto void CNAME( int Z, int REG );
                                                                //   1298           %ROUTINESPEC CRNAME(%INTEGER Z,REG,MODE,CLINK,BS,IX,DP)
#line 1298 "regression-compile-tmp/imp918s.imp"
auto void CRNAME( int Z, int REG, int MODE, int CLINK, int BS, int IX, int DP );
                                                                //   1299           %ROUTINESPEC CANAME(%INTEGER Z,BS,DP,LINK)
#line 1299 "regression-compile-tmp/imp918s.imp"
auto void CANAME( int Z, int BS, int DP, int LINK );
                                                                //   1300           %ROUTINESPEC ADJUST INDEX(%INTEGER M,%INTEGERNAME I,D)
#line 1300 "regression-compile-tmp/imp918s.imp"
auto void ADJUSTINDEX( int M, int /*name*/*I, int /*name*/*D );
                                                                //   1301           %ROUTINESPEC CREATE AH(%INTEGER M,R,B,D)
#line 1301 "regression-compile-tmp/imp918s.imp"
auto void CREATEAH( int M, int R, int B, int D );
                                                                //   1302           %ROUTINESPEC CRES(%INTEGER LAB)
#line 1302 "regression-compile-tmp/imp918s.imp"
auto void CRES( int LAB );
                                                                //   1303           %ROUTINESPEC CSNAME(%INTEGER Z,REG)
#line 1303 "regression-compile-tmp/imp918s.imp"
auto void CSNAME( int Z, int REG );
                                                                //   1304           %ROUTINESPEC COPY TAG(%INTEGER KK)
#line 1304 "regression-compile-tmp/imp918s.imp"
auto void COPYTAG( int KK );
                                                                //   1305           %ROUTINESPEC REDUCE TAG(%INTEGER MODE)
#line 1305 "regression-compile-tmp/imp918s.imp"
auto void REDUCETAG( int MODE );
                                                                //   1306           %ROUTINESPEC REPLACE TAG (%INTEGER KK)
#line 1306 "regression-compile-tmp/imp918s.imp"
auto void REPLACETAG( int KK );
                                                                //   1307           %ROUTINESPEC RT EXIT
#line 1307 "regression-compile-tmp/imp918s.imp"
auto void RTEXIT( void );
                                                                //   1308           %ROUTINESPEC RT JUMP(%INTEGER CODE,R1,RT,WKREG)
#line 1308 "regression-compile-tmp/imp918s.imp"
auto void RTJUMP( int CODE, int R1, int RT, int WKREG );
                                                                //   1309           %ROUTINESPEC MERGE INFO
#line 1309 "regression-compile-tmp/imp918s.imp"
auto void MERGEINFO( void );
                                                                //   1310           %ROUTINESPEC REDUCE ENV(%SHORTINTEGERNAME HEAD)
#line 1310 "regression-compile-tmp/imp918s.imp"
auto void REDUCEENV( short /*name*/*HEAD );
                                                                //   1311           %ROUTINESPEC RELOCATE(%INTEGER A,B,C)
#line 1311 "regression-compile-tmp/imp918s.imp"
auto void RELOCATE( int A, int B, int C );
                                                                //   1312           %ROUTINESPEC GXREF(%INTEGER A,B,C,D)
#line 1312 "regression-compile-tmp/imp918s.imp"
auto void GXREF( int A, int B, int C, int D );
                                                                //   1313           %ROUTINESPEC CXREF(%INTEGER A,B,C,%INTEGERNAME D)
#line 1313 "regression-compile-tmp/imp918s.imp"
auto void CXREF( int A, int B, int C, int /*name*/*D );
                                                                //   1314           %ROUTINESPEC STORE TAG(%INTEGER KK,SLINK)
#line 1314 "regression-compile-tmp/imp918s.imp"
auto void STORETAG( int KK, int SLINK );
                                                                //   1315           %ROUTINESPEC TESTNST
#line 1315 "regression-compile-tmp/imp918s.imp"
auto void TESTNST( void );
                                                                //   1316           %ROUTINESPEC CUCI
#line 1316 "regression-compile-tmp/imp918s.imp"
auto void CUCI( void );
                                                                //   1317           %ROUTINESPEC SKIP EXP
#line 1317 "regression-compile-tmp/imp918s.imp"
auto void SKIPEXP( void );
                                                                //   1318           %ROUTINESPEC UNPACK
#line 1318 "regression-compile-tmp/imp918s.imp"
auto void UNPACK( void );
                                                                //   1319           %ROUTINESPEC PACK(%INTEGERNAME PTYPE)
#line 1319 "regression-compile-tmp/imp918s.imp"
auto void PACK( int /*name*/*PTYPE );
                                                                //   1320           %ROUTINESPEC CRSPEC (%INTEGER M)
#line 1320 "regression-compile-tmp/imp918s.imp"
auto void CRSPEC( int M );
                                                                //   1321           %ROUTINESPEC LOAD DV(%INTEGERNAME REG,%INTEGER B,D,T)
#line 1321 "regression-compile-tmp/imp918s.imp"
auto void LOADDV( int /*name*/*REG, int B, int D, int T );
                                                                //   1322           %ROUTINESPEC DUMP(%INTEGER CODE,REG,DIS,X,LEVEL)
#line 1322 "regression-compile-tmp/imp918s.imp"
auto void DUMP( int CODE, int REG, int DIS, int X, int LEVEL );
                                                                //   1323           %ROUTINESPEC DUMPM(%INTEGER OPCODE,R1,R2,B,D)
#line 1323 "regression-compile-tmp/imp918s.imp"
auto void DUMPM( int OPCODE, int R1, int R2, int B, int D );
                                                                //   1324           %ROUTINESPEC DUMPSI(%INTEGER OPCODE,L,B,D)
#line 1324 "regression-compile-tmp/imp918s.imp"
auto void DUMPSI( int OPCODE, int L, int B, int D );
                                                                //   1325           %ROUTINESPEC DUMPSS(%INTEGER OP,L,B1,D1,B2,D2)
#line 1325 "regression-compile-tmp/imp918s.imp"
auto void DUMPSS( int OP, int L, int B1, int D1, int B2, int D2 );
                                                                //   1326           %ROUTINESPEC RHEAD(%INTEGER KK)
#line 1326 "regression-compile-tmp/imp918s.imp"
auto void RHEAD( int KK );
                                                                //   1327           %ROUTINESPEC ENTER JUMP(%INTEGER MASK,STAD,FLAG)
#line 1327 "regression-compile-tmp/imp918s.imp"
auto void ENTERJUMP( int MASK, int STAD, int FLAG );
                                                                //   1328           %ROUTINESPEC CFPDEL
#line 1328 "regression-compile-tmp/imp918s.imp"
auto void CFPDEL( void );
                                                                //   1329           %ROUTINESPEC PPJ(%INTEGER N)
#line 1329 "regression-compile-tmp/imp918s.imp"
auto void PPJ( int N );
                                                                //   1330           %ROUTINESPEC ENTER LAB(%INTEGER M,FLAG)
#line 1330 "regression-compile-tmp/imp918s.imp"
auto void ENTERLAB( int M, int FLAG );
                                                                //   1331           %ROUTINESPEC CHECK CAPACITY(%INTEGER REG,DIS,X,LEVEL)
#line 1331 "regression-compile-tmp/imp918s.imp"
auto void CHECKCAPACITY( int REG, int DIS, int X, int LEVEL );
                                                                //   1332           %INTEGERFNSPEC TSEXP(%INTEGERNAME CODE,%INTEGER I)
#line 1332 "regression-compile-tmp/imp918s.imp"
auto int TSEXP( int /*name*/*CODE, int I );
                                                                //   1333           %ROUTINESPEC FIND USE(%INTEGERNAME REG,%INTEGER TYPE,USE,INF)
#line 1333 "regression-compile-tmp/imp918s.imp"
auto void FINDUSE( int /*name*/*REG, int TYPE, int USE, int INF );
                                                                //   1334           %ROUTINESPEC CLAIM THIS REG(%INTEGER A)
#line 1334 "regression-compile-tmp/imp918s.imp"
auto void CLAIMTHISREG( int A );
                                                                //   1335           %ROUTINESPEC CLAIM(%INTEGER A,%INTEGERNAME REG)
#line 1335 "regression-compile-tmp/imp918s.imp"
auto void CLAIM( int A, int /*name*/*REG );
                                                                //   1336           %ROUTINESPEC FIND REG (%INTEGER A,%INTEGERNAME REG)
#line 1336 "regression-compile-tmp/imp918s.imp"
auto void FINDREG( int A, int /*name*/*REG );
                                                                //   1337           %ROUTINESPEC FORGET(%INTEGER REG)
#line 1337 "regression-compile-tmp/imp918s.imp"
auto void FORGET( int REG );
                                                                //   1338           %ROUTINESPEC FORGETM(%INTEGER UPPER)
#line 1338 "regression-compile-tmp/imp918s.imp"
auto void FORGETM( int UPPER );
                                                                //   1339           %ROUTINESPEC FIND SEQ(%INTEGERNAME ONE,TWO)
#line 1339 "regression-compile-tmp/imp918s.imp"
auto void FINDSEQ( int /*name*/*ONE, int /*name*/*TWO );
                                                                //   1340           %ROUTINESPEC REMEMBER
#line 1340 "regression-compile-tmp/imp918s.imp"
auto void REMEMBER( void );
                                                                //   1341           %INTEGERFNSPEC CONST FIND (%INTEGER L,AD)
#line 1341 "regression-compile-tmp/imp918s.imp"
auto int CONSTFIND( int L, int AD );
                                                                //   1342           %ROUTINESPEC STORE CONST(%INTEGERNAME B,D,%INTEGER L,AD)
#line 1342 "regression-compile-tmp/imp918s.imp"
auto void STORECONST( int /*name*/*B, int /*name*/*D, int L, int AD );
                                                                //   1343           %ROUTINESPEC NOTE ASSMENT(%INTEGER REG,ASSOP,VAR)
#line 1343 "regression-compile-tmp/imp918s.imp"
auto void NOTEASSMENT( int REG, int ASSOP, int VAR );
                                                                //   1344           %ROUTINESPEC TEXTOUT(%INTEGER REG)
#line 1344 "regression-compile-tmp/imp918s.imp"
auto void TEXTOUT( int REG );
                                                                //   1345           %ROUTINESPEC VALLOC(%INTEGER A,B)
#line 1345 "regression-compile-tmp/imp918s.imp"
auto void VALLOC( int A, int B );
                                                                //   1346           %ROUTINESPEC VDALLOC(%INTEGER A,B)
#line 1346 "regression-compile-tmp/imp918s.imp"
auto void VDALLOC( int A, int B );
                                                                //   1347           %ROUTINESPEC CYCOPT(%INTEGERNAME FLAG,%INTEGER WU)
#line 1347 "regression-compile-tmp/imp918s.imp"
auto void CYCOPT( int /*name*/*FLAG, int WU );
                                                                //   1348           %ROUTINESPEC EXTRA PASS(%INTEGER I,J,K)
#line 1348 "regression-compile-tmp/imp918s.imp"
auto void EXTRAPASS( int I, int J, int K );
                                                                //   1349           %ROUTINESPEC CYC RESTORE
#line 1349 "regression-compile-tmp/imp918s.imp"
auto void CYCRESTORE( void );
                                                                //   1350           %SWITCH SW(1:30)
#line 1350 "regression-compile-tmp/imp918s.imp"
static int sw2_SW_idx;
static const void * /*SWITCH*/ sw2_SW[30] = { &&sw2_SW_1, &&sw2_SW_2, &&sw2_SW_3, &&sw2_SW_4, &&sw2_SW_5, &&sw2_SW_6, &&sw2_SW_7, &&sw2_SW_8, &&sw2_SW_9, &&sw2_SW_10, &&sw2_SW_11, &&sw2_SW_12, &&sw2_SW_13, &&sw2_SW_14, &&sw2_SW_15, &&sw2_SW_16, &&sw2_SW_17, &&sw2_SW_18, &&sw2_SW_19, &&sw2_SW_20, &&sw2_SW_21, &&sw2_SW_22, &&sw2_SW_23, &&sw2_SW_24, &&sw2_SW_25, &&sw2_SW_26, &&sw2_SW_27, &&sw2_SW_28, &&sw2_SW_29, &&sw2_SW_30,  };
                                                                //   1351           %RECORDFORMAT RD(%SHORTINTEGER PTYPE,%BYTEINTEGER XB,FLAG,%C
#line 1351 "regression-compile-tmp/imp918s.imp"
typedef struct RD RD;
struct RD {
  short PTYPE;
  unsigned char XB;
  unsigned char FLAG;
  int D;
  short XTRA;
};
                                                                //   1352           %INTEGER D,%SHORTINTEGER XTRA)
                                                                //   1353           %SHORTINTEGER OPHEAD,SFHEAD,TWSPHEAD,DUMHEAD,SNDISP,ACC,K,KFORM
#line 1353 "regression-compile-tmp/imp918s.imp"
short OPHEAD;
#line 1353 "regression-compile-tmp/imp918s.imp"
short SFHEAD;
#line 1353 "regression-compile-tmp/imp918s.imp"
short TWSPHEAD;
#line 1353 "regression-compile-tmp/imp918s.imp"
short DUMHEAD;
#line 1353 "regression-compile-tmp/imp918s.imp"
short SNDISP;
#line 1353 "regression-compile-tmp/imp918s.imp"
short ACC;
#line 1353 "regression-compile-tmp/imp918s.imp"
short K;
#line 1353 "regression-compile-tmp/imp918s.imp"
short KFORM;
                                                                //   1354           %INTEGER BXLE,TCELL,CURRINST,ADISP,BIMSTR,JJ,JJJ,KK,KKK, %C
#line 1354 "regression-compile-tmp/imp918s.imp"
int BXLE;
#line 1354 "regression-compile-tmp/imp918s.imp"
int TCELL;
#line 1354 "regression-compile-tmp/imp918s.imp"
int CURRINST;
#line 1354 "regression-compile-tmp/imp918s.imp"
int ADISP;
#line 1354 "regression-compile-tmp/imp918s.imp"
int BIMSTR;
#line 1354 "regression-compile-tmp/imp918s.imp"
int JJ;
#line 1354 "regression-compile-tmp/imp918s.imp"
int JJJ;
#line 1354 "regression-compile-tmp/imp918s.imp"
int KK;
#line 1354 "regression-compile-tmp/imp918s.imp"
int KKK;
#line 1354 "regression-compile-tmp/imp918s.imp"
int Q;
#line 1354 "regression-compile-tmp/imp918s.imp"
int QQ;
#line 1354 "regression-compile-tmp/imp918s.imp"
int EXTRN;
#line 1354 "regression-compile-tmp/imp918s.imp"
int STARTCOND;
#line 1354 "regression-compile-tmp/imp918s.imp"
int MARKIU;
#line 1354 "regression-compile-tmp/imp918s.imp"
int MARKUI;
#line 1354 "regression-compile-tmp/imp918s.imp"
int MARKC;
#line 1354 "regression-compile-tmp/imp918s.imp"
int MARKE;
#line 1354 "regression-compile-tmp/imp918s.imp"
int MARKR;
#line 1354 "regression-compile-tmp/imp918s.imp"
int BASE;
#line 1354 "regression-compile-tmp/imp918s.imp"
int INDEX;
#line 1354 "regression-compile-tmp/imp918s.imp"
int DISP;
#line 1354 "regression-compile-tmp/imp918s.imp"
int VALUE;
#line 1354 "regression-compile-tmp/imp918s.imp"
int BML;
#line 1354 "regression-compile-tmp/imp918s.imp"
int DML;
#line 1354 "regression-compile-tmp/imp918s.imp"
int LOCALBASE;
#line 1354 "regression-compile-tmp/imp918s.imp"
int LOCALADDR;
#line 1354 "regression-compile-tmp/imp918s.imp"
int PTYPE;
#line 1354 "regression-compile-tmp/imp918s.imp"
int I;
#line 1354 "regression-compile-tmp/imp918s.imp"
int J;
#line 1354 "regression-compile-tmp/imp918s.imp"
int OLDI;
#line 1354 "regression-compile-tmp/imp918s.imp"
int USEBITS;
#line 1354 "regression-compile-tmp/imp918s.imp"
int SENOPS;
#line 1354 "regression-compile-tmp/imp918s.imp"
int SEFOP;
#line 1354 "regression-compile-tmp/imp918s.imp"
int PTYPEP;
#line 1354 "regression-compile-tmp/imp918s.imp"
int STRINGL;
#line 1354 "regression-compile-tmp/imp918s.imp"
int LINE;
                                                                //   1355                 Q,QQ,EXTRN,STARTCOND,MARKIU,MARKUI,MARKC,MARKE,MARKR, %C
                                                                //   1356                 BASE,INDEX,DISP,VALUE,BML,DML,LOCAL BASE, LOCAL ADDR, %C
                                                                //   1357                 PTYPE,I,J,OLDI,USEBITS,SENOPS,SEFOP,PTYPEP,STRINGL,LINE
                                                                //   1358           %BYTEINTEGER ROUT,NAM,ARR,PREC,TYPE,REPORTUI
#line 1358 "regression-compile-tmp/imp918s.imp"
unsigned char ROUT;
#line 1358 "regression-compile-tmp/imp918s.imp"
unsigned char NAM;
#line 1358 "regression-compile-tmp/imp918s.imp"
unsigned char ARR;
#line 1358 "regression-compile-tmp/imp918s.imp"
unsigned char PREC;
#line 1358 "regression-compile-tmp/imp918s.imp"
unsigned char TYPE;
#line 1358 "regression-compile-tmp/imp918s.imp"
unsigned char REPORTUI;
                                                                //   1359           {%REGISTER P(14)}%integer P; P=PIN
#line 1359 "regression-compile-tmp/imp918s.imp"
int P;
#line 1359 "regression-compile-tmp/imp918s.imp"
P = PIN;
                                                                //   1360           %INTEGERARRAY SGRUSE,SGRINF(0:22)
#line 1360 "regression-compile-tmp/imp918s.imp"
int SGRUSE[23];
#line 1360 "regression-compile-tmp/imp918s.imp"
int SGRINF[23];
                                                                //   1361           %CONSTINTEGER WSPTRTAB1=X'00010204',WSPTRTAB2= X'04060607'
                                                                //   1362           LINE=A(P-1)
#line 1362 "regression-compile-tmp/imp918s.imp"
LINE = A[(((unsigned char)((((int)(P)) - (1)))) + (7))];
                                                                //   1363           LOCAL BASE=0; TWSPHEAD=0
#line 1363 "regression-compile-tmp/imp918s.imp"
LOCALBASE = 0;
#line 1363 "regression-compile-tmp/imp918s.imp"
TWSPHEAD = 0;
                                                                //   1364           STARTCOND=0; CURRINST=0
#line 1364 "regression-compile-tmp/imp918s.imp"
STARTCOND = 0;
#line 1364 "regression-compile-tmp/imp918s.imp"
CURRINST = 0;
                                                                //   1365           CYC BITS=0; BIMSTR=0
#line 1365 "regression-compile-tmp/imp918s.imp"
CYCBITS = 0;
#line 1365 "regression-compile-tmp/imp918s.imp"
BIMSTR = 0;
                                                                //   1366           SENOPS=0; SEFOP=0
#line 1366 "regression-compile-tmp/imp918s.imp"
SENOPS = 0;
#line 1366 "regression-compile-tmp/imp918s.imp"
SEFOP = 0;
                                                                //   1367  !
                                                                //   1368  ! CHECK THERE ARE SOME CELLS LEFT ON THE AVAILABLE SPACE LIST
                                                                //   1369  !
                                                                //   1370           %IF ASL<200 %AND CSSMODE#0 %THEN %START;! GARBAGE COLLECT NEEDED
#line 1370 "regression-compile-tmp/imp918s.imp"
if (((ASL) >= (200))) goto L_00a1;
#line 1370 "regression-compile-tmp/imp918s.imp"
if (((CSSMODE) == (0))) goto L_00a1;
                                                                //   1371              %IF PRINTMAP=1 %THEN printstring("
#line 1371 "regression-compile-tmp/imp918s.imp"
if (((PRINTMAP) != (1))) goto L_00a2;
#line 1371 "regression-compile-tmp/imp918s.imp"
_imp_PRINTSTRING(_imp_str_literal("\n?      LIST SPACE"));
#line 1371 "regression-compile-tmp/imp918s.imp"
L_00a2:;
                                                                //   1372  ?      LIST SPACE")
                                                                //   1373              %IF ASL<200 %THEN %START; ! STILL SHORT OF SPACE
#line 1373 "regression-compile-tmp/imp918s.imp"
if (((ASL) >= (200))) goto L_00a3;
                                                                //   1374                 printstring("?")
#line 1374 "regression-compile-tmp/imp918s.imp"
_imp_PRINTSTRING(_imp_str_literal("?"));
                                                                //   1375                 CLEAR LIST(DVHEAD);    ! REMOVE LIST OF SHAREABLE D-VS
#line 1375 "regression-compile-tmp/imp918s.imp"
CLEARLIST(&DVHEAD);
                                                                //   1376                 CLEAR LIST(CONSTL8);   ! AND SHAREABLE LONG CONSTANTS
#line 1376 "regression-compile-tmp/imp918s.imp"
CLEARLIST(&CONSTL8);
                                                                //   1377                 CLEAR LIST(CONSTL6)
#line 1377 "regression-compile-tmp/imp918s.imp"
CLEARLIST(&CONSTL6);
                                                                //   1378                 %IF ASL<200 %THEN %START
#line 1378 "regression-compile-tmp/imp918s.imp"
if (((ASL) >= (200))) goto L_00a4;
                                                                //   1379                    printstring("?")
#line 1379 "regression-compile-tmp/imp918s.imp"
_imp_PRINTSTRING(_imp_str_literal("?"));
                                                                //   1380                    CLEAR LIST(CONSTL4);! & INTEGER CONSTANTS
#line 1380 "regression-compile-tmp/imp918s.imp"
CLEARLIST(&CONSTL4);
                                                                //   1381                    CLEAR LIST(CONSTL2);! & SHORT INT CONSTANTS
#line 1381 "regression-compile-tmp/imp918s.imp"
CLEARLIST(&CONSTL2);
                                                                //   1382                 %FINISH
#line 1382 "regression-compile-tmp/imp918s.imp"
L_00a4:;
                                                                //   1383              %FINISH
#line 1383 "regression-compile-tmp/imp918s.imp"
L_00a3:;
                                                                //   1384           %FINISH
#line 1384 "regression-compile-tmp/imp918s.imp"
L_00a1:;
                                                                //   1385           OLDI=0; ->SW(A(P))
#line 1385 "regression-compile-tmp/imp918s.imp"
OLDI = 0;
#line 1385 "regression-compile-tmp/imp918s.imp"
sw2_SW_idx = A[((P) + ((int)(7)))]; if ((1 <= sw2_SW_idx) && (sw2_SW_idx <= 30)) goto *(sw2_SW-1)[sw2_SW_idx];  /* Bounds=1:30 */ else {
   /*_imp_signal(8, 2, sw2_SW_idx);*/
   fprintf(stderr, "%%SWITCH index SW(%d) not in range 1:30 at %s:%d\n",
           sw2_SW_idx, (_imp_current_file != 0 ? _imp_current_file : __FILE__),
           (_imp_current_line != 0 ? _imp_current_line : __LINE__));
           exit(1);
}
                                                                //   1386  SW(23):
#line 1386 "regression-compile-tmp/imp918s.imp"
sw2_SW_23:;
                                                                //   1387           WARN(LINE)
#line 1387 "regression-compile-tmp/imp918s.imp"
WARN(LINE);
                                                                //   1388           SBFLAG=1 %IF CHECKSP=0;       ! '{%SHORTROUTINE}'
#line 1388 "regression-compile-tmp/imp918s.imp"
if (((CHECKSP) != (0))) goto L_00a5;
#line 1388 "regression-compile-tmp/imp918s.imp"
SBFLAG = 1;
#line 1388 "regression-compile-tmp/imp918s.imp"
L_00a5:;
                                                                //   1389  !
                                                                //   1390  Label1:       LAST INST=CURR INST
#line 1390 "regression-compile-tmp/imp918s.imp"
U_100f:;
#line 1390 "regression-compile-tmp/imp918s.imp"
LASTINST = CURRINST;
                                                                //   1391           %WHILE TWSPHEAD#0 %CYCLE
#line 1391 "regression-compile-tmp/imp918s.imp"
L_00a6:;
#line 1391 "regression-compile-tmp/imp918s.imp"
if (((TWSPHEAD) == (0))) goto L_00a7;
                                                                //   1392              POP(TWSPHEAD,JJ,KK)
#line 1392 "regression-compile-tmp/imp918s.imp"
POP(&TWSPHEAD, &JJ, &KK);
                                                                //   1393              RETURN WSP(JJ,KK)
#line 1393 "regression-compile-tmp/imp918s.imp"
RETURNWSP(JJ, KK);
                                                                //   1394          %REPEAT
#line 1394 "regression-compile-tmp/imp918s.imp"
goto L_00a6;
#line 1394 "regression-compile-tmp/imp918s.imp"
L_00a7:;
                                                                //   1395  SW(29):                               ! REDUNDANT SEP
#line 1395 "regression-compile-tmp/imp918s.imp"
sw2_SW_29:;
                                                                //   1396  SW(10):                               ! <CMARK> <COMMENT TEXT>
#line 1396 "regression-compile-tmp/imp918s.imp"
sw2_SW_10:;
                                                                //   1397  !         %CYCLE I=10,1,13
                                                                //   1398  !              ABORT %UNLESS REGISTER(I)=-1
                                                                //   1399  !         %REPEAT
                                                                //   1400           %RETURN
#line 1400 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   1401  SW(1):   MARKER2=P+1+A(P+1); P=P+2
#line 1401 "regression-compile-tmp/imp918s.imp"
sw2_SW_1:;
#line 1401 "regression-compile-tmp/imp918s.imp"
MARKER2 = (((short)((((int)(P)) + (1)))) + (A[(((unsigned char)((((int)(P)) + (1)))) + (7))]));
#line 1401 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (2));
                                                                //   1402           ->LABFND %IF A(MARKER2)=1
#line 1402 "regression-compile-tmp/imp918s.imp"
if (((A[((MARKER2) + ((int)(7)))]) != (1))) goto L_00a9;
#line 1402 "regression-compile-tmp/imp918s.imp"
goto U_1010;
#line 1402 "regression-compile-tmp/imp918s.imp"
L_00a9:;
                                                                //   1403           SET LINE %IF LINENOS#0
#line 1403 "regression-compile-tmp/imp918s.imp"
if (((LINENOS) == (0))) goto L_00aa;
#line 1403 "regression-compile-tmp/imp918s.imp"
SETLINE();
#line 1403 "regression-compile-tmp/imp918s.imp"
L_00aa:;
                                                                //   1404           ->Label101 %IF A(MARKER2)<=3
#line 1404 "regression-compile-tmp/imp918s.imp"
if (((A[((MARKER2) + ((int)(7)))]) > (3))) goto L_00ab;
#line 1404 "regression-compile-tmp/imp918s.imp"
goto U_1011;
#line 1404 "regression-compile-tmp/imp918s.imp"
L_00ab:;
                                                                //   1405           MASK=15; CUI(0); ->Label1
#line 1405 "regression-compile-tmp/imp918s.imp"
MASK = 15;
#line 1405 "regression-compile-tmp/imp918s.imp"
CUI(0);
#line 1405 "regression-compile-tmp/imp918s.imp"
goto U_100f;
                                                                //   1406  LABFND:  ->SWITCH %UNLESS A(P)<2 %AND A(P+3)=2;! 1ST ALT UI & NO APP
#line 1406 "regression-compile-tmp/imp918s.imp"
U_1010:;
#line 1406 "regression-compile-tmp/imp918s.imp"
if (((A[((P) + ((int)(7)))]) >= (2))) goto L_00a8;
#line 1406 "regression-compile-tmp/imp918s.imp"
if (((A[(((unsigned char)((((int)(P)) + (3)))) + (7))]) == (2))) goto L_00ac;
#line 1406 "regression-compile-tmp/imp918s.imp"
L_00a8:;
#line 1406 "regression-compile-tmp/imp918s.imp"
goto U_1012;
#line 1406 "regression-compile-tmp/imp918s.imp"
L_00ac:;
                                                                //   1407           ->SWITCH %UNLESS A(P+4)=2 %AND A(P+5)=2;! NO ENAME OR ASSOP
#line 1407 "regression-compile-tmp/imp918s.imp"
if (((A[(((unsigned char)((((int)(P)) + (4)))) + (7))]) != (2))) goto L_00ad;
#line 1407 "regression-compile-tmp/imp918s.imp"
if (((A[(((unsigned char)((((int)(P)) + (5)))) + (7))]) == (2))) goto L_00ae;
#line 1407 "regression-compile-tmp/imp918s.imp"
L_00ad:;
#line 1407 "regression-compile-tmp/imp918s.imp"
goto U_1012;
#line 1407 "regression-compile-tmp/imp918s.imp"
L_00ae:;
                                                                //   1408           K=16384+A(P+2); ->Label401
#line 1408 "regression-compile-tmp/imp918s.imp"
K = ((16384) + ((int)(A[(((unsigned char)((((int)(P)) + (2)))) + (7))])));
#line 1408 "regression-compile-tmp/imp918s.imp"
goto U_1013;
                                                                //   1409  Label101:     MARKE=0; MARKR=0
#line 1409 "regression-compile-tmp/imp918s.imp"
U_1011:;
#line 1409 "regression-compile-tmp/imp918s.imp"
MARKE = 0;
#line 1409 "regression-compile-tmp/imp918s.imp"
MARKR = 0;
                                                                //   1410           MARKUI=P; MARKIU=MARKER2+1;MARKC=MARKIU+1
#line 1410 "regression-compile-tmp/imp918s.imp"
MARKUI = P;
#line 1410 "regression-compile-tmp/imp918s.imp"
MARKIU = (((int)(MARKER2)) + (1));
#line 1410 "regression-compile-tmp/imp918s.imp"
MARKC = (((int)(MARKIU)) + (1));
                                                                //   1411           -> CONEXP %IF A(MARKER2)=2; ->WHILE
#line 1411 "regression-compile-tmp/imp918s.imp"
if (((A[((MARKER2) + ((int)(7)))]) != (2))) goto L_00af;
#line 1411 "regression-compile-tmp/imp918s.imp"
goto U_1014;
#line 1411 "regression-compile-tmp/imp918s.imp"
L_00af:;
#line 1411 "regression-compile-tmp/imp918s.imp"
goto U_1015;
                                                                //   1412  !
                                                                //   1413  SW(2):                                 ! %CYCLE
#line 1413 "regression-compile-tmp/imp918s.imp"
sw2_SW_2:;
                                                                //   1414  !***********************************************************************
                                                                //   1415  !*       THE LAYOUT OF AN ENTRY ON THE CYCLE LIST IS:-                 *
                                                                //   1416  !*        S1= CNAME<<16!LABEL N0                                       *
                                                                //   1417  !*        S2= EL<<16!BXLE<<15! CYCLE WORK AREA DISPLACEMENT FROM RBASE *
                                                                //   1418  !*        S3= BREG    (THE REGISTER USED FOR INCREMENT AND FINAL VALUE)*
                                                                //   1419  !*        WHERE :-                                                     *
                                                                //   1420  !*        CNAME= CYCLE CONTROL NAME(IF SIMPLE SCALAR) OR               *
                                                                //   1421  !*                      X'3000'!CYCLE NUM FOR CHECKED OR COMPLEX CYCLES*
                                                                //   1422  !*        LABEL= NO OF INTERNAL LABEL FOR REPEAT TO JUMP TO            *
                                                                //   1423  !*        BXLE=1 IF 'BXLE' CAN BE USED (IE INCREMENT +VE) ,=0 OTHERWISE*
                                                                //   1424  !*          EL=LABEL NO FOR EXIT STATEMENT (TOP BIT SET WHEN USED)     *
                                                                //   1425  !***********************************************************************
                                                                //   1426           %BEGIN
#line 1426 "regression-compile-tmp/imp918s.imp"
void _BLOCK_3_LEVEL_2_(void) {
                                                                //   1427           {%SHORTROUTINE}
                                                                //   1428           %INTEGER PP,Q,INC,NAME,TNAME,PASS,WSPL,CFLAG,BREG,OPEN,CREG
#line 1428 "regression-compile-tmp/imp918s.imp"
int PP;
#line 1428 "regression-compile-tmp/imp918s.imp"
int Q;
#line 1428 "regression-compile-tmp/imp918s.imp"
int INC;
#line 1428 "regression-compile-tmp/imp918s.imp"
int NAME;
#line 1428 "regression-compile-tmp/imp918s.imp"
int TNAME;
#line 1428 "regression-compile-tmp/imp918s.imp"
int PASS;
#line 1428 "regression-compile-tmp/imp918s.imp"
int WSPL;
#line 1428 "regression-compile-tmp/imp918s.imp"
int CFLAG;
#line 1428 "regression-compile-tmp/imp918s.imp"
int BREG;
#line 1428 "regression-compile-tmp/imp918s.imp"
int OPEN;
#line 1428 "regression-compile-tmp/imp918s.imp"
int CREG;
                                                                //   1429           SET LINE
#line 1429 "regression-compile-tmp/imp918s.imp"
SETLINE();
                                                                //   1430           CUR CYC VAR=0; CYC REGS=0
#line 1430 "regression-compile-tmp/imp918s.imp"
CURCYCVAR = 0;
#line 1430 "regression-compile-tmp/imp918s.imp"
CYCREGS = 0;
                                                                //   1431           BXLE=0; INC=0; BREG=2; CREG=1;    ! DEFAULTS
#line 1431 "regression-compile-tmp/imp918s.imp"
BXLE = 0;
#line 1431 "regression-compile-tmp/imp918s.imp"
INC = 0;
#line 1431 "regression-compile-tmp/imp918s.imp"
BREG = 2;
#line 1431 "regression-compile-tmp/imp918s.imp"
CREG = 1;
                                                                //   1432           OPEN=A(P+1)-1; P=P+2; PP=P
#line 1432 "regression-compile-tmp/imp918s.imp"
OPEN = (((int)(A[(((unsigned char)((((int)(P)) + (1)))) + (7))])) - (1));
#line 1432 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (2));
#line 1432 "regression-compile-tmp/imp918s.imp"
PP = P;
                                                                //   1433           %IF OPEN #0 %THEN %START
#line 1433 "regression-compile-tmp/imp918s.imp"
if (((OPEN) == (0))) goto L_00b0;
                                                                //   1434              CYCOPT(CFLAG,2) %IF CHECKSP=0
#line 1434 "regression-compile-tmp/imp918s.imp"
if (((CHECKSP) != (0))) goto L_00b1;
#line 1434 "regression-compile-tmp/imp918s.imp"
CYCOPT(&CFLAG, 2);
#line 1434 "regression-compile-tmp/imp918s.imp"
L_00b1:;
                                                                //   1435              PASS=X'10000000'
#line 1435 "regression-compile-tmp/imp918s.imp"
PASS = 268435456;
                                                                //   1436           %FINISH %ELSE %START
#line 1436 "regression-compile-tmp/imp918s.imp"
goto L_00b2;
#line 1436 "regression-compile-tmp/imp918s.imp"
L_00b0:;
                                                                //   1437              NAME=A(P); TNAME = TAGS(NAME)
#line 1437 "regression-compile-tmp/imp918s.imp"
NAME = A[((P) + ((int)(7)))];
#line 1437 "regression-compile-tmp/imp918s.imp"
TNAME = TAGS[NAME];
                                                                //   1438              COPY TAG (NAME)
#line 1438 "regression-compile-tmp/imp918s.imp"
COPYTAG(NAME);
                                                                //   1439              FAULT(25,NAME) %UNLESS TYPE=1 %AND PREC=0
#line 1439 "regression-compile-tmp/imp918s.imp"
if (((TYPE) != (1))) goto L_00b3;
#line 1439 "regression-compile-tmp/imp918s.imp"
if (((PREC) == (0))) goto L_00b4;
#line 1439 "regression-compile-tmp/imp918s.imp"
L_00b3:;
#line 1439 "regression-compile-tmp/imp918s.imp"
FAULT(25, NAME);
#line 1439 "regression-compile-tmp/imp918s.imp"
L_00b4:;
                                                                //   1440              %IF A(P+1)=2=A(P+2)%AND UNASS=0%AND CHECKSP=0 %AND %C
#line 1440 "regression-compile-tmp/imp918s.imp"
if ((((A[(((unsigned char)((((int)(P)) + (1)))) + (7))]) != (2))) || (((2) != (A[(((unsigned char)((((int)(P)) + (2)))) + (7))])))) goto L_00b5;
#line 1440 "regression-compile-tmp/imp918s.imp"
if (((UNASS) != (0))) goto L_00b5;
#line 1440 "regression-compile-tmp/imp918s.imp"
if (((CHECKSP) != (0))) goto L_00b5;
#line 1440 "regression-compile-tmp/imp918s.imp"
if (((NAM) != (0))) goto L_00b5;
#line 1440 "regression-compile-tmp/imp918s.imp"
if (((K) >= (4095))) goto L_00b5;
                                                                //   1441                   NAM=0 %AND K<4095 %THEN %START;! CONTROL A LOCAL SCALAR
                                                                //   1442                 WSPL=2; P=P+3; PASS= NAME<<16
#line 1442 "regression-compile-tmp/imp918s.imp"
WSPL = 2;
#line 1442 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (3));
#line 1442 "regression-compile-tmp/imp918s.imp"
PASS = ((NAME) << (16));
                                                                //   1443                 CUR CYC VAR=NAME
#line 1443 "regression-compile-tmp/imp918s.imp"
CURCYCVAR = NAME;
                                                                //   1444                 Q=P; FFLAG=0;
#line 1444 "regression-compile-tmp/imp918s.imp"
Q = P;
#line 1444 "regression-compile-tmp/imp918s.imp"
FFLAG = 0;
                                                                //   1445                 SKIP EXP; SKIP EXP; SKIP EXP
#line 1445 "regression-compile-tmp/imp918s.imp"
SKIPEXP();
#line 1445 "regression-compile-tmp/imp918s.imp"
SKIPEXP();
#line 1445 "regression-compile-tmp/imp918s.imp"
SKIPEXP();
                                                                //   1446                 P=Q;                        ! CHECK FNS IN CNTRL EXPRSNS
#line 1446 "regression-compile-tmp/imp918s.imp"
P = Q;
                                                                //   1447                 CYCOPT(CFLAG,0)
#line 1447 "regression-compile-tmp/imp918s.imp"
CYCOPT(&CFLAG, 0);
                                                                //   1448                 P=Q
#line 1448 "regression-compile-tmp/imp918s.imp"
P = Q;
                                                                //   1449                 %IF CFLAG=0 %THEN CUR CYC VAR=0
#line 1449 "regression-compile-tmp/imp918s.imp"
if (((CFLAG) != (0))) goto L_00b6;
#line 1449 "regression-compile-tmp/imp918s.imp"
CURCYCVAR = 0;
#line 1449 "regression-compile-tmp/imp918s.imp"
L_00b6:;
                                                                //   1450                 %IF CFLAG>0 %THEN BREG=CFLAG&15
#line 1450 "regression-compile-tmp/imp918s.imp"
if (((CFLAG) <= (0))) goto L_00b7;
#line 1450 "regression-compile-tmp/imp918s.imp"
BREG = ((CFLAG) & (15));
#line 1450 "regression-compile-tmp/imp918s.imp"
L_00b7:;
                                                                //   1451                 COPYTAG(NAME)
#line 1451 "regression-compile-tmp/imp918s.imp"
COPYTAG(NAME);
                                                                //   1452                 %IF PTYPE=8 %THEN CREG=K
#line 1452 "regression-compile-tmp/imp918s.imp"
if (((PTYPE) != (8))) goto L_00b8;
#line 1452 "regression-compile-tmp/imp918s.imp"
CREG = K;
#line 1452 "regression-compile-tmp/imp918s.imp"
L_00b8:;
                                                                //   1453              %FINISH %ELSE %START;    ! CONTROL NAMETYPE OR ARRAY ELEMENT
#line 1453 "regression-compile-tmp/imp918s.imp"
goto L_00b9;
#line 1453 "regression-compile-tmp/imp918s.imp"
L_00b5:;
                                                                //   1454                 CYCLE NUM=CYCLE NUM+1
#line 1454 "regression-compile-tmp/imp918s.imp"
CYCLENUM = (((int)(CYCLENUM)) + (1));
                                                                //   1455                 PASS=X'30000000'!CYCLE NUM<<16
#line 1455 "regression-compile-tmp/imp918s.imp"
PASS = ((805306368) | (((CYCLENUM) << (16))));
                                                                //   1456                 WSPL=3; CNAME(3,4)
#line 1456 "regression-compile-tmp/imp918s.imp"
WSPL = 3;
#line 1456 "regression-compile-tmp/imp918s.imp"
CNAME(3, 4);
                                                                //   1457                 REGISTER(4)=1
#line 1457 "regression-compile-tmp/imp918s.imp"
REGISTER[4] = 1;
                                                                //   1458              %FINISH
#line 1458 "regression-compile-tmp/imp918s.imp"
L_00b9:;
                                                                //   1459              %IF BREG=2 %THEN %START;    ! REGISTER PAIR NOT AVAILABLE
#line 1459 "regression-compile-tmp/imp918s.imp"
if (((BREG) != (2))) goto L_00ba;
                                                                //   1460                 GET WSP(INC,WSPL);       ! WORKAREA TO INC
#line 1460 "regression-compile-tmp/imp918s.imp"
GETWSP(&INC, WSPL);
                                                                //   1461                 POP(TWSPHEAD,JJ,KK);     ! MUST NOT BE FREED BEFORE REPEAT
#line 1461 "regression-compile-tmp/imp918s.imp"
POP(&TWSPHEAD, &JJ, &KK);
                                                                //   1462              %FINISH
#line 1462 "regression-compile-tmp/imp918s.imp"
L_00ba:;
                                                                //   1463              Q=P; SKIP EXP; JJ=P;        ! Q TO 1ST EXP, JJ TO SECOND
#line 1463 "regression-compile-tmp/imp918s.imp"
Q = P;
#line 1463 "regression-compile-tmp/imp918s.imp"
SKIPEXP();
#line 1463 "regression-compile-tmp/imp918s.imp"
JJ = P;
                                                                //   1464              BXLE=1 %IF (3900>CA-CODEBASE %OR CYC BASE#0) %C
#line 1464 "regression-compile-tmp/imp918s.imp"
if (((3900) > ((((int)(CA)) - (CODEBASE))))) goto L_00bb;
#line 1464 "regression-compile-tmp/imp918s.imp"
if (((CYCBASE) == (0))) goto L_00bc;
#line 1464 "regression-compile-tmp/imp918s.imp"
L_00bb:;
#line 1464 "regression-compile-tmp/imp918s.imp"
if (({int tmp1 = 1, tmp2 = TSEXP(&JJJ, 0), tmp3 = 2; (tmp1 > tmp2) || (tmp2 > tmp3);})) goto L_00bc;
#line 1464 "regression-compile-tmp/imp918s.imp"
if (((TYPE) != (1))) goto L_00bc;
#line 1464 "regression-compile-tmp/imp918s.imp"
BXLE = 1;
#line 1464 "regression-compile-tmp/imp918s.imp"
L_00bc:;
                                                                //   1465                          %AND 1<=TSEXP (JJJ,0)<=2 %AND TYPE=1
                                                                //   1466              P=JJ
#line 1466 "regression-compile-tmp/imp918s.imp"
P = JJ;
                                                                //   1467  !
                                                                //   1468  ! LOAD INCREMENT AND FINAL TO BREG & BREG+1 UNLESS THIS HAS BEEN
                                                                //   1469  ! DONE BY THE LOOP OPTIMISING
                                                                //   1470  !
                                                                //   1471              DSEXP(BREG,0) %UNLESS BREG>2 %AND GRUSE(BREG)=14
#line 1471 "regression-compile-tmp/imp918s.imp"
if (((BREG) <= (2))) goto L_00bd;
#line 1471 "regression-compile-tmp/imp918s.imp"
if (((GRUSE[BREG]) == (14))) goto L_00be;
#line 1471 "regression-compile-tmp/imp918s.imp"
L_00bd:;
#line 1471 "regression-compile-tmp/imp918s.imp"
DSEXP(BREG, 0);
#line 1471 "regression-compile-tmp/imp918s.imp"
L_00be:;
                                                                //   1472              %IF BREG=2 %THEN DUMPM(X'90',2,WSPL+1,RBASE,INC);! STORE PARAMS
#line 1472 "regression-compile-tmp/imp918s.imp"
if (((BREG) != (2))) goto L_00bf;
#line 1472 "regression-compile-tmp/imp918s.imp"
DUMPM(144, 2, (((int)(WSPL)) + (1)), RBASE, INC);
#line 1472 "regression-compile-tmp/imp918s.imp"
L_00bf:;
                                                                //   1473              DUMPSI(X'92',CYCLE NUM&255,RBASE,INC+8) %IF UNASS=1
#line 1473 "regression-compile-tmp/imp918s.imp"
if (((UNASS) != (1))) goto L_00c0;
#line 1473 "regression-compile-tmp/imp918s.imp"
DUMPSI(146, ((CYCLENUM) & (255)), RBASE, (((int)(INC)) + (8)));
#line 1473 "regression-compile-tmp/imp918s.imp"
L_00c0:;
                                                                //   1474              %CYCLE KK=BREG,1,BREG+WSPL-1
#line 1474 "regression-compile-tmp/imp918s.imp"
{static int _initial, _increment, _final, _control;
_initial = BREG; _increment = 1; _final = (((int)((((int)(BREG)) + (WSPL)))) - (1)); KK = _control = _initial;
if (((_final-_initial) % _increment) != 0) _imp_signal(5,1,0,"Illegal cycle KK = BREG, 1, (((int)((((int)(BREG)) + (WSPL)))) - (1))");
KK -= _increment; _control -= _increment;
L_00c1:;
if (KK == _final) goto L_00c2;
KK += _increment; _control += _increment;
if (KK != _control) _imp_signal(4,2,0,"Corrupt control variable KK"); /* FOR loop control variable corrupted */
}
                                                                //   1475                  %IF KK<4 %AND REGISTER(KK)>0 %THEN REGISTER(KK)=0
#line 1475 "regression-compile-tmp/imp918s.imp"
if (((KK) >= (4))) goto L_00c4;
#line 1475 "regression-compile-tmp/imp918s.imp"
if (((REGISTER[KK]) <= (0))) goto L_00c4;
#line 1475 "regression-compile-tmp/imp918s.imp"
REGISTER[KK] = 0;
#line 1475 "regression-compile-tmp/imp918s.imp"
L_00c4:;
                                                                //   1476                  %IF CFLAG=0 %THEN FORGET(KK) %ELSE SET USE(KK,14,TNAME)
#line 1476 "regression-compile-tmp/imp918s.imp"
if (((CFLAG) != (0))) goto L_00c5;
#line 1476 "regression-compile-tmp/imp918s.imp"
FORGET(KK);
#line 1476 "regression-compile-tmp/imp918s.imp"
goto L_00c6;
#line 1476 "regression-compile-tmp/imp918s.imp"
L_00c5:;
#line 1476 "regression-compile-tmp/imp918s.imp"
SETUSE(KK, 14, TNAME);
#line 1476 "regression-compile-tmp/imp918s.imp"
L_00c6:;
                                                                //   1477              %REPEAT
#line 1477 "regression-compile-tmp/imp918s.imp"
goto L_00c1;
#line 1477 "regression-compile-tmp/imp918s.imp"
L_00c2:;
                                                                //   1478              P=Q; CSEXP(CREG,1)
#line 1478 "regression-compile-tmp/imp918s.imp"
P = Q;
#line 1478 "regression-compile-tmp/imp918s.imp"
CSEXP(CREG, 1);
                                                                //   1479              FORGET(CREG);                 ! BEFORE PPJ TO AVOID A BOOTOUT
#line 1479 "regression-compile-tmp/imp918s.imp"
FORGET(CREG);
                                                                //   1480              REGISTER(CREG)=1
#line 1480 "regression-compile-tmp/imp918s.imp"
REGISTER[CREG] = 1;
                                                                //   1481              %IF CHECKSP=1 %THEN  DUMP(0,2,INC,0,RBASE);! LA 2, CYCLE PARAMS
#line 1481 "regression-compile-tmp/imp918s.imp"
if (((CHECKSP) != (1))) goto L_00c7;
#line 1481 "regression-compile-tmp/imp918s.imp"
DUMP(0, 2, INC, 0, RBASE);
#line 1481 "regression-compile-tmp/imp918s.imp"
L_00c7:;
                                                                //   1482              REGISTER(CREG)=0; MONE=1
#line 1482 "regression-compile-tmp/imp918s.imp"
REGISTER[CREG] = 0;
#line 1482 "regression-compile-tmp/imp918s.imp"
MONE = 1;
                                                                //   1483              %IF CHECKSP=1 %THEN PPJ(17);! CHECK VALIDITY
#line 1483 "regression-compile-tmp/imp918s.imp"
if (((CHECKSP) != (1))) goto L_00c8;
#line 1483 "regression-compile-tmp/imp918s.imp"
PPJ(17);
#line 1483 "regression-compile-tmp/imp918s.imp"
L_00c8:;
                                                                //   1484           %FINISH
#line 1484 "regression-compile-tmp/imp918s.imp"
L_00b2:;
                                                                //   1485           PLABEL=PLABEL-1; PASS=PASS!PLABEL
#line 1485 "regression-compile-tmp/imp918s.imp"
PLABEL = (((int)(PLABEL)) - (1));
#line 1485 "regression-compile-tmp/imp918s.imp"
PASS = ((PASS) | (PLABEL));
                                                                //   1486           PUSH123(LABEL(LEVEL),CA,0,PLABEL);! STORE LABEL
#line 1486 "regression-compile-tmp/imp918s.imp"
PUSH123(&LABEL[LEVEL], CA, 0, PLABEL);
                                                                //   1487           CCSTATE=-1; LCA=0
#line 1487 "regression-compile-tmp/imp918s.imp"
CCSTATE = (-1);
#line 1487 "regression-compile-tmp/imp918s.imp"
LCA = 0;
                                                                //   1488           %IF OPEN#0 %THEN %START
#line 1488 "regression-compile-tmp/imp918s.imp"
if (((OPEN) == (0))) goto L_00c9;
                                                                //   1489              PLABEL=PLABEL-1
#line 1489 "regression-compile-tmp/imp918s.imp"
PLABEL = (((int)(PLABEL)) - (1));
                                                                //   1490              FORGETM(14)
#line 1490 "regression-compile-tmp/imp918s.imp"
FORGETM(14);
                                                                //   1491           %FINISH %ELSE %START
#line 1491 "regression-compile-tmp/imp918s.imp"
goto L_00ca;
#line 1491 "regression-compile-tmp/imp918s.imp"
L_00c9:;
                                                                //   1492              %CYCLE JJ=0,1,22
#line 1492 "regression-compile-tmp/imp918s.imp"
JJ = (-1);
if ((((22)-(0)) % (1)) != 0) _imp_signal(5,1,0,"Illegal cycle JJ = 0, 1, 22");
L_00cb:;
if (JJ == 22) goto L_00cc;
JJ += 1;
                                                                //   1493                 FORGET(JJ) %IF REGISTER(JJ)=0 %AND GRUSE(JJ)#14
#line 1493 "regression-compile-tmp/imp918s.imp"
if (((REGISTER[JJ]) != (0))) goto L_00ce;
#line 1493 "regression-compile-tmp/imp918s.imp"
if (((GRUSE[JJ]) == (14))) goto L_00ce;
#line 1493 "regression-compile-tmp/imp918s.imp"
FORGET(JJ);
#line 1493 "regression-compile-tmp/imp918s.imp"
L_00ce:;
                                                                //   1494              %REPEAT
#line 1494 "regression-compile-tmp/imp918s.imp"
goto L_00cb;
#line 1494 "regression-compile-tmp/imp918s.imp"
L_00cc:;
                                                                //   1495              %IF WSPL=3 %THEN %START
#line 1495 "regression-compile-tmp/imp918s.imp"
if (((WSPL) != (3))) goto L_00cf;
                                                                //   1496                 DUMP(1,1,0,0,4)
#line 1496 "regression-compile-tmp/imp918s.imp"
DUMP(1, 1, 0, 0, 4);
                                                                //   1497                 REGISTER(4)=0
#line 1497 "regression-compile-tmp/imp918s.imp"
REGISTER[4] = 0;
                                                                //   1498              %FINISH %ELSE %START
#line 1498 "regression-compile-tmp/imp918s.imp"
goto L_00d0;
#line 1498 "regression-compile-tmp/imp918s.imp"
L_00cf:;
                                                                //   1499                 %IF CREG=1 %THEN %START
#line 1499 "regression-compile-tmp/imp918s.imp"
if (((CREG) != (1))) goto L_00d1;
                                                                //   1500                    P=PP; CNAME(1,1)
#line 1500 "regression-compile-tmp/imp918s.imp"
P = PP;
#line 1500 "regression-compile-tmp/imp918s.imp"
CNAME(1, 1);
                                                                //   1501                    DUMP(1,1,DISP,INDEX,BASE)
#line 1501 "regression-compile-tmp/imp918s.imp"
DUMP(1, 1, DISP, INDEX, BASE);
                                                                //   1502                 %FINISH
#line 1502 "regression-compile-tmp/imp918s.imp"
L_00d1:;
                                                                //   1503                 NOTE ASSMENT(CREG,2,NAME)
#line 1503 "regression-compile-tmp/imp918s.imp"
NOTEASSMENT(CREG, 2, NAME);
                                                                //   1504                 %IF CREG#1 %THEN REGISTER(CREG)=-1
#line 1504 "regression-compile-tmp/imp918s.imp"
if (((CREG) == (1))) goto L_00d2;
#line 1504 "regression-compile-tmp/imp918s.imp"
REGISTER[CREG] = (-1);
#line 1504 "regression-compile-tmp/imp918s.imp"
L_00d2:;
                                                                //   1505              %FINISH
#line 1505 "regression-compile-tmp/imp918s.imp"
L_00d0:;
                                                                //   1506              INC=INC!BXLE<<15
#line 1506 "regression-compile-tmp/imp918s.imp"
INC = ((INC) | (((BXLE) << (15))));
                                                                //   1507           %FINISH
#line 1507 "regression-compile-tmp/imp918s.imp"
L_00ca:;
                                                                //   1508           XLABEL=XLABEL-1
#line 1508 "regression-compile-tmp/imp918s.imp"
XLABEL = (((int)(XLABEL)) - (1));
                                                                //   1509           PUSH123(CYCLE(LEVEL),PASS,XLABEL<<16!INC,CREG<<16!BREG)
#line 1509 "regression-compile-tmp/imp918s.imp"
PUSH123(&CYCLE[LEVEL], PASS, ((((XLABEL) << (16))) | (INC)), ((((CREG) << (16))) | (BREG)));
                                                                //   1510           %END; ->Label1
#line 1510 "regression-compile-tmp/imp918s.imp"
return;
} // End of block _BLOCK_3_LEVEL_2_ at level 3
_BLOCK_3_LEVEL_2_();
#line 1510 "regression-compile-tmp/imp918s.imp"
goto U_100f;
                                                                //   1511  !
                                                                //   1512   SW(3):        !REPEAT
#line 1512 "regression-compile-tmp/imp918s.imp"
sw2_SW_3:;
                                                                //   1513           %BEGIN
#line 1513 "regression-compile-tmp/imp918s.imp"
void _BLOCK_4_LEVEL_2_(void) {
                                                                //   1514           {%SHORTROUTINE}
                                                                //   1515  %INTEGER NAME,TOPREG,CNUM,DSP,WSPL,LAB,KK,BREG,ELABEL,EUSED,CREG
#line 1515 "regression-compile-tmp/imp918s.imp"
int NAME;
#line 1515 "regression-compile-tmp/imp918s.imp"
int TOPREG;
#line 1515 "regression-compile-tmp/imp918s.imp"
int CNUM;
#line 1515 "regression-compile-tmp/imp918s.imp"
int DSP;
#line 1515 "regression-compile-tmp/imp918s.imp"
int WSPL;
#line 1515 "regression-compile-tmp/imp918s.imp"
int LAB;
#line 1515 "regression-compile-tmp/imp918s.imp"
int KK;
#line 1515 "regression-compile-tmp/imp918s.imp"
int BREG;
#line 1515 "regression-compile-tmp/imp918s.imp"
int ELABEL;
#line 1515 "regression-compile-tmp/imp918s.imp"
int EUSED;
#line 1515 "regression-compile-tmp/imp918s.imp"
int CREG;
                                                                //   1516  %SHORTINTEGER HEAD
#line 1516 "regression-compile-tmp/imp918s.imp"
short HEAD;
                                                                //   1517  %SWITCH CTYPE(0:3)
#line 1517 "regression-compile-tmp/imp918s.imp"
static int sw3_CTYPE_idx;
static const void * /*SWITCH*/ sw3_CTYPE[4] = { &&sw3_CTYPE_0, &&sw3_CTYPE_1, &&sw3_CTYPE_2, &&sw3_CTYPE_3,  };
                                                                //   1518           SET LINE
#line 1518 "regression-compile-tmp/imp918s.imp"
SETLINE();
                                                                //   1519           %IF -1<=FROM1(CYCLE(LEVEL))<=0 %THEN FAULT(1,0) %AND ->Label1
#line 1519 "regression-compile-tmp/imp918s.imp"
if (({int tmp1 = (-1), tmp2 = FROM1(CYCLE[LEVEL]), tmp3 = 0; (tmp1 > tmp2) || (tmp2 > tmp3);})) goto L_00d3;
#line 1519 "regression-compile-tmp/imp918s.imp"
FAULT(1, 0);
#line 1519 "regression-compile-tmp/imp918s.imp"
goto U_1016;
#line 1519 "regression-compile-tmp/imp918s.imp"
L_00d3:;
                                                                //   1520           CUR CYC VAR=0
#line 1520 "regression-compile-tmp/imp918s.imp"
CURCYCVAR = 0;
                                                                //   1521           POP123(CYCLE(LEVEL),J,DSP,BREG)
#line 1521 "regression-compile-tmp/imp918s.imp"
POP123(&CYCLE[LEVEL], &J, &DSP, &BREG);
                                                                //   1522           ELABEL=DSP>>16&X'7FFF'
#line 1522 "regression-compile-tmp/imp918s.imp"
ELABEL = (((int)((((unsigned int)(DSP)) >> (16)))) & (32767));
                                                                //   1523           EUSED=DSP>>31
#line 1523 "regression-compile-tmp/imp918s.imp"
EUSED = (int)((((unsigned int)(DSP)) >> (31)));
                                                                //   1524           BXLE=DSP>>15&1; DSP=DSP&X'7FFF'; LAB=J&X'FFFF'
#line 1524 "regression-compile-tmp/imp918s.imp"
BXLE = (((int)((((unsigned int)(DSP)) >> (15)))) & (1));
#line 1524 "regression-compile-tmp/imp918s.imp"
DSP = ((DSP) & (32767));
#line 1524 "regression-compile-tmp/imp918s.imp"
LAB = ((J) & (65535));
                                                                //   1525           CREG=BREG>>16; BREG=BREG&X'FFFF'
#line 1525 "regression-compile-tmp/imp918s.imp"
CREG = (int)((((unsigned int)(BREG)) >> (16)));
#line 1525 "regression-compile-tmp/imp918s.imp"
BREG = ((BREG) & (65535));
                                                                //   1526           ->CTYPE(J>>28)
#line 1526 "regression-compile-tmp/imp918s.imp"
sw3_CTYPE_idx = (int)((((unsigned int)(J)) >> (28))); if ((0 <= sw3_CTYPE_idx) && (sw3_CTYPE_idx <= 3)) goto *sw3_CTYPE[sw3_CTYPE_idx]; else {
   /*_imp_signal(8, 2, sw3_CTYPE_idx);*/
   fprintf(stderr, "%%SWITCH index CTYPE(%d) not in range 0:3 at %s:%d\n",
           sw3_CTYPE_idx, (_imp_current_file != 0 ? _imp_current_file : __FILE__),
           (_imp_current_line != 0 ? _imp_current_line : __LINE__));
           exit(1);
}
                                                                //   1527  CTYPE(3):                              ! STEP CYCLE WITH PTR TO CONTROL
#line 1527 "regression-compile-tmp/imp918s.imp"
sw3_CTYPE_3:;
                                                                //   1528         CNUM=J>>16&255; TOPREG=4; WSPL=3; NAME=-1; ->COM
#line 1528 "regression-compile-tmp/imp918s.imp"
CNUM = (((int)((((unsigned int)(J)) >> (16)))) & (255));
#line 1528 "regression-compile-tmp/imp918s.imp"
TOPREG = 4;
#line 1528 "regression-compile-tmp/imp918s.imp"
WSPL = 3;
#line 1528 "regression-compile-tmp/imp918s.imp"
NAME = (-1);
#line 1528 "regression-compile-tmp/imp918s.imp"
goto U_1017;
                                                                //   1529  CTYPE(0):                              ! STEP CYCLE LOCAL SCALAR CONTROL
#line 1529 "regression-compile-tmp/imp918s.imp"
sw3_CTYPE_0:;
                                                                //   1530          TOPREG=3; WSPL=2; NAME=J>>16
#line 1530 "regression-compile-tmp/imp918s.imp"
TOPREG = 3;
#line 1530 "regression-compile-tmp/imp918s.imp"
WSPL = 2;
#line 1530 "regression-compile-tmp/imp918s.imp"
NAME = (int)((((unsigned int)(J)) >> (16)));
                                                                //   1531  COM:                                   ! ALL STEPWISE CYCLES
#line 1531 "regression-compile-tmp/imp918s.imp"
U_1017:;
                                                                //   1532           %IF UNASS=1 %THEN %START;     ! CHECK CYCLE ENTERD OK
#line 1532 "regression-compile-tmp/imp918s.imp"
if (((UNASS) != (1))) goto L_00d4;
                                                                //   1533              DUMPSI(X'95',CNUM,RBASE,DSP+8);! CLI CYCLE WK AREA,CODE NO
#line 1533 "regression-compile-tmp/imp918s.imp"
DUMPSI(149, CNUM, RBASE, (((int)(DSP)) + (8)));
                                                                //   1534              PCONST(X'477C0028');       ! BNE UNASSIGNED VARIABLE USED
#line 1534 "regression-compile-tmp/imp918s.imp"
PCONST(1199308840);
                                                                //   1535           %FINISH
#line 1535 "regression-compile-tmp/imp918s.imp"
L_00d4:;
                                                                //   1536  !
                                                                //   1537  ! LOAD UP CYCLE PARAMETERS FROM WKAREA UNLESS THEY ARE LOADED ALREADY
                                                                //   1538  !
                                                                //   1539           %UNLESS BREG>2 %OR (GRUSE(2)=14=GRUSE(3) %AND %C
#line 1539 "regression-compile-tmp/imp918s.imp"
if (((BREG) > (2))) goto L_00d5;
#line 1539 "regression-compile-tmp/imp918s.imp"
if ((((GRUSE[2]) != (14))) || (((14) != (GRUSE[3])))) goto L_00d6;
#line 1539 "regression-compile-tmp/imp918s.imp"
if (((GRUSE[4]) == (14))) goto L_00d5;
#line 1539 "regression-compile-tmp/imp918s.imp"
if (((NAME) >= (0))) goto L_00d5;
#line 1539 "regression-compile-tmp/imp918s.imp"
L_00d6:;
                                                                //   1540                        (GRUSE(4)=14 %OR NAME>=0)) %THEN %START
                                                                //   1541              DUMPM(X'98',2,TOPREG,RBASE,DSP);! LM CYCLE PARAMS
#line 1541 "regression-compile-tmp/imp918s.imp"
DUMPM(152, 2, TOPREG, RBASE, DSP);
                                                                //   1542              %CYCLE I=1,1,TOPREG
#line 1542 "regression-compile-tmp/imp918s.imp"
{static int _initial, _increment, _final, _control;
_initial = 1; _increment = 1; _final = TOPREG; I = _control = _initial;
if (((_final-_initial) % _increment) != 0) _imp_signal(5,1,0,"Illegal cycle I = 1, 1, TOPREG");
I -= _increment; _control -= _increment;
L_00d7:;
if (I == _final) goto L_00d8;
I += _increment; _control += _increment;
if (I != _control) _imp_signal(4,2,0,"Corrupt control variable I"); /* FOR loop control variable corrupted */
}
                                                                //   1543                 FORGET(I);                   ! FORGET REGISTER USED
#line 1543 "regression-compile-tmp/imp918s.imp"
FORGET(I);
                                                                //   1544              %REPEAT
#line 1544 "regression-compile-tmp/imp918s.imp"
goto L_00d7;
#line 1544 "regression-compile-tmp/imp918s.imp"
L_00d8:;
                                                                //   1545           %FINISH
#line 1545 "regression-compile-tmp/imp918s.imp"
L_00d5:;
                                                                //   1546  !
                                                                //   1547  ! NOW GET CONTROL TO REG 1 VIA POINTER OR DIRECTLY AS RELEVANT
                                                                //   1548  !
                                                                //   1549           %IF NAME<0 %THEN %START;     ! VIA POINTER (REGS NOT ALLOCATED)
#line 1549 "regression-compile-tmp/imp918s.imp"
if (((NAME) >= (0))) goto L_00da;
                                                                //   1550              PRX(X'58',1,0,4,0)
#line 1550 "regression-compile-tmp/imp918s.imp"
PRX(88, 1, 0, 4, 0);
                                                                //   1551              REGISTER(4)=1
#line 1551 "regression-compile-tmp/imp918s.imp"
REGISTER[4] = 1;
                                                                //   1552           %FINISH %ELSE %START;        ! LOCAL SCALAR USE CNAME
#line 1552 "regression-compile-tmp/imp918s.imp"
goto L_00db;
#line 1552 "regression-compile-tmp/imp918s.imp"
L_00da:;
                                                                //   1553              P=R; A(P)=NAME
#line 1553 "regression-compile-tmp/imp918s.imp"
P = R;
#line 1553 "regression-compile-tmp/imp918s.imp"
A[((P) + ((int)(7)))] = NAME;
                                                                //   1554              A(P+1)=2; A(P+2)=2;       ! SET NO APP OR ENAME
#line 1554 "regression-compile-tmp/imp918s.imp"
A[(((unsigned char)((((int)(P)) + (1)))) + (7))] = 2;
#line 1554 "regression-compile-tmp/imp918s.imp"
A[(((unsigned char)((((int)(P)) + (2)))) + (7))] = 2;
                                                                //   1555              CNAME(2,CREG);            ! CONTROL -> R1 OPTIMUM METHOD
#line 1555 "regression-compile-tmp/imp918s.imp"
CNAME(2, CREG);
                                                                //   1556           %FINISH
#line 1556 "regression-compile-tmp/imp918s.imp"
L_00db:;
                                                                //   1557  !
                                                                //   1558  ! NOW PLANT CODE TO DO THE TEST AND BRANCH.AGAIN 2 WAYS POSSIBLE
                                                                //   1559  !
                                                                //   1560           %IF BXLE=0 %THEN %START;    ! THE TEDIOUS BUT VALID ROUTE
#line 1560 "regression-compile-tmp/imp918s.imp"
if (((BXLE) != (0))) goto L_00dc;
                                                                //   1561              PRR(X'18',0,CREG);                 ! LR 0,1
#line 1561 "regression-compile-tmp/imp918s.imp"
PRR(24, 0, CREG);
                                                                //   1562              PRR(X'1A',CREG,BREG);              ! AR 1,INC
#line 1562 "regression-compile-tmp/imp918s.imp"
PRR(26, CREG, BREG);
                                                                //   1563              PRR(X'19',0,BREG+1);            ! CR 0,FINAL
#line 1563 "regression-compile-tmp/imp918s.imp"
PRR(25, 0, (((int)(BREG)) + (1)));
                                                                //   1564              FORGET(0)
#line 1564 "regression-compile-tmp/imp918s.imp"
FORGET(0);
                                                                //   1565              REGISTER(CREG)=1;          ! JUMP MAY LOAD 4K MULTIPLE
#line 1565 "regression-compile-tmp/imp918s.imp"
REGISTER[CREG] = 1;
                                                                //   1566              REGISTER(BREG)=1;       ! SO PROTECT REGISTER IN USE
#line 1566 "regression-compile-tmp/imp918s.imp"
REGISTER[BREG] = 1;
                                                                //   1567              REGISTER(BREG+1)=1
#line 1567 "regression-compile-tmp/imp918s.imp"
REGISTER[(((int)(BREG)) + (1))] = 1;
                                                                //   1568              ENTER JUMP(7,LAB,0);    ! BNE <BEGIN ANOTHER TRAVERSE>
#line 1568 "regression-compile-tmp/imp918s.imp"
ENTERJUMP(7, LAB, 0);
                                                                //   1569           %FINISH %ELSE %START;      ! THE BXLE INSTRUCTION CAN BE USED
#line 1569 "regression-compile-tmp/imp918s.imp"
goto L_00dd;
#line 1569 "regression-compile-tmp/imp918s.imp"
L_00dc:;
                                                                //   1570              KK=FIND3(LAB,LABEL(LEVEL))
#line 1570 "regression-compile-tmp/imp918s.imp"
KK = FIND3(LAB, LABEL[LEVEL]);
                                                                //   1571              KK=FROM1(KK);           ! EXTRACT LABEL ADDRESS
#line 1571 "regression-compile-tmp/imp918s.imp"
KK = FROM1(KK);
                                                                //   1572              %IF CYC BASE=0 %THEN I=10 %AND KK=KK-CODEBASE %ELSE %C
#line 1572 "regression-compile-tmp/imp918s.imp"
if (((CYCBASE) != (0))) goto L_00de;
#line 1572 "regression-compile-tmp/imp918s.imp"
I = 10;
#line 1572 "regression-compile-tmp/imp918s.imp"
KK = (((int)(KK)) - (CODEBASE));
#line 1572 "regression-compile-tmp/imp918s.imp"
goto L_00df;
#line 1572 "regression-compile-tmp/imp918s.imp"
L_00de:;
#line 1572 "regression-compile-tmp/imp918s.imp"
I = CYCBASE;
#line 1572 "regression-compile-tmp/imp918s.imp"
KK = (((int)(KK)) - (CYCADDR));
#line 1572 "regression-compile-tmp/imp918s.imp"
L_00df:;
                                                                //   1573                                   I=CYC BASE %AND KK=KK-CYC ADDR
                                                                //   1574              PRX(X'87',CREG,BREG,I,KK); ! BXLE 1,2,<NEXT TRAVERSE>
#line 1574 "regression-compile-tmp/imp918s.imp"
PRX(135, CREG, BREG, I, KK);
                                                                //   1575           %FINISH
#line 1575 "regression-compile-tmp/imp918s.imp"
L_00dd:;
                                                                //   1576           %IF CREG#1 %THEN CYC REGS=CYCREGS!!(1<<CREG)
#line 1576 "regression-compile-tmp/imp918s.imp"
if (((CREG) == (1))) goto L_00e0;
#line 1576 "regression-compile-tmp/imp918s.imp"
CYCREGS = ((CYCREGS) ^ (((1) << (CREG))));
#line 1576 "regression-compile-tmp/imp918s.imp"
L_00e0:;
                                                                //   1577           CYC RESTORE;               ! DEALLOCATE PRELOADED REGISTERS
#line 1577 "regression-compile-tmp/imp918s.imp"
CYCRESTORE();
                                                                //   1578                                          ! EXCEPT CYCLE CONTROL VARIABLE
                                                                //   1579           %CYCLE I=BREG,1,BREG+1
#line 1579 "regression-compile-tmp/imp918s.imp"
{static int _initial, _increment, _final, _control;
_initial = BREG; _increment = 1; _final = (((int)(BREG)) + (1)); I = _control = _initial;
if (((_final-_initial) % _increment) != 0) _imp_signal(5,1,0,"Illegal cycle I = BREG, 1, (((int)(BREG)) + (1))");
I -= _increment; _control -= _increment;
L_00e1:;
if (I == _final) goto L_00e2;
I += _increment; _control += _increment;
if (I != _control) _imp_signal(4,2,0,"Corrupt control variable I"); /* FOR loop control variable corrupted */
}
                                                                //   1580              FREE AND FORGET(I)
#line 1580 "regression-compile-tmp/imp918s.imp"
FREEANDFORGET(I);
                                                                //   1581           %REPEAT
#line 1581 "regression-compile-tmp/imp918s.imp"
goto L_00e1;
#line 1581 "regression-compile-tmp/imp918s.imp"
L_00e2:;
                                                                //   1582           %IF CREG#1 %THEN %START; ! CONTROL ALLOCATED A REG
#line 1582 "regression-compile-tmp/imp918s.imp"
if (((CREG) == (1))) goto L_00e4;
                                                                //   1583              VDALLOC(CREG,(BREG+1)*(1-COMPILER))
#line 1583 "regression-compile-tmp/imp918s.imp"
VDALLOC(CREG, ((((((int)(BREG)) + (1)))) * (((1) - ((int)(COMPILER))))));
                                                                //   1584              NOTE ASSMENT(BREG+1,2,NAME);! SET CONTROL TO FINAL VALUE
#line 1584 "regression-compile-tmp/imp918s.imp"
NOTEASSMENT((((int)(BREG)) + (1)), 2, NAME);
                                                                //   1585           %FINISH %ELSE FREE AND FORGET(CREG)
#line 1585 "regression-compile-tmp/imp918s.imp"
goto L_00e5;
#line 1585 "regression-compile-tmp/imp918s.imp"
L_00e4:;
#line 1585 "regression-compile-tmp/imp918s.imp"
FREEANDFORGET(CREG);
#line 1585 "regression-compile-tmp/imp918s.imp"
L_00e5:;
                                                                //   1586           %IF NAME<0 %THEN FREE AND FORGET(4)
#line 1586 "regression-compile-tmp/imp918s.imp"
if (((NAME) >= (0))) goto L_00e6;
#line 1586 "regression-compile-tmp/imp918s.imp"
FREEANDFORGET(4);
#line 1586 "regression-compile-tmp/imp918s.imp"
L_00e6:;
                                                                //   1587           %IF DSP#0 %THEN RETURN WSP(DSP,WSPL);!WORKAREA TO FREE LIST
#line 1587 "regression-compile-tmp/imp918s.imp"
if (((DSP) == (0))) goto L_00e7;
#line 1587 "regression-compile-tmp/imp918s.imp"
RETURNWSP(DSP, WSPL);
#line 1587 "regression-compile-tmp/imp918s.imp"
L_00e7:;
                                                                //   1588           %IF UNASS=1 %THEN DUMPSI(X'92',0,RBASE,DSP+8)
#line 1588 "regression-compile-tmp/imp918s.imp"
if (((UNASS) != (1))) goto L_00e8;
#line 1588 "regression-compile-tmp/imp918s.imp"
DUMPSI(146, 0, RBASE, (((int)(DSP)) + (8)));
#line 1588 "regression-compile-tmp/imp918s.imp"
L_00e8:;
                                                                //   1589           CYC REGS=0; CYC BASE=0
#line 1589 "regression-compile-tmp/imp918s.imp"
CYCREGS = 0;
#line 1589 "regression-compile-tmp/imp918s.imp"
CYCBASE = 0;
                                                                //   1590           CCSTATE=-1; ->Label1
#line 1590 "regression-compile-tmp/imp918s.imp"
CCSTATE = (-1);
#line 1590 "regression-compile-tmp/imp918s.imp"
goto U_1016;
                                                                //   1591  CTYPE(1):                               ! '%WHILE' '%CYCLE'
#line 1591 "regression-compile-tmp/imp918s.imp"
sw3_CTYPE_1:;
                                                                //   1592           ENTER JUMP(15,LAB,0);          ! UNCONDITIONALLY TO WHILE CLAUS
#line 1592 "regression-compile-tmp/imp918s.imp"
ENTERJUMP(15, LAB, 0);
                                                                //   1593           ENTER LAB(LAB-1,B'111');       ! CONDITIONAL/REPLACE ENV
#line 1593 "regression-compile-tmp/imp918s.imp"
ENTERLAB((((int)(LAB)) - (1)), 7);
                                                                //   1594          ->Label2
#line 1594 "regression-compile-tmp/imp918s.imp"
goto U_1018;
                                                                //   1595  CTYPE(2):                               ! '%UNTIL' ... '%CYCLE'
#line 1595 "regression-compile-tmp/imp918s.imp"
sw3_CTYPE_2:;
                                                                //   1596           %IF 500-R>799-TOPPTR %THEN %START
#line 1596 "regression-compile-tmp/imp918s.imp"
if ((((((int)(500)) - (R))) <= ((((int)(799)) - (TOPPTR))))) goto L_00e9;
                                                                //   1597              P=R+1; WSPL=499-P
#line 1597 "regression-compile-tmp/imp918s.imp"
P = (((int)(R)) + (1));
#line 1597 "regression-compile-tmp/imp918s.imp"
WSPL = (((int)(499)) - (P));
                                                                //   1598           %FINISH %ELSE %START
#line 1598 "regression-compile-tmp/imp918s.imp"
goto L_00ea;
#line 1598 "regression-compile-tmp/imp918s.imp"
L_00e9:;
                                                                //   1599              P=TOPPTR+1; WSPL=799-P
#line 1599 "regression-compile-tmp/imp918s.imp"
P = (((int)(TOPPTR)) + (1));
#line 1599 "regression-compile-tmp/imp918s.imp"
WSPL = (((int)(799)) - (P));
                                                                //   1600           %FINISH
#line 1600 "regression-compile-tmp/imp918s.imp"
L_00ea:;
                                                                //   1601           %IF WSPL<DSP %THEN FAULT(102,0);  ! NO ROOM FOR A.R.
#line 1601 "regression-compile-tmp/imp918s.imp"
if (((WSPL) >= (DSP))) goto L_00eb;
#line 1601 "regression-compile-tmp/imp918s.imp"
FAULT(102, 0);
#line 1601 "regression-compile-tmp/imp918s.imp"
L_00eb:;
                                                                //   1602           WSPL=P; P=P+DSP; HEAD=BREG
#line 1602 "regression-compile-tmp/imp918s.imp"
WSPL = P;
#line 1602 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (DSP));
#line 1602 "regression-compile-tmp/imp918s.imp"
HEAD = BREG;
                                                                //   1603           %CYCLE;                           ! RETRIEVE AR FROM LIST
#line 1603 "regression-compile-tmp/imp918s.imp"
L_00ec:;
                                                                //   1604              POP123(HEAD,JJJ,KKK,KK)
#line 1604 "regression-compile-tmp/imp918s.imp"
POP123(&HEAD, &JJJ, &KKK, &KK);
                                                                //   1605              P=P-5
#line 1605 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) - (5));
                                                                //   1606              TOAR4(P,JJJ)
#line 1606 "regression-compile-tmp/imp918s.imp"
TOAR4(P, JJJ);
                                                                //   1607              TOAR4(P+2,KKK)
#line 1607 "regression-compile-tmp/imp918s.imp"
TOAR4((((int)(P)) + (2)), KKK);
                                                                //   1608              A(P+4)=KK
#line 1608 "regression-compile-tmp/imp918s.imp"
A[(((unsigned char)((((int)(P)) + (4)))) + (7))] = KK;
                                                                //   1609           %REPEAT %UNTIL HEAD=0
#line 1609 "regression-compile-tmp/imp918s.imp"
if (((HEAD) == (0))) goto L_00ed;
#line 1609 "regression-compile-tmp/imp918s.imp"
goto L_00ec;
#line 1609 "regression-compile-tmp/imp918s.imp"
L_00ed:;
                                                                //   1610           A(PIN-1)=A(P);                  ! SET UP LINE NO OF CONDITION
#line 1610 "regression-compile-tmp/imp918s.imp"
A[(((unsigned char)((((int)(PIN)) - (1)))) + (7))] = A[((P) + ((int)(7)))];
                                                                //   1611           P=P+1
#line 1611 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
                                                                //   1612           R=R+DSP
#line 1612 "regression-compile-tmp/imp918s.imp"
R = (((int)(R)) + (DSP));
                                                                //   1613           CCOND(1,LAB)
#line 1613 "regression-compile-tmp/imp918s.imp"
CCOND(1, LAB);
                                                                //   1614           R=R-DSP
#line 1614 "regression-compile-tmp/imp918s.imp"
R = (((int)(R)) - (DSP));
                                                                //   1615  Label2:       CYC RESTORE
#line 1615 "regression-compile-tmp/imp918s.imp"
U_1018:;
#line 1615 "regression-compile-tmp/imp918s.imp"
CYCRESTORE();
                                                                //   1616           CYC REGS=0; CYC BASE=0
#line 1616 "regression-compile-tmp/imp918s.imp"
CYCREGS = 0;
#line 1616 "regression-compile-tmp/imp918s.imp"
CYCBASE = 0;
                                                                //   1617  Label1:       %IF EUSED#0 %THEN ENTER LAB(ELABEL,B'11')
#line 1617 "regression-compile-tmp/imp918s.imp"
U_1016:;
#line 1617 "regression-compile-tmp/imp918s.imp"
if (((EUSED) == (0))) goto L_00ef;
#line 1617 "regression-compile-tmp/imp918s.imp"
ENTERLAB(ELABEL, 3);
#line 1617 "regression-compile-tmp/imp918s.imp"
L_00ef:;
                                                                //   1618           %END; ->Label1
#line 1618 "regression-compile-tmp/imp918s.imp"
return;
} // End of block _BLOCK_4_LEVEL_2_ at level 3
_BLOCK_4_LEVEL_2_();
#line 1618 "regression-compile-tmp/imp918s.imp"
goto U_100f;
                                                                //   1619  !
                                                                //   1620  SW(4):                                 ! (LABEL)':'
#line 1620 "regression-compile-tmp/imp918s.imp"
sw2_SW_4:;
                                                                //   1621           K=A(P+1)
#line 1621 "regression-compile-tmp/imp918s.imp"
K = A[(((unsigned char)((((int)(P)) + (1)))) + (7))];
                                                                //   1622           FAULT(2,0) %IF K=0 %OR K>16383
#line 1622 "regression-compile-tmp/imp918s.imp"
if (((K) == (0))) goto L_00ee;
#line 1622 "regression-compile-tmp/imp918s.imp"
if (((K) <= (16383))) goto L_00f0;
#line 1622 "regression-compile-tmp/imp918s.imp"
L_00ee:;
#line 1622 "regression-compile-tmp/imp918s.imp"
FAULT(2, 0);
#line 1622 "regression-compile-tmp/imp918s.imp"
L_00f0:;
                                                                //   1623  Label401:     NMDECS=NMDECS!1
#line 1623 "regression-compile-tmp/imp918s.imp"
U_1013:;
#line 1623 "regression-compile-tmp/imp918s.imp"
NMDECS = ((NMDECS) | (1));
                                                                //   1624           ENTER LAB(K,0)
#line 1624 "regression-compile-tmp/imp918s.imp"
ENTERLAB(K, 0);
                                                                //   1625           CYC BITS=CYC BITS!1;            ! SET 'LABEL' BIT
#line 1625 "regression-compile-tmp/imp918s.imp"
CYCBITS = ((CYCBITS) | (1));
                                                                //   1626           ->Label1
#line 1626 "regression-compile-tmp/imp918s.imp"
goto U_100f;
                                                                //   1627  !
                                                                //   1628  SW(5):                                 ! (%IU)(COND)%THEN(UI)(ELSE')
#line 1628 "regression-compile-tmp/imp918s.imp"
sw2_SW_5:;
                                                                //   1629           MARKIU=P+1; MARKC=MARKIU+2
#line 1629 "regression-compile-tmp/imp918s.imp"
MARKIU = (((int)(P)) + (1));
#line 1629 "regression-compile-tmp/imp918s.imp"
MARKC = (((int)(MARKIU)) + (2));
                                                                //   1630           MARKR=P+2+A(P+2); MARKE=0
#line 1630 "regression-compile-tmp/imp918s.imp"
MARKR = (((short)((((int)(P)) + (2)))) + (A[(((unsigned char)((((int)(P)) + (2)))) + (7))]));
#line 1630 "regression-compile-tmp/imp918s.imp"
MARKE = 0;
                                                                //   1631           %IF A(MARKR)=3 %THEN %START
#line 1631 "regression-compile-tmp/imp918s.imp"
if (((A[((MARKR) + ((int)(7)))]) != (3))) goto L_00f1;
                                                                //   1632           MARKE=MARKR+1+A(MARKR+1); MARKUI=MARKR+2
#line 1632 "regression-compile-tmp/imp918s.imp"
MARKE = (((short)((((int)(MARKR)) + (1)))) + (A[(((unsigned char)((((int)(MARKR)) + (1)))) + (7))]));
#line 1632 "regression-compile-tmp/imp918s.imp"
MARKUI = (((int)(MARKR)) + (2));
                                                                //   1633           %FINISH
#line 1633 "regression-compile-tmp/imp918s.imp"
L_00f1:;
                                                                //   1634           SET LINE %IF LINENOS#0
#line 1634 "regression-compile-tmp/imp918s.imp"
if (((LINENOS) == (0))) goto L_00f2;
#line 1634 "regression-compile-tmp/imp918s.imp"
SETLINE();
#line 1634 "regression-compile-tmp/imp918s.imp"
L_00f2:;
                                                                //   1635  CONEXP:  %BEGIN
#line 1635 "regression-compile-tmp/imp918s.imp"
U_1014:;
#line 1635 "regression-compile-tmp/imp918s.imp"
void _BLOCK_5_LEVEL_2_(void) {
                                                                //   1636  !***********************************************************************
                                                                //   1637  !*       THIS BLOCK COMPILES CONDITIONAL EXPRESSIONS.IT REQUIRES THE   *
                                                                //   1638  !*       FOLLOWING GLOBAL POINTERS TO BE SET TO THEIR A .R. ENTRY.     *
                                                                //   1639  !*       MARKIU TO THE ENTRY FOR P(%IU)                                *
                                                                //   1640  !*       MARKC  TO THE ENTRY FOR P(COND)                               *
                                                                //   1641  !*       MARKUI TO THE ENTRY FOR (FIRST OCCURRENCE OF)  P(UI)          *
                                                                //   1642  !*       MARKE  TO THE ENTRY FOR P(ELSE')  - =0 FOR BACKWARDS CONDITION*
                                                                //   1643  !*       MARKR  TO ENTRY FOR P(RESTOFIU)                               *
                                                                //   1644  !***********************************************************************
                                                                //   1645           {%SHORTROUTINE}
                                                                //   1646           MARKIU=A(MARKIU);              ! ALT OF IU 1=%IF,2=%UNLESS
#line 1646 "regression-compile-tmp/imp918s.imp"
MARKIU = A[((MARKIU) + ((int)(7)))];
                                                                //   1647           KKK=-1
#line 1647 "regression-compile-tmp/imp918s.imp"
KKK = (-1);
                                                                //   1648           %IF MARKR>0 %AND A(MARKR)<=2 %START;! '%START' OR '%THENSTART'
#line 1648 "regression-compile-tmp/imp918s.imp"
if (((MARKR) <= (0))) goto L_00f3;
#line 1648 "regression-compile-tmp/imp918s.imp"
if (((A[((MARKR) + ((int)(7)))]) > (2))) goto L_00f3;
                                                                //   1649              KKK=SFLABEL-1
#line 1649 "regression-compile-tmp/imp918s.imp"
KKK = (((int)(SFLABEL)) - (1));
                                                                //   1650              P=MARKC; CCOND(MARKIU,KKK)
#line 1650 "regression-compile-tmp/imp918s.imp"
P = MARKC;
#line 1650 "regression-compile-tmp/imp918s.imp"
CCOND(MARKIU, KKK);
                                                                //   1651              CSTART(1)
#line 1651 "regression-compile-tmp/imp918s.imp"
CSTART(1);
                                                                //   1652              ->Label1
#line 1652 "regression-compile-tmp/imp918s.imp"
goto U_1019;
                                                                //   1653           %FINISH
#line 1653 "regression-compile-tmp/imp918s.imp"
L_00f3:;
                                                                //   1654           %IF A(MARKUI)=2 %AND (A(MARKUI+1)<2 %OR A(MARKUI+3)=2) %THEN %C
#line 1654 "regression-compile-tmp/imp918s.imp"
if (((A[((MARKUI) + ((int)(7)))]) != (2))) goto L_00f4;
#line 1654 "regression-compile-tmp/imp918s.imp"
if (((A[(((unsigned char)((((int)(MARKUI)) + (1)))) + (7))]) < (2))) goto L_00f5;
#line 1654 "regression-compile-tmp/imp918s.imp"
if (((A[(((unsigned char)((((int)(MARKUI)) + (3)))) + (7))]) != (2))) goto L_00f4;
#line 1654 "regression-compile-tmp/imp918s.imp"
L_00f5:;
#line 1654 "regression-compile-tmp/imp918s.imp"
KKK = ((A[(((unsigned char)((((int)(MARKUI)) + (2)))) + (7))]) + ((short)((((((int)(A[(((unsigned char)((((int)(MARKUI)) + (1)))) + (7))])) - (1))) << (14)))));
#line 1654 "regression-compile-tmp/imp918s.imp"
L_00f4:;
                                                                //   1655              KKK=A(MARKUI+2)+(A(MARKUI+1)-1)<<14;! UI = SIMPLE LABEL
                                                                //   1656  !
                                                                //   1657           %IF A(MARKUI)=8 %AND CYCLE(LEVEL)#0 %START; ! VALID EXIT
#line 1657 "regression-compile-tmp/imp918s.imp"
if (((A[((MARKUI) + ((int)(7)))]) != (8))) goto L_00f6;
#line 1657 "regression-compile-tmp/imp918s.imp"
if (((CYCLE[LEVEL]) == (0))) goto L_00f6;
                                                                //   1658              KKK=FROM2(CYCLE(LEVEL))
#line 1658 "regression-compile-tmp/imp918s.imp"
KKK = FROM2(CYCLE[LEVEL]);
                                                                //   1659              REPLACE2(CYCLE(LEVEL),KKK!X'80000000')
#line 1659 "regression-compile-tmp/imp918s.imp"
REPLACE2(CYCLE[LEVEL], ((KKK) | ((-2147483648))));
                                                                //   1660              KKK=KKK>>16&X'7FFF'
#line 1660 "regression-compile-tmp/imp918s.imp"
KKK = (((int)((((unsigned int)(KKK)) >> (16)))) & (32767));
                                                                //   1661           %FINISH
#line 1661 "regression-compile-tmp/imp918s.imp"
L_00f6:;
                                                                //   1662  !
                                                                //   1663           %IF KKK>=0 %THEN %START;  ! FIRST UI IS'->'<LABEL>
#line 1663 "regression-compile-tmp/imp918s.imp"
if (((KKK) < (0))) goto L_00f7;
                                                                //   1664              NMDECS=NMDECS!1
#line 1664 "regression-compile-tmp/imp918s.imp"
NMDECS = ((NMDECS) | (1));
                                                                //   1665              CYC BITS=CYC BITS!2;        ! SET 'JUMP' BIT
#line 1665 "regression-compile-tmp/imp918s.imp"
CYCBITS = ((CYCBITS) | (2));
                                                                //   1666              P=MARKC; CCOND(3-MARKIU,KKK)
#line 1666 "regression-compile-tmp/imp918s.imp"
P = MARKC;
#line 1666 "regression-compile-tmp/imp918s.imp"
CCOND((((int)(3)) - (MARKIU)), KKK);
                                                                //   1667              %IF MARKE>0 %AND A(MARKE)<=2 %START; ! THERE IS AN ELSE CLAUSE
#line 1667 "regression-compile-tmp/imp918s.imp"
if (((MARKE) <= (0))) goto L_00f8;
#line 1667 "regression-compile-tmp/imp918s.imp"
if (((A[((MARKE) + ((int)(7)))]) > (2))) goto L_00f8;
                                                                //   1668                 %IF A(MARKE)=1 %THEN CSTART(0) %ELSE %START
#line 1668 "regression-compile-tmp/imp918s.imp"
if (((A[((MARKE) + ((int)(7)))]) != (1))) goto L_00f9;
#line 1668 "regression-compile-tmp/imp918s.imp"
CSTART(0);
#line 1668 "regression-compile-tmp/imp918s.imp"
goto L_00fa;
#line 1668 "regression-compile-tmp/imp918s.imp"
L_00f9:;
                                                                //   1669                    P=MARKE+1; MASK=15
#line 1669 "regression-compile-tmp/imp918s.imp"
P = (((int)(MARKE)) + (1));
#line 1669 "regression-compile-tmp/imp918s.imp"
MASK = 15;
                                                                //   1670                    CUI(0)
#line 1670 "regression-compile-tmp/imp918s.imp"
CUI(0);
                                                                //   1671                 %FINISH
#line 1671 "regression-compile-tmp/imp918s.imp"
L_00fa:;
                                                                //   1672              %FINISH
#line 1672 "regression-compile-tmp/imp918s.imp"
L_00f8:;
                                                                //   1673              ->Label1
#line 1673 "regression-compile-tmp/imp918s.imp"
goto U_1019;
                                                                //   1674           %FINISH
#line 1674 "regression-compile-tmp/imp918s.imp"
L_00f7:;
                                                                //   1675  !
                                                                //   1676           PLABEL=PLABEL-1; KKK=PLABEL
#line 1676 "regression-compile-tmp/imp918s.imp"
PLABEL = (((int)(PLABEL)) - (1));
#line 1676 "regression-compile-tmp/imp918s.imp"
KKK = PLABEL;
                                                                //   1677           P=MARKC; CCOND(MARKIU,KKK)
#line 1677 "regression-compile-tmp/imp918s.imp"
P = MARKC;
#line 1677 "regression-compile-tmp/imp918s.imp"
CCOND(MARKIU, KKK);
                                                                //   1678           P=MARKUI; MASK=15; CUI(1)
#line 1678 "regression-compile-tmp/imp918s.imp"
P = MARKUI;
#line 1678 "regression-compile-tmp/imp918s.imp"
MASK = 15;
#line 1678 "regression-compile-tmp/imp918s.imp"
CUI(1);
                                                                //   1679           %UNLESS MARKE>0 %AND A(MARKE)<=2 %START;   ! UNLESS %ELSE FOLLOWS
#line 1679 "regression-compile-tmp/imp918s.imp"
if (((MARKE) <= (0))) goto L_00fb;
#line 1679 "regression-compile-tmp/imp918s.imp"
if (((A[((MARKE) + ((int)(7)))]) <= (2))) goto L_00fc;
#line 1679 "regression-compile-tmp/imp918s.imp"
L_00fb:;
                                                                //   1680              ENTER LAB(KKK,B'11'!REPORTUI<<2); ->Label1;  ! CONDITIONAL&MERGE
#line 1680 "regression-compile-tmp/imp918s.imp"
ENTERLAB(KKK, ((3) | (((REPORTUI) << (2)))));
#line 1680 "regression-compile-tmp/imp918s.imp"
goto U_1019;
                                                                //   1681           %FINISH
#line 1681 "regression-compile-tmp/imp918s.imp"
L_00fc:;
                                                                //   1682  !
                                                                //   1683           %IF A(MARKE)=1 %THEN %START;      ! '%ELSESTART'
#line 1683 "regression-compile-tmp/imp918s.imp"
if (((A[((MARKE) + ((int)(7)))]) != (1))) goto L_00fd;
                                                                //   1684              %IF REPORTUI=0 %THEN %C
#line 1684 "regression-compile-tmp/imp918s.imp"
if (((REPORTUI) != (0))) goto L_00fe;
#line 1684 "regression-compile-tmp/imp918s.imp"
ENTERJUMP(15, (((int)(SFLABEL)) - (1)), 2);
#line 1684 "regression-compile-tmp/imp918s.imp"
L_00fe:;
                                                                //   1685                 ENTER JUMP(15,SFLABEL-1,B'10');! LONG JUMP BUT SAVE ENV
                                                                //   1686              CSTART(2)
#line 1686 "regression-compile-tmp/imp918s.imp"
CSTART(2);
                                                                //   1687              ENTER LAB(KKK,B'111');         ! CONDITIONAL & REPLACE ENV
#line 1687 "regression-compile-tmp/imp918s.imp"
ENTERLAB(KKK, 7);
                                                                //   1688           %FINISH %ELSE %START;             ! '%ELSE<UI>'
#line 1688 "regression-compile-tmp/imp918s.imp"
goto L_00ff;
#line 1688 "regression-compile-tmp/imp918s.imp"
L_00fd:;
                                                                //   1689              P=MARKE+1
#line 1689 "regression-compile-tmp/imp918s.imp"
P = (((int)(MARKE)) + (1));
                                                                //   1690              PLABEL=PLABEL-1; JJJ=PLABEL
#line 1690 "regression-compile-tmp/imp918s.imp"
PLABEL = (((int)(PLABEL)) - (1));
#line 1690 "regression-compile-tmp/imp918s.imp"
JJJ = PLABEL;
                                                                //   1691              %IF REPORTUI=0 %THEN %C
#line 1691 "regression-compile-tmp/imp918s.imp"
if (((REPORTUI) != (0))) goto L_0100;
#line 1691 "regression-compile-tmp/imp918s.imp"
ENTERJUMP(15, JJJ, 3);
#line 1691 "regression-compile-tmp/imp918s.imp"
L_0100:;
                                                                //   1692                 ENTER JUMP(15,JJJ,B'11');   ! SHORT JUMP AND SAVE ENV
                                                                //   1693              ENTER LAB(KKK,B'111');         ! CONDITIONAL REPLACE ENV
#line 1693 "regression-compile-tmp/imp918s.imp"
ENTERLAB(KKK, 7);
                                                                //   1694              MASK=15; CUI(2)
#line 1694 "regression-compile-tmp/imp918s.imp"
MASK = 15;
#line 1694 "regression-compile-tmp/imp918s.imp"
CUI(2);
                                                                //   1695              ENTER LAB(JJJ,B'11'!REPORTUI<<2);! CONDITIONAL MERGE
#line 1695 "regression-compile-tmp/imp918s.imp"
ENTERLAB(JJJ, ((3) | (((REPORTUI) << (2)))));
                                                                //   1696           %FINISH
#line 1696 "regression-compile-tmp/imp918s.imp"
L_00ff:;
                                                                //   1697  Label1:       %END; ->Label1
#line 1697 "regression-compile-tmp/imp918s.imp"
U_1019:;
#line 1697 "regression-compile-tmp/imp918s.imp"
return;
} // End of block _BLOCK_5_LEVEL_2_ at level 3
_BLOCK_5_LEVEL_2_();
#line 1697 "regression-compile-tmp/imp918s.imp"
goto U_100f;
                                                                //   1698  SW(14):
#line 1698 "regression-compile-tmp/imp918s.imp"
sw2_SW_14:;
                                                                //   1699           %BEGIN;                       ! '%FINISH(ELSE')(S)
#line 1699 "regression-compile-tmp/imp918s.imp"
void _BLOCK_6_LEVEL_2_(void) {
                                                                //   1700           {%SHORTROUTINE}
                                                                //   1701  
                                                                //   1702           %INTEGER J,K,CODE,CYC,FLAB
#line 1702 "regression-compile-tmp/imp918s.imp"
int J;
#line 1702 "regression-compile-tmp/imp918s.imp"
int K;
#line 1702 "regression-compile-tmp/imp918s.imp"
int CODE;
#line 1702 "regression-compile-tmp/imp918s.imp"
int CYC;
#line 1702 "regression-compile-tmp/imp918s.imp"
int FLAB;
                                                                //   1703           POP123(SBR(LEVEL),CODE,FLAB,CYC)
#line 1703 "regression-compile-tmp/imp918s.imp"
POP123(&SBR[LEVEL], &CODE, &FLAB, &CYC);
                                                                //   1704           %IF CODE<0 %THEN FAULT(51,0) %AND ->Label1
#line 1704 "regression-compile-tmp/imp918s.imp"
if (((CODE) >= (0))) goto L_0101;
#line 1704 "regression-compile-tmp/imp918s.imp"
FAULT(51, 0);
#line 1704 "regression-compile-tmp/imp918s.imp"
goto U_101a;
#line 1704 "regression-compile-tmp/imp918s.imp"
L_0101:;
                                                                //   1705           %IF CYC#CYCLE(LEVEL) %THEN FAULT(52,0)
#line 1705 "regression-compile-tmp/imp918s.imp"
if (((CYC) == (CYCLE[LEVEL]))) goto L_0102;
#line 1705 "regression-compile-tmp/imp918s.imp"
FAULT(52, 0);
#line 1705 "regression-compile-tmp/imp918s.imp"
L_0102:;
                                                                //   1706  !
                                                                //   1707           %IF A(P+1)<=2 %THEN %START;    ! %ELSE CLAUSE PRESENT
#line 1707 "regression-compile-tmp/imp918s.imp"
if (((A[(((unsigned char)((((int)(P)) + (1)))) + (7))]) > (2))) goto L_0103;
                                                                //   1708              FAULT(47,0) %UNLESS CODE=1;   ! DANGLING ELSE
#line 1708 "regression-compile-tmp/imp918s.imp"
if (((CODE) == (1))) goto L_0104;
#line 1708 "regression-compile-tmp/imp918s.imp"
FAULT(47, 0);
#line 1708 "regression-compile-tmp/imp918s.imp"
L_0104:;
                                                                //   1709              %IF A(P+1)=1 %THEN %START;  ! %ELSE %START
#line 1709 "regression-compile-tmp/imp918s.imp"
if (((A[(((unsigned char)((((int)(P)) + (1)))) + (7))]) != (1))) goto L_0105;
                                                                //   1710  !
                                                                //   1711  ! PLANT A ROUND NEXT START-FINISH %UNLESS PREVIOUS INSTRUCTION WAS ->
                                                                //   1712  !
                                                                //   1713                 ENTER JUMP(15,SFLABEL-1,B'10') %IF LAST INST=0
#line 1713 "regression-compile-tmp/imp918s.imp"
if (((LASTINST) != (0))) goto L_0106;
#line 1713 "regression-compile-tmp/imp918s.imp"
ENTERJUMP(15, (((int)(SFLABEL)) - (1)), 2);
#line 1713 "regression-compile-tmp/imp918s.imp"
L_0106:;
                                                                //   1714                 CSTART(2)
#line 1714 "regression-compile-tmp/imp918s.imp"
CSTART(2);
                                                                //   1715              %FINISH %ELSE %START;       ! %ELSE (UI)
#line 1715 "regression-compile-tmp/imp918s.imp"
goto L_0107;
#line 1715 "regression-compile-tmp/imp918s.imp"
L_0105:;
                                                                //   1716                 %IF LAST INST=0 %THEN %START
#line 1716 "regression-compile-tmp/imp918s.imp"
if (((LASTINST) != (0))) goto L_0108;
                                                                //   1717                    PLABEL=PLABEL-1; J=PLABEL
#line 1717 "regression-compile-tmp/imp918s.imp"
PLABEL = (((int)(PLABEL)) - (1));
#line 1717 "regression-compile-tmp/imp918s.imp"
J = PLABEL;
                                                                //   1718                    ENTER JUMP(15,J,B'11')
#line 1718 "regression-compile-tmp/imp918s.imp"
ENTERJUMP(15, J, 3);
                                                                //   1719                 %FINISH
#line 1719 "regression-compile-tmp/imp918s.imp"
L_0108:;
                                                                //   1720                 P=P+2;! K=A(P);           ! K= ALT OF P(UI)
#line 1720 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (2));
                                                                //   1721  !
                                                                //   1722  ! PLANT THE LABEL FOR THE JUMP ROUND THE START FINISH BLOCK JUST ENDED
                                                                //   1723  ! THE LABEL IS CONDITIONAL ON THERE HAVING BEEN A JUMP. ENVIRONMENTS ARE
                                                                //   1724  ! MERGED UNLESS THE PREVIOUS INSTN IS A -> ETC WHEN ENV IS REPLACED
                                                                //   1725  !
                                                                //   1726                 ENTER LAB(FLAB,B'011'!LAST INST<<2)
#line 1726 "regression-compile-tmp/imp918s.imp"
ENTERLAB(FLAB, ((3) | (((LASTINST) << (2)))));
                                                                //   1727                 MONE=1; SET LINE; MASK=15
#line 1727 "regression-compile-tmp/imp918s.imp"
MONE = 1;
#line 1727 "regression-compile-tmp/imp918s.imp"
SETLINE();
#line 1727 "regression-compile-tmp/imp918s.imp"
MASK = 15;
                                                                //   1728                 %IF LAST INST#0 %THEN CUI(0) %AND ->Label1
#line 1728 "regression-compile-tmp/imp918s.imp"
if (((LASTINST) == (0))) goto L_0109;
#line 1728 "regression-compile-tmp/imp918s.imp"
CUI(0);
#line 1728 "regression-compile-tmp/imp918s.imp"
goto U_101a;
#line 1728 "regression-compile-tmp/imp918s.imp"
L_0109:;
                                                                //   1729                 CUI(2); FLAB=J
#line 1729 "regression-compile-tmp/imp918s.imp"
CUI(2);
#line 1729 "regression-compile-tmp/imp918s.imp"
FLAB = J;
                                                                //   1730                 LAST INST=REPORT UI
#line 1730 "regression-compile-tmp/imp918s.imp"
LASTINST = REPORTUI;
                                                                //   1731              %FINISH
#line 1731 "regression-compile-tmp/imp918s.imp"
L_0107:;
                                                                //   1732  !
                                                                //   1733           %FINISH %ELSE %START
#line 1733 "regression-compile-tmp/imp918s.imp"
goto L_010a;
#line 1733 "regression-compile-tmp/imp918s.imp"
L_0103:;
                                                                //   1734              ->Label1 %IF CODE=0
#line 1734 "regression-compile-tmp/imp918s.imp"
if (((CODE) != (0))) goto L_010b;
#line 1734 "regression-compile-tmp/imp918s.imp"
goto U_101a;
#line 1734 "regression-compile-tmp/imp918s.imp"
L_010b:;
                                                                //   1735           %FINISH
#line 1735 "regression-compile-tmp/imp918s.imp"
L_010a:;
                                                                //   1736  !
                                                                //   1737           ENTER LAB(FLAB,B'011'!LAST INST<<2)
#line 1737 "regression-compile-tmp/imp918s.imp"
ENTERLAB(FLAB, ((3) | (((LASTINST) << (2)))));
                                                                //   1738           MONE=1
#line 1738 "regression-compile-tmp/imp918s.imp"
MONE = 1;
                                                                //   1739  Label1:       %END; ->Label1
#line 1739 "regression-compile-tmp/imp918s.imp"
U_101a:;
#line 1739 "regression-compile-tmp/imp918s.imp"
return;
} // End of block _BLOCK_6_LEVEL_2_ at level 3
_BLOCK_6_LEVEL_2_();
#line 1739 "regression-compile-tmp/imp918s.imp"
goto U_100f;
                                                                //   1740  SWITCH:  %BEGIN;                       ! SWITCH LABEL
#line 1740 "regression-compile-tmp/imp918s.imp"
U_1012:;
#line 1740 "regression-compile-tmp/imp918s.imp"
void _BLOCK_7_LEVEL_2_(void) {
                                                                //   1741           {%SHORTROUTINE}
                                                                //   1742           %INTEGER HEAD,BASEPT,BP,FNAME
#line 1742 "regression-compile-tmp/imp918s.imp"
int HEAD;
#line 1742 "regression-compile-tmp/imp918s.imp"
int BASEPT;
#line 1742 "regression-compile-tmp/imp918s.imp"
int BP;
#line 1742 "regression-compile-tmp/imp918s.imp"
int FNAME;
                                                                //   1743           MONE=1; LCA=0; FORGETM(14)
#line 1743 "regression-compile-tmp/imp918s.imp"
MONE = 1;
#line 1743 "regression-compile-tmp/imp918s.imp"
LCA = 0;
#line 1743 "regression-compile-tmp/imp918s.imp"
FORGETM(14);
                                                                //   1744           CYC BITS=CYC BITS!1;                  ! SET 'LABEL' BIT
#line 1744 "regression-compile-tmp/imp918s.imp"
CYCBITS = ((CYCBITS) | (1));
                                                                //   1745           FNAME=A(P+2)
#line 1745 "regression-compile-tmp/imp918s.imp"
FNAME = A[(((unsigned char)((((int)(P)) + (2)))) + (7))];
                                                                //   1746           ->Label1411 %UNLESS A(P)=1 %AND A(P+3)=1;  ! 1ST OF UI + APP
#line 1746 "regression-compile-tmp/imp918s.imp"
if (((A[((P) + ((int)(7)))]) != (1))) goto L_010c;
#line 1746 "regression-compile-tmp/imp918s.imp"
if (((A[(((unsigned char)((((int)(P)) + (3)))) + (7))]) == (1))) goto L_010d;
#line 1746 "regression-compile-tmp/imp918s.imp"
L_010c:;
#line 1746 "regression-compile-tmp/imp918s.imp"
goto U_101b;
#line 1746 "regression-compile-tmp/imp918s.imp"
L_010d:;
                                                                //   1747           ->Label1411 %UNLESS A(P+6)#3 %AND A(P+7)=2 %AND A(P+8)&7=1
#line 1747 "regression-compile-tmp/imp918s.imp"
if (((A[(((unsigned char)((((int)(P)) + (6)))) + (7))]) == (3))) goto L_010e;
#line 1747 "regression-compile-tmp/imp918s.imp"
if (((A[(((unsigned char)((((int)(P)) + (7)))) + (7))]) != (2))) goto L_010e;
#line 1747 "regression-compile-tmp/imp918s.imp"
if (((((A[(((unsigned char)((((int)(P)) + (8)))) + (7))]) & (7))) == (1))) goto L_010f;
#line 1747 "regression-compile-tmp/imp918s.imp"
L_010e:;
#line 1747 "regression-compile-tmp/imp918s.imp"
goto U_101b;
#line 1747 "regression-compile-tmp/imp918s.imp"
L_010f:;
                                                                //   1748           ->Label1411 %UNLESS A(P+11)=2=A(P+12);     !NO R.OF.EXP. OR R.OF.APP
#line 1748 "regression-compile-tmp/imp918s.imp"
if ((((A[(((unsigned char)((((int)(P)) + (11)))) + (7))]) != (2))) || (((2) == (A[(((unsigned char)((((int)(P)) + (12)))) + (7))])))) goto L_0111;
#line 1748 "regression-compile-tmp/imp918s.imp"
L_0110:;
#line 1748 "regression-compile-tmp/imp918s.imp"
goto U_101b;
#line 1748 "regression-compile-tmp/imp918s.imp"
L_0111:;
                                                                //   1749           ->Label1411 %UNLESS A(P+13)=2=A(P+14);     ! NO ENAME OR R.OF.UI
#line 1749 "regression-compile-tmp/imp918s.imp"
if ((((A[(((unsigned char)((((int)(P)) + (13)))) + (7))]) != (2))) || (((2) == (A[(((unsigned char)((((int)(P)) + (14)))) + (7))])))) goto L_0113;
#line 1749 "regression-compile-tmp/imp918s.imp"
L_0112:;
#line 1749 "regression-compile-tmp/imp918s.imp"
goto U_101b;
#line 1749 "regression-compile-tmp/imp918s.imp"
L_0113:;
                                                                //   1750           COPY TAG(FNAME)
#line 1750 "regression-compile-tmp/imp918s.imp"
COPYTAG(FNAME);
                                                                //   1751           HEAD=K
#line 1751 "regression-compile-tmp/imp918s.imp"
HEAD = K;
                                                                //   1752           %IF OLDI#LEVEL %OR TYPE#6 %THEN FAULT(4,FNAME) %AND ->Label1
#line 1752 "regression-compile-tmp/imp918s.imp"
if (((OLDI) != (LEVEL))) goto L_0114;
#line 1752 "regression-compile-tmp/imp918s.imp"
if (((TYPE) == (6))) goto L_0115;
#line 1752 "regression-compile-tmp/imp918s.imp"
L_0114:;
#line 1752 "regression-compile-tmp/imp918s.imp"
FAULT(4, FNAME);
#line 1752 "regression-compile-tmp/imp918s.imp"
goto U_101a;
#line 1752 "regression-compile-tmp/imp918s.imp"
L_0115:;
                                                                //   1753           FROM123(HEAD,BASEPT,KKK,KK);      ! EXTRACT TABLE ADDR,LB & UB
#line 1753 "regression-compile-tmp/imp918s.imp"
FROM123(HEAD, &BASEPT, &KKK, &KK);
                                                                //   1754           MLINK(HEAD);                      ! K POINTS TO BIT LIST
#line 1754 "regression-compile-tmp/imp918s.imp"
MLINK(&HEAD);
                                                                //   1755           FROM AR4(P+9,JJ)
#line 1755 "regression-compile-tmp/imp918s.imp"
FROMAR4((((int)(P)) + (9)), &JJ);
                                                                //   1756           JJ=-JJ %IF A(P+6)=2
#line 1756 "regression-compile-tmp/imp918s.imp"
if (((A[(((unsigned char)((((int)(P)) + (6)))) + (7))]) != (2))) goto L_0116;
#line 1756 "regression-compile-tmp/imp918s.imp"
JJ = (-(JJ));
#line 1756 "regression-compile-tmp/imp918s.imp"
L_0116:;
                                                                //   1757           ->Label1402 %IF KKK<=JJ<=KK
#line 1757 "regression-compile-tmp/imp918s.imp"
if ((((KKK) > (JJ))) || (((JJ) > (KK)))) goto L_0117;
#line 1757 "regression-compile-tmp/imp918s.imp"
goto U_101c;
#line 1757 "regression-compile-tmp/imp918s.imp"
L_0117:;
                                                                //   1758  Label1411:    FAULT(5,FNAME); ->Label1
#line 1758 "regression-compile-tmp/imp918s.imp"
U_101b:;
#line 1758 "regression-compile-tmp/imp918s.imp"
FAULT(5, FNAME);
#line 1758 "regression-compile-tmp/imp918s.imp"
goto U_101a;
                                                                //   1759  Label1402:    Q=JJ-KKK
#line 1759 "regression-compile-tmp/imp918s.imp"
U_101c:;
#line 1759 "regression-compile-tmp/imp918s.imp"
Q = (((int)(JJ)) - (KKK));
                                                                //   1760           %WHILE Q>=96 %THEN MLINK(HEAD) %AND Q=Q-96
#line 1760 "regression-compile-tmp/imp918s.imp"
L_0118:;
#line 1760 "regression-compile-tmp/imp918s.imp"
if (((Q) < (96))) goto L_0119;
#line 1760 "regression-compile-tmp/imp918s.imp"
MLINK(&HEAD);
#line 1760 "regression-compile-tmp/imp918s.imp"
Q = (((int)(Q)) - (96));
#line 1760 "regression-compile-tmp/imp918s.imp"
goto L_0118;
#line 1760 "regression-compile-tmp/imp918s.imp"
L_0119:;
                                                                //   1761  !
                                                                //   1762  ! ASLIST(HEAD) IS THE START OF 96 BIT ENTRY IN THE BIT LIST
                                                                //   1763  ! CHECK BIT NO Q TO SEE IF LABEL ALREADY SET AND THEN SET BIT Q
                                                                //   1764  !
                                                                //   1765           QQ=Q>>3+HEAD;                 ! RIGHT BYTE
#line 1765 "regression-compile-tmp/imp918s.imp"
QQ = (((int)((int)((((unsigned int)(Q)) >> (3))))) + (HEAD));
                                                                //   1766           Q=Q&7; JJJ=1<<Q;              ! BIT IN BYTE
#line 1766 "regression-compile-tmp/imp918s.imp"
Q = ((Q) & (7));
#line 1766 "regression-compile-tmp/imp918s.imp"
JJJ = ((1) << (Q));
                                                                //   1767           FAULT(6,FNAME) %UNLESS ASLIST(QQ)&JJJ=0
#line 1767 "regression-compile-tmp/imp918s.imp"
if (((((ASLIST[QQ]) & (JJJ))) == (0))) goto L_011b;
#line 1767 "regression-compile-tmp/imp918s.imp"
FAULT(6, FNAME);
#line 1767 "regression-compile-tmp/imp918s.imp"
L_011b:;
                                                                //   1768           ASLIST(QQ)=ASLIST(QQ)!JJJ %UNLESS CSSMODE=0
#line 1768 "regression-compile-tmp/imp918s.imp"
if (((CSSMODE) == (0))) goto L_011c;
#line 1768 "regression-compile-tmp/imp918s.imp"
ASLIST[QQ] = ((ASLIST[QQ]) | (JJJ));
#line 1768 "regression-compile-tmp/imp918s.imp"
L_011c:;
                                                                //   1769           Q=CA-CODEBASE
#line 1769 "regression-compile-tmp/imp918s.imp"
Q = (((int)(CA)) - (CODEBASE));
                                                                //   1770           BP=BYTES(PREC)
#line 1770 "regression-compile-tmp/imp918s.imp"
BP = BYTES[PREC];
                                                                //   1771           QQ=BASEPT+8+(JJ-KKK)*BP; ! REL POSITION OF LABEL IN SST
#line 1771 "regression-compile-tmp/imp918s.imp"
QQ = ((((((int)(BASEPT)) + (8)))) + ((((int)((((int)(JJ)) - (KKK)))) * (BP))));
                                                                //   1772           %IF INHCODE=0 %THEN LPUT(4,BP,QQ,ADDR(Q)+4-BP)
#line 1772 "regression-compile-tmp/imp918s.imp"
if (((INHCODE) != (0))) goto L_011d;
#line 1772 "regression-compile-tmp/imp918s.imp"
lput(4, BP, QQ, (((int)((((int)(_imp_ADDR(&Q))) + (4)))) - (BP)));
#line 1772 "regression-compile-tmp/imp918s.imp"
L_011d:;
                                                                //   1773           FAULT(99,0) %IF Q>X'7FFF' %AND PREC#0
#line 1773 "regression-compile-tmp/imp918s.imp"
if (((Q) <= (32767))) goto L_011e;
#line 1773 "regression-compile-tmp/imp918s.imp"
if (((PREC) == (0))) goto L_011e;
#line 1773 "regression-compile-tmp/imp918s.imp"
FAULT(99, 0);
#line 1773 "regression-compile-tmp/imp918s.imp"
L_011e:;
                                                                //   1774  Label1:       %END;   ->Label1
#line 1774 "regression-compile-tmp/imp918s.imp"
U_101a:;
#line 1774 "regression-compile-tmp/imp918s.imp"
return;
} // End of block _BLOCK_7_LEVEL_2_ at level 3
_BLOCK_7_LEVEL_2_();
#line 1774 "regression-compile-tmp/imp918s.imp"
goto U_100f;
                                                                //   1775  SW(6):                                 ! (%WU)(SC)(COND)(RESTOFWU)
#line 1775 "regression-compile-tmp/imp918s.imp"
sw2_SW_6:;
                                                                //   1776           MARKIU=P+1;                   ! TO WHILE/UNTIL
#line 1776 "regression-compile-tmp/imp918s.imp"
MARKIU = (((int)(P)) + (1));
                                                                //   1777           MARKC=MARKIU+2;               ! TO (SC)(COND)
#line 1777 "regression-compile-tmp/imp918s.imp"
MARKC = (((int)(MARKIU)) + (2));
                                                                //   1778           MARKR=P+2+A(P+2);             ! TO RESTOF WU
#line 1778 "regression-compile-tmp/imp918s.imp"
MARKR = (((short)((((int)(P)) + (2)))) + (A[(((unsigned char)((((int)(P)) + (2)))) + (7))]));
                                                                //   1779           MARKUI=MARKR+1;               ! TO P(UI) IF ANY
#line 1779 "regression-compile-tmp/imp918s.imp"
MARKUI = (((int)(MARKR)) + (1));
                                                                //   1780           SET LINE
#line 1780 "regression-compile-tmp/imp918s.imp"
SETLINE();
                                                                //   1781  WHILE:   %BEGIN
#line 1781 "regression-compile-tmp/imp918s.imp"
U_1015:;
#line 1781 "regression-compile-tmp/imp918s.imp"
void _BLOCK_8_LEVEL_2_(void) {
                                                                //   1782           {%SHORTROUTINE}
                                                                //   1783           %INTEGER L1,L2,FLAG,XTRA
#line 1783 "regression-compile-tmp/imp918s.imp"
int L1;
#line 1783 "regression-compile-tmp/imp918s.imp"
int L2;
#line 1783 "regression-compile-tmp/imp918s.imp"
int FLAG;
#line 1783 "regression-compile-tmp/imp918s.imp"
int XTRA;
                                                                //   1784           %SHORTINTEGER HEAD
#line 1784 "regression-compile-tmp/imp918s.imp"
short HEAD;
                                                                //   1785           HEAD=0; XTRA=0
#line 1785 "regression-compile-tmp/imp918s.imp"
HEAD = 0;
#line 1785 "regression-compile-tmp/imp918s.imp"
XTRA = 0;
                                                                //   1786           MARKIU=A(MARKIU);             ! =1 FOR'WHILE' =2 FOR'UNTIL'
#line 1786 "regression-compile-tmp/imp918s.imp"
MARKIU = A[((MARKIU) + ((int)(7)))];
                                                                //   1787           SFLABEL=SFLABEL-1
#line 1787 "regression-compile-tmp/imp918s.imp"
SFLABEL = (((int)(SFLABEL)) - (1));
                                                                //   1788           L1=SFLABEL
#line 1788 "regression-compile-tmp/imp918s.imp"
L1 = SFLABEL;
                                                                //   1789           PLABEL=PLABEL-1;              ! RESERVE 2 LABELS
#line 1789 "regression-compile-tmp/imp918s.imp"
PLABEL = (((int)(PLABEL)) - (1));
                                                                //   1790           L2=PLABEL
#line 1790 "regression-compile-tmp/imp918s.imp"
L2 = PLABEL;
                                                                //   1791           ->WCYCLE %IF MARKR>0 %AND A(MARKR)<=2
#line 1791 "regression-compile-tmp/imp918s.imp"
if (((MARKR) <= (0))) goto L_011f;
#line 1791 "regression-compile-tmp/imp918s.imp"
if (((A[((MARKR) + ((int)(7)))]) > (2))) goto L_011f;
#line 1791 "regression-compile-tmp/imp918s.imp"
goto U_101a;
#line 1791 "regression-compile-tmp/imp918s.imp"
L_011f:;
                                                                //   1792           %IF CSSMODE#0 %AND STMTSHELD>1 %AND CYCREGS=CYCBASE=0 %C
#line 1792 "regression-compile-tmp/imp918s.imp"
if (((CSSMODE) == (0))) goto L_0120;
#line 1792 "regression-compile-tmp/imp918s.imp"
if (((STMTSHELD) <= (1))) goto L_0120;
#line 1792 "regression-compile-tmp/imp918s.imp"
if ((((CYCREGS) != (CYCBASE))) || (((CYCBASE) != (0)))) goto L_0120;
#line 1792 "regression-compile-tmp/imp918s.imp"
EXTRAPASS(1, 1, 100);
#line 1792 "regression-compile-tmp/imp918s.imp"
XTRA = 1;
#line 1792 "regression-compile-tmp/imp918s.imp"
L_0120:;
                                                                //   1793              %THEN EXTRA PASS(1,1,100) %AND XTRA=1
                                                                //   1794           ENTER LAB(L1,0);             ! UNCONDITIONAL LAB FOR REPEAT
#line 1794 "regression-compile-tmp/imp918s.imp"
ENTERLAB(L1, 0);
                                                                //   1795           %IF MARKIU=1 %THEN %START
#line 1795 "regression-compile-tmp/imp918s.imp"
if (((MARKIU) != (1))) goto L_0121;
                                                                //   1796              P=MARKC
#line 1796 "regression-compile-tmp/imp918s.imp"
P = MARKC;
                                                                //   1797              CCOND(1,L2)
#line 1797 "regression-compile-tmp/imp918s.imp"
CCOND(1, L2);
                                                                //   1798           %FINISH
#line 1798 "regression-compile-tmp/imp918s.imp"
L_0121:;
                                                                //   1799  !
                                                                //   1800           MASK=15; P=MARKUI
#line 1800 "regression-compile-tmp/imp918s.imp"
MASK = 15;
#line 1800 "regression-compile-tmp/imp918s.imp"
P = MARKUI;
                                                                //   1801           CUI(1)
#line 1801 "regression-compile-tmp/imp918s.imp"
CUI(1);
                                                                //   1802  !
                                                                //   1803           %IF MARKIU=1 %THEN %START
#line 1803 "regression-compile-tmp/imp918s.imp"
if (((MARKIU) != (1))) goto L_0122;
                                                                //   1804              ENTER JUMP(15,L1,0);        ! UNCODITIONALLY TO WHILE COND
#line 1804 "regression-compile-tmp/imp918s.imp"
ENTERJUMP(15, L1, 0);
                                                                //   1805              ENTER LAB(L2,B'111')
#line 1805 "regression-compile-tmp/imp918s.imp"
ENTERLAB(L2, 7);
                                                                //   1806           %FINISH %ELSE %START
#line 1806 "regression-compile-tmp/imp918s.imp"
goto L_0123;
#line 1806 "regression-compile-tmp/imp918s.imp"
L_0122:;
                                                                //   1807              P=MARKC; CCOND(1,L1);       ! UNTIL CONDITION AT END
#line 1807 "regression-compile-tmp/imp918s.imp"
P = MARKC;
#line 1807 "regression-compile-tmp/imp918s.imp"
CCOND(1, L1);
                                                                //   1808           %FINISH
#line 1808 "regression-compile-tmp/imp918s.imp"
L_0123:;
                                                                //   1809           %IF XTRA#0 %THEN CYC RESTORE %AND CYCREGS=0 %AND CYCBASE=0
#line 1809 "regression-compile-tmp/imp918s.imp"
if (((XTRA) == (0))) goto L_0124;
#line 1809 "regression-compile-tmp/imp918s.imp"
CYCRESTORE();
#line 1809 "regression-compile-tmp/imp918s.imp"
CYCREGS = 0;
#line 1809 "regression-compile-tmp/imp918s.imp"
CYCBASE = 0;
#line 1809 "regression-compile-tmp/imp918s.imp"
L_0124:;
                                                                //   1810           ->Label1
#line 1810 "regression-compile-tmp/imp918s.imp"
goto U_101c;
                                                                //   1811  WCYCLE:
#line 1811 "regression-compile-tmp/imp918s.imp"
U_101a:;
                                                                //   1812  !***********************************************************************
                                                                //   1813  !*       WHILE CYCLES JUST LIKE %WHILE...%THEN<UI> BUT %UNTIL CYCLES   *
                                                                //   1814  !*       STORE AWWAY AN A.R. TO BE RESET AND COMPILED TO PUT THE       *
                                                                //   1815  !*       CONDITION AT THE END. IF IT WAS PUT AT THE BEGINING 2 EXTRA   *
                                                                //   1816  !*       JUMPS ARE NEEDED TO OBTAIN THE CORRECT EFFECT.                *
                                                                //   1817  !***********************************************************************
                                                                //   1818           P=MARKC; FLAG=0
#line 1818 "regression-compile-tmp/imp918s.imp"
P = MARKC;
#line 1818 "regression-compile-tmp/imp918s.imp"
FLAG = 0;
                                                                //   1819           %IF CSSMODE=0 %THEN CCOND(1,SFLABEL-1) %ELSE %START
#line 1819 "regression-compile-tmp/imp918s.imp"
if (((CSSMODE) != (0))) goto L_0125;
#line 1819 "regression-compile-tmp/imp918s.imp"
CCOND(1, (((int)(SFLABEL)) - (1)));
#line 1819 "regression-compile-tmp/imp918s.imp"
goto L_0126;
#line 1819 "regression-compile-tmp/imp918s.imp"
L_0125:;
                                                                //   1820              CUR CYC VAR=-1
#line 1820 "regression-compile-tmp/imp918s.imp"
CURCYCVAR = (-1);
                                                                //   1821              CYCOPT(FLAG,1);                  ! NOT A PRELIMINARY LOOK
#line 1821 "regression-compile-tmp/imp918s.imp"
CYCOPT(&FLAG, 1);
                                                                //   1822              XLABEL=XLABEL-1
#line 1822 "regression-compile-tmp/imp918s.imp"
XLABEL = (((int)(XLABEL)) - (1));
                                                                //   1823              ENTER LAB(L1,0);                 ! UNCONDITIONAL FOR REPEAT
#line 1823 "regression-compile-tmp/imp918s.imp"
ENTERLAB(L1, 0);
                                                                //   1824              %IF MARKIU=2 %THEN %START;       ! '%UNTIL....%CYCLE'
#line 1824 "regression-compile-tmp/imp918s.imp"
if (((MARKIU) != (2))) goto L_0127;
                                                                //   1825                 L2=MARKR-MARKC+6
#line 1825 "regression-compile-tmp/imp918s.imp"
L2 = (((int)((((int)(MARKR)) - (MARKC)))) + (6));
                                                                //   1826                 P=P-1; A(P)=A(PIN-1);         ! GET LINE NO
#line 1826 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) - (1));
#line 1826 "regression-compile-tmp/imp918s.imp"
A[((P) + ((int)(7)))] = A[(((unsigned char)((((int)(PIN)) - (1)))) + (7))];
                                                                //   1827                 %CYCLE;                       ! DOWN AR FOR <COND>
#line 1827 "regression-compile-tmp/imp918s.imp"
L_0128:;
                                                                //   1828                   FROMAR4(P,JJJ)
#line 1828 "regression-compile-tmp/imp918s.imp"
FROMAR4(P, &JJJ);
                                                                //   1829                   FROMAR4(P+2,KKK)
#line 1829 "regression-compile-tmp/imp918s.imp"
FROMAR4((((int)(P)) + (2)), &KKK);
                                                                //   1830                   PUSH123(HEAD,JJJ,KKK,A(P+4))
#line 1830 "regression-compile-tmp/imp918s.imp"
PUSH123(&HEAD, JJJ, KKK, A[(((unsigned char)((((int)(P)) + (4)))) + (7))]);
                                                                //   1831                   P=P+5
#line 1831 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (5));
                                                                //   1832                 %REPEAT %UNTIL P>=MARKR
#line 1832 "regression-compile-tmp/imp918s.imp"
if (((P) >= (MARKR))) goto L_0129;
#line 1832 "regression-compile-tmp/imp918s.imp"
goto L_0128;
#line 1832 "regression-compile-tmp/imp918s.imp"
L_0129:;
                                                                //   1833              %FINISH %ELSE %START;            ! '%WHILE...%CYCLE
#line 1833 "regression-compile-tmp/imp918s.imp"
goto L_012b;
#line 1833 "regression-compile-tmp/imp918s.imp"
L_0127:;
                                                                //   1834                 CCOND(1,L1-1)
#line 1834 "regression-compile-tmp/imp918s.imp"
CCOND(1, (((int)(L1)) - (1)));
                                                                //   1835                 SFLABEL=SFLABEL-1
#line 1835 "regression-compile-tmp/imp918s.imp"
SFLABEL = (((int)(SFLABEL)) - (1));
                                                                //   1836              %FINISH
#line 1836 "regression-compile-tmp/imp918s.imp"
L_012b:;
                                                                //   1837              PUSH123(CYCLE(LEVEL),L1!MARKIU<<28,XLABEL<<16!L2,HEAD)
#line 1837 "regression-compile-tmp/imp918s.imp"
PUSH123(&CYCLE[LEVEL], ((L1) | (((MARKIU) << (28)))), ((((XLABEL) << (16))) | (L2)), HEAD);
                                                                //   1838          %FINISH
#line 1838 "regression-compile-tmp/imp918s.imp"
L_0126:;
                                                                //   1839  Label1:         %END; ->Label1
#line 1839 "regression-compile-tmp/imp918s.imp"
U_101c:;
#line 1839 "regression-compile-tmp/imp918s.imp"
return;
} // End of block _BLOCK_8_LEVEL_2_ at level 3
_BLOCK_8_LEVEL_2_();
#line 1839 "regression-compile-tmp/imp918s.imp"
goto U_100f;
                                                                //   1840  !
                                                                //   1841  SW(7):                                 ! SIMPLE DECLN
#line 1841 "regression-compile-tmp/imp918s.imp"
sw2_SW_7:;
                                                                //   1842           FAULT(57,0) %UNLESS LEVEL>=2
#line 1842 "regression-compile-tmp/imp918s.imp"
if (((LEVEL) >= (2))) goto L_012c;
#line 1842 "regression-compile-tmp/imp918s.imp"
FAULT(57, 0);
#line 1842 "regression-compile-tmp/imp918s.imp"
L_012c:;
                                                                //   1843           FAULT(40,0) %IF NMDECS&1#0
#line 1843 "regression-compile-tmp/imp918s.imp"
if (((((NMDECS) & (1))) == (0))) goto L_012d;
#line 1843 "regression-compile-tmp/imp918s.imp"
FAULT(40, 0);
#line 1843 "regression-compile-tmp/imp918s.imp"
L_012d:;
                                                                //   1844           SET LINE
#line 1844 "regression-compile-tmp/imp918s.imp"
SETLINE();
                                                                //   1845           P=P+1;CLT;ROUT=0
#line 1845 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
#line 1845 "regression-compile-tmp/imp918s.imp"
CLT();
#line 1845 "regression-compile-tmp/imp918s.imp"
ROUT = 0;
                                                                //   1846           %IF A(P)=1 %THEN %START;      ! SCALAR DECLARATIONS
#line 1846 "regression-compile-tmp/imp918s.imp"
if (((A[((P) + ((int)(7)))]) != (1))) goto L_012e;
                                                                //   1847              CQN(P+1);P=P+2
#line 1847 "regression-compile-tmp/imp918s.imp"
CQN((((int)(P)) + (1)));
#line 1847 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (2));
                                                                //   1848              DECLARE SCALARS(1,0)
#line 1848 "regression-compile-tmp/imp918s.imp"
DECLARESCALARS(1, 0);
                                                                //   1849           %FINISH %ELSE %START;         ! ARRAY DECLARATIONS
#line 1849 "regression-compile-tmp/imp918s.imp"
goto L_012f;
#line 1849 "regression-compile-tmp/imp918s.imp"
L_012e:;
                                                                //   1850              FAULT(70,0) %IF TYPE=5 %AND ACC=0
#line 1850 "regression-compile-tmp/imp918s.imp"
if (((TYPE) != (5))) goto L_0130;
#line 1850 "regression-compile-tmp/imp918s.imp"
if (((ACC) != (0))) goto L_0130;
#line 1850 "regression-compile-tmp/imp918s.imp"
FAULT(70, 0);
#line 1850 "regression-compile-tmp/imp918s.imp"
L_0130:;
                                                                //   1851              NAM=0
#line 1851 "regression-compile-tmp/imp918s.imp"
NAM = 0;
                                                                //   1852              QQ=2-A(P+1); P=P+2;        ! QQ=1 FOR ARRAYFORMATS
#line 1852 "regression-compile-tmp/imp918s.imp"
QQ = ((2) - ((int)(A[(((unsigned char)((((int)(P)) + (1)))) + (7))])));
#line 1852 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (2));
                                                                //   1853              DECLARE ARRAYS(QQ,0)
#line 1853 "regression-compile-tmp/imp918s.imp"
DECLAREARRAYS(QQ, 0);
                                                                //   1854             %FINISH
#line 1854 "regression-compile-tmp/imp918s.imp"
L_012f:;
                                                                //   1855           ->Label1
#line 1855 "regression-compile-tmp/imp918s.imp"
goto U_100f;
                                                                //   1856  !
                                                                //   1857           %ROUTINE DECLARE SCALARS(%INTEGER PERMIT,XTRA)
#line 1857 "regression-compile-tmp/imp918s.imp"
void DECLARESCALARS( int PERMIT, int XTRA )
#line 1857 "regression-compile-tmp/imp918s.imp"
{
                                                                //   1858           {%SHORTROUTINE}
                                                                //   1859  !***********************************************************************
                                                                //   1860  !*       THIS ROUTINE DECLARES A LIST OF SCALARS FROM INFORMATION      *
                                                                //   1861  !*       IN THE GLOBAL VARIABLES ROUT,NAM,ARR,PREC,TYPE & ACC.IT WORKS *
                                                                //   1862  !*       OUT ROUNDING FACTORS FOR ITSELF. IF PERMIT#0 STRINGS AND      *
                                                                //   1863  !*       RECORDS ARE ALLOCATED AT RUN TIME(ALLOC=1) WHEN SPACE IS      *
                                                                //   1864  !*       TIGHT. P POINTS TO THE NAMELIST ON ENTRY AND IS UPDATED.      *
                                                                //   1865  !***********************************************************************
                                                                //   1866           %INTEGER REP,ALLOC,INC,ROUND,Q,SCHAIN,NIN
#line 1866 "regression-compile-tmp/imp918s.imp"
int REP;
#line 1866 "regression-compile-tmp/imp918s.imp"
int ALLOC;
#line 1866 "regression-compile-tmp/imp918s.imp"
int INC;
#line 1866 "regression-compile-tmp/imp918s.imp"
int ROUND;
#line 1866 "regression-compile-tmp/imp918s.imp"
int Q;
#line 1866 "regression-compile-tmp/imp918s.imp"
int SCHAIN;
#line 1866 "regression-compile-tmp/imp918s.imp"
int NIN;
                                                                //   1867           %CONSTBYTEINTEGERARRAY RACC (1:32)=               %C
#line 1867 "regression-compile-tmp/imp918s.imp"
const unsigned char RACC[32] = { 68, 68, 128, 0, 16, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 136,  };
                                                                //   1868                                  X'44' (2),X'80',0,X'10',0(5),
                                                                //   1869                                         X'11',0(9),
                                                                //   1870                                         X'22',0(9),
                                                                //   1871                                         0,X'88'
                                                                //   1872           PACK(PTYPE); J=0; NIN=N
#line 1872 "regression-compile-tmp/imp918s.imp"
PACK(&PTYPE);
#line 1872 "regression-compile-tmp/imp918s.imp"
J = 0;
#line 1872 "regression-compile-tmp/imp918s.imp"
NIN = N;
                                                                //   1873           %IF PTYPE<=32 %THEN ROUND=RACC(PTYPE) %ELSE %START
#line 1873 "regression-compile-tmp/imp918s.imp"
if (((PTYPE) > (32))) goto L_0131;
#line 1873 "regression-compile-tmp/imp918s.imp"
ROUND = (RACC-1)[PTYPE];
#line 1873 "regression-compile-tmp/imp918s.imp"
goto L_0132;
#line 1873 "regression-compile-tmp/imp918s.imp"
L_0131:;
                                                                //   1874               %IF NAM=1 %AND TYPE=0 %AND ROUT=0 %THEN ROUND=X'48' %C
#line 1874 "regression-compile-tmp/imp918s.imp"
if (((NAM) != (1))) goto L_0133;
#line 1874 "regression-compile-tmp/imp918s.imp"
if (((TYPE) != (0))) goto L_0133;
#line 1874 "regression-compile-tmp/imp918s.imp"
if (((ROUT) != (0))) goto L_0133;
#line 1874 "regression-compile-tmp/imp918s.imp"
ROUND = 72;
#line 1874 "regression-compile-tmp/imp918s.imp"
goto L_0134;
#line 1874 "regression-compile-tmp/imp918s.imp"
L_0133:;
#line 1874 "regression-compile-tmp/imp918s.imp"
ROUND = 68;
#line 1874 "regression-compile-tmp/imp918s.imp"
L_0134:;
                                                                //   1875                                                 %ELSE ROUND=X'44'
                                                                //   1876           %FINISH
#line 1876 "regression-compile-tmp/imp918s.imp"
L_0132:;
                                                                //   1877           %IF ARR=1 %AND ROUT=0 %THEN INC=16 %ELSE INC=ROUND&15
#line 1877 "regression-compile-tmp/imp918s.imp"
if (((ARR) != (1))) goto L_0135;
#line 1877 "regression-compile-tmp/imp918s.imp"
if (((ROUT) != (0))) goto L_0135;
#line 1877 "regression-compile-tmp/imp918s.imp"
INC = 16;
#line 1877 "regression-compile-tmp/imp918s.imp"
goto L_0136;
#line 1877 "regression-compile-tmp/imp918s.imp"
L_0135:;
#line 1877 "regression-compile-tmp/imp918s.imp"
INC = ((ROUND) & (15));
#line 1877 "regression-compile-tmp/imp918s.imp"
L_0136:;
                                                                //   1878                                         ! BEWARE MAPS
                                                                //   1879           %IF INC=0 %THEN INC=ACC
#line 1879 "regression-compile-tmp/imp918s.imp"
if (((INC) != (0))) goto L_0137;
#line 1879 "regression-compile-tmp/imp918s.imp"
INC = ACC;
#line 1879 "regression-compile-tmp/imp918s.imp"
L_0137:;
                                                                //   1880           ROUND=ROUND>>4;               ! ITEM LENGTH AND BOUNDARY O.K.
#line 1880 "regression-compile-tmp/imp918s.imp"
ROUND = (int)((((unsigned int)(ROUND)) >> (4)));
                                                                //   1881           %IF PTYPE=5 %AND ACC=0 %THEN FAULT(70,0)
#line 1881 "regression-compile-tmp/imp918s.imp"
if (((PTYPE) != (5))) goto L_0138;
#line 1881 "regression-compile-tmp/imp918s.imp"
if (((ACC) != (0))) goto L_0138;
#line 1881 "regression-compile-tmp/imp918s.imp"
FAULT(70, 0);
#line 1881 "regression-compile-tmp/imp918s.imp"
L_0138:;
                                                                //   1882           ALLOC=0; REP=A(P)
#line 1882 "regression-compile-tmp/imp918s.imp"
ALLOC = 0;
#line 1882 "regression-compile-tmp/imp918s.imp"
REP = A[((P) + ((int)(7)))];
                                                                //   1883           %IF PERMIT#0 %AND(PTYPE=3 %OR PTYPE=5) %AND %C
#line 1883 "regression-compile-tmp/imp918s.imp"
if (((PERMIT) == (0))) goto L_0139;
#line 1883 "regression-compile-tmp/imp918s.imp"
if (((PTYPE) == (3))) goto L_011a;
#line 1883 "regression-compile-tmp/imp918s.imp"
if (((PTYPE) != (5))) goto L_0139;
#line 1883 "regression-compile-tmp/imp918s.imp"
L_011a:;
#line 1883 "regression-compile-tmp/imp918s.imp"
if ((((((int)((((int)(ACC)) * (REP)))) + (N))) <= ((((int)(4096)) - (MARGIN))))) goto L_0139;
                                                                //   1884              ACC*REP+N>4096-MARGIN %THEN %START
                                                                //   1885              NAM=1;  PACK(PTYPE)
#line 1885 "regression-compile-tmp/imp918s.imp"
NAM = 1;
#line 1885 "regression-compile-tmp/imp918s.imp"
PACK(&PTYPE);
                                                                //   1886              ROUND=4; INC=4
#line 1886 "regression-compile-tmp/imp918s.imp"
ROUND = 4;
#line 1886 "regression-compile-tmp/imp918s.imp"
INC = 4;
                                                                //   1887              ALLOC=1
#line 1887 "regression-compile-tmp/imp918s.imp"
ALLOC = 1;
                                                                //   1888           %FINISH
#line 1888 "regression-compile-tmp/imp918s.imp"
L_0139:;
                                                                //   1889           N=(N+ROUND-1)&(-ROUND)
#line 1889 "regression-compile-tmp/imp918s.imp"
N = (((((int)((((int)(N)) + (ROUND)))) - (1))) & ((-(ROUND))));
                                                                //   1890           %CYCLE Q=1,1,REP;         ! DOWN THE NAMELIST
#line 1890 "regression-compile-tmp/imp918s.imp"
{static int _initial, _increment, _final, _control;
_initial = 1; _increment = 1; _final = REP; Q = _control = _initial;
if (((_final-_initial) % _increment) != 0) _imp_signal(5,1,0,"Illegal cycle Q = 1, 1, REP");
Q -= _increment; _control -= _increment;
L_013a:;
if (Q == _final) goto L_013b;
Q += _increment; _control += _increment;
if (Q != _control) _imp_signal(4,2,0,"Corrupt control variable Q"); /* FOR loop control variable corrupted */
}
                                                                //   1891              K=A(P+Q); TEST NST
#line 1891 "regression-compile-tmp/imp918s.imp"
K = A[(((unsigned char)((((int)(P)) + (Q)))) + (7))];
#line 1891 "regression-compile-tmp/imp918s.imp"
TESTNST();
                                                                //   1892              SCHAIN=N
#line 1892 "regression-compile-tmp/imp918s.imp"
SCHAIN = N;
                                                                //   1893              %IF ROUT=1 %THEN %START
#line 1893 "regression-compile-tmp/imp918s.imp"
if (((ROUT) != (1))) goto L_013d;
                                                                //   1894                 SCHAIN=0; J=13; SNDISP=N>>2
#line 1894 "regression-compile-tmp/imp918s.imp"
SCHAIN = 0;
#line 1894 "regression-compile-tmp/imp918s.imp"
J = 13;
#line 1894 "regression-compile-tmp/imp918s.imp"
SNDISP = (int)((((unsigned int)(N)) >> (2)));
                                                                //   1895                 KFORM=1000
#line 1895 "regression-compile-tmp/imp918s.imp"
KFORM = 1000;
                                                                //   1896              %FINISH
#line 1896 "regression-compile-tmp/imp918s.imp"
L_013d:;
                                                                //   1897              %IF TYPE=3 %THEN KFORM=XTRA
#line 1897 "regression-compile-tmp/imp918s.imp"
if (((TYPE) != (3))) goto L_013e;
#line 1897 "regression-compile-tmp/imp918s.imp"
KFORM = XTRA;
#line 1897 "regression-compile-tmp/imp918s.imp"
L_013e:;
                                                                //   1898              STORE TAG(K,SCHAIN)
#line 1898 "regression-compile-tmp/imp918s.imp"
STORETAG(K, SCHAIN);
                                                                //   1899              %IF ALLOC=1 %THEN %START
#line 1899 "regression-compile-tmp/imp918s.imp"
if (((ALLOC) != (1))) goto L_013f;
                                                                //   1900                 %IF UNASS=1 %THEN PSS(X'D2',8,WSPR,0,CODER,216)
#line 1900 "regression-compile-tmp/imp918s.imp"
if (((UNASS) != (1))) goto L_0140;
#line 1900 "regression-compile-tmp/imp918s.imp"
PSS(210, 8, 11, 0, 12, 216);
#line 1900 "regression-compile-tmp/imp918s.imp"
L_0140:;
                                                                //   1901                 DUMP(X'50',WSPR,N,0,RBASE)
#line 1901 "regression-compile-tmp/imp918s.imp"
DUMP(80, 11, N, 0, RBASE);
                                                                //   1902                 %IF TYPE=5 %THEN DUMPSI(X'92',ACC-1,RBASE,N)
#line 1902 "regression-compile-tmp/imp918s.imp"
if (((TYPE) != (5))) goto L_0141;
#line 1902 "regression-compile-tmp/imp918s.imp"
DUMPSI(146, (((int)(ACC)) - (1)), RBASE, N);
#line 1902 "regression-compile-tmp/imp918s.imp"
L_0141:;
                                                                //   1903                 MOVER(WSPR,(ACC+7)&(-8))
#line 1903 "regression-compile-tmp/imp918s.imp"
MOVER(11, (((((int)(ACC)) + (7))) & ((-8))));
                                                                //   1904              %FINISH
#line 1904 "regression-compile-tmp/imp918s.imp"
L_013f:;
                                                                //   1905              N=N+INC
#line 1905 "regression-compile-tmp/imp918s.imp"
N = (((int)(N)) + (INC));
                                                                //   1906           %REPEAT
#line 1906 "regression-compile-tmp/imp918s.imp"
goto L_013a;
#line 1906 "regression-compile-tmp/imp918s.imp"
L_013b:;
                                                                //   1907           P=P+REP+1
#line 1907 "regression-compile-tmp/imp918s.imp"
P = (((int)((((int)(P)) + (REP)))) + (1));
                                                                //   1908           N=(N+3)&(-4) %IF PERMIT#0;! NO ROUNDING AMONG PARAMS
#line 1908 "regression-compile-tmp/imp918s.imp"
if (((PERMIT) == (0))) goto L_0142;
#line 1908 "regression-compile-tmp/imp918s.imp"
N = (((((int)(N)) + (3))) & ((-4)));
#line 1908 "regression-compile-tmp/imp918s.imp"
L_0142:;
                                                                //   1909           BULKM(0,N-NIN,RBASE,NIN,0,X'80') %IF UNASS=1 %AND %C
#line 1909 "regression-compile-tmp/imp918s.imp"
if (((UNASS) != (1))) goto L_0143;
#line 1909 "regression-compile-tmp/imp918s.imp"
if (((ALLOC) != (0))) goto L_0143;
#line 1909 "regression-compile-tmp/imp918s.imp"
if (((PERMIT) == (0))) goto L_0143;
#line 1909 "regression-compile-tmp/imp918s.imp"
BULKM(0, (((int)(N)) - (NIN)), RBASE, NIN, 0, 128);
#line 1909 "regression-compile-tmp/imp918s.imp"
L_0143:;
                                                                //   1910           ALLOC=0 %AND PERMIT\=0
                                                                //   1911           %END
#line 1911 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block DECLARESCALARS at level 3
                                                                //   1912           %ROUTINE DECLARE ARRAYS(%INTEGER FORMAT,FINF)
#line 1912 "regression-compile-tmp/imp918s.imp"
void DECLAREARRAYS( int FORMAT, int FINF )
#line 1912 "regression-compile-tmp/imp918s.imp"
{
                                                                //   1913           {%SHORTROUTINE}
                                                                //   1914  !***********************************************************************
                                                                //   1915  !*       FORMAT=1 FOR 'ARRAYFORMAT'   =0 OTHERWISE                     *
                                                                //   1916  !*       FINF>0 FOR RECORD FORMAT INFORMATION =0 OTHERWISE             *
                                                                //   1917  !*       P IS AT P<ADECLN>   IN                                        *
                                                                //   1918  !*                                                                     *
                                                                //   1919  !*       P<ADECLN>=<NAMELIST> <BPAIR> <RESTOFDECLN>                    *
                                                                //   1920  !*       P<BPAIR> = <CBPAIR>,'('<EXPR>':'<EXRR><RESTOFBP>*')'          *
                                                                //   1921  !*                                                                     *
                                                                //   1922  !*       ARRAYS OF ONE DIMENSION WITH CONSTANT BOUNDS HAVE THEIR       *
                                                                //   1923  !*       DOPE-VECTOR IN THE CONSTANT AREA AND MAY HAVE THEIR SPACE     *
                                                                //   1924  !*       ALLOCATED AT COMPILE TIME AMONG THE SCALARS                   *
                                                                //   1925  !*       ALL OTHER ARRAYS HAVE A DOPE VECTOR AMONG THE LOCALS AND GET  *
                                                                //   1926  !*       THEIR SPACE OFF THE STACK AT RUN TIME                         *
                                                                //   1927  !*       BOTH SORTS OF ARRAYS HAVE A FOUR WORD HEAD AND D-V TO EMAS    *
                                                                //   1928  !*       SYSTEM STANDARDS                                              *
                                                                //   1929  !***********************************************************************
                                                                //   1930           %INTEGER DVDISP,PP,DVF,ELSIZE,TOTSIZE,L,U,D1,D0
#line 1930 "regression-compile-tmp/imp918s.imp"
int DVDISP;
#line 1930 "regression-compile-tmp/imp918s.imp"
int PP;
#line 1930 "regression-compile-tmp/imp918s.imp"
int DVF;
#line 1930 "regression-compile-tmp/imp918s.imp"
int ELSIZE;
#line 1930 "regression-compile-tmp/imp918s.imp"
int TOTSIZE;
#line 1930 "regression-compile-tmp/imp918s.imp"
int L;
#line 1930 "regression-compile-tmp/imp918s.imp"
int U;
#line 1930 "regression-compile-tmp/imp918s.imp"
int D1;
#line 1930 "regression-compile-tmp/imp918s.imp"
int D0;
                                                                //   1931           %INTEGER PTYPEP,ARRP,NN,ND,II,JJ,QQ,R,CDV
#line 1931 "regression-compile-tmp/imp918s.imp"
int PTYPEP;
#line 1931 "regression-compile-tmp/imp918s.imp"
int ARRP;
#line 1931 "regression-compile-tmp/imp918s.imp"
int NN;
#line 1931 "regression-compile-tmp/imp918s.imp"
int ND;
#line 1931 "regression-compile-tmp/imp918s.imp"
int II;
#line 1931 "regression-compile-tmp/imp918s.imp"
int JJ;
#line 1931 "regression-compile-tmp/imp918s.imp"
int QQ;
#line 1931 "regression-compile-tmp/imp918s.imp"
int R;
#line 1931 "regression-compile-tmp/imp918s.imp"
int CDV;
                                                                //   1932           ARRP=2*FORMAT+1; ARR=ARRP; PACK(PTYPEP)
#line 1932 "regression-compile-tmp/imp918s.imp"
ARRP = (((int)((((int)(2)) * (FORMAT)))) + (1));
#line 1932 "regression-compile-tmp/imp918s.imp"
ARR = ARRP;
#line 1932 "regression-compile-tmp/imp918s.imp"
PACK(&PTYPEP);
                                                                //   1933           ELSIZE=ACC
#line 1933 "regression-compile-tmp/imp918s.imp"
ELSIZE = ACC;
                                                                //   1934  START:   NN=A(P+1);                    ! NO OF NAMES IN NAMELIST
#line 1934 "regression-compile-tmp/imp918s.imp"
U_101d:;
#line 1934 "regression-compile-tmp/imp918s.imp"
NN = A[(((unsigned char)((((int)(P)) + (1)))) + (7))];
                                                                //   1935           PP=P; CDV=0
#line 1935 "regression-compile-tmp/imp918s.imp"
PP = P;
#line 1935 "regression-compile-tmp/imp918s.imp"
CDV = 0;
                                                                //   1936           P=P+2+NN;
#line 1936 "regression-compile-tmp/imp918s.imp"
P = (((int)((((int)(P)) + (2)))) + (NN));
                                                                //   1937           %IF A(P)=1 %THEN -> CONSTDV;  ! P<BPAIR> =<CBPAIR>
#line 1937 "regression-compile-tmp/imp918s.imp"
if (((A[((P) + ((int)(7)))]) != (1))) goto L_0144;
#line 1937 "regression-compile-tmp/imp918s.imp"
goto U_101e;
#line 1937 "regression-compile-tmp/imp918s.imp"
L_0144:;
                                                                //   1938  !
                                                                //   1939  ! NORMAL CASE - PLANT CODE TO SET UP DOPE-VECTOR AT RUN TIME
                                                                //   1940  !
                                                                //   1941           ND=0; JJ=P; DVF=0;TOTSIZE=X'FFFF'
#line 1941 "regression-compile-tmp/imp918s.imp"
ND = 0;
#line 1941 "regression-compile-tmp/imp918s.imp"
JJ = P;
#line 1941 "regression-compile-tmp/imp918s.imp"
DVF = 0;
#line 1941 "regression-compile-tmp/imp918s.imp"
TOTSIZE = 65535;
                                                                //   1942           %CYCLE;                       ! TILL NO MORE BPAIRS
#line 1942 "regression-compile-tmp/imp918s.imp"
L_0145:;
                                                                //   1943              P=P+1; ND=ND+1;            ! COUNT NO OF DIMENSIONS
#line 1943 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
#line 1943 "regression-compile-tmp/imp918s.imp"
ND = (((int)(ND)) + (1));
                                                                //   1944              SKIP EXP; SKIP EXP
#line 1944 "regression-compile-tmp/imp918s.imp"
SKIPEXP();
#line 1944 "regression-compile-tmp/imp918s.imp"
SKIPEXP();
                                                                //   1945           %REPEAT %UNTIL A(P)=2
#line 1945 "regression-compile-tmp/imp918s.imp"
if (((A[((P) + ((int)(7)))]) == (2))) goto L_0146;
#line 1945 "regression-compile-tmp/imp918s.imp"
goto L_0145;
#line 1945 "regression-compile-tmp/imp918s.imp"
L_0146:;
                                                                //   1946           P=JJ; DVDISP=N;               ! DVDISP IS D-V POSITION
#line 1946 "regression-compile-tmp/imp918s.imp"
P = JJ;
#line 1946 "regression-compile-tmp/imp918s.imp"
DVDISP = N;
                                                                //   1947           N=N+12*ND+4;                  ! CLAIM SPACE FOR THE D-V
#line 1947 "regression-compile-tmp/imp918s.imp"
N = (((int)(((N) + ((int)((((int)(12)) * (ND))))))) + (4));
                                                                //   1948           FAULT(37,0) %IF ND>7;           ! TOO MANY DIMENSIONS
#line 1948 "regression-compile-tmp/imp918s.imp"
if (((ND) <= (7))) goto L_0148;
#line 1948 "regression-compile-tmp/imp918s.imp"
FAULT(37, 0);
#line 1948 "regression-compile-tmp/imp918s.imp"
L_0148:;
                                                                //   1949  !
                                                                //   1950           DUMP(0,-2,ELSIZE,0,0)
#line 1950 "regression-compile-tmp/imp918s.imp"
DUMP(0, (-2), ELSIZE, 0, 0);
                                                                //   1951           REGISTER(NEST)=1
#line 1951 "regression-compile-tmp/imp918s.imp"
REGISTER[NEST] = 1;
                                                                //   1952           DUMP(X'50',NEST,DVDISP,0,RBASE)
#line 1952 "regression-compile-tmp/imp918s.imp"
DUMP(80, NEST, DVDISP, 0, RBASE);
                                                                //   1953           FREE AND FORGET(NEST)
#line 1953 "regression-compile-tmp/imp918s.imp"
FREEANDFORGET(NEST);
                                                                //   1954           DUMPSI(X'92',ND,RBASE,DVDISP+1);  ! FIRST ND=ND<<16!ELSIZE
#line 1954 "regression-compile-tmp/imp918s.imp"
DUMPSI(146, ND, RBASE, (((int)(DVDISP)) + (1)));
                                                                //   1955  !
                                                                //   1956           %CYCLE II=0,1,ND-1
#line 1956 "regression-compile-tmp/imp918s.imp"
{static int _initial, _increment, _final, _control;
_initial = 0; _increment = 1; _final = (((int)(ND)) - (1)); II = _control = _initial;
if (((_final-_initial) % _increment) != 0) _imp_signal(5,1,0,"Illegal cycle II = 0, 1, (((int)(ND)) - (1))");
II -= _increment; _control -= _increment;
L_0149:;
if (II == _final) goto L_014a;
II += _increment; _control += _increment;
if (II != _control) _imp_signal(4,2,0,"Corrupt control variable II"); /* FOR loop control variable corrupted */
}
                                                                //   1957              P=P+1
#line 1957 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
                                                                //   1958              %CYCLE JJ=0,1,1
#line 1958 "regression-compile-tmp/imp918s.imp"
JJ = (-1);
if ((((1)-(0)) % (1)) != 0) _imp_signal(5,1,0,"Illegal cycle JJ = 0, 1, 1");
L_014c:;
if (JJ == 1) goto L_014d;
JJ += 1;
                                                                //   1959                 QQ=12*II+4*JJ+4+DVDISP
#line 1959 "regression-compile-tmp/imp918s.imp"
QQ = (((int)((((int)(((((((int)(12)) * (II)))) + ((((int)(4)) * (JJ)))))) + (4)))) + (DVDISP));
                                                                //   1960                 TYPE=1; PREC=0; PTYPE=1
#line 1960 "regression-compile-tmp/imp918s.imp"
TYPE = 1;
#line 1960 "regression-compile-tmp/imp918s.imp"
PREC = 0;
#line 1960 "regression-compile-tmp/imp918s.imp"
PTYPE = 1;
                                                                //   1961                 ASSIGN(2,RBASE<<16!QQ); ! ASSIGN EXPR TO DVITEM
#line 1961 "regression-compile-tmp/imp918s.imp"
ASSIGN(2, ((((RBASE) << (16))) | (QQ)));
                                                                //   1962              %REPEAT
#line 1962 "regression-compile-tmp/imp918s.imp"
goto L_014c;
#line 1962 "regression-compile-tmp/imp918s.imp"
L_014d:;
                                                                //   1963           %REPEAT
#line 1963 "regression-compile-tmp/imp918s.imp"
goto L_0149;
#line 1963 "regression-compile-tmp/imp918s.imp"
L_014a:;
                                                                //   1964           P=P+1
#line 1964 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
                                                                //   1965           DUMP(0,2,DVDISP,0,RBASE)
#line 1965 "regression-compile-tmp/imp918s.imp"
DUMP(0, 2, DVDISP, 0, RBASE);
                                                                //   1966  RUN TIME:                              ! ALLOCATE SPACE AT RUN TIME
#line 1966 "regression-compile-tmp/imp918s.imp"
U_101f:;
                                                                //   1967                                         ! R2 POINTS TO D-V
                                                                //   1968           DVF=0;                        ! NOT VECTORS
#line 1968 "regression-compile-tmp/imp918s.imp"
DVF = 0;
                                                                //   1969           PRX(X'50',2,0,GLA,36);        ! PUT POINTER INTO GLA
#line 1969 "regression-compile-tmp/imp918s.imp"
PRX(80, 2, 0, 13, 36);
                                                                //   1970           JJ=FORMAT<<7!UNASS
#line 1970 "regression-compile-tmp/imp918s.imp"
JJ = ((((FORMAT) << (7))) | (UNASS));
                                                                //   1971           PSI(X'92',JJ,GLA,36) %IF JJ#0;! AND ADD FLAGS
#line 1971 "regression-compile-tmp/imp918s.imp"
if (((JJ) == (0))) goto L_014f;
#line 1971 "regression-compile-tmp/imp918s.imp"
PSI(146, JJ, 13, 36);
#line 1971 "regression-compile-tmp/imp918s.imp"
L_014f:;
                                                                //   1972           -> DECL
#line 1972 "regression-compile-tmp/imp918s.imp"
goto U_1020;
                                                                //   1973  CONSTDV:                               ! ONE DIMENSION - CONSTANT BOUNDS
#line 1973 "regression-compile-tmp/imp918s.imp"
U_101e:;
                                                                //   1974           DVF=1; ND=1; P=P+1; CDV=1
#line 1974 "regression-compile-tmp/imp918s.imp"
DVF = 1;
#line 1974 "regression-compile-tmp/imp918s.imp"
ND = 1;
#line 1974 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
#line 1974 "regression-compile-tmp/imp918s.imp"
CDV = 1;
                                                                //   1975           CBPAIR(L,U);                  ! GET BOUNDS
#line 1975 "regression-compile-tmp/imp918s.imp"
CBPAIR(&L, &U);
                                                                //   1976           DVDISP=DOPE VECTOR(ELSIZE,L,U); ! AND GENERATE A D-V
#line 1976 "regression-compile-tmp/imp918s.imp"
DVDISP = DOPEVECTOR(ELSIZE, L, U);
                                                                //   1977           R=U-L+1;                      ! RANGE=SPACES AS ELEMENTS
#line 1977 "regression-compile-tmp/imp918s.imp"
R = (((int)((((int)(U)) - (L)))) + (1));
                                                                //   1978           TOTSIZE=R*ELSIZE
#line 1978 "regression-compile-tmp/imp918s.imp"
TOTSIZE = (((int)(R)) * (ELSIZE));
                                                                //   1979  !
                                                                //   1980           II=DVDISP-GRINF(2)
#line 1980 "regression-compile-tmp/imp918s.imp"
II = (((int)(DVDISP)) - (GRINF[2]));
                                                                //   1981           %UNLESS GRUSE(2)=17 %AND II>=0 %THEN %START
#line 1981 "regression-compile-tmp/imp918s.imp"
if (((GRUSE[2]) != (17))) goto L_014b;
#line 1981 "regression-compile-tmp/imp918s.imp"
if (((II) >= (0))) goto L_0150;
#line 1981 "regression-compile-tmp/imp918s.imp"
L_014b:;
                                                                //   1982              PCONST(X'5820D000');       ! LOAD R2,POINTER TO SST
#line 1982 "regression-compile-tmp/imp918s.imp"
PCONST(1478545408);
                                                                //   1983              FORGET(2)
#line 1983 "regression-compile-tmp/imp918s.imp"
FORGET(2);
                                                                //   1984              II=DVDISP
#line 1984 "regression-compile-tmp/imp918s.imp"
II = DVDISP;
                                                                //   1985           %FINISH
#line 1985 "regression-compile-tmp/imp918s.imp"
L_0150:;
                                                                //   1986  !
                                                                //   1987           REGISTER(2)=1
#line 1987 "regression-compile-tmp/imp918s.imp"
REGISTER[2] = 1;
                                                                //   1988           DUMP(0,2,II,0,2) %UNLESS II=0
#line 1988 "regression-compile-tmp/imp918s.imp"
if (((II) == (0))) goto L_0151;
#line 1988 "regression-compile-tmp/imp918s.imp"
DUMP(0, 2, II, 0, 2);
#line 1988 "regression-compile-tmp/imp918s.imp"
L_0151:;
                                                                //   1989           REGISTER(2)=0
#line 1989 "regression-compile-tmp/imp918s.imp"
REGISTER[2] = 0;
                                                                //   1990           JJ=4096-N-MARGIN;             ! SPACE AVAILABLE
#line 1990 "regression-compile-tmp/imp918s.imp"
JJ = (((int)((((int)(4096)) - (N)))) - (MARGIN));
                                                                //   1991           JJ=JJ-MARGIN//2 %IF RBASE=9;  ! LEAVE LARGER MARGIN AT TOP
#line 1991 "regression-compile-tmp/imp918s.imp"
if (((RBASE) != (9))) goto L_0152;
#line 1991 "regression-compile-tmp/imp918s.imp"
JJ = ((JJ) - (((long)((long)((int)(MARGIN)) / (long)((int)(2))))));
#line 1991 "regression-compile-tmp/imp918s.imp"
L_0152:;
                                                                //   1992                                         ! LEVEL SINCE DECLNS THERE ARE
                                                                //   1993                                         ! ONLY EXECUTED ONCE
                                                                //   1994           -> RUNTIME %UNLESS FORMAT=0 %AND UNASS=0
#line 1994 "regression-compile-tmp/imp918s.imp"
if (((FORMAT) != (0))) goto L_0153;
#line 1994 "regression-compile-tmp/imp918s.imp"
if (((UNASS) == (0))) goto L_0154;
#line 1994 "regression-compile-tmp/imp918s.imp"
L_0153:;
#line 1994 "regression-compile-tmp/imp918s.imp"
goto U_101f;
#line 1994 "regression-compile-tmp/imp918s.imp"
L_0154:;
                                                                //   1995           -> RUNTIME %IF NN*TOTSIZE>JJ %OR L>U
#line 1995 "regression-compile-tmp/imp918s.imp"
if ((((((int)(NN)) * (TOTSIZE))) > (JJ))) goto L_0155;
#line 1995 "regression-compile-tmp/imp918s.imp"
if (((L) <= (U))) goto L_0156;
#line 1995 "regression-compile-tmp/imp918s.imp"
L_0155:;
#line 1995 "regression-compile-tmp/imp918s.imp"
goto U_101f;
#line 1995 "regression-compile-tmp/imp918s.imp"
L_0156:;
                                                                //   1996           II=N-L*ELSIZE
#line 1996 "regression-compile-tmp/imp918s.imp"
II = ((N) - ((int)((((int)(L)) * (ELSIZE)))));
                                                                //   1997           -> RUNTIME %UNLESS II>0 %AND II+(NN-1)*(TOTSIZE+16)<4000
#line 1997 "regression-compile-tmp/imp918s.imp"
if (((II) <= (0))) goto L_0157;
#line 1997 "regression-compile-tmp/imp918s.imp"
if (((((II) + ((int)(((((((int)(NN)) - (1)))) * ((((int)(TOTSIZE)) + (16)))))))) < (4000))) goto L_0158;
#line 1997 "regression-compile-tmp/imp918s.imp"
L_0157:;
#line 1997 "regression-compile-tmp/imp918s.imp"
goto U_101f;
#line 1997 "regression-compile-tmp/imp918s.imp"
L_0158:;
                                                                //   1998  !
                                                                //   1999  ! CAN ALLOCATE ARRAYS AS STRINGS OF LOCALS. THIS SAVES TIME AT DECLARATION
                                                                //   2000  ! BUT ALSO ALLOWS THE LEVEL POINTER TO BE USED TO ADDRESS
                                                                //   2001  ! THE ARRAY SAVING A REGISTER ON EACH ACCESS.
                                                                //   2002  !
                                                                //   2003           DUMP(0,3,ELSIZE,0,0) %UNLESS COMPILER=1
#line 2003 "regression-compile-tmp/imp918s.imp"
if (((COMPILER) == (1))) goto L_0159;
#line 2003 "regression-compile-tmp/imp918s.imp"
DUMP(0, 3, ELSIZE, 0, 0);
#line 2003 "regression-compile-tmp/imp918s.imp"
L_0159:;
                                                                //   2004  DECL:                                  ! MAKE DECLN - BOTH WAYS
#line 2004 "regression-compile-tmp/imp918s.imp"
U_1020:;
                                                                //   2005           PTYPE=PTYPEP+100*DVF;         ! ARR=2 FOR VECTORS =3 FOR FORMAT
#line 2005 "regression-compile-tmp/imp918s.imp"
PTYPE = ((PTYPEP) + ((int)((((int)(100)) * (DVF)))));
                                                                //   2006           J=ND
#line 2006 "regression-compile-tmp/imp918s.imp"
J = ND;
                                                                //   2007           %CYCLE JJJ=1,1,A(PP+1);       ! DOWN NAMELIST
#line 2007 "regression-compile-tmp/imp918s.imp"
{static int _initial, _increment, _final, _control;
_initial = 1; _increment = 1; _final = A[(((unsigned char)((((int)(PP)) + (1)))) + (7))]; JJJ = _control = _initial;
if (((_final-_initial) % _increment) != 0) _imp_signal(5,1,0,"Illegal cycle JJJ = 1, 1, A[(((unsigned char)((((int)(PP)) + (1)))) + (7))]");
JJJ -= _increment; _control -= _increment;
L_015a:;
if (JJJ == _final) goto L_015b;
JJJ += _increment; _control += _increment;
if (JJJ != _control) _imp_signal(4,2,0,"Corrupt control variable JJJ"); /* FOR loop control variable corrupted */
}
                                                                //   2008              %IF DVF#0 %THEN %START;     ! ARRAY IS STRING OF LOCALS
#line 2008 "regression-compile-tmp/imp918s.imp"
if (((DVF) == (0))) goto L_015d;
                                                                //   2009                 N=(N+7)&(-8);           ! ARRAYS START ON D-W BNDARY
#line 2009 "regression-compile-tmp/imp918s.imp"
N = (((((int)(N)) + (7))) & ((-8)));
                                                                //   2010                 D1=N+16
#line 2010 "regression-compile-tmp/imp918s.imp"
D1 = (((int)(N)) + (16));
                                                                //   2011                 D0=D1-L*ELSIZE; SNDISP=D0
#line 2011 "regression-compile-tmp/imp918s.imp"
D0 = ((D1) - ((int)((((int)(L)) * (ELSIZE)))));
#line 2011 "regression-compile-tmp/imp918s.imp"
SNDISP = D0;
                                                                //   2012                 PRX(X'41',0,0,RBASE,D0);! LA 0,ADDR(A(0))
#line 2012 "regression-compile-tmp/imp918s.imp"
PRX(65, 0, 0, RBASE, D0);
                                                                //   2013                 PRX(X'41',1,0,RBASE,D1);! LA 1,ADDR(A(L.B))
#line 2013 "regression-compile-tmp/imp918s.imp"
PRX(65, 1, 0, RBASE, D1);
                                                                //   2014                 JJ=16+TOTSIZE
#line 2014 "regression-compile-tmp/imp918s.imp"
JJ = (((int)(16)) + (TOTSIZE));
                                                                //   2015                 FORGETM(3)
#line 2015 "regression-compile-tmp/imp918s.imp"
FORGETM(3);
                                                                //   2016              %FINISH %ELSE %START;     ! LONGWAY PERM MUST DECLARE
#line 2016 "regression-compile-tmp/imp918s.imp"
goto L_015e;
#line 2016 "regression-compile-tmp/imp918s.imp"
L_015d:;
                                                                //   2017                 PPJ(13); FORGET(4)
#line 2017 "regression-compile-tmp/imp918s.imp"
PPJ(13);
#line 2017 "regression-compile-tmp/imp918s.imp"
FORGET(4);
                                                                //   2018                 JJ=16
#line 2018 "regression-compile-tmp/imp918s.imp"
JJ = 16;
                                                                //   2019                 SNDISP=0
#line 2019 "regression-compile-tmp/imp918s.imp"
SNDISP = 0;
                                                                //   2020              %FINISH
#line 2020 "regression-compile-tmp/imp918s.imp"
L_015e:;
                                                                //   2021  !
                                                                //   2022              ACC=ELSIZE;                ! RESET ACC AFTER DV CMPLD
#line 2022 "regression-compile-tmp/imp918s.imp"
ACC = ELSIZE;
                                                                //   2023              KFORM=FINF;                 ! FORMAT INFORMATION
#line 2023 "regression-compile-tmp/imp918s.imp"
KFORM = FINF;
                                                                //   2024              K=A(JJJ+PP+1); TEST NST
#line 2024 "regression-compile-tmp/imp918s.imp"
K = A[(((unsigned char)((((int)((((int)(JJJ)) + (PP)))) + (1)))) + (7))];
#line 2024 "regression-compile-tmp/imp918s.imp"
TESTNST();
                                                                //   2025              STORE TAG(K,N)
#line 2025 "regression-compile-tmp/imp918s.imp"
STORETAG(K, N);
                                                                //   2026              REGISTER(1)=1;             ! MUST LOCK REGISTERS CONTAINING
#line 2026 "regression-compile-tmp/imp918s.imp"
REGISTER[1] = 1;
                                                                //   2027              REGISTER(2)=1;             ! ARRAYHEAD IN CASE 4K MULTIPLE
#line 2027 "regression-compile-tmp/imp918s.imp"
REGISTER[2] = 1;
                                                                //   2028              REGISTER(3)=1;             ! NEEDED TO STORE ARRAYHEAD
#line 2028 "regression-compile-tmp/imp918s.imp"
REGISTER[3] = 1;
                                                                //   2029              DUMPM(X'90',0,3,RBASE,N)
#line 2029 "regression-compile-tmp/imp918s.imp"
DUMPM(144, 0, 3, RBASE, N);
                                                                //   2030              %CYCLE II=0,1,3
#line 2030 "regression-compile-tmp/imp918s.imp"
II = (-1);
if ((((3)-(0)) % (1)) != 0) _imp_signal(5,1,0,"Illegal cycle II = 0, 1, 3");
L_015f:;
if (II == 3) goto L_0160;
II += 1;
                                                                //   2031                 FREE AND FORGET(II);    ! NOW FORGET REGISTERS
#line 2031 "regression-compile-tmp/imp918s.imp"
FREEANDFORGET(II);
                                                                //   2032              %REPEAT
#line 2032 "regression-compile-tmp/imp918s.imp"
goto L_015f;
#line 2032 "regression-compile-tmp/imp918s.imp"
L_0160:;
                                                                //   2033              N=N+JJ
#line 2033 "regression-compile-tmp/imp918s.imp"
N = (((int)(N)) + (JJ));
                                                                //   2034           %REPEAT
#line 2034 "regression-compile-tmp/imp918s.imp"
goto L_015a;
#line 2034 "regression-compile-tmp/imp918s.imp"
L_015b:;
                                                                //   2035           %IF CDV#0 %THEN SET USE(2,17,DVDISP)
#line 2035 "regression-compile-tmp/imp918s.imp"
if (((CDV) == (0))) goto L_0162;
#line 2035 "regression-compile-tmp/imp918s.imp"
SETUSE(2, 17, DVDISP);
#line 2035 "regression-compile-tmp/imp918s.imp"
L_0162:;
                                                                //   2036           P=P+1;                        ! PAST REST OF ARRAYLIST
#line 2036 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
                                                                //   2037           N=(N+3)&(-4)
#line 2037 "regression-compile-tmp/imp918s.imp"
N = (((((int)(N)) + (3))) & ((-4)));
                                                                //   2038           %IF A(P-1)=1 %THEN -> START
#line 2038 "regression-compile-tmp/imp918s.imp"
if (((A[(((unsigned char)((((int)(P)) - (1)))) + (7))]) != (1))) goto L_0163;
#line 2038 "regression-compile-tmp/imp918s.imp"
goto U_101d;
#line 2038 "regression-compile-tmp/imp918s.imp"
L_0163:;
                                                                //   2039           %END
#line 2039 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block DECLAREARRAYS at level 3
                                                                //   2040  SW(8):                                 ! %END
#line 2040 "regression-compile-tmp/imp918s.imp"
sw2_SW_8:;
                                                                //   2041           %BEGIN
#line 2041 "regression-compile-tmp/imp918s.imp"
void _BLOCK_9_LEVEL_2_(void) {
                                                                //   2042           {%SHORTROUTINE}
                                                                //   2043           %SWITCH S(1:5)
#line 2043 "regression-compile-tmp/imp918s.imp"
static int sw4_S_idx;
static const void * /*SWITCH*/ sw4_S[5] = { &&sw4_S_1, &&sw4_S_2, &&sw4_S_3, &&sw4_S_4, &&sw4_S_5,  };
                                                                //   2044           -> S(A(P+1))
#line 2044 "regression-compile-tmp/imp918s.imp"
sw4_S_idx = A[(((unsigned char)((((int)(P)) + (1)))) + (7))]; if ((1 <= sw4_S_idx) && (sw4_S_idx <= 5)) goto *(sw4_S-1)[sw4_S_idx];  /* Bounds=1:5 */ else {
   /*_imp_signal(8, 2, sw4_S_idx);*/
   fprintf(stderr, "%%SWITCH index S(%d) not in range 1:5 at %s:%d\n",
           sw4_S_idx, (_imp_current_file != 0 ? _imp_current_file : __FILE__),
           (_imp_current_line != 0 ? _imp_current_line : __LINE__));
           exit(1);
}
                                                                //   2045  S(1):                                  ! ENDOFPROGRAM
#line 2045 "regression-compile-tmp/imp918s.imp"
sw4_S_1:;
                                                                //   2046  S(2):                                  ! ENDOFFILE
#line 2046 "regression-compile-tmp/imp918s.imp"
sw4_S_2:;
                                                                //   2047           %IF CPRMODE=0 %THEN CPRMODE=2
#line 2047 "regression-compile-tmp/imp918s.imp"
if (((CPRMODE) != (0))) goto L_0164;
#line 2047 "regression-compile-tmp/imp918s.imp"
CPRMODE = 2;
#line 2047 "regression-compile-tmp/imp918s.imp"
L_0164:;
                                                                //   2048           FAULT(15,0) %UNLESS LEVEL+CPRMODE=3
#line 2048 "regression-compile-tmp/imp918s.imp"
if (((((LEVEL) + ((int)(CPRMODE)))) == (3))) goto L_0165;
#line 2048 "regression-compile-tmp/imp918s.imp"
FAULT(15, 0);
#line 2048 "regression-compile-tmp/imp918s.imp"
L_0165:;
                                                                //   2049           FAULT(56,0) %UNLESS A(P+1)=CPRMODE
#line 2049 "regression-compile-tmp/imp918s.imp"
if (((A[(((unsigned char)((((int)(P)) + (1)))) + (7))]) == (CPRMODE))) goto L_0166;
#line 2049 "regression-compile-tmp/imp918s.imp"
FAULT(56, 0);
#line 2049 "regression-compile-tmp/imp918s.imp"
L_0166:;
                                                                //   2050           CEND(CPRMODE)
#line 2050 "regression-compile-tmp/imp918s.imp"
CEND(CPRMODE);
                                                                //   2051           LOAD DATA; {%STOP - load data does a %stop!}
#line 2051 "regression-compile-tmp/imp918s.imp"
LOADDATA();
                                                                //   2052  S(3):                                  ! ENDOFLIST
#line 2052 "regression-compile-tmp/imp918s.imp"
sw4_S_3:;
                                                                //   2053           LIST=0;
#line 2053 "regression-compile-tmp/imp918s.imp"
LIST = 0;
                                                                //   2054  S(4):                                  ! ENDOFMCODE
#line 2054 "regression-compile-tmp/imp918s.imp"
sw4_S_4:;
                                                                //   2055           ->Label1
#line 2055 "regression-compile-tmp/imp918s.imp"
goto U_1021;
                                                                //   2056  S(5):                                  ! END
#line 2056 "regression-compile-tmp/imp918s.imp"
sw4_S_5:;
                                                                //   2057           CEND(FLAG)
#line 2057 "regression-compile-tmp/imp918s.imp"
CEND(FLAG);
                                                                //   2058  Label1:       %END; ->Label1
#line 2058 "regression-compile-tmp/imp918s.imp"
U_1021:;
#line 2058 "regression-compile-tmp/imp918s.imp"
return;
} // End of block _BLOCK_9_LEVEL_2_ at level 3
_BLOCK_9_LEVEL_2_();
#line 2058 "regression-compile-tmp/imp918s.imp"
goto U_100f;
                                                                //   2059  !
                                                                //   2060  SW(9):   P=P+1; MARKER1=A(P)+P;        ! (SEX)(RT)(SPEC')(NAME)(FPP)
#line 2060 "regression-compile-tmp/imp918s.imp"
sw2_SW_9:;
#line 2060 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
#line 2060 "regression-compile-tmp/imp918s.imp"
MARKER1 = (((int)(A[((P) + ((int)(7)))])) + (P));
                                                                //   2061  Label900:     Q=P; KKK=A(MARKER1+1);        ! KKK ON NAME
#line 2061 "regression-compile-tmp/imp918s.imp"
U_1019:;
#line 2061 "regression-compile-tmp/imp918s.imp"
Q = P;
#line 2061 "regression-compile-tmp/imp918s.imp"
KKK = A[(((unsigned char)((((int)(MARKER1)) + (1)))) + (7))];
                                                                //   2062           EXTRN=A(P+1)
#line 2062 "regression-compile-tmp/imp918s.imp"
EXTRN = A[(((unsigned char)((((int)(P)) + (1)))) + (7))];
                                                                //   2063           %IF A(MARKER1)=1 %THEN %START;! P<%SPEC'>='%SPEC'
#line 2063 "regression-compile-tmp/imp918s.imp"
if (((A[((MARKER1) + ((int)(7)))]) != (1))) goto L_0167;
                                                                //   2064              P=P+1;  CRSPEC(1-EXTRN>>2);! 0 FOR ROUTINESPEC
#line 2064 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
#line 2064 "regression-compile-tmp/imp918s.imp"
CRSPEC(((1) - ((int)((int)((((unsigned int)(EXTRN)) >> (2)))))));
                                                                //   2065                                         ! 1 FOR EXTERNAL (ETC) SPEC
                                                                //   2066              ->Label1
#line 2066 "regression-compile-tmp/imp918s.imp"
goto U_100f;
                                                                //   2067           %FINISH
#line 2067 "regression-compile-tmp/imp918s.imp"
L_0167:;
                                                                //   2068           KK=KKK;                       ! ROUTINE HEADING NOT SPEC
#line 2068 "regression-compile-tmp/imp918s.imp"
KK = KKK;
                                                                //   2069           CNOP(0,4)
#line 2069 "regression-compile-tmp/imp918s.imp"
CNOP(0, 4);
                                                                //   2070           COPY TAG(KKK)
#line 2070 "regression-compile-tmp/imp918s.imp"
COPYTAG(KKK);
                                                                //   2071           ->Label939 %IF OLDI#LEVEL;        ! NAME DECLARED AT OUTER LEVEL
#line 2071 "regression-compile-tmp/imp918s.imp"
if (((OLDI) == (LEVEL))) goto L_0168;
#line 2071 "regression-compile-tmp/imp918s.imp"
goto U_1021;
#line 2071 "regression-compile-tmp/imp918s.imp"
L_0168:;
                                                                //   2072           %IF CPRMODE=0 %THEN %START;  ! NO BEGIN OR ROUTINE STMNT YET?
#line 2072 "regression-compile-tmp/imp918s.imp"
if (((CPRMODE) != (0))) goto L_0169;
                                                                //   2073              CA=0; CABUF=0
#line 2073 "regression-compile-tmp/imp918s.imp"
CA = 0;
#line 2073 "regression-compile-tmp/imp918s.imp"
CABUF = 0;
                                                                //   2074              PPCURR=0;  CPRMODE=2;     ! FLAG AS FILE OF ROUTINES
#line 2074 "regression-compile-tmp/imp918s.imp"
PPCURR = 0;
#line 2074 "regression-compile-tmp/imp918s.imp"
CPRMODE = 2;
                                                                //   2075           %FINISH
#line 2075 "regression-compile-tmp/imp918s.imp"
L_0169:;
                                                                //   2076  !
                                                                //   2077           %IF EXTRN#4 %THEN %START;   ! SYSTEM EXTERNAL DYNAMIC
#line 2077 "regression-compile-tmp/imp918s.imp"
if (((EXTRN) == (4))) goto L_016a;
                                                                //   2078              %IF (CPRMODE=2 %AND LEVEL=1) %OR COMPILER=1=RLEVEL %START
#line 2078 "regression-compile-tmp/imp918s.imp"
if (((CPRMODE) != (2))) goto L_016b;
#line 2078 "regression-compile-tmp/imp918s.imp"
if (((LEVEL) == (1))) goto L_0161;
#line 2078 "regression-compile-tmp/imp918s.imp"
L_016b:;
#line 2078 "regression-compile-tmp/imp918s.imp"
if ((((COMPILER) != (1))) || (((1) != (RLEVEL)))) goto L_016c;
#line 2078 "regression-compile-tmp/imp918s.imp"
L_0161:;
                                                                //   2079                 %IF EXTRN=3 %THEN EXTRN=2
#line 2079 "regression-compile-tmp/imp918s.imp"
if (((EXTRN) != (3))) goto L_016d;
#line 2079 "regression-compile-tmp/imp918s.imp"
EXTRN = 2;
#line 2079 "regression-compile-tmp/imp918s.imp"
L_016d:;
                                                                //   2080                 DEFINE EP(EXTRN,KKK,CA,0)
#line 2080 "regression-compile-tmp/imp918s.imp"
DEFINEEP(EXTRN, KKK, CA, 0);
                                                                //   2081                 SET PERMBASE
#line 2081 "regression-compile-tmp/imp918s.imp"
SETPERMBASE();
                                                                //   2082              %FINISH %ELSE %START;    ! EXTERNALS IN PRGM OR WRNG LEVEL
#line 2082 "regression-compile-tmp/imp918s.imp"
goto L_016e;
#line 2082 "regression-compile-tmp/imp918s.imp"
L_016c:;
                                                                //   2083                 FAULT(55,0); EXTRN=4
#line 2083 "regression-compile-tmp/imp918s.imp"
FAULT(55, 0);
#line 2083 "regression-compile-tmp/imp918s.imp"
EXTRN = 4;
                                                                //   2084              %FINISH
#line 2084 "regression-compile-tmp/imp918s.imp"
L_016e:;
                                                                //   2085           %FINISH
#line 2085 "regression-compile-tmp/imp918s.imp"
L_016a:;
                                                                //   2086           %IF A(P+2)=1 %THEN KKK=10000 %ELSE %START
#line 2086 "regression-compile-tmp/imp918s.imp"
if (((A[(((unsigned char)((((int)(P)) + (2)))) + (7))]) != (1))) goto L_016f;
#line 2086 "regression-compile-tmp/imp918s.imp"
KKK = 10000;
#line 2086 "regression-compile-tmp/imp918s.imp"
goto L_0170;
#line 2086 "regression-compile-tmp/imp918s.imp"
L_016f:;
                                                                //   2087              ROUT=1; P=P+3;           ! FIGURE OUT PTYPE FOR FNS&MAPS
#line 2087 "regression-compile-tmp/imp918s.imp"
ROUT = 1;
#line 2087 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (3));
                                                                //   2088              CLT; ARR=0
#line 2088 "regression-compile-tmp/imp918s.imp"
CLT();
#line 2088 "regression-compile-tmp/imp918s.imp"
ARR = 0;
                                                                //   2089              NAM=(A(P)-1)<<1;         ! SET NAME ARRAY BIT FOR MAPS
#line 2089 "regression-compile-tmp/imp918s.imp"
NAM = (((((int)(A[((P) + ((int)(7)))])) - (1))) << (1));
                                                                //   2090              PACK(KKK);              ! AND STORE PTYPE IN KKK
#line 2090 "regression-compile-tmp/imp918s.imp"
PACK(&KKK);
                                                                //   2091           %FINISH
#line 2091 "regression-compile-tmp/imp918s.imp"
L_0170:;
                                                                //   2092           ->Label940 %IF J=15 %AND PTYPE=KKK
#line 2092 "regression-compile-tmp/imp918s.imp"
if (((J) != (15))) goto L_0171;
#line 2092 "regression-compile-tmp/imp918s.imp"
if (((PTYPE) != (KKK))) goto L_0171;
#line 2092 "regression-compile-tmp/imp918s.imp"
goto U_1022;
#line 2092 "regression-compile-tmp/imp918s.imp"
L_0171:;
                                                                //   2093  Label939:     P=Q+1; CRSPEC(0); P=Q; ->Label900
#line 2093 "regression-compile-tmp/imp918s.imp"
U_1021:;
#line 2093 "regression-compile-tmp/imp918s.imp"
P = (((int)(Q)) + (1));
#line 2093 "regression-compile-tmp/imp918s.imp"
CRSPEC(0);
#line 2093 "regression-compile-tmp/imp918s.imp"
P = Q;
#line 2093 "regression-compile-tmp/imp918s.imp"
goto U_1019;
                                                                //   2094  Label940:     %BEGIN
#line 2094 "regression-compile-tmp/imp918s.imp"
U_1022:;
#line 2094 "regression-compile-tmp/imp918s.imp"
void _BLOCK_10_LEVEL_2_(void) {
                                                                //   2095           {%SHORTROUTINE}
                                                                //   2096           %INTEGER PTR,PTYPEP
#line 2096 "regression-compile-tmp/imp918s.imp"
int PTR;
#line 2096 "regression-compile-tmp/imp918s.imp"
int PTYPEP;
                                                                //   2097           J=0; REPLACE TAG(KK);!  BODY GIVEN SO UPDATE TAGS INFO
#line 2097 "regression-compile-tmp/imp918s.imp"
J = 0;
#line 2097 "regression-compile-tmp/imp918s.imp"
REPLACETAG(KK);
                                                                //   2098           JJ=K; PLABEL=PLABEL-1
#line 2098 "regression-compile-tmp/imp918s.imp"
JJ = K;
#line 2098 "regression-compile-tmp/imp918s.imp"
PLABEL = (((int)(PLABEL)) - (1));
                                                                //   2099           ENTER JUMP(15,PLABEL,0) %UNLESS COMPILER=1 %OR %C
#line 2099 "regression-compile-tmp/imp918s.imp"
if (((COMPILER) == (1))) goto L_0172;
#line 2099 "regression-compile-tmp/imp918s.imp"
if (((CPRMODE) != (2))) goto L_015c;
#line 2099 "regression-compile-tmp/imp918s.imp"
if (((LEVEL) == (1))) goto L_0172;
#line 2099 "regression-compile-tmp/imp918s.imp"
L_015c:;
#line 2099 "regression-compile-tmp/imp918s.imp"
ENTERJUMP(15, PLABEL, 0);
#line 2099 "regression-compile-tmp/imp918s.imp"
L_0172:;
                                                                //   2100                                  (CPRMODE=2 %AND LEVEL=1)
                                                                //   2101           PTYPEP=PTYPE
#line 2101 "regression-compile-tmp/imp918s.imp"
PTYPEP = PTYPE;
                                                                //   2102           RHEAD(KK)
#line 2102 "regression-compile-tmp/imp918s.imp"
RHEAD(KK);
                                                                //   2103           FLAG=PTYPEP
#line 2103 "regression-compile-tmp/imp918s.imp"
FLAG = PTYPEP;
                                                                //   2104           P=MARKER1+1
#line 2104 "regression-compile-tmp/imp918s.imp"
P = (((int)(MARKER1)) + (1));
                                                                //   2105           %IF A(P+1)=1 %THEN %START;   ! FORMAL PARAMETERS TO DEAL WITH
#line 2105 "regression-compile-tmp/imp918s.imp"
if (((A[(((unsigned char)((((int)(P)) + (1)))) + (7))]) != (1))) goto L_0173;
                                                                //   2106              %CYCLE;                   ! UNTIL NO MORE FP-PART
#line 2106 "regression-compile-tmp/imp918s.imp"
L_0174:;
                                                                //   2107                 P=P+2
#line 2107 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (2));
                                                                //   2108                 CFPDEL
#line 2108 "regression-compile-tmp/imp918s.imp"
CFPDEL();
                                                                //   2109                 %CYCLE PTR=1,1,A(P);   ! CYCLE DOWN NAMELIST
#line 2109 "regression-compile-tmp/imp918s.imp"
{static int _initial, _increment, _final, _control;
_initial = 1; _increment = 1; _final = A[((P) + ((int)(7)))]; PTR = _control = _initial;
if (((_final-_initial) % _increment) != 0) _imp_signal(5,1,0,"Illegal cycle PTR = 1, 1, A[((P) + ((int)(7)))]");
PTR -= _increment; _control -= _increment;
L_0177:;
if (PTR == _final) goto L_0178;
PTR += _increment; _control += _increment;
if (PTR != _control) _imp_signal(4,2,0,"Corrupt control variable PTR"); /* FOR loop control variable corrupted */
}
                                                                //   2110                    %IF JJ#0 %THEN %START
#line 2110 "regression-compile-tmp/imp918s.imp"
if (((JJ) == (0))) goto L_017a;
                                                                //   2111                       FROM12(JJ,J,JJJ);! EXTRACT PTYPE XTRA INFO
#line 2111 "regression-compile-tmp/imp918s.imp"
FROM12(JJ, &J, &JJJ);
                                                                //   2112                       %UNLESS J=PTYPE %AND (PTYPE#5 %OR JJJ>>16=ACC) %C
#line 2112 "regression-compile-tmp/imp918s.imp"
if (((J) != (PTYPE))) goto L_017b;
#line 2112 "regression-compile-tmp/imp918s.imp"
if (((PTYPE) != (5))) goto L_017c;
#line 2112 "regression-compile-tmp/imp918s.imp"
if ((((int)((((unsigned int)(JJJ)) >> (16)))) == (ACC))) goto L_017c;
#line 2112 "regression-compile-tmp/imp918s.imp"
L_017b:;
#line 2112 "regression-compile-tmp/imp918s.imp"
FAULT(9, A[(((unsigned char)((((int)(P)) + (PTR)))) + (7))]);
#line 2112 "regression-compile-tmp/imp918s.imp"
L_017c:;
                                                                //   2113                          %THEN FAULT(9,A(P+PTR))
                                                                //   2114                    %FINISH %ELSE FAULT(8,0);! MORE FPS THAN IN SPEC
#line 2114 "regression-compile-tmp/imp918s.imp"
goto L_017d;
#line 2114 "regression-compile-tmp/imp918s.imp"
L_017a:;
#line 2114 "regression-compile-tmp/imp918s.imp"
FAULT(8, 0);
#line 2114 "regression-compile-tmp/imp918s.imp"
L_017d:;
                                                                //   2115                    MLINK(JJ)
#line 2115 "regression-compile-tmp/imp918s.imp"
MLINK(&JJ);
                                                                //   2116                 %REPEAT
#line 2116 "regression-compile-tmp/imp918s.imp"
goto L_0177;
#line 2116 "regression-compile-tmp/imp918s.imp"
L_0178:;
                                                                //   2117                 DECLARE SCALARS(0,0)
#line 2117 "regression-compile-tmp/imp918s.imp"
DECLARESCALARS(0, 0);
                                                                //   2118              %REPEAT %UNTIL A(P)=2;! UNTIL NO MORE FP-PART
#line 2118 "regression-compile-tmp/imp918s.imp"
if (((A[((P) + ((int)(7)))]) == (2))) goto L_0175;
#line 2118 "regression-compile-tmp/imp918s.imp"
goto L_0174;
#line 2118 "regression-compile-tmp/imp918s.imp"
L_0175:;
                                                                //   2119              N=(N+3)&(-4);         ! TO WORD BOUNDARY AFTER ALL SYSTEM
#line 2119 "regression-compile-tmp/imp918s.imp"
N = (((((int)(N)) + (3))) & ((-4)));
                                                                //   2120                                    ! STANDARD PARAMETERS HAVE BEEN DECLARED
                                                                //   2121           %FINISH
#line 2121 "regression-compile-tmp/imp918s.imp"
L_0173:;
                                                                //   2122           FAULT(10,0) %UNLESS JJ=0
#line 2122 "regression-compile-tmp/imp918s.imp"
if (((JJ) == (0))) goto L_017e;
#line 2122 "regression-compile-tmp/imp918s.imp"
FAULT(10, 0);
#line 2122 "regression-compile-tmp/imp918s.imp"
L_017e:;
                                                                //   2123           %END; ->Label1202
#line 2123 "regression-compile-tmp/imp918s.imp"
return;
} // End of block _BLOCK_10_LEVEL_2_ at level 3
_BLOCK_10_LEVEL_2_();
#line 2123 "regression-compile-tmp/imp918s.imp"
goto U_1023;
                                                                //   2124  !
                                                                //   2125  SW(11):                                !REALS(LN)
#line 2125 "regression-compile-tmp/imp918s.imp"
sw2_SW_11:;
                                                                //   2126           ALL LONG=A(P+1)&1;->Label1
#line 2126 "regression-compile-tmp/imp918s.imp"
ALLLONG = ((A[(((unsigned char)((((int)(P)) + (1)))) + (7))]) & (1));
#line 2126 "regression-compile-tmp/imp918s.imp"
goto U_100f;
                                                                //   2127  !
                                                                //   2128  SW(12):                                !%BEGIN
#line 2128 "regression-compile-tmp/imp918s.imp"
sw2_SW_12:;
                                                                //   2129           PTYPE=0; RHEAD(-1)
#line 2129 "regression-compile-tmp/imp918s.imp"
PTYPE = 0;
#line 2129 "regression-compile-tmp/imp918s.imp"
RHEAD((-1));
                                                                //   2130           ->Label1 %IF LEVEL=1=RLEVEL
#line 2130 "regression-compile-tmp/imp918s.imp"
if ((((LEVEL) != (1))) || (((1) != (RLEVEL)))) goto L_017f;
#line 2130 "regression-compile-tmp/imp918s.imp"
goto U_100f;
#line 2130 "regression-compile-tmp/imp918s.imp"
L_017f:;
                                                                //   2131           ->Label1202 %UNLESS LEVEL=2
#line 2131 "regression-compile-tmp/imp918s.imp"
if (((LEVEL) == (2))) goto L_0180;
#line 2131 "regression-compile-tmp/imp918s.imp"
goto U_1023;
#line 2131 "regression-compile-tmp/imp918s.imp"
L_0180:;
                                                                //   2132           CPRMODE=1 %IF CPRMODE=0
#line 2132 "regression-compile-tmp/imp918s.imp"
if (((CPRMODE) != (0))) goto L_0181;
#line 2132 "regression-compile-tmp/imp918s.imp"
CPRMODE = 1;
#line 2132 "regression-compile-tmp/imp918s.imp"
L_0181:;
                                                                //   2133           DEFINE EP(0,0,0,0)
#line 2133 "regression-compile-tmp/imp918s.imp"
DEFINEEP(0, 0, 0, 0);
                                                                //   2134           FAULT(55,0) %UNLESS CPRMODE=1
#line 2134 "regression-compile-tmp/imp918s.imp"
if (((CPRMODE) == (1))) goto L_0182;
#line 2134 "regression-compile-tmp/imp918s.imp"
FAULT(55, 0);
#line 2134 "regression-compile-tmp/imp918s.imp"
L_0182:;
                                                                //   2135  Label1202:    %IF SBFLAG=0 %THEN %START
#line 2135 "regression-compile-tmp/imp918s.imp"
U_1023:;
#line 2135 "regression-compile-tmp/imp918s.imp"
if (((SBFLAG) != (0))) goto L_0183;
                                                                //   2136              PLANT(X'05A0'); CODEBASE=CA;
#line 2136 "regression-compile-tmp/imp918s.imp"
PLANT(1440);
#line 2136 "regression-compile-tmp/imp918s.imp"
CODEBASE = CA;
                                                                //   2137              GRINF(10)=CA; CUR CYC VAR=0
#line 2137 "regression-compile-tmp/imp918s.imp"
GRINF[10] = CA;
#line 2137 "regression-compile-tmp/imp918s.imp"
CURCYCVAR = 0;
                                                                //   2138           %FINISH
#line 2138 "regression-compile-tmp/imp918s.imp"
L_0183:;
                                                                //   2139           %IF CHECKSP#0 %THEN %START
#line 2139 "regression-compile-tmp/imp918s.imp"
if (((CHECKSP) == (0))) goto L_0184;
                                                                //   2140              PCONST(X'41000004');          ! LA 0,4 --- FAULT 4=EXCESS BLKS
#line 2140 "regression-compile-tmp/imp918s.imp"
PCONST(1090519044);
                                                                //   2141              PCONST(X'9812D040');          ! LM 1,2 TOPSTREF
#line 2141 "regression-compile-tmp/imp918s.imp"
PCONST((-1743597504));
                                                                //   2142              PLANT(X'1211');               ! LTR 1,1
#line 2142 "regression-compile-tmp/imp918s.imp"
PLANT(4625);
                                                                //   2143              PRX(X'47',10,0,10,CA-CODEBASE+8);! BHE *+8
#line 2143 "regression-compile-tmp/imp918s.imp"
PRX(71, 10, 0, 10, (((int)((((int)(CA)) - (CODEBASE)))) + (8)));
                                                                //   2144              PCONST(X'58202000');          ! L 2,0(2)
#line 2144 "regression-compile-tmp/imp918s.imp"
PCONST(1478500352);
                                                                //   2145              PLANT(X'19B2');               ! CR 11,2
#line 2145 "regression-compile-tmp/imp918s.imp"
PLANT(6578);
                                                                //   2146              PCONST(X'4720C054');          !  BH  RUN TIME FAULT ROUTINE
#line 2146 "regression-compile-tmp/imp918s.imp"
PCONST(1193328724);
                                                                //   2147              CCSTATE=-1
#line 2147 "regression-compile-tmp/imp918s.imp"
CCSTATE = (-1);
                                                                //   2148              FORGET(1); FORGET(2)
#line 2148 "regression-compile-tmp/imp918s.imp"
FORGET(1);
#line 2148 "regression-compile-tmp/imp918s.imp"
FORGET(2);
                                                                //   2149           %FINISH
#line 2149 "regression-compile-tmp/imp918s.imp"
L_0184:;
                                                                //   2150          ->Label1
#line 2150 "regression-compile-tmp/imp918s.imp"
goto U_100f;
                                                                //   2151  !
                                                                //   2152  SW(13):
#line 2152 "regression-compile-tmp/imp918s.imp"
sw2_SW_13:;
                                                                //   2153                                         ! '%FAULT'(FLIST)(S)
                                                                //   2154           WARN(LINE)
#line 2154 "regression-compile-tmp/imp918s.imp"
WARN(LINE);
                                                                //   2155           FAULT(26,0) %UNLESS LEVEL=2 %AND CPRMODE#2
#line 2155 "regression-compile-tmp/imp918s.imp"
if (((LEVEL) != (2))) goto L_0185;
#line 2155 "regression-compile-tmp/imp918s.imp"
if (((CPRMODE) != (2))) goto L_0186;
#line 2155 "regression-compile-tmp/imp918s.imp"
L_0185:;
#line 2155 "regression-compile-tmp/imp918s.imp"
FAULT(26, 0);
#line 2155 "regression-compile-tmp/imp918s.imp"
L_0186:;
                                                                //   2156           NMDECS=NMDECS!1
#line 2156 "regression-compile-tmp/imp918s.imp"
NMDECS = ((NMDECS) | (1));
                                                                //   2157           %CYCLE;         ! UNTIL RESTOFFAULTLIST IS NULL
#line 2157 "regression-compile-tmp/imp918s.imp"
L_0187:;
                                                                //   2158              P=P+2; Q=P+1
#line 2158 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (2));
#line 2158 "regression-compile-tmp/imp918s.imp"
Q = (((int)(P)) + (1));
                                                                //   2159              Q=Q+2 %WHILE A(Q)#2
#line 2159 "regression-compile-tmp/imp918s.imp"
L_018a:;
#line 2159 "regression-compile-tmp/imp918s.imp"
if (((A[((Q) + ((int)(7)))]) == (2))) goto L_018b;
#line 2159 "regression-compile-tmp/imp918s.imp"
Q = (((int)(Q)) + (2));
#line 2159 "regression-compile-tmp/imp918s.imp"
goto L_018a;
#line 2159 "regression-compile-tmp/imp918s.imp"
L_018b:;
                                                                //   2160              %CYCLE;    ! UNTIL RESTOFNLIST IS NULL
#line 2160 "regression-compile-tmp/imp918s.imp"
L_018d:;
                                                                //   2161                 K=A(Q+2)+(A(Q+1)-1)<<14
#line 2161 "regression-compile-tmp/imp918s.imp"
K = ((A[(((unsigned char)((((int)(Q)) + (2)))) + (7))]) + ((short)((((((int)(A[(((unsigned char)((((int)(Q)) + (1)))) + (7))])) - (1))) << (14)))));
                                                                //   2162                 KKK=A(P);PCONST(X'41100000'!KKK)
#line 2162 "regression-compile-tmp/imp918s.imp"
KKK = A[((P) + ((int)(7)))];
#line 2162 "regression-compile-tmp/imp918s.imp"
PCONST(((1091567616) | (KKK)));
                                                                //   2163                 FAULT(36,0) %IF KKK>32 %OR KKK=0 %OR KKK=29 %OR 11<KKK<14
#line 2163 "regression-compile-tmp/imp918s.imp"
if (((KKK) > (32))) goto L_0179;
#line 2163 "regression-compile-tmp/imp918s.imp"
if (((KKK) == (0))) goto L_0179;
#line 2163 "regression-compile-tmp/imp918s.imp"
if (((KKK) == (29))) goto L_0179;
#line 2163 "regression-compile-tmp/imp918s.imp"
if ((((11) >= (KKK))) || (((KKK) >= (14)))) goto L_0190;
#line 2163 "regression-compile-tmp/imp918s.imp"
L_0179:;
#line 2163 "regression-compile-tmp/imp918s.imp"
FAULT(36, 0);
#line 2163 "regression-compile-tmp/imp918s.imp"
L_0190:;
                                                                //   2164                 PPJ(20); QQ=CA
#line 2164 "regression-compile-tmp/imp918s.imp"
PPJ(20);
#line 2164 "regression-compile-tmp/imp918s.imp"
QQ = CA;
                                                                //   2165                 ENTER JUMP(15,K,0);           ! JUMP TO LABEL
#line 2165 "regression-compile-tmp/imp918s.imp"
ENTERJUMP(15, K, 0);
                                                                //   2166                 PCONST(X'07000700') %UNLESS CA=QQ+8;! JUMP MUST BE 8 BYTES
#line 2166 "regression-compile-tmp/imp918s.imp"
if (((CA) == ((((int)(QQ)) + (8))))) goto L_0191;
#line 2166 "regression-compile-tmp/imp918s.imp"
PCONST(117442304);
#line 2166 "regression-compile-tmp/imp918s.imp"
L_0191:;
                                                                //   2167                 P=P+2
#line 2167 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (2));
                                                                //   2168              %REPEAT %UNTIL A(P-1)=2
#line 2168 "regression-compile-tmp/imp918s.imp"
if (((A[(((unsigned char)((((int)(P)) - (1)))) + (7))]) == (2))) goto L_018e;
#line 2168 "regression-compile-tmp/imp918s.imp"
goto L_018d;
#line 2168 "regression-compile-tmp/imp918s.imp"
L_018e:;
                                                                //   2169              P=P+2
#line 2169 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (2));
                                                                //   2170           %REPEAT %UNTIL A(P)=2; ->Label1
#line 2170 "regression-compile-tmp/imp918s.imp"
if (((A[((P) + ((int)(7)))]) == (2))) goto L_0188;
#line 2170 "regression-compile-tmp/imp918s.imp"
goto L_0187;
#line 2170 "regression-compile-tmp/imp918s.imp"
L_0188:;
#line 2170 "regression-compile-tmp/imp918s.imp"
goto U_100f;
                                                                //   2171  !
                                                                //   2172  SW(15):  %BEGIN;                       !SWITCH (SWITCH LIST)
#line 2172 "regression-compile-tmp/imp918s.imp"
sw2_SW_15:;
#line 2172 "regression-compile-tmp/imp918s.imp"
void _BLOCK_11_LEVEL_2_(void) {
                                                                //   2173           {%SHORTROUTINE}
                                                                //   2174           %INTEGER Q,RANGE,KKK,KK,LB
#line 2174 "regression-compile-tmp/imp918s.imp"
int Q;
#line 2174 "regression-compile-tmp/imp918s.imp"
int RANGE;
#line 2174 "regression-compile-tmp/imp918s.imp"
int KKK;
#line 2174 "regression-compile-tmp/imp918s.imp"
int KK;
#line 2174 "regression-compile-tmp/imp918s.imp"
int LB;
                                                                //   2175           Q=P
#line 2175 "regression-compile-tmp/imp918s.imp"
Q = P;
                                                                //   2176           FAULT(56,0) %UNLESS LEVEL>=2
#line 2176 "regression-compile-tmp/imp918s.imp"
if (((LEVEL) >= (2))) goto L_0192;
#line 2176 "regression-compile-tmp/imp918s.imp"
FAULT(56, 0);
#line 2176 "regression-compile-tmp/imp918s.imp"
L_0192:;
                                                                //   2177           %IF SBFLAG=1 %OR COMPILER=1 %THEN PREC=2 %ELSE PREC=0
#line 2177 "regression-compile-tmp/imp918s.imp"
if (((SBFLAG) == (1))) goto L_0189;
#line 2177 "regression-compile-tmp/imp918s.imp"
if (((COMPILER) != (1))) goto L_0193;
#line 2177 "regression-compile-tmp/imp918s.imp"
L_0189:;
#line 2177 "regression-compile-tmp/imp918s.imp"
PREC = 2;
#line 2177 "regression-compile-tmp/imp918s.imp"
goto L_0194;
#line 2177 "regression-compile-tmp/imp918s.imp"
L_0193:;
#line 2177 "regression-compile-tmp/imp918s.imp"
PREC = 0;
#line 2177 "regression-compile-tmp/imp918s.imp"
L_0194:;
                                                                //   2178           PTYPE=106+10*PREC;            !(SHORT?) LABEL ARRAY
#line 2178 "regression-compile-tmp/imp918s.imp"
PTYPE = ((106) + ((int)(((10) * ((int)(PREC))))));
                                                                //   2179           %CYCLE;         ! UNTIL NO'REST OF SW LIST'
#line 2179 "regression-compile-tmp/imp918s.imp"
L_0195:;
                                                                //   2180              P=A(Q+1)+Q+2;              ! PAST 'NAMELIST' TO 'BPAIR'
#line 2180 "regression-compile-tmp/imp918s.imp"
P = (((int)((((int)(A[(((unsigned char)((((int)(Q)) + (1)))) + (7))])) + (Q)))) + (2));
                                                                //   2181              CBPAIR(KKK,KK);            ! LOWER BOUND TO KKK UPPER TO KK
#line 2181 "regression-compile-tmp/imp918s.imp"
CBPAIR(&KKK, &KK);
                                                                //   2182              %UNLESS |KKK| <X'7FFF'>|KK| %THEN %START
#line 2182 "regression-compile-tmp/imp918s.imp"
if ((((_imp_IMOD(KKK)) >= (32767))) || (((32767) > (_imp_IMOD(KK))))) goto L_0198;
#line 2182 "regression-compile-tmp/imp918s.imp"
L_018f:;
                                                                //   2183                 FAULT(18,0); KK=0; KKK=0
#line 2183 "regression-compile-tmp/imp918s.imp"
FAULT(18, 0);
#line 2183 "regression-compile-tmp/imp918s.imp"
KK = 0;
#line 2183 "regression-compile-tmp/imp918s.imp"
KKK = 0;
                                                                //   2184              %FINISH
#line 2184 "regression-compile-tmp/imp918s.imp"
L_0198:;
                                                                //   2185              RANGE=(KK-KKK+1)*BYTES(PREC)
#line 2185 "regression-compile-tmp/imp918s.imp"
RANGE = (((unsigned char)((((int)((((int)(KK)) - (KKK)))) + (1)))) * (BYTES[PREC]));
                                                                //   2186              LB=KKK; KKK=KKK&X'FFFFFF'!PREC<<24
#line 2186 "regression-compile-tmp/imp918s.imp"
LB = KKK;
#line 2186 "regression-compile-tmp/imp918s.imp"
KKK = ((((KKK) & (16777215))) | (((PREC) << (24))));
                                                                //   2187              %CYCLE QQ=1,1,A(Q+1);      !  DOWN NAMELIST
#line 2187 "regression-compile-tmp/imp918s.imp"
{static int _initial, _increment, _final, _control;
_initial = 1; _increment = 1; _final = A[(((unsigned char)((((int)(Q)) + (1)))) + (7))]; QQ = _control = _initial;
if (((_final-_initial) % _increment) != 0) _imp_signal(5,1,0,"Illegal cycle QQ = 1, 1, A[(((unsigned char)((((int)(Q)) + (1)))) + (7))]");
QQ -= _increment; _control -= _increment;
L_0199:;
if (QQ == _final) goto L_019a;
QQ += _increment; _control += _increment;
if (QQ != _control) _imp_signal(4,2,0,"Corrupt control variable QQ"); /* FOR loop control variable corrupted */
}
                                                                //   2188                 K=A(Q+QQ+1)
#line 2188 "regression-compile-tmp/imp918s.imp"
K = A[(((unsigned char)((((int)((((int)(Q)) + (QQ)))) + (1)))) + (7))];
                                                                //   2189                 TEST NST
#line 2189 "regression-compile-tmp/imp918s.imp"
TESTNST();
                                                                //   2190                 SSTL=(SSTL+3)&(-4);     !  CONST TABLES TO WORD BNDRY
#line 2190 "regression-compile-tmp/imp918s.imp"
SSTL = (((((int)(SSTL)) + (3))) & ((-4)));
                                                                //   2191                 OPHEAD=0; R=LB
#line 2191 "regression-compile-tmp/imp918s.imp"
OPHEAD = 0;
#line 2191 "regression-compile-tmp/imp918s.imp"
R = LB;
                                                                //   2192  !
                                                                //   2193  ! SET UP A BIT LIST (96 BITS PER CELL) TO CHECK FOR SWITCH LABELS
                                                                //   2194  ! SET TWICE
                                                                //   2195  !
                                                                //   2196                 %CYCLE
#line 2196 "regression-compile-tmp/imp918s.imp"
L_019c:;
                                                                //   2197                    PUSH123(OPHEAD,0,0,0)
#line 2197 "regression-compile-tmp/imp918s.imp"
PUSH123(&OPHEAD, 0, 0, 0);
                                                                //   2198                    R=R+96
#line 2198 "regression-compile-tmp/imp918s.imp"
R = (((int)(R)) + (96));
                                                                //   2199                 %REPEAT %UNTIL R>KK
#line 2199 "regression-compile-tmp/imp918s.imp"
if (((R) > (KK))) goto L_019d;
#line 2199 "regression-compile-tmp/imp918s.imp"
goto L_019c;
#line 2199 "regression-compile-tmp/imp918s.imp"
L_019d:;
                                                                //   2200  !
                                                                //   2201  ! OUTPUT ARRAYBOUNDS (CHECKING MODE) AND CLEAR THE TABLE SPACE
                                                                //   2202  !
                                                                //   2203                %IF (COMPILER=0 %OR CHECKSP=1) %AND (INHCODE=0)%C
#line 2203 "regression-compile-tmp/imp918s.imp"
if (((COMPILER) == (0))) goto L_019e;
#line 2203 "regression-compile-tmp/imp918s.imp"
if (((CHECKSP) != (1))) goto L_019f;
#line 2203 "regression-compile-tmp/imp918s.imp"
L_019e:;
#line 2203 "regression-compile-tmp/imp918s.imp"
if (((INHCODE) != (0))) goto L_019f;
                                                                //   2204                %THEN %START
                                                                //   2205                    LPUT(4,8,SSTL,ADDR(KKK))
#line 2205 "regression-compile-tmp/imp918s.imp"
lput(4, 8, SSTL, _imp_ADDR(&KKK));
                                                                //   2206                    SSTL=SSTL+8
#line 2206 "regression-compile-tmp/imp918s.imp"
SSTL = (((int)(SSTL)) + (8));
                                                                //   2207                 %FINISH
#line 2207 "regression-compile-tmp/imp918s.imp"
L_019f:;
                                                                //   2208                 PUSH123(OPHEAD,SSTL-8,LB,KK)
#line 2208 "regression-compile-tmp/imp918s.imp"
PUSH123(&OPHEAD, (((int)(SSTL)) - (8)), LB, KK);
                                                                //   2209                 J=1; STORE TAG(K,OPHEAD)
#line 2209 "regression-compile-tmp/imp918s.imp"
J = 1;
#line 2209 "regression-compile-tmp/imp918s.imp"
STORETAG(K, OPHEAD);
                                                                //   2210                 %IF INHCODE=0 %THEN %C
#line 2210 "regression-compile-tmp/imp918s.imp"
if (((INHCODE) != (0))) goto L_01a0;
#line 2210 "regression-compile-tmp/imp918s.imp"
lput(4, RANGE, SSTL, COMPILER);
#line 2210 "regression-compile-tmp/imp918s.imp"
L_01a0:;
                                                                //   2211                    LPUT(4,RANGE,SSTL,COMPILER)
                                                                //   2212                 SSTL=(SSTL+RANGE+3)&(-4)
#line 2212 "regression-compile-tmp/imp918s.imp"
SSTL = (((((int)((((int)(SSTL)) + (RANGE)))) + (3))) & ((-4)));
                                                                //   2213              %REPEAT;                   ! FOR ANY MORE NAMES IN NAMELIST
#line 2213 "regression-compile-tmp/imp918s.imp"
goto L_0199;
#line 2213 "regression-compile-tmp/imp918s.imp"
L_019a:;
                                                                //   2214              Q=P
#line 2214 "regression-compile-tmp/imp918s.imp"
Q = P;
                                                                //   2215           %REPEAT %UNTIL A(Q)=2;                      ! UNTIL A(Q)=2
#line 2215 "regression-compile-tmp/imp918s.imp"
if (((A[((Q) + ((int)(7)))]) == (2))) goto L_0196;
#line 2215 "regression-compile-tmp/imp918s.imp"
goto L_0195;
#line 2215 "regression-compile-tmp/imp918s.imp"
L_0196:;
                                                                //   2216           %END;->Label1
#line 2216 "regression-compile-tmp/imp918s.imp"
return;
} // End of block _BLOCK_11_LEVEL_2_ at level 3
_BLOCK_11_LEVEL_2_();
#line 2216 "regression-compile-tmp/imp918s.imp"
goto U_100f;
                                                                //   2217  !
                                                                //   2218  SW(16):  LIST=1; ->Label1;                  ! %LIST
#line 2218 "regression-compile-tmp/imp918s.imp"
sw2_SW_16:;
#line 2218 "regression-compile-tmp/imp918s.imp"
LIST = 1;
#line 2218 "regression-compile-tmp/imp918s.imp"
goto U_100f;
                                                                //   2219  !
                                                                //   2220  !
                                                                //   2221  SW(17):                                ! '%OWN' (TYPE)(OWNDEC)
#line 2221 "regression-compile-tmp/imp918s.imp"
sw2_SW_17:;
                                                                //   2222           %BEGIN
#line 2222 "regression-compile-tmp/imp918s.imp"
void _BLOCK_12_LEVEL_2_(void) {
                                                                //   2223           {%SHORTROUTINE}
                                                                //   2224  !***********************************************************************
                                                                //   2225  !*       INITIALISED DECLARATION GO INTO THE GLA OR GLA SYMBOL TABLES  *
                                                                //   2226  !*       EXCEPT FOR CONST ARRAYS WHICH GO INTO THE CODE SYMBOL TABLES  *
                                                                //   2227  !*       STRINGS AND ARRAYS HAVE A HEADER IN THE GLA. LPUT ARRANGES    *
                                                                //   2228  !*       FOR THE LOADER TO RELOCATE THE HEADERS.                       *
                                                                //   2229  !*      EXTERNALS ARE IDENTICAL WITH OWN BUT ALSO HAVE A DATA EP DEFN  *
                                                                //   2230  !*       IN THE LOAD DATA SO THEY CAN BE FOUND AT LOAD TIME            *
                                                                //   2231  !*      EXTRINSICS HAVE A DATA REFERENCE AND A DUMMY HEADER IN THE GLA *
                                                                //   2232  !*      THE LOADER USES THE FORMER TO RELOCATE THE LATTER.             *
                                                                //   2233  !***********************************************************************
                                                                //   2234           %ROUTINESPEC CLEAR(%INTEGER L)
#line 2234 "regression-compile-tmp/imp918s.imp"
auto void CLEAR( int L );
                                                                //   2235           %ROUTINESPEC STAG(%INTEGER J,DATALEN)
#line 2235 "regression-compile-tmp/imp918s.imp"
auto void STAG( int J, int DATALEN );
                                                                //   2236           %INTEGER LENGTH,BP,PP,SIGN,CBASE,MODE
#line 2236 "regression-compile-tmp/imp918s.imp"
int LENGTH;
#line 2236 "regression-compile-tmp/imp918s.imp"
int BP;
#line 2236 "regression-compile-tmp/imp918s.imp"
int PP;
#line 2236 "regression-compile-tmp/imp918s.imp"
int SIGN;
#line 2236 "regression-compile-tmp/imp918s.imp"
int CBASE;
#line 2236 "regression-compile-tmp/imp918s.imp"
int MODE;
                                                                //   2237           %INTEGER ICONST,CTYPE,TAGDISP,EPTYPE,EPDISP
#line 2237 "regression-compile-tmp/imp918s.imp"
int ICONST;
#line 2237 "regression-compile-tmp/imp918s.imp"
int CTYPE;
#line 2237 "regression-compile-tmp/imp918s.imp"
int TAGDISP;
#line 2237 "regression-compile-tmp/imp918s.imp"
int EPTYPE;
#line 2237 "regression-compile-tmp/imp918s.imp"
int EPDISP;
                                                                //   2238           %LONGREAL RCONST
#line 2238 "regression-compile-tmp/imp918s.imp"
double RCONST;
                                                                //   2239           %STRING(255) SCONST
#line 2239 "regression-compile-tmp/imp918s.imp"
_imp_string /*%string(255)*/ SCONST;
                                                                //   2240           %INTEGER AH1,AH2,AH3,AH4,AD,FNAM,FINF
#line 2240 "regression-compile-tmp/imp918s.imp"
int AH1;
#line 2240 "regression-compile-tmp/imp918s.imp"
int AH2;
#line 2240 "regression-compile-tmp/imp918s.imp"
int AH3;
#line 2240 "regression-compile-tmp/imp918s.imp"
int AH4;
#line 2240 "regression-compile-tmp/imp918s.imp"
int AD;
#line 2240 "regression-compile-tmp/imp918s.imp"
int FNAM;
#line 2240 "regression-compile-tmp/imp918s.imp"
int FINF;
                                                                //   2241           %INTEGER SPOINT,CONSTSFOUND,EXTRN,NNAMES,MARK,LPUTP
#line 2241 "regression-compile-tmp/imp918s.imp"
int SPOINT;
#line 2241 "regression-compile-tmp/imp918s.imp"
int CONSTSFOUND;
#line 2241 "regression-compile-tmp/imp918s.imp"
int EXTRN;
#line 2241 "regression-compile-tmp/imp918s.imp"
int NNAMES;
#line 2241 "regression-compile-tmp/imp918s.imp"
int MARK;
#line 2241 "regression-compile-tmp/imp918s.imp"
int LPUTP;
                                                                //   2242           %INTEGERNAME STPTR
#line 2242 "regression-compile-tmp/imp918s.imp"
int /*name*/*STPTR;
                                                                //   2243           LPUTP=5; STPTR==CONSTPTR;     ! NORMAL CASE GLA SYMBOLTABLES
#line 2243 "regression-compile-tmp/imp918s.imp"
LPUTP = 5;
#line 2243 "regression-compile-tmp/imp918s.imp"
STPTR = &CONSTPTR;
                                                                //   2244  !         FAULT(40,0) %IF NMDECS&1#0
                                                                //   2245           EXTRN=A(P+1)&3
#line 2245 "regression-compile-tmp/imp918s.imp"
EXTRN = ((A[(((unsigned char)((((int)(P)) + (1)))) + (7))]) & (3));
                                                                //   2246           %IF EXTRN=0 %THEN LPUTP=4 %AND STPTR==SSTL
#line 2246 "regression-compile-tmp/imp918s.imp"
if (((EXTRN) != (0))) goto L_01a1;
#line 2246 "regression-compile-tmp/imp918s.imp"
LPUTP = 4;
#line 2246 "regression-compile-tmp/imp918s.imp"
STPTR = &SSTL;
#line 2246 "regression-compile-tmp/imp918s.imp"
L_01a1:;
                                                                //   2247           P=P+3; CBASE=GLA
#line 2247 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (3));
#line 2247 "regression-compile-tmp/imp918s.imp"
CBASE = 13;
                                                                //   2248           MODE=A(P-1);                ! MODE =1 FOR NORMAL OWNS
#line 2248 "regression-compile-tmp/imp918s.imp"
MODE = A[(((unsigned char)((((int)(P)) - (1)))) + (7))];
                                                                //   2249           ->RECORD %IF MODE>1;        ! MODE =2 FOR OWN RECORDS
#line 2249 "regression-compile-tmp/imp918s.imp"
if (((MODE) <= (1))) goto L_01a2;
#line 2249 "regression-compile-tmp/imp918s.imp"
goto U_1024;
#line 2249 "regression-compile-tmp/imp918s.imp"
L_01a2:;
                                                                //   2250           CLT;                        ! MODE =3 FOR OWN RECORD ARRAYS
#line 2250 "regression-compile-tmp/imp918s.imp"
CLT();
                                                                //   2251           %IF TYPE=5 %AND ACC=0 %THEN FAULT(70,0) %AND ACC=2
#line 2251 "regression-compile-tmp/imp918s.imp"
if (((TYPE) != (5))) goto L_01a3;
#line 2251 "regression-compile-tmp/imp918s.imp"
if (((ACC) != (0))) goto L_01a3;
#line 2251 "regression-compile-tmp/imp918s.imp"
FAULT(70, 0);
#line 2251 "regression-compile-tmp/imp918s.imp"
ACC = 2;
#line 2251 "regression-compile-tmp/imp918s.imp"
L_01a3:;
                                                                //   2252           %IF EXTRN=0 %THEN PREC=PREC!4
#line 2252 "regression-compile-tmp/imp918s.imp"
if (((EXTRN) != (0))) goto L_01a4;
#line 2252 "regression-compile-tmp/imp918s.imp"
PREC = ((PREC) | (4));
#line 2252 "regression-compile-tmp/imp918s.imp"
L_01a4:;
                                                                //   2253           NAM=TYPE>>2; ROUT=0; ARR=A(P)-1; PACK(PTYPE)
#line 2253 "regression-compile-tmp/imp918s.imp"
NAM = (unsigned char)((((unsigned char)(TYPE)) >> (2)));
#line 2253 "regression-compile-tmp/imp918s.imp"
ROUT = 0;
#line 2253 "regression-compile-tmp/imp918s.imp"
ARR = (((int)(A[((P) + ((int)(7)))])) - (1));
#line 2253 "regression-compile-tmp/imp918s.imp"
PACK(&PTYPE);
                                                                //   2254           -> NON SCALAR  %UNLESS ARR=0
#line 2254 "regression-compile-tmp/imp918s.imp"
if (((ARR) == (0))) goto L_01a5;
#line 2254 "regression-compile-tmp/imp918s.imp"
goto U_1025;
#line 2254 "regression-compile-tmp/imp918s.imp"
L_01a5:;
                                                                //   2255           %CYCLE;    ! UNTIL <RESTOFOWNDEC> NULL
#line 2255 "regression-compile-tmp/imp918s.imp"
L_01a6:;
                                                                //   2256              MARK= P+1+A(P+1); NNAMES=A(P+2)
#line 2256 "regression-compile-tmp/imp918s.imp"
MARK = (((short)((((int)(P)) + (1)))) + (A[(((unsigned char)((((int)(P)) + (1)))) + (7))]));
#line 2256 "regression-compile-tmp/imp918s.imp"
NNAMES = A[(((unsigned char)((((int)(P)) + (2)))) + (7))];
                                                                //   2257              PP=P+3; P=PP+NNAMES;        ! P ON CONST'
#line 2257 "regression-compile-tmp/imp918s.imp"
PP = (((int)(P)) + (3));
#line 2257 "regression-compile-tmp/imp918s.imp"
P = (((int)(PP)) + (NNAMES));
                                                                //   2258     !
                                                                //   2259     ! OBTAIN THE INITIAL CONSTANT,ITS TYPE(CTYPE) AND SIGN(SIGN)
                                                                //   2260     ! CONVERT TO ALL LEGAL FORMS AND STORE THE INTEGER IN ICONST
                                                                //   2261     ! THE REAL IN RCONST AND THE STRING IN SCONST.
                                                                //   2262     ! NB 65 IS A VALID INTEGER OR REAL AND ALSO A STRING ('A')
                                                                //   2263     !
                                                                //   2264              ICONST=0; RCONST=0; SCONST=""
#line 2264 "regression-compile-tmp/imp918s.imp"
ICONST = 0;
#line 2264 "regression-compile-tmp/imp918s.imp"
RCONST = 0;
#line 2264 "regression-compile-tmp/imp918s.imp"
SCONST = _imp_str_literal("");
                                                                //   2265              SIGN=4; CTYPE=TYPE; CONSTSFOUND=0
#line 2265 "regression-compile-tmp/imp918s.imp"
SIGN = 4;
#line 2265 "regression-compile-tmp/imp918s.imp"
CTYPE = TYPE;
#line 2265 "regression-compile-tmp/imp918s.imp"
CONSTSFOUND = 0;
                                                                //   2266     !
                                                                //   2267              %IF A(P)=1 %THEN %START;     ! CONSTANT GIVEN
#line 2267 "regression-compile-tmp/imp918s.imp"
if (((A[((P) + ((int)(7)))]) != (1))) goto L_01a9;
                                                                //   2268                 SIGN=A(P+1); CTYPE=A(P+2)&7
#line 2268 "regression-compile-tmp/imp918s.imp"
SIGN = A[(((unsigned char)((((int)(P)) + (1)))) + (7))];
#line 2268 "regression-compile-tmp/imp918s.imp"
CTYPE = ((A[(((unsigned char)((((int)(P)) + (2)))) + (7))]) & (7));
                                                                //   2269                 CONSTSFOUND=1
#line 2269 "regression-compile-tmp/imp918s.imp"
CONSTSFOUND = 1;
                                                                //   2270                 %IF CTYPE=2 %THEN %START; ! REAL CONSTANT
#line 2270 "regression-compile-tmp/imp918s.imp"
if (((CTYPE) != (2))) goto L_01aa;
                                                                //   2271                    FROMAR8(P+3,RCONST)
#line 2271 "regression-compile-tmp/imp918s.imp"
FROMAR8((((int)(P)) + (3)), &RCONST);
                                                                //   2272                    %IF SIGN=2 %THEN RCONST=-RCONST
#line 2272 "regression-compile-tmp/imp918s.imp"
if (((SIGN) != (2))) goto L_01ab;
#line 2272 "regression-compile-tmp/imp918s.imp"
RCONST = (-(RCONST));
#line 2272 "regression-compile-tmp/imp918s.imp"
L_01ab:;
                                                                //   2273                 %FINISH
#line 2273 "regression-compile-tmp/imp918s.imp"
L_01aa:;
                                                                //   2274     !
                                                                //   2275                 %IF CTYPE=5 %THEN SCONST=STRING(ADDR(A(P+3))+1)
#line 2275 "regression-compile-tmp/imp918s.imp"
if (((CTYPE) != (5))) goto L_01ac;
#line 2275 "regression-compile-tmp/imp918s.imp"
SCONST = *_imp_STRING((((int)(_imp_ADDR(&A[(((unsigned char)((((int)(P)) + (3)))) + (7))]))) + (1)));
#line 2275 "regression-compile-tmp/imp918s.imp"
L_01ac:;
                                                                //   2276     !
                                                                //   2277                 %IF CTYPE=1 %THEN %START; ! INTEGER CONSTANT
#line 2277 "regression-compile-tmp/imp918s.imp"
if (((CTYPE) != (1))) goto L_01ad;
                                                                //   2278                    FROMAR4(P+3,ICONST)
#line 2278 "regression-compile-tmp/imp918s.imp"
FROMAR4((((int)(P)) + (3)), &ICONST);
                                                                //   2279                    %IF SIGN=2 %THEN ICONST=-ICONST
#line 2279 "regression-compile-tmp/imp918s.imp"
if (((SIGN) != (2))) goto L_01ae;
#line 2279 "regression-compile-tmp/imp918s.imp"
ICONST = (-(ICONST));
#line 2279 "regression-compile-tmp/imp918s.imp"
L_01ae:;
                                                                //   2280                    %IF SIGN=3 %THEN ICONST=\ICONST
#line 2280 "regression-compile-tmp/imp918s.imp"
if (((SIGN) != (3))) goto L_01af;
#line 2280 "regression-compile-tmp/imp918s.imp"
ICONST = (~(ICONST));
#line 2280 "regression-compile-tmp/imp918s.imp"
L_01af:;
                                                                //   2281                    %IF TYPE=2 %THEN %C
#line 2281 "regression-compile-tmp/imp918s.imp"
if (((TYPE) != (2))) goto L_01b0;
#line 2281 "regression-compile-tmp/imp918s.imp"
RCONST = ICONST;
#line 2281 "regression-compile-tmp/imp918s.imp"
L_01b0:;
                                                                //   2282                    RCONST=ICONST;         ! INTEGER A SPECIAL CASE OF REAL
                                                                //   2283                    %IF 1<=ICONST<=127 %THEN SCONST=TOSTRING(ICONST)
#line 2283 "regression-compile-tmp/imp918s.imp"
if ((((1) > (ICONST))) || (((ICONST) > (127)))) goto L_01b1;
#line 2283 "regression-compile-tmp/imp918s.imp"
SCONST = _imp_TOSTRING(ICONST);
#line 2283 "regression-compile-tmp/imp918s.imp"
L_01b1:;
                                                                //   2284                 %FINISH
#line 2284 "regression-compile-tmp/imp918s.imp"
L_01ad:;
                                                                //   2285              %FINISH
#line 2285 "regression-compile-tmp/imp918s.imp"
L_01a9:;
                                                                //   2286              LENGTH=BYTEINTEGER(ADDR(SCONST))
#line 2286 "regression-compile-tmp/imp918s.imp"
LENGTH = *_imp_BYTEINTEGER(_imp_ADDR(&SCONST));
                                                                //   2287     !
                                                                //   2288     !
                                                                //   2289     ! FAULT ANY OBVIOUS ERRORS IE:-
                                                                //   2290     ! CONSTANT FOR EXTRINSIC OR INCOMPATIBLE TYPE OR STRING TOO LONG
                                                                //   2291     !
                                                                //   2292              %IF (EXTRN=3 %AND CONSTSFOUND#0 ) %OR %C
#line 2292 "regression-compile-tmp/imp918s.imp"
if (((EXTRN) != (3))) goto L_01b2;
#line 2292 "regression-compile-tmp/imp918s.imp"
if (((CONSTSFOUND) != (0))) goto L_019b;
#line 2292 "regression-compile-tmp/imp918s.imp"
L_01b2:;
#line 2292 "regression-compile-tmp/imp918s.imp"
if (((CTYPE) != (2))) goto L_01b3;
#line 2292 "regression-compile-tmp/imp918s.imp"
if (((TYPE) != (2))) goto L_019b;
#line 2292 "regression-compile-tmp/imp918s.imp"
L_01b3:;
#line 2292 "regression-compile-tmp/imp918s.imp"
if (((CTYPE) != (5))) goto L_01b4;
#line 2292 "regression-compile-tmp/imp918s.imp"
if (((TYPE) != (5))) goto L_019b;
#line 2292 "regression-compile-tmp/imp918s.imp"
if (((SIGN) != (4))) goto L_019b;
#line 2292 "regression-compile-tmp/imp918s.imp"
if (((LENGTH) >= (ACC))) goto L_019b;
#line 2292 "regression-compile-tmp/imp918s.imp"
L_01b4:;
#line 2292 "regression-compile-tmp/imp918s.imp"
if (((SIGN) != (3))) goto L_01b5;
#line 2292 "regression-compile-tmp/imp918s.imp"
if (((CTYPE) == (1))) goto L_01b5;
#line 2292 "regression-compile-tmp/imp918s.imp"
L_019b:;
#line 2292 "regression-compile-tmp/imp918s.imp"
FAULT(44, 0);
#line 2292 "regression-compile-tmp/imp918s.imp"
L_01b5:;
                                                                //   2293                 (CTYPE=2 %AND TYPE#2) %OR %C
                                                                //   2294                 (CTYPE=5 %AND (TYPE#5 %OR SIGN#4 %OR LENGTH>=ACC)) %C
                                                                //   2295                 %OR (SIGN=3 %AND CTYPE#1) %THEN FAULT(44,0)
                                                                //   2296     !
                                                                //   2297              %CYCLE;         ! DOWN <NAMELIST>
#line 2297 "regression-compile-tmp/imp918s.imp"
L_01b6:;
                                                                //   2298                 J=0; K=A(PP)
#line 2298 "regression-compile-tmp/imp918s.imp"
J = 0;
#line 2298 "regression-compile-tmp/imp918s.imp"
K = A[((PP) + ((int)(7)))];
                                                                //   2299                 %IF TYPE=5 %THEN %START;         ! STRING
#line 2299 "regression-compile-tmp/imp918s.imp"
if (((TYPE) != (5))) goto L_01b9;
                                                                //   2300                    QQ=STPTR; AD=ADDR(SCONST)
#line 2300 "regression-compile-tmp/imp918s.imp"
QQ = *STPTR;
#line 2300 "regression-compile-tmp/imp918s.imp"
AD = _imp_ADDR(&SCONST);
                                                                //   2301                    %IF EXTRN<=1 %AND ACC<=8 %THEN %START
#line 2301 "regression-compile-tmp/imp918s.imp"
if (((EXTRN) > (1))) goto L_01ba;
#line 2301 "regression-compile-tmp/imp918s.imp"
if (((ACC) > (8))) goto L_01ba;
                                                                //   2302                       NAM=0; PACK(PTYPE)
#line 2302 "regression-compile-tmp/imp918s.imp"
NAM = 0;
#line 2302 "regression-compile-tmp/imp918s.imp"
PACK(&PTYPE);
                                                                //   2303                       TAGDISP=GLACA;    ! SHORT STRING INTO GLA NO POINTER
#line 2303 "regression-compile-tmp/imp918s.imp"
TAGDISP = GLACA;
                                                                //   2304                       PGLA(1,ACC,AD)
#line 2304 "regression-compile-tmp/imp918s.imp"
PGLA(1, ACC, AD);
                                                                //   2305                    %FINISH %ELSE %START
#line 2305 "regression-compile-tmp/imp918s.imp"
goto L_01bb;
#line 2305 "regression-compile-tmp/imp918s.imp"
L_01ba:;
                                                                //   2306                       %IF EXTRN=3 %THEN %START;  ! EXTRINSIC STRINGS
#line 2306 "regression-compile-tmp/imp918s.imp"
if (((EXTRN) != (3))) goto L_01bc;
                                                                //   2307                          AH3=0;                  ! DUMMY STRING HEADER
#line 2307 "regression-compile-tmp/imp918s.imp"
AH3 = 0;
                                                                //   2308                       %FINISH %ELSE %START
#line 2308 "regression-compile-tmp/imp918s.imp"
goto L_01bd;
#line 2308 "regression-compile-tmp/imp918s.imp"
L_01bc:;
                                                                //   2309                          LPUT(LPUTP,ACC,QQ,AD) %IF INHCODE=0;! O/P STRING
#line 2309 "regression-compile-tmp/imp918s.imp"
if (((INHCODE) != (0))) goto L_01be;
#line 2309 "regression-compile-tmp/imp918s.imp"
lput(LPUTP, ACC, QQ, AD);
#line 2309 "regression-compile-tmp/imp918s.imp"
L_01be:;
                                                                //   2310                          STPTR=(STPTR+ACC+3)&(-4)
#line 2310 "regression-compile-tmp/imp918s.imp"
*STPTR = (((((int)(((*STPTR) + ((int)(ACC))))) + (3))) & ((-4)));
                                                                //   2311                          AH3=QQ
#line 2311 "regression-compile-tmp/imp918s.imp"
AH3 = QQ;
                                                                //   2312                       %FINISH
#line 2312 "regression-compile-tmp/imp918s.imp"
L_01bd:;
                                                                //   2313                       AH3=AH3!(ACC-1)<<24
#line 2313 "regression-compile-tmp/imp918s.imp"
AH3 = ((AH3) | ((((((int)(ACC)) - (1))) << (24))));
                                                                //   2314                       PGLA(4,4,ADDR(AH3))
#line 2314 "regression-compile-tmp/imp918s.imp"
PGLA(4, 4, _imp_ADDR(&AH3));
                                                                //   2315                       TAGDISP=GLACA-4
#line 2315 "regression-compile-tmp/imp918s.imp"
TAGDISP = (((int)(GLACA)) - (4));
                                                                //   2316                       %IF EXTRN=3 %THEN GXREF(2,K,ACC,TAGDISP) %C
#line 2316 "regression-compile-tmp/imp918s.imp"
if (((EXTRN) != (3))) goto L_01bf;
#line 2316 "regression-compile-tmp/imp918s.imp"
GXREF(2, K, ACC, TAGDISP);
#line 2316 "regression-compile-tmp/imp918s.imp"
goto L_01c0;
#line 2316 "regression-compile-tmp/imp918s.imp"
L_01bf:;
#line 2316 "regression-compile-tmp/imp918s.imp"
RELOCATE(TAGDISP, AH3, LPUTP);
#line 2316 "regression-compile-tmp/imp918s.imp"
L_01c0:;
                                                                //   2317                          %ELSE RELOCATE(TAGDISP,AH3,LPUTP)
                                                                //   2318                       EPTYPE=4; EPDISP=QQ;       ! DATA IN GLA SYMBOL TABLES
#line 2318 "regression-compile-tmp/imp918s.imp"
EPTYPE = 4;
#line 2318 "regression-compile-tmp/imp918s.imp"
EPDISP = QQ;
                                                                //   2319                    %FINISH
#line 2319 "regression-compile-tmp/imp918s.imp"
L_01bb:;
                                                                //   2320                 %FINISH %ELSE %START;           ! INTEGER & REAL
#line 2320 "regression-compile-tmp/imp918s.imp"
goto L_01c1;
#line 2320 "regression-compile-tmp/imp918s.imp"
L_01b9:;
                                                                //   2321                    %IF EXTRN=3 %THEN %START;    ! EXTRINSICS
#line 2321 "regression-compile-tmp/imp918s.imp"
if (((EXTRN) != (3))) goto L_01c2;
                                                                //   2322                       NAM=1; PACK(PTYPE);       ! EXTRINSICS VIA PTR
#line 2322 "regression-compile-tmp/imp918s.imp"
NAM = 1;
#line 2322 "regression-compile-tmp/imp918s.imp"
PACK(&PTYPE);
                                                                //   2323                       CXREF(2,K,ACC,TAGDISP)
#line 2323 "regression-compile-tmp/imp918s.imp"
CXREF(2, K, ACC, &TAGDISP);
                                                                //   2324                    %FINISH %ELSE %START;        ! OWN,EXTERNAL&CONST
#line 2324 "regression-compile-tmp/imp918s.imp"
goto L_01c3;
#line 2324 "regression-compile-tmp/imp918s.imp"
L_01c2:;
                                                                //   2325                       %IF TYPE=2 %THEN %START
#line 2325 "regression-compile-tmp/imp918s.imp"
if (((TYPE) != (2))) goto L_01c4;
                                                                //   2326                          AD=ADDR(RCONST)
#line 2326 "regression-compile-tmp/imp918s.imp"
AD = _imp_ADDR(&RCONST);
                                                                //   2327                       %FINISH %ELSE %START;     ! INTEGER VARIABLES
#line 2327 "regression-compile-tmp/imp918s.imp"
goto L_01c5;
#line 2327 "regression-compile-tmp/imp918s.imp"
L_01c4:;
                                                                //   2328                          FAULT(44,0) %IF (PREC&3=1 %AND ICONST>255) %C
#line 2328 "regression-compile-tmp/imp918s.imp"
if (((((PREC) & (3))) != (1))) goto L_01c6;
#line 2328 "regression-compile-tmp/imp918s.imp"
if (((ICONST) > (255))) goto L_01c7;
#line 2328 "regression-compile-tmp/imp918s.imp"
L_01c6:;
#line 2328 "regression-compile-tmp/imp918s.imp"
if (((((PREC) & (3))) != (2))) goto L_01c8;
#line 2328 "regression-compile-tmp/imp918s.imp"
if (((((((_imp_IMOD(ICONST))) >> (16)))) == (0))) goto L_01c8;
#line 2328 "regression-compile-tmp/imp918s.imp"
L_01c7:;
#line 2328 "regression-compile-tmp/imp918s.imp"
FAULT(44, 0);
#line 2328 "regression-compile-tmp/imp918s.imp"
L_01c8:;
                                                                //   2329                                    %OR (PREC&3=2 %AND |ICONST|>>16#0)
                                                                //   2330                          AD=ADDR(ICONST)+4-ACC
#line 2330 "regression-compile-tmp/imp918s.imp"
AD = (((short)((((int)(_imp_ADDR(&ICONST))) + (4)))) - (ACC));
                                                                //   2331                       %FINISH
#line 2331 "regression-compile-tmp/imp918s.imp"
L_01c5:;
                                                                //   2332                       %IF TYPE=1 %AND EXTRN=0 %AND 0<=ICONST<4096 %C
#line 2332 "regression-compile-tmp/imp918s.imp"
if (((TYPE) != (1))) goto L_01c9;
#line 2332 "regression-compile-tmp/imp918s.imp"
if (((EXTRN) != (0))) goto L_01c9;
#line 2332 "regression-compile-tmp/imp918s.imp"
if ((((0) > (ICONST))) || (((ICONST) >= (4096)))) goto L_01c9;
#line 2332 "regression-compile-tmp/imp918s.imp"
KFORM = ICONST;
#line 2332 "regression-compile-tmp/imp918s.imp"
goto L_01ca;
#line 2332 "regression-compile-tmp/imp918s.imp"
L_01c9:;
#line 2332 "regression-compile-tmp/imp918s.imp"
KFORM = (-1);
#line 2332 "regression-compile-tmp/imp918s.imp"
L_01ca:;
                                                                //   2333                          %THEN KFORM=ICONST %ELSE KFORM=-1
                                                                //   2334                       %IF EXTRN=0 %AND ACC>1 %START;  !CONST VAR==CONST SO SHARE IT
#line 2334 "regression-compile-tmp/imp918s.imp"
if (((EXTRN) != (0))) goto L_01cb;
#line 2334 "regression-compile-tmp/imp918s.imp"
if (((ACC) <= (1))) goto L_01cb;
                                                                //   2335                          STORE CONST(CBASE,TAGDISP,ACC,AD)
#line 2335 "regression-compile-tmp/imp918s.imp"
STORECONST(&CBASE, &TAGDISP, ACC, AD);
                                                                //   2336                       %FINISH %ELSE %START
#line 2336 "regression-compile-tmp/imp918s.imp"
goto L_01cc;
#line 2336 "regression-compile-tmp/imp918s.imp"
L_01cb:;
                                                                //   2337                          PGLA(ACC,ACC,AD);      ! PUT CONSTANT INTO GLA
#line 2337 "regression-compile-tmp/imp918s.imp"
PGLA(ACC, ACC, AD);
                                                                //   2338                          CBASE=GLA
#line 2338 "regression-compile-tmp/imp918s.imp"
CBASE = 13;
                                                                //   2339                          TAGDISP=GLACA-ACC;     ! OFFSET OF VAR FOR TAGS
#line 2339 "regression-compile-tmp/imp918s.imp"
TAGDISP = ((GLACA) - ((int)(ACC)));
                                                                //   2340                          EPDISP=TAGDISP;        ! AND FOR ENTRY DEFN
#line 2340 "regression-compile-tmp/imp918s.imp"
EPDISP = TAGDISP;
                                                                //   2341                          EPTYPE=3;              ! DATA IN ADRESSABLE GLA
#line 2341 "regression-compile-tmp/imp918s.imp"
EPTYPE = 3;
                                                                //   2342                       %FINISH
#line 2342 "regression-compile-tmp/imp918s.imp"
L_01cc:;
                                                                //   2343                    %FINISH
#line 2343 "regression-compile-tmp/imp918s.imp"
L_01c3:;
                                                                //   2344                 %FINISH
#line 2344 "regression-compile-tmp/imp918s.imp"
L_01c1:;
                                                                //   2345                 STAG(TAGDISP,ACC)
#line 2345 "regression-compile-tmp/imp918s.imp"
STAG(TAGDISP, ACC);
                                                                //   2346                 PP=PP+1
#line 2346 "regression-compile-tmp/imp918s.imp"
PP = (((int)(PP)) + (1));
                                                                //   2347              %REPEAT %UNTIL NNAMES=0
#line 2347 "regression-compile-tmp/imp918s.imp"
if (((NNAMES) == (0))) goto L_01b7;
#line 2347 "regression-compile-tmp/imp918s.imp"
goto L_01b6;
#line 2347 "regression-compile-tmp/imp918s.imp"
L_01b7:;
                                                                //   2348              P=MARK
#line 2348 "regression-compile-tmp/imp918s.imp"
P = MARK;
                                                                //   2349           %REPEAT %UNTIL A(MARK)=2
#line 2349 "regression-compile-tmp/imp918s.imp"
if (((A[((MARK) + ((int)(7)))]) == (2))) goto L_01a7;
#line 2349 "regression-compile-tmp/imp918s.imp"
goto L_01a6;
#line 2349 "regression-compile-tmp/imp918s.imp"
L_01a7:;
                                                                //   2350           ->Label99
#line 2350 "regression-compile-tmp/imp918s.imp"
goto U_1026;
                                                                //   2351  RECORD:                                ! <XOWN>'%RECORD'<NAMELIST>
#line 2351 "regression-compile-tmp/imp918s.imp"
U_1024:;
                                                                //   2352  !***********************************************************************
                                                                //   2353  !*       NO INITIALISATION OF OWN RECORDS ALLOWED SO THEY ARE ALL      *
                                                                //   2354  !*       CLEARED TO ZERO.                                              *
                                                                //   2355  !***********************************************************************
                                                                //   2356           MARKER1=P+A(P)+3-MODE;     ! TO FORMAT NAME
#line 2356 "regression-compile-tmp/imp918s.imp"
MARKER1 = (((int)((((int)(((P) + ((int)(A[((P) + ((int)(7)))]))))) + (3)))) - (MODE));
                                                                //   2357           FNAM=A(MARKER1)
#line 2357 "regression-compile-tmp/imp918s.imp"
FNAM = A[((MARKER1) + ((int)(7)))];
                                                                //   2358           COPYTAG(FNAM)
#line 2358 "regression-compile-tmp/imp918s.imp"
COPYTAG(FNAM);
                                                                //   2359           FINF=TCELL
#line 2359 "regression-compile-tmp/imp918s.imp"
FINF = TCELL;
                                                                //   2360           %IF PTYPE#4 %THEN FAULT(62,FNAM) %AND ->Label99
#line 2360 "regression-compile-tmp/imp918s.imp"
if (((PTYPE) == (4))) goto L_01cd;
#line 2360 "regression-compile-tmp/imp918s.imp"
FAULT(62, FNAM);
#line 2360 "regression-compile-tmp/imp918s.imp"
goto U_1026;
#line 2360 "regression-compile-tmp/imp918s.imp"
L_01cd:;
                                                                //   2361           %IF EXTRN=0 %THEN PTYPE=143 %ELSE PTYPE=103
#line 2361 "regression-compile-tmp/imp918s.imp"
if (((EXTRN) != (0))) goto L_01ce;
#line 2361 "regression-compile-tmp/imp918s.imp"
PTYPE = 143;
#line 2361 "regression-compile-tmp/imp918s.imp"
goto L_01cf;
#line 2361 "regression-compile-tmp/imp918s.imp"
L_01ce:;
#line 2361 "regression-compile-tmp/imp918s.imp"
PTYPE = 103;
#line 2361 "regression-compile-tmp/imp918s.imp"
L_01cf:;
                                                                //   2362           KFORM=FINF;! UNPACK
#line 2362 "regression-compile-tmp/imp918s.imp"
KFORM = FINF;
                                                                //   2363  !%if USE MC = 1 %start
                                                                //   2364  !            *L_1,PTYPE; *CVD_1,0(11)
                                                                //   2365  !            *UNPK_ROUT(5),5(3,11)
                                                                //   2366  !            *NC_ROUT(5),MASK1
                                                                //   2367  !%finish
                                                                //   2368           ->NONSCALAR %IF MODE=3
#line 2368 "regression-compile-tmp/imp918s.imp"
if (((MODE) != (3))) goto L_01d0;
#line 2368 "regression-compile-tmp/imp918s.imp"
goto U_1025;
#line 2368 "regression-compile-tmp/imp918s.imp"
L_01d0:;
                                                                //   2369           NNAMES=A(P); PTYPE=1003; J=0
#line 2369 "regression-compile-tmp/imp918s.imp"
NNAMES = A[((P) + ((int)(7)))];
#line 2369 "regression-compile-tmp/imp918s.imp"
PTYPE = 1003;
#line 2369 "regression-compile-tmp/imp918s.imp"
J = 0;
                                                                //   2370           %CYCLE
#line 2370 "regression-compile-tmp/imp918s.imp"
L_01d1:;
                                                                //   2371              P=P+1; K=A(P)
#line 2371 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
#line 2371 "regression-compile-tmp/imp918s.imp"
K = A[((P) + ((int)(7)))];
                                                                //   2372              %IF EXTRN=3 %THEN %START;     ! EXTRINISIC
#line 2372 "regression-compile-tmp/imp918s.imp"
if (((EXTRN) != (3))) goto L_01d4;
                                                                //   2373                 CXREF(2,K,ACC,TAGDISP); ! RELOCATE BY EXTERNAL
#line 2373 "regression-compile-tmp/imp918s.imp"
CXREF(2, K, ACC, &TAGDISP);
                                                                //   2374              %FINISH %ELSE %START
#line 2374 "regression-compile-tmp/imp918s.imp"
goto L_01d5;
#line 2374 "regression-compile-tmp/imp918s.imp"
L_01d4:;
                                                                //   2375                 CLEAR(ACC)
#line 2375 "regression-compile-tmp/imp918s.imp"
CLEAR(ACC);
                                                                //   2376                 EPDISP=STPTR-ACC
#line 2376 "regression-compile-tmp/imp918s.imp"
EPDISP = ((*STPTR) - ((int)(ACC)));
                                                                //   2377                 AH3=EPDISP
#line 2377 "regression-compile-tmp/imp918s.imp"
AH3 = EPDISP;
                                                                //   2378                 RELOCATE(-1,AH3,LPUTP);! PUT DISP INTO GLA
#line 2378 "regression-compile-tmp/imp918s.imp"
RELOCATE((-1), AH3, LPUTP);
                                                                //   2379                 TAGDISP=GLACA-4;        ! AND RELOCATE REL APPROPIATE AREA
#line 2379 "regression-compile-tmp/imp918s.imp"
TAGDISP = (((int)(GLACA)) - (4));
                                                                //   2380                 EPTYPE=4;              ! DATA IN GLA SYMBOL TABLES
#line 2380 "regression-compile-tmp/imp918s.imp"
EPTYPE = 4;
                                                                //   2381              %FINISH
#line 2381 "regression-compile-tmp/imp918s.imp"
L_01d5:;
                                                                //   2382              STAG(TAGDISP,ACC)
#line 2382 "regression-compile-tmp/imp918s.imp"
STAG(TAGDISP, ACC);
                                                                //   2383           %REPEAT %UNTIL NNAMES=0
#line 2383 "regression-compile-tmp/imp918s.imp"
if (((NNAMES) == (0))) goto L_01d2;
#line 2383 "regression-compile-tmp/imp918s.imp"
goto L_01d1;
#line 2383 "regression-compile-tmp/imp918s.imp"
L_01d2:;
                                                                //   2384           ->Label99
#line 2384 "regression-compile-tmp/imp918s.imp"
goto U_1026;
                                                                //   2385  NONSCALAR:                             ! OWN AND OWNRECORD ARRAYS
#line 2385 "regression-compile-tmp/imp918s.imp"
U_1025:;
                                                                //   2386  !***********************************************************************
                                                                //   2387  !*       OWN ARRAYS CAN BE INITIALISED BUT ONLY ONE ARRAY CAN BE       *
                                                                //   2388  !*       DECLARED IN A STATEMENT.(THANK HEAVENS!)                      *
                                                                //   2389  !*       OWN RECORD ARRAYS ARE CLEARED TO ZERO                         *
                                                                //   2390  !***********************************************************************
                                                                //   2391           PP=P+1; P=P+2; J=1; NNAMES=1
#line 2391 "regression-compile-tmp/imp918s.imp"
PP = (((int)(P)) + (1));
#line 2391 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (2));
#line 2391 "regression-compile-tmp/imp918s.imp"
J = 1;
#line 2391 "regression-compile-tmp/imp918s.imp"
NNAMES = 1;
                                                                //   2392           K=A(PP)
#line 2392 "regression-compile-tmp/imp918s.imp"
K = A[((PP) + ((int)(7)))];
                                                                //   2393           CBPAIR(KK,KKK)
#line 2393 "regression-compile-tmp/imp918s.imp"
CBPAIR(&KK, &KKK);
                                                                //   2394           %IF TYPE>=3 %THEN BP=ACC %ELSE BP=BYTES(PREC)
#line 2394 "regression-compile-tmp/imp918s.imp"
if (((TYPE) < (3))) goto L_01d6;
#line 2394 "regression-compile-tmp/imp918s.imp"
BP = ACC;
#line 2394 "regression-compile-tmp/imp918s.imp"
goto L_01d7;
#line 2394 "regression-compile-tmp/imp918s.imp"
L_01d6:;
#line 2394 "regression-compile-tmp/imp918s.imp"
BP = BYTES[PREC];
#line 2394 "regression-compile-tmp/imp918s.imp"
L_01d7:;
                                                                //   2395           LENGTH=KKK-KK+1; QQ=LENGTH*BP
#line 2395 "regression-compile-tmp/imp918s.imp"
LENGTH = (((int)((((int)(KKK)) - (KK)))) + (1));
#line 2395 "regression-compile-tmp/imp918s.imp"
QQ = (((int)(LENGTH)) * (BP));
                                                                //   2396           CONSTS FOUND=0
#line 2396 "regression-compile-tmp/imp918s.imp"
CONSTSFOUND = 0;
                                                                //   2397           %IF MODE#3 %THEN %START;   ! NOT A RECORD ARRAY
#line 2397 "regression-compile-tmp/imp918s.imp"
if (((MODE) == (3))) goto L_01d8;
                                                                //   2398              FROM AR4(P+1,CONSTS FOUND)
#line 2398 "regression-compile-tmp/imp918s.imp"
FROMAR4((((int)(P)) + (1)), &CONSTSFOUND);
                                                                //   2399              FROM AR4(P+3,SPOINT);    ! DISPLACEMENT OF CONSTANTS
#line 2399 "regression-compile-tmp/imp918s.imp"
FROMAR4((((int)(P)) + (3)), &SPOINT);
                                                                //   2400           %FINISH
#line 2400 "regression-compile-tmp/imp918s.imp"
L_01d8:;
                                                                //   2401           !*INSERT
                                                                //   2402           %IF CONSTS FOUND=0 %THEN %START;! NO CONSTANTS GIVEN
#line 2402 "regression-compile-tmp/imp918s.imp"
if (((CONSTSFOUND) != (0))) goto L_01d9;
                                                                //   2403                                           ! SO CLEAR AN AREA TO ZERO
                                                                //   2404              CONSTS FOUND=LENGTH
#line 2404 "regression-compile-tmp/imp918s.imp"
CONSTSFOUND = LENGTH;
                                                                //   2405              CLEAR(QQ) %UNLESS LENGTH<1 %OR EXTRN=3
#line 2405 "regression-compile-tmp/imp918s.imp"
if (((LENGTH) < (1))) goto L_01da;
#line 2405 "regression-compile-tmp/imp918s.imp"
if (((EXTRN) == (3))) goto L_01da;
#line 2405 "regression-compile-tmp/imp918s.imp"
CLEAR(QQ);
#line 2405 "regression-compile-tmp/imp918s.imp"
L_01da:;
                                                                //   2406              SPOINT=STPTR-QQ
#line 2406 "regression-compile-tmp/imp918s.imp"
SPOINT = ((*(int *)(STPTR)) - (QQ));
                                                                //   2407           %FINISH %ELSE %START
#line 2407 "regression-compile-tmp/imp918s.imp"
goto L_01db;
#line 2407 "regression-compile-tmp/imp918s.imp"
L_01d9:;
                                                                //   2408           !*INSERT
                                                                //   2409              FAULT(46,K) %IF EXTRN=3
#line 2409 "regression-compile-tmp/imp918s.imp"
if (((EXTRN) != (3))) goto L_01dc;
#line 2409 "regression-compile-tmp/imp918s.imp"
FAULT(46, K);
#line 2409 "regression-compile-tmp/imp918s.imp"
L_01dc:;
                                                                //   2410           %FINISH
#line 2410 "regression-compile-tmp/imp918s.imp"
L_01db:;
                                                                //   2411           FAULT(45,K) %UNLESS KKK>=KK %AND LENGTH=CONSTS FOUND
#line 2411 "regression-compile-tmp/imp918s.imp"
if (((KKK) < (KK))) goto L_01d3;
#line 2411 "regression-compile-tmp/imp918s.imp"
if (((LENGTH) == (CONSTSFOUND))) goto L_01dd;
#line 2411 "regression-compile-tmp/imp918s.imp"
L_01d3:;
#line 2411 "regression-compile-tmp/imp918s.imp"
FAULT(45, K);
#line 2411 "regression-compile-tmp/imp918s.imp"
L_01dd:;
                                                                //   2412  !
                                                                //   2413  ! NOW OUTPUT A DOPE VECTOR FOR STRING ARRAYS OR IF CHECKS ARE ON
                                                                //   2414  !
                                                                //   2415           %UNLESS COMPILER=1 %AND CHECKS=0 %AND TYPE#5 %THEN %START
#line 2415 "regression-compile-tmp/imp918s.imp"
if (((COMPILER) != (1))) goto L_01de;
#line 2415 "regression-compile-tmp/imp918s.imp"
if (((CHECKS) != (0))) goto L_01de;
#line 2415 "regression-compile-tmp/imp918s.imp"
if (((TYPE) != (5))) goto L_01df;
#line 2415 "regression-compile-tmp/imp918s.imp"
L_01de:;
                                                                //   2416              AH3=DOPE VECTOR(BP,KK,KKK)
#line 2416 "regression-compile-tmp/imp918s.imp"
AH3 = DOPEVECTOR(BP, KK, KKK);
                                                                //   2417           %FINISH %ELSE AH3=SSTL
#line 2417 "regression-compile-tmp/imp918s.imp"
goto L_01e0;
#line 2417 "regression-compile-tmp/imp918s.imp"
L_01df:;
#line 2417 "regression-compile-tmp/imp918s.imp"
AH3 = SSTL;
#line 2417 "regression-compile-tmp/imp918s.imp"
L_01e0:;
                                                                //   2418           %IF EXTRN=3 %THEN EPDISP=0 %ELSE EPDISP=SPOINT
#line 2418 "regression-compile-tmp/imp918s.imp"
if (((EXTRN) != (3))) goto L_01e1;
#line 2418 "regression-compile-tmp/imp918s.imp"
EPDISP = 0;
#line 2418 "regression-compile-tmp/imp918s.imp"
goto L_01e2;
#line 2418 "regression-compile-tmp/imp918s.imp"
L_01e1:;
#line 2418 "regression-compile-tmp/imp918s.imp"
EPDISP = SPOINT;
#line 2418 "regression-compile-tmp/imp918s.imp"
L_01e2:;
                                                                //   2419  !
                                                                //   2420  ! OUTPUT AN ARRAYHEAD INTO THE GLA RELATIVE TO THE START OF THE SYMBOL-
                                                                //   2421  ! TABLES IN WHICH THE ARRAY RESIDES. PERM INITIALISATION WILL RELOCATE
                                                                //   2422  ! BY ADDING INTO AH1-3 THE VIRTUAL ADDRESS OF THE START OF THE
                                                                //   2423  ! APPROPIATE AREA.
                                                                //   2424  !
                                                                //   2425           AH1=EPDISP-KK*BP
#line 2425 "regression-compile-tmp/imp918s.imp"
AH1 = ((EPDISP) - ((int)((((int)(KK)) * (BP)))));
                                                                //   2426           AH2=EPDISP
#line 2426 "regression-compile-tmp/imp918s.imp"
AH2 = EPDISP;
                                                                //   2427           AH4=BP; JJ=16-COMPILER<<2
#line 2427 "regression-compile-tmp/imp918s.imp"
AH4 = BP;
#line 2427 "regression-compile-tmp/imp918s.imp"
JJ = ((16) - ((int)(((COMPILER) << (2)))));
                                                                //   2428           PGLA(4,JJ,ADDR(AH1))
#line 2428 "regression-compile-tmp/imp918s.imp"
PGLA(4, JJ, _imp_ADDR(&AH1));
                                                                //   2429           TAGDISP=GLACA-JJ
#line 2429 "regression-compile-tmp/imp918s.imp"
TAGDISP = (((int)(GLACA)) - (JJ));
                                                                //   2430           %IF EXTRN=3 %THEN %START;     ! EXTRINSIC ARRAYS
#line 2430 "regression-compile-tmp/imp918s.imp"
if (((EXTRN) != (3))) goto L_01e3;
                                                                //   2431              GXREF(2,K,QQ,TAGDISP);     ! RELOCATE ADDR(A(0))
#line 2431 "regression-compile-tmp/imp918s.imp"
GXREF(2, K, QQ, TAGDISP);
                                                                //   2432              GXREF(2,K,QQ,TAGDISP+4);   ! RELOCATE ADDR(A(FIRST))
#line 2432 "regression-compile-tmp/imp918s.imp"
GXREF(2, K, QQ, (((int)(TAGDISP)) + (4)));
                                                                //   2433           %FINISH %ELSE %START
#line 2433 "regression-compile-tmp/imp918s.imp"
goto L_01e4;
#line 2433 "regression-compile-tmp/imp918s.imp"
L_01e3:;
                                                                //   2434              RELOCATE(TAGDISP,AH1,LPUTP);! RELOCATE ADDR(A(0))
#line 2434 "regression-compile-tmp/imp918s.imp"
RELOCATE(TAGDISP, AH1, LPUTP);
                                                                //   2435              RELOCATE(TAGDISP+4,AH2,LPUTP);! RELOCATE ADDR(A(FIRST))
#line 2435 "regression-compile-tmp/imp918s.imp"
RELOCATE((((int)(TAGDISP)) + (4)), AH2, LPUTP);
                                                                //   2436           %FINISH
#line 2436 "regression-compile-tmp/imp918s.imp"
L_01e4:;
                                                                //   2437           RELOCATE(TAGDISP+8,AH3,4);    ! RELOCATE DV POINTER
#line 2437 "regression-compile-tmp/imp918s.imp"
RELOCATE((((int)(TAGDISP)) + (8)), AH3, 4);
                                                                //   2438           EPTYPE=4;                     ! DATA IN GLA SYMBOL TABLES
#line 2438 "regression-compile-tmp/imp918s.imp"
EPTYPE = 4;
                                                                //   2439           STAG(TAGDISP,QQ)
#line 2439 "regression-compile-tmp/imp918s.imp"
STAG(TAGDISP, QQ);
                                                                //   2440           ->Label99
#line 2440 "regression-compile-tmp/imp918s.imp"
goto U_1026;
                                                                //   2441           %ROUTINE CLEAR(%INTEGER LENGTH)
#line 2441 "regression-compile-tmp/imp918s.imp"
void CLEAR( int LENGTH )
#line 2441 "regression-compile-tmp/imp918s.imp"
{
                                                                //   2442                 STPTR=(STPTR+7)&(-8)
#line 2442 "regression-compile-tmp/imp918s.imp"
*STPTR = ((((*(int *)(STPTR)) + (7))) & ((-8)));
                                                                //   2443           LENGTH=(LENGTH+3)&(-4)
#line 2443 "regression-compile-tmp/imp918s.imp"
LENGTH = (((((int)(LENGTH)) + (3))) & ((-4)));
                                                                //   2444           LPUT(LPUTP,LENGTH,STPTR,0)%IF INHCODE=0
#line 2444 "regression-compile-tmp/imp918s.imp"
if (((INHCODE) != (0))) goto L_01e5;
#line 2444 "regression-compile-tmp/imp918s.imp"
lput(LPUTP, LENGTH, *STPTR, 0);
#line 2444 "regression-compile-tmp/imp918s.imp"
L_01e5:;
                                                                //   2445           STPTR=STPTR+LENGTH
#line 2445 "regression-compile-tmp/imp918s.imp"
*STPTR = ((*(int *)(STPTR)) + (LENGTH));
                                                                //   2446           %END
#line 2446 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block CLEAR at level 4
                                                                //   2447           %ROUTINE STAG(%INTEGER J,DATALEN)
#line 2447 "regression-compile-tmp/imp918s.imp"
void STAG( int J, int DATALEN )
#line 2447 "regression-compile-tmp/imp918s.imp"
{
                                                                //   2448           TEST NST
#line 2448 "regression-compile-tmp/imp918s.imp"
TESTNST();
                                                                //   2449           %IF EXTRN=2 %THEN DEFINE EP(EPTYPE,K,EPDISP,DATALEN)
#line 2449 "regression-compile-tmp/imp918s.imp"
if (((EXTRN) != (2))) goto L_01e6;
#line 2449 "regression-compile-tmp/imp918s.imp"
DEFINEEP(EPTYPE, K, EPDISP, DATALEN);
#line 2449 "regression-compile-tmp/imp918s.imp"
L_01e6:;
                                                                //   2450           RBASE=CBASE
#line 2450 "regression-compile-tmp/imp918s.imp"
RBASE = CBASE;
                                                                //   2451           STORE TAG(K,J)
#line 2451 "regression-compile-tmp/imp918s.imp"
STORETAG(K, J);
                                                                //   2452           RBASE=10-RLEVEL
#line 2452 "regression-compile-tmp/imp918s.imp"
RBASE = (((int)(10)) - (RLEVEL));
                                                                //   2453           NNAMES=NNAMES-1
#line 2453 "regression-compile-tmp/imp918s.imp"
NNAMES = (((int)(NNAMES)) - (1));
                                                                //   2454           %END
#line 2454 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block STAG at level 4
                                                                //   2455  Label99:      %END; ->Label1
#line 2455 "regression-compile-tmp/imp918s.imp"
U_1026:;
#line 2455 "regression-compile-tmp/imp918s.imp"
return;
} // End of block _BLOCK_12_LEVEL_2_ at level 3
_BLOCK_12_LEVEL_2_();
#line 2455 "regression-compile-tmp/imp918s.imp"
goto U_100f;
                                                                //   2456  SW(18):
#line 2456 "regression-compile-tmp/imp918s.imp"
sw2_SW_18:;
                                                                //   2457           P=P+1
#line 2457 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
                                                                //   2458           CRSPEC(2); ->Label1
#line 2458 "regression-compile-tmp/imp918s.imp"
CRSPEC(2);
#line 2458 "regression-compile-tmp/imp918s.imp"
goto U_100f;
                                                                //   2459  SW(19):
#line 2459 "regression-compile-tmp/imp918s.imp"
sw2_SW_19:;
                                                                //   2460                                          ! '%NAME' SPECIAL NAME
                                                                //   2461           PUSH123(TAGS(A(P+1)),SNPT<<16!X'8090',0,SNUM<<16)
#line 2461 "regression-compile-tmp/imp918s.imp"
PUSH123(&TAGS[A[(((unsigned char)((((int)(P)) + (1)))) + (7))]], ((((10006) << (16))) | (32912)), 0, ((SNUM) << (16)));
                                                                //   2462           SNUM=SNUM+1;->Label1
#line 2462 "regression-compile-tmp/imp918s.imp"
SNUM = (((int)(SNUM)) + (1));
#line 2462 "regression-compile-tmp/imp918s.imp"
goto U_100f;
                                                                //   2463  SW(20):                          ! TRUSTED PROGRAM
#line 2463 "regression-compile-tmp/imp918s.imp"
sw2_SW_20:;
                                                                //   2464  !
                                                                //   2465  ! TRUSTED PROGRAMS HAVE:-
                                                                //   2466  !     1) NO JUMPS ROUND ROUTINE BODIES
                                                                //   2467  !     2) NO ERROR EXITS FROM FNS & MAPS
                                                                //   2468  !     3) NO CYCLES OF THE FORM I:=1,1,I
                                                                //   2469  !     4) NO RELIANCE ON THE VALUE OF CYCLE VARIABLES AT TERMINATION
                                                                //   2470  !
                                                                //   2471           MARGIN=512
#line 2471 "regression-compile-tmp/imp918s.imp"
MARGIN = 512;
                                                                //   2472           COMPILER=1 %IF CHECKSP=0;     ! ONLY WORKS ON PARM OPT
#line 2472 "regression-compile-tmp/imp918s.imp"
if (((CHECKSP) != (0))) goto L_01e7;
#line 2472 "regression-compile-tmp/imp918s.imp"
COMPILER = 1;
#line 2472 "regression-compile-tmp/imp918s.imp"
L_01e7:;
                                                                //   2473           ->Label1
#line 2473 "regression-compile-tmp/imp918s.imp"
goto U_100f;
                                                                //   2474  SW(21):
#line 2474 "regression-compile-tmp/imp918s.imp"
sw2_SW_21:;
                                                                //   2475                                         ! '%REGISTER'(NAME)(S)
                                                                //   2476           WARN(LINE)
#line 2476 "regression-compile-tmp/imp918s.imp"
WARN(LINE);
                                                                //   2477           %IF A(P+2)=1 %THEN KK=A(P+3) %ELSE FINDREG(CLMABL,KK)
#line 2477 "regression-compile-tmp/imp918s.imp"
if (((A[(((unsigned char)((((int)(P)) + (2)))) + (7))]) != (1))) goto L_01e8;
#line 2477 "regression-compile-tmp/imp918s.imp"
KK = A[(((unsigned char)((((int)(P)) + (3)))) + (7))];
#line 2477 "regression-compile-tmp/imp918s.imp"
goto L_01e9;
#line 2477 "regression-compile-tmp/imp918s.imp"
L_01e8:;
#line 2477 "regression-compile-tmp/imp918s.imp"
FINDREG(66830, &KK);
#line 2477 "regression-compile-tmp/imp918s.imp"
L_01e9:;
                                                                //   2478           %IF 4<KK<15 %AND REGISTER(KK)=0 %THEN %START
#line 2478 "regression-compile-tmp/imp918s.imp"
if ((((4) >= (KK))) || (((KK) >= (15)))) goto L_01ea;
#line 2478 "regression-compile-tmp/imp918s.imp"
if (((REGISTER[KK]) != (0))) goto L_01ea;
                                                                //   2479              UVARREG(KK)=LEVEL
#line 2479 "regression-compile-tmp/imp918s.imp"
UVARREG[(((int)(KK)) - (5))] = LEVEL;
                                                                //   2480              PTYPE=8; J=0
#line 2480 "regression-compile-tmp/imp918s.imp"
PTYPE = 8;
#line 2480 "regression-compile-tmp/imp918s.imp"
J = 0;
                                                                //   2481              K=A(P+1); TESTNST
#line 2481 "regression-compile-tmp/imp918s.imp"
K = A[(((unsigned char)((((int)(P)) + (1)))) + (7))];
#line 2481 "regression-compile-tmp/imp918s.imp"
TESTNST();
                                                                //   2482              KFORM=M'RG'
#line 2482 "regression-compile-tmp/imp918s.imp"
KFORM = 21063;
                                                                //   2483              STORE TAG(K,KK)
#line 2483 "regression-compile-tmp/imp918s.imp"
STORETAG(K, KK);
                                                                //   2484              SET USE(KK,3,TAGS(K))
#line 2484 "regression-compile-tmp/imp918s.imp"
SETUSE(KK, 3, TAGS[K]);
                                                                //   2485              REGISTER(KK)=-1
#line 2485 "regression-compile-tmp/imp918s.imp"
REGISTER[KK] = (-1);
                                                                //   2486           %FINISH %ELSE FAULT(58,0)
#line 2486 "regression-compile-tmp/imp918s.imp"
goto L_01eb;
#line 2486 "regression-compile-tmp/imp918s.imp"
L_01ea:;
#line 2486 "regression-compile-tmp/imp918s.imp"
FAULT(58, 0);
#line 2486 "regression-compile-tmp/imp918s.imp"
L_01eb:;
                                                                //   2487  SW(22):
#line 2487 "regression-compile-tmp/imp918s.imp"
sw2_SW_22:;
                                                                //   2488           ->Label1;                         ! '%MCODE'
#line 2488 "regression-compile-tmp/imp918s.imp"
goto U_100f;
                                                                //   2489  SW(24):
#line 2489 "regression-compile-tmp/imp918s.imp"
sw2_SW_24:;
                                                                //   2490           P=P+1; LCA=0; CUCI; ->Label1;            ! '*'(UCI)(S)
#line 2490 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
#line 2490 "regression-compile-tmp/imp918s.imp"
LCA = 0;
#line 2490 "regression-compile-tmp/imp918s.imp"
CUCI();
#line 2490 "regression-compile-tmp/imp918s.imp"
goto U_100f;
                                                                //   2491  SW(26):
#line 2491 "regression-compile-tmp/imp918s.imp"
sw2_SW_26:;
                                                                //   2492           %BEGIN;                       ! %COMMENT %DEFINE (SOMETHING)
#line 2492 "regression-compile-tmp/imp918s.imp"
void _BLOCK_13_LEVEL_2_(void) {
                                                                //   2493           {%SHORTROUTINE}
                                                                //   2494           %SWITCH S(1:3)
#line 2494 "regression-compile-tmp/imp918s.imp"
static int sw5_S_idx;
static const void * /*SWITCH*/ sw5_S[3] = { &&sw5_S_1, &&sw5_S_2, &&sw5_S_3,  };
                                                                //   2495           %INTEGER I,J,K
#line 2495 "regression-compile-tmp/imp918s.imp"
int I;
#line 2495 "regression-compile-tmp/imp918s.imp"
int J;
#line 2495 "regression-compile-tmp/imp918s.imp"
int K;
                                                                //   2496           -> S(A(P+1))
#line 2496 "regression-compile-tmp/imp918s.imp"
sw5_S_idx = A[(((unsigned char)((((int)(P)) + (1)))) + (7))]; if ((1 <= sw5_S_idx) && (sw5_S_idx <= 3)) goto *(sw5_S-1)[sw5_S_idx];  /* Bounds=1:3 */ else {
   /*_imp_signal(8, 2, sw5_S_idx);*/
   fprintf(stderr, "%%SWITCH index S(%d) not in range 1:3 at %s:%d\n",
           sw5_S_idx, (_imp_current_file != 0 ? _imp_current_file : __FILE__),
           (_imp_current_line != 0 ? _imp_current_line : __LINE__));
           exit(1);
}
                                                                //   2497  S(1):    I=ADDR(FIXED GLA(27)); ->Label1
#line 2497 "regression-compile-tmp/imp918s.imp"
sw5_S_1:;
#line 2497 "regression-compile-tmp/imp918s.imp"
I = _imp_ADDR(&FIXEDGLA[27]);
#line 2497 "regression-compile-tmp/imp918s.imp"
goto U_1027;
                                                                //   2498  S(2):    I=ADDR(IOCP1)+3; ->Label1
#line 2498 "regression-compile-tmp/imp918s.imp"
sw5_S_2:;
#line 2498 "regression-compile-tmp/imp918s.imp"
I = (((int)(_imp_ADDR(&IOCP1))) + (3));
#line 2498 "regression-compile-tmp/imp918s.imp"
goto U_1027;
                                                                //   2499  S(3):    I=ADDR(MAIN EP1)+3
#line 2499 "regression-compile-tmp/imp918s.imp"
sw5_S_3:;
#line 2499 "regression-compile-tmp/imp918s.imp"
I = (((int)(_imp_ADDR(&MAINEP1))) + (3));
                                                                //   2500  Label1:       K=A(P+2)
#line 2500 "regression-compile-tmp/imp918s.imp"
U_1027:;
#line 2500 "regression-compile-tmp/imp918s.imp"
K = A[(((unsigned char)((((int)(P)) + (2)))) + (7))];
                                                                //   2501           FAULT(50,0) %UNLESS CPRMODE=0 %AND K<=7
#line 2501 "regression-compile-tmp/imp918s.imp"
if (((CPRMODE) != (0))) goto L_01ec;
#line 2501 "regression-compile-tmp/imp918s.imp"
if (((K) <= (7))) goto L_01ed;
#line 2501 "regression-compile-tmp/imp918s.imp"
L_01ec:;
#line 2501 "regression-compile-tmp/imp918s.imp"
FAULT(50, 0);
#line 2501 "regression-compile-tmp/imp918s.imp"
L_01ed:;
                                                                //   2502           J=ADDR(A(P+2))+1
#line 2502 "regression-compile-tmp/imp918s.imp"
J = (((int)(_imp_ADDR(&A[(((unsigned char)((((int)(P)) + (2)))) + (7))]))) + (1));
                                                                //   2503  !%if USE MC = 1 %start
                                                                //   2504  !         *L_1,I;*L_2,J
                                                                //   2505  !         *MVC_0(8,1),0(2)
                                                                //   2506  !%finish
                                                                //   2507           %END; ->Label1
#line 2507 "regression-compile-tmp/imp918s.imp"
return;
} // End of block _BLOCK_13_LEVEL_2_ at level 3
_BLOCK_13_LEVEL_2_();
#line 2507 "regression-compile-tmp/imp918s.imp"
goto U_100f;
                                                                //   2508  SW(25):
#line 2508 "regression-compile-tmp/imp918s.imp"
sw2_SW_25:;
                                                                //   2509                                         ! %CONTROL (CONST)
                                                                //   2510  !         FAULT(33,0) %UNLESS IMPS=1
                                                                //   2511           FROM AR4(P+2,J)
#line 2511 "regression-compile-tmp/imp918s.imp"
FROMAR4((((int)(P)) + (2)), &J);
                                                                //   2512           K=J&15; LINENOS=K %UNLESS K=15
#line 2512 "regression-compile-tmp/imp918s.imp"
K = ((J) & (15));
#line 2512 "regression-compile-tmp/imp918s.imp"
if (((K) == (15))) goto L_01ee;
#line 2512 "regression-compile-tmp/imp918s.imp"
LINENOS = K;
#line 2512 "regression-compile-tmp/imp918s.imp"
L_01ee:;
                                                                //   2513           K=J>>4&15; DIAGS1=K&1 %AND DIAGS2=K&2 %UNLESS K=15
#line 2513 "regression-compile-tmp/imp918s.imp"
K = (((int)((((unsigned int)(J)) >> (4)))) & (15));
#line 2513 "regression-compile-tmp/imp918s.imp"
if (((K) == (15))) goto L_01ef;
#line 2513 "regression-compile-tmp/imp918s.imp"
DIAGS1 = ((K) & (1));
#line 2513 "regression-compile-tmp/imp918s.imp"
DIAGS2 = ((K) & (2));
#line 2513 "regression-compile-tmp/imp918s.imp"
L_01ef:;
                                                                //   2514           K=J>>8&15
#line 2514 "regression-compile-tmp/imp918s.imp"
K = (((int)((((unsigned int)(J)) >> (8)))) & (15));
                                                                //   2515           CHECKS=K %UNLESS K=15
#line 2515 "regression-compile-tmp/imp918s.imp"
if (((K) == (15))) goto L_01f0;
#line 2515 "regression-compile-tmp/imp918s.imp"
CHECKS = K;
#line 2515 "regression-compile-tmp/imp918s.imp"
L_01f0:;
                                                                //   2516           CHECKSP=K&14 %UNLESS K=15
#line 2516 "regression-compile-tmp/imp918s.imp"
if (((K) == (15))) goto L_01f1;
#line 2516 "regression-compile-tmp/imp918s.imp"
CHECKSP = ((K) & (14));
#line 2516 "regression-compile-tmp/imp918s.imp"
L_01f1:;
                                                                //   2517           GLAFLAG=CHECKSP
#line 2517 "regression-compile-tmp/imp918s.imp"
GLAFLAG = CHECKSP;
                                                                //   2518           K=J>>12&15
#line 2518 "regression-compile-tmp/imp918s.imp"
K = (((int)((((unsigned int)(J)) >> (12)))) & (15));
                                                                //   2519           UNASS=K %UNLESS K=15
#line 2519 "regression-compile-tmp/imp918s.imp"
if (((K) == (15))) goto L_01f2;
#line 2519 "regression-compile-tmp/imp918s.imp"
UNASS = K;
#line 2519 "regression-compile-tmp/imp918s.imp"
L_01f2:;
                                                                //   2520           K=J>>24&15
#line 2520 "regression-compile-tmp/imp918s.imp"
K = (((int)((((unsigned int)(J)) >> (24)))) & (15));
                                                                //   2521           %IF K=1 %THEN %START;         ! PERMIT LOWER CASE NAMES
#line 2521 "regression-compile-tmp/imp918s.imp"
if (((K) != (1))) goto L_01f3;
                                                                //   2522              %CYCLE I=1,1,26
#line 2522 "regression-compile-tmp/imp918s.imp"
I = 0;
if ((((26)-(1)) % (1)) != 0) _imp_signal(5,1,0,"Illegal cycle I = 1, 1, 26");
L_01f4:;
if (I == 26) goto L_01f5;
I += 1;
                                                                //   2523                 TRTABS(I+96)=0
#line 2523 "regression-compile-tmp/imp918s.imp"
TRTABS[(((int)(I)) + (96))] = 0;
                                                                //   2524              %REPEAT
#line 2524 "regression-compile-tmp/imp918s.imp"
goto L_01f4;
#line 2524 "regression-compile-tmp/imp918s.imp"
L_01f5:;
                                                                //   2525           %FINISH
#line 2525 "regression-compile-tmp/imp918s.imp"
L_01f3:;
                                                                //   2526           K=J>>28
#line 2526 "regression-compile-tmp/imp918s.imp"
K = (int)((((unsigned int)(J)) >> (28)));
                                                                //   2527           %IF K=1 %THEN CODEOUT
#line 2527 "regression-compile-tmp/imp918s.imp"
if (((K) != (1))) goto L_01f7;
#line 2527 "regression-compile-tmp/imp918s.imp"
CODEOUT();
#line 2527 "regression-compile-tmp/imp918s.imp"
L_01f7:;
                                                                //   2528           DCOMP=K %UNLESS K=15
#line 2528 "regression-compile-tmp/imp918s.imp"
if (((K) == (15))) goto L_01f8;
#line 2528 "regression-compile-tmp/imp918s.imp"
DCOMP = K;
#line 2528 "regression-compile-tmp/imp918s.imp"
L_01f8:;
                                                                //   2529           ->Label1
#line 2529 "regression-compile-tmp/imp918s.imp"
goto U_100f;
                                                                //   2530  SW(27):
#line 2530 "regression-compile-tmp/imp918s.imp"
sw2_SW_27:;
                                                                //   2531           %BEGIN;                       ! %RECORD (RDECLN)
#line 2531 "regression-compile-tmp/imp918s.imp"
void _BLOCK_14_LEVEL_2_(void) {
                                                                //   2532  !***********************************************************************
                                                                //   2533  !*       RECORDS ARE ALLOCATED AT COMPILE TIME WHEN POSSIBLE           *
                                                                //   2534  !*       SEE CRFORMAT FOR ACTION ON RECORD FORMAT DECLARATIONS         *
                                                                //   2535  !***********************************************************************
                                                                //   2536           {%SHORTROUTINE}
                                                                //   2537           %INTEGER MODE,RECL,ALLOC,FNAM,FINF,NAME
#line 2537 "regression-compile-tmp/imp918s.imp"
int MODE;
#line 2537 "regression-compile-tmp/imp918s.imp"
int RECL;
#line 2537 "regression-compile-tmp/imp918s.imp"
int ALLOC;
#line 2537 "regression-compile-tmp/imp918s.imp"
int FNAM;
#line 2537 "regression-compile-tmp/imp918s.imp"
int FINF;
#line 2537 "regression-compile-tmp/imp918s.imp"
int NAME;
                                                                //   2538           P=P+1; MODE=A(P)
#line 2538 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
#line 2538 "regression-compile-tmp/imp918s.imp"
MODE = A[((P) + ((int)(7)))];
                                                                //   2539           %IF MODE=1 %THEN %START;      ! DEAL WITH FORMAT
#line 2539 "regression-compile-tmp/imp918s.imp"
if (((MODE) != (1))) goto L_01f9;
                                                                //   2540              NAME=A(P+1); P=P+2
#line 2540 "regression-compile-tmp/imp918s.imp"
NAME = A[(((unsigned char)((((int)(P)) + (1)))) + (7))];
#line 2540 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (2));
                                                                //   2541              CRFORMAT(OPHEAD); K=NAME
#line 2541 "regression-compile-tmp/imp918s.imp"
CRFORMAT(&OPHEAD);
#line 2541 "regression-compile-tmp/imp918s.imp"
K = NAME;
                                                                //   2542              PTYPE=4; J=0
#line 2542 "regression-compile-tmp/imp918s.imp"
PTYPE = 4;
#line 2542 "regression-compile-tmp/imp918s.imp"
J = 0;
                                                                //   2543              KFORM=OPHEAD
#line 2543 "regression-compile-tmp/imp918s.imp"
KFORM = OPHEAD;
                                                                //   2544              TEST NST; STORE TAG(K,OPHEAD)
#line 2544 "regression-compile-tmp/imp918s.imp"
TESTNST();
#line 2544 "regression-compile-tmp/imp918s.imp"
STORETAG(K, OPHEAD);
                                                                //   2545              ->Label99
#line 2545 "regression-compile-tmp/imp918s.imp"
goto U_1028;
                                                                //   2546           %FINISH
#line 2546 "regression-compile-tmp/imp918s.imp"
L_01f9:;
                                                                //   2547           P=P+1; MARKER1=P+A(P)
#line 2547 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
#line 2547 "regression-compile-tmp/imp918s.imp"
MARKER1 = ((P) + ((int)(A[((P) + ((int)(7)))])));
                                                                //   2548           FNAM=A(MARKER1);              ! FORMAT NAME
#line 2548 "regression-compile-tmp/imp918s.imp"
FNAM = A[((MARKER1) + ((int)(7)))];
                                                                //   2549           COPY TAG(FNAM)
#line 2549 "regression-compile-tmp/imp918s.imp"
COPYTAG(FNAM);
                                                                //   2550           FINF=TCELL
#line 2550 "regression-compile-tmp/imp918s.imp"
FINF = TCELL;
                                                                //   2551           %IF TYPE#4 %THEN %START
#line 2551 "regression-compile-tmp/imp918s.imp"
if (((TYPE) == (4))) goto L_01fa;
                                                                //   2552              FINF=DUMMY FORMAT
#line 2552 "regression-compile-tmp/imp918s.imp"
FINF = DUMMYFORMAT;
                                                                //   2553              ACC=4; FAULT(62,FNAM)
#line 2553 "regression-compile-tmp/imp918s.imp"
ACC = 4;
#line 2553 "regression-compile-tmp/imp918s.imp"
FAULT(62, FNAM);
                                                                //   2554           %FINISH
#line 2554 "regression-compile-tmp/imp918s.imp"
L_01fa:;
                                                                //   2555           RECL=ACC
#line 2555 "regression-compile-tmp/imp918s.imp"
RECL = ACC;
                                                                //   2556           %IF MODE=2%THEN %START;       ! '%RECORDSPEC'
#line 2556 "regression-compile-tmp/imp918s.imp"
if (((MODE) != (2))) goto L_01fb;
                                                                //   2557              COPY TAG(A(P+1))
#line 2557 "regression-compile-tmp/imp918s.imp"
COPYTAG(A[(((unsigned char)((((int)(P)) + (1)))) + (7))]);
                                                                //   2558              %IF A(P+2)=1 %AND TYPE=4 %START;! SPEC FOR FORMAT ELEMENT
#line 2558 "regression-compile-tmp/imp918s.imp"
if (((A[(((unsigned char)((((int)(P)) + (2)))) + (7))]) != (1))) goto L_01fc;
#line 2558 "regression-compile-tmp/imp918s.imp"
if (((TYPE) != (4))) goto L_01fc;
                                                                //   2559                 P=P+3
#line 2559 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (3));
                                                                //   2560                 Q=DISPLACEMENT(TCELL)
#line 2560 "regression-compile-tmp/imp918s.imp"
Q = DISPLACEMENT(TCELL);
                                                                //   2561                ! UNPACK
                                                                //   2562  !%if USE MC = 1 %start
                                                                //   2563  !            *L_1,PTYPE; *CVD_1,0(11)
                                                                //   2564  !            *UNPK_ROUT(5),5(3,11)
                                                                //   2565  !            *NC_ROUT(5),MASK1
                                                                //   2566  !%finish
                                                                //   2567              %FINISH
#line 2567 "regression-compile-tmp/imp918s.imp"
L_01fc:;
                                                                //   2568              %IF TYPE=3 %AND NAM=1 %AND FROM3(TCELL)&X'FFFF'=0 %START
#line 2568 "regression-compile-tmp/imp918s.imp"
if (((TYPE) != (3))) goto L_01fd;
#line 2568 "regression-compile-tmp/imp918s.imp"
if (((NAM) != (1))) goto L_01fd;
#line 2568 "regression-compile-tmp/imp918s.imp"
if (((((FROM3(TCELL)) & (65535))) != (0))) goto L_01fd;
                                                                //   2569                 REPLACE3(TCELL,FINF!K<<16)
#line 2569 "regression-compile-tmp/imp918s.imp"
REPLACE3(TCELL, ((FINF) | (((K) << (16)))));
                                                                //   2570                 REPLACE2(TCELL,SNDISP<<16!RECL)
#line 2570 "regression-compile-tmp/imp918s.imp"
REPLACE2(TCELL, ((((SNDISP) << (16))) | (RECL)));
                                                                //   2571              %FINISH %ELSE FAULT(63,0)
#line 2571 "regression-compile-tmp/imp918s.imp"
goto L_01fe;
#line 2571 "regression-compile-tmp/imp918s.imp"
L_01fd:;
#line 2571 "regression-compile-tmp/imp918s.imp"
FAULT(63, 0);
#line 2571 "regression-compile-tmp/imp918s.imp"
L_01fe:;
                                                                //   2572           %FINISH %ELSE %START;         ! RECORD DECLARATION
#line 2572 "regression-compile-tmp/imp918s.imp"
goto L_01ff;
#line 2572 "regression-compile-tmp/imp918s.imp"
L_01fb:;
                                                                //   2573              FAULT(57,0) %UNLESS LEVEL>=2
#line 2573 "regression-compile-tmp/imp918s.imp"
if (((LEVEL) >= (2))) goto L_0200;
#line 2573 "regression-compile-tmp/imp918s.imp"
FAULT(57, 0);
#line 2573 "regression-compile-tmp/imp918s.imp"
L_0200:;
                                                                //   2574              FAULT(40,0) %IF NMDECS&1#0
#line 2574 "regression-compile-tmp/imp918s.imp"
if (((((NMDECS) & (1))) == (0))) goto L_0201;
#line 2574 "regression-compile-tmp/imp918s.imp"
FAULT(40, 0);
#line 2574 "regression-compile-tmp/imp918s.imp"
L_0201:;
                                                                //   2575              TYPE=3; PREC=0; ROUT=0
#line 2575 "regression-compile-tmp/imp918s.imp"
TYPE = 3;
#line 2575 "regression-compile-tmp/imp918s.imp"
PREC = 0;
#line 2575 "regression-compile-tmp/imp918s.imp"
ROUT = 0;
                                                                //   2576             %IF A(P+1)=1 %THEN %START;  ! SIMPLE RECORD AND RECORDNAMES
#line 2576 "regression-compile-tmp/imp918s.imp"
if (((A[(((unsigned char)((((int)(P)) + (1)))) + (7))]) != (1))) goto L_0202;
                                                                //   2577                 ALLOC=ACC; CQN(P+2)
#line 2577 "regression-compile-tmp/imp918s.imp"
ALLOC = ACC;
#line 2577 "regression-compile-tmp/imp918s.imp"
CQN((((int)(P)) + (2)));
                                                                //   2578                 ACC=ALLOC; P=P+3
#line 2578 "regression-compile-tmp/imp918s.imp"
ACC = ALLOC;
#line 2578 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (3));
                                                                //   2579                 DECLARE SCALARS(1,FINF)
#line 2579 "regression-compile-tmp/imp918s.imp"
DECLARESCALARS(1, FINF);
                                                                //   2580              %FINISH %ELSE %START;      ! ARRAYS OF RECORDS
#line 2580 "regression-compile-tmp/imp918s.imp"
goto L_0203;
#line 2580 "regression-compile-tmp/imp918s.imp"
L_0202:;
                                                                //   2581                 NAM=0
#line 2581 "regression-compile-tmp/imp918s.imp"
NAM = 0;
                                                                //   2582                 Q=2-A(P+2); P=P+3;      ! Q=1 FOR ARRAY FORMAT
#line 2582 "regression-compile-tmp/imp918s.imp"
Q = ((2) - ((int)(A[(((unsigned char)((((int)(P)) + (2)))) + (7))])));
#line 2582 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (3));
                                                                //   2583                 DECLARE ARRAYS(Q,FINF)
#line 2583 "regression-compile-tmp/imp918s.imp"
DECLAREARRAYS(Q, FINF);
                                                                //   2584              %FINISH
#line 2584 "regression-compile-tmp/imp918s.imp"
L_0203:;
                                                                //   2585           %FINISH
#line 2585 "regression-compile-tmp/imp918s.imp"
L_01ff:;
                                                                //   2586  Label99:      %END;->Label1
#line 2586 "regression-compile-tmp/imp918s.imp"
U_1028:;
#line 2586 "regression-compile-tmp/imp918s.imp"
return;
} // End of block _BLOCK_14_LEVEL_2_ at level 3
_BLOCK_14_LEVEL_2_();
#line 2586 "regression-compile-tmp/imp918s.imp"
goto U_100f;
                                                                //   2587  !
                                                                //   2588  
                                                                //   2589  SW(28):                                 ! '%ON'(EVENT')(N)(RESTOFNLIST)
#line 2589 "regression-compile-tmp/imp918s.imp"
sw2_SW_28:;
                                                                //   2590  %BEGIN
#line 2590 "regression-compile-tmp/imp918s.imp"
void _BLOCK_15_LEVEL_2_(void) {
                                                                //   2591  {%SHORTROUTINE}
                                                                //   2592  %INTEGER EL,KK,EF
#line 2592 "regression-compile-tmp/imp918s.imp"
int EL;
#line 2592 "regression-compile-tmp/imp918s.imp"
int KK;
#line 2592 "regression-compile-tmp/imp918s.imp"
int EF;
                                                                //   2593  %CONSTINTEGERARRAY EFMAP(1:14)=X'04E10003',8,X'20000',X'2000',
#line 2593 "regression-compile-tmp/imp918s.imp"
const int EFMAP[14] = { 81854467, 8, 131072, 8192, 135266420, (-1610612736), 33554432, 1073741824, 256, 16777216, 262144, 0, 0, 0,  };
                                                                //   2594                    X'08100074',X'A0000000',X'2000000',X'40000000',
                                                                //   2595                    X'100',X'01000000',X'40000',0(3);
                                                                //   2596        FAULT(40,0) %IF NMDECS&1#0
#line 2596 "regression-compile-tmp/imp918s.imp"
if (((((NMDECS) & (1))) == (0))) goto L_0204;
#line 2596 "regression-compile-tmp/imp918s.imp"
FAULT(40, 0);
#line 2596 "regression-compile-tmp/imp918s.imp"
L_0204:;
                                                                //   2597        NMDECS=NMDECS!1
#line 2597 "regression-compile-tmp/imp918s.imp"
NMDECS = ((NMDECS) | (1));
                                                                //   2598        FAULT(26,0) %UNLESS LEVEL=2 %AND CPRMODE#2
#line 2598 "regression-compile-tmp/imp918s.imp"
if (((LEVEL) != (2))) goto L_0205;
#line 2598 "regression-compile-tmp/imp918s.imp"
if (((CPRMODE) != (2))) goto L_0206;
#line 2598 "regression-compile-tmp/imp918s.imp"
L_0205:;
#line 2598 "regression-compile-tmp/imp918s.imp"
FAULT(26, 0);
#line 2598 "regression-compile-tmp/imp918s.imp"
L_0206:;
                                                                //   2599        P=P+2; SFLABEL=SFLABEL-1; EL=SFLABEL
#line 2599 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (2));
#line 2599 "regression-compile-tmp/imp918s.imp"
SFLABEL = (((int)(SFLABEL)) - (1));
#line 2599 "regression-compile-tmp/imp918s.imp"
EL = SFLABEL;
                                                                //   2600        %CYCLE;           ! UNTIL NO MORE RESTOFNLIST
#line 2600 "regression-compile-tmp/imp918s.imp"
L_0207:;
                                                                //   2601           KK=A(P)
#line 2601 "regression-compile-tmp/imp918s.imp"
KK = A[((P) + ((int)(7)))];
                                                                //   2602           %IF 1<=KK<=14 %START
#line 2602 "regression-compile-tmp/imp918s.imp"
if ((((1) > (KK))) || (((KK) > (14)))) goto L_020a;
                                                                //   2603              EF=EFMAP(KK)
#line 2603 "regression-compile-tmp/imp918s.imp"
EF = (EFMAP-1)[KK];
                                                                //   2604              %CYCLE I=0,1,31
#line 2604 "regression-compile-tmp/imp918s.imp"
I = (-1);
if ((((31)-(0)) % (1)) != 0) _imp_signal(5,1,0,"Illegal cycle I = 0, 1, 31");
L_020b:;
if (I == 31) goto L_020c;
I += 1;
                                                                //   2605                 %IF 1<<I&EF#0 %START
#line 2605 "regression-compile-tmp/imp918s.imp"
if (((((((1) << (I))) & (EF))) == (0))) goto L_020e;
                                                                //   2606                    PCONST(X'41100001'+I)
#line 2606 "regression-compile-tmp/imp918s.imp"
PCONST((((int)(1091567617)) + (I)));
                                                                //   2607                    PPJ(20); QQ=CA
#line 2607 "regression-compile-tmp/imp918s.imp"
PPJ(20);
#line 2607 "regression-compile-tmp/imp918s.imp"
QQ = CA;
                                                                //   2608                    ENTER JUMP(15,EL,0)
#line 2608 "regression-compile-tmp/imp918s.imp"
ENTERJUMP(15, EL, 0);
                                                                //   2609                    PCONST(X'07000700') %UNLESS CA=QQ+8
#line 2609 "regression-compile-tmp/imp918s.imp"
if (((CA) == ((((int)(QQ)) + (8))))) goto L_020f;
#line 2609 "regression-compile-tmp/imp918s.imp"
PCONST(117442304);
#line 2609 "regression-compile-tmp/imp918s.imp"
L_020f:;
                                                                //   2610                 %FINISH
#line 2610 "regression-compile-tmp/imp918s.imp"
L_020e:;
                                                                //   2611              %REPEAT
#line 2611 "regression-compile-tmp/imp918s.imp"
goto L_020b;
#line 2611 "regression-compile-tmp/imp918s.imp"
L_020c:;
                                                                //   2612           %FINISH %ELSE FAULT(36,0)
#line 2612 "regression-compile-tmp/imp918s.imp"
goto L_0210;
#line 2612 "regression-compile-tmp/imp918s.imp"
L_020a:;
#line 2612 "regression-compile-tmp/imp918s.imp"
FAULT(36, 0);
#line 2612 "regression-compile-tmp/imp918s.imp"
L_0210:;
                                                                //   2613           P=P+2
#line 2613 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (2));
                                                                //   2614        %REPEAT %UNTIL A(P-1)=2
#line 2614 "regression-compile-tmp/imp918s.imp"
if (((A[(((unsigned char)((((int)(P)) - (1)))) + (7))]) == (2))) goto L_0208;
#line 2614 "regression-compile-tmp/imp918s.imp"
goto L_0207;
#line 2614 "regression-compile-tmp/imp918s.imp"
L_0208:;
                                                                //   2615        ENTER JUMP(15,SFLABEL-1,0);       ! ROUND ON START-FINISH
#line 2615 "regression-compile-tmp/imp918s.imp"
ENTERJUMP(15, (((int)(SFLABEL)) - (1)), 0);
                                                                //   2616        CSTART(2)
#line 2616 "regression-compile-tmp/imp918s.imp"
CSTART(2);
                                                                //   2617        ENTER LAB(EL,0); MONE=1
#line 2617 "regression-compile-tmp/imp918s.imp"
ENTERLAB(EL, 0);
#line 2617 "regression-compile-tmp/imp918s.imp"
MONE = 1;
                                                                //   2618  %END; ->Label1
#line 2618 "regression-compile-tmp/imp918s.imp"
return;
} // End of block _BLOCK_15_LEVEL_2_ at level 3
_BLOCK_15_LEVEL_2_();
#line 2618 "regression-compile-tmp/imp918s.imp"
goto U_100f;
                                                                //   2619           %ROUTINE CRFORMAT(%SHORTINTEGERNAME OPHEAD)
#line 2619 "regression-compile-tmp/imp918s.imp"
void CRFORMAT( short /*name*/*OPHEAD )
#line 2619 "regression-compile-tmp/imp918s.imp"
{
                                                                //   2620           {%SHORTROUTINE}
                                                                //   2621  !***********************************************************************
                                                                //   2622  !*       CONVERTS A RECORDFORMAT STATEMENT TO A LIST HEADED BY OPHEAD  *
                                                                //   2623  !*       FORMAT OF AN ENTRY.                                           *
                                                                //   2624  !*       S1=SUBNAME<<20!PTYPE<<4!J                                     *
                                                                //   2625  !*       S2,S3=4  16 BIT DISPLACEMENTS  D2,ACC,D1,KFORM                *
                                                                //   2626  !*       NORMALLY D1=RECORD RELATIVE DISPLACEMENT AND ACC=LMAX(STRINGS)*
                                                                //   2627  !*       FOR ARRAYS D2=ZERO ELEMENT DISPLACEMENT AND D1=DISPLACEMENT   *
                                                                //   2628  !*       OF RECORD RELATIVE ARRAYHEAD IN THE GLA                       *
                                                                //   2629  !*       KFORM IS ONLY USED FOR RECORDS AND POINTS TO THE FORMAT       *
                                                                //   2630  !*       ON EXIT ACC HAS THE RECORD SIZE ROUNDED UP TO THE BOUNDARY    *
                                                                //   2631  !*       REQUIRED BY ITS LARGEST COMPONENT                             *
                                                                //   2632  !***********************************************************************
                                                                //   2633           %SHORTINTEGER D1,D2,NLIST,SLIST,FORM
#line 2633 "regression-compile-tmp/imp918s.imp"
short D1;
#line 2633 "regression-compile-tmp/imp918s.imp"
short D2;
#line 2633 "regression-compile-tmp/imp918s.imp"
short NLIST;
#line 2633 "regression-compile-tmp/imp918s.imp"
short SLIST;
#line 2633 "regression-compile-tmp/imp918s.imp"
short FORM;
                                                                //   2634           %INTEGER RL,MRL;               ! ROUNDING LENGTH & MAX
#line 2634 "regression-compile-tmp/imp918s.imp"
int RL;
#line 2634 "regression-compile-tmp/imp918s.imp"
int MRL;
                                                                //   2635           %INTEGER REP,INC,Q,LB,UB,R,A0,A1,DV,L,RFD
#line 2635 "regression-compile-tmp/imp918s.imp"
int REP;
#line 2635 "regression-compile-tmp/imp918s.imp"
int INC;
#line 2635 "regression-compile-tmp/imp918s.imp"
int Q;
#line 2635 "regression-compile-tmp/imp918s.imp"
int LB;
#line 2635 "regression-compile-tmp/imp918s.imp"
int UB;
#line 2635 "regression-compile-tmp/imp918s.imp"
int R;
#line 2635 "regression-compile-tmp/imp918s.imp"
int A0;
#line 2635 "regression-compile-tmp/imp918s.imp"
int A1;
#line 2635 "regression-compile-tmp/imp918s.imp"
int DV;
#line 2635 "regression-compile-tmp/imp918s.imp"
int L;
#line 2635 "regression-compile-tmp/imp918s.imp"
int RFD;
                                                                //   2636           %SWITCH RFEL(1:5)
#line 2636 "regression-compile-tmp/imp918s.imp"
static int sw6_RFEL_idx;
static const void * /*SWITCH*/ sw6_RFEL[5] = { &&sw6_RFEL_1, &&sw6_RFEL_2, &&sw6_RFEL_3, &&sw6_RFEL_4, &&sw6_RFEL_5,  };
                                                                //   2637           %ROUTINESPEC SN(%INTEGER Q)
#line 2637 "regression-compile-tmp/imp918s.imp"
auto void SN( int Q );
                                                                //   2638           %ROUTINESPEC ROUND
#line 2638 "regression-compile-tmp/imp918s.imp"
auto void ROUND( void );
                                                                //   2639           NLIST=0; OPHEAD=0; FORM=0; ACC=0
#line 2639 "regression-compile-tmp/imp918s.imp"
NLIST = 0;
#line 2639 "regression-compile-tmp/imp918s.imp"
*OPHEAD = 0;
#line 2639 "regression-compile-tmp/imp918s.imp"
FORM = 0;
#line 2639 "regression-compile-tmp/imp918s.imp"
ACC = 0;
                                                                //   2640           MRL=0; INC=0;                 ! INC COUNTS DOWN RECORD
#line 2640 "regression-compile-tmp/imp918s.imp"
MRL = 0;
#line 2640 "regression-compile-tmp/imp918s.imp"
INC = 0;
                                                                //   2641  NEXT:    ROUT=0; NAM=0; RFD=A(P)
#line 2641 "regression-compile-tmp/imp918s.imp"
U_1029:;
#line 2641 "regression-compile-tmp/imp918s.imp"
ROUT = 0;
#line 2641 "regression-compile-tmp/imp918s.imp"
NAM = 0;
#line 2641 "regression-compile-tmp/imp918s.imp"
RFD = A[((P) + ((int)(7)))];
                                                                //   2642           %IF RFD<=2 %THEN P=P+1 %AND CLT
#line 2642 "regression-compile-tmp/imp918s.imp"
if (((RFD) > (2))) goto L_0211;
#line 2642 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
#line 2642 "regression-compile-tmp/imp918s.imp"
CLT();
#line 2642 "regression-compile-tmp/imp918s.imp"
L_0211:;
                                                                //   2643           ->RFEL(RFD)
#line 2643 "regression-compile-tmp/imp918s.imp"
sw6_RFEL_idx = RFD; if ((1 <= sw6_RFEL_idx) && (sw6_RFEL_idx <= 5)) goto *(sw6_RFEL-1)[sw6_RFEL_idx];  /* Bounds=1:5 */ else {
   /*_imp_signal(8, 2, sw6_RFEL_idx);*/
   fprintf(stderr, "%%SWITCH index RFEL(%d) not in range 1:5 at %s:%d\n",
           sw6_RFEL_idx, (_imp_current_file != 0 ? _imp_current_file : __FILE__),
           (_imp_current_line != 0 ? _imp_current_line : __LINE__));
           exit(1);
}
                                                                //   2644  RFEL(1):                               ! (TYPE) (QNAME')(NAMELIST)
#line 2644 "regression-compile-tmp/imp918s.imp"
sw6_RFEL_1:;
                                                                //   2645           CQN(P); P=P+1
#line 2645 "regression-compile-tmp/imp918s.imp"
CQN(P);
#line 2645 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
                                                                //   2646           PACK(PTYPE); D2=0
#line 2646 "regression-compile-tmp/imp918s.imp"
PACK(&PTYPE);
#line 2646 "regression-compile-tmp/imp918s.imp"
D2 = 0;
                                                                //   2647           %IF ACC>8 %THEN RL=3 %ELSE RL=ACC-1
#line 2647 "regression-compile-tmp/imp918s.imp"
if (((ACC) <= (8))) goto L_0212;
#line 2647 "regression-compile-tmp/imp918s.imp"
RL = 3;
#line 2647 "regression-compile-tmp/imp918s.imp"
goto L_0213;
#line 2647 "regression-compile-tmp/imp918s.imp"
L_0212:;
#line 2647 "regression-compile-tmp/imp918s.imp"
RL = (((int)(ACC)) - (1));
#line 2647 "regression-compile-tmp/imp918s.imp"
L_0213:;
                                                                //   2648           %IF PTYPE=5 %THEN RL=0;       ! STRINGS NOT ALIGNED
#line 2648 "regression-compile-tmp/imp918s.imp"
if (((PTYPE) != (5))) goto L_0214;
#line 2648 "regression-compile-tmp/imp918s.imp"
RL = 0;
#line 2648 "regression-compile-tmp/imp918s.imp"
L_0214:;
                                                                //   2649  Label1:      ROUND ; J=0
#line 2649 "regression-compile-tmp/imp918s.imp"
U_102a:;
#line 2649 "regression-compile-tmp/imp918s.imp"
ROUND();
#line 2649 "regression-compile-tmp/imp918s.imp"
J = 0;
                                                                //   2650           %CYCLE REP=1,1,A(P)
#line 2650 "regression-compile-tmp/imp918s.imp"
{static int _initial, _increment, _final, _control;
_initial = 1; _increment = 1; _final = A[((P) + ((int)(7)))]; REP = _control = _initial;
if (((_final-_initial) % _increment) != 0) _imp_signal(5,1,0,"Illegal cycle REP = 1, 1, A[((P) + ((int)(7)))]");
REP -= _increment; _control -= _increment;
L_0215:;
if (REP == _final) goto L_0216;
REP += _increment; _control += _increment;
if (REP != _control) _imp_signal(4,2,0,"Corrupt control variable REP"); /* FOR loop control variable corrupted */
}
                                                                //   2651              P=P+1; D1=INC
#line 2651 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
#line 2651 "regression-compile-tmp/imp918s.imp"
D1 = INC;
                                                                //   2652              SN(P); INC=INC+ACC
#line 2652 "regression-compile-tmp/imp918s.imp"
SN(P);
#line 2652 "regression-compile-tmp/imp918s.imp"
INC = ((INC) + ((int)(ACC)));
                                                                //   2653           %REPEAT
#line 2653 "regression-compile-tmp/imp918s.imp"
goto L_0215;
#line 2653 "regression-compile-tmp/imp918s.imp"
L_0216:;
                                                                //   2654           P=P+1+RFD>>2;       ! EXTRA  ONE FOR RECORDS TO SKIP FORMAT
#line 2654 "regression-compile-tmp/imp918s.imp"
P = ((((((int)(P)) + (1)))) + ((int)((((unsigned int)(RFD)) >> (2)))));
                                                                //   2655  TRY END: -> END %IF A(P)=2
#line 2655 "regression-compile-tmp/imp918s.imp"
U_102b:;
#line 2655 "regression-compile-tmp/imp918s.imp"
if (((A[((P) + ((int)(7)))]) != (2))) goto L_0218;
#line 2655 "regression-compile-tmp/imp918s.imp"
goto U_102c;
#line 2655 "regression-compile-tmp/imp918s.imp"
L_0218:;
                                                                //   2656           P=P+1; -> NEXT
#line 2656 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
#line 2656 "regression-compile-tmp/imp918s.imp"
goto U_1029;
                                                                //   2657  RFEL(2):Label2:                             ! (TYPE)%ARRAY(NAMELIST)(CBPAIR)
#line 2657 "regression-compile-tmp/imp918s.imp"
sw6_RFEL_2:;
#line 2657 "regression-compile-tmp/imp918s.imp"
U_102d:;
                                                                //   2658           Q=P; ARR=1; PACK(PTYPE)
#line 2658 "regression-compile-tmp/imp918s.imp"
Q = P;
#line 2658 "regression-compile-tmp/imp918s.imp"
ARR = 1;
#line 2658 "regression-compile-tmp/imp918s.imp"
PACK(&PTYPE);
                                                                //   2659           %CYCLE;       ! UNTIL <RESTOFARRAYLIST> NULL
#line 2659 "regression-compile-tmp/imp918s.imp"
L_0219:;
                                                                //   2660              P=A(P)+P+1; CBPAIR(LB,UB)
#line 2660 "regression-compile-tmp/imp918s.imp"
P = (((int)((((int)(A[((P) + ((int)(7)))])) + (P)))) + (1));
#line 2660 "regression-compile-tmp/imp918s.imp"
CBPAIR(&LB, &UB);
                                                                //   2661              R=UB-LB+1
#line 2661 "regression-compile-tmp/imp918s.imp"
R = (((int)((((int)(UB)) - (LB)))) + (1));
                                                                //   2662              DV=DOPE VECTOR(ACC,LB,UB); ! DOPE VECTOR INTO SHAREABLE S.T.
#line 2662 "regression-compile-tmp/imp918s.imp"
DV = DOPEVECTOR(ACC, LB, UB);
                                                                //   2663              %IF TYPE=5 %THEN RL=0 %ELSE RL=ACC-1
#line 2663 "regression-compile-tmp/imp918s.imp"
if (((TYPE) != (5))) goto L_021c;
#line 2663 "regression-compile-tmp/imp918s.imp"
RL = 0;
#line 2663 "regression-compile-tmp/imp918s.imp"
goto L_021d;
#line 2663 "regression-compile-tmp/imp918s.imp"
L_021c:;
#line 2663 "regression-compile-tmp/imp918s.imp"
RL = (((int)(ACC)) - (1));
#line 2663 "regression-compile-tmp/imp918s.imp"
L_021d:;
                                                                //   2664              %IF TYPE=3 %THEN RL=7
#line 2664 "regression-compile-tmp/imp918s.imp"
if (((TYPE) != (3))) goto L_021e;
#line 2664 "regression-compile-tmp/imp918s.imp"
RL = 7;
#line 2664 "regression-compile-tmp/imp918s.imp"
L_021e:;
                                                                //   2665              ROUND; J=1
#line 2665 "regression-compile-tmp/imp918s.imp"
ROUND();
#line 2665 "regression-compile-tmp/imp918s.imp"
J = 1;
                                                                //   2666              %CYCLE REP=1,1,A(Q);       ! ARRAYHEAD  INTO GLA FOR EACH AR
#line 2666 "regression-compile-tmp/imp918s.imp"
{static int _initial, _increment, _final, _control;
_initial = 1; _increment = 1; _final = A[((Q) + ((int)(7)))]; REP = _control = _initial;
if (((_final-_initial) % _increment) != 0) _imp_signal(5,1,0,"Illegal cycle REP = 1, 1, A[((Q) + ((int)(7)))]");
REP -= _increment; _control -= _increment;
L_021f:;
if (REP == _final) goto L_0220;
REP += _increment; _control += _increment;
if (REP != _control) _imp_signal(4,2,0,"Corrupt control variable REP"); /* FOR loop control variable corrupted */
}
                                                                //   2667                 A1=INC; A0=A1-ACC*LB
#line 2667 "regression-compile-tmp/imp918s.imp"
A1 = INC;
#line 2667 "regression-compile-tmp/imp918s.imp"
A0 = ((A1) - ((int)((((int)(ACC)) * (LB)))));
                                                                //   2668                 L=ACC
#line 2668 "regression-compile-tmp/imp918s.imp"
L = ACC;
                                                                //   2669                 PGLA(4,16,ADDR(A0))
#line 2669 "regression-compile-tmp/imp918s.imp"
PGLA(4, 16, _imp_ADDR(&A0));
                                                                //   2670                 D1=GLACA-16
#line 2670 "regression-compile-tmp/imp918s.imp"
D1 = (((int)(GLACA)) - (16));
                                                                //   2671                 RELOCATE(D1+8,DV,4);    ! RELOCATE DV POINTER
#line 2671 "regression-compile-tmp/imp918s.imp"
RELOCATE((((int)(D1)) + (8)), DV, 4);
                                                                //   2672                 D2=A0
#line 2672 "regression-compile-tmp/imp918s.imp"
D2 = A0;
                                                                //   2673                 SN(Q+REP); INC=INC+R*ACC
#line 2673 "regression-compile-tmp/imp918s.imp"
SN((((int)(Q)) + (REP)));
#line 2673 "regression-compile-tmp/imp918s.imp"
INC = ((INC) + ((int)(((R) * ((int)(ACC))))));
                                                                //   2674              %REPEAT
#line 2674 "regression-compile-tmp/imp918s.imp"
goto L_021f;
#line 2674 "regression-compile-tmp/imp918s.imp"
L_0220:;
                                                                //   2675              P=P+1; Q=P
#line 2675 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
#line 2675 "regression-compile-tmp/imp918s.imp"
Q = P;
                                                                //   2676           %REPEAT %UNTIL A(P-1)=2
#line 2676 "regression-compile-tmp/imp918s.imp"
if (((A[(((unsigned char)((((int)(P)) - (1)))) + (7))]) == (2))) goto L_021a;
#line 2676 "regression-compile-tmp/imp918s.imp"
goto L_0219;
#line 2676 "regression-compile-tmp/imp918s.imp"
L_021a:;
                                                                //   2677           P=P+1 %IF RFD=5
#line 2677 "regression-compile-tmp/imp918s.imp"
if (((RFD) != (5))) goto L_0222;
#line 2677 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
#line 2677 "regression-compile-tmp/imp918s.imp"
L_0222:;
                                                                //   2678           -> TRY END
#line 2678 "regression-compile-tmp/imp918s.imp"
goto U_102b;
                                                                //   2679  RFEL(3):                               ! %RECORD (%ARRAY) %NAME
#line 2679 "regression-compile-tmp/imp918s.imp"
sw6_RFEL_3:;
                                                                //   2680           TYPE=3; PREC=0; NAM=1
#line 2680 "regression-compile-tmp/imp918s.imp"
TYPE = 3;
#line 2680 "regression-compile-tmp/imp918s.imp"
PREC = 0;
#line 2680 "regression-compile-tmp/imp918s.imp"
NAM = 1;
                                                                //   2681           ARR=2-A(P+1); P=P+2
#line 2681 "regression-compile-tmp/imp918s.imp"
ARR = ((2) - ((int)(A[(((unsigned char)((((int)(P)) + (1)))) + (7))])));
#line 2681 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (2));
                                                                //   2682           PACK(PTYPE); D2=0
#line 2682 "regression-compile-tmp/imp918s.imp"
PACK(&PTYPE);
#line 2682 "regression-compile-tmp/imp918s.imp"
D2 = 0;
                                                                //   2683           RL=3; ACC=4+12*ARR
#line 2683 "regression-compile-tmp/imp918s.imp"
RL = 3;
#line 2683 "regression-compile-tmp/imp918s.imp"
ACC = ((4) + ((int)(((12) * ((int)(ARR))))));
                                                                //   2684           FORM=0
#line 2684 "regression-compile-tmp/imp918s.imp"
FORM = 0;
                                                                //   2685           ->Label1
#line 2685 "regression-compile-tmp/imp918s.imp"
goto U_102a;
                                                                //   2686  RFEL(4):                               ! RECORDS IN RECORDS
#line 2686 "regression-compile-tmp/imp918s.imp"
sw6_RFEL_4:;
                                                                //   2687  RFEL(5):                                ! RECORDARRAYS IN RECORDS
#line 2687 "regression-compile-tmp/imp918s.imp"
sw6_RFEL_5:;
                                                                //   2688           Q=P+A(P+1)+6-RFD
#line 2688 "regression-compile-tmp/imp918s.imp"
Q = (((int)((((int)(((P) + ((int)(A[(((unsigned char)((((int)(P)) + (1)))) + (7))]))))) + (6)))) - (RFD));
                                                                //   2689           COPY TAG(A(Q));               ! COPY FORMAT TAG & SET ACC
#line 2689 "regression-compile-tmp/imp918s.imp"
COPYTAG(A[((Q) + ((int)(7)))]);
                                                                //   2690           FAULT(62,A(Q)) %UNLESS PTYPE=4
#line 2690 "regression-compile-tmp/imp918s.imp"
if (((PTYPE) == (4))) goto L_0223;
#line 2690 "regression-compile-tmp/imp918s.imp"
FAULT(62, A[((Q) + ((int)(7)))]);
#line 2690 "regression-compile-tmp/imp918s.imp"
L_0223:;
                                                                //   2691           TYPE=3; FORM=TCELL
#line 2691 "regression-compile-tmp/imp918s.imp"
TYPE = 3;
#line 2691 "regression-compile-tmp/imp918s.imp"
FORM = TCELL;
                                                                //   2692           %IF RFD=4 %THEN %START
#line 2692 "regression-compile-tmp/imp918s.imp"
if (((RFD) != (4))) goto L_0224;
                                                                //   2693              PTYPE=3; P=P+1; D2=0
#line 2693 "regression-compile-tmp/imp918s.imp"
PTYPE = 3;
#line 2693 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
#line 2693 "regression-compile-tmp/imp918s.imp"
D2 = 0;
                                                                //   2694              RL=7; ->Label1
#line 2694 "regression-compile-tmp/imp918s.imp"
RL = 7;
#line 2694 "regression-compile-tmp/imp918s.imp"
goto U_102a;
                                                                //   2695           %FINISH
#line 2695 "regression-compile-tmp/imp918s.imp"
L_0224:;
                                                                //   2696           P=P+2; ->Label2
#line 2696 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (2));
#line 2696 "regression-compile-tmp/imp918s.imp"
goto U_102d;
                                                                //   2697  END:                                   ! FINISH OFF
#line 2697 "regression-compile-tmp/imp918s.imp"
U_102c:;
                                                                //   2698           RL=MRL; ROUND
#line 2698 "regression-compile-tmp/imp918s.imp"
RL = MRL;
#line 2698 "regression-compile-tmp/imp918s.imp"
ROUND();
                                                                //   2699           ACC=INC;                      ! SIZE ROUNDED APPROPRIATELY
#line 2699 "regression-compile-tmp/imp918s.imp"
ACC = INC;
                                                                //   2700           FAULT(98,0) %UNLESS INC<=X'7FFF'
#line 2700 "regression-compile-tmp/imp918s.imp"
if (((INC) <= (32767))) goto L_0225;
#line 2700 "regression-compile-tmp/imp918s.imp"
FAULT(98, 0);
#line 2700 "regression-compile-tmp/imp918s.imp"
L_0225:;
                                                                //   2701           OPHEAD=SLIST
#line 2701 "regression-compile-tmp/imp918s.imp"
*OPHEAD = SLIST;
                                                                //   2702           CLEAR LIST(NLIST)
#line 2702 "regression-compile-tmp/imp918s.imp"
CLEARLIST(&NLIST);
                                                                //   2703           %RETURN
#line 2703 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   2704           %ROUTINE SN(%INTEGER Q)
#line 2704 "regression-compile-tmp/imp918s.imp"
void SN( int Q )
#line 2704 "regression-compile-tmp/imp918s.imp"
{
                                                                //   2705  !***********************************************************************
                                                                //   2706  !*       CHECK THE SUBNAME HAS NOT BEEN USED BEFORE IN THIS FORMAT     *
                                                                //   2707  !*       AND ENTER IT WITH ITS DESCRIPTORS INTO THE LIST.              *
                                                                //   2708  !***********************************************************************
                                                                //   2709           FNAME=A(Q)
#line 2709 "regression-compile-tmp/imp918s.imp"
FNAME = A[((Q) + ((int)(7)))];
                                                                //   2710           FAULT(7,FNAME) %UNLESS FIND(FNAME,NLIST)=-1
#line 2710 "regression-compile-tmp/imp918s.imp"
if (((FIND(FNAME, NLIST)) == ((-1)))) goto L_0226;
#line 2710 "regression-compile-tmp/imp918s.imp"
FAULT(7, FNAME);
#line 2710 "regression-compile-tmp/imp918s.imp"
L_0226:;
                                                                //   2711           INSERT AFTER(OPHEAD,FNAME<<20!PTYPE<<4!J,D2<<16!ACC)
#line 2711 "regression-compile-tmp/imp918s.imp"
INSERTAFTER(OPHEAD, ((((((FNAME) << (20))) | (((PTYPE) << (4))))) | (J)), ((((D2) << (16))) | (ACC)));
                                                                //   2712           REPLACE3(OPHEAD,D1<<16!FORM)
#line 2712 "regression-compile-tmp/imp918s.imp"
REPLACE3(*OPHEAD, ((((D1) << (16))) | (FORM)));
                                                                //   2713           %IF NLIST=0 %THEN SLIST=OPHEAD
#line 2713 "regression-compile-tmp/imp918s.imp"
if (((NLIST) != (0))) goto L_0227;
#line 2713 "regression-compile-tmp/imp918s.imp"
SLIST = *OPHEAD;
#line 2713 "regression-compile-tmp/imp918s.imp"
L_0227:;
                                                                //   2714           PUSH(NLIST,0,FNAME)
#line 2714 "regression-compile-tmp/imp918s.imp"
PUSH(&NLIST, 0, FNAME);
                                                                //   2715           %END
#line 2715 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block SN at level 4
                                                                //   2716           %ROUTINE ROUND
#line 2716 "regression-compile-tmp/imp918s.imp"
void ROUND( void )
#line 2716 "regression-compile-tmp/imp918s.imp"
{
                                                                //   2717           MRL=RL %IF RL>MRL
#line 2717 "regression-compile-tmp/imp918s.imp"
if (((RL) <= (MRL))) goto L_0228;
#line 2717 "regression-compile-tmp/imp918s.imp"
MRL = RL;
#line 2717 "regression-compile-tmp/imp918s.imp"
L_0228:;
                                                                //   2718           INC=INC+1 %WHILE INC&RL#0
#line 2718 "regression-compile-tmp/imp918s.imp"
L_0229:;
#line 2718 "regression-compile-tmp/imp918s.imp"
if (((((INC) & (RL))) == (0))) goto L_022a;
#line 2718 "regression-compile-tmp/imp918s.imp"
INC = (((int)(INC)) + (1));
#line 2718 "regression-compile-tmp/imp918s.imp"
goto L_0229;
#line 2718 "regression-compile-tmp/imp918s.imp"
L_022a:;
                                                                //   2719           %END
#line 2719 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block ROUND at level 4
                                                                //   2720           %END;                         ! OF ROUTINE CRFORMAT
#line 2720 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block CRFORMAT at level 3
                                                                //   2721           %ROUTINE CRNAME(%INTEGER Z,REG,MODE,CLINK,BS,IX,DP)
#line 2721 "regression-compile-tmp/imp918s.imp"
void CRNAME( int Z, int REG, int MODE, int CLINK, int BS, int IX, int DP )
#line 2721 "regression-compile-tmp/imp918s.imp"
{
                                                                //   2722           {%SHORTROUTINE}
                                                                //   2723  !***********************************************************************
                                                                //   2724  !*       DEAL WITH RECORD ELEMENT NAMES.Z AS FOR CNAME.CLINK=TAGS(RN)  *
                                                                //   2725  !*       MODE=0 IF RECORD AT BS,IX&DP                                  *
                                                                //   2726  !*       MODE=1 IF POINTER IN CORE AT BS,IX&DP                         *
                                                                //   2727  !*       ON EXIT BASE,INDEX & DISP POINT TO REQUIRED ELEMENT           *
                                                                //   2728  !*       RECURSIVE CALL IS NEEDED TO DEAL WITH RECORDS IN RECORDS      *
                                                                //   2729  !*       DEPTH SHEWS  RECURSIVE LEVELS- NEEDED TO AVOID MIS SETTING    *
                                                                //   2730  !*       REGISTER IN USE IF RECORDNAME IN RECORD HAS THE SAME NAME AS  *
                                                                //   2731  !*       A GENUINE RECORD NAME.                                        *
                                                                //   2732  !***********************************************************************
                                                                //   2733           %INTEGER DEPTH,FNAME,ACCP
#line 2733 "regression-compile-tmp/imp918s.imp"
int DEPTH;
#line 2733 "regression-compile-tmp/imp918s.imp"
int FNAME;
#line 2733 "regression-compile-tmp/imp918s.imp"
int ACCP;
                                                                //   2734           %ROUTINESPEC CENAME(%INTEGER MODE,FNAME,BS,IX,DP)
#line 2734 "regression-compile-tmp/imp918s.imp"
auto void CENAME( int MODE, int FNAME, int BS, int IX, int DP );
                                                                //   2735           %ROUTINESPEC NOAPP
#line 2735 "regression-compile-tmp/imp918s.imp"
auto void NOAPP( void );
                                                                //   2736           DEPTH=0
#line 2736 "regression-compile-tmp/imp918s.imp"
DEPTH = 0;
                                                                //   2737           FNAME=KFORM;                  ! POINTER TO FORMAT
#line 2737 "regression-compile-tmp/imp918s.imp"
FNAME = KFORM;
                                                                //   2738           %IF ARR\=0 %THEN %START;      ! RECORDARRAY(ARRAYNAME)
#line 2738 "regression-compile-tmp/imp918s.imp"
if (((ARR) == (0))) goto L_022c;
                                                                //   2739              FAULT(217,0) %IF IX\=0
#line 2739 "regression-compile-tmp/imp918s.imp"
if (((IX) == (0))) goto L_022d;
#line 2739 "regression-compile-tmp/imp918s.imp"
FAULT(217, 0);
#line 2739 "regression-compile-tmp/imp918s.imp"
L_022d:;
                                                                //   2740              CANAME(ARR,BS,DP,SNDISP)
#line 2740 "regression-compile-tmp/imp918s.imp"
CANAME(ARR, BS, DP, SNDISP);
                                                                //   2741              NAM=0; ARR=0;                 ! ARR & NAM AS FOR SCALAR RECORD
#line 2741 "regression-compile-tmp/imp918s.imp"
NAM = 0;
#line 2741 "regression-compile-tmp/imp918s.imp"
ARR = 0;
                                                                //   2742              CENAME(0,FNAME,BASE,INDEX,DISP)
#line 2742 "regression-compile-tmp/imp918s.imp"
CENAME(0, FNAME, BASE, INDEX, DISP);
                                                                //   2743           %FINISH %ELSE %START
#line 2743 "regression-compile-tmp/imp918s.imp"
goto L_022e;
#line 2743 "regression-compile-tmp/imp918s.imp"
L_022c:;
                                                                //   2744              %IF A(P+1)=2 %THEN P=P+2 %ELSE NO APP
#line 2744 "regression-compile-tmp/imp918s.imp"
if (((A[(((unsigned char)((((int)(P)) + (1)))) + (7))]) != (2))) goto L_022f;
#line 2744 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (2));
#line 2744 "regression-compile-tmp/imp918s.imp"
goto L_0230;
#line 2744 "regression-compile-tmp/imp918s.imp"
L_022f:;
#line 2744 "regression-compile-tmp/imp918s.imp"
NOAPP();
#line 2744 "regression-compile-tmp/imp918s.imp"
L_0230:;
                                                                //   2745              CENAME(MODE,FNAME,BS,IX,DP)
#line 2745 "regression-compile-tmp/imp918s.imp"
CENAME(MODE, FNAME, BS, IX, DP);
                                                                //   2746           %FINISH; ->Label99
#line 2746 "regression-compile-tmp/imp918s.imp"
L_022e:;
#line 2746 "regression-compile-tmp/imp918s.imp"
goto U_102e;
                                                                //   2747  !
                                                                //   2748           %ROUTINE NOAPP
#line 2748 "regression-compile-tmp/imp918s.imp"
void NOAPP( void )
#line 2748 "regression-compile-tmp/imp918s.imp"
{
                                                                //   2749              P=P+1
#line 2749 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
                                                                //   2750              %IF A(P)=1 %THEN %START;    ! <APP> PRESENT
#line 2750 "regression-compile-tmp/imp918s.imp"
if (((A[((P) + ((int)(7)))]) != (1))) goto L_0231;
                                                                //   2751                 FAULT(19,A(P-1))
#line 2751 "regression-compile-tmp/imp918s.imp"
FAULT(19, A[(((unsigned char)((((int)(P)) - (1)))) + (7))]);
                                                                //   2752                 SKIP APP
#line 2752 "regression-compile-tmp/imp918s.imp"
SKIPAPP();
                                                                //   2753              %FINISH %ELSE P=P+1;         ! P NOW POINTS TO ENAME
#line 2753 "regression-compile-tmp/imp918s.imp"
goto L_0232;
#line 2753 "regression-compile-tmp/imp918s.imp"
L_0231:;
#line 2753 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
#line 2753 "regression-compile-tmp/imp918s.imp"
L_0232:;
                                                                //   2754           %END
#line 2754 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block NOAPP at level 4
                                                                //   2755           %ROUTINE CENAME(%INTEGER MODE,FNAME,BS,IX,DP)
#line 2755 "regression-compile-tmp/imp918s.imp"
void CENAME( int MODE, int FNAME, int BS, int IX, int DP )
#line 2755 "regression-compile-tmp/imp918s.imp"
{
                                                                //   2756  !***********************************************************************
                                                                //   2757  !*       FINDS OUT ABOUT SUBNAME AND ACTS ACCORDINGLY.MOSTLY ACTION    *
                                                                //   2758  !*       CONSISTS OF UPPING DP BY OFFSET OF THE SUBNAME BUT IS VERY    *
                                                                //   2759  !*       HAIRY FOR RECORDS IN RECORDS ETC                              *
                                                                //   2760  !***********************************************************************
                                                                //   2761           %ROUTINESPEC CHANGE MODE
#line 2761 "regression-compile-tmp/imp918s.imp"
auto void CHANGEMODE( void );
                                                                //   2762           %ROUTINESPEC COMBINE(%INTEGER HOW)
#line 2762 "regression-compile-tmp/imp918s.imp"
auto void COMBINE( int HOW );
                                                                //   2763           %INTEGER Q,QQ,D,C
#line 2763 "regression-compile-tmp/imp918s.imp"
int Q;
#line 2763 "regression-compile-tmp/imp918s.imp"
int QQ;
#line 2763 "regression-compile-tmp/imp918s.imp"
int D;
#line 2763 "regression-compile-tmp/imp918s.imp"
int C;
                                                                //   2764           DEPTH=DEPTH+1
#line 2764 "regression-compile-tmp/imp918s.imp"
DEPTH = (((int)(DEPTH)) + (1));
                                                                //   2765           %IF A(P)=2 %THEN %START;      ! ENAME MISSING
#line 2765 "regression-compile-tmp/imp918s.imp"
if (((A[((P) + ((int)(7)))]) != (2))) goto L_0233;
                                                                //   2766              BASE=BS; DISP=DP;INDEX=IX; ! FOR POINTER
#line 2766 "regression-compile-tmp/imp918s.imp"
BASE = BS;
#line 2766 "regression-compile-tmp/imp918s.imp"
DISP = DP;
#line 2766 "regression-compile-tmp/imp918s.imp"
INDEX = IX;
                                                                //   2767              %IF Z<14 %THEN %START;     ! NOT A RECORD OPERATION
#line 2767 "regression-compile-tmp/imp918s.imp"
if (((Z) >= (14))) goto L_0234;
                                                                //   2768                 P=P-2
#line 2768 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) - (2));
                                                                //   2769                 %UNLESS 3<=Z<=4 %OR (Z=1 %AND REG=99) %START;! ADDR(RECORD)
#line 2769 "regression-compile-tmp/imp918s.imp"
if ((((3) > (Z))) || (((Z) <= (4)))) goto L_0235;
#line 2769 "regression-compile-tmp/imp918s.imp"
L_020d:;
#line 2769 "regression-compile-tmp/imp918s.imp"
if (((Z) != (1))) goto L_0236;
#line 2769 "regression-compile-tmp/imp918s.imp"
if (((REG) == (99))) goto L_0235;
#line 2769 "regression-compile-tmp/imp918s.imp"
L_0236:;
                                                                //   2770                    FAULT(64,0); BASE=RBASE
#line 2770 "regression-compile-tmp/imp918s.imp"
FAULT(64, 0);
#line 2770 "regression-compile-tmp/imp918s.imp"
BASE = RBASE;
                                                                //   2771                    DISP=0; INDEX=0; PTYPE=1;! UNPACK
#line 2771 "regression-compile-tmp/imp918s.imp"
DISP = 0;
#line 2771 "regression-compile-tmp/imp918s.imp"
INDEX = 0;
#line 2771 "regression-compile-tmp/imp918s.imp"
PTYPE = 1;
                                                                //   2772  !%if USE MC = 1 %start
                                                                //   2773  !            *L_1,PTYPE; *CVD_1,0(11)
                                                                //   2774  !            *UNPK_ROUT(5),5(3,11)
                                                                //   2775  !            *NC_ROUT(5),MASK1
                                                                //   2776  !%finish
                                                                //   2777                 %FINISH
#line 2777 "regression-compile-tmp/imp918s.imp"
L_0235:;
                                                                //   2778              %FINISH
#line 2778 "regression-compile-tmp/imp918s.imp"
L_0234:;
                                                                //   2779              %RETURN
#line 2779 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   2780           %FINISH
#line 2780 "regression-compile-tmp/imp918s.imp"
L_0233:;
                                                                //   2781           P=P+1;                        ! FIND OUT ABOUT SUBNAME
#line 2781 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
                                                                //   2782           Q=DISPLACEMENT(FNAME);        ! TCELL POINTS TO CELL HOLDING
#line 2782 "regression-compile-tmp/imp918s.imp"
Q = DISPLACEMENT(FNAME);
                                                                //   2783          ! UNPACK;                       ! INFO ABOUT THE SUBNAME
                                                                //   2784  !%if USE MC = 1 %start
                                                                //   2785  !            *L_1,PTYPE; *CVD_1,0(11)
                                                                //   2786  !            *UNPK_ROUT(5),5(3,11)
                                                                //   2787  !            *NC_ROUT(5),MASK1
                                                                //   2788  !%finish
                                                                //   2789           %IF Q=-1=ACC %OR PTYPE=7 %START;! WRONG SUBNAME(HAS BEEN FAULTED)
#line 2789 "regression-compile-tmp/imp918s.imp"
if ((((Q) != ((-1)))) || ((((-1)) == (ACC)))) goto L_022b;
#line 2789 "regression-compile-tmp/imp918s.imp"
L_0237:;
#line 2789 "regression-compile-tmp/imp918s.imp"
if (((PTYPE) != (7))) goto L_0238;
#line 2789 "regression-compile-tmp/imp918s.imp"
L_022b:;
                                                                //   2790              P=P+1; SKIP APP; P=P-2
#line 2790 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
#line 2790 "regression-compile-tmp/imp918s.imp"
SKIPAPP();
#line 2790 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) - (2));
                                                                //   2791              INDEX=0; BASE=0; DISP=0
#line 2791 "regression-compile-tmp/imp918s.imp"
INDEX = 0;
#line 2791 "regression-compile-tmp/imp918s.imp"
BASE = 0;
#line 2791 "regression-compile-tmp/imp918s.imp"
DISP = 0;
                                                                //   2792              %RETURN
#line 2792 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   2793           %FINISH
#line 2793 "regression-compile-tmp/imp918s.imp"
L_0238:;
                                                                //   2794           ->Label20 %IF ARR=1
#line 2794 "regression-compile-tmp/imp918s.imp"
if (((ARR) != (1))) goto L_0239;
#line 2794 "regression-compile-tmp/imp918s.imp"
goto U_102b;
#line 2794 "regression-compile-tmp/imp918s.imp"
L_0239:;
                                                                //   2795           %IF MODE=1 %THEN CHANGE MODE
#line 2795 "regression-compile-tmp/imp918s.imp"
if (((MODE) != (1))) goto L_023a;
#line 2795 "regression-compile-tmp/imp918s.imp"
CHANGEMODE();
#line 2795 "regression-compile-tmp/imp918s.imp"
L_023a:;
                                                                //   2796           %IF TYPE<=2 %OR TYPE=5 %THEN %START
#line 2796 "regression-compile-tmp/imp918s.imp"
if (((TYPE) <= (2))) goto L_023b;
#line 2796 "regression-compile-tmp/imp918s.imp"
if (((TYPE) != (5))) goto L_023c;
#line 2796 "regression-compile-tmp/imp918s.imp"
L_023b:;
                                                                //   2797              BASE=BS;  INDEX=IX;  DISP=DP+Q
#line 2797 "regression-compile-tmp/imp918s.imp"
BASE = BS;
#line 2797 "regression-compile-tmp/imp918s.imp"
INDEX = IX;
#line 2797 "regression-compile-tmp/imp918s.imp"
DISP = (((int)(DP)) + (Q));
                                                                //   2798           ->Label99; %FINISH
#line 2798 "regression-compile-tmp/imp918s.imp"
goto U_102c;
#line 2798 "regression-compile-tmp/imp918s.imp"
L_023c:;
                                                                //   2799  !
                                                                //   2800  ! NOW CODING BECOMES HAIRY:- STILL LEFT ARE
                                                                //   2801  ! A) RECORDS IN RECORDS   Q POINTS TO SECONDARY RECORD
                                                                //   2802  ! B) RECORDNAMES IN RECORDS   Q HAS OFF-SET OF A POINTER
                                                                //   2803  ! C) RECORDARRAYNAMES IN RECORDS   Q HAS OFF-SET A HEADER IN RECORD
                                                                //   2804  ! D) RECORDARRAYS IN RECORDS   NOT YET ALLOWED
                                                                //   2805  !    Q WOULD HAVE OFF-SET OF A RECORD RELATIVE HEADER IN THE GLA
                                                                //   2806  !
                                                                //   2807           %IF A(P+1)=2 %THEN P=P+2 %ELSE NOAPP
#line 2807 "regression-compile-tmp/imp918s.imp"
if (((A[(((unsigned char)((((int)(P)) + (1)))) + (7))]) != (2))) goto L_023d;
#line 2807 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (2));
#line 2807 "regression-compile-tmp/imp918s.imp"
goto L_023e;
#line 2807 "regression-compile-tmp/imp918s.imp"
L_023d:;
#line 2807 "regression-compile-tmp/imp918s.imp"
NOAPP();
#line 2807 "regression-compile-tmp/imp918s.imp"
L_023e:;
                                                                //   2808           CENAME(NAM,KFORM,BS,IX,DP+Q)
#line 2808 "regression-compile-tmp/imp918s.imp"
CENAME(NAM, KFORM, BS, IX, (((int)(DP)) + (Q)));
                                                                //   2809           ->Label99
#line 2809 "regression-compile-tmp/imp918s.imp"
goto U_102c;
                                                                //   2810  Label20:                                    ! ARRAYS AND ARRAYNAMES AS ELEMEN
#line 2810 "regression-compile-tmp/imp918s.imp"
U_102b:;
                                                                //   2811           FROM123(TCELL,Q,INTEGER(ADDR(SNDISP)),INTEGER(ADDR(K)))
#line 2811 "regression-compile-tmp/imp918s.imp"
FROM123(TCELL, &Q, _imp_INTEGER(_imp_ADDR(&SNDISP)), _imp_INTEGER(_imp_ADDR(&K)));
                                                                //   2812           C=ACC; D=SNDISP; Q=K; QQ=KFORM
#line 2812 "regression-compile-tmp/imp918s.imp"
C = ACC;
#line 2812 "regression-compile-tmp/imp918s.imp"
D = SNDISP;
#line 2812 "regression-compile-tmp/imp918s.imp"
Q = K;
#line 2812 "regression-compile-tmp/imp918s.imp"
QQ = KFORM;
                                                                //   2813           %IF Z=12 %AND A(P+1)=2 %START;! 'GET ARRAYHEAD' CALL
#line 2813 "regression-compile-tmp/imp918s.imp"
if (((Z) != (12))) goto L_023f;
#line 2813 "regression-compile-tmp/imp918s.imp"
if (((A[(((unsigned char)((((int)(P)) + (1)))) + (7))]) != (2))) goto L_023f;
                                                                //   2814              %IF MODE=1 %THEN CHANGE MODE
#line 2814 "regression-compile-tmp/imp918s.imp"
if (((MODE) != (1))) goto L_0240;
#line 2814 "regression-compile-tmp/imp918s.imp"
CHANGEMODE();
#line 2814 "regression-compile-tmp/imp918s.imp"
L_0240:;
                                                                //   2815              %IF NAM=1 %THEN %START
#line 2815 "regression-compile-tmp/imp918s.imp"
if (((NAM) != (1))) goto L_0241;
                                                                //   2816                 COMBINE(0)
#line 2816 "regression-compile-tmp/imp918s.imp"
COMBINE(0);
                                                                //   2817                 INDEX=0; BASE=BS; DISP=DP+Q
#line 2817 "regression-compile-tmp/imp918s.imp"
INDEX = 0;
#line 2817 "regression-compile-tmp/imp918s.imp"
BASE = BS;
#line 2817 "regression-compile-tmp/imp918s.imp"
DISP = (((int)(DP)) + (Q));
                                                                //   2818                 %RETURN
#line 2818 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   2819              %FINISH
#line 2819 "regression-compile-tmp/imp918s.imp"
L_0241:;
                                                                //   2820  !
                                                                //   2821  ! PASSING AN ARRAY IN A RECORD BY NAME MUST CONSTRUCT PROPER ARRAYHEAD
                                                                //   2822  ! FROM THE RECORD RELATIVE ONE AT Q(GLA)
                                                                //   2823  !
                                                                //   2824              COMBINE(1);                ! REDUCE TO A SINGLE POINTER
#line 2824 "regression-compile-tmp/imp918s.imp"
COMBINE(1);
                                                                //   2825              CREATE AH(1,BS,GLA,Q)
#line 2825 "regression-compile-tmp/imp918s.imp"
CREATEAH(1, BS, 13, Q);
                                                                //   2826              REGISTER(BS)=0 %IF REGISTER(BS)=2
#line 2826 "regression-compile-tmp/imp918s.imp"
if (((REGISTER[BS]) != (2))) goto L_0242;
#line 2826 "regression-compile-tmp/imp918s.imp"
REGISTER[BS] = 0;
#line 2826 "regression-compile-tmp/imp918s.imp"
L_0242:;
                                                                //   2827           %FINISH %ELSE %START;         ! ARRAY ELEMENTS IN RECORDS
#line 2827 "regression-compile-tmp/imp918s.imp"
goto L_0243;
#line 2827 "regression-compile-tmp/imp918s.imp"
L_023f:;
                                                                //   2828              %IF NAM=1 %THEN %START;    ! ARRAYNAMES-FULLHEAD IN RECORD
#line 2828 "regression-compile-tmp/imp918s.imp"
if (((NAM) != (1))) goto L_0244;
                                                                //   2829                 %IF MODE=1 %THEN CHANGE MODE
#line 2829 "regression-compile-tmp/imp918s.imp"
if (((MODE) != (1))) goto L_0245;
#line 2829 "regression-compile-tmp/imp918s.imp"
CHANGEMODE();
#line 2829 "regression-compile-tmp/imp918s.imp"
L_0245:;
                                                                //   2830                 COMBINE(0);             ! IN CASE ARRAYNAME IN RECDARRAY
#line 2830 "regression-compile-tmp/imp918s.imp"
COMBINE(0);
                                                                //   2831                 CANAME(17,BS,DP+Q,0);   ! ARRAY MODE SETS DISP,INDEX&BASE
#line 2831 "regression-compile-tmp/imp918s.imp"
CANAME(17, BS, (((int)(DP)) + (Q)), 0);
                                                                //   2832                 REGISTER(BS)=0 %IF REGISTER(BS)=2
#line 2832 "regression-compile-tmp/imp918s.imp"
if (((REGISTER[BS]) != (2))) goto L_0246;
#line 2832 "regression-compile-tmp/imp918s.imp"
REGISTER[BS] = 0;
#line 2832 "regression-compile-tmp/imp918s.imp"
L_0246:;
                                                                //   2833                 BML=BS; DML=DP; NAM=0;  ! HEAD POSN STRINGS NEED
#line 2833 "regression-compile-tmp/imp918s.imp"
BML = BS;
#line 2833 "regression-compile-tmp/imp918s.imp"
DML = DP;
#line 2833 "regression-compile-tmp/imp918s.imp"
NAM = 0;
                                                                //   2834                                         ! LMAX FROM DOPEVECTOR
                                                                //   2835              %FINISH %ELSE %START;      ! ARRAY RELATIVE HEAD IN GLA
#line 2835 "regression-compile-tmp/imp918s.imp"
goto L_0247;
#line 2835 "regression-compile-tmp/imp918s.imp"
L_0244:;
                                                                //   2836                 COMBINE(0); J=1;        ! REDUCE TWO POINTERS TO ONE
#line 2836 "regression-compile-tmp/imp918s.imp"
COMBINE(0);
#line 2836 "regression-compile-tmp/imp918s.imp"
J = 1;
                                                                //   2837                 CANAME(3,GLA,Q,D);      ! VECTOR MODE D= BASIC DISP
#line 2837 "regression-compile-tmp/imp918s.imp"
CANAME(3, 13, Q, D);
                                                                //   2838                                         ! SETS INDEX AND DISP ONLY
                                                                //   2839                 %IF INDEX>0 %THEN REGISTER(INDEX)=REGISTER(INDEX)!1
#line 2839 "regression-compile-tmp/imp918s.imp"
if (((INDEX) <= (0))) goto L_0248;
#line 2839 "regression-compile-tmp/imp918s.imp"
REGISTER[INDEX] = ((REGISTER[INDEX]) | (1));
#line 2839 "regression-compile-tmp/imp918s.imp"
L_0248:;
                                                                //   2840                 %IF MODE=1 %THEN CHANGE MODE
#line 2840 "regression-compile-tmp/imp918s.imp"
if (((MODE) != (1))) goto L_0249;
#line 2840 "regression-compile-tmp/imp918s.imp"
CHANGEMODE();
#line 2840 "regression-compile-tmp/imp918s.imp"
L_0249:;
                                                                //   2841                 %IF INDEX>0<=REGISTER(INDEX) %THEN REGISTER(INDEX)=0
#line 2841 "regression-compile-tmp/imp918s.imp"
if ((((INDEX) <= (0))) || (((0) > (REGISTER[INDEX])))) goto L_024a;
#line 2841 "regression-compile-tmp/imp918s.imp"
REGISTER[INDEX] = 0;
#line 2841 "regression-compile-tmp/imp918s.imp"
L_024a:;
                                                                //   2842                 BASE=BS; DISP=DISP+DP
#line 2842 "regression-compile-tmp/imp918s.imp"
BASE = BS;
#line 2842 "regression-compile-tmp/imp918s.imp"
DISP = (((int)(DISP)) + (DP));
                                                                //   2843                 BML=-1; DML=C&X'FFFF'-1;! FOR STRING ARRAYS
#line 2843 "regression-compile-tmp/imp918s.imp"
BML = (-1);
#line 2843 "regression-compile-tmp/imp918s.imp"
DML = (((int)(((C) & (65535)))) - (1));
                                                                //   2844                 ADJUST INDEX(REGISTER(INDEX)+1,INDEX,DISP) %IF DISP<0
#line 2844 "regression-compile-tmp/imp918s.imp"
if (((DISP) >= (0))) goto L_024b;
#line 2844 "regression-compile-tmp/imp918s.imp"
ADJUSTINDEX((((int)(REGISTER[INDEX])) + (1)), &INDEX, &DISP);
#line 2844 "regression-compile-tmp/imp918s.imp"
L_024b:;
                                                                //   2845              %FINISH
#line 2845 "regression-compile-tmp/imp918s.imp"
L_0247:;
                                                                //   2846              %IF TYPE=3 %THEN CENAME(0,QQ,BASE,INDEX,DISP)
#line 2846 "regression-compile-tmp/imp918s.imp"
if (((TYPE) != (3))) goto L_024c;
#line 2846 "regression-compile-tmp/imp918s.imp"
CENAME(0, QQ, BASE, INDEX, DISP);
#line 2846 "regression-compile-tmp/imp918s.imp"
L_024c:;
                                                                //   2847           %FINISH
#line 2847 "regression-compile-tmp/imp918s.imp"
L_0243:;
                                                                //   2848           ->Label99
#line 2848 "regression-compile-tmp/imp918s.imp"
goto U_102c;
                                                                //   2849           %ROUTINE CHANGE MODE
#line 2849 "regression-compile-tmp/imp918s.imp"
void CHANGEMODE( void )
#line 2849 "regression-compile-tmp/imp918s.imp"
{
                                                                //   2850  !***********************************************************************
                                                                //   2851  !*       CHANGES MODE=1 RECORDS TO MODE=0 RECORDS BY PICKING UP THE    *
                                                                //   2852  !*       POINTER TO SAFE REGISTER AND RESETTING BS,DP AND IX           *
                                                                //   2853  !***********************************************************************
                                                                //   2854           %INTEGER REG
#line 2854 "regression-compile-tmp/imp918s.imp"
int REG;
                                                                //   2855           REG=-1
#line 2855 "regression-compile-tmp/imp918s.imp"
REG = (-1);
                                                                //   2856           %IF DEPTH=1 %THEN FIND USE(REG,1,7,CLINK)
#line 2856 "regression-compile-tmp/imp918s.imp"
if (((DEPTH) != (1))) goto L_024d;
#line 2856 "regression-compile-tmp/imp918s.imp"
FINDUSE(&REG, 1, 7, CLINK);
#line 2856 "regression-compile-tmp/imp918s.imp"
L_024d:;
                                                                //   2857           %UNLESS REG>0 %AND REGISTER(REG)#1 %START
#line 2857 "regression-compile-tmp/imp918s.imp"
if (((REG) <= (0))) goto L_024e;
#line 2857 "regression-compile-tmp/imp918s.imp"
if (((REGISTER[REG]) != (1))) goto L_024f;
#line 2857 "regression-compile-tmp/imp918s.imp"
L_024e:;
                                                                //   2858              FIND REG(ADDREG,REG)
#line 2858 "regression-compile-tmp/imp918s.imp"
FINDREG((-61951), &REG);
                                                                //   2859              DUMP(X'58',REG,DP,IX,BS);     !  L   REG POINTER
#line 2859 "regression-compile-tmp/imp918s.imp"
DUMP(88, REG, DP, IX, BS);
                                                                //   2860              %IF DEPTH=1 %AND CLINK>0 %THEN SET USE(REG,7,CLINK) %C
#line 2860 "regression-compile-tmp/imp918s.imp"
if (((DEPTH) != (1))) goto L_0250;
#line 2860 "regression-compile-tmp/imp918s.imp"
if (((CLINK) <= (0))) goto L_0250;
#line 2860 "regression-compile-tmp/imp918s.imp"
SETUSE(REG, 7, CLINK);
#line 2860 "regression-compile-tmp/imp918s.imp"
goto L_0251;
#line 2860 "regression-compile-tmp/imp918s.imp"
L_0250:;
#line 2860 "regression-compile-tmp/imp918s.imp"
FORGET(REG);
#line 2860 "regression-compile-tmp/imp918s.imp"
L_0251:;
                                                                //   2861                                       %ELSE FORGET(REG)
                                                                //   2862              %IF REGISTER(BS)=2 %THEN REGISTER(BS)=0
#line 2862 "regression-compile-tmp/imp918s.imp"
if (((REGISTER[BS]) != (2))) goto L_0252;
#line 2862 "regression-compile-tmp/imp918s.imp"
REGISTER[BS] = 0;
#line 2862 "regression-compile-tmp/imp918s.imp"
L_0252:;
                                                                //   2863           %FINISH
#line 2863 "regression-compile-tmp/imp918s.imp"
L_024f:;
                                                                //   2864           REGISTER(REG)=2 %IF REGISTER(REG)=0
#line 2864 "regression-compile-tmp/imp918s.imp"
if (((REGISTER[REG]) != (0))) goto L_0253;
#line 2864 "regression-compile-tmp/imp918s.imp"
REGISTER[REG] = 2;
#line 2864 "regression-compile-tmp/imp918s.imp"
L_0253:;
                                                                //   2865           GRAT(REG)=CA
#line 2865 "regression-compile-tmp/imp918s.imp"
GRAT[REG] = CA;
                                                                //   2866           BS=REG;IX=0; MODE=0; DP=0
#line 2866 "regression-compile-tmp/imp918s.imp"
BS = REG;
#line 2866 "regression-compile-tmp/imp918s.imp"
IX = 0;
#line 2866 "regression-compile-tmp/imp918s.imp"
MODE = 0;
#line 2866 "regression-compile-tmp/imp918s.imp"
DP = 0;
                                                                //   2867           %END;                         ! OF CHANGE MODE
#line 2867 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block CHANGEMODE at level 5
                                                                //   2868           %ROUTINE COMBINE(%INTEGER HOW)
#line 2868 "regression-compile-tmp/imp918s.imp"
void COMBINE( int HOW )
#line 2868 "regression-compile-tmp/imp918s.imp"
{
                                                                //   2869  !***********************************************************************
                                                                //   2870  !*       COMBINES IX&BS INTO ONE SAFE REGISTER - IF HOW=1 THEN DP IS   *
                                                                //   2871  !*       INCLUDED ALSO. IF HOW=0 THEN DP IS LEFT ALONE                 *
                                                                //   2872  !***********************************************************************
                                                                //   2873           %INTEGER REG
#line 2873 "regression-compile-tmp/imp918s.imp"
int REG;
                                                                //   2874           %IF IX=0 %AND (HOW=0 %OR DP=0) %THEN %RETURN
#line 2874 "regression-compile-tmp/imp918s.imp"
if (((IX) != (0))) goto L_0254;
#line 2874 "regression-compile-tmp/imp918s.imp"
if (((HOW) == (0))) goto L_0255;
#line 2874 "regression-compile-tmp/imp918s.imp"
if (((DP) != (0))) goto L_0254;
#line 2874 "regression-compile-tmp/imp918s.imp"
L_0255:;
#line 2874 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 2874 "regression-compile-tmp/imp918s.imp"
L_0254:;
                                                                //   2875           %IF 4<=BS<=14 %AND REGISTER(BS)>=0 %THEN REG=BS %ELSE %C
#line 2875 "regression-compile-tmp/imp918s.imp"
if ((((4) > (BS))) || (((BS) > (14)))) goto L_0256;
#line 2875 "regression-compile-tmp/imp918s.imp"
if (((REGISTER[BS]) < (0))) goto L_0256;
#line 2875 "regression-compile-tmp/imp918s.imp"
REG = BS;
#line 2875 "regression-compile-tmp/imp918s.imp"
goto L_0257;
#line 2875 "regression-compile-tmp/imp918s.imp"
L_0256:;
#line 2875 "regression-compile-tmp/imp918s.imp"
FINDREG((-61951), &REG);
#line 2875 "regression-compile-tmp/imp918s.imp"
L_0257:;
                                                                //   2876           FIND REG(ADDREG,REG)
                                                                //   2877           DUMP(X'41',REG,DP*HOW,IX,BS)
#line 2877 "regression-compile-tmp/imp918s.imp"
DUMP(65, REG, (((int)(DP)) * (HOW)), IX, BS);
                                                                //   2878           %IF REGISTER(BS)=2 %THEN REGISTER(BS)=0
#line 2878 "regression-compile-tmp/imp918s.imp"
if (((REGISTER[BS]) != (2))) goto L_0258;
#line 2878 "regression-compile-tmp/imp918s.imp"
REGISTER[BS] = 0;
#line 2878 "regression-compile-tmp/imp918s.imp"
L_0258:;
                                                                //   2879           FORGET(REG); IX=0
#line 2879 "regression-compile-tmp/imp918s.imp"
FORGET(REG);
#line 2879 "regression-compile-tmp/imp918s.imp"
IX = 0;
                                                                //   2880           BS=REG;  REGISTER(BS)=2
#line 2880 "regression-compile-tmp/imp918s.imp"
BS = REG;
#line 2880 "regression-compile-tmp/imp918s.imp"
REGISTER[BS] = 2;
                                                                //   2881           %IF HOW=1 %THEN DP=0
#line 2881 "regression-compile-tmp/imp918s.imp"
if (((HOW) != (1))) goto L_0259;
#line 2881 "regression-compile-tmp/imp918s.imp"
DP = 0;
#line 2881 "regression-compile-tmp/imp918s.imp"
L_0259:;
                                                                //   2882           %END;                         ! OF ROUTINE COMBINE
#line 2882 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block COMBINE at level 5
                                                                //   2883  Label99:      %END;                         ! OF ROUTINE CENAME
#line 2883 "regression-compile-tmp/imp918s.imp"
U_102c:;
#line 2883 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block CENAME at level 4
                                                                //   2884  Label99:      REGISTER(BASE)=0 %IF REGISTER(BASE)=2
#line 2884 "regression-compile-tmp/imp918s.imp"
U_102e:;
#line 2884 "regression-compile-tmp/imp918s.imp"
if (((REGISTER[BASE]) != (2))) goto L_025a;
#line 2884 "regression-compile-tmp/imp918s.imp"
REGISTER[BASE] = 0;
#line 2884 "regression-compile-tmp/imp918s.imp"
L_025a:;
                                                                //   2885           %END;                         ! OF ROUTINE CRNAME
#line 2885 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block CRNAME at level 3
                                                                //   2886           %INTEGERFN     DISPLACEMENT(%INTEGER LINK)
#line 2886 "regression-compile-tmp/imp918s.imp"
int DISPLACEMENT( int LINK )
#line 2886 "regression-compile-tmp/imp918s.imp"
{
                                                                //   2887           {%SHORTROUTINE}
                                                                //   2888  !***********************************************************************
                                                                //   2889  !*         SEARCH A FORMAT LIST FOR A SUBNAME                          *
                                                                //   2890  !*      A(P) HAS ENAME--LINK IS HEAD OF RFORMAT LIST. RESULT IS DISP   *
                                                                //   2891  !*      FROM START OF RECORD                                           *
                                                                //   2892  !***********************************************************************
                                                                //   2893           %INTEGER RR,II,ENAME,CELL
#line 2893 "regression-compile-tmp/imp918s.imp"
int RR;
#line 2893 "regression-compile-tmp/imp918s.imp"
int II;
#line 2893 "regression-compile-tmp/imp918s.imp"
int ENAME;
#line 2893 "regression-compile-tmp/imp918s.imp"
int CELL;
                                                                //   2894           ENAME=A(P); CELL=0
#line 2894 "regression-compile-tmp/imp918s.imp"
ENAME = A[((P) + ((int)(7)))];
#line 2894 "regression-compile-tmp/imp918s.imp"
CELL = 0;
                                                                //   2895           %IF LINK#0 %THEN %START;    ! CHK RECORDSPEC NOT OMITTED
#line 2895 "regression-compile-tmp/imp918s.imp"
if (((LINK) == (0))) goto L_025b;
                                                                //   2896              LINK=FROM3(LINK)&X'7FFF';   ! LINK TO SIDE CHAIN
#line 2896 "regression-compile-tmp/imp918s.imp"
LINK = ((FROM3(LINK)) & (32767));
                                                                //   2897              CELL=LINK; II=-1; ACC=-1
#line 2897 "regression-compile-tmp/imp918s.imp"
CELL = LINK;
#line 2897 "regression-compile-tmp/imp918s.imp"
II = (-1);
#line 2897 "regression-compile-tmp/imp918s.imp"
ACC = (-1);
                                                                //   2898  !            %WHILE LINK>0 %CYCLE
                                                                //   2899  !               FROM123(LINK,RR,INTEGER(ADDR(SNDISP)),INTEGER(ADDR(K)))
                                                                //   2900  !               TCELL=LINK
                                                                //   2901  !               MLINK(LINK)
                                                                //   2902  !               %IF RR>>20=ENAME %THEN %START;      ! RIGHT SUBNAME LOCATED
                                                                //   2903  !                  J=RR&15; PTYPE=RR>>4&X'FFFF'
                                                                //   2904  !                  %RESULT=K
                                                                //   2905  !               %FINISH
                                                                //   2906  !            %REPEAT
                                                                //   2907  !%if USE MC = 1 %start
                                                                //   2908  !            *L_0,ENAME; *L_1,LINK; *L_2,ASLIST
                                                                //   2909  !AGN:        *LTR_1,1; *BC_12,<END>
                                                                //   2910  !            *L_3,0(1,2); *SRL_3,20; *CR_3,0
                                                                //   2911  !            *BC_8,<HIT>; *LH_1,14(1,2); *BC_15,<AGN>
                                                                //   2912  !HIT:        *ST_1,TCELL
                                                                //   2913  !         *A_1,ASLIST; *LM_2,4,0(1)
                                                                //   2914  !         *ST_2,RR; *ST_3,SNDISP; *ST_4,K
                                                                //   2915  !%finish
                                                                //   2916              J=RR&15; PTYPE=RR>>4&X'FFFF'
#line 2916 "regression-compile-tmp/imp918s.imp"
J = ((RR) & (15));
#line 2916 "regression-compile-tmp/imp918s.imp"
PTYPE = (((int)((((unsigned int)(RR)) >> (4)))) & (65535));
                                                                //   2917              %RESULT=K
#line 2917 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return K;
                                                                //   2918  END:
#line 2918 "regression-compile-tmp/imp918s.imp"
U_102f:;
                                                                //   2919           %FINISH
#line 2919 "regression-compile-tmp/imp918s.imp"
L_025b:;
                                                                //   2920           FAULT(65,ENAME)
#line 2920 "regression-compile-tmp/imp918s.imp"
FAULT(65, ENAME);
                                                                //   2921           %IF CELL>0 %THEN %C
#line 2921 "regression-compile-tmp/imp918s.imp"
if (((CELL) <= (0))) goto L_025c;
#line 2921 "regression-compile-tmp/imp918s.imp"
PUSH(_imp_SHORTINTEGER(_imp_ADDR(&ASLIST[(((int)(CELL)) + (14))])), ((((ENAME) << (20))) | (((7) << (4)))), 0);
#line 2921 "regression-compile-tmp/imp918s.imp"
L_025c:;
                                                                //   2922           PUSH(SHORT INTEGER(ADDR(ASLIST(CELL+14))),ENAME<<20!7<<4,0)
                                                                //   2923           PTYPE=7; TCELL=0
#line 2923 "regression-compile-tmp/imp918s.imp"
PTYPE = 7;
#line 2923 "regression-compile-tmp/imp918s.imp"
TCELL = 0;
                                                                //   2924           %RESULT=-1
#line 2924 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return (-1);
                                                                //   2925           %END
#line 2925 "regression-compile-tmp/imp918s.imp"
} // End of block DISPLACEMENT at level 3
                                                                //   2926           %INTEGERFN     COPY RECORD TAG(%INTEGERNAME SUBS)
#line 2926 "regression-compile-tmp/imp918s.imp"
int COPYRECORDTAG( int /*name*/*SUBS )
#line 2926 "regression-compile-tmp/imp918s.imp"
{
                                                                //   2927           {%SHORTROUTINE}
                                                                //   2928  !***********************************************************************
                                                                //   2929  !*       PRODUCE PTYPE ETC FOR A COMPOUND NAME BY CHAINING DOWN ONE    *
                                                                //   2930  !*       ONE OR MORE RECORD FORMAT LISTS. ON EXIT RESULT =0 IF NO      *
                                                                //   2931  !*       SUBNAME FOUND OR SUBNAME IS OF TYPE RECORD WITH NO FURTHER    *
                                                                //   2932  !*       SUBNAME ATTACHED. RESULT#0 IF BONE-FIDE SUBNAME LOCATED       *
                                                                //   2933  !*       ON ENTRY KFORM HAS POINTER TO THE (FIRST ) FORMAT LIST AND    *
                                                                //   2934  !*       P POINTS TO THE A.R. ENTRY FOR (FIRST) ENAME                  *
                                                                //   2935  !***********************************************************************
                                                                //   2936           %INTEGER Q,FNAME
#line 2936 "regression-compile-tmp/imp918s.imp"
int Q;
#line 2936 "regression-compile-tmp/imp918s.imp"
int FNAME;
                                                                //   2937           SUBS=0
#line 2937 "regression-compile-tmp/imp918s.imp"
*SUBS = 0;
                                                                //   2938           %CYCLE
#line 2938 "regression-compile-tmp/imp918s.imp"
L_025d:;
                                                                //   2939              FNAME=KFORM
#line 2939 "regression-compile-tmp/imp918s.imp"
FNAME = KFORM;
                                                                //   2940              P=P+1; %IF A(P)=2 %THEN P=P+1 %ELSE SKIP APP
#line 2940 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
#line 2940 "regression-compile-tmp/imp918s.imp"
if (((A[((P) + ((int)(7)))]) != (2))) goto L_0260;
#line 2940 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
#line 2940 "regression-compile-tmp/imp918s.imp"
goto L_0261;
#line 2940 "regression-compile-tmp/imp918s.imp"
L_0260:;
#line 2940 "regression-compile-tmp/imp918s.imp"
SKIPAPP();
#line 2940 "regression-compile-tmp/imp918s.imp"
L_0261:;
                                                                //   2941              %RESULT=0 %IF A(P)=2 %OR FNAME<=0;! NO (FURTHER) ENAME
#line 2941 "regression-compile-tmp/imp918s.imp"
if (((A[((P) + ((int)(7)))]) == (2))) goto L_0221;
#line 2941 "regression-compile-tmp/imp918s.imp"
if (((FNAME) > (0))) goto L_0262;
#line 2941 "regression-compile-tmp/imp918s.imp"
L_0221:;
#line 2941 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return 0;
#line 2941 "regression-compile-tmp/imp918s.imp"
L_0262:;
                                                                //   2942              SUBS=SUBS+1
#line 2942 "regression-compile-tmp/imp918s.imp"
*SUBS = ((*(int *)(SUBS)) + (1));
                                                                //   2943              P=P+1; Q=DISPLACEMENT (FNAME)
#line 2943 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
#line 2943 "regression-compile-tmp/imp918s.imp"
Q = DISPLACEMENT(FNAME);
                                                                //   2944             ! UNPACK
                                                                //   2945  !%if USE MC = 1 %start
                                                                //   2946  !            *L_1,PTYPE; *CVD_1,0(11)
                                                                //   2947  !            *UNPK_ROUT(5),5(3,11)
                                                                //   2948  !            *NC_ROUT(5),MASK1
                                                                //   2949  !%finish
                                                                //   2950           %REPEAT %UNTIL TYPE#3
#line 2950 "regression-compile-tmp/imp918s.imp"
if (((TYPE) != (3))) goto L_025e;
#line 2950 "regression-compile-tmp/imp918s.imp"
goto L_025d;
#line 2950 "regression-compile-tmp/imp918s.imp"
L_025e:;
                                                                //   2951           %RESULT=Q+1;       ! GIVES 0 IF SUBNAME NOT KNOWN
#line 2951 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return (((int)(Q)) + (1));
                                                                //   2952           %END
#line 2952 "regression-compile-tmp/imp918s.imp"
} // End of block COPYRECORDTAG at level 3
                                                                //   2953           %ROUTINE STRINGOP(%INTEGER Z,L,BTO,DTO,BFRM,DFRM,BML,DML,XREG)
#line 2953 "regression-compile-tmp/imp918s.imp"
void STRINGOP( int Z, int L, int BTO, int DTO, int BFRM, int DFRM, int BML, int DML, int XREG )
#line 2953 "regression-compile-tmp/imp918s.imp"
{
                                                                //   2954  !***********************************************************************
                                                                //   2955  !*       PERFORM ANY STRING OPERATION WHICH INVOLVES EXECUTING SS      *
                                                                //   2956  !*       INSTRUCTIONS                                                  *
                                                                //   2957  !*       Z=0 FOR CLC                                                   *
                                                                //   2958  !*       Z=1 FOR STORE(=)                                              *
                                                                //   2959  !*       Z=2 FOR CONCATENATE                                           *
                                                                //   2960  !*       Z=4 FOR STORE(<-)                                             *
                                                                //   2961  !*       Z=5 FOR LEXIOGRAPHIC STRING ORDERING                          *
                                                                //   2962  !*       STRINGL>0 %IF LENGTH OF STRING KNOWN =0 NOT KNOWN             *
                                                                //   2963  !*       BML & DML DEFINE POSITION OF MAX LENGTH BYTE                  *
                                                                //   2964  !*       BML=0  DML=MAX LENGTH IF THIS KNOWN AT COMPILE TIME           *
                                                                //   2965  !***********************************************************************
                                                                //   2966           {%SHORTROUTINE}
                                                                //   2967           %INTEGER RSTATE1,RSTATE2,RSTATE3,W,FIXL,CCREG,SCA
#line 2967 "regression-compile-tmp/imp918s.imp"
int RSTATE1;
#line 2967 "regression-compile-tmp/imp918s.imp"
int RSTATE2;
#line 2967 "regression-compile-tmp/imp918s.imp"
int RSTATE3;
#line 2967 "regression-compile-tmp/imp918s.imp"
int W;
#line 2967 "regression-compile-tmp/imp918s.imp"
int FIXL;
#line 2967 "regression-compile-tmp/imp918s.imp"
int CCREG;
#line 2967 "regression-compile-tmp/imp918s.imp"
int SCA;
                                                                //   2968           %IF Z=4 %AND BML<=0 %AND DML=255 %THEN Z=1
#line 2968 "regression-compile-tmp/imp918s.imp"
if (((Z) != (4))) goto L_0263;
#line 2968 "regression-compile-tmp/imp918s.imp"
if (((BML) > (0))) goto L_0263;
#line 2968 "regression-compile-tmp/imp918s.imp"
if (((DML) != (255))) goto L_0263;
#line 2968 "regression-compile-tmp/imp918s.imp"
Z = 1;
#line 2968 "regression-compile-tmp/imp918s.imp"
L_0263:;
                                                                //   2969           RSTATE1=REGISTER(BTO); REGISTER(BTO)=1
#line 2969 "regression-compile-tmp/imp918s.imp"
RSTATE1 = REGISTER[BTO];
#line 2969 "regression-compile-tmp/imp918s.imp"
REGISTER[BTO] = 1;
                                                                //   2970           RSTATE2=REGISTER(BFRM); REGISTER(BFRM)=1
#line 2970 "regression-compile-tmp/imp918s.imp"
RSTATE2 = REGISTER[BFRM];
#line 2970 "regression-compile-tmp/imp918s.imp"
REGISTER[BFRM] = 1;
                                                                //   2971           %IF BML>0 %THEN RSTATE3=REGISTER(BML) %AND REGISTER(BML)=1
#line 2971 "regression-compile-tmp/imp918s.imp"
if (((BML) <= (0))) goto L_0264;
#line 2971 "regression-compile-tmp/imp918s.imp"
RSTATE3 = REGISTER[BML];
#line 2971 "regression-compile-tmp/imp918s.imp"
REGISTER[BML] = 1;
#line 2971 "regression-compile-tmp/imp918s.imp"
L_0264:;
                                                                //   2972           BML=0 %IF BML<0
#line 2972 "regression-compile-tmp/imp918s.imp"
if (((BML) >= (0))) goto L_0265;
#line 2972 "regression-compile-tmp/imp918s.imp"
BML = 0;
#line 2972 "regression-compile-tmp/imp918s.imp"
L_0265:;
                                                                //   2973           PLABEL=PLABEL-1
#line 2973 "regression-compile-tmp/imp918s.imp"
PLABEL = (((int)(PLABEL)) - (1));
                                                                //   2974           %IF Z=5 %THEN %START;        ! LEXIOGRAPHIC ORDERING
#line 2974 "regression-compile-tmp/imp918s.imp"
if (((Z) != (5))) goto L_0266;
                                                                //   2975  !
                                                                //   2976  ! THE CAREFULLY OPTIMISED BUT OBSCURE CODE PLANTED IS:-
                                                                //   2977  !       SR XREG,XREG. IC XREG, D2(B2)
                                                                //   2978  ! (OR   LA XREG,STRLENGTH2           WHEN 2ND OPERAND LENGTH KNOWN)
                                                                //   2979  !       CLC D1(1,B1),D2(B2)          COMPARE THE LENGTHS
                                                                //   2980  !       BALR CCREG,0                 SAVE CC FOR LATER & SET BASEREG
                                                                //   2981  !       BNH L3                       SHORTEST LENGTH IN XREG
                                                                //   2982  !LEX    CLC D1+1(1,B1),D2+1(B1)      FOR EXECUTING BUT QUICKER TO
                                                                //   2983  !                                    OBEY THIS LINE THAN JUMP ROUND IT
                                                                //   2984  !       IC XREG,D1(B1)               SHORTEST LENGTH TO XREG
                                                                //   2985  !L3     LTR  XREG,XREG
                                                                //   2986  !       BZ    L4
                                                                //   2987  !       BCTR XREG,0                   XREG = LEASTCHARS-1
                                                                //   2988  !       EX   XREG,LEX
                                                                //   2989  !       BC   7,LEND
                                                                //   2990  !L4     SPM CCREG                     RESTORE SAVED CONDITION COD
                                                                //   2991  !LEND   EQU   *
                                                                //   2992  !
                                                                //   2993              %IF XREG<=0 %THEN CLAIM(GR1,XREG)
#line 2993 "regression-compile-tmp/imp918s.imp"
if (((XREG) > (0))) goto L_0267;
#line 2993 "regression-compile-tmp/imp918s.imp"
CLAIM(65807, &XREG);
#line 2993 "regression-compile-tmp/imp918s.imp"
L_0267:;
                                                                //   2994              CLAIM(GR1,CCREG)
#line 2994 "regression-compile-tmp/imp918s.imp"
CLAIM(65807, &CCREG);
                                                                //   2995              %IF L<=0 %THEN DUMP(4,XREG,DTO,0,BTO) %ELSE %C
#line 2995 "regression-compile-tmp/imp918s.imp"
if (((L) > (0))) goto L_0268;
#line 2995 "regression-compile-tmp/imp918s.imp"
DUMP(4, XREG, DTO, 0, BTO);
#line 2995 "regression-compile-tmp/imp918s.imp"
goto L_0269;
#line 2995 "regression-compile-tmp/imp918s.imp"
L_0268:;
#line 2995 "regression-compile-tmp/imp918s.imp"
DUMP(0, XREG, L, 0, 0);
#line 2995 "regression-compile-tmp/imp918s.imp"
L_0269:;
                                                                //   2996                             DUMP(0,XREG,L,0,0)
                                                                //   2997              SET USE(XREG,2,-2);       ! REMEMBER TO 24 BITS ZERO
#line 2997 "regression-compile-tmp/imp918s.imp"
SETUSE(XREG, 2, (-2));
                                                                //   2998              DUMPSS(X'D5',1,BFRM,DFRM,BTO,DTO); ! CLC LENGTHS
#line 2998 "regression-compile-tmp/imp918s.imp"
DUMPSS(213, 1, BFRM, DFRM, BTO, DTO);
                                                                //   2999              PRR(5,CCREG,0)
#line 2999 "regression-compile-tmp/imp918s.imp"
PRR(5, CCREG, 0);
                                                                //   3000              %IF CA-CODEBASE>4095-MARGIN %THEN SETUSE(CCREG,12,CA) %C
#line 3000 "regression-compile-tmp/imp918s.imp"
if ((((((int)(CA)) - (CODEBASE))) <= ((((int)(4095)) - (MARGIN))))) goto L_026a;
#line 3000 "regression-compile-tmp/imp918s.imp"
SETUSE(CCREG, 12, CA);
#line 3000 "regression-compile-tmp/imp918s.imp"
goto L_026b;
#line 3000 "regression-compile-tmp/imp918s.imp"
L_026a:;
#line 3000 "regression-compile-tmp/imp918s.imp"
FORGET(CCREG);
#line 3000 "regression-compile-tmp/imp918s.imp"
L_026b:;
                                                                //   3001                                          %ELSE FORGET(CCREG)
                                                                //   3002              SCA=CA
#line 3002 "regression-compile-tmp/imp918s.imp"
SCA = CA;
                                                                //   3003              PRX(X'47',11,CCREG,0,0)
#line 3003 "regression-compile-tmp/imp918s.imp"
PRX(71, 11, CCREG, 0, 0);
                                                                //   3004              DUMPSS(X'D5',1,BFRM,DFRM+1,BTO,DTO+1)
#line 3004 "regression-compile-tmp/imp918s.imp"
DUMPSS(213, 1, BFRM, (((int)(DFRM)) + (1)), BTO, (((int)(DTO)) + (1)));
                                                                //   3005              PRX(X'43',XREG,BFRM,0,DFRM)
#line 3005 "regression-compile-tmp/imp918s.imp"
PRX(67, XREG, BFRM, 0, DFRM);
                                                                //   3006              PLUG(1,SCA+2,CA-SCA);       ! FILL JUMP
#line 3006 "regression-compile-tmp/imp918s.imp"
PLUG(1, (((int)(SCA)) + (2)), (((int)(CA)) - (SCA)));
                                                                //   3007              PRR(X'12',XREG,XREG)
#line 3007 "regression-compile-tmp/imp918s.imp"
PRR(18, XREG, XREG);
                                                                //   3008              PRX(X'47',8,CCREG,0,CA+14-SCA)
#line 3008 "regression-compile-tmp/imp918s.imp"
PRX(71, 8, CCREG, 0, (((int)((((int)(CA)) + (14)))) - (SCA)));
                                                                //   3009              PRR(6,XREG,0)
#line 3009 "regression-compile-tmp/imp918s.imp"
PRR(6, XREG, 0);
                                                                //   3010              PRX(X'44',XREG,CCREG,0,CA-18-SCA)
#line 3010 "regression-compile-tmp/imp918s.imp"
PRX(68, XREG, CCREG, 0, (((int)((((int)(CA)) - (18)))) - (SCA)));
                                                                //   3011              PRX(X'47',7,CCREG,0,CA-SCA+6)
#line 3011 "regression-compile-tmp/imp918s.imp"
PRX(71, 7, CCREG, 0, (((int)((((int)(CA)) - (SCA)))) + (6)));
                                                                //   3012              PRR(4,CCREG,0);         ! SPM CCREG
#line 3012 "regression-compile-tmp/imp918s.imp"
PRR(4, CCREG, 0);
                                                                //   3013              REGISTER(CCREG)=0
#line 3013 "regression-compile-tmp/imp918s.imp"
REGISTER[CCREG] = 0;
                                                                //   3014           %FINISH %ELSE %START
#line 3014 "regression-compile-tmp/imp918s.imp"
goto L_026c;
#line 3014 "regression-compile-tmp/imp918s.imp"
L_0266:;
                                                                //   3015              %IF Z=4 %THEN %START;         ! JAM TRANSFER NEEDS LMAX
#line 3015 "regression-compile-tmp/imp918s.imp"
if (((Z) != (4))) goto L_026d;
                                                                //   3016                 %IF BML=0 %THEN W=X'41' %ELSE W=X'43'
#line 3016 "regression-compile-tmp/imp918s.imp"
if (((BML) != (0))) goto L_026e;
#line 3016 "regression-compile-tmp/imp918s.imp"
W = 65;
#line 3016 "regression-compile-tmp/imp918s.imp"
goto L_026f;
#line 3016 "regression-compile-tmp/imp918s.imp"
L_026e:;
#line 3016 "regression-compile-tmp/imp918s.imp"
W = 67;
#line 3016 "regression-compile-tmp/imp918s.imp"
L_026f:;
                                                                //   3017                 DUMP(W,XREG,DML,0,BML);    ! IC %OR LA TO GET LMAX TO XREG
#line 3017 "regression-compile-tmp/imp918s.imp"
DUMP(W, XREG, DML, 0, BML);
                                                                //   3018                 XREG=NEST; REGISTER(XREG)=1;! CLAIM REGISTER FOR LMAX
#line 3018 "regression-compile-tmp/imp918s.imp"
XREG = NEST;
#line 3018 "regression-compile-tmp/imp918s.imp"
REGISTER[XREG] = 1;
                                                                //   3019                 SET USE(XREG,2,-2)
#line 3019 "regression-compile-tmp/imp918s.imp"
SETUSE(XREG, 2, (-2));
                                                                //   3020              %FINISH
#line 3020 "regression-compile-tmp/imp918s.imp"
L_026d:;
                                                                //   3021  !
                                                                //   3022  ! FOR JAM TRANSFER OR ASSIGN WITH CHECKS A LENGTH COMPARISION IS NEEDED
                                                                //   3023  ! THIS CAN BE AVOIDED IF RESULT IS KNOWN AT COMPILE TIME
                                                                //   3024  !
                                                                //   3025              %IF (Z=4 %OR Z=1=CHECKS)%AND(BML#0 %OR L<=0 %OR L>DML)%START
#line 3025 "regression-compile-tmp/imp918s.imp"
if (((Z) == (4))) goto L_0270;
#line 3025 "regression-compile-tmp/imp918s.imp"
if ((((Z) != (1))) || (((1) != (CHECKS)))) goto L_0271;
#line 3025 "regression-compile-tmp/imp918s.imp"
L_0270:;
#line 3025 "regression-compile-tmp/imp918s.imp"
if (((BML) != (0))) goto L_0272;
#line 3025 "regression-compile-tmp/imp918s.imp"
if (((L) <= (0))) goto L_0272;
#line 3025 "regression-compile-tmp/imp918s.imp"
if (((L) <= (DML))) goto L_0271;
#line 3025 "regression-compile-tmp/imp918s.imp"
L_0272:;
                                                                //   3026                 %IF BML#0 %THEN %START;           ! MAX LENGTH NOT KNOWN
#line 3026 "regression-compile-tmp/imp918s.imp"
if (((BML) == (0))) goto L_0273;
                                                                //   3027                    DUMPSS(X'D5',1,BFRM,DFRM,BML,DML);! CLC (LENGTHS)
#line 3027 "regression-compile-tmp/imp918s.imp"
DUMPSS(213, 1, BFRM, DFRM, BML, DML);
                                                                //   3028                 %FINISH %ELSE PSI(X'95',DML,BFRM,DFRM)
#line 3028 "regression-compile-tmp/imp918s.imp"
goto L_0274;
#line 3028 "regression-compile-tmp/imp918s.imp"
L_0273:;
#line 3028 "regression-compile-tmp/imp918s.imp"
PSI(149, DML, BFRM, DFRM);
#line 3028 "regression-compile-tmp/imp918s.imp"
L_0274:;
                                                                //   3029                 %IF Z=4 %THEN ENTER JUMP(10,PLABEL,B'11') %ELSE %C
#line 3029 "regression-compile-tmp/imp918s.imp"
if (((Z) != (4))) goto L_0275;
#line 3029 "regression-compile-tmp/imp918s.imp"
ENTERJUMP(10, PLABEL, 3);
#line 3029 "regression-compile-tmp/imp918s.imp"
goto L_0276;
#line 3029 "regression-compile-tmp/imp918s.imp"
L_0275:;
#line 3029 "regression-compile-tmp/imp918s.imp"
PRX(71, 2, 0, 12, 88);
#line 3029 "regression-compile-tmp/imp918s.imp"
L_0276:;
                                                                //   3030                 PRX(X'47',2,0,CODER,88);      ! BH CAP. EXCEEDED
                                                                //   3031              %FINISH
#line 3031 "regression-compile-tmp/imp918s.imp"
L_0271:;
                                                                //   3032  !
                                                                //   3033              %IF Z=0 %THEN W=X'D5' %ELSE W=X'D2'
#line 3033 "regression-compile-tmp/imp918s.imp"
if (((Z) != (0))) goto L_0277;
#line 3033 "regression-compile-tmp/imp918s.imp"
W = 213;
#line 3033 "regression-compile-tmp/imp918s.imp"
goto L_0278;
#line 3033 "regression-compile-tmp/imp918s.imp"
L_0277:;
#line 3033 "regression-compile-tmp/imp918s.imp"
W = 210;
#line 3033 "regression-compile-tmp/imp918s.imp"
L_0278:;
                                                                //   3034  !
                                                                //   3035  ! LENGTHS UP TO 15 IT IS QUICKER TO MOVE XTRA CHARS.
                                                                //   3036  !
                                                                //   3037              %IF Z=1 %AND BML=0 %AND DML<=15 %AND L<=0 %THEN L=DML
#line 3037 "regression-compile-tmp/imp918s.imp"
if (((Z) != (1))) goto L_0279;
#line 3037 "regression-compile-tmp/imp918s.imp"
if (((BML) != (0))) goto L_0279;
#line 3037 "regression-compile-tmp/imp918s.imp"
if (((DML) > (15))) goto L_0279;
#line 3037 "regression-compile-tmp/imp918s.imp"
if (((L) > (0))) goto L_0279;
#line 3037 "regression-compile-tmp/imp918s.imp"
L = DML;
#line 3037 "regression-compile-tmp/imp918s.imp"
L_0279:;
                                                                //   3038  !
                                                                //   3039  ! IF THE LENGTH IS KNOWN AT COMPILE TIME THEN CODE CAN BE PLANTED TO
                                                                //   3040  ! PERFORM THE OPERATION. IF LENGTH NOT KNOWN UNTIL RUN TIME THEN AN
                                                                //   3041  ! INSTRUCTION WITH ZERO LENGTH HAS TO BE SET AND CODE PLANTED
                                                                //   3042  ! TO EXECUTE THE INSTRUCTION AT RUN TIME. EXECUTE ORS THE LENGTH INTO
                                                                //   3043  ! THE INSTRUCTION BEFORE OBEYING IT.
                                                                //   3044  !
                                                                //   3045              %IF L>0 %AND Z#4 %THEN FIXL=L+1 %ELSE %START;! EXECUTE NEEDED
#line 3045 "regression-compile-tmp/imp918s.imp"
if (((L) <= (0))) goto L_027a;
#line 3045 "regression-compile-tmp/imp918s.imp"
if (((Z) == (4))) goto L_027a;
#line 3045 "regression-compile-tmp/imp918s.imp"
FIXL = (((int)(L)) + (1));
#line 3045 "regression-compile-tmp/imp918s.imp"
goto L_027b;
#line 3045 "regression-compile-tmp/imp918s.imp"
L_027a:;
                                                                //   3046                 FIXL=0
#line 3046 "regression-compile-tmp/imp918s.imp"
FIXL = 0;
                                                                //   3047                 %UNLESS DFRM<0 %OR DFRM>4095 %OR Z=2 %THEN %START
#line 3047 "regression-compile-tmp/imp918s.imp"
if (((DFRM) < (0))) goto L_027c;
#line 3047 "regression-compile-tmp/imp918s.imp"
if (((DFRM) > (4095))) goto L_027c;
#line 3047 "regression-compile-tmp/imp918s.imp"
if (((Z) == (2))) goto L_027c;
                                                                //   3048                    %IF XREG<0 %THEN FINDREG(GR1,XREG) %AND FORGET(XREG)
#line 3048 "regression-compile-tmp/imp918s.imp"
if (((XREG) >= (0))) goto L_027d;
#line 3048 "regression-compile-tmp/imp918s.imp"
FINDREG(65807, &XREG);
#line 3048 "regression-compile-tmp/imp918s.imp"
FORGET(XREG);
#line 3048 "regression-compile-tmp/imp918s.imp"
L_027d:;
                                                                //   3049                    PRX(X'43',XREG,0,BFRM,DFRM) %UNLESS GRUSE(XREG)=13
#line 3049 "regression-compile-tmp/imp918s.imp"
if (((GRUSE[XREG]) == (13))) goto L_027e;
#line 3049 "regression-compile-tmp/imp918s.imp"
PRX(67, XREG, 0, BFRM, DFRM);
#line 3049 "regression-compile-tmp/imp918s.imp"
L_027e:;
                                                                //   3050                 %FINISH %ELSE %START
#line 3050 "regression-compile-tmp/imp918s.imp"
goto L_027f;
#line 3050 "regression-compile-tmp/imp918s.imp"
L_027c:;
                                                                //   3051                    DUMP(X'43',XREG,DFRM,0,BFRM) 
#line 3051 "regression-compile-tmp/imp918s.imp"
DUMP(67, XREG, DFRM, 0, BFRM);
                                                                //   3052                    XREG=NEST %IF XREG<0
#line 3052 "regression-compile-tmp/imp918s.imp"
if (((XREG) >= (0))) goto L_0280;
#line 3052 "regression-compile-tmp/imp918s.imp"
XREG = NEST;
#line 3052 "regression-compile-tmp/imp918s.imp"
L_0280:;
                                                                //   3053                    SET USE(XREG,2,-2)
#line 3053 "regression-compile-tmp/imp918s.imp"
SETUSE(XREG, 2, (-2));
                                                                //   3054                 %FINISH
#line 3054 "regression-compile-tmp/imp918s.imp"
L_027f:;
                                                                //   3055                 REGISTER(XREG)=1
#line 3055 "regression-compile-tmp/imp918s.imp"
REGISTER[XREG] = 1;
                                                                //   3056                 ENTER LAB(PLABEL,B'11') %IF Z=4
#line 3056 "regression-compile-tmp/imp918s.imp"
if (((Z) != (4))) goto L_0281;
#line 3056 "regression-compile-tmp/imp918s.imp"
ENTERLAB(PLABEL, 3);
#line 3056 "regression-compile-tmp/imp918s.imp"
L_0281:;
                                                                //   3057                 SET LOCAL BASE
#line 3057 "regression-compile-tmp/imp918s.imp"
SETLOCALBASE();
                                                                //   3058              %FINISH
#line 3058 "regression-compile-tmp/imp918s.imp"
L_027b:;
                                                                //   3059              %IF Z=2 %THEN DFRM=DFRM+1
#line 3059 "regression-compile-tmp/imp918s.imp"
if (((Z) != (2))) goto L_0282;
#line 3059 "regression-compile-tmp/imp918s.imp"
DFRM = (((int)(DFRM)) + (1));
#line 3059 "regression-compile-tmp/imp918s.imp"
L_0282:;
                                                                //   3060              DUMPSS(W,FIXL,BTO,DTO,BFRM,DFRM)
#line 3060 "regression-compile-tmp/imp918s.imp"
DUMPSS(W, FIXL, BTO, DTO, BFRM, DFRM);
                                                                //   3061              %IF FIXL=0 %THEN %START
#line 3061 "regression-compile-tmp/imp918s.imp"
if (((FIXL) != (0))) goto L_0283;
                                                                //   3062                 DUMP(X'44',XREG,CA-LOCALADDR-6,0,LOCALBASE);! EXECUTE IT
#line 3062 "regression-compile-tmp/imp918s.imp"
DUMP(68, XREG, (((int)((((int)(CA)) - (LOCALADDR)))) - (6)), 0, LOCALBASE);
                                                                //   3063                 DUMP(X'42',XREG,DTO,0,BTO) %IF Z=4;! STC LENGTH BYTE IF <-
#line 3063 "regression-compile-tmp/imp918s.imp"
if (((Z) != (4))) goto L_0284;
#line 3063 "regression-compile-tmp/imp918s.imp"
DUMP(66, XREG, DTO, 0, BTO);
#line 3063 "regression-compile-tmp/imp918s.imp"
L_0284:;
                                                                //   3064              %FINISH
#line 3064 "regression-compile-tmp/imp918s.imp"
L_0283:;
                                                                //   3065           %FINISH
#line 3065 "regression-compile-tmp/imp918s.imp"
L_026c:;
                                                                //   3066           %IF XREG>0 %THEN REGISTER(XREG)=0
#line 3066 "regression-compile-tmp/imp918s.imp"
if (((XREG) <= (0))) goto L_0285;
#line 3066 "regression-compile-tmp/imp918s.imp"
REGISTER[XREG] = 0;
#line 3066 "regression-compile-tmp/imp918s.imp"
L_0285:;
                                                                //   3067           NEST=XREG
#line 3067 "regression-compile-tmp/imp918s.imp"
NEST = XREG;
                                                                //   3068           %IF BML>0 %THEN REGISTER(BML)=RSTATE3
#line 3068 "regression-compile-tmp/imp918s.imp"
if (((BML) <= (0))) goto L_0286;
#line 3068 "regression-compile-tmp/imp918s.imp"
REGISTER[BML] = RSTATE3;
#line 3068 "regression-compile-tmp/imp918s.imp"
L_0286:;
                                                                //   3069           REGISTER(BFRM)=RSTATE2;         ! ORDER OF THESE 3 LINES
#line 3069 "regression-compile-tmp/imp918s.imp"
REGISTER[BFRM] = RSTATE2;
                                                                //   3070           REGISTER(BTO)=RSTATE1;          ! IMPORTANT IF BTO=BFRM!
#line 3070 "regression-compile-tmp/imp918s.imp"
REGISTER[BTO] = RSTATE1;
                                                                //   3071           CCSTATE=-1
#line 3071 "regression-compile-tmp/imp918s.imp"
CCSTATE = (-1);
                                                                //   3072           %END
#line 3072 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block STRINGOP at level 3
                                                                //   3073           %ROUTINE CSTREXP(%INTEGER MODE,REG)
#line 3073 "regression-compile-tmp/imp918s.imp"
void CSTREXP( int MODE, int REG )
#line 3073 "regression-compile-tmp/imp918s.imp"
{
                                                                //   3074           {%SHORTROUTINE}
                                                                //   3075  !***********************************************************************
                                                                //   3076  !*       PLANT IN-LINE CODE FOR CONCATENATION. A WORK AREA UNDER       *
                                                                //   3077  !*       BASE REGISTER COVER IS USUALLY REQUIRED. THE CURRENT LENGTH   *
                                                                //   3078  !*       OF STRING IN THE WORK AREA IS KEPT IN A REGISTER (LENREG)     *
                                                                //   3079  !*       WHICH IS PROTECTED THROUGH THE NORMAL INTERMEDIATE-RESULT     *
                                                                //   3080  !*       MECHANISMS.                                                   *
                                                                //   3081  !*       ON ENTRY:-                                                    *
                                                                //   3082  !*       REG > 0 %IF A REGISTER IS TO BE LEFT POINTING AT THE RESULT   *
                                                                //   3083  !*       MODE=0    NORMAL. REG IF GIVEN ONLY USED IF NO WK AREA NEEDED *
                                                                //   3084  !*       MODE=1    AS MODE =0 BUT REG MUST BE SET AS POINTER           *
                                                                //   3085  !*       (AND TO COME)                                                 *
                                                                //   3086  !*       MODE=3    CONCATENATE INTO LHS OF =ASSNMNT (E.G. A=B.C)       *
                                                                //   3087  !*       MODE=4    OPTIMISE  S=S.T   BY NOT COPYING S                  *
                                                                //   3088  !*       2**4 BIT OF MODE IS SET IF WK-AREA NOT TO BE FREED ON EXIT    *
                                                                //   3089  !*       ON EXIT:-                                                     *
                                                                //   3090  !*       BASE,DISP & INDEX DEFINE RESULT                               *
                                                                //   3091  !*       VALUE=1 %IF RESULT IN A WORK AREA(CCOND MUST KNOW)            *
                                                                //   3092  !*       STRINGL SET IF STRING LENGTH KNOWN. NEST DEFINES LENREG       *
                                                                //   3093  !***********************************************************************
                                                                //   3094           %INTEGER PP,WKBASE,WKAREA,LENREG,REXP,ERR,CLEN,KEEPWA
#line 3094 "regression-compile-tmp/imp918s.imp"
int PP;
#line 3094 "regression-compile-tmp/imp918s.imp"
int WKBASE;
#line 3094 "regression-compile-tmp/imp918s.imp"
int WKAREA;
#line 3094 "regression-compile-tmp/imp918s.imp"
int LENREG;
#line 3094 "regression-compile-tmp/imp918s.imp"
int REXP;
#line 3094 "regression-compile-tmp/imp918s.imp"
int ERR;
#line 3094 "regression-compile-tmp/imp918s.imp"
int CLEN;
#line 3094 "regression-compile-tmp/imp918s.imp"
int KEEPWA;
                                                                //   3095           %SHORTINTEGER SHEAD
#line 3095 "regression-compile-tmp/imp918s.imp"
short SHEAD;
                                                                //   3096           %RECORD(RD)%NAME OP
#line 3096 "regression-compile-tmp/imp918s.imp"
 RD /*name*/*OP;
                                                                //   3097           %INTEGERFNSPEC STROP(%INTEGER REG)
#line 3097 "regression-compile-tmp/imp918s.imp"
auto int STROP( int REG );
                                                                //   3098           LENREG=0; SHEAD=0
#line 3098 "regression-compile-tmp/imp918s.imp"
LENREG = 0;
#line 3098 "regression-compile-tmp/imp918s.imp"
SHEAD = 0;
                                                                //   3099           KEEPWA=MODE&16; MODE=MODE&15
#line 3099 "regression-compile-tmp/imp918s.imp"
KEEPWA = ((MODE) & (16));
#line 3099 "regression-compile-tmp/imp918s.imp"
MODE = ((MODE) & (15));
                                                                //   3100           PP=P; STRINGL=0
#line 3100 "regression-compile-tmp/imp918s.imp"
PP = P;
#line 3100 "regression-compile-tmp/imp918s.imp"
STRINGL = 0;
                                                                //   3101           REXP=2-A(P+1+A(P+1));         ! =0 %IF ONE OPERAND EXP
#line 3101 "regression-compile-tmp/imp918s.imp"
REXP = ((2) - ((int)(A[(((unsigned char)((((short)((((int)(P)) + (1)))) + (A[(((unsigned char)((((int)(P)) + (1)))) + (7))])))) + (7))])));
                                                                //   3102           -> NORMAL %UNLESS A(P+2)=4 %AND REXP=0 %AND MODE<=1
#line 3102 "regression-compile-tmp/imp918s.imp"
if (((A[(((unsigned char)((((int)(P)) + (2)))) + (7))]) != (4))) goto L_025f;
#line 3102 "regression-compile-tmp/imp918s.imp"
if (((REXP) != (0))) goto L_025f;
#line 3102 "regression-compile-tmp/imp918s.imp"
if (((MODE) <= (1))) goto L_0287;
#line 3102 "regression-compile-tmp/imp918s.imp"
L_025f:;
#line 3102 "regression-compile-tmp/imp918s.imp"
goto U_1030;
#line 3102 "regression-compile-tmp/imp918s.imp"
L_0287:;
                                                                //   3103           -> SIMPLE %IF A(P+3)=2
#line 3103 "regression-compile-tmp/imp918s.imp"
if (((A[(((unsigned char)((((int)(P)) + (3)))) + (7))]) != (2))) goto L_0288;
#line 3103 "regression-compile-tmp/imp918s.imp"
goto U_1031;
#line 3103 "regression-compile-tmp/imp918s.imp"
L_0288:;
                                                                //   3104           -> NORMAL %UNLESS A(P+3)=1
#line 3104 "regression-compile-tmp/imp918s.imp"
if (((A[(((unsigned char)((((int)(P)) + (3)))) + (7))]) == (1))) goto L_0289;
#line 3104 "regression-compile-tmp/imp918s.imp"
goto U_1030;
#line 3104 "regression-compile-tmp/imp918s.imp"
L_0289:;
                                                                //   3105           COPY TAG(A(P+4))
#line 3105 "regression-compile-tmp/imp918s.imp"
COPYTAG(A[(((unsigned char)((((int)(P)) + (4)))) + (7))]);
                                                                //   3106           %IF PTYPE=SNPT %THEN PTYPE=TSNAME(K) %AND UNPACK
#line 3106 "regression-compile-tmp/imp918s.imp"
if (((PTYPE) != (10006))) goto L_028a;
#line 3106 "regression-compile-tmp/imp918s.imp"
PTYPE = TSNAME[K];
#line 3106 "regression-compile-tmp/imp918s.imp"
UNPACK();
#line 3106 "regression-compile-tmp/imp918s.imp"
L_028a:;
                                                                //   3107           -> NORMAL %IF ROUT#0 ; ! BEWARE OF MAP=FN
#line 3107 "regression-compile-tmp/imp918s.imp"
if (((ROUT) == (0))) goto L_028b;
#line 3107 "regression-compile-tmp/imp918s.imp"
goto U_1030;
#line 3107 "regression-compile-tmp/imp918s.imp"
L_028b:;
                                                                //   3108           -> NORMAL %IF CHECKS=1 %AND(ARR#0 %OR A(P+5)=1)
#line 3108 "regression-compile-tmp/imp918s.imp"
if (((CHECKS) != (1))) goto L_028c;
#line 3108 "regression-compile-tmp/imp918s.imp"
if (((ARR) != (0))) goto L_028d;
#line 3108 "regression-compile-tmp/imp918s.imp"
if (((A[(((unsigned char)((((int)(P)) + (5)))) + (7))]) != (1))) goto L_028c;
#line 3108 "regression-compile-tmp/imp918s.imp"
L_028d:;
#line 3108 "regression-compile-tmp/imp918s.imp"
goto U_1030;
#line 3108 "regression-compile-tmp/imp918s.imp"
L_028c:;
                                                                //   3109  SIMPLE:  P=P+3
#line 3109 "regression-compile-tmp/imp918s.imp"
U_1031:;
#line 3109 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (3));
                                                                //   3110           %IF MODE=0 %THEN REG=-2
#line 3110 "regression-compile-tmp/imp918s.imp"
if (((MODE) != (0))) goto L_028e;
#line 3110 "regression-compile-tmp/imp918s.imp"
REG = (-2);
#line 3110 "regression-compile-tmp/imp918s.imp"
L_028e:;
                                                                //   3111           ERR=STROP(REG)
#line 3111 "regression-compile-tmp/imp918s.imp"
ERR = STROP(REG);
                                                                //   3112           -> ERROR %UNLESS ERR=0
#line 3112 "regression-compile-tmp/imp918s.imp"
if (((ERR) == (0))) goto L_028f;
#line 3112 "regression-compile-tmp/imp918s.imp"
goto U_1032;
#line 3112 "regression-compile-tmp/imp918s.imp"
L_028f:;
                                                                //   3113           VALUE=0
#line 3113 "regression-compile-tmp/imp918s.imp"
VALUE = 0;
                                                                //   3114           P=P+1; NEST=0; ->Label99
#line 3114 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
#line 3114 "regression-compile-tmp/imp918s.imp"
NEST = 0;
#line 3114 "regression-compile-tmp/imp918s.imp"
goto U_101d;
                                                                //   3115  ERROR:   FAULT(ERR,0)
#line 3115 "regression-compile-tmp/imp918s.imp"
U_1032:;
#line 3115 "regression-compile-tmp/imp918s.imp"
FAULT(ERR, 0);
                                                                //   3116           REGISTER(LENREG)=0
#line 3116 "regression-compile-tmp/imp918s.imp"
REGISTER[LENREG] = 0;
                                                                //   3117           BASE=11; DISP=0
#line 3117 "regression-compile-tmp/imp918s.imp"
BASE = 11;
#line 3117 "regression-compile-tmp/imp918s.imp"
DISP = 0;
                                                                //   3118           VALUE=0
#line 3118 "regression-compile-tmp/imp918s.imp"
VALUE = 0;
                                                                //   3119           P=PP; SKIP EXP
#line 3119 "regression-compile-tmp/imp918s.imp"
P = PP;
#line 3119 "regression-compile-tmp/imp918s.imp"
SKIPEXP();
                                                                //   3120           ->Label99
#line 3120 "regression-compile-tmp/imp918s.imp"
goto U_101d;
                                                                //   3121  NORMAL:  PUSH(SHEAD,1<<16!9,-2)
#line 3121 "regression-compile-tmp/imp918s.imp"
U_1030:;
#line 3121 "regression-compile-tmp/imp918s.imp"
PUSH(&SHEAD, ((((1) << (16))) | (9)), (-2));
                                                                //   3122           OP==RECORD(ADDR(ASLIST(SHEAD)));!RESULT DESCRIPTOR FOR LENREG
#line 3122 "regression-compile-tmp/imp918s.imp"
OP =  (RD *) _imp_RECORD(_imp_ADDR(&ASLIST[SHEAD]));
                                                                //   3123           CLEN=0; P=P+3;                ! LENGTH OF CONSTANT PART
#line 3123 "regression-compile-tmp/imp918s.imp"
CLEN = 0;
#line 3123 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (3));
                                                                //   3124           WKBASE=RBASE
#line 3124 "regression-compile-tmp/imp918s.imp"
WKBASE = RBASE;
                                                                //   3125           GET WSP(WKAREA,256);          ! GET NEXT OPERAND
#line 3125 "regression-compile-tmp/imp918s.imp"
GETWSP(&WKAREA, 256);
                                                                //   3126  NEXT:    STRINGL=0
#line 3126 "regression-compile-tmp/imp918s.imp"
U_101e:;
#line 3126 "regression-compile-tmp/imp918s.imp"
STRINGL = 0;
                                                                //   3127           ERR=STROP(-2);                ! GET NEXT OPERAND
#line 3127 "regression-compile-tmp/imp918s.imp"
ERR = STROP((-2));
                                                                //   3128           -> ERROR %UNLESS ERR=0
#line 3128 "regression-compile-tmp/imp918s.imp"
if (((ERR) == (0))) goto L_0290;
#line 3128 "regression-compile-tmp/imp918s.imp"
goto U_1032;
#line 3128 "regression-compile-tmp/imp918s.imp"
L_0290:;
                                                                //   3129           REGISTER(BASE)=2 %IF REGISTER(BASE)=0
#line 3129 "regression-compile-tmp/imp918s.imp"
if (((REGISTER[BASE]) != (0))) goto L_0291;
#line 3129 "regression-compile-tmp/imp918s.imp"
REGISTER[BASE] = 2;
#line 3129 "regression-compile-tmp/imp918s.imp"
L_0291:;
                                                                //   3130           %IF LENREG>0 %THEN %START
#line 3130 "regression-compile-tmp/imp918s.imp"
if (((LENREG) <= (0))) goto L_0292;
                                                                //   3131              %IF OP_D>0 %THEN %START;   ! LENREG STORED BY RT CALL
#line 3131 "regression-compile-tmp/imp918s.imp"
if (((OP->D) <= (0))) goto L_0293;
                                                                //   3132                 DUMP(2,-2,OP_D,0,OP_XB);! SO RELOAD IT
#line 3132 "regression-compile-tmp/imp918s.imp"
DUMP(2, (-2), OP->D, 0, OP->XB);
                                                                //   3133                 LENREG=NEST
#line 3133 "regression-compile-tmp/imp918s.imp"
LENREG = NEST;
                                                                //   3134                 OP_XB=LENREG;OP_D=-2;   ! AND RESET DESCRIPTOR
#line 3134 "regression-compile-tmp/imp918s.imp"
OP->XB = LENREG;
#line 3134 "regression-compile-tmp/imp918s.imp"
OP->D = (-2);
                                                                //   3135                 REGISTER(LENREG)=1
#line 3135 "regression-compile-tmp/imp918s.imp"
REGISTER[LENREG] = 1;
                                                                //   3136                 SET USE(LENREG,1,ADDR(ASLIST(SHEAD)))
#line 3136 "regression-compile-tmp/imp918s.imp"
SETUSE(LENREG, 1, _imp_ADDR(&ASLIST[SHEAD]));
                                                                //   3137              %FINISH
#line 3137 "regression-compile-tmp/imp918s.imp"
L_0293:;
                                                                //   3138              DUMP(0,-2,0,RBASE,LENREG); ! LA   O(RBASE,LENREG)
#line 3138 "regression-compile-tmp/imp918s.imp"
DUMP(0, (-2), 0, RBASE, LENREG);
                                                                //   3139              WKBASE=NEST; FORGET(WKBASE)
#line 3139 "regression-compile-tmp/imp918s.imp"
WKBASE = NEST;
#line 3139 "regression-compile-tmp/imp918s.imp"
FORGET(WKBASE);
                                                                //   3140           %FINISH
#line 3140 "regression-compile-tmp/imp918s.imp"
L_0292:;
                                                                //   3141           REGISTER(BASE)=0 %IF REGISTER(BASE)=2
#line 3141 "regression-compile-tmp/imp918s.imp"
if (((REGISTER[BASE]) != (2))) goto L_0294;
#line 3141 "regression-compile-tmp/imp918s.imp"
REGISTER[BASE] = 0;
#line 3141 "regression-compile-tmp/imp918s.imp"
L_0294:;
                                                                //   3142           STRINGOP(2,STRINGL,WKBASE,WKAREA+CLEN+1,BASE,DISP,-1,255,-2)
#line 3142 "regression-compile-tmp/imp918s.imp"
STRINGOP(2, STRINGL, WKBASE, (((int)((((int)(WKAREA)) + (CLEN)))) + (1)), BASE, DISP, (-1), 255, (-2));
                                                                //   3143  !
                                                                //   3144  ! STRINGOP MOVES STRING INTO WORK AREA. IF LENGTH UNKNOWN THEN NEST
                                                                //   3145  ! IS SET TO THE REGISTER CONTAINING THE LENGTH OF THE STRING
                                                                //   3146  !
                                                                //   3147           %IF LENREG>0 %THEN %START;    ! REGISTER SET UP
#line 3147 "regression-compile-tmp/imp918s.imp"
if (((LENREG) <= (0))) goto L_0295;
                                                                //   3148              %IF STRINGL>0 %THEN %START;! DESCRIPTOR WAS A CONSTANT
#line 3148 "regression-compile-tmp/imp918s.imp"
if (((STRINGL) <= (0))) goto L_0296;
                                                                //   3149                 PRX(X'41',LENREG,LENREG,0,STRINGL);! LA LENREG,STRING(LENREG)
#line 3149 "regression-compile-tmp/imp918s.imp"
PRX(65, LENREG, LENREG, 0, STRINGL);
                                                                //   3150              %FINISH %ELSE %START
#line 3150 "regression-compile-tmp/imp918s.imp"
goto L_0297;
#line 3150 "regression-compile-tmp/imp918s.imp"
L_0296:;
                                                                //   3151                 PRR(X'1A',LENREG,NEST); ! AR LENREG,NEST
#line 3151 "regression-compile-tmp/imp918s.imp"
PRR(26, LENREG, NEST);
                                                                //   3152              %FINISH
#line 3152 "regression-compile-tmp/imp918s.imp"
L_0297:;
                                                                //   3153           %FINISH %ELSE %START;         ! NOW SET LENREG
#line 3153 "regression-compile-tmp/imp918s.imp"
goto L_0298;
#line 3153 "regression-compile-tmp/imp918s.imp"
L_0295:;
                                                                //   3154              %IF STRINGL=0 %THEN %START
#line 3154 "regression-compile-tmp/imp918s.imp"
if (((STRINGL) != (0))) goto L_0299;
                                                                //   3155                 LENREG=NEST;            ! USE ONE SET BY STRINGOP
#line 3155 "regression-compile-tmp/imp918s.imp"
LENREG = NEST;
                                                                //   3156                 REGISTER(LENREG)=1;     ! CLAIM IT
#line 3156 "regression-compile-tmp/imp918s.imp"
REGISTER[LENREG] = 1;
                                                                //   3157                 SET USE(LENREG,1,ADDR(ASLIST(SHEAD)));! PROTECT IT
#line 3157 "regression-compile-tmp/imp918s.imp"
SETUSE(LENREG, 1, _imp_ADDR(&ASLIST[SHEAD]));
                                                                //   3158                 OP_XB=LENREG;           ! AND UPDATE RESULT DESCRIPTOR
#line 3158 "regression-compile-tmp/imp918s.imp"
OP->XB = LENREG;
                                                                //   3159                 PRX(X'41',LENREG,LENREG,0,CLEN) %UNLESS CLEN=0
#line 3159 "regression-compile-tmp/imp918s.imp"
if (((CLEN) == (0))) goto L_029a;
#line 3159 "regression-compile-tmp/imp918s.imp"
PRX(65, LENREG, LENREG, 0, CLEN);
#line 3159 "regression-compile-tmp/imp918s.imp"
L_029a:;
                                                                //   3160                 CLEN=0
#line 3160 "regression-compile-tmp/imp918s.imp"
CLEN = 0;
                                                                //   3161              %FINISH %ELSE CLEN=CLEN+STRINGL
#line 3161 "regression-compile-tmp/imp918s.imp"
goto L_029b;
#line 3161 "regression-compile-tmp/imp918s.imp"
L_0299:;
#line 3161 "regression-compile-tmp/imp918s.imp"
CLEN = (((int)(CLEN)) + (STRINGL));
#line 3161 "regression-compile-tmp/imp918s.imp"
L_029b:;
                                                                //   3162           %FINISH
#line 3162 "regression-compile-tmp/imp918s.imp"
L_0298:;
                                                                //   3163           %IF A(P)=2 %THEN -> TIDY;     ! NO MORE OPERATIONS
#line 3163 "regression-compile-tmp/imp918s.imp"
if (((A[((P) + ((int)(7)))]) != (2))) goto L_029c;
#line 3163 "regression-compile-tmp/imp918s.imp"
goto U_101f;
#line 3163 "regression-compile-tmp/imp918s.imp"
L_029c:;
                                                                //   3164           ERR=72; -> ERROR %UNLESS A(P+1)=12; ! CONCATENATE
#line 3164 "regression-compile-tmp/imp918s.imp"
ERR = 72;
#line 3164 "regression-compile-tmp/imp918s.imp"
if (((A[(((unsigned char)((((int)(P)) + (1)))) + (7))]) == (12))) goto L_029d;
#line 3164 "regression-compile-tmp/imp918s.imp"
goto U_1032;
#line 3164 "regression-compile-tmp/imp918s.imp"
L_029d:;
                                                                //   3165           P=P+2; -> NEXT
#line 3165 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (2));
#line 3165 "regression-compile-tmp/imp918s.imp"
goto U_101e;
                                                                //   3166  TIDY:                                  ! FINISH OFF
#line 3166 "regression-compile-tmp/imp918s.imp"
U_101f:;
                                                                //   3167           VALUE=WKAREA
#line 3167 "regression-compile-tmp/imp918s.imp"
VALUE = WKAREA;
                                                                //   3168           %IF LENREG=0 %THEN %START
#line 3168 "regression-compile-tmp/imp918s.imp"
if (((LENREG) != (0))) goto L_029e;
                                                                //   3169              DUMPSI(X'92',CLEN,RBASE,WKAREA); ! MAX LENGTH KNOWN
#line 3169 "regression-compile-tmp/imp918s.imp"
DUMPSI(146, CLEN, RBASE, WKAREA);
                                                                //   3170              STRINGL=CLEN; NEST=0
#line 3170 "regression-compile-tmp/imp918s.imp"
STRINGL = CLEN;
#line 3170 "regression-compile-tmp/imp918s.imp"
NEST = 0;
                                                                //   3171           %FINISH %ELSE %START
#line 3171 "regression-compile-tmp/imp918s.imp"
goto L_029f;
#line 3171 "regression-compile-tmp/imp918s.imp"
L_029e:;
                                                                //   3172              DUMP(X'42',LENREG,WKAREA,0,RBASE); ! MAX LENGTH NOT KNOWN
#line 3172 "regression-compile-tmp/imp918s.imp"
DUMP(66, LENREG, WKAREA, 0, RBASE);
                                                                //   3173              PREC=1; TYPE=1;            ! FOR CHECK CAPACITY
#line 3173 "regression-compile-tmp/imp918s.imp"
PREC = 1;
#line 3173 "regression-compile-tmp/imp918s.imp"
TYPE = 1;
                                                                //   3174              %IF CHECKSP=1 %THEN CHECK CAPACITY(LENREG,WKAREA,0,RBASE)
#line 3174 "regression-compile-tmp/imp918s.imp"
if (((CHECKSP) != (1))) goto L_02a0;
#line 3174 "regression-compile-tmp/imp918s.imp"
CHECKCAPACITY(LENREG, WKAREA, 0, RBASE);
#line 3174 "regression-compile-tmp/imp918s.imp"
L_02a0:;
                                                                //   3175              REGISTER(LENREG)=0;        ! FREE THE REGISTER
#line 3175 "regression-compile-tmp/imp918s.imp"
REGISTER[LENREG] = 0;
                                                                //   3176              STRINGL=0;                 ! LENGTH UNKNOWN
#line 3176 "regression-compile-tmp/imp918s.imp"
STRINGL = 0;
                                                                //   3177           %FINISH
#line 3177 "regression-compile-tmp/imp918s.imp"
L_029f:;
                                                                //   3178           P=P+1;                        ! PAST REST OF EXPRN
#line 3178 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
                                                                //   3179           RETURN WSP(WKAREA,256) %IF KEEPWA=0
#line 3179 "regression-compile-tmp/imp918s.imp"
if (((KEEPWA) != (0))) goto L_02a1;
#line 3179 "regression-compile-tmp/imp918s.imp"
RETURNWSP(WKAREA, 256);
#line 3179 "regression-compile-tmp/imp918s.imp"
L_02a1:;
                                                                //   3180           %IF MODE=0 %THEN %START
#line 3180 "regression-compile-tmp/imp918s.imp"
if (((MODE) != (0))) goto L_02a2;
                                                                //   3181              BASE=RBASE; DISP=WKAREA
#line 3181 "regression-compile-tmp/imp918s.imp"
BASE = RBASE;
#line 3181 "regression-compile-tmp/imp918s.imp"
DISP = WKAREA;
                                                                //   3182           %FINISH %ELSE %START
#line 3182 "regression-compile-tmp/imp918s.imp"
goto L_02a3;
#line 3182 "regression-compile-tmp/imp918s.imp"
L_02a2:;
                                                                //   3183              DUMP(0,REG,WKAREA,0,RBASE)
#line 3183 "regression-compile-tmp/imp918s.imp"
DUMP(0, REG, WKAREA, 0, RBASE);
                                                                //   3184              BASE=REG; DISP=0
#line 3184 "regression-compile-tmp/imp918s.imp"
BASE = REG;
#line 3184 "regression-compile-tmp/imp918s.imp"
DISP = 0;
                                                                //   3185           %FINISH
#line 3185 "regression-compile-tmp/imp918s.imp"
L_02a3:;
                                                                //   3186           INDEX=0
#line 3186 "regression-compile-tmp/imp918s.imp"
INDEX = 0;
                                                                //   3187           CLEAR LIST(SHEAD)
#line 3187 "regression-compile-tmp/imp918s.imp"
CLEARLIST(&SHEAD);
                                                                //   3188           CCSTATE=-1
#line 3188 "regression-compile-tmp/imp918s.imp"
CCSTATE = (-1);
                                                                //   3189           NEST=LENREG; ->Label99
#line 3189 "regression-compile-tmp/imp918s.imp"
NEST = LENREG;
#line 3189 "regression-compile-tmp/imp918s.imp"
goto U_101d;
                                                                //   3190           %INTEGERFN STROP(%INTEGER REG)
#line 3190 "regression-compile-tmp/imp918s.imp"
int STROP( int REG )
#line 3190 "regression-compile-tmp/imp918s.imp"
{
                                                                //   3191  !***********************************************************************
                                                                //   3192  !*       DEALS WITH OPERAND FOR CONCATENATION. RETURN RESULT=0 FOR     *
                                                                //   3193  !*       VALID OPERAND OTHERWISE AN ERROR NUMBER.                      *
                                                                //   3194  !***********************************************************************
                                                                //   3195           %BYTEINTEGER CTYPE
#line 3195 "regression-compile-tmp/imp918s.imp"
unsigned char CTYPE;
                                                                //   3196           %INTEGER VAL,MODE,REGMODE
#line 3196 "regression-compile-tmp/imp918s.imp"
int VAL;
#line 3196 "regression-compile-tmp/imp918s.imp"
int MODE;
#line 3196 "regression-compile-tmp/imp918s.imp"
int REGMODE;
                                                                //   3197           %IF CHECKSP#0 %THEN REGMODE=SAFE %ELSE REGMODE=ADDREG
#line 3197 "regression-compile-tmp/imp918s.imp"
if (((CHECKSP) == (0))) goto L_02a4;
#line 3197 "regression-compile-tmp/imp918s.imp"
REGMODE = (-61948);
#line 3197 "regression-compile-tmp/imp918s.imp"
goto L_02a5;
#line 3197 "regression-compile-tmp/imp918s.imp"
L_02a4:;
#line 3197 "regression-compile-tmp/imp918s.imp"
REGMODE = (-61951);
#line 3197 "regression-compile-tmp/imp918s.imp"
L_02a5:;
                                                                //   3198           MODE=A(P);                    ! ALTERNATIVE OF OPERAND
#line 3198 "regression-compile-tmp/imp918s.imp"
MODE = A[((P) + ((int)(7)))];
                                                                //   3199           %RESULT=75 %IF MODE>2
#line 3199 "regression-compile-tmp/imp918s.imp"
if (((MODE) <= (2))) goto L_02a6;
#line 3199 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return 75;
#line 3199 "regression-compile-tmp/imp918s.imp"
L_02a6:;
                                                                //   3200           %IF MODE#1 %THEN %START
#line 3200 "regression-compile-tmp/imp918s.imp"
if (((MODE) == (1))) goto L_02a7;
                                                                //   3201              CTYPE=A(P+1)&7;           ! GET CONST TYPE & LOSE AMCK FLAGS
#line 3201 "regression-compile-tmp/imp918s.imp"
CTYPE = ((A[(((unsigned char)((((int)(P)) + (1)))) + (7))]) & (7));
                                                                //   3202              %IF CTYPE=5 %THEN %START
#line 3202 "regression-compile-tmp/imp918s.imp"
if (((CTYPE) != (5))) goto L_02a8;
                                                                //   3203                 STRINGL=A(P+2); P=P+2
#line 3203 "regression-compile-tmp/imp918s.imp"
STRINGL = A[(((unsigned char)((((int)(P)) + (2)))) + (7))];
#line 3203 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (2));
                                                                //   3204                 %IF REG<0 %THEN FINDREG(REGMODE,BASE) %ELSE BASE=REG
#line 3204 "regression-compile-tmp/imp918s.imp"
if (((REG) >= (0))) goto L_02a9;
#line 3204 "regression-compile-tmp/imp918s.imp"
FINDREG(REGMODE, &BASE);
#line 3204 "regression-compile-tmp/imp918s.imp"
goto L_02aa;
#line 3204 "regression-compile-tmp/imp918s.imp"
L_02a9:;
#line 3204 "regression-compile-tmp/imp918s.imp"
BASE = REG;
#line 3204 "regression-compile-tmp/imp918s.imp"
L_02aa:;
                                                                //   3205                 TEXTOUT(BASE)
#line 3205 "regression-compile-tmp/imp918s.imp"
TEXTOUT(BASE);
                                                                //   3206                 %IF A(P)=1 %THEN %RESULT=72
#line 3206 "regression-compile-tmp/imp918s.imp"
if (((A[((P) + ((int)(7)))]) != (1))) goto L_02ab;
#line 3206 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return 72;
#line 3206 "regression-compile-tmp/imp918s.imp"
L_02ab:;
                                                                //   3207                 P=P+1; DISP=0
#line 3207 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
#line 3207 "regression-compile-tmp/imp918s.imp"
DISP = 0;
                                                                //   3208              %FINISH %ELSE %START
#line 3208 "regression-compile-tmp/imp918s.imp"
goto L_02ac;
#line 3208 "regression-compile-tmp/imp918s.imp"
L_02a8:;
                                                                //   3209                 FROM AR4(P+2,VAL)
#line 3209 "regression-compile-tmp/imp918s.imp"
FROMAR4((((int)(P)) + (2)), &VAL);
                                                                //   3210                 %RESULT=72 %UNLESS CTYPE=1 %AND 0<=VAL<127 %AND A(P+4)=2
#line 3210 "regression-compile-tmp/imp918s.imp"
if (((CTYPE) != (1))) goto L_02ad;
#line 3210 "regression-compile-tmp/imp918s.imp"
if ((((0) > (VAL))) || (((VAL) >= (127)))) goto L_02ad;
#line 3210 "regression-compile-tmp/imp918s.imp"
if (((A[(((unsigned char)((((int)(P)) + (4)))) + (7))]) == (2))) goto L_02ae;
#line 3210 "regression-compile-tmp/imp918s.imp"
L_02ad:;
#line 3210 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return 72;
#line 3210 "regression-compile-tmp/imp918s.imp"
L_02ae:;
                                                                //   3211                 P=P+5
#line 3211 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (5));
                                                                //   3212                 %IF VAL=0 %THEN %START
#line 3212 "regression-compile-tmp/imp918s.imp"
if (((VAL) != (0))) goto L_02af;
                                                                //   3213                    BASE=CODER; DISP=X'C0'
#line 3213 "regression-compile-tmp/imp918s.imp"
BASE = 12;
#line 3213 "regression-compile-tmp/imp918s.imp"
DISP = 192;
                                                                //   3214                 %FINISH %ELSE %START
#line 3214 "regression-compile-tmp/imp918s.imp"
goto L_02b0;
#line 3214 "regression-compile-tmp/imp918s.imp"
L_02af:;
                                                                //   3215                    VAL=VAL+256; STRINGL=1
#line 3215 "regression-compile-tmp/imp918s.imp"
VAL = (((int)(VAL)) + (256));
#line 3215 "regression-compile-tmp/imp918s.imp"
STRINGL = 1;
                                                                //   3216                    STORE CONST(BASE,DISP,2,ADDR(VAL)+2)
#line 3216 "regression-compile-tmp/imp918s.imp"
STORECONST(&BASE, &DISP, 2, (((int)(_imp_ADDR(&VAL))) + (2)));
                                                                //   3217                 %FINISH
#line 3217 "regression-compile-tmp/imp918s.imp"
L_02b0:;
                                                                //   3218              %FINISH
#line 3218 "regression-compile-tmp/imp918s.imp"
L_02ac:;
                                                                //   3219              INDEX=0
#line 3219 "regression-compile-tmp/imp918s.imp"
INDEX = 0;
                                                                //   3220           %FINISH %ELSE %START
#line 3220 "regression-compile-tmp/imp918s.imp"
goto L_02b1;
#line 3220 "regression-compile-tmp/imp918s.imp"
L_02a7:;
                                                                //   3221              P=P+1; CNAME(5,REG)
#line 3221 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
#line 3221 "regression-compile-tmp/imp918s.imp"
CNAME(5, REG);
                                                                //   3222              STRINGL=0
#line 3222 "regression-compile-tmp/imp918s.imp"
STRINGL = 0;
                                                                //   3223              %RESULT=71 %IF TYPE#5
#line 3223 "regression-compile-tmp/imp918s.imp"
if (((TYPE) == (5))) goto L_02b2;
#line 3223 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return 71;
#line 3223 "regression-compile-tmp/imp918s.imp"
L_02b2:;
                                                                //   3224           %FINISH
#line 3224 "regression-compile-tmp/imp918s.imp"
L_02b1:;
                                                                //   3225           %IF REG>0 %OR INDEX>0 %OR BASE>4095 %THEN %START
#line 3225 "regression-compile-tmp/imp918s.imp"
if (((REG) > (0))) goto L_02b3;
#line 3225 "regression-compile-tmp/imp918s.imp"
if (((INDEX) > (0))) goto L_02b3;
#line 3225 "regression-compile-tmp/imp918s.imp"
if (((BASE) <= (4095))) goto L_02b4;
#line 3225 "regression-compile-tmp/imp918s.imp"
L_02b3:;
                                                                //   3226              DUMP(0,REG,DISP,INDEX,BASE)
#line 3226 "regression-compile-tmp/imp918s.imp"
DUMP(0, REG, DISP, INDEX, BASE);
                                                                //   3227              REG=NEST %IF REG<0
#line 3227 "regression-compile-tmp/imp918s.imp"
if (((REG) >= (0))) goto L_02b5;
#line 3227 "regression-compile-tmp/imp918s.imp"
REG = NEST;
#line 3227 "regression-compile-tmp/imp918s.imp"
L_02b5:;
                                                                //   3228              FORGET(REG)
#line 3228 "regression-compile-tmp/imp918s.imp"
FORGET(REG);
                                                                //   3229              BASE=REG; INDEX=0;DISP=0
#line 3229 "regression-compile-tmp/imp918s.imp"
BASE = REG;
#line 3229 "regression-compile-tmp/imp918s.imp"
INDEX = 0;
#line 3229 "regression-compile-tmp/imp918s.imp"
DISP = 0;
                                                                //   3230           %FINISH
#line 3230 "regression-compile-tmp/imp918s.imp"
L_02b4:;
                                                                //   3231           %IF MODE=1 %AND UNASS=1 %THEN %START
#line 3231 "regression-compile-tmp/imp918s.imp"
if (((MODE) != (1))) goto L_02b6;
#line 3231 "regression-compile-tmp/imp918s.imp"
if (((UNASS) != (1))) goto L_02b6;
                                                                //   3232              DUMPSS(X'D5',2,BASE,DISP,CODER,216);! CLC =X'8080'
#line 3232 "regression-compile-tmp/imp918s.imp"
DUMPSS(213, 2, BASE, DISP, 12, 216);
                                                                //   3233              PCONST(X'4780C028');                ! BE UNASS USED
#line 3233 "regression-compile-tmp/imp918s.imp"
PCONST(1199620136);
                                                                //   3234           %FINISH
#line 3234 "regression-compile-tmp/imp918s.imp"
L_02b6:;
                                                                //   3235           %RESULT=0
#line 3235 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return 0;
                                                                //   3236           %END;                         ! OF INTEGERFN STROP
#line 3236 "regression-compile-tmp/imp918s.imp"
} // End of block STROP at level 4
                                                                //   3237  Label99:      %END;                         ! OF ROUTINE CSTREXP
#line 3237 "regression-compile-tmp/imp918s.imp"
U_101d:;
#line 3237 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block CSTREXP at level 3
                                                                //   3238           %ROUTINE CRES (%INTEGER LAB)
#line 3238 "regression-compile-tmp/imp918s.imp"
void CRES( int LAB )
#line 3238 "regression-compile-tmp/imp918s.imp"
{
                                                                //   3239           {%SHORTROUTINE}
                                                                //   3240  !**********************************************************************
                                                                //   3241  !*       COMPILES A RESOLUTION E.G A->B.(C).D.(E).F AND JUMPS TO LAB   *
                                                                //   3242  !*       ON FAILURE. (LAB=0 FOR UNCONDITIONAL RESOLUTION TO PERM ON    *
                                                                //   3243  !*       FAILURE ).                                                    *
                                                                //   3244  !*       THE  METHOD IS TO SET UP A 4 WORD WORK AREA AS FOLLOWS:-      *
                                                                //   3245  !*       W1  POINTS TO LHS(A)                                          *
                                                                //   3246  !*       W2  HAS COUNT OF BYTES OF A USED IN PREVIOUS RESOLUTIONS      *
                                                                //   3247  !*       W3  PRIVATE SPACE FOR PERM                                    *
                                                                //   3248  !*       W4    STRING TO CONTAIN FRAGMENT (PASSED BY NAME)             *
                                                                //   3249  !*       PERM IS ENTERED WITH R1 POINTING TO C AND R2 TO W1 AND THE    *
                                                                //   3250  !*       SUBROUTINE TRIES TO PERFORM THE RESOLUYION AND SETS THE       *
                                                                //   3251  !*       CONDITION CODE =8 IF IT SUCCEEDS.                             *
                                                                //   3252  !*                                                                     *
                                                                //   3253  !*       ON ENTRY LHS IS DEFINED BY DISP,INDEX AND BASE.               *
                                                                //   3254  !*       P POINTS TO P(+') OF RHS DEFINED AS (+')(OPERAND)(RESTOFEXP)  *
                                                                //   3255  !*                                                                     *
                                                                //   3256  !$       THE ROUTINE IS COMPACT BUT DIFFICULT TO FOLLOW (OR ALTER)     *
                                                                //   3257  !*       THE TIME IN PERM IS LARGE SO IT IS NOT WORTHWHILE TO PERSUE   *
                                                                //   3258  !*       CODE EFFICIENCY TOO INDUSTRIOUSLY .                           *
                                                                //   3259  !**********************************************************************
                                                                //   3260           %INTEGER P1,P2,R1,R2,SEXPRN,W,LAST
#line 3260 "regression-compile-tmp/imp918s.imp"
int P1;
#line 3260 "regression-compile-tmp/imp918s.imp"
int P2;
#line 3260 "regression-compile-tmp/imp918s.imp"
int R1;
#line 3260 "regression-compile-tmp/imp918s.imp"
int R2;
#line 3260 "regression-compile-tmp/imp918s.imp"
int SEXPRN;
#line 3260 "regression-compile-tmp/imp918s.imp"
int W;
#line 3260 "regression-compile-tmp/imp918s.imp"
int LAST;
                                                                //   3261           LAST=0;                       ! =1 WHEN END OF EXPRNSN FOUND
#line 3261 "regression-compile-tmp/imp918s.imp"
LAST = 0;
                                                                //   3262           SEXPRN=0;                     ! RESOLUTION(BRKTD) EXPRESSNS
#line 3262 "regression-compile-tmp/imp918s.imp"
SEXPRN = 0;
                                                                //   3263           GET WSP(W,4);                 ! 4 WORD WORK AREA FOR W1-W4
#line 3263 "regression-compile-tmp/imp918s.imp"
GETWSP(&W, 4);
                                                                //   3264           P1=P; P=P+2
#line 3264 "regression-compile-tmp/imp918s.imp"
P1 = P;
#line 3264 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (2));
                                                                //   3265           ->Label1 %IF A(P)=4 %AND TYPE=5;   ! LHS MUST BE A STRING
#line 3265 "regression-compile-tmp/imp918s.imp"
if (((A[((P) + ((int)(7)))]) != (4))) goto L_02b7;
#line 3265 "regression-compile-tmp/imp918s.imp"
if (((TYPE) != (5))) goto L_02b7;
#line 3265 "regression-compile-tmp/imp918s.imp"
goto U_1033;
#line 3265 "regression-compile-tmp/imp918s.imp"
L_02b7:;
                                                                //   3266  ERROR:   P=P1; SKIP EXP
#line 3266 "regression-compile-tmp/imp918s.imp"
U_1016:;
#line 3266 "regression-compile-tmp/imp918s.imp"
P = P1;
#line 3266 "regression-compile-tmp/imp918s.imp"
SKIPEXP();
                                                                //   3267           FAULT(74,0); ->Label99
#line 3267 "regression-compile-tmp/imp918s.imp"
FAULT(74, 0);
#line 3267 "regression-compile-tmp/imp918s.imp"
goto U_1017;
                                                                //   3268  Label1:       FIND SEQ(R1,R2);              ! 2 ADJACENT REGISTERS
#line 3268 "regression-compile-tmp/imp918s.imp"
U_1033:;
#line 3268 "regression-compile-tmp/imp918s.imp"
FINDSEQ(&R1, &R2);
                                                                //   3269           DUMP(0,R1,DISP,INDEX,BASE);   ! ADDR LHS
#line 3269 "regression-compile-tmp/imp918s.imp"
DUMP(0, R1, DISP, INDEX, BASE);
                                                                //   3270           REGISTER(R1)=1
#line 3270 "regression-compile-tmp/imp918s.imp"
REGISTER[R1] = 1;
                                                                //   3271           PRR(X'1B',R2,R2);             ! ZERO R2
#line 3271 "regression-compile-tmp/imp918s.imp"
PRR(27, R2, R2);
                                                                //   3272           REGISTER(R2)=1
#line 3272 "regression-compile-tmp/imp918s.imp"
REGISTER[R2] = 1;
                                                                //   3273           DUMPM(X'90',R1,R2,RBASE,W);   ! SET W1 & W2
#line 3273 "regression-compile-tmp/imp918s.imp"
DUMPM(144, R1, R2, RBASE, W);
                                                                //   3274           FREE AND FORGET(R1)
#line 3274 "regression-compile-tmp/imp918s.imp"
FREEANDFORGET(R1);
                                                                //   3275           FREE AND FORGET(R2)
#line 3275 "regression-compile-tmp/imp918s.imp"
FREEANDFORGET(R2);
                                                                //   3276  RES:     P=P+1;                        ! TO P(OPERAND)
#line 3276 "regression-compile-tmp/imp918s.imp"
U_1018:;
#line 3276 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
                                                                //   3277           P2=-1;                        ! B OMITTED (>0 IF B GIVEN)
#line 3277 "regression-compile-tmp/imp918s.imp"
P2 = (-1);
                                                                //   3278  !
                                                                //   3279  ! THE CODING HERAFTER IS OBSCURE. NOTE HOWEVER:-
                                                                //   3280  !        1)  IF B OMITTED THEN 0(WSPR) IS PASSED AS ADDR(B)
                                                                //   3281  !        2)  THE LAST STRING F IS TREATED AS B OR D BUT PERM29 IS
                                                                //   3282  !              USED INSTEAD OF PERM 28
                                                                //   3283  !
                                                                //   3284           %IF A(P)=3 %THEN NEST=WSPR %ELSE %START;! B OMITTED
#line 3284 "regression-compile-tmp/imp918s.imp"
if (((A[((P) + ((int)(7)))]) != (3))) goto L_02b8;
#line 3284 "regression-compile-tmp/imp918s.imp"
NEST = 11;
#line 3284 "regression-compile-tmp/imp918s.imp"
goto L_02b9;
#line 3284 "regression-compile-tmp/imp918s.imp"
L_02b8:;
                                                                //   3285              ->ERROR %UNLESS A(P)=1;       ! P(OPERAND)=NAME
#line 3285 "regression-compile-tmp/imp918s.imp"
if (((A[((P) + ((int)(7)))]) == (1))) goto L_02ba;
#line 3285 "regression-compile-tmp/imp918s.imp"
goto U_1016;
#line 3285 "regression-compile-tmp/imp918s.imp"
L_02ba:;
                                                                //   3286              P=P+1; P2=P
#line 3286 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
#line 3286 "regression-compile-tmp/imp918s.imp"
P2 = P;
                                                                //   3287  !
                                                                //   3288  !        NORMALLY CNAME(3,REG) USED TO PASS B BY NAME TO PERM
                                                                //   3289  !        IN OPTIMISING DONT WASTE TIME SETTING FLAGS BYTE INTO ADDRESS
                                                                //   3290  !        SO USE CNAME(4,REG). PERM SKIPS CHECK IF FLAGS MISSING
                                                                //   3291  !
                                                                //   3292              CNAME(4-CHECKSP,-2)
#line 3292 "regression-compile-tmp/imp918s.imp"
CNAME(((4) - ((int)(CHECKSP))), (-2));
                                                                //   3293              ->ERROR %UNLESS TYPE=5
#line 3293 "regression-compile-tmp/imp918s.imp"
if (((TYPE) == (5))) goto L_02bb;
#line 3293 "regression-compile-tmp/imp918s.imp"
goto U_1016;
#line 3293 "regression-compile-tmp/imp918s.imp"
L_02bb:;
                                                                //   3294              %IF A(P)=2 %AND SEXPRN>0 %THEN LAST=1 %ELSE %START
#line 3294 "regression-compile-tmp/imp918s.imp"
if (((A[((P) + ((int)(7)))]) != (2))) goto L_02bc;
#line 3294 "regression-compile-tmp/imp918s.imp"
if (((SEXPRN) <= (0))) goto L_02bc;
#line 3294 "regression-compile-tmp/imp918s.imp"
LAST = 1;
#line 3294 "regression-compile-tmp/imp918s.imp"
goto L_02bd;
#line 3294 "regression-compile-tmp/imp918s.imp"
L_02bc:;
                                                                //   3295                 ->ERROR %UNLESS A(P+1)=12;! DOT OPERATOR
#line 3295 "regression-compile-tmp/imp918s.imp"
if (((A[(((unsigned char)((((int)(P)) + (1)))) + (7))]) == (12))) goto L_02be;
#line 3295 "regression-compile-tmp/imp918s.imp"
goto U_1016;
#line 3295 "regression-compile-tmp/imp918s.imp"
L_02be:;
                                                                //   3296                 P=P+2
#line 3296 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (2));
                                                                //   3297              %FINISH
#line 3297 "regression-compile-tmp/imp918s.imp"
L_02bd:;
                                                                //   3298           %FINISH
#line 3298 "regression-compile-tmp/imp918s.imp"
L_02b9:;
                                                                //   3299           REGISTER(NEST)=1 %IF REGISTER(NEST)=0;! IN CASE 4K MULTIPLE REQD
#line 3299 "regression-compile-tmp/imp918s.imp"
if (((REGISTER[NEST]) != (0))) goto L_02bf;
#line 3299 "regression-compile-tmp/imp918s.imp"
REGISTER[NEST] = 1;
#line 3299 "regression-compile-tmp/imp918s.imp"
L_02bf:;
                                                                //   3300           DUMP(X'50',NEST,W+12,0,RBASE);! B (OR DUMMY) TO W4
#line 3300 "regression-compile-tmp/imp918s.imp"
DUMP(80, NEST, (((int)(W)) + (12)), 0, RBASE);
                                                                //   3301           REGISTER(NEST)=0 %IF REGISTER(NEST)>0; ! NB NEST CAN BE R11 HERE!
#line 3301 "regression-compile-tmp/imp918s.imp"
if (((REGISTER[NEST]) <= (0))) goto L_02c0;
#line 3301 "regression-compile-tmp/imp918s.imp"
REGISTER[NEST] = 0;
#line 3301 "regression-compile-tmp/imp918s.imp"
L_02c0:;
                                                                //   3302           %IF LAST=0 %THEN %START
#line 3302 "regression-compile-tmp/imp918s.imp"
if (((LAST) != (0))) goto L_02c1;
                                                                //   3303              ->ERROR %UNLESS A(P)=3;    ! P(OPERAND)='('(EXPR)')'
#line 3303 "regression-compile-tmp/imp918s.imp"
if (((A[((P) + ((int)(7)))]) == (3))) goto L_02c2;
#line 3303 "regression-compile-tmp/imp918s.imp"
goto U_1016;
#line 3303 "regression-compile-tmp/imp918s.imp"
L_02c2:;
                                                                //   3304              SEXPRN=SEXPRN+1; P=P+1
#line 3304 "regression-compile-tmp/imp918s.imp"
SEXPRN = (((int)(SEXPRN)) + (1));
#line 3304 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
                                                                //   3305              CSTREXP(1,1);              ! TO REGISTER 1
#line 3305 "regression-compile-tmp/imp918s.imp"
CSTREXP(1, 1);
                                                                //   3306           %FINISH
#line 3306 "regression-compile-tmp/imp918s.imp"
L_02c1:;
                                                                //   3307  !
                                                                //   3308           REGISTER(1)=1
#line 3308 "regression-compile-tmp/imp918s.imp"
REGISTER[1] = 1;
                                                                //   3309           DUMP(0,2,W,0,RBASE) %UNLESS GRUSE(2)=16 %AND GRINF(2)=W
#line 3309 "regression-compile-tmp/imp918s.imp"
if (((GRUSE[2]) != (16))) goto L_02c3;
#line 3309 "regression-compile-tmp/imp918s.imp"
if (((GRINF[2]) == (W))) goto L_02c4;
#line 3309 "regression-compile-tmp/imp918s.imp"
L_02c3:;
#line 3309 "regression-compile-tmp/imp918s.imp"
DUMP(0, 2, W, 0, RBASE);
#line 3309 "regression-compile-tmp/imp918s.imp"
L_02c4:;
                                                                //   3310           REGISTER(1)=0
#line 3310 "regression-compile-tmp/imp918s.imp"
REGISTER[1] = 0;
                                                                //   3311           PPJ(LAST+28);                 ! 28 TO RESOLVE 29 TO FINISH OFF
#line 3311 "regression-compile-tmp/imp918s.imp"
PPJ((((int)(LAST)) + (28)));
                                                                //   3312           SET USE(2,16,W);              ! USE 16='HOLDS RESLN PARAM'
#line 3312 "regression-compile-tmp/imp918s.imp"
SETUSE(2, 16, W);
                                                                //   3313           -> END %IF LAST#0
#line 3313 "regression-compile-tmp/imp918s.imp"
if (((LAST) == (0))) goto L_02c5;
#line 3313 "regression-compile-tmp/imp918s.imp"
goto U_102e;
#line 3313 "regression-compile-tmp/imp918s.imp"
L_02c5:;
                                                                //   3314  FTEST:                                 ! DEAL WITH CC#8 IE RESLN FAILED
#line 3314 "regression-compile-tmp/imp918s.imp"
U_1030:;
                                                                //   3315           %IF LAB#0 %THEN ENTER JUMP(7,LAB,B'11') %ELSE %START
#line 3315 "regression-compile-tmp/imp918s.imp"
if (((LAB) == (0))) goto L_02c6;
#line 3315 "regression-compile-tmp/imp918s.imp"
ENTERJUMP(7, LAB, 3);
#line 3315 "regression-compile-tmp/imp918s.imp"
goto L_02c7;
#line 3315 "regression-compile-tmp/imp918s.imp"
L_02c6:;
                                                                //   3316              PCONST(X'4770C098')
#line 3316 "regression-compile-tmp/imp918s.imp"
PCONST(1198571672);
                                                                //   3317              CYC BITS=CYC BITS!4;       ! JUMP TO PERM BIT
#line 3317 "regression-compile-tmp/imp918s.imp"
CYCBITS = ((CYCBITS) | (4));
                                                                //   3318           %FINISH
#line 3318 "regression-compile-tmp/imp918s.imp"
L_02c7:;
                                                                //   3319  !
                                                                //   3320           %IF P2<0 %THEN %START;        ! B WAS OMIITED SO CHECK THAT
#line 3320 "regression-compile-tmp/imp918s.imp"
if (((P2) >= (0))) goto L_02c8;
                                                                //   3321           PSI(X'95',0,WSPR,0);          ! B WOULD HAVE BEEN NULL
#line 3321 "regression-compile-tmp/imp918s.imp"
PSI(149, 0, 11, 0);
                                                                //   3322           P2=1; ->FTEST; %FINISH
#line 3322 "regression-compile-tmp/imp918s.imp"
P2 = 1;
#line 3322 "regression-compile-tmp/imp918s.imp"
goto U_1030;
#line 3322 "regression-compile-tmp/imp918s.imp"
L_02c8:;
                                                                //   3323  !
                                                                //   3324           -> END %IF A(P)=2
#line 3324 "regression-compile-tmp/imp918s.imp"
if (((A[((P) + ((int)(7)))]) != (2))) goto L_02c9;
#line 3324 "regression-compile-tmp/imp918s.imp"
goto U_102e;
#line 3324 "regression-compile-tmp/imp918s.imp"
L_02c9:;
                                                                //   3325           ->ERROR %UNLESS A(P+1)=12
#line 3325 "regression-compile-tmp/imp918s.imp"
if (((A[(((unsigned char)((((int)(P)) + (1)))) + (7))]) == (12))) goto L_02ca;
#line 3325 "regression-compile-tmp/imp918s.imp"
goto U_1016;
#line 3325 "regression-compile-tmp/imp918s.imp"
L_02ca:;
                                                                //   3326           P=P+1; ->RES
#line 3326 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
#line 3326 "regression-compile-tmp/imp918s.imp"
goto U_1018;
                                                                //   3327  END:
#line 3327 "regression-compile-tmp/imp918s.imp"
U_102e:;
                                                                //   3328           P=P+1
#line 3328 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
                                                                //   3329  Label99:      %END
#line 3329 "regression-compile-tmp/imp918s.imp"
U_1017:;
#line 3329 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block CRES at level 3
                                                                //   3330           %ROUTINE CUCI
#line 3330 "regression-compile-tmp/imp918s.imp"
void CUCI( void )
#line 3330 "regression-compile-tmp/imp918s.imp"
{
                                                                //   3331           {%SHORTROUTINE}
                                                                //   3332  !***********************************************************************
                                                                //   3333  !*       COMPILE USERCODE INSTRUCTION. MOST WORK IS DONE BY HAIRY      *
                                                                //   3334  !*       BUILT-IN PHRASE IN COMPARE. SINCE ALMOST ANYTHING IS LEGAL    *
                                                                //   3335  !*       IN USERCODE THIS ROUTINE HAS ONLT TO ASSEMBLE AND PLANT THE   *
                                                                //   3336  !*       THE INSTRUCTION.                                              *
                                                                //   3337  !***********************************************************************
                                                                //   3338           %ROUTINESPEC DXB
#line 3338 "regression-compile-tmp/imp918s.imp"
auto void DXB( void );
                                                                //   3339           %ROUTINESPEC DLB
#line 3339 "regression-compile-tmp/imp918s.imp"
auto void DLB( void );
                                                                //   3340           %ROUTINESPEC DB
#line 3340 "regression-compile-tmp/imp918s.imp"
auto void DB( void );
                                                                //   3341           %ROUTINESPEC CUCS
#line 3341 "regression-compile-tmp/imp918s.imp"
auto void CUCS( void );
                                                                //   3342           %OWNINTEGER USING,AT
#line 3342 "regression-compile-tmp/imp918s.imp"
static int USING;
#line 3342 "regression-compile-tmp/imp918s.imp"
static int AT;
                                                                //   3343           %INTEGER Z,KK,X,OPCODE,REG,OPNUM
#line 3343 "regression-compile-tmp/imp918s.imp"
int Z;
#line 3343 "regression-compile-tmp/imp918s.imp"
int KK;
#line 3343 "regression-compile-tmp/imp918s.imp"
int X;
#line 3343 "regression-compile-tmp/imp918s.imp"
int OPCODE;
#line 3343 "regression-compile-tmp/imp918s.imp"
int REG;
#line 3343 "regression-compile-tmp/imp918s.imp"
int OPNUM;
                                                                //   3344           %SWITCH UCITYPE(1:6),OPTYPE(1:8)
#line 3344 "regression-compile-tmp/imp918s.imp"
static int sw7_UCITYPE_idx;
static const void * /*SWITCH*/ sw7_UCITYPE[6] = { &&sw7_UCITYPE_1, &&sw7_UCITYPE_2, &&sw7_UCITYPE_3, &&sw7_UCITYPE_4, &&sw7_UCITYPE_5, &&sw7_UCITYPE_6,  };
#line 3344 "regression-compile-tmp/imp918s.imp"
static int sw8_OPTYPE_idx;
static const void * /*SWITCH*/ sw8_OPTYPE[8] = { &&sw8_OPTYPE_1, &&sw8_OPTYPE_2, &&sw8_OPTYPE_3, &&sw8_OPTYPE_4, &&sw8_OPTYPE_5, &&sw8_OPTYPE_6, &&sw8_OPTYPE_7, &&sw8_OPTYPE_8,  };
                                                                //   3345           CCSTATE=-1
#line 3345 "regression-compile-tmp/imp918s.imp"
CCSTATE = (-1);
                                                                //   3346           FORGETM(8);                  ! ALL UC INSTRNS DANGEROUS
#line 3346 "regression-compile-tmp/imp918s.imp"
FORGETM(8);
                                                                //   3347           -> UCITYPE(A(P))
#line 3347 "regression-compile-tmp/imp918s.imp"
sw7_UCITYPE_idx = A[((P) + ((int)(7)))]; if ((1 <= sw7_UCITYPE_idx) && (sw7_UCITYPE_idx <= 6)) goto *(sw7_UCITYPE-1)[sw7_UCITYPE_idx];  /* Bounds=1:6 */ else {
   /*_imp_signal(8, 2, sw7_UCITYPE_idx);*/
   fprintf(stderr, "%%SWITCH index UCITYPE(%d) not in range 1:6 at %s:%d\n",
           sw7_UCITYPE_idx, (_imp_current_file != 0 ? _imp_current_file : __FILE__),
           (_imp_current_line != 0 ? _imp_current_line : __LINE__));
           exit(1);
}
                                                                //   3348  UCITYPE(1):                           ! **(N),(@')(NAME)(APP)
#line 3348 "regression-compile-tmp/imp918s.imp"
sw7_UCITYPE_1:;
                                                                //   3349           NEST=A(P+1); Z=A(P+2); P=P+3
#line 3349 "regression-compile-tmp/imp918s.imp"
NEST = A[(((unsigned char)((((int)(P)) + (1)))) + (7))];
#line 3349 "regression-compile-tmp/imp918s.imp"
Z = A[(((unsigned char)((((int)(P)) + (2)))) + (7))];
#line 3349 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (3));
                                                                //   3350           Z=4 %IF Z=1; CNAME(Z,NEST)
#line 3350 "regression-compile-tmp/imp918s.imp"
if (((Z) != (1))) goto L_02cb;
#line 3350 "regression-compile-tmp/imp918s.imp"
Z = 4;
#line 3350 "regression-compile-tmp/imp918s.imp"
L_02cb:;
#line 3350 "regression-compile-tmp/imp918s.imp"
CNAME(Z, NEST);
                                                                //   3351           ->Label99
#line 3351 "regression-compile-tmp/imp918s.imp"
goto U_1031;
                                                                //   3352  UCITYPE(2):                           ! *-> P<N> =JUMP TO PERM
#line 3352 "regression-compile-tmp/imp918s.imp"
sw7_UCITYPE_2:;
                                                                //   3353           PPJ(A(P+1)); ->Label99
#line 3353 "regression-compile-tmp/imp918s.imp"
PPJ(A[(((unsigned char)((((int)(P)) + (1)))) + (7))]);
#line 3353 "regression-compile-tmp/imp918s.imp"
goto U_1031;
                                                                //   3354  UCITYPE(4):                           ! *PUT_<CONST>
#line 3354 "regression-compile-tmp/imp918s.imp"
sw7_UCITYPE_4:;
                                                                //   3355           PLANT(A(P+3));               ! LEAST SIGNIFICANT 16 BITS ONLY
#line 3355 "regression-compile-tmp/imp918s.imp"
PLANT(A[(((unsigned char)((((int)(P)) + (3)))) + (7))]);
                                                                //   3356           P=P+4; ->Label99
#line 3356 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (4));
#line 3356 "regression-compile-tmp/imp918s.imp"
goto U_1031;
                                                                //   3357  UCITYPE(3):                           ! '*'<SETUCN>'_' <UCOP>
#line 3357 "regression-compile-tmp/imp918s.imp"
sw7_UCITYPE_3:;
                                                                //   3358           OPCODE=A(P+2); OPNUM=A(P+1)
#line 3358 "regression-compile-tmp/imp918s.imp"
OPCODE = A[(((unsigned char)((((int)(P)) + (2)))) + (7))];
#line 3358 "regression-compile-tmp/imp918s.imp"
OPNUM = A[(((unsigned char)((((int)(P)) + (1)))) + (7))];
                                                                //   3359           P=P+3; ->OPTYPE(OPNUM)
#line 3359 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (3));
#line 3359 "regression-compile-tmp/imp918s.imp"
sw8_OPTYPE_idx = OPNUM; if ((1 <= sw8_OPTYPE_idx) && (sw8_OPTYPE_idx <= 8)) goto *(sw8_OPTYPE-1)[sw8_OPTYPE_idx];  /* Bounds=1:8 */ else {
   /*_imp_signal(8, 2, sw8_OPTYPE_idx);*/
   fprintf(stderr, "%%SWITCH index OPTYPE(%d) not in range 1:8 at %s:%d\n",
           sw8_OPTYPE_idx, (_imp_current_file != 0 ? _imp_current_file : __FILE__),
           (_imp_current_line != 0 ? _imp_current_line : __LINE__));
           exit(1);
}
                                                                //   3360  UCITYPE(5):                           ! 'USING' '*,'<N>
#line 3360 "regression-compile-tmp/imp918s.imp"
sw7_UCITYPE_5:;
                                                                //   3361           Z=A(P+1)
#line 3361 "regression-compile-tmp/imp918s.imp"
Z = A[(((unsigned char)((((int)(P)) + (1)))) + (7))];
                                                                //   3362           %IF 1<=Z<=15 %THEN %START
#line 3362 "regression-compile-tmp/imp918s.imp"
if ((((1) > (Z))) || (((Z) > (15)))) goto L_02cc;
                                                                //   3363              USING=Z; AT=CA
#line 3363 "regression-compile-tmp/imp918s.imp"
USING = Z;
#line 3363 "regression-compile-tmp/imp918s.imp"
AT = CA;
                                                                //   3364           %FINISH %ELSE FAULT(33,0); ->Label99
#line 3364 "regression-compile-tmp/imp918s.imp"
goto L_02cd;
#line 3364 "regression-compile-tmp/imp918s.imp"
L_02cc:;
#line 3364 "regression-compile-tmp/imp918s.imp"
FAULT(33, 0);
#line 3364 "regression-compile-tmp/imp918s.imp"
L_02cd:;
#line 3364 "regression-compile-tmp/imp918s.imp"
goto U_1031;
                                                                //   3365  UCITYPE(6):                           ! 'DROP' <N>
#line 3365 "regression-compile-tmp/imp918s.imp"
sw7_UCITYPE_6:;
                                                                //   3366           Z=A(P+1)
#line 3366 "regression-compile-tmp/imp918s.imp"
Z = A[(((unsigned char)((((int)(P)) + (1)))) + (7))];
                                                                //   3367           %IF Z=USING %THEN %START
#line 3367 "regression-compile-tmp/imp918s.imp"
if (((Z) != (USING))) goto L_02ce;
                                                                //   3368              USING=0; AT=0
#line 3368 "regression-compile-tmp/imp918s.imp"
USING = 0;
#line 3368 "regression-compile-tmp/imp918s.imp"
AT = 0;
                                                                //   3369           %FINISH %ELSE FAULT(33,0); ->Label99
#line 3369 "regression-compile-tmp/imp918s.imp"
goto L_02cf;
#line 3369 "regression-compile-tmp/imp918s.imp"
L_02ce:;
#line 3369 "regression-compile-tmp/imp918s.imp"
FAULT(33, 0);
#line 3369 "regression-compile-tmp/imp918s.imp"
L_02cf:;
#line 3369 "regression-compile-tmp/imp918s.imp"
goto U_1031;
                                                                //   3370  OPTYPE(1):                            ! RR FORMAT INSTRUCTION
#line 3370 "regression-compile-tmp/imp918s.imp"
sw8_OPTYPE_1:;
                                                                //   3371           %IF OPCODE=0 %THEN CNOP(A(P),A(P+1)) %ELSE %C
#line 3371 "regression-compile-tmp/imp918s.imp"
if (((OPCODE) != (0))) goto L_02d0;
#line 3371 "regression-compile-tmp/imp918s.imp"
CNOP(A[((P) + ((int)(7)))], A[(((unsigned char)((((int)(P)) + (1)))) + (7))]);
#line 3371 "regression-compile-tmp/imp918s.imp"
goto L_02d1;
#line 3371 "regression-compile-tmp/imp918s.imp"
L_02d0:;
#line 3371 "regression-compile-tmp/imp918s.imp"
PRR(OPCODE, A[((P) + ((int)(7)))], A[(((unsigned char)((((int)(P)) + (1)))) + (7))]);
#line 3371 "regression-compile-tmp/imp918s.imp"
L_02d1:;
                                                                //   3372                              PRR(OPCODE,A(P),A(P+1))
                                                                //   3373           P=P+2; ->Label99
#line 3373 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (2));
#line 3373 "regression-compile-tmp/imp918s.imp"
goto U_1031;
                                                                //   3374  OPTYPE(2):                            ! RX FORMAT INSTRUCTION
#line 3374 "regression-compile-tmp/imp918s.imp"
sw8_OPTYPE_2:;
                                                                //   3375  OPTYPE(3):                            ! RS FORMAT INSTRUCION
#line 3375 "regression-compile-tmp/imp918s.imp"
sw8_OPTYPE_3:;
                                                                //   3376  OPTYPE(5):                            ! SHIFT INSTRUCTION
#line 3376 "regression-compile-tmp/imp918s.imp"
sw8_OPTYPE_5:;
                                                                //   3377           REG=A(P)
#line 3377 "regression-compile-tmp/imp918s.imp"
REG = A[((P) + ((int)(7)))];
                                                                //   3378           %IF OPNUM=2 %THEN P=P+1 %AND DXB %ELSE %START
#line 3378 "regression-compile-tmp/imp918s.imp"
if (((OPNUM) != (2))) goto L_02d2;
#line 3378 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
#line 3378 "regression-compile-tmp/imp918s.imp"
DXB();
#line 3378 "regression-compile-tmp/imp918s.imp"
goto L_02d3;
#line 3378 "regression-compile-tmp/imp918s.imp"
L_02d2:;
                                                                //   3379              %IF OPNUM=5 %THEN X=0 %AND P=P+1 %ELSE X=A(P+1) %AND P=P+2
#line 3379 "regression-compile-tmp/imp918s.imp"
if (((OPNUM) != (5))) goto L_02d4;
#line 3379 "regression-compile-tmp/imp918s.imp"
X = 0;
#line 3379 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
#line 3379 "regression-compile-tmp/imp918s.imp"
goto L_02d5;
#line 3379 "regression-compile-tmp/imp918s.imp"
L_02d4:;
#line 3379 "regression-compile-tmp/imp918s.imp"
X = A[(((unsigned char)((((int)(P)) + (1)))) + (7))];
#line 3379 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (2));
#line 3379 "regression-compile-tmp/imp918s.imp"
L_02d5:;
                                                                //   3380              DB
#line 3380 "regression-compile-tmp/imp918s.imp"
DB();
                                                                //   3381           %FINISH
#line 3381 "regression-compile-tmp/imp918s.imp"
L_02d3:;
                                                                //   3382           PRX(OPCODE,REG,X,I,K);->Label99
#line 3382 "regression-compile-tmp/imp918s.imp"
PRX(OPCODE, REG, X, I, K);
#line 3382 "regression-compile-tmp/imp918s.imp"
goto U_1031;
                                                                //   3383  OPTYPE(4):                            ! STORE-IMMEDIATE FORMAT
#line 3383 "regression-compile-tmp/imp918s.imp"
sw8_OPTYPE_4:;
                                                                //   3384           DB
#line 3384 "regression-compile-tmp/imp918s.imp"
DB();
                                                                //   3385           %IF A(P)=2 %THEN Z=0 %ELSE %START
#line 3385 "regression-compile-tmp/imp918s.imp"
if (((A[((P) + ((int)(7)))]) != (2))) goto L_02d6;
#line 3385 "regression-compile-tmp/imp918s.imp"
Z = 0;
#line 3385 "regression-compile-tmp/imp918s.imp"
goto L_02d7;
#line 3385 "regression-compile-tmp/imp918s.imp"
L_02d6:;
                                                                //   3386              FROM AR4(P+2,Z)
#line 3386 "regression-compile-tmp/imp918s.imp"
FROMAR4((((int)(P)) + (2)), &Z);
                                                                //   3387              FAULT(32,0) %UNLESS 0<=Z<=255
#line 3387 "regression-compile-tmp/imp918s.imp"
if ((((0) > (Z))) || (((Z) <= (255)))) goto L_02d9;
#line 3387 "regression-compile-tmp/imp918s.imp"
L_02d8:;
#line 3387 "regression-compile-tmp/imp918s.imp"
FAULT(32, 0);
#line 3387 "regression-compile-tmp/imp918s.imp"
L_02d9:;
                                                                //   3388              P=P+4
#line 3388 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (4));
                                                                //   3389           %FINISH
#line 3389 "regression-compile-tmp/imp918s.imp"
L_02d7:;
                                                                //   3390           PSI(OPCODE,Z,I,K);P=P+1; ->Label99
#line 3390 "regression-compile-tmp/imp918s.imp"
PSI(OPCODE, Z, I, K);
#line 3390 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
#line 3390 "regression-compile-tmp/imp918s.imp"
goto U_1031;
                                                                //   3391  OPTYPE(6):                            ! SS FORMAT
#line 3391 "regression-compile-tmp/imp918s.imp"
sw8_OPTYPE_6:;
                                                                //   3392  OPTYPE(7):                            ! PACKED DECIMAL FORMAT
#line 3392 "regression-compile-tmp/imp918s.imp"
sw8_OPTYPE_7:;
                                                                //   3393           DLB; KK=K; Z=X
#line 3393 "regression-compile-tmp/imp918s.imp"
DLB();
#line 3393 "regression-compile-tmp/imp918s.imp"
KK = K;
#line 3393 "regression-compile-tmp/imp918s.imp"
Z = X;
                                                                //   3394           REG=I; Z=1 %IF Z=0
#line 3394 "regression-compile-tmp/imp918s.imp"
REG = I;
#line 3394 "regression-compile-tmp/imp918s.imp"
if (((Z) != (0))) goto L_02da;
#line 3394 "regression-compile-tmp/imp918s.imp"
Z = 1;
#line 3394 "regression-compile-tmp/imp918s.imp"
L_02da:;
                                                                //   3395           %IF OPNUM=6 %THEN DB %ELSE %START
#line 3395 "regression-compile-tmp/imp918s.imp"
if (((OPNUM) != (6))) goto L_02db;
#line 3395 "regression-compile-tmp/imp918s.imp"
DB();
#line 3395 "regression-compile-tmp/imp918s.imp"
goto L_02dc;
#line 3395 "regression-compile-tmp/imp918s.imp"
L_02db:;
                                                                //   3396              DLB; X=1 %IF X=0
#line 3396 "regression-compile-tmp/imp918s.imp"
DLB();
#line 3396 "regression-compile-tmp/imp918s.imp"
if (((X) != (0))) goto L_02dd;
#line 3396 "regression-compile-tmp/imp918s.imp"
X = 1;
#line 3396 "regression-compile-tmp/imp918s.imp"
L_02dd:;
                                                                //   3397              Z=(Z-1)<<4!X
#line 3397 "regression-compile-tmp/imp918s.imp"
Z = (((((((int)(Z)) - (1))) << (4))) | (X));
                                                                //   3398           %FINISH
#line 3398 "regression-compile-tmp/imp918s.imp"
L_02dc:;
                                                                //   3399           PSS(OPCODE,Z,REG,KK,I,K); ->Label99
#line 3399 "regression-compile-tmp/imp918s.imp"
PSS(OPCODE, Z, REG, KK, I, K);
#line 3399 "regression-compile-tmp/imp918s.imp"
goto U_1031;
                                                                //   3400  OPTYPE(8):                            ! FUNNIES
#line 3400 "regression-compile-tmp/imp918s.imp"
sw8_OPTYPE_8:;
                                                                //   3401           REG=A(P); P=P+1
#line 3401 "regression-compile-tmp/imp918s.imp"
REG = A[((P) + ((int)(7)))];
#line 3401 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
                                                                //   3402           %IF OPCODE=X'80' %THEN PSI(OPCODE,REG,0,0) %ELSE %START
#line 3402 "regression-compile-tmp/imp918s.imp"
if (((OPCODE) != (128))) goto L_02de;
#line 3402 "regression-compile-tmp/imp918s.imp"
PSI(OPCODE, REG, 0, 0);
#line 3402 "regression-compile-tmp/imp918s.imp"
goto L_02df;
#line 3402 "regression-compile-tmp/imp918s.imp"
L_02de:;
                                                                //   3403             %IF OPCODE=10 %THEN PLANT(X'A00'!REG) %ELSE PRR(OPCODE,REG,0)
#line 3403 "regression-compile-tmp/imp918s.imp"
if (((OPCODE) != (10))) goto L_02e0;
#line 3403 "regression-compile-tmp/imp918s.imp"
PLANT(((2560) | (REG)));
#line 3403 "regression-compile-tmp/imp918s.imp"
goto L_02e1;
#line 3403 "regression-compile-tmp/imp918s.imp"
L_02e0:;
#line 3403 "regression-compile-tmp/imp918s.imp"
PRR(OPCODE, REG, 0);
#line 3403 "regression-compile-tmp/imp918s.imp"
L_02e1:;
                                                                //   3404           %FINISH
#line 3404 "regression-compile-tmp/imp918s.imp"
L_02df:;
                                                                //   3405           ->Label99
#line 3405 "regression-compile-tmp/imp918s.imp"
goto U_1031;
                                                                //   3406           %ROUTINE DB
#line 3406 "regression-compile-tmp/imp918s.imp"
void DB( void )
#line 3406 "regression-compile-tmp/imp918s.imp"
{
                                                                //   3407  !***********************************************************************
                                                                //   3408  !*       DEAL WITH OPERANDS FOR A DB INSTRUCTION. P ON ALT OF P<DB>    *
                                                                //   3409  !*       P<DB>=<UCS>,<N><RESTOFDB>                                     *
                                                                //   3410  !*       P<RESTOFDB>='('<N>')',%NULL                                   *
                                                                //   3411  !***********************************************************************
                                                                //   3412           %IF A(P)=1 %THEN CUCS %ELSE %START
#line 3412 "regression-compile-tmp/imp918s.imp"
if (((A[((P) + ((int)(7)))]) != (1))) goto L_02e2;
#line 3412 "regression-compile-tmp/imp918s.imp"
CUCS();
#line 3412 "regression-compile-tmp/imp918s.imp"
goto L_02e3;
#line 3412 "regression-compile-tmp/imp918s.imp"
L_02e2:;
                                                                //   3413              K=A(P+1); I=A(P+2); P=P+3; ! I IS ALT OF P<RESTOFDB>
#line 3413 "regression-compile-tmp/imp918s.imp"
K = A[(((unsigned char)((((int)(P)) + (1)))) + (7))];
#line 3413 "regression-compile-tmp/imp918s.imp"
I = A[(((unsigned char)((((int)(P)) + (2)))) + (7))];
#line 3413 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (3));
                                                                //   3414              %IF I=2 %THEN I=0 %ELSE I=A(P) %AND P=P+1
#line 3414 "regression-compile-tmp/imp918s.imp"
if (((I) != (2))) goto L_02e4;
#line 3414 "regression-compile-tmp/imp918s.imp"
I = 0;
#line 3414 "regression-compile-tmp/imp918s.imp"
goto L_02e5;
#line 3414 "regression-compile-tmp/imp918s.imp"
L_02e4:;
#line 3414 "regression-compile-tmp/imp918s.imp"
I = A[((P) + ((int)(7)))];
#line 3414 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
#line 3414 "regression-compile-tmp/imp918s.imp"
L_02e5:;
                                                                //   3415           %FINISH
#line 3415 "regression-compile-tmp/imp918s.imp"
L_02e3:;
                                                                //   3416           FAULT(99,0) %UNLESS 0<=K<=4095
#line 3416 "regression-compile-tmp/imp918s.imp"
if ((((0) > (K))) || (((K) <= (4095)))) goto L_02e7;
#line 3416 "regression-compile-tmp/imp918s.imp"
L_02e6:;
#line 3416 "regression-compile-tmp/imp918s.imp"
FAULT(99, 0);
#line 3416 "regression-compile-tmp/imp918s.imp"
L_02e7:;
                                                                //   3417           %END
#line 3417 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block DB at level 4
                                                                //   3418           %ROUTINE DXB
#line 3418 "regression-compile-tmp/imp918s.imp"
void DXB( void )
#line 3418 "regression-compile-tmp/imp918s.imp"
{
                                                                //   3419  !***********************************************************************
                                                                //   3420  !*       DEAL WITH OPERANDS FOR A DXB INSTRN. P ON ALT OF P<DXB>       *
                                                                //   3421  !*       P<DXB>=<UCS><RESTOFDB>,<N><RESTOFDXB>                         *
                                                                //   3422  !*       P<RESTOFDXB>='('<N>','<N>')','('<N>')',%NULL                  *
                                                                //   3423  !***********************************************************************
                                                                //   3424           %INTEGER ALT
#line 3424 "regression-compile-tmp/imp918s.imp"
int ALT;
                                                                //   3425           X=0
#line 3425 "regression-compile-tmp/imp918s.imp"
X = 0;
                                                                //   3426           %IF A(P)=1 %THEN %START
#line 3426 "regression-compile-tmp/imp918s.imp"
if (((A[((P) + ((int)(7)))]) != (1))) goto L_02e8;
                                                                //   3427              CUCS
#line 3427 "regression-compile-tmp/imp918s.imp"
CUCS();
                                                                //   3428              %IF A(P)=1 %THEN X=A(P+1) %AND P=P+1
#line 3428 "regression-compile-tmp/imp918s.imp"
if (((A[((P) + ((int)(7)))]) != (1))) goto L_02e9;
#line 3428 "regression-compile-tmp/imp918s.imp"
X = A[(((unsigned char)((((int)(P)) + (1)))) + (7))];
#line 3428 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
#line 3428 "regression-compile-tmp/imp918s.imp"
L_02e9:;
                                                                //   3429           %FINISH %ELSE %START
#line 3429 "regression-compile-tmp/imp918s.imp"
goto L_02ea;
#line 3429 "regression-compile-tmp/imp918s.imp"
L_02e8:;
                                                                //   3430              K=A(P+1); I=0
#line 3430 "regression-compile-tmp/imp918s.imp"
K = A[(((unsigned char)((((int)(P)) + (1)))) + (7))];
#line 3430 "regression-compile-tmp/imp918s.imp"
I = 0;
                                                                //   3431              ALT=A(P+2); P=P+2
#line 3431 "regression-compile-tmp/imp918s.imp"
ALT = A[(((unsigned char)((((int)(P)) + (2)))) + (7))];
#line 3431 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (2));
                                                                //   3432              %IF ALT=1 %THEN X=A(P+1) %AND P=P+1
#line 3432 "regression-compile-tmp/imp918s.imp"
if (((ALT) != (1))) goto L_02eb;
#line 3432 "regression-compile-tmp/imp918s.imp"
X = A[(((unsigned char)((((int)(P)) + (1)))) + (7))];
#line 3432 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
#line 3432 "regression-compile-tmp/imp918s.imp"
L_02eb:;
                                                                //   3433              %IF ALT<=2 %THEN I=A(P+1) %AND P=P+1
#line 3433 "regression-compile-tmp/imp918s.imp"
if (((ALT) > (2))) goto L_02ec;
#line 3433 "regression-compile-tmp/imp918s.imp"
I = A[(((unsigned char)((((int)(P)) + (1)))) + (7))];
#line 3433 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
#line 3433 "regression-compile-tmp/imp918s.imp"
L_02ec:;
                                                                //   3434           %FINISH
#line 3434 "regression-compile-tmp/imp918s.imp"
L_02ea:;
                                                                //   3435           P=P+1
#line 3435 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
                                                                //   3436           FAULT(99,0) %UNLESS 0<=K<=4095
#line 3436 "regression-compile-tmp/imp918s.imp"
if ((((0) > (K))) || (((K) <= (4095)))) goto L_02ee;
#line 3436 "regression-compile-tmp/imp918s.imp"
L_02ed:;
#line 3436 "regression-compile-tmp/imp918s.imp"
FAULT(99, 0);
#line 3436 "regression-compile-tmp/imp918s.imp"
L_02ee:;
                                                                //   3437           %END
#line 3437 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block DXB at level 4
                                                                //   3438           %ROUTINE DLB
#line 3438 "regression-compile-tmp/imp918s.imp"
void DLB( void )
#line 3438 "regression-compile-tmp/imp918s.imp"
{
                                                                //   3439  !***********************************************************************
                                                                //   3440  !*       DEAL WITH OPERAND FOR A DB INSTRUCTION. P ON ALT OF P<DB>     *
                                                                //   3441  !*       P<DB>=<N>'('<N>','<N>')',<UCS>'('<N>')'                       *
                                                                //   3442  !***********************************************************************
                                                                //   3443           %IF A(P)=1 %THEN %START;   ! EXPLICT FORM
#line 3443 "regression-compile-tmp/imp918s.imp"
if (((A[((P) + ((int)(7)))]) != (1))) goto L_02ef;
                                                                //   3444              K=A(P+1); X=A(P+2)
#line 3444 "regression-compile-tmp/imp918s.imp"
K = A[(((unsigned char)((((int)(P)) + (1)))) + (7))];
#line 3444 "regression-compile-tmp/imp918s.imp"
X = A[(((unsigned char)((((int)(P)) + (2)))) + (7))];
                                                                //   3445              I=A(P+3); P=P+4
#line 3445 "regression-compile-tmp/imp918s.imp"
I = A[(((unsigned char)((((int)(P)) + (3)))) + (7))];
#line 3445 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (4));
                                                                //   3446           %FINISH %ELSE %START
#line 3446 "regression-compile-tmp/imp918s.imp"
goto L_02f0;
#line 3446 "regression-compile-tmp/imp918s.imp"
L_02ef:;
                                                                //   3447              CUCS; X=A(P); P=P+1
#line 3447 "regression-compile-tmp/imp918s.imp"
CUCS();
#line 3447 "regression-compile-tmp/imp918s.imp"
X = A[((P) + ((int)(7)))];
#line 3447 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
                                                                //   3448           %FINISH
#line 3448 "regression-compile-tmp/imp918s.imp"
L_02f0:;
                                                                //   3449           FAULT(99,0) %UNLESS 0<=K<=4095
#line 3449 "regression-compile-tmp/imp918s.imp"
if ((((0) > (K))) || (((K) <= (4095)))) goto L_02f2;
#line 3449 "regression-compile-tmp/imp918s.imp"
L_02f1:;
#line 3449 "regression-compile-tmp/imp918s.imp"
FAULT(99, 0);
#line 3449 "regression-compile-tmp/imp918s.imp"
L_02f2:;
                                                                //   3450           %END
#line 3450 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block DLB at level 4
                                                                //   3451           %ROUTINE     CUCS
#line 3451 "regression-compile-tmp/imp918s.imp"
void CUCS( void )
#line 3451 "regression-compile-tmp/imp918s.imp"
{
                                                                //   3452  !***********************************************************************
                                                                //   3453  !*       DEAL WITH SYMBOLIC REFERENCES IN USERCODE STATEMENTS          *
                                                                //   3454  !*       P<UCS>=<NAME><DISPP>,'<'<LABEL>'>','*'<DISPP>                 *
                                                                //   3455  !*       P<DISPP>='+'<N>,'-'<N>,%NULL                                  *
                                                                //   3456  !***********************************************************************
                                                                //   3457           %INTEGER X,Y,AD,ALT
#line 3457 "regression-compile-tmp/imp918s.imp"
int X;
#line 3457 "regression-compile-tmp/imp918s.imp"
int Y;
#line 3457 "regression-compile-tmp/imp918s.imp"
int AD;
#line 3457 "regression-compile-tmp/imp918s.imp"
int ALT;
                                                                //   3458           X=USING; Y=AT
#line 3458 "regression-compile-tmp/imp918s.imp"
X = USING;
#line 3458 "regression-compile-tmp/imp918s.imp"
Y = AT;
                                                                //   3459           %IF X=0 %THEN X=10 %AND Y=CODEBASE
#line 3459 "regression-compile-tmp/imp918s.imp"
if (((X) != (0))) goto L_02f3;
#line 3459 "regression-compile-tmp/imp918s.imp"
X = 10;
#line 3459 "regression-compile-tmp/imp918s.imp"
Y = CODEBASE;
#line 3459 "regression-compile-tmp/imp918s.imp"
L_02f3:;
                                                                //   3460           ALT=A(P+1);                     ! ALT OF P<UCS>
#line 3460 "regression-compile-tmp/imp918s.imp"
ALT = A[(((unsigned char)((((int)(P)) + (1)))) + (7))];
                                                                //   3461           %IF ALT=2 %THEN %START
#line 3461 "regression-compile-tmp/imp918s.imp"
if (((ALT) != (2))) goto L_02f4;
                                                                //   3462  !
                                                                //   3463  ! OPERAND IS AN IMP LABEL WHICH MAY OR MAY NOT BE SET BUT MUST BE WITHIN
                                                                //   3464  ! 4095 OF THE BASE REGISTER WHETHER IMPLIED OR SET BY 'USING'
                                                                //   3465  !
                                                                //   3466              K=A(P+3)+(A(P+2)-1)<<14
#line 3466 "regression-compile-tmp/imp918s.imp"
K = ((A[(((unsigned char)((((int)(P)) + (3)))) + (7))]) + ((short)((((((int)(A[(((unsigned char)((((int)(P)) + (2)))) + (7))])) - (1))) << (14)))));
                                                                //   3467              P=P+4
#line 3467 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (4));
                                                                //   3468              J=FIND3(K,LABEL(LEVEL))
#line 3468 "regression-compile-tmp/imp918s.imp"
J = FIND3(K, LABEL[LEVEL]);
                                                                //   3469              %IF J<0 %THEN PUSH123(LABEL(LEVEL),0,0,K) %AND %C
#line 3469 "regression-compile-tmp/imp918s.imp"
if (((J) >= (0))) goto L_02f5;
#line 3469 "regression-compile-tmp/imp918s.imp"
PUSH123(&LABEL[LEVEL], 0, 0, K);
#line 3469 "regression-compile-tmp/imp918s.imp"
J = LABEL[LEVEL];
#line 3469 "regression-compile-tmp/imp918s.imp"
L_02f5:;
                                                                //   3470                            J=LABEL(LEVEL)
                                                                //   3471              AD=FROM1(J)
#line 3471 "regression-compile-tmp/imp918s.imp"
AD = FROM1(J);
                                                                //   3472              REPLACE1(J,AD!X'01000000')
#line 3472 "regression-compile-tmp/imp918s.imp"
REPLACE1(J, ((AD) | (16777216)));
                                                                //   3473              %IF AD&X'FFFFFF'#0 %THEN K<-AD-Y %AND I=X %ELSE %START
#line 3473 "regression-compile-tmp/imp918s.imp"
if (((((AD) & (16777215))) == (0))) goto L_02f6;
#line 3473 "regression-compile-tmp/imp918s.imp"
K = (((int)(AD)) - (Y));
#line 3473 "regression-compile-tmp/imp918s.imp"
I = X;
#line 3473 "regression-compile-tmp/imp918s.imp"
goto L_02f7;
#line 3473 "regression-compile-tmp/imp918s.imp"
L_02f6:;
                                                                //   3474                 K=0; I=0
#line 3474 "regression-compile-tmp/imp918s.imp"
K = 0;
#line 3474 "regression-compile-tmp/imp918s.imp"
I = 0;
                                                                //   3475                 PUSH(SHORT INTEGER(ADDR(ASLIST(J+6))),CA,X<<24!Y)
#line 3475 "regression-compile-tmp/imp918s.imp"
PUSH(_imp_SHORTINTEGER(_imp_ADDR(&ASLIST[(((int)(J)) + (6))])), CA, ((((X) << (24))) | (Y)));
                                                                //   3476              %FINISH
#line 3476 "regression-compile-tmp/imp918s.imp"
L_02f7:;
                                                                //   3477           %FINISH %ELSE %START
#line 3477 "regression-compile-tmp/imp918s.imp"
goto L_02f8;
#line 3477 "regression-compile-tmp/imp918s.imp"
L_02f4:;
                                                                //   3478              %IF ALT=1 %THEN %START
#line 3478 "regression-compile-tmp/imp918s.imp"
if (((ALT) != (1))) goto L_02f9;
                                                                //   3479                 FNAME=A(P+2)
#line 3479 "regression-compile-tmp/imp918s.imp"
FNAME = A[(((unsigned char)((((int)(P)) + (2)))) + (7))];
                                                                //   3480                 COPY TAG(FNAME)
#line 3480 "regression-compile-tmp/imp918s.imp"
COPYTAG(FNAME);
                                                                //   3481                 P=P+3
#line 3481 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (3));
                                                                //   3482                 FAULT(33,FNAME) %IF ROUT=1 %OR TYPE=4 %OR TYPE>=6
#line 3482 "regression-compile-tmp/imp918s.imp"
if (((ROUT) == (1))) goto L_02fa;
#line 3482 "regression-compile-tmp/imp918s.imp"
if (((TYPE) == (4))) goto L_02fa;
#line 3482 "regression-compile-tmp/imp918s.imp"
if (((TYPE) < (6))) goto L_02fb;
#line 3482 "regression-compile-tmp/imp918s.imp"
L_02fa:;
#line 3482 "regression-compile-tmp/imp918s.imp"
FAULT(33, FNAME);
#line 3482 "regression-compile-tmp/imp918s.imp"
L_02fb:;
                                                                //   3483              %FINISH %ELSE %START
#line 3483 "regression-compile-tmp/imp918s.imp"
goto L_02fc;
#line 3483 "regression-compile-tmp/imp918s.imp"
L_02f9:;
                                                                //   3484                 I=X; K=CA-Y
#line 3484 "regression-compile-tmp/imp918s.imp"
I = X;
#line 3484 "regression-compile-tmp/imp918s.imp"
K = (((int)(CA)) - (Y));
                                                                //   3485                 P=P+2
#line 3485 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (2));
                                                                //   3486              %FINISH
#line 3486 "regression-compile-tmp/imp918s.imp"
L_02fc:;
                                                                //   3487              ALT=A(P); P=P+1
#line 3487 "regression-compile-tmp/imp918s.imp"
ALT = A[((P) + ((int)(7)))];
#line 3487 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
                                                                //   3488              %IF ALT#3 %THEN %START
#line 3488 "regression-compile-tmp/imp918s.imp"
if (((ALT) == (3))) goto L_02fd;
                                                                //   3489                 %IF ALT=1 %THEN K=K+A(P) %ELSE K=K-A(P)
#line 3489 "regression-compile-tmp/imp918s.imp"
if (((ALT) != (1))) goto L_02fe;
#line 3489 "regression-compile-tmp/imp918s.imp"
K = (((short)(K)) + (A[((P) + ((int)(7)))]));
#line 3489 "regression-compile-tmp/imp918s.imp"
goto L_02ff;
#line 3489 "regression-compile-tmp/imp918s.imp"
L_02fe:;
#line 3489 "regression-compile-tmp/imp918s.imp"
K = (((short)(K)) - (A[((P) + ((int)(7)))]));
#line 3489 "regression-compile-tmp/imp918s.imp"
L_02ff:;
                                                                //   3490                 P=P+1
#line 3490 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
                                                                //   3491              %FINISH
#line 3491 "regression-compile-tmp/imp918s.imp"
L_02fd:;
                                                                //   3492           %FINISH
#line 3492 "regression-compile-tmp/imp918s.imp"
L_02f8:;
                                                                //   3493           %END
#line 3493 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block CUCS at level 4
                                                                //   3494  Label99:      %END
#line 3494 "regression-compile-tmp/imp918s.imp"
U_1031:;
#line 3494 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block CUCI at level 3
                                                                //   3495           %ROUTINE LAB LOOK(%INTEGERNAME FLAG,%INTEGER LAB)
#line 3495 "regression-compile-tmp/imp918s.imp"
void LABLOOK( int /*name*/*FLAG, int LAB )
#line 3495 "regression-compile-tmp/imp918s.imp"
{
                                                                //   3496  ! THIS ROUTINE LOOKS THRO THE STATEMENTS HELD IN THE CYCLIC BUFFER
                                                                //   3497  ! TO TRY TO FIND LABEL 'LAB'.
                                                                //   3498  
                                                                //   3499           {%SHORTROUTINE}
                                                                //   3500           %INTEGER I,J,K,F,MUI,ME
#line 3500 "regression-compile-tmp/imp918s.imp"
int I;
#line 3500 "regression-compile-tmp/imp918s.imp"
int J;
#line 3500 "regression-compile-tmp/imp918s.imp"
int K;
#line 3500 "regression-compile-tmp/imp918s.imp"
int F;
#line 3500 "regression-compile-tmp/imp918s.imp"
int MUI;
#line 3500 "regression-compile-tmp/imp918s.imp"
int ME;
                                                                //   3501           FLAG=0
#line 3501 "regression-compile-tmp/imp918s.imp"
*FLAG = 0;
                                                                //   3502           %RETURN %UNLESS STMTSHELD>1
#line 3502 "regression-compile-tmp/imp918s.imp"
if (((STMTSHELD) > (1))) goto L_0300;
#line 3502 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 3502 "regression-compile-tmp/imp918s.imp"
L_0300:;
                                                                //   3503           %IF |LAB-SFLABEL|<=1 %THEN F=1 %ELSE F=0
#line 3503 "regression-compile-tmp/imp918s.imp"
if (((_imp_IMOD((((int)(LAB)) - (SFLABEL)))) > (1))) goto L_0301;
#line 3503 "regression-compile-tmp/imp918s.imp"
F = 1;
#line 3503 "regression-compile-tmp/imp918s.imp"
goto L_0302;
#line 3503 "regression-compile-tmp/imp918s.imp"
L_0301:;
#line 3503 "regression-compile-tmp/imp918s.imp"
F = 0;
#line 3503 "regression-compile-tmp/imp918s.imp"
L_0302:;
                                                                //   3504           %CYCLE I=2,1,STMTSHELD;       ! CYCLE THROUGH STATEMENTS
#line 3504 "regression-compile-tmp/imp918s.imp"
{static int _initial, _increment, _final, _control;
_initial = 2; _increment = 1; _final = STMTSHELD; I = _control = _initial;
if (((_final-_initial) % _increment) != 0) _imp_signal(5,1,0,"Illegal cycle I = 2, 1, STMTSHELD");
I -= _increment; _control -= _increment;
L_0303:;
if (I == _final) goto L_0304;
I += _increment; _control += _increment;
if (I != _control) _imp_signal(4,2,0,"Corrupt control variable I"); /* FOR loop control variable corrupted */
}
                                                                //   3505           J=STPTRS(I)
#line 3505 "regression-compile-tmp/imp918s.imp"
J = STPTRS[(((int)(I)) - (1))];
                                                                //   3506           %IF F>0 %THEN %START
#line 3506 "regression-compile-tmp/imp918s.imp"
if (((F) <= (0))) goto L_0306;
                                                                //   3507           -> FIN %IF A(J)=14
#line 3507 "regression-compile-tmp/imp918s.imp"
if (((A[((J) + ((int)(7)))]) != (14))) goto L_0307;
#line 3507 "regression-compile-tmp/imp918s.imp"
goto U_1033;
#line 3507 "regression-compile-tmp/imp918s.imp"
L_0307:;
                                                                //   3508           -> AGN %UNLESS A(J)=5
#line 3508 "regression-compile-tmp/imp918s.imp"
if (((A[((J) + ((int)(7)))]) == (5))) goto L_0308;
#line 3508 "regression-compile-tmp/imp918s.imp"
goto U_1016;
#line 3508 "regression-compile-tmp/imp918s.imp"
L_0308:;
                                                                //   3509           MUI=J+2+A(J+2); ME=MUI+1+A(MUI+1)
#line 3509 "regression-compile-tmp/imp918s.imp"
MUI = (((short)((((int)(J)) + (2)))) + (A[(((unsigned char)((((int)(J)) + (2)))) + (7))]));
#line 3509 "regression-compile-tmp/imp918s.imp"
ME = (((short)((((int)(MUI)) + (1)))) + (A[(((unsigned char)((((int)(MUI)) + (1)))) + (7))]));
                                                                //   3510           F=F+1 %IF A(MUI)<=2 %OR A(ME)=1
#line 3510 "regression-compile-tmp/imp918s.imp"
if (((A[((MUI) + ((int)(7)))]) <= (2))) goto L_0309;
#line 3510 "regression-compile-tmp/imp918s.imp"
if (((A[((ME) + ((int)(7)))]) != (1))) goto L_030a;
#line 3510 "regression-compile-tmp/imp918s.imp"
L_0309:;
#line 3510 "regression-compile-tmp/imp918s.imp"
F = (((int)(F)) + (1));
#line 3510 "regression-compile-tmp/imp918s.imp"
L_030a:;
                                                                //   3511           -> AGN
#line 3511 "regression-compile-tmp/imp918s.imp"
goto U_1016;
                                                                //   3512  FIN:     %IF F=1 %THEN %START
#line 3512 "regression-compile-tmp/imp918s.imp"
U_1033:;
#line 3512 "regression-compile-tmp/imp918s.imp"
if (((F) != (1))) goto L_030b;
                                                                //   3513           FLAG=1; %RETURN; %FINISH
#line 3513 "regression-compile-tmp/imp918s.imp"
*FLAG = 1;
#line 3513 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 3513 "regression-compile-tmp/imp918s.imp"
L_030b:;
                                                                //   3514           F=F-1
#line 3514 "regression-compile-tmp/imp918s.imp"
F = (((int)(F)) - (1));
                                                                //   3515           F=F+1 %IF A(J+1)=1
#line 3515 "regression-compile-tmp/imp918s.imp"
if (((A[(((unsigned char)((((int)(J)) + (1)))) + (7))]) != (1))) goto L_030c;
#line 3515 "regression-compile-tmp/imp918s.imp"
F = (((int)(F)) + (1));
#line 3515 "regression-compile-tmp/imp918s.imp"
L_030c:;
                                                                //   3516           -> AGN; %FINISH
#line 3516 "regression-compile-tmp/imp918s.imp"
goto U_1016;
#line 3516 "regression-compile-tmp/imp918s.imp"
L_0306:;
                                                                //   3517           -> numeric LAB %IF A(J)=4;            ! NUMERIC LAB
#line 3517 "regression-compile-tmp/imp918s.imp"
if (((A[((J) + ((int)(7)))]) != (4))) goto L_030d;
#line 3517 "regression-compile-tmp/imp918s.imp"
goto U_1017;
#line 3517 "regression-compile-tmp/imp918s.imp"
L_030d:;
                                                                //   3518           -> AGN %UNLESS A(J)=1 %AND A(J+2)=1 %AND A(J+5)=2
#line 3518 "regression-compile-tmp/imp918s.imp"
if (((A[((J) + ((int)(7)))]) != (1))) goto L_030e;
#line 3518 "regression-compile-tmp/imp918s.imp"
if (((A[(((unsigned char)((((int)(J)) + (2)))) + (7))]) != (1))) goto L_030e;
#line 3518 "regression-compile-tmp/imp918s.imp"
if (((A[(((unsigned char)((((int)(J)) + (5)))) + (7))]) == (2))) goto L_030f;
#line 3518 "regression-compile-tmp/imp918s.imp"
L_030e:;
#line 3518 "regression-compile-tmp/imp918s.imp"
goto U_1016;
#line 3518 "regression-compile-tmp/imp918s.imp"
L_030f:;
                                                                //   3519           K=J+1+A(J+1); -> AGN %UNLESS A(K)=1
#line 3519 "regression-compile-tmp/imp918s.imp"
K = (((short)((((int)(J)) + (1)))) + (A[(((unsigned char)((((int)(J)) + (1)))) + (7))]));
#line 3519 "regression-compile-tmp/imp918s.imp"
if (((A[((K) + ((int)(7)))]) == (1))) goto L_0310;
#line 3519 "regression-compile-tmp/imp918s.imp"
goto U_1016;
#line 3519 "regression-compile-tmp/imp918s.imp"
L_0310:;
                                                                //   3520           K=16384+A(J+4)
#line 3520 "regression-compile-tmp/imp918s.imp"
K = ((16384) + ((int)(A[(((unsigned char)((((int)(J)) + (4)))) + (7))])));
                                                                //   3521  SUCC:    -> AGN %UNLESS K=LAB
#line 3521 "regression-compile-tmp/imp918s.imp"
U_1018:;
#line 3521 "regression-compile-tmp/imp918s.imp"
if (((K) == (LAB))) goto L_0311;
#line 3521 "regression-compile-tmp/imp918s.imp"
goto U_1016;
#line 3521 "regression-compile-tmp/imp918s.imp"
L_0311:;
                                                                //   3522           FLAG=1; %RETURN
#line 3522 "regression-compile-tmp/imp918s.imp"
*FLAG = 1;
#line 3522 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   3523  numeric LAB:     K=A(J+1); -> SUCC
#line 3523 "regression-compile-tmp/imp918s.imp"
U_1017:;
#line 3523 "regression-compile-tmp/imp918s.imp"
K = A[(((unsigned char)((((int)(J)) + (1)))) + (7))];
#line 3523 "regression-compile-tmp/imp918s.imp"
goto U_1018;
                                                                //   3524  AGN:     %REPEAT
#line 3524 "regression-compile-tmp/imp918s.imp"
U_1016:;
#line 3524 "regression-compile-tmp/imp918s.imp"
goto L_0303;
#line 3524 "regression-compile-tmp/imp918s.imp"
L_0304:;
                                                                //   3525           %END
#line 3525 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block LABLOOK at level 3
                                                                //   3526  {%RECORDFORMAT F(%INTEGER VAL,S1,S2,S3)}
                                                                //   3527  !         %RECORDFORMAT OPTFORM(%BYTEINTEGER COUNT,TYPE,%INTEGER BITS,%C
                                                                //   3528  !                  PTYPE,XTRA)
                                                                //   3529  !         %RECORD(OPTFORM)%ARRAY OPTINF(0:25)
                                                                //   3530  !!%ROUTINE QSORT(%RECORD(F)%ARRAYNAME A,%INTEGER I,J)
                                                                //   3531  %ROUTINE QSORT(%RECORD(OPTFORM)%ARRAYNAME A,%INTEGER I,J)
#line 3531 "regression-compile-tmp/imp918s.imp"
void QSORT(  OPTFORM /*arrayname*/*A, int I, int J )
#line 3531 "regression-compile-tmp/imp918s.imp"
{
                                                                //   3532  {This is totally incompatible with where it was called. Wrong record format entirely.}
                                                                //   3533  {%RECORDSPEC A(F)}
                                                                //   3534  !!%RECORD (F)D
                                                                //   3535  %RECORD (OPTFORM)D
#line 3535 "regression-compile-tmp/imp918s.imp"
 OPTFORM D;
                                                                //   3536  %INTEGER L,U
#line 3536 "regression-compile-tmp/imp918s.imp"
int L;
#line 3536 "regression-compile-tmp/imp918s.imp"
int U;
                                                                //   3537           %IF I>=J %THEN %RETURN
#line 3537 "regression-compile-tmp/imp918s.imp"
if (((I) < (J))) goto L_0312;
#line 3537 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 3537 "regression-compile-tmp/imp918s.imp"
L_0312:;
                                                                //   3538           L=I; U=J; D=A(J); ->FIND
#line 3538 "regression-compile-tmp/imp918s.imp"
L = I;
#line 3538 "regression-compile-tmp/imp918s.imp"
U = J;
#line 3538 "regression-compile-tmp/imp918s.imp"
D = A[J];
#line 3538 "regression-compile-tmp/imp918s.imp"
goto U_1034;
                                                                //   3539  UP:
#line 3539 "regression-compile-tmp/imp918s.imp"
U_1033:;
                                                                //   3540           L=L+1
#line 3540 "regression-compile-tmp/imp918s.imp"
L = (((int)(L)) + (1));
                                                                //   3541           %IF L=U %THEN ->FOUND
#line 3541 "regression-compile-tmp/imp918s.imp"
if (((L) != (U))) goto L_0313;
#line 3541 "regression-compile-tmp/imp918s.imp"
goto U_1016;
#line 3541 "regression-compile-tmp/imp918s.imp"
L_0313:;
                                                                //   3542  FIND:
#line 3542 "regression-compile-tmp/imp918s.imp"
U_1034:;
                                                                //   3543           {%UNLESS A(L)_VAL>D_VAL %THEN ->UP}
                                                                //   3544           %UNLESS A(L)_count>D_count %THEN ->UP
#line 3544 "regression-compile-tmp/imp918s.imp"
if (((A[L].COUNT) > (D.COUNT))) goto L_0314;
#line 3544 "regression-compile-tmp/imp918s.imp"
goto U_1033;
#line 3544 "regression-compile-tmp/imp918s.imp"
L_0314:;
                                                                //   3545           A(U)=A(L)
#line 3545 "regression-compile-tmp/imp918s.imp"
A[U] = A[L];
                                                                //   3546  DOWN:
#line 3546 "regression-compile-tmp/imp918s.imp"
U_1017:;
                                                                //   3547           U=U-1
#line 3547 "regression-compile-tmp/imp918s.imp"
U = (((int)(U)) - (1));
                                                                //   3548           %IF L=U %THEN ->FOUND
#line 3548 "regression-compile-tmp/imp918s.imp"
if (((L) != (U))) goto L_0315;
#line 3548 "regression-compile-tmp/imp918s.imp"
goto U_1016;
#line 3548 "regression-compile-tmp/imp918s.imp"
L_0315:;
                                                                //   3549           {%UNLESS A(U)_VAL<D_VAL %THEN ->DOWN}
                                                                //   3550           %UNLESS A(U)_count<D_count %THEN ->DOWN
#line 3550 "regression-compile-tmp/imp918s.imp"
if (((A[U].COUNT) < (D.COUNT))) goto L_0316;
#line 3550 "regression-compile-tmp/imp918s.imp"
goto U_1017;
#line 3550 "regression-compile-tmp/imp918s.imp"
L_0316:;
                                                                //   3551           A(L)=A(U); ->UP
#line 3551 "regression-compile-tmp/imp918s.imp"
A[L] = A[U];
#line 3551 "regression-compile-tmp/imp918s.imp"
goto U_1033;
                                                                //   3552  FOUND:
#line 3552 "regression-compile-tmp/imp918s.imp"
U_1016:;
                                                                //   3553           A(U)=D
#line 3553 "regression-compile-tmp/imp918s.imp"
A[U] = D;
                                                                //   3554           QSORT(A,I,L-1)
#line 3554 "regression-compile-tmp/imp918s.imp"
QSORT(/*is_array_name_param2 BUG? */ &A[0], I, (((int)(L)) - (1)));
                                                                //   3555           QSORT(A,U+1,J)
#line 3555 "regression-compile-tmp/imp918s.imp"
QSORT(/*is_array_name_param2 BUG? */ &A[0], (((int)(U)) + (1)), J);
                                                                //   3556  %END
#line 3556 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block QSORT at level 3
                                                                //   3557  %ROUTINE OPTSAVE(%INTEGER TYPE,Z,PTYPE,XTRA)
#line 3557 "regression-compile-tmp/imp918s.imp"
void OPTSAVE( int TYPE, int Z, int PTYPE, int XTRA )
#line 3557 "regression-compile-tmp/imp918s.imp"
{
                                                                //   3558  %RECORD(OPTFORM)%NAME OPTE
#line 3558 "regression-compile-tmp/imp918s.imp"
 OPTFORM /*name*/*OPTE;
                                                                //   3559  %INTEGER I
#line 3559 "regression-compile-tmp/imp918s.imp"
int I;
                                                                //   3560           %IF OPTPTR>=24 %THEN %RETURN
#line 3560 "regression-compile-tmp/imp918s.imp"
if (((OPTPTR) < (24))) goto L_0317;
#line 3560 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 3560 "regression-compile-tmp/imp918s.imp"
L_0317:;
                                                                //   3561           I=1
#line 3561 "regression-compile-tmp/imp918s.imp"
I = 1;
                                                                //   3562           %WHILE I<=OPTPTR %CYCLE
#line 3562 "regression-compile-tmp/imp918s.imp"
L_0318:;
#line 3562 "regression-compile-tmp/imp918s.imp"
if (((I) > (OPTPTR))) goto L_0319;
                                                                //   3563              OPTE==OPTINF(I)
#line 3563 "regression-compile-tmp/imp918s.imp"
OPTE = &OPTINF[I];
                                                                //   3564              %IF TYPE=OPTE_TYPE %AND XTRA=OPTE_XTRA %START
#line 3564 "regression-compile-tmp/imp918s.imp"
if (((TYPE) != (OPTE->TYPE))) goto L_031b;
#line 3564 "regression-compile-tmp/imp918s.imp"
if (((XTRA) != (OPTE->XTRA))) goto L_031b;
                                                                //   3565                 OPTE_COUNT=OPTE_COUNT+1
#line 3565 "regression-compile-tmp/imp918s.imp"
OPTE->COUNT = (((int)(OPTE->COUNT)) + (1));
                                                                //   3566                 OPTE_BITS=OPTE_BITS!1<<Z
#line 3566 "regression-compile-tmp/imp918s.imp"
OPTE->BITS = ((OPTE->BITS) | (((1) << (Z))));
                                                                //   3567                 %RETURN
#line 3567 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   3568              %FINISH
#line 3568 "regression-compile-tmp/imp918s.imp"
L_031b:;
                                                                //   3569              I=I+1
#line 3569 "regression-compile-tmp/imp918s.imp"
I = (((int)(I)) + (1));
                                                                //   3570           %REPEAT
#line 3570 "regression-compile-tmp/imp918s.imp"
goto L_0318;
#line 3570 "regression-compile-tmp/imp918s.imp"
L_0319:;
                                                                //   3571           OPTPTR=OPTPTR+1
#line 3571 "regression-compile-tmp/imp918s.imp"
OPTPTR = (((int)(OPTPTR)) + (1));
                                                                //   3572           OPTE==OPTINF(OPTPTR)
#line 3572 "regression-compile-tmp/imp918s.imp"
OPTE = &OPTINF[OPTPTR];
                                                                //   3573           OPTE_COUNT=1
#line 3573 "regression-compile-tmp/imp918s.imp"
OPTE->COUNT = 1;
                                                                //   3574           OPTE_TYPE=TYPE
#line 3574 "regression-compile-tmp/imp918s.imp"
OPTE->TYPE = TYPE;
                                                                //   3575           OPTE_BITS=1<<Z
#line 3575 "regression-compile-tmp/imp918s.imp"
OPTE->BITS = ((1) << (Z));
                                                                //   3576           OPTE_PTYPE=PTYPE
#line 3576 "regression-compile-tmp/imp918s.imp"
OPTE->PTYPE = PTYPE;
                                                                //   3577           OPTE_XTRA=XTRA
#line 3577 "regression-compile-tmp/imp918s.imp"
OPTE->XTRA = XTRA;
                                                                //   3578  %END
#line 3578 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block OPTSAVE at level 3
                                                                //   3579           %ROUTINE VALLOC(%INTEGER REG,TN)
#line 3579 "regression-compile-tmp/imp918s.imp"
void VALLOC( int REG, int TN )
#line 3579 "regression-compile-tmp/imp918s.imp"
{
                                                                //   3580           {%SHORTROUTINE}
                                                                //   3581  !***********************************************************************
                                                                //   3582  !*       ALLOCATE A VARIABLE (TAGS=TN) TO REGISTER REG BY LOADING      *
                                                                //   3583  !*       THE REGISTER AND FRIGGING THE TAGS. ONLY SIMPLE INTEGERS      *
                                                                //   3584  !*       (PTYPE=1) CAN BE ALLOCATED TO REGISTERS.                      *
                                                                //   3585  !*       BYTES AND SHORTS ARE TRUNCATED BY <- ASSIGNMENTS.             *
                                                                //   3586  !*       NAME-TYPES MAY HAVE AN ALTER EGO                              *
                                                                //   3587  !*       THE ALLOCATION CAN ONLY BE MADE FOR SECTIONS OF CODE THAT     *
                                                                //   3588  !*       HAVE NO RT-CALLS OR LABELS/JUMPS                              *
                                                                //   3589  !********-**************************************************************
                                                                //   3590           %INTEGER S1,S2,S3,I,Q
#line 3590 "regression-compile-tmp/imp918s.imp"
int S1;
#line 3590 "regression-compile-tmp/imp918s.imp"
int S2;
#line 3590 "regression-compile-tmp/imp918s.imp"
int S3;
#line 3590 "regression-compile-tmp/imp918s.imp"
int I;
#line 3590 "regression-compile-tmp/imp918s.imp"
int Q;
                                                                //   3591           FROM123(TN,S1,S2,S3)
#line 3591 "regression-compile-tmp/imp918s.imp"
FROM123(TN, &S1, &S2, &S3);
                                                                //   3592           %IF CUR CYC VAR>=0 %AND TN=TAGS(CUR CYC VAR) %START
#line 3592 "regression-compile-tmp/imp918s.imp"
if (((CURCYCVAR) < (0))) goto L_031c;
#line 3592 "regression-compile-tmp/imp918s.imp"
if (((TN) != (TAGS[CURCYCVAR]))) goto L_031c;
                                                                //   3593              P=STPTRS(1)+5;              ! CHECK INITIAL EXPRSN
#line 3593 "regression-compile-tmp/imp918s.imp"
P = (((int)(STPTRS[0])) + (5));
                                                                //   3594              Q=TSEXP(I,0)
#line 3594 "regression-compile-tmp/imp918s.imp"
Q = TSEXP(&I, 0);
                                                                //   3595           %FINISH %ELSE Q=0
#line 3595 "regression-compile-tmp/imp918s.imp"
goto L_031d;
#line 3595 "regression-compile-tmp/imp918s.imp"
L_031c:;
#line 3595 "regression-compile-tmp/imp918s.imp"
Q = 0;
#line 3595 "regression-compile-tmp/imp918s.imp"
L_031d:;
                                                                //   3596           %IF Q=0 %OR Q>=100 %OR (Q=10 %AND I=CUR CYC VAR)%START
#line 3596 "regression-compile-tmp/imp918s.imp"
if (((Q) == (0))) goto L_031a;
#line 3596 "regression-compile-tmp/imp918s.imp"
if (((Q) >= (100))) goto L_031a;
#line 3596 "regression-compile-tmp/imp918s.imp"
if (((Q) != (10))) goto L_031e;
#line 3596 "regression-compile-tmp/imp918s.imp"
if (((I) != (CURCYCVAR))) goto L_031e;
#line 3596 "regression-compile-tmp/imp918s.imp"
L_031a:;
                                                                //   3597              FIND USE(I,1,3,TN)
#line 3597 "regression-compile-tmp/imp918s.imp"
FINDUSE(&I, 1, 3, TN);
                                                                //   3598              %IF I>=0 %THEN %START
#line 3598 "regression-compile-tmp/imp918s.imp"
if (((I) < (0))) goto L_031f;
                                                                //   3599                 PRR(X'18',REG,I) %UNLESS REG=I
#line 3599 "regression-compile-tmp/imp918s.imp"
if (((REG) == (I))) goto L_0320;
#line 3599 "regression-compile-tmp/imp918s.imp"
PRR(24, REG, I);
#line 3599 "regression-compile-tmp/imp918s.imp"
L_0320:;
                                                                //   3600              %FINISH %ELSE DUMP(X'58',REG,S3>>16,0,S1>>4&15)
#line 3600 "regression-compile-tmp/imp918s.imp"
goto L_0321;
#line 3600 "regression-compile-tmp/imp918s.imp"
L_031f:;
#line 3600 "regression-compile-tmp/imp918s.imp"
DUMP(88, REG, (int)((((unsigned int)(S3)) >> (16))), 0, (((int)((((unsigned int)(S1)) >> (4)))) & (15)));
#line 3600 "regression-compile-tmp/imp918s.imp"
L_0321:;
                                                                //   3601           %FINISH
#line 3601 "regression-compile-tmp/imp918s.imp"
L_031e:;
                                                                //   3602           SET USE(REG,3,TN)
#line 3602 "regression-compile-tmp/imp918s.imp"
SETUSE(REG, 3, TN);
                                                                //   3603           REGISTER(REG)=-1;             ! LOCK THE REG
#line 3603 "regression-compile-tmp/imp918s.imp"
REGISTER[REG] = (-1);
                                                                //   3604           S1=S1+7<<16;                  ! PTYPE FROM1 TO 8
#line 3604 "regression-compile-tmp/imp918s.imp"
S1 = ((S1) + ((int)(((7) << (16)))));
                                                                //   3605           S2=S2&X'FFFF'!S3&X'FFFF0000' ; ! K TO SNDISP
#line 3605 "regression-compile-tmp/imp918s.imp"
S2 = ((((S2) & (65535))) | (((S3) & ((-65536)))));
                                                                //   3606           REPLACE123(TN,S1,S2,REG<<16)
#line 3606 "regression-compile-tmp/imp918s.imp"
REPLACE123(TN, S1, S2, ((REG) << (16)));
                                                                //   3607           %END
#line 3607 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block VALLOC at level 3
                                                                //   3608           %ROUTINE VDALLOC(%INTEGER REG,REGP)
#line 3608 "regression-compile-tmp/imp918s.imp"
void VDALLOC( int REG, int REGP )
#line 3608 "regression-compile-tmp/imp918s.imp"
{
                                                                //   3609           {%SHORTROUTINE}
                                                                //   3610  !***********************************************************************
                                                                //   3611  !*       DE-ALLOCATE REG WHICH WAS ALLOCATED BY VALLOC(Q.V.). STORE REG*
                                                                //   3612  !*       INTO CORE AND RESTORE CORE COPY FROM REGP. REGP<=0 NO RESTORE *
                                                                //   3613  !*       OFTEN REG=REGP                                                *
                                                                //   3614  !***********************************************************************
                                                                //   3615           %INTEGER TN,S1,S2,S3
#line 3615 "regression-compile-tmp/imp918s.imp"
int TN;
#line 3615 "regression-compile-tmp/imp918s.imp"
int S1;
#line 3615 "regression-compile-tmp/imp918s.imp"
int S2;
#line 3615 "regression-compile-tmp/imp918s.imp"
int S3;
                                                                //   3616           TN=GRINF(REG)
#line 3616 "regression-compile-tmp/imp918s.imp"
TN = GRINF[REG];
                                                                //   3617           FROM123(TN,S1,S2,S3)
#line 3617 "regression-compile-tmp/imp918s.imp"
FROM123(TN, &S1, &S2, &S3);
                                                                //   3618           S3=S2>>16<<16
#line 3618 "regression-compile-tmp/imp918s.imp"
S3 = (((int)((((unsigned int)(S2)) >> (16)))) << (16));
                                                                //   3619           S1=S1-7<<16;                  ! BACK TO INTEGER
#line 3619 "regression-compile-tmp/imp918s.imp"
S1 = ((S1) - ((int)(((7) << (16)))));
                                                                //   3620           %IF REGP#0 %THEN DUMP(X'50',REGP,S3>>16,0,S1>>4&15)
#line 3620 "regression-compile-tmp/imp918s.imp"
if (((REGP) == (0))) goto L_0322;
#line 3620 "regression-compile-tmp/imp918s.imp"
DUMP(80, REGP, (int)((((unsigned int)(S3)) >> (16))), 0, (((int)((((unsigned int)(S1)) >> (4)))) & (15)));
#line 3620 "regression-compile-tmp/imp918s.imp"
L_0322:;
                                                                //   3621           REGISTER(REG)=0
#line 3621 "regression-compile-tmp/imp918s.imp"
REGISTER[REG] = 0;
                                                                //   3622           REPLACE123(TN,S1,S2,S3)
#line 3622 "regression-compile-tmp/imp918s.imp"
REPLACE123(TN, S1, S2, S3);
                                                                //   3623           %END
#line 3623 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block VDALLOC at level 3
                                                                //   3624           %ROUTINE LOADUP(%INTEGER REGINFO)
#line 3624 "regression-compile-tmp/imp918s.imp"
void LOADUP( int REGINFO )
#line 3624 "regression-compile-tmp/imp918s.imp"
{
                                                                //   3625           {%SHORTROUTINE}
                                                                //   3626  !***********************************************************************
                                                                //   3627  !*       REGINFO IS BIT MASK OF AVAILABLE REGS                         *
                                                                //   3628  !*       CYC BITS HAS INFORMATION ON OPERATIONS IN THE CYCLE           *
                                                                //   3629  !*       THIS ROUTINE PRELOADS ANY FREE REGISTERS FROM THE INFORMATION *
                                                                //   3630  !*       IN THE LIST HEADED BY 'SFHEAD' WHICH WAS ORDERED BY ROUTINE   *
                                                                //   3631  !*       'ORDER' SO THAT THE TOP HAS THE MOST USED ITEMS               *
                                                                //   3632  !***********************************************************************
                                                                //   3633           {%SHORTROUTINE}
                                                                //   3634           %RECORD(OPTFORM)%NAME OPTE
#line 3634 "regression-compile-tmp/imp918s.imp"
 OPTFORM /*name*/*OPTE;
                                                                //   3635           %INTEGER I,USE,NEXTREG,INF,X,Y,Z,PTR
#line 3635 "regression-compile-tmp/imp918s.imp"
int I;
#line 3635 "regression-compile-tmp/imp918s.imp"
int USE;
#line 3635 "regression-compile-tmp/imp918s.imp"
int NEXTREG;
#line 3635 "regression-compile-tmp/imp918s.imp"
int INF;
#line 3635 "regression-compile-tmp/imp918s.imp"
int X;
#line 3635 "regression-compile-tmp/imp918s.imp"
int Y;
#line 3635 "regression-compile-tmp/imp918s.imp"
int Z;
#line 3635 "regression-compile-tmp/imp918s.imp"
int PTR;
                                                                //   3636           PTR=OPTPTR+1
#line 3636 "regression-compile-tmp/imp918s.imp"
PTR = (((int)(OPTPTR)) + (1));
                                                                //   3637  AGN:     PTR=PTR-1
#line 3637 "regression-compile-tmp/imp918s.imp"
U_1030:;
#line 3637 "regression-compile-tmp/imp918s.imp"
PTR = (((int)(PTR)) - (1));
                                                                //   3638           ->Label99 %IF PTR=0
#line 3638 "regression-compile-tmp/imp918s.imp"
if (((PTR) != (0))) goto L_0323;
#line 3638 "regression-compile-tmp/imp918s.imp"
goto U_1031;
#line 3638 "regression-compile-tmp/imp918s.imp"
L_0323:;
                                                                //   3639           OPTE==OPTINF(PTR)
#line 3639 "regression-compile-tmp/imp918s.imp"
OPTE = &OPTINF[PTR];
                                                                //   3640           %IF REGINFO=0 %THEN ->Label99
#line 3640 "regression-compile-tmp/imp918s.imp"
if (((REGINFO) != (0))) goto L_0324;
#line 3640 "regression-compile-tmp/imp918s.imp"
goto U_1031;
#line 3640 "regression-compile-tmp/imp918s.imp"
L_0324:;
                                                                //   3641           %CYCLE I=4,1,15
#line 3641 "regression-compile-tmp/imp918s.imp"
I = 3;
if ((((15)-(4)) % (1)) != 0) _imp_signal(5,1,0,"Illegal cycle I = 4, 1, 15");
L_0325:;
if (I == 15) goto L_0326;
I += 1;
                                                                //   3642           ->Label1 %IF REGINFO&(1<<I)#0
#line 3642 "regression-compile-tmp/imp918s.imp"
if (((((REGINFO) & (((1) << (I))))) == (0))) goto L_0328;
#line 3642 "regression-compile-tmp/imp918s.imp"
goto U_1032;
#line 3642 "regression-compile-tmp/imp918s.imp"
L_0328:;
                                                                //   3643           %REPEAT
#line 3643 "regression-compile-tmp/imp918s.imp"
goto L_0325;
#line 3643 "regression-compile-tmp/imp918s.imp"
L_0326:;
                                                                //   3644           %MONITOR ; %STOP
#line 3644 "regression-compile-tmp/imp918s.imp"
_imp_monitor(0, (_imp_current_line != 0 ? _imp_current_line : __LINE__), (_imp_current_file != 0 ? _imp_current_file : __FILE__), __PRETTY_FUNCTION__);
#line 3644 "regression-compile-tmp/imp918s.imp"
exit(0);
                                                                //   3645  Label1:       REGINFO=REGINFO!!(1<<I)
#line 3645 "regression-compile-tmp/imp918s.imp"
U_1032:;
#line 3645 "regression-compile-tmp/imp918s.imp"
REGINFO = ((REGINFO) ^ (((1) << (I))));
                                                                //   3646  Label2:       NEXTREG=I
#line 3646 "regression-compile-tmp/imp918s.imp"
U_101d:;
#line 3646 "regression-compile-tmp/imp918s.imp"
NEXTREG = I;
                                                                //   3647  Label3:       %IF OPTE_TYPE=12 %THEN ->CODEB
#line 3647 "regression-compile-tmp/imp918s.imp"
U_101e:;
#line 3647 "regression-compile-tmp/imp918s.imp"
if (((OPTE->TYPE) != (12))) goto L_0329;
#line 3647 "regression-compile-tmp/imp918s.imp"
goto U_101f;
#line 3647 "regression-compile-tmp/imp918s.imp"
L_0329:;
                                                                //   3648           %IF OPTE_TYPE=0 %THEN ->CONST
#line 3648 "regression-compile-tmp/imp918s.imp"
if (((OPTE->TYPE) != (0))) goto L_032a;
#line 3648 "regression-compile-tmp/imp918s.imp"
goto U_1020;
#line 3648 "regression-compile-tmp/imp918s.imp"
L_032a:;
                                                                //   3649           %IF OPTE_TYPE=2 %THEN %START
#line 3649 "regression-compile-tmp/imp918s.imp"
if (((OPTE->TYPE) != (2))) goto L_032b;
                                                                //   3650              INF=TAGS(OPTE_XTRA)
#line 3650 "regression-compile-tmp/imp918s.imp"
INF = TAGS[OPTE->XTRA];
                                                                //   3651              PTYPE=OPTE_PTYPE; UNPACK
#line 3651 "regression-compile-tmp/imp918s.imp"
PTYPE = OPTE->PTYPE;
#line 3651 "regression-compile-tmp/imp918s.imp"
UNPACK();
                                                                //   3652              %IF PTYPE=1 %AND CYCBITS&X'40F'=0 %AND OPTE_BITS&3<<3=0 %C
#line 3652 "regression-compile-tmp/imp918s.imp"
if (((PTYPE) != (1))) goto L_032c;
#line 3652 "regression-compile-tmp/imp918s.imp"
if (((((CYCBITS) & (1039))) != (0))) goto L_032c;
#line 3652 "regression-compile-tmp/imp918s.imp"
if (((((OPTE->BITS) & (((3) << (3))))) != (0))) goto L_032c;
#line 3652 "regression-compile-tmp/imp918s.imp"
if (((((CYCBITS) & (32))) == (0))) goto L_032d;
#line 3652 "regression-compile-tmp/imp918s.imp"
if (((OPTE->XTRA) == (CURCYCVAR))) goto L_032c;
#line 3652 "regression-compile-tmp/imp918s.imp"
L_032d:;
#line 3652 "regression-compile-tmp/imp918s.imp"
VALLOC(NEXTREG, INF);
#line 3652 "regression-compile-tmp/imp918s.imp"
USE = 3;
#line 3652 "regression-compile-tmp/imp918s.imp"
goto U_1035;
#line 3652 "regression-compile-tmp/imp918s.imp"
L_032c:;
                                                                //   3653                 %AND(CYC BITS&X'20'=0 %OR OPTE_XTRA#CUR CYC VAR) %THEN %C
                                                                //   3654                 VALLOC(NEXTREG,INF) %AND USE=3 %AND ->RSET
                                                                //   3655  !
                                                                //   3656              %IF TYPE=3 %AND NAM=1 %AND ARR=0 %AND OPTE_BITS&5<<14=0 %C
#line 3656 "regression-compile-tmp/imp918s.imp"
if (((TYPE) != (3))) goto L_032e;
#line 3656 "regression-compile-tmp/imp918s.imp"
if (((NAM) != (1))) goto L_032e;
#line 3656 "regression-compile-tmp/imp918s.imp"
if (((ARR) != (0))) goto L_032e;
#line 3656 "regression-compile-tmp/imp918s.imp"
if (((((OPTE->BITS) & (((5) << (14))))) != (0))) goto L_032e;
#line 3656 "regression-compile-tmp/imp918s.imp"
if (((((CYCBITS) & (8))) == (0))) goto L_032f;
#line 3656 "regression-compile-tmp/imp918s.imp"
if ((((((((((((((-(((1) << (20))))) << (FROM1(INF))))) >> (8)))) & (15))) & (CYCBITS))) != (0))) goto L_032e;
#line 3656 "regression-compile-tmp/imp918s.imp"
L_032f:;
#line 3656 "regression-compile-tmp/imp918s.imp"
goto U_1036;
#line 3656 "regression-compile-tmp/imp918s.imp"
L_032e:;
                                                                //   3657                 %AND(CYCBITS&8=0 %OR ((-1<<20)<<FROM1(INF)>>8&15) %C
                                                                //   3658                 &CYCBITS=0) %THEN ->LOAD RBASE
                                                                //   3659  !
                                                                //   3660              %IF ARR=1 %AND(NAM=0 %OR (CYCBITS&8=0 %AND OPTE_BITS %C
#line 3660 "regression-compile-tmp/imp918s.imp"
if (((ARR) != (1))) goto L_0330;
#line 3660 "regression-compile-tmp/imp918s.imp"
if (((NAM) == (0))) goto L_0331;
#line 3660 "regression-compile-tmp/imp918s.imp"
if (((((CYCBITS) & (8))) != (0))) goto L_0330;
#line 3660 "regression-compile-tmp/imp918s.imp"
if (((((OPTE->BITS) & (((1) << (12))))) != (0))) goto L_0330;
#line 3660 "regression-compile-tmp/imp918s.imp"
L_0331:;
#line 3660 "regression-compile-tmp/imp918s.imp"
goto U_1029;
#line 3660 "regression-compile-tmp/imp918s.imp"
L_0330:;
                                                                //   3661                 &(1<<12)=0)) %THEN -> LOAD ABASE
                                                                //   3662           %FINISH
#line 3662 "regression-compile-tmp/imp918s.imp"
L_032b:;
                                                                //   3663           PTR=PTR-1
#line 3663 "regression-compile-tmp/imp918s.imp"
PTR = (((int)(PTR)) - (1));
                                                                //   3664           ->Label99 %IF PTR<=0
#line 3664 "regression-compile-tmp/imp918s.imp"
if (((PTR) > (0))) goto L_0332;
#line 3664 "regression-compile-tmp/imp918s.imp"
goto U_1031;
#line 3664 "regression-compile-tmp/imp918s.imp"
L_0332:;
                                                                //   3665           OPTE==OPTINF(PTR); ->Label3
#line 3665 "regression-compile-tmp/imp918s.imp"
OPTE = &OPTINF[PTR];
#line 3665 "regression-compile-tmp/imp918s.imp"
goto U_101e;
                                                                //   3666  LOADRBASE:USE=7
#line 3666 "regression-compile-tmp/imp918s.imp"
U_1036:;
#line 3666 "regression-compile-tmp/imp918s.imp"
USE = 7;
                                                                //   3667  LOADANY: X=FROM1(INF)>>4&15
#line 3667 "regression-compile-tmp/imp918s.imp"
U_102a:;
#line 3667 "regression-compile-tmp/imp918s.imp"
X = (((int)((((unsigned int)(FROM1(INF))) >> (4)))) & (15));
                                                                //   3668           Z=FROM3(INF)>>16
#line 3668 "regression-compile-tmp/imp918s.imp"
Z = (int)((((unsigned int)(FROM3(INF))) >> (16)));
                                                                //   3669           I=X'58'
#line 3669 "regression-compile-tmp/imp918s.imp"
I = 88;
                                                                //   3670           ->COM
#line 3670 "regression-compile-tmp/imp918s.imp"
goto U_102b;
                                                                //   3671  LOADABASE:USE=8; ->LOADANY
#line 3671 "regression-compile-tmp/imp918s.imp"
U_1029:;
#line 3671 "regression-compile-tmp/imp918s.imp"
USE = 8;
#line 3671 "regression-compile-tmp/imp918s.imp"
goto U_102a;
                                                                //   3672  CODEB:                          ! BASE REGISTER FOR REPEATING NEEDED
#line 3672 "regression-compile-tmp/imp918s.imp"
U_101f:;
                                                                //   3673           PRR(5,NEXTREG,0);                 ! BALR NEXTREG,0
#line 3673 "regression-compile-tmp/imp918s.imp"
PRR(5, NEXTREG, 0);
                                                                //   3674           CYC BASE=NEXT REG; CYC ADDR=CA
#line 3674 "regression-compile-tmp/imp918s.imp"
CYCBASE = NEXTREG;
#line 3674 "regression-compile-tmp/imp918s.imp"
CYCADDR = CA;
                                                                //   3675           USE=12
#line 3675 "regression-compile-tmp/imp918s.imp"
USE = 12;
                                                                //   3676           INF=CYC ADDR; ->SETU
#line 3676 "regression-compile-tmp/imp918s.imp"
INF = CYCADDR;
#line 3676 "regression-compile-tmp/imp918s.imp"
goto U_102c;
                                                                //   3677  COM:     DUMP(I,NEXTREG,Z,0,X)
#line 3677 "regression-compile-tmp/imp918s.imp"
U_102b:;
#line 3677 "regression-compile-tmp/imp918s.imp"
DUMP(I, NEXTREG, Z, 0, X);
                                                                //   3678  SETU:    SET USE(NEXTREG,USE,INF)
#line 3678 "regression-compile-tmp/imp918s.imp"
U_102c:;
#line 3678 "regression-compile-tmp/imp918s.imp"
SETUSE(NEXTREG, USE, INF);
                                                                //   3679           REGISTER(NEXTREG)=-1
#line 3679 "regression-compile-tmp/imp918s.imp"
REGISTER[NEXTREG] = (-1);
                                                                //   3680  RSET:    CYC REGS=CYC REGS!1<<NEXTREG
#line 3680 "regression-compile-tmp/imp918s.imp"
U_1035:;
#line 3680 "regression-compile-tmp/imp918s.imp"
CYCREGS = ((CYCREGS) | (((1) << (NEXTREG))));
                                                                //   3681  !         %IF DCOMP=1 %THEN %START
                                                                //   3682  !            printstring("
                                                                //   3683  !LOADS REGISTER")
                                                                //   3684  !            WRITE(NEXTREG,3)
                                                                //   3685  !            WRITE(USE,3)
                                                                //   3686  !            WRITE(INF,5)
                                                                //   3687  !        %FINISH
                                                                //   3688           -> AGN
#line 3688 "regression-compile-tmp/imp918s.imp"
goto U_1030;
                                                                //   3689  CONST:   I=0; Z=OPTE_XTRA
#line 3689 "regression-compile-tmp/imp918s.imp"
U_1020:;
#line 3689 "regression-compile-tmp/imp918s.imp"
I = 0;
#line 3689 "regression-compile-tmp/imp918s.imp"
Z = OPTE->XTRA;
                                                                //   3690           INF=Z
#line 3690 "regression-compile-tmp/imp918s.imp"
INF = Z;
                                                                //   3691           USE=2; X=0; -> COM
#line 3691 "regression-compile-tmp/imp918s.imp"
USE = 2;
#line 3691 "regression-compile-tmp/imp918s.imp"
X = 0;
#line 3691 "regression-compile-tmp/imp918s.imp"
goto U_102b;
                                                                //   3692  Label99:       %END
#line 3692 "regression-compile-tmp/imp918s.imp"
U_1031:;
#line 3692 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block LOADUP at level 3
                                                                //   3693           %ROUTINE CYCOPT(%INTEGERNAME FLAG,%INTEGER WU)
#line 3693 "regression-compile-tmp/imp918s.imp"
void CYCOPT( int /*name*/*FLAG, int WU )
#line 3693 "regression-compile-tmp/imp918s.imp"
{
                                                                //   3694           {%SHORTROUTINE}
                                                                //   3695  ! EXAMINE THE STATEMENTS IN THE CYCLIC BUFFER FOR A '%REPEAT' AND
                                                                //   3696  ! COMPUTE IF REGISTERS CAN BE ALLOCATED FOR INCREMENT AND FINAL VALUE.
                                                                //   3697  ! WU=0 FOR OLD TYPE CYCLE =1 FOR WHILE OR UNTIL =2 FOR OPEN CYCLE
                                                                //   3698           %INTEGER I,J,K,CREGS,SCCSTATE
#line 3698 "regression-compile-tmp/imp918s.imp"
int I;
#line 3698 "regression-compile-tmp/imp918s.imp"
int J;
#line 3698 "regression-compile-tmp/imp918s.imp"
int K;
#line 3698 "regression-compile-tmp/imp918s.imp"
int CREGS;
#line 3698 "regression-compile-tmp/imp918s.imp"
int SCCSTATE;
                                                                //   3699           FLAG=0; CREGS=0; CYC ASS=0; CYC REGS=0; CYC BASE=0
#line 3699 "regression-compile-tmp/imp918s.imp"
*FLAG = 0;
#line 3699 "regression-compile-tmp/imp918s.imp"
CREGS = 0;
#line 3699 "regression-compile-tmp/imp918s.imp"
CYCASS = 0;
#line 3699 "regression-compile-tmp/imp918s.imp"
CYCREGS = 0;
#line 3699 "regression-compile-tmp/imp918s.imp"
CYCBASE = 0;
                                                                //   3700           %RETURN %UNLESS STMTSHELD>1;   ! NO STATEMENTS IN BUFFER
#line 3700 "regression-compile-tmp/imp918s.imp"
if (((STMTSHELD) > (1))) goto L_0333;
#line 3700 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 3700 "regression-compile-tmp/imp918s.imp"
L_0333:;
                                                                //   3701           %RETURN %IF WU=0 %AND FFLAG#0;! FNS IN P,Q,R
#line 3701 "regression-compile-tmp/imp918s.imp"
if (((WU) != (0))) goto L_0334;
#line 3701 "regression-compile-tmp/imp918s.imp"
if (((FFLAG) == (0))) goto L_0334;
#line 3701 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 3701 "regression-compile-tmp/imp918s.imp"
L_0334:;
                                                                //   3702           %CYCLE I=2,1,STMTSHELD
#line 3702 "regression-compile-tmp/imp918s.imp"
{static int _initial, _increment, _final, _control;
_initial = 2; _increment = 1; _final = STMTSHELD; I = _control = _initial;
if (((_final-_initial) % _increment) != 0) _imp_signal(5,1,0,"Illegal cycle I = 2, 1, STMTSHELD");
I -= _increment; _control -= _increment;
L_0335:;
if (I == _final) goto L_0336;
I += _increment; _control += _increment;
if (I != _control) _imp_signal(4,2,0,"Corrupt control variable I"); /* FOR loop control variable corrupted */
}
                                                                //   3703           J=STPTRS(I)
#line 3703 "regression-compile-tmp/imp918s.imp"
J = STPTRS[(((int)(I)) - (1))];
                                                                //   3704           ->NESTED %IF A(J)=2;    ! CONTAINS NESTED CYCLE DONT OPTIMISE
#line 3704 "regression-compile-tmp/imp918s.imp"
if (((A[((J) + ((int)(7)))]) != (2))) goto L_0338;
#line 3704 "regression-compile-tmp/imp918s.imp"
goto U_1017;
#line 3704 "regression-compile-tmp/imp918s.imp"
L_0338:;
                                                                //   3705           ->NESTED %IF A(J)=6 %AND A(J+2+A(J+2))<=2;! WU CYCLE
#line 3705 "regression-compile-tmp/imp918s.imp"
if (((A[((J) + ((int)(7)))]) != (6))) goto L_0339;
#line 3705 "regression-compile-tmp/imp918s.imp"
if (((A[(((unsigned char)((((short)((((int)(J)) + (2)))) + (A[(((unsigned char)((((int)(J)) + (2)))) + (7))])))) + (7))]) > (2))) goto L_0339;
#line 3705 "regression-compile-tmp/imp918s.imp"
goto U_1017;
#line 3705 "regression-compile-tmp/imp918s.imp"
L_0339:;
                                                                //   3706           -> CR %IF A(J)=3;       ! CORRESPONDING REPEAT FOUND!
#line 3706 "regression-compile-tmp/imp918s.imp"
if (((A[((J) + ((int)(7)))]) != (3))) goto L_033a;
#line 3706 "regression-compile-tmp/imp918s.imp"
goto U_1018;
#line 3706 "regression-compile-tmp/imp918s.imp"
L_033a:;
                                                                //   3707           %REPEAT
#line 3707 "regression-compile-tmp/imp918s.imp"
goto L_0335;
#line 3707 "regression-compile-tmp/imp918s.imp"
L_0336:;
                                                                //   3708  NESTED:  %RETURN
#line 3708 "regression-compile-tmp/imp918s.imp"
U_1017:;
#line 3708 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   3709  CR:      K=16; ->REGS %IF WU#0
#line 3709 "regression-compile-tmp/imp918s.imp"
U_1018:;
#line 3709 "regression-compile-tmp/imp918s.imp"
K = 16;
#line 3709 "regression-compile-tmp/imp918s.imp"
if (((WU) == (0))) goto L_033b;
#line 3709 "regression-compile-tmp/imp918s.imp"
goto U_102e;
#line 3709 "regression-compile-tmp/imp918s.imp"
L_033b:;
                                                                //   3710           K=6; ->REGS %IF REGISTER(6)=0 %AND REGISTER(7)=0
#line 3710 "regression-compile-tmp/imp918s.imp"
K = 6;
#line 3710 "regression-compile-tmp/imp918s.imp"
if (((REGISTER[6]) != (0))) goto L_033c;
#line 3710 "regression-compile-tmp/imp918s.imp"
if (((REGISTER[7]) != (0))) goto L_033c;
#line 3710 "regression-compile-tmp/imp918s.imp"
goto U_102e;
#line 3710 "regression-compile-tmp/imp918s.imp"
L_033c:;
                                                                //   3711           K=4; ->REGS %IF REGISTER(4)=REGISTER(5)=0
#line 3711 "regression-compile-tmp/imp918s.imp"
K = 4;
#line 3711 "regression-compile-tmp/imp918s.imp"
if ((((REGISTER[4]) != (REGISTER[5]))) || (((REGISTER[5]) != (0)))) goto L_033d;
#line 3711 "regression-compile-tmp/imp918s.imp"
goto U_102e;
#line 3711 "regression-compile-tmp/imp918s.imp"
L_033d:;
                                                                //   3712           FLAG=-1;     ! WORTH TRYING TO USE GRS2&3
#line 3712 "regression-compile-tmp/imp918s.imp"
*FLAG = (-1);
                                                                //   3713           %RETURN
#line 3713 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   3714  REGS:    FLAG=K
#line 3714 "regression-compile-tmp/imp918s.imp"
U_102e:;
#line 3714 "regression-compile-tmp/imp918s.imp"
*FLAG = K;
                                                                //   3715  !         %IF DCOMP=1 %THEN %START
                                                                //   3716  !            printstring("
                                                                //   3717  !CYCLE OPTIMISABLE")
                                                                //   3718  !            WRITE(FLAG,2)
                                                                //   3719  !         %FINISH
                                                                //   3720           EXTRA PASS(2-WU&1,I-1,FLAG)
#line 3720 "regression-compile-tmp/imp918s.imp"
EXTRAPASS(((2) - ((int)(((WU) & (1))))), (((int)(I)) - (1)), *FLAG);
                                                                //   3721           %END
#line 3721 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block CYCOPT at level 3
                                                                //   3722           %ROUTINE EXTRA PASS(%INTEGER FST,LST,FLAG)
#line 3722 "regression-compile-tmp/imp918s.imp"
void EXTRAPASS( int FST, int LST, int FLAG )
#line 3722 "regression-compile-tmp/imp918s.imp"
{
                                                                //   3723           {%SHORTROUTINE}
                                                                //   3724           %INTEGER SAVECA,USE,INF,BITS,J,CREGS,SCCSTATE
#line 3724 "regression-compile-tmp/imp918s.imp"
int SAVECA;
#line 3724 "regression-compile-tmp/imp918s.imp"
int USE;
#line 3724 "regression-compile-tmp/imp918s.imp"
int INF;
#line 3724 "regression-compile-tmp/imp918s.imp"
int BITS;
#line 3724 "regression-compile-tmp/imp918s.imp"
int J;
#line 3724 "regression-compile-tmp/imp918s.imp"
int CREGS;
#line 3724 "regression-compile-tmp/imp918s.imp"
int SCCSTATE;
                                                                //   3725           %SHORTINTEGER HEAD
#line 3725 "regression-compile-tmp/imp918s.imp"
short HEAD;
                                                                //   3726           CREGS=0
#line 3726 "regression-compile-tmp/imp918s.imp"
CREGS = 0;
                                                                //   3727           %CYCLE J=4,1,14
#line 3727 "regression-compile-tmp/imp918s.imp"
J = 3;
if ((((14)-(4)) % (1)) != 0) _imp_signal(5,1,0,"Illegal cycle J = 4, 1, 14");
L_033e:;
if (J == 14) goto L_033f;
J += 1;
                                                                //   3728              %IF REGISTER(J)=0 %THEN %START
#line 3728 "regression-compile-tmp/imp918s.imp"
if (((REGISTER[J]) != (0))) goto L_0341;
                                                                //   3729                 CREGS=CREGS!1<<J %UNLESS FLAG<=J<=FLAG+1
#line 3729 "regression-compile-tmp/imp918s.imp"
if ((((FLAG) > (J))) || (((J) <= ((((int)(FLAG)) + (1)))))) goto L_0343;
#line 3729 "regression-compile-tmp/imp918s.imp"
L_0342:;
#line 3729 "regression-compile-tmp/imp918s.imp"
CREGS = ((CREGS) | (((1) << (J))));
#line 3729 "regression-compile-tmp/imp918s.imp"
L_0343:;
                                                                //   3730              %FINISH
#line 3730 "regression-compile-tmp/imp918s.imp"
L_0341:;
                                                                //   3731           %REPEAT
#line 3731 "regression-compile-tmp/imp918s.imp"
goto L_033e;
#line 3731 "regression-compile-tmp/imp918s.imp"
L_033f:;
                                                                //   3732           %RETURN %UNLESS LST>=FST
#line 3732 "regression-compile-tmp/imp918s.imp"
if (((LST) >= (FST))) goto L_0344;
#line 3732 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 3732 "regression-compile-tmp/imp918s.imp"
L_0344:;
                                                                //   3733           CODE OUT;                  ! EMPTY CODE BUFFER
#line 3733 "regression-compile-tmp/imp918s.imp"
CODEOUT();
                                                                //   3734           SAVECA=CA;                 ! AND PRESERVE CURRENT ADDRESS
#line 3734 "regression-compile-tmp/imp918s.imp"
SAVECA = CA;
                                                                //   3735           INF=0; OPTPTR=0
#line 3735 "regression-compile-tmp/imp918s.imp"
INF = 0;
#line 3735 "regression-compile-tmp/imp918s.imp"
OPTPTR = 0;
                                                                //   3736           SCCSTATE=CCSTATE
#line 3736 "regression-compile-tmp/imp918s.imp"
SCCSTATE = CCSTATE;
                                                                //   3737           HEAD=0; GET ENV(HEAD);     ! AND THE REGISTER CONTENTS
#line 3737 "regression-compile-tmp/imp918s.imp"
HEAD = 0;
#line 3737 "regression-compile-tmp/imp918s.imp"
GETENV(&HEAD);
                                                                //   3738           FORGETM(14)
#line 3738 "regression-compile-tmp/imp918s.imp"
FORGETM(14);
                                                                //   3739           %IF 4<=FLAG<=14 %THEN OPTSAVE(2,2,1,CURCYCVAR)
#line 3739 "regression-compile-tmp/imp918s.imp"
if ((((4) > (FLAG))) || (((FLAG) > (14)))) goto L_0345;
#line 3739 "regression-compile-tmp/imp918s.imp"
OPTSAVE(2, 2, 1, CURCYCVAR);
#line 3739 "regression-compile-tmp/imp918s.imp"
L_0345:;
                                                                //   3740  ! CYCLE BITS SIGNIFY AS FOLLOWS:-
                                                                //   3741  ! 2**0 = STATEMENT CONTAINS USER LABEL
                                                                //   3742  ! 2**1 = STATEMENT CONTAINS JUMP INSTRUCTION
                                                                //   3743  ! 2**2 = STATEMENT CONTAINS PERM SUBROUTINE CALL
                                                                //   3744  ! 2**3 = STATEMENT CONTAINS NORMAL ROUTINE/FN CALL
                                                                //   3745  ! 2**4 = STATEMENT USES PERMS CONSTANT LIST
                                                                //   3746  ! 2**5 = STATEMENT CONTAINS ASSIGNMENT TO CONTROL VARIABLE
                                                                //   3747  ! 2**6 = STATEMENT REQUIRES EVEN/ODD PAIR
                                                                //   3748  ! 2**7 = STATEMENT REQUIRES A SAFE REGISTER
                                                                //   3749  ! 2**8 = STATEMENT CONTAINS == TO RECORD OR SCALAR NAME
                                                                //   3750  ! 2**9 = STATEMENT CONTAINS == TO ARRAY NAME
                                                                //   3751  ! 2**10= STATEMENT CONTAINS A STORE VIA A BUILT-IN MAP
                                                                //   3752  ! 2**20->Label2**31 GIVE TEXTUAL LEVELS OF ANY RTS CALLED
                                                                //   3753           SFHEAD=0; BITS=0
#line 3753 "regression-compile-tmp/imp918s.imp"
SFHEAD = 0;
#line 3753 "regression-compile-tmp/imp918s.imp"
BITS = 0;
                                                                //   3754           %IF SAVECA-CODEBASE>4000 %THEN BITS=X'10';! LONG BRANCH BACK
#line 3754 "regression-compile-tmp/imp918s.imp"
if ((((((int)(SAVECA)) - (CODEBASE))) <= (4000))) goto L_0346;
#line 3754 "regression-compile-tmp/imp918s.imp"
BITS = 16;
#line 3754 "regression-compile-tmp/imp918s.imp"
L_0346:;
                                                                //   3755           %CYCLE J=FST,1,LST;          ! CYCLE THRO' ENCLOSED STMNTS
#line 3755 "regression-compile-tmp/imp918s.imp"
{static int _initial, _increment, _final, _control;
_initial = FST; _increment = 1; _final = LST; J = _control = _initial;
if (((_final-_initial) % _increment) != 0) _imp_signal(5,1,0,"Illegal cycle J = FST, 1, LST");
J -= _increment; _control -= _increment;
L_0347:;
if (J == _final) goto L_0348;
J += _increment; _control += _increment;
if (J != _control) _imp_signal(4,2,0,"Corrupt control variable J"); /* FOR loop control variable corrupted */
}
                                                                //   3756              CSS(STPTRS(J),0);          ! COMPILE THEM
#line 3756 "regression-compile-tmp/imp918s.imp"
CSS(STPTRS[(((int)(J)) - (1))], 0);
                                                                //   3757                                         ! AND DISCARD ANY BINARY
                                                                //   3758              BITS=BITS!CYC BITS;        ! REMEMBER SALIENT FEATURES
#line 3758 "regression-compile-tmp/imp918s.imp"
BITS = ((BITS) | (CYCBITS));
                                                                //   3759              FORGETM(14)
#line 3759 "regression-compile-tmp/imp918s.imp"
FORGETM(14);
                                                                //   3760           %REPEAT
#line 3760 "regression-compile-tmp/imp918s.imp"
goto L_0347;
#line 3760 "regression-compile-tmp/imp918s.imp"
L_0348:;
                                                                //   3761           %IF CA-CODEBASE<4000 %THEN CYC BASE=10 %AND CYC ADDR=CODEBASE
#line 3761 "regression-compile-tmp/imp918s.imp"
if ((((((int)(CA)) - (CODEBASE))) >= (4000))) goto L_034a;
#line 3761 "regression-compile-tmp/imp918s.imp"
CYCBASE = 10;
#line 3761 "regression-compile-tmp/imp918s.imp"
CYCADDR = CODEBASE;
#line 3761 "regression-compile-tmp/imp918s.imp"
L_034a:;
                                                                //   3762           CYC BITS=BITS
#line 3762 "regression-compile-tmp/imp918s.imp"
CYCBITS = BITS;
                                                                //   3763           -> NO PRELOAD %UNLESS CYC BITS&1=0;   ! LABEL IN CYCLE
#line 3763 "regression-compile-tmp/imp918s.imp"
if (((((CYCBITS) & (1))) == (0))) goto L_034b;
#line 3763 "regression-compile-tmp/imp918s.imp"
goto U_1031;
#line 3763 "regression-compile-tmp/imp918s.imp"
L_034b:;
                                                                //   3764           %IF CYC BITS&X'80'=0 %THEN ->Label5; ! IS A SAFE REG REQD?
#line 3764 "regression-compile-tmp/imp918s.imp"
if (((((CYCBITS) & (128))) != (0))) goto L_034c;
#line 3764 "regression-compile-tmp/imp918s.imp"
goto U_1032;
#line 3764 "regression-compile-tmp/imp918s.imp"
L_034c:;
                                                                //   3765           %CYCLE J=14,-1,4
#line 3765 "regression-compile-tmp/imp918s.imp"
J = 15;
if ((((4)-(14)) % ((-1))) != 0) _imp_signal(5,1,0,"Illegal cycle J = 14, (-1), 4");
L_034d:;
if (J == 4) goto L_034e;
J += (-1);
                                                                //   3766              %IF CREGS&1<<J#0 %THEN CREGS=CREGS!!1<<J %AND ->Label5
#line 3766 "regression-compile-tmp/imp918s.imp"
if (((((CREGS) & (((1) << (J))))) == (0))) goto L_0350;
#line 3766 "regression-compile-tmp/imp918s.imp"
CREGS = ((CREGS) ^ (((1) << (J))));
#line 3766 "regression-compile-tmp/imp918s.imp"
goto U_1032;
#line 3766 "regression-compile-tmp/imp918s.imp"
L_0350:;
                                                                //   3767                                          ! REMOVE 1 SAFE REGISTER
                                                                //   3768           %REPEAT
#line 3768 "regression-compile-tmp/imp918s.imp"
goto L_034d;
#line 3768 "regression-compile-tmp/imp918s.imp"
L_034e:;
                                                                //   3769  Label5:       %IF CYCBITS&X'C'=0 %THEN CREGS=CREGS!(1<<15)
#line 3769 "regression-compile-tmp/imp918s.imp"
U_1032:;
#line 3769 "regression-compile-tmp/imp918s.imp"
if (((((CYCBITS) & (12))) != (0))) goto L_0351;
#line 3769 "regression-compile-tmp/imp918s.imp"
CREGS = ((CREGS) | (((1) << (15))));
#line 3769 "regression-compile-tmp/imp918s.imp"
L_0351:;
                                                                //   3770           QSORT(OPTINF,1,OPTPTR)
#line 3770 "regression-compile-tmp/imp918s.imp"
QSORT(&OPTINF[-(0)], 1, OPTPTR);
                                                                //   3771           %IF DCOMP=1 %THEN %START
#line 3771 "regression-compile-tmp/imp918s.imp"
if (((DCOMP) != (1))) goto L_0352;
                                                                //   3772              %CYCLE J=1,1,OPTPTR
#line 3772 "regression-compile-tmp/imp918s.imp"
{static int _initial, _increment, _final, _control;
_initial = 1; _increment = 1; _final = OPTPTR; J = _control = _initial;
if (((_final-_initial) % _increment) != 0) _imp_signal(5,1,0,"Illegal cycle J = 1, 1, OPTPTR");
J -= _increment; _control -= _increment;
L_0353:;
if (J == _final) goto L_0354;
J += _increment; _control += _increment;
if (J != _control) _imp_signal(4,2,0,"Corrupt control variable J"); /* FOR loop control variable corrupted */
}
                                                                //   3773                 NEWLINE
#line 3773 "regression-compile-tmp/imp918s.imp"
_imp_NEWLINE();
                                                                //   3774                 WRITE(OPTINF(J)_COUNT,5)
#line 3774 "regression-compile-tmp/imp918s.imp"
_imp_WRITE(OPTINF[J].COUNT, 5);
                                                                //   3775                 WRITE(OPTINF(J)_TYPE,5)
#line 3775 "regression-compile-tmp/imp918s.imp"
_imp_WRITE(OPTINF[J].TYPE, 5);
                                                                //   3776                 WRITE(OPTINF(J)_BITS,5)
#line 3776 "regression-compile-tmp/imp918s.imp"
_imp_WRITE(OPTINF[J].BITS, 5);
                                                                //   3777                 WRITE(OPTINF(J)_PTYPE,5)
#line 3777 "regression-compile-tmp/imp918s.imp"
_imp_WRITE(OPTINF[J].PTYPE, 5);
                                                                //   3778                 WRITE(OPTINF(J)_XTRA,5)
#line 3778 "regression-compile-tmp/imp918s.imp"
_imp_WRITE(OPTINF[J].XTRA, 5);
                                                                //   3779              %REPEAT
#line 3779 "regression-compile-tmp/imp918s.imp"
goto L_0353;
#line 3779 "regression-compile-tmp/imp918s.imp"
L_0354:;
                                                                //   3780           %FINISH
#line 3780 "regression-compile-tmp/imp918s.imp"
L_0352:;
                                                                //   3781           %IF CYCBASE=0 %THEN OPTPTR=OPTPTR+1 %AND OPTINF(OPTPTR)_TYPE=12
#line 3781 "regression-compile-tmp/imp918s.imp"
if (((CYCBASE) != (0))) goto L_0356;
#line 3781 "regression-compile-tmp/imp918s.imp"
OPTPTR = (((int)(OPTPTR)) + (1));
#line 3781 "regression-compile-tmp/imp918s.imp"
OPTINF[OPTPTR].TYPE = 12;
#line 3781 "regression-compile-tmp/imp918s.imp"
L_0356:;
                                                                //   3782           -> RELOAD;             ! REARRANGE INFO GLEANED
#line 3782 "regression-compile-tmp/imp918s.imp"
goto U_101d;
                                                                //   3783  NO PRELOAD:  CREGS=0
#line 3783 "regression-compile-tmp/imp918s.imp"
U_1031:;
#line 3783 "regression-compile-tmp/imp918s.imp"
CREGS = 0;
                                                                //   3784  RELOAD:  RESTORE(HEAD);                ! RESET REGISTERS
#line 3784 "regression-compile-tmp/imp918s.imp"
U_101d:;
#line 3784 "regression-compile-tmp/imp918s.imp"
RESTORE(HEAD);
                                                                //   3785           CCSTATE=SCCSTATE
#line 3785 "regression-compile-tmp/imp918s.imp"
CCSTATE = SCCSTATE;
                                                                //   3786           CA=SAVECA; CABUF=CA; PP CURR=0
#line 3786 "regression-compile-tmp/imp918s.imp"
CA = SAVECA;
#line 3786 "regression-compile-tmp/imp918s.imp"
CABUF = CA;
#line 3786 "regression-compile-tmp/imp918s.imp"
PPCURR = 0;
                                                                //   3787           %IF CREGS=0 %THEN %RETURN
#line 3787 "regression-compile-tmp/imp918s.imp"
if (((CREGS) != (0))) goto L_0357;
#line 3787 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 3787 "regression-compile-tmp/imp918s.imp"
L_0357:;
                                                                //   3788  !
                                                                //   3789  ! LOAD BASE AND INCREMENT HERE WHEN RELEVANT IN CASE OF CYCLE I=1,1,I
                                                                //   3790  !
                                                                //   3791           %IF 4<=FLAG<=14 %START
#line 3791 "regression-compile-tmp/imp918s.imp"
if ((((4) > (FLAG))) || (((FLAG) > (14)))) goto L_0358;
                                                                //   3792              P=STPTRS(1)+5
#line 3792 "regression-compile-tmp/imp918s.imp"
P = (((int)(STPTRS[0])) + (5));
                                                                //   3793              SKIP EXP
#line 3793 "regression-compile-tmp/imp918s.imp"
SKIPEXP();
                                                                //   3794              DSEXP(FLAG,0)
#line 3794 "regression-compile-tmp/imp918s.imp"
DSEXP(FLAG, 0);
                                                                //   3795              SET USE(FLAG,14,0)
#line 3795 "regression-compile-tmp/imp918s.imp"
SETUSE(FLAG, 14, 0);
                                                                //   3796              SET USE(FLAG+1,14,0)
#line 3796 "regression-compile-tmp/imp918s.imp"
SETUSE((((int)(FLAG)) + (1)), 14, 0);
                                                                //   3797           %FINISH
#line 3797 "regression-compile-tmp/imp918s.imp"
L_0358:;
                                                                //   3798           LOAD UP (CREGS)
#line 3798 "regression-compile-tmp/imp918s.imp"
LOADUP(CREGS);
                                                                //   3799           %END
#line 3799 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block EXTRAPASS at level 3
                                                                //   3800           %ROUTINE CYC RESTORE
#line 3800 "regression-compile-tmp/imp918s.imp"
void CYCRESTORE( void )
#line 3800 "regression-compile-tmp/imp918s.imp"
{
                                                                //   3801           {%SHORTROUTINE}
                                                                //   3802           %INTEGER I
#line 3802 "regression-compile-tmp/imp918s.imp"
int I;
                                                                //   3803           %CYCLE I=4,1,15
#line 3803 "regression-compile-tmp/imp918s.imp"
I = 3;
if ((((15)-(4)) % (1)) != 0) _imp_signal(5,1,0,"Illegal cycle I = 4, 1, 15");
L_0359:;
if (I == 15) goto L_035a;
I += 1;
                                                                //   3804              %IF CYC REGS&1<<I#0 %THEN %START
#line 3804 "regression-compile-tmp/imp918s.imp"
if (((((CYCREGS) & (((1) << (I))))) == (0))) goto L_035c;
                                                                //   3805                 %IF GRUSE(I)=3 %THEN VDALLOC(I,I*(CYCASS>>I&1)) %C
#line 3805 "regression-compile-tmp/imp918s.imp"
if (((GRUSE[I]) != (3))) goto L_035d;
#line 3805 "regression-compile-tmp/imp918s.imp"
VDALLOC(I, ((I) * ((int)((((int)((((unsigned int)(CYCASS)) >> (I)))) & (1))))));
#line 3805 "regression-compile-tmp/imp918s.imp"
goto L_035e;
#line 3805 "regression-compile-tmp/imp918s.imp"
L_035d:;
#line 3805 "regression-compile-tmp/imp918s.imp"
REGISTER[I] = 0;
#line 3805 "regression-compile-tmp/imp918s.imp"
L_035e:;
                                                                //   3806                    %ELSE REGISTER(I)=0
                                                                //   3807              %FINISH
#line 3807 "regression-compile-tmp/imp918s.imp"
L_035c:;
                                                                //   3808           %REPEAT
#line 3808 "regression-compile-tmp/imp918s.imp"
goto L_0359;
#line 3808 "regression-compile-tmp/imp918s.imp"
L_035a:;
                                                                //   3809           %END
#line 3809 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block CYCRESTORE at level 3
                                                                //   3810           %ROUTINE CREATE AH(%INTEGER MODE,REG,BS,DP)
#line 3810 "regression-compile-tmp/imp918s.imp"
void CREATEAH( int MODE, int REG, int BS, int DP )
#line 3810 "regression-compile-tmp/imp918s.imp"
{
                                                                //   3811           {%SHORTROUTINE}
                                                                //   3812  !***********************************************************************
                                                                //   3813  !*       CREATES AN ARRAYHEAD IN TEMPORARY SPACE BY MODIFYING THE HEAD *
                                                                //   3814  !*       AT BS&DP BY THE REGISTER REG,AS FOLLOWS:-                     *
                                                                //   3815  !*       MODE=0 (ARRAYMAPPING)  REG HAS ADDR OF FIRST ELEMENT          *
                                                                //   3816  !*       MODE=1 (ARRAYS IN RECORDS)-REG HAS RELOCATION FACTOR          *
                                                                //   3817  !*       REG IS SET AND PROTECTED BY THE CALLING ROUTINE. ON EXIT DISP *
                                                                //   3818  !*       INDEX & BASE POINT TO THE NEW ARRAYHEAD                       *
                                                                //   3819  !***********************************************************************
                                                                //   3820           %INTEGER I,R1,R2,R3,R4,R5,WK,J
#line 3820 "regression-compile-tmp/imp918s.imp"
int I;
#line 3820 "regression-compile-tmp/imp918s.imp"
int R1;
#line 3820 "regression-compile-tmp/imp918s.imp"
int R2;
#line 3820 "regression-compile-tmp/imp918s.imp"
int R3;
#line 3820 "regression-compile-tmp/imp918s.imp"
int R4;
#line 3820 "regression-compile-tmp/imp918s.imp"
int R5;
#line 3820 "regression-compile-tmp/imp918s.imp"
int WK;
#line 3820 "regression-compile-tmp/imp918s.imp"
int J;
                                                                //   3821           GET WSP(WK,4);                ! GET FOUR WORDS FOR NEW HEAD
#line 3821 "regression-compile-tmp/imp918s.imp"
GETWSP(&WK, 4);
                                                                //   3822           FIND SEQ(R1,R2);              ! 2 WORK REGISTERS
#line 3822 "regression-compile-tmp/imp918s.imp"
FINDSEQ(&R1, &R2);
                                                                //   3823           R3=(R2+1)&15; R4=(R3+1)&15;   ! TRY FOR 2 MORE
#line 3823 "regression-compile-tmp/imp918s.imp"
R3 = (((((int)(R2)) + (1))) & (15));
#line 3823 "regression-compile-tmp/imp918s.imp"
R4 = (((((int)(R3)) + (1))) & (15));
                                                                //   3824           %UNLESS REGISTER(R3)=0=REGISTER(R4) %THEN R4=R2
#line 3824 "regression-compile-tmp/imp918s.imp"
if ((((REGISTER[R3]) != (0))) || (((0) == (REGISTER[R4])))) goto L_035f;
#line 3824 "regression-compile-tmp/imp918s.imp"
L_035b:;
#line 3824 "regression-compile-tmp/imp918s.imp"
R4 = R2;
#line 3824 "regression-compile-tmp/imp918s.imp"
L_035f:;
                                                                //   3825           %IF R1>R4 %THEN R5=R4+16 %ELSE R5=R4
#line 3825 "regression-compile-tmp/imp918s.imp"
if (((R1) <= (R4))) goto L_0360;
#line 3825 "regression-compile-tmp/imp918s.imp"
R5 = (((int)(R4)) + (16));
#line 3825 "regression-compile-tmp/imp918s.imp"
goto L_0361;
#line 3825 "regression-compile-tmp/imp918s.imp"
L_0360:;
#line 3825 "regression-compile-tmp/imp918s.imp"
R5 = R4;
#line 3825 "regression-compile-tmp/imp918s.imp"
L_0361:;
                                                                //   3826           %CYCLE J=R1,1,R5
#line 3826 "regression-compile-tmp/imp918s.imp"
{static int _initial, _increment, _final, _control;
_initial = R1; _increment = 1; _final = R5; J = _control = _initial;
if (((_final-_initial) % _increment) != 0) _imp_signal(5,1,0,"Illegal cycle J = R1, 1, R5");
J -= _increment; _control -= _increment;
L_0362:;
if (J == _final) goto L_0363;
J += _increment; _control += _increment;
if (J != _control) _imp_signal(4,2,0,"Corrupt control variable J"); /* FOR loop control variable corrupted */
}
                                                                //   3827              I=J&15
#line 3827 "regression-compile-tmp/imp918s.imp"
I = ((J) & (15));
                                                                //   3828              REGISTER(I)=1;             ! CLAIM WORKING REGISTERS
#line 3828 "regression-compile-tmp/imp918s.imp"
REGISTER[I] = 1;
                                                                //   3829              FORGET(I)
#line 3829 "regression-compile-tmp/imp918s.imp"
FORGET(I);
                                                                //   3830           %REPEAT
#line 3830 "regression-compile-tmp/imp918s.imp"
goto L_0362;
#line 3830 "regression-compile-tmp/imp918s.imp"
L_0363:;
                                                                //   3831           DUMPM(X'98',R1,R4,BS,DP);     ! PICK UP 2 OR 4 ELEMENTS
#line 3831 "regression-compile-tmp/imp918s.imp"
DUMPM(152, R1, R4, BS, DP);
                                                                //   3832           %IF MODE=0 %THEN PRR(X'1B',R1,R2); ! SR R1,R2
#line 3832 "regression-compile-tmp/imp918s.imp"
if (((MODE) != (0))) goto L_0365;
#line 3832 "regression-compile-tmp/imp918s.imp"
PRR(27, R1, R2);
#line 3832 "regression-compile-tmp/imp918s.imp"
L_0365:;
                                                                //   3833           PRR(X'18'+2*MODE,R2,REG);     ! LR R2,REG (MODE=0) OR AR R2,REG
#line 3833 "regression-compile-tmp/imp918s.imp"
PRR(((24) + ((int)((((int)(2)) * (MODE))))), R2, REG);
                                                                //   3834           PRR(X'1A',R1,REG);            ! AR R1,REG
#line 3834 "regression-compile-tmp/imp918s.imp"
PRR(26, R1, REG);
                                                                //   3835           DUMPM(X'90',R1,R4,RBASE,WK);  ! STUFF OFF MODIFIED ELEMENTS
#line 3835 "regression-compile-tmp/imp918s.imp"
DUMPM(144, R1, R4, RBASE, WK);
                                                                //   3836           %IF R2=R4 %THEN %START;       ! ONLY 2 WORK REGISTERS
#line 3836 "regression-compile-tmp/imp918s.imp"
if (((R2) != (R4))) goto L_0366;
                                                                //   3837              DUMPM(X'98',R1,R2,BS,DP+8);! SO REPEAT ON LAST ELEMENTS
#line 3837 "regression-compile-tmp/imp918s.imp"
DUMPM(152, R1, R2, BS, (((int)(DP)) + (8)));
                                                                //   3838              DUMPM(X'90',R1,R2,RBASE,WK+8)
#line 3838 "regression-compile-tmp/imp918s.imp"
DUMPM(144, R1, R2, RBASE, (((int)(WK)) + (8)));
                                                                //   3839           %FINISH
#line 3839 "regression-compile-tmp/imp918s.imp"
L_0366:;
                                                                //   3840  !
                                                                //   3841           %CYCLE J=R1,1,R5
#line 3841 "regression-compile-tmp/imp918s.imp"
{static int _initial, _increment, _final, _control;
_initial = R1; _increment = 1; _final = R5; J = _control = _initial;
if (((_final-_initial) % _increment) != 0) _imp_signal(5,1,0,"Illegal cycle J = R1, 1, R5");
J -= _increment; _control -= _increment;
L_0367:;
if (J == _final) goto L_0368;
J += _increment; _control += _increment;
if (J != _control) _imp_signal(4,2,0,"Corrupt control variable J"); /* FOR loop control variable corrupted */
}
                                                                //   3842              REGISTER(J&15)=0;          ! FREE WORK REGISTERS
#line 3842 "regression-compile-tmp/imp918s.imp"
REGISTER[((J) & (15))] = 0;
                                                                //   3843           %REPEAT
#line 3843 "regression-compile-tmp/imp918s.imp"
goto L_0367;
#line 3843 "regression-compile-tmp/imp918s.imp"
L_0368:;
                                                                //   3844           INDEX=0; BASE=RBASE
#line 3844 "regression-compile-tmp/imp918s.imp"
INDEX = 0;
#line 3844 "regression-compile-tmp/imp918s.imp"
BASE = RBASE;
                                                                //   3845           DISP=WK;                      ! WK RETURNED ON EXIT FROM CSS
#line 3845 "regression-compile-tmp/imp918s.imp"
DISP = WK;
                                                                //   3846           CCSTATE=-1
#line 3846 "regression-compile-tmp/imp918s.imp"
CCSTATE = (-1);
                                                                //   3847           %END;                         ! OF ROUTINE CREATE AH
#line 3847 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block CREATEAH at level 3
                                                                //   3848           %INTEGERFN DOPE VECTOR(%INTEGER ELSIZE,LB,UB)
#line 3848 "regression-compile-tmp/imp918s.imp"
int DOPEVECTOR( int ELSIZE, int LB, int UB )
#line 3848 "regression-compile-tmp/imp918s.imp"
{
                                                                //   3849           {%SHORTROUTINE}
                                                                //   3850  !***********************************************************************
                                                                //   3851  !*        CONSTRUCTS THE DOPE-VECTOR FOR A 1-DIMENSIONAL ARRAY IN THE  *
                                                                //   3852  !*       SHAREABLE SYMBOL TABLES AND RETURNS ITS DISPLACEMENT AS RESULT*
                                                                //   3853  !*       EVENTUALLY ALL NON DYNAMIC DOPE VECTORS SHOULD GO VIA HERE    *
                                                                //   3854  !*       AND AS MUCH SHARING AS POSSIBLE SHOULD GO ON.                 *
                                                                //   3855  !*       THE LIST OF DOPE VECTORS LOOKS LIKE:-                         *
                                                                //   3856  !*       STREAM1(32 BITS) = LOWER BOUND<<16 ! UPPER BOUND              *
                                                                //   3857  !*       STREAM2(32 BITS) = DISPLACEMENT OF DOPEVECTOR IN SHAREABLE ST *
                                                                //   3858  !*       STREAM3(16 BITS) = THE ELEMENT SIZE IN BYTES                  *
                                                                //   3859  !*       A CHECK IS REQUIRED THAT EACH BOUND FITS INTO 16 BITS         *
                                                                //   3860  !***********************************************************************
                                                                //   3861           %INTEGER RANGE,I,J,K,W1,HEAD
#line 3861 "regression-compile-tmp/imp918s.imp"
int RANGE;
#line 3861 "regression-compile-tmp/imp918s.imp"
int I;
#line 3861 "regression-compile-tmp/imp918s.imp"
int J;
#line 3861 "regression-compile-tmp/imp918s.imp"
int K;
#line 3861 "regression-compile-tmp/imp918s.imp"
int W1;
#line 3861 "regression-compile-tmp/imp918s.imp"
int HEAD;
                                                                //   3862           W1=LB<<16!UB&X'FFFF'
#line 3862 "regression-compile-tmp/imp918s.imp"
W1 = ((((LB) << (16))) | (((UB) & (65535))));
                                                                //   3863           %IF SHORTINTEGER(ADDR(W1))=LB %AND %C
#line 3863 "regression-compile-tmp/imp918s.imp"
if (((*_imp_SHORTINTEGER(_imp_ADDR(&W1))) != (LB))) goto L_036a;
#line 3863 "regression-compile-tmp/imp918s.imp"
if (((*_imp_SHORTINTEGER((((int)(_imp_ADDR(&W1))) + (2)))) != (UB))) goto L_036a;
                                                                //   3864               SHORTINTEGER(ADDR(W1)+2)=UB %START
                                                                //   3865              HEAD=DVHEAD
#line 3865 "regression-compile-tmp/imp918s.imp"
HEAD = DVHEAD;
                                                                //   3866              %WHILE HEAD#0 %CYCLE;       ! SEARCH THE PREVIOUS DVS
#line 3866 "regression-compile-tmp/imp918s.imp"
L_036b:;
#line 3866 "regression-compile-tmp/imp918s.imp"
if (((HEAD) == (0))) goto L_036c;
                                                                //   3867                 FROM123(HEAD,I,J,K);     ! FOR ONE THAT IS IDENTICAL
#line 3867 "regression-compile-tmp/imp918s.imp"
FROM123(HEAD, &I, &J, &K);
                                                                //   3868                 MLINK(HEAD)
#line 3868 "regression-compile-tmp/imp918s.imp"
MLINK(&HEAD);
                                                                //   3869                 %IF I=W1 %AND K=ELSIZE %THEN %RESULT=J
#line 3869 "regression-compile-tmp/imp918s.imp"
if (((I) != (W1))) goto L_036e;
#line 3869 "regression-compile-tmp/imp918s.imp"
if (((K) != (ELSIZE))) goto L_036e;
#line 3869 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return J;
#line 3869 "regression-compile-tmp/imp918s.imp"
L_036e:;
                                                                //   3870              %REPEAT
#line 3870 "regression-compile-tmp/imp918s.imp"
goto L_036b;
#line 3870 "regression-compile-tmp/imp918s.imp"
L_036c:;
                                                                //   3871              PUSH123(DVHEAD,W1,SSTL,ELSIZE);! INSERT NEW DOPE VECR INTO LIST
#line 3871 "regression-compile-tmp/imp918s.imp"
PUSH123(&DVHEAD, W1, SSTL, ELSIZE);
                                                                //   3872           %FINISH
#line 3872 "regression-compile-tmp/imp918s.imp"
L_036a:;
                                                                //   3873           RANGE=UB-LB+1
#line 3873 "regression-compile-tmp/imp918s.imp"
RANGE = (((int)((((int)(UB)) - (LB)))) + (1));
                                                                //   3874           I=SSTL; ELSIZE=ELSIZE!1<<16
#line 3874 "regression-compile-tmp/imp918s.imp"
I = SSTL;
#line 3874 "regression-compile-tmp/imp918s.imp"
ELSIZE = ((ELSIZE) | (((1) << (16))));
                                                                //   3875           LPUT(4,16,SSTL,ADDR(ELSIZE))%IF INHCODE=0
#line 3875 "regression-compile-tmp/imp918s.imp"
if (((INHCODE) != (0))) goto L_036f;
#line 3875 "regression-compile-tmp/imp918s.imp"
lput(4, 16, SSTL, _imp_ADDR(&ELSIZE));
#line 3875 "regression-compile-tmp/imp918s.imp"
L_036f:;
                                                                //   3876           SSTL=SSTL+16
#line 3876 "regression-compile-tmp/imp918s.imp"
SSTL = (((int)(SSTL)) + (16));
                                                                //   3877           %RESULT=I
#line 3877 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return I;
                                                                //   3878           %END
#line 3878 "regression-compile-tmp/imp918s.imp"
} // End of block DOPEVECTOR at level 3
                                                                //   3879  %ROUTINE CLAIM ST FRAME(%INTEGER AT,VALUE)
#line 3879 "regression-compile-tmp/imp918s.imp"
void CLAIMSTFRAME( int AT, int VALUE )
#line 3879 "regression-compile-tmp/imp918s.imp"
{
                                                                //   3880  {%SHORTROUTINE}
                                                                //   3881  !***********************************************************************
                                                                //   3882  !*       FILL THE LA INSTN IT RT ENTRY SEQUENCE TO CLAIM THE STACKFRAME*
                                                                //   3883  !*       DIFFICULT WHEN THE FRAME IS>4095                              *
                                                                //   3884  !***********************************************************************
                                                                //   3885  %INTEGER PLUG2
#line 3885 "regression-compile-tmp/imp918s.imp"
int PLUG2;
                                                                //   3886           %IF 4096>VALUE %THEN PLUG(1,AT,VALUE) %AND %RETURN
#line 3886 "regression-compile-tmp/imp918s.imp"
if (((4096) <= (VALUE))) goto L_0370;
#line 3886 "regression-compile-tmp/imp918s.imp"
PLUG(1, AT, VALUE);
#line 3886 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 3886 "regression-compile-tmp/imp918s.imp"
L_0370:;
                                                                //   3887  !
                                                                //   3888  ! IF THE FRAME IS >4096 THE WHOLE INSTRN IS OVERWRITTEN WITH AN ADD
                                                                //   3889  !
                                                                //   3890           %IF GLACA<4092 %THEN %START
#line 3890 "regression-compile-tmp/imp918s.imp"
if (((GLACA) >= (4092))) goto L_0371;
                                                                //   3891              PGLA(2,2,ADDR(VALUE)+2)
#line 3891 "regression-compile-tmp/imp918s.imp"
PGLA(2, 2, (((int)(_imp_ADDR(&VALUE))) + (2)));
                                                                //   3892              PLUG2=X'D000'!(GLACA-2)
#line 3892 "regression-compile-tmp/imp918s.imp"
PLUG2 = ((53248) | ((((int)(GLACA)) - (2))));
                                                                //   3893           %FINISH %ELSE PLUG2=X'C000'!(PTBASE+6+VALUE>>12<<2)
#line 3893 "regression-compile-tmp/imp918s.imp"
goto L_0372;
#line 3893 "regression-compile-tmp/imp918s.imp"
L_0371:;
#line 3893 "regression-compile-tmp/imp918s.imp"
PLUG2 = ((49152) | (((262) + ((short)((((int)((((unsigned int)(VALUE)) >> (12)))) << (2)))))));
#line 3893 "regression-compile-tmp/imp918s.imp"
L_0372:;
                                                                //   3894           PLUG(1,AT-2,X'4AB0')
#line 3894 "regression-compile-tmp/imp918s.imp"
PLUG(1, (((int)(AT)) - (2)), 19120);
                                                                //   3895           PLUG(1,AT,PLUG2)
#line 3895 "regression-compile-tmp/imp918s.imp"
PLUG(1, AT, PLUG2);
                                                                //   3896  %END
#line 3896 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block CLAIMSTFRAME at level 3
                                                                //   3897           %ROUTINE CEND (%INTEGER KKK)
#line 3897 "regression-compile-tmp/imp918s.imp"
void CEND( int KKK )
#line 3897 "regression-compile-tmp/imp918s.imp"
{
                                                                //   3898  !***********************************************************************
                                                                //   3899  !*       DEAL WITH ALL OCCURENCES OF '%END'                            *
                                                                //   3900  !*       KKK=PTYPE(>=10000) FOR ROUTINES,FNS AND MAPS                  *
                                                                //   3901  !*       KKK=0 FOR ENDS OF '%BEGIN' BLOCKS                             *
                                                                //   3902  !*       KKK=1 FOR '%ENDOFPROGRAM'                                     *
                                                                //   3903  !*       %ENDOFPROGRAM IS REALLY TWO ENDS. THE FIRST IS THE USERS      *
                                                                //   3904  !*       AND THE SECOND IS PERMS. KKK=2 FOR A RECURSIVE CALL OF CEND   *
                                                                //   3905  !*       ON END OF PROGRAM TO DEAL WITH THE %END CORRESPONDING TO      *
                                                                //   3906  !*       THE %BEGIN COMPILED IN THE INITIALISATION SEQUENCE            *
                                                                //   3907  !***********************************************************************
                                                                //   3908           {%SHORT %ROUTINE}
                                                                //   3909           %INTEGER KP
#line 3909 "regression-compile-tmp/imp918s.imp"
int KP;
                                                                //   3910           %SHORTINTEGERNAME THEAD
#line 3910 "regression-compile-tmp/imp918s.imp"
short /*name*/*THEAD;
                                                                //   3911           %ROUTINESPEC DTABLE(%INTEGER LEVEL,GLOBAL)
#line 3911 "regression-compile-tmp/imp918s.imp"
auto void DTABLE( int LEVEL, int GLOBAL );
                                                                //   3912           SET LINE; MONE=1; FORGETM(14)
#line 3912 "regression-compile-tmp/imp918s.imp"
SETLINE();
#line 3912 "regression-compile-tmp/imp918s.imp"
MONE = 1;
#line 3912 "regression-compile-tmp/imp918s.imp"
FORGETM(14);
                                                                //   3913           CUR CYC VAR=0; CCSTATE=-1
#line 3913 "regression-compile-tmp/imp918s.imp"
CURCYCVAR = 0;
#line 3913 "regression-compile-tmp/imp918s.imp"
CCSTATE = (-1);
                                                                //   3914  !
                                                                //   3915  ! FIRST CHECK FOR ANY '%STARTS' WITHOUT FINISHES
                                                                //   3916  !
                                                                //   3917           %WHILE SBR(LEVEL)#0 %CYCLE
#line 3917 "regression-compile-tmp/imp918s.imp"
L_0373:;
#line 3917 "regression-compile-tmp/imp918s.imp"
if (((SBR[LEVEL]) == (0))) goto L_0374;
                                                                //   3918              FROM12 (SBR(LEVEL),J,KP)
#line 3918 "regression-compile-tmp/imp918s.imp"
FROM12(SBR[LEVEL], &J, &KP);
                                                                //   3919              FAULT(53,0);               ! FINISH MISSING
#line 3919 "regression-compile-tmp/imp918s.imp"
FAULT(53, 0);
                                                                //   3920              A(2)=14; A(3)=3; CSS(2,0); ! SO COMPILE IT IN
#line 3920 "regression-compile-tmp/imp918s.imp"
A[9] = 14;
#line 3920 "regression-compile-tmp/imp918s.imp"
A[10] = 3;
#line 3920 "regression-compile-tmp/imp918s.imp"
CSS(2, 0);
                                                                //   3921           %REPEAT
#line 3921 "regression-compile-tmp/imp918s.imp"
goto L_0373;
#line 3921 "regression-compile-tmp/imp918s.imp"
L_0374:;
                                                                //   3922  !
                                                                //   3923  ! NOW PLANT AN ERROR EXIT FOR FNS AND MAPS - CONTROL SHOULD BE RETURNED
                                                                //   3924  ! VIA %RESULT= AN SHOULD NEVVER REACH THE %END INSTRUCTION
                                                                //   3925  !
                                                                //   3926           %IF KKK>10000 %AND COMPILER=0 %AND LAST INST=0 %THEN %START
#line 3926 "regression-compile-tmp/imp918s.imp"
if (((KKK) <= (10000))) goto L_0376;
#line 3926 "regression-compile-tmp/imp918s.imp"
if (((COMPILER) != (0))) goto L_0376;
#line 3926 "regression-compile-tmp/imp918s.imp"
if (((LASTINST) != (0))) goto L_0376;
                                                                //   3927              PCONST(X'4100000B');       ! LA 0,11
#line 3927 "regression-compile-tmp/imp918s.imp"
PCONST(1090519051);
                                                                //   3928              PPJ(21);                   ! RUN FAULT 11
#line 3928 "regression-compile-tmp/imp918s.imp"
PPJ(21);
                                                                //   3929           %FINISH
#line 3929 "regression-compile-tmp/imp918s.imp"
L_0376:;
                                                                //   3930           NMAX=N %IF N>NMAX;            ! WORK SPACE POINTER
#line 3930 "regression-compile-tmp/imp918s.imp"
if (((N) <= (NMAX))) goto L_0377;
#line 3930 "regression-compile-tmp/imp918s.imp"
NMAX = N;
#line 3930 "regression-compile-tmp/imp918s.imp"
L_0377:;
                                                                //   3931  !
                                                                //   3932  ! CLEAR OUT THE LABEL LIST FAULTING LABELS WITH JUMPS OUTSTANDING
                                                                //   3933  ! AS NOT SET AND COMMENTING ON LABELS NOT USED
                                                                //   3934  !
                                                                //   3935           %WHILE LABEL(LEVEL)#0 %CYCLE
#line 3935 "regression-compile-tmp/imp918s.imp"
L_0378:;
#line 3935 "regression-compile-tmp/imp918s.imp"
if (((LABEL[LEVEL]) == (0))) goto L_0379;
                                                                //   3936              POP123(LABEL(LEVEL),I,J,KP)
#line 3936 "regression-compile-tmp/imp918s.imp"
POP123(&LABEL[LEVEL], &I, &J, &KP);
                                                                //   3937              I=I>>24
#line 3937 "regression-compile-tmp/imp918s.imp"
I = (int)((((unsigned int)(I)) >> (24)));
                                                                //   3938              %IF J&X'FFFF'#0 %THEN %START
#line 3938 "regression-compile-tmp/imp918s.imp"
if (((((J) & (65535))) == (0))) goto L_037b;
                                                                //   3939                 CLEAR LIST(SHORT INTEGER(ADDR(J)+2))
#line 3939 "regression-compile-tmp/imp918s.imp"
CLEARLIST(_imp_SHORTINTEGER((((int)(_imp_ADDR(&J))) + (2))));
                                                                //   3940                 %IF 0<KP<=MAX ULAB %THEN FAULT(11,-KP)
#line 3940 "regression-compile-tmp/imp918s.imp"
if ((((0) >= (KP))) || (((KP) > (MAXULAB)))) goto L_037c;
#line 3940 "regression-compile-tmp/imp918s.imp"
FAULT(11, (-(KP)));
#line 3940 "regression-compile-tmp/imp918s.imp"
L_037c:;
                                                                //   3941              %FINISH %ELSE %START
#line 3941 "regression-compile-tmp/imp918s.imp"
goto L_037d;
#line 3941 "regression-compile-tmp/imp918s.imp"
L_037b:;
                                                                //   3942                 %IF I=0 %AND KP<MAX ULAB %THEN printstring("
#line 3942 "regression-compile-tmp/imp918s.imp"
if (((I) != (0))) goto L_037e;
#line 3942 "regression-compile-tmp/imp918s.imp"
if (((KP) >= (MAXULAB))) goto L_037e;
#line 3942 "regression-compile-tmp/imp918s.imp"
_imp_PRINTSTRING(_imp_str_literal("\n?  UNUSED LABEL"));
#line 3942 "regression-compile-tmp/imp918s.imp"
PRINTNAME((-(KP)));
#line 3942 "regression-compile-tmp/imp918s.imp"
L_037e:;
                                                                //   3943  ?  UNUSED LABEL") %AND PRINTNAME(-KP)
                                                                //   3944              %FINISH
#line 3944 "regression-compile-tmp/imp918s.imp"
L_037d:;
                                                                //   3945           %REPEAT
#line 3945 "regression-compile-tmp/imp918s.imp"
goto L_0378;
#line 3945 "regression-compile-tmp/imp918s.imp"
L_0379:;
                                                                //   3946  !
                                                                //   3947           %CYCLE J=0,1,6
#line 3947 "regression-compile-tmp/imp918s.imp"
J = (-1);
if ((((6)-(0)) % (1)) != 0) _imp_signal(5,1,0,"Illegal cycle J = 0, 1, 6");
L_037f:;
if (J == 6) goto L_0380;
J += 1;
                                                                //   3948              THEAD==AVL WSP(J,LEVEL);     ! RELEASE TEMPORARY LOCATIONS
#line 3948 "regression-compile-tmp/imp918s.imp"
THEAD = &AVLWSP[J][LEVEL];
                                                                //   3949              %IF THEAD#0 %THEN CLEAR LIST(THEAD)
#line 3949 "regression-compile-tmp/imp918s.imp"
if (((*THEAD) == (0))) goto L_0382;
#line 3949 "regression-compile-tmp/imp918s.imp"
CLEARLIST(THEAD);
#line 3949 "regression-compile-tmp/imp918s.imp"
L_0382:;
                                                                //   3950           %REPEAT
#line 3950 "regression-compile-tmp/imp918s.imp"
goto L_037f;
#line 3950 "regression-compile-tmp/imp918s.imp"
L_0380:;
                                                                //   3951  !
                                                                //   3952           DTABLE(LEVEL,0);              ! OUTPUT DIAGNOSTIC TABLES
#line 3952 "regression-compile-tmp/imp918s.imp"
DTABLE(LEVEL, 0);
                                                                //   3953  !
                                                                //   3954  ! CLEAR DECLARATIONS - POP UP ANY GLOBAL NAMES THAT WERE REDECLARED
                                                                //   3955  ! DESTROY SIDE CHAINS FOR ROUTINES,FORMATS AND SWITCHES
                                                                //   3956  !
                                                                //   3957           JJ=NAMES(LEVEL)
#line 3957 "regression-compile-tmp/imp918s.imp"
JJ = NAMES[LEVEL];
                                                                //   3958           %WHILE JJ>=0 %CYCLE
#line 3958 "regression-compile-tmp/imp918s.imp"
L_0383:;
#line 3958 "regression-compile-tmp/imp918s.imp"
if (((JJ) < (0))) goto L_0384;
                                                                //   3959                                      ! FIND A LOCAL NAME
                                                                //   3960              I=SHORTINTEGER(ADDR(ASLIST(TAGS(JJ)))+12)
#line 3960 "regression-compile-tmp/imp918s.imp"
I = *_imp_SHORTINTEGER((((int)(_imp_ADDR(&ASLIST[TAGS[JJ]]))) + (12)));
                                                                //   3961              POP123(TAGS(JJ),KK,INTEGER(ADDR(SNDISP)),INTEGER(ADDR(K)))
#line 3961 "regression-compile-tmp/imp918s.imp"
POP123(&TAGS[JJ], &KK, _imp_INTEGER(_imp_ADDR(&SNDISP)), _imp_INTEGER(_imp_ADDR(&K)));
                                                                //   3962              PTYPE=KK>>16
#line 3962 "regression-compile-tmp/imp918s.imp"
PTYPE = (int)((((unsigned int)(KK)) >> (16)));
                                                                //   3963              %IF PTYPE =8 %THEN REGISTER(K)=0 %AND UVARREG(K)=0
#line 3963 "regression-compile-tmp/imp918s.imp"
if (((PTYPE) != (8))) goto L_0386;
#line 3963 "regression-compile-tmp/imp918s.imp"
REGISTER[K] = 0;
#line 3963 "regression-compile-tmp/imp918s.imp"
UVARREG[(((int)(K)) - (5))] = 0;
#line 3963 "regression-compile-tmp/imp918s.imp"
L_0386:;
                                                                //   3964              %IF KK&15=15 %THEN FAULT(28,JJ);! SPEC BUT NO BODY GIVEN
#line 3964 "regression-compile-tmp/imp918s.imp"
if (((((KK) & (15))) != (15))) goto L_0387;
#line 3964 "regression-compile-tmp/imp918s.imp"
FAULT(28, JJ);
#line 3964 "regression-compile-tmp/imp918s.imp"
L_0387:;
                                                                //   3965              %IF PTYPE>=10000 %OR PTYPE=4 %OR PTYPE=106 %OR %C
#line 3965 "regression-compile-tmp/imp918s.imp"
if (((PTYPE) >= (10000))) goto L_036d;
#line 3965 "regression-compile-tmp/imp918s.imp"
if (((PTYPE) == (4))) goto L_036d;
#line 3965 "regression-compile-tmp/imp918s.imp"
if (((PTYPE) == (106))) goto L_036d;
#line 3965 "regression-compile-tmp/imp918s.imp"
if (((PTYPE) != (126))) goto L_0388;
#line 3965 "regression-compile-tmp/imp918s.imp"
L_036d:;
#line 3965 "regression-compile-tmp/imp918s.imp"
CLEARLIST(&K);
#line 3965 "regression-compile-tmp/imp918s.imp"
L_0388:;
                                                                //   3966                 PTYPE=126 %THEN CLEAR LIST(K)
                                                                //   3967              JJ=I
#line 3967 "regression-compile-tmp/imp918s.imp"
JJ = I;
                                                                //   3968           %REPEAT
#line 3968 "regression-compile-tmp/imp918s.imp"
goto L_0383;
#line 3968 "regression-compile-tmp/imp918s.imp"
L_0384:;
                                                                //   3969           NAMES(LEVEL)=-1
#line 3969 "regression-compile-tmp/imp918s.imp"
NAMES[LEVEL] = (-1);
                                                                //   3970           %IF LEVEL=2 %THEN DTABLE(1,1); ! DO GLOBALS TO EXTERNALRTS
#line 3970 "regression-compile-tmp/imp918s.imp"
if (((LEVEL) != (2))) goto L_0389;
#line 3970 "regression-compile-tmp/imp918s.imp"
DTABLE(1, 1);
#line 3970 "regression-compile-tmp/imp918s.imp"
L_0389:;
                                                                //   3971  !
                                                                //   3972  ! CHECK FOR MISSING REPEATS
                                                                //   3973  !
                                                                //   3974         %WHILE CYCLE(LEVEL)#0 %THEN FAULT(13,0)%AND POP(CYCLE(LEVEL),I,I)
#line 3974 "regression-compile-tmp/imp918s.imp"
L_038a:;
#line 3974 "regression-compile-tmp/imp918s.imp"
if (((CYCLE[LEVEL]) == (0))) goto L_038b;
#line 3974 "regression-compile-tmp/imp918s.imp"
FAULT(13, 0);
#line 3974 "regression-compile-tmp/imp918s.imp"
POP(&CYCLE[LEVEL], &I, &I);
#line 3974 "regression-compile-tmp/imp918s.imp"
goto L_038a;
#line 3974 "regression-compile-tmp/imp918s.imp"
L_038b:;
                                                                //   3975  !
                                                                //   3976  ! REMOVE TEXT OF ANY LOCAL NAMES FROM WORD AND LETT
                                                                //   3977  !
                                                                //   3978           %IF NEXT#RNEXT %THEN %START
#line 3978 "regression-compile-tmp/imp918s.imp"
if (((NEXT) == (RNEXT))) goto L_038d;
                                                                //   3979              NEXT=RNEXT
#line 3979 "regression-compile-tmp/imp918s.imp"
NEXT = RNEXT;
                                                                //   3980  !            %CYCLE I=0,1,NNAMES
                                                                //   3981  !               WORD(I)=0 %IF WORD(I)>=NEXT
                                                                //   3982  !            %REPEAT
                                                                //   3983  !%if USE MC = 1 %start
                                                                //   3984  !            *L_0,NEXT; *SR_15,15; *SR_1,1; *LA_2,2
                                                                //   3985  !            *L_3,NNAMES; *AR_3,3; *L_4,WORD
                                                                //   3986  !AGN:        *CH_0,0(1,4); *BC_2,*+8
                                                                //   3987  !            *STH_15,0(1,4); *BXLE_1,2,<AGN>
                                                                //   3988  !%finish
                                                                //   3989           %FINISH
#line 3989 "regression-compile-tmp/imp918s.imp"
L_038d:;
                                                                //   3990  !
                                                                //   3991  ! NOW CLAIM THE STACK FRAME BY FILING THE LA 11,0(11) IN THE BLOCK ENTRY
                                                                //   3992  ! CODING. IF MORE THAN 4095 BYTES OF LOCAL VARIABLES ARE NEEDED THEN
                                                                //   3993  ! THE WHOLE INSTRUCTION MUST BE OVERWRITTEN
                                                                //   3994  !
                                                                //   3995           NMAX=(NMAX+7)&(-8)
#line 3995 "regression-compile-tmp/imp918s.imp"
NMAX = (((((int)(NMAX)) + (7))) & ((-8)));
                                                                //   3996           %IF KKK=2 %THEN %RETURN
#line 3996 "regression-compile-tmp/imp918s.imp"
if (((KKK) != (2))) goto L_038e;
#line 3996 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 3996 "regression-compile-tmp/imp918s.imp"
L_038e:;
                                                                //   3997           %IF KKK>=10000 %OR KKK=1 %THEN CLAIM ST FRAME(SET(RLEVEL),NMAX)
#line 3997 "regression-compile-tmp/imp918s.imp"
if (((KKK) >= (10000))) goto L_038c;
#line 3997 "regression-compile-tmp/imp918s.imp"
if (((KKK) != (1))) goto L_038f;
#line 3997 "regression-compile-tmp/imp918s.imp"
L_038c:;
#line 3997 "regression-compile-tmp/imp918s.imp"
CLAIMSTFRAME(SET[RLEVEL], NMAX);
#line 3997 "regression-compile-tmp/imp918s.imp"
L_038f:;
                                                                //   3998  !
                                                                //   3999  ! NOW PLANT THE BLOCK EXIT SEQUENCE
                                                                //   4000  !
                                                                //   4001           %IF KKK=10000 %AND LAST INST=0 %THEN RT EXIT
#line 4001 "regression-compile-tmp/imp918s.imp"
if (((KKK) != (10000))) goto L_0390;
#line 4001 "regression-compile-tmp/imp918s.imp"
if (((LASTINST) != (0))) goto L_0390;
#line 4001 "regression-compile-tmp/imp918s.imp"
RTEXIT();
#line 4001 "regression-compile-tmp/imp918s.imp"
L_0390:;
                                                                //   4002           PPJ(6) %IF KKK=1 %AND LAST INST=0;! %STOP AT %ENDOFPROGRAM
#line 4002 "regression-compile-tmp/imp918s.imp"
if (((KKK) != (1))) goto L_0391;
#line 4002 "regression-compile-tmp/imp918s.imp"
if (((LASTINST) != (0))) goto L_0391;
#line 4002 "regression-compile-tmp/imp918s.imp"
PPJ(6);
#line 4002 "regression-compile-tmp/imp918s.imp"
L_0391:;
                                                                //   4003           %IF KKK=0 %THEN %START;         ! BEGIN BLOCK EXIT
#line 4003 "regression-compile-tmp/imp918s.imp"
if (((KKK) != (0))) goto L_0392;
                                                                //   4004              JJ=FROM2(LEVELINF)&X'FFF';    ! DISP OF SAVE AREA
#line 4004 "regression-compile-tmp/imp918s.imp"
JJ = ((FROM2(LEVELINF)) & (4095));
                                                                //   4005              DUMPM(X'98',10,11,RBASE,JJ);  ! RESTORE R11 & R10
#line 4005 "regression-compile-tmp/imp918s.imp"
DUMPM(152, 10, 11, RBASE, JJ);
                                                                //   4006              %IF DIAGS1=1 %THEN %START;    ! RESTORE DIAGS POINTERS
#line 4006 "regression-compile-tmp/imp918s.imp"
if (((DIAGS1) != (1))) goto L_0393;
                                                                //   4007                 DUMP(X'58',0,JJ+8,0,RBASE)
#line 4007 "regression-compile-tmp/imp918s.imp"
DUMP(88, 0, (((int)(JJ)) + (8)), 0, RBASE);
                                                                //   4008                 PRX(X'50',0,0,GLA,20)
#line 4008 "regression-compile-tmp/imp918s.imp"
PRX(80, 0, 0, 13, 20);
                                                                //   4009                 %FINISH
#line 4009 "regression-compile-tmp/imp918s.imp"
L_0393:;
                                                                //   4010           %FINISH
#line 4010 "regression-compile-tmp/imp918s.imp"
L_0392:;
                                                                //   4011  !
                                                                //   4012  ! OUTPUT ANYTHING RELEVANT ONTO THE PROGRAM LISTING
                                                                //   4013  !
                                                                //   4014           NEWLINE
#line 4014 "regression-compile-tmp/imp918s.imp"
_imp_NEWLINE();
                                                                //   4015           %IF PRINTMAP=1 %AND  KKK#0 %THEN %START
#line 4015 "regression-compile-tmp/imp918s.imp"
if (((PRINTMAP) != (1))) goto L_0394;
#line 4015 "regression-compile-tmp/imp918s.imp"
if (((KKK) == (0))) goto L_0394;
                                                                //   4016              printstring(" LOCALS EXTEND TO ")
#line 4016 "regression-compile-tmp/imp918s.imp"
_imp_PRINTSTRING(_imp_str_literal(" LOCALS EXTEND TO "));
                                                                //   4017              WRITE(NMAX,2)
#line 4017 "regression-compile-tmp/imp918s.imp"
_imp_WRITE(NMAX, 2);
                                                                //   4018              NEWLINE
#line 4018 "regression-compile-tmp/imp918s.imp"
_imp_NEWLINE();
                                                                //   4019  !            CHECK ASL
                                                                //   4020           %FINISH
#line 4020 "regression-compile-tmp/imp918s.imp"
L_0394:;
                                                                //   4021           %IF LIST=0 %THEN %START;    ! SHORT LISTING REQD
#line 4021 "regression-compile-tmp/imp918s.imp"
if (((LIST) != (0))) goto L_0395;
                                                                //   4022              WRITE(LINE,5)
#line 4022 "regression-compile-tmp/imp918s.imp"
_imp_WRITE(LINE, 5);
                                                                //   4023              %IF PRINTMAP=1 %THEN SPACES(3) %AND PRHEX(CA,5)
#line 4023 "regression-compile-tmp/imp918s.imp"
if (((PRINTMAP) != (1))) goto L_0396;
#line 4023 "regression-compile-tmp/imp918s.imp"
_imp_SPACES(3);
#line 4023 "regression-compile-tmp/imp918s.imp"
PRHEX(CA, 5);
#line 4023 "regression-compile-tmp/imp918s.imp"
L_0396:;
                                                                //   4024              SPACES(3*LEVEL-3)
#line 4024 "regression-compile-tmp/imp918s.imp"
_imp_SPACES((((int)((((int)(3)) * (LEVEL)))) - (3)));
                                                                //   4025              PRINTSTRING("END")
#line 4025 "regression-compile-tmp/imp918s.imp"
_imp_PRINTSTRING(_imp_str_literal("END"));
                                                                //   4026           %FINISH
#line 4026 "regression-compile-tmp/imp918s.imp"
L_0395:;
                                                                //   4027  !
                                                                //   4028  ! RETURN TO PREVIOUS LEVEL PROVIDED THERE IS A VALID ONE !
                                                                //   4029  !
                                                                //   4030           %UNLESS LEVEL>2 %OR (LEVEL=2 %AND CPRMODE=2) %THEN %START
#line 4030 "regression-compile-tmp/imp918s.imp"
if (((LEVEL) > (2))) goto L_0397;
#line 4030 "regression-compile-tmp/imp918s.imp"
if (((LEVEL) != (2))) goto L_0398;
#line 4030 "regression-compile-tmp/imp918s.imp"
if (((CPRMODE) == (2))) goto L_0397;
#line 4030 "regression-compile-tmp/imp918s.imp"
L_0398:;
                                                                //   4031              %IF KKK=1 %AND LEVEL=2 %THEN KKK=2 %ELSE %C
#line 4031 "regression-compile-tmp/imp918s.imp"
if (((KKK) != (1))) goto L_0399;
#line 4031 "regression-compile-tmp/imp918s.imp"
if (((LEVEL) != (2))) goto L_0399;
#line 4031 "regression-compile-tmp/imp918s.imp"
KKK = 2;
#line 4031 "regression-compile-tmp/imp918s.imp"
goto L_039a;
#line 4031 "regression-compile-tmp/imp918s.imp"
L_0399:;
#line 4031 "regression-compile-tmp/imp918s.imp"
FAULT(14, 0);
#line 4031 "regression-compile-tmp/imp918s.imp"
exit(0);
#line 4031 "regression-compile-tmp/imp918s.imp"
L_039a:;
                                                                //   4032                                     FAULT(14,0) %AND %STOP
                                                                //   4033           %FINISH
#line 4033 "regression-compile-tmp/imp918s.imp"
L_0397:;
                                                                //   4034           LEVEL=LEVEL-1
#line 4034 "regression-compile-tmp/imp918s.imp"
LEVEL = (((int)(LEVEL)) - (1));
                                                                //   4035           %IF KKK>=10000 %THEN %START
#line 4035 "regression-compile-tmp/imp918s.imp"
if (((KKK) < (10000))) goto L_039b;
                                                                //   4036              RLEVEL=RLEVEL-1
#line 4036 "regression-compile-tmp/imp918s.imp"
RLEVEL = (((int)(RLEVEL)) - (1));
                                                                //   4037              RBASE=10-RLEVEL
#line 4037 "regression-compile-tmp/imp918s.imp"
RBASE = (((int)(10)) - (RLEVEL));
                                                                //   4038              REGISTER(9-RLEVEL)=0
#line 4038 "regression-compile-tmp/imp918s.imp"
REGISTER[(((int)(9)) - (RLEVEL))] = 0;
                                                                //   4039           %FINISH
#line 4039 "regression-compile-tmp/imp918s.imp"
L_039b:;
                                                                //   4040  !
                                                                //   4041  ! RESTORE INFORMATION ABOUT THE (NEW) CURRENT LEVEL
                                                                //   4042  !
                                                                //   4043           POP123(LEVELINF,CODEBASE,N,FLAG)
#line 4043 "regression-compile-tmp/imp918s.imp"
POP123(&LEVELINF, &CODEBASE, &N, &FLAG);
                                                                //   4044           NMDECS=CODEBASE>>24
#line 4044 "regression-compile-tmp/imp918s.imp"
NMDECS = (int)((((unsigned int)(CODEBASE)) >> (24)));
                                                                //   4045           CODEBASE=CODEBASE&X'FFFFFF'
#line 4045 "regression-compile-tmp/imp918s.imp"
CODEBASE = ((CODEBASE) & (16777215));
                                                                //   4046           GRINF(10)=CODEBASE
#line 4046 "regression-compile-tmp/imp918s.imp"
GRINF[10] = CODEBASE;
                                                                //   4047           SBFLAG=N>>15&1
#line 4047 "regression-compile-tmp/imp918s.imp"
SBFLAG = (((int)((((unsigned int)(N)) >> (15)))) & (1));
                                                                //   4048           RNEXT=FLAG>>16
#line 4048 "regression-compile-tmp/imp918s.imp"
RNEXT = (int)((((unsigned int)(FLAG)) >> (16)));
                                                                //   4049           FLAG=FLAG&X'FFFF'
#line 4049 "regression-compile-tmp/imp918s.imp"
FLAG = ((FLAG) & (65535));
                                                                //   4050           NMAX=N>>16 %IF KKK>=10000
#line 4050 "regression-compile-tmp/imp918s.imp"
if (((KKK) < (10000))) goto L_039c;
#line 4050 "regression-compile-tmp/imp918s.imp"
NMAX = (int)((((unsigned int)(N)) >> (16)));
#line 4050 "regression-compile-tmp/imp918s.imp"
L_039c:;
                                                                //   4051           N=N&X'7FFF'
#line 4051 "regression-compile-tmp/imp918s.imp"
N = ((N) & (32767));
                                                                //   4052           %IF KKK=2 %THEN CEND(KKK);    ! ROUND AGAIN FOR 'ENDOFPROGRAM'
#line 4052 "regression-compile-tmp/imp918s.imp"
if (((KKK) != (2))) goto L_039d;
#line 4052 "regression-compile-tmp/imp918s.imp"
CEND(KKK);
#line 4052 "regression-compile-tmp/imp918s.imp"
L_039d:;
                                                                //   4053  !
                                                                //   4054  ! COMPLETE THE JUMP AROUND ALL NON-EXTERNAL ROUTINES EXCEPT WHEN
                                                                //   4055  ! %TRUSTEDPROGRAM IS IN OPERATION.
                                                                //   4056  !
                                                                //   4057           %IF KKK>=10000 %AND COMPILER=0 %AND (RLEVEL#1 %OR CPRMODE#2)%C
#line 4057 "regression-compile-tmp/imp918s.imp"
if (((KKK) < (10000))) goto L_039e;
#line 4057 "regression-compile-tmp/imp918s.imp"
if (((COMPILER) != (0))) goto L_039e;
#line 4057 "regression-compile-tmp/imp918s.imp"
if (((RLEVEL) != (1))) goto L_039f;
#line 4057 "regression-compile-tmp/imp918s.imp"
if (((CPRMODE) == (2))) goto L_039e;
#line 4057 "regression-compile-tmp/imp918s.imp"
L_039f:;
#line 4057 "regression-compile-tmp/imp918s.imp"
ENTERLAB(FROM3(LABEL[LEVEL]), 0);
#line 4057 "regression-compile-tmp/imp918s.imp"
L_039e:;
                                                                //   4058              %THEN ENTER LAB(FROM3(LABEL(LEVEL)),0)
                                                                //   4059           ->Label99
#line 4059 "regression-compile-tmp/imp918s.imp"
goto U_1033;
                                                                //   4060           %ROUTINE DTABLE(%INTEGER LEVEL,GLOBAL)
#line 4060 "regression-compile-tmp/imp918s.imp"
void DTABLE( int LEVEL, int GLOBAL )
#line 4060 "regression-compile-tmp/imp918s.imp"
{
                                                                //   4061  !***********************************************************************
                                                                //   4062  !*      THIS ROUTINE LOOKS AT THE DECLARATIONS FOR THE CURRENT LEVEL & *
                                                                //   4063  !*      SETS UP THE SEGMENT OF SHARABLE SYMBOL TABLES TO DESCRIBE THEM.*
                                                                //   4064  !*      FOR MAIN PROGRAMS OR EXTERNAL ROUTINES THE 'GLOBAL' VARIABLES  *
                                                                //   4065  !*      (IF ANY) ARE ALSO INCLUDED.                                    *
                                                                //   4066  !***********************************************************************
                                                                //   4067           %STRING(32) RT NAME
#line 4067 "regression-compile-tmp/imp918s.imp"
_imp_string /*%string(32)*/ RTNAME;
                                                                //   4068           %STRING(8) LOCAL NAME
#line 4068 "regression-compile-tmp/imp918s.imp"
_imp_string /*%string(8)*/ LOCALNAME;
                                                                //   4069           %INTEGER DPTR,LNUM,ML,KK,JJ,Q,DEND,OL,LC
#line 4069 "regression-compile-tmp/imp918s.imp"
int DPTR;
#line 4069 "regression-compile-tmp/imp918s.imp"
int LNUM;
#line 4069 "regression-compile-tmp/imp918s.imp"
int ML;
#line 4069 "regression-compile-tmp/imp918s.imp"
int KK;
#line 4069 "regression-compile-tmp/imp918s.imp"
int JJ;
#line 4069 "regression-compile-tmp/imp918s.imp"
int Q;
#line 4069 "regression-compile-tmp/imp918s.imp"
int DEND;
#line 4069 "regression-compile-tmp/imp918s.imp"
int OL;
#line 4069 "regression-compile-tmp/imp918s.imp"
int LC;
                                                                //   4070           %INTEGERARRAY DD(0:300);       ! BUFFER FOR SEGMENT OF SST
#line 4070 "regression-compile-tmp/imp918s.imp"
int DD[301];
                                                                //   4071           %IF GLOBAL#0 %THEN DPTR=0 %AND ->START
#line 4071 "regression-compile-tmp/imp918s.imp"
if (((GLOBAL) == (0))) goto L_03a0;
#line 4071 "regression-compile-tmp/imp918s.imp"
DPTR = 0;
#line 4071 "regression-compile-tmp/imp918s.imp"
goto U_102a;
#line 4071 "regression-compile-tmp/imp918s.imp"
L_03a0:;
                                                                //   4072           DD(0)=X'C2C2C2C2';             ! MARKER ==M'BBBB' IN EBCDIC
#line 4072 "regression-compile-tmp/imp918s.imp"
DD[0] = (-1027423550);
                                                                //   4073           ML=M(LEVEL);                   ! ROUTINE NAME(=0 FOR %BEGIN)
#line 4073 "regression-compile-tmp/imp918s.imp"
ML = M[LEVEL];
                                                                //   4074           LNUM=LETT(ML);                 ! LENGTH OF THE NAME
#line 4074 "regression-compile-tmp/imp918s.imp"
LNUM = LETT[ML];
                                                                //   4075           DD(1)=L(LEVEL)<<16!RBASE<<8;   ! RT WORD TO TABLE
#line 4075 "regression-compile-tmp/imp918s.imp"
DD[1] = ((((L[LEVEL]) << (16))) | (((RBASE) << (8))));
                                                                //   4076           OL=L(LEVEL-1)
#line 4076 "regression-compile-tmp/imp918s.imp"
OL = L[(((int)(LEVEL)) - (1))];
                                                                //   4077           DPTR=3; DEND=0
#line 4077 "regression-compile-tmp/imp918s.imp"
DPTR = 3;
#line 4077 "regression-compile-tmp/imp918s.imp"
DEND = 0;
                                                                //   4078           %IF LNUM=0 %THEN DD(2)=L(LEVEL-1) %ELSE %START
#line 4078 "regression-compile-tmp/imp918s.imp"
if (((LNUM) != (0))) goto L_03a1;
#line 4078 "regression-compile-tmp/imp918s.imp"
DD[2] = L[(((int)(LEVEL)) - (1))];
#line 4078 "regression-compile-tmp/imp918s.imp"
goto L_03a2;
#line 4078 "regression-compile-tmp/imp918s.imp"
L_03a1:;
                                                                //   4079           Q=ADDR(LETT(ML))
#line 4079 "regression-compile-tmp/imp918s.imp"
Q = _imp_ADDR(&LETT[ML]);
                                                                //   4080              RT NAME<-STRING(Q);         ! FOR RTS MOVE IN 1ST 32 CHARS
#line 4080 "regression-compile-tmp/imp918s.imp"
RTNAME = *_imp_STRING(Q);
                                                                //   4081              STRING(ADDR(DD(1))+3)=RTNAME;! AND UPDATE POINTER PAST
#line 4081 "regression-compile-tmp/imp918s.imp"
*_imp_STRING((((int)(_imp_ADDR(&DD[1]))) + (3))) = RTNAME;
                                                                //   4082              DPTR=DPTR+(LNUM-1)>>2;      ! ACTUAL NO OF CHARS
#line 4082 "regression-compile-tmp/imp918s.imp"
DPTR = ((DPTR) + ((int)((((((((int)(LNUM)) - (1)))) >> (2))))));
                                                                //   4083           %FINISH
#line 4083 "regression-compile-tmp/imp918s.imp"
L_03a2:;
                                                                //   4084  START:
#line 4084 "regression-compile-tmp/imp918s.imp"
U_102a:;
                                                                //   4085           JJ=NAMES(LEVEL)
#line 4085 "regression-compile-tmp/imp918s.imp"
JJ = NAMES[LEVEL];
                                                                //   4086           %CYCLE LC=0,1,NNAMES
#line 4086 "regression-compile-tmp/imp918s.imp"
{static int _initial, _increment, _final, _control;
_initial = 0; _increment = 1; _final = NNAMES; LC = _control = _initial;
if (((_final-_initial) % _increment) != 0) _imp_signal(5,1,0,"Illegal cycle LC = 0, 1, NNAMES");
LC -= _increment; _control -= _increment;
L_03a3:;
if (LC == _final) goto L_03a4;
LC += _increment; _control += _increment;
if (LC != _control) _imp_signal(4,2,0,"Corrupt control variable LC"); /* FOR loop control variable corrupted */
}
                                                                //   4087              %EXIT %IF JJ<0
#line 4087 "regression-compile-tmp/imp918s.imp"
if (((JJ) >= (0))) goto L_03a6;
#line 4087 "regression-compile-tmp/imp918s.imp"
goto L_03a4;
#line 4087 "regression-compile-tmp/imp918s.imp"
L_03a6:;
                                                                //   4088                 %IF GLOBAL=0 %THEN %START
#line 4088 "regression-compile-tmp/imp918s.imp"
if (((GLOBAL) != (0))) goto L_03a7;
                                                                //   4089                    KK=INTEGER(ADDR(ASLIST(TAGS(JJ))))
#line 4089 "regression-compile-tmp/imp918s.imp"
KK = *_imp_INTEGER(_imp_ADDR(&ASLIST[TAGS[JJ]]));
                                                                //   4090                    %IF KK&X'F000'=0 %THEN %START
#line 4090 "regression-compile-tmp/imp918s.imp"
if (((((KK) & (61440))) != (0))) goto L_03a8;
                                                                //   4091                       printstring("
#line 4091 "regression-compile-tmp/imp918s.imp"
_imp_PRINTSTRING(_imp_str_literal("\n?  UNUSED NAME "));
                                                                //   4092  ?  UNUSED NAME ")
                                                                //   4093                       PRINTNAME(JJ)
#line 4093 "regression-compile-tmp/imp918s.imp"
PRINTNAME(JJ);
                                                                //   4094                    %FINISH
#line 4094 "regression-compile-tmp/imp918s.imp"
L_03a8:;
                                                                //   4095                 %FINISH
#line 4095 "regression-compile-tmp/imp918s.imp"
L_03a7:;
                                                                //   4096                 ->REP %IF DIAGS1=0 %OR LINENOS=0
#line 4096 "regression-compile-tmp/imp918s.imp"
if (((DIAGS1) == (0))) goto L_03a9;
#line 4096 "regression-compile-tmp/imp918s.imp"
if (((LINENOS) != (0))) goto L_03aa;
#line 4096 "regression-compile-tmp/imp918s.imp"
L_03a9:;
#line 4096 "regression-compile-tmp/imp918s.imp"
goto U_102b;
#line 4096 "regression-compile-tmp/imp918s.imp"
L_03aa:;
                                                                //   4097                 COPY TAG(JJ);               ! GET DETAILS
#line 4097 "regression-compile-tmp/imp918s.imp"
COPYTAG(JJ);
                                                                //   4098                 %IF ARR=0 %AND ROUT=0 %AND DPTR<297 %ANDC
#line 4098 "regression-compile-tmp/imp918s.imp"
if (((ARR) != (0))) goto L_03ab;
#line 4098 "regression-compile-tmp/imp918s.imp"
if (((ROUT) != (0))) goto L_03ab;
#line 4098 "regression-compile-tmp/imp918s.imp"
if (((DPTR) >= (297))) goto L_03ab;
#line 4098 "regression-compile-tmp/imp918s.imp"
if (((PREC) >= (4))) goto L_03ab;
#line 4098 "regression-compile-tmp/imp918s.imp"
if (((TYPE) == (1))) goto L_03ac;
#line 4098 "regression-compile-tmp/imp918s.imp"
if (((TYPE) == (2))) goto L_03ac;
#line 4098 "regression-compile-tmp/imp918s.imp"
if (((TYPE) != (5))) goto L_03ab;
#line 4098 "regression-compile-tmp/imp918s.imp"
L_03ac:;
#line 4098 "regression-compile-tmp/imp918s.imp"
if (((GLOBAL) == (0))) goto L_03ad;
#line 4098 "regression-compile-tmp/imp918s.imp"
if (((OLDI) != (1))) goto L_03ab;
#line 4098 "regression-compile-tmp/imp918s.imp"
L_03ad:;
                                                                //   4099                    PREC<4 %AND (TYPE=1 %OR TYPE=2 %OR TYPE=5) %C
                                                                //   4100                    %AND (GLOBAL=0 %OR OLDI=1) %THEN %START
                                                                //   4101                    Q=ADDR(LETT(WORD(JJ)));  ! ADDRESS OF NAME
#line 4101 "regression-compile-tmp/imp918s.imp"
Q = _imp_ADDR(&LETT[WORD[JJ]]);
                                                                //   4102                    DD(DPTR)=NAM<<30!PREC<<27!TYPE<<24!I<<20!K<<8
#line 4102 "regression-compile-tmp/imp918s.imp"
DD[DPTR] = ((((((((((NAM) << (30))) | (((PREC) << (27))))) | (((TYPE) << (24))))) | (((I) << (20))))) | (((K) << (8))));
                                                                //   4103                    LOCAL NAME<-STRING(Q);   ! TEXT OF NAME FROM DICTIONARY
#line 4103 "regression-compile-tmp/imp918s.imp"
LOCALNAME = *_imp_STRING(Q);
                                                                //   4104                    LNUM=BYTE INTEGER(ADDR(LOCAL NAME))
#line 4104 "regression-compile-tmp/imp918s.imp"
LNUM = *_imp_BYTEINTEGER(_imp_ADDR(&LOCALNAME));
                                                                //   4105                    STRING(ADDR(DD(DPTR))+3)=LOCAL NAME;! MOVE IN NAME 
#line 4105 "regression-compile-tmp/imp918s.imp"
*_imp_STRING((((int)(_imp_ADDR(&DD[DPTR]))) + (3))) = LOCALNAME;
                                                                //   4106                    DPTR=DPTR+(LNUM+7)>>2
#line 4106 "regression-compile-tmp/imp918s.imp"
DPTR = ((DPTR) + ((int)((((((((int)(LNUM)) + (7)))) >> (2))))));
                                                                //   4107                 %FINISH
#line 4107 "regression-compile-tmp/imp918s.imp"
L_03ab:;
                                                                //   4108  REP:           JJ=SHORTINTEGER(ADDR(ASLIST(TAGS(JJ)))+12)
#line 4108 "regression-compile-tmp/imp918s.imp"
U_102b:;
#line 4108 "regression-compile-tmp/imp918s.imp"
JJ = *_imp_SHORTINTEGER((((int)(_imp_ADDR(&ASLIST[TAGS[JJ]]))) + (12)));
                                                                //   4109           %REPEAT
#line 4109 "regression-compile-tmp/imp918s.imp"
goto L_03a3;
#line 4109 "regression-compile-tmp/imp918s.imp"
L_03a4:;
                                                                //   4110           %IF LEVEL=2 %THEN %START;      ! GLOBALS TO FOLLOW
#line 4110 "regression-compile-tmp/imp918s.imp"
if (((LEVEL) != (2))) goto L_03ae;
                                                                //   4111              DD(DPTR)=-2;                ! GLOBAL TO COME MARKER
#line 4111 "regression-compile-tmp/imp918s.imp"
DD[DPTR] = (-2);
                                                                //   4112              DPTR=DPTR+1
#line 4112 "regression-compile-tmp/imp918s.imp"
DPTR = (((int)(DPTR)) + (1));
                                                                //   4113           %FINISH %ELSE %START
#line 4113 "regression-compile-tmp/imp918s.imp"
goto L_03af;
#line 4113 "regression-compile-tmp/imp918s.imp"
L_03ae:;
                                                                //   4114              DD(DPTR)=-1;                   ! 'END OF SEGMENT' MARK
#line 4114 "regression-compile-tmp/imp918s.imp"
DD[DPTR] = (-1);
                                                                //   4115              DD(DPTR+1)=OL;                 ! SO DEBUG CAN FIND GLOBALS
#line 4115 "regression-compile-tmp/imp918s.imp"
DD[(((int)(DPTR)) + (1))] = OL;
                                                                //   4116              DPTR=DPTR+2
#line 4116 "regression-compile-tmp/imp918s.imp"
DPTR = (((int)(DPTR)) + (2));
                                                                //   4117           %FINISH
#line 4117 "regression-compile-tmp/imp918s.imp"
L_03af:;
                                                                //   4118           DPTR=DPTR<<2
#line 4118 "regression-compile-tmp/imp918s.imp"
DPTR = ((DPTR) << (2));
                                                                //   4119           %IF DIAGS1=1 %THEN %START
#line 4119 "regression-compile-tmp/imp918s.imp"
if (((DIAGS1) != (1))) goto L_03b0;
                                                                //   4120              %IF GLOBAL=1 %AND DPTR=8 %THEN SSTL=SSTL-4;! PUT -1 ONTOP OF -2
#line 4120 "regression-compile-tmp/imp918s.imp"
if (((GLOBAL) != (1))) goto L_03b1;
#line 4120 "regression-compile-tmp/imp918s.imp"
if (((DPTR) != (8))) goto L_03b1;
#line 4120 "regression-compile-tmp/imp918s.imp"
SSTL = (((int)(SSTL)) - (4));
#line 4120 "regression-compile-tmp/imp918s.imp"
L_03b1:;
                                                                //   4121              LPUT(4,DPTR,SSTL,ADDR(DD(0)));! ADD TO SHARABLE SYM TABS
#line 4121 "regression-compile-tmp/imp918s.imp"
lput(4, DPTR, SSTL, _imp_ADDR(&DD[0]));
                                                                //   4122              SSTL=SSTL+DPTR
#line 4122 "regression-compile-tmp/imp918s.imp"
SSTL = (((int)(SSTL)) + (DPTR));
                                                                //   4123           %FINISH
#line 4123 "regression-compile-tmp/imp918s.imp"
L_03b0:;
                                                                //   4124           %END;                          ! OF ROUTINE DTABLE
#line 4124 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block DTABLE at level 4
                                                                //   4125  Label99:      %END
#line 4125 "regression-compile-tmp/imp918s.imp"
U_1033:;
#line 4125 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block CEND at level 3
                                                                //   4126  !***********************************************************************
                                                                //   4127  !*       VARIOUS ROUTINE THAT ARE REQUIRED ONLY AT BLOCK START         *
                                                                //   4128  !*       AND BLOCK END ARE GATHERED HERE. HOPEFULLY THEY WILL BE PAGED *
                                                                //   4129  !*       OUT EXCEPT WHEN NEEDED.                                       *
                                                                //   4130  !***********************************************************************
                                                                //   4131  !
                                                                //   4132           %ROUTINE TEST NST
#line 4132 "regression-compile-tmp/imp918s.imp"
void TESTNST( void )
#line 4132 "regression-compile-tmp/imp918s.imp"
{
                                                                //   4133  !***********************************************************************
                                                                //   4134  !*       SEE IF NAME 'K' HAS BEEN DECLARED BEFORE AT THIS LEVEL        *
                                                                //   4135  !***********************************************************************
                                                                //   4136           FNAME=K
#line 4136 "regression-compile-tmp/imp918s.imp"
FNAME = K;
                                                                //   4137           FAULT(7,FNAME) %IF FROM1(TAGS(FNAME))>>8&15=LEVEL
#line 4137 "regression-compile-tmp/imp918s.imp"
if ((((((int)((((unsigned int)(FROM1(TAGS[FNAME]))) >> (8)))) & (15))) != (LEVEL))) goto L_03b2;
#line 4137 "regression-compile-tmp/imp918s.imp"
FAULT(7, FNAME);
#line 4137 "regression-compile-tmp/imp918s.imp"
L_03b2:;
                                                                //   4138           %END
#line 4138 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block TESTNST at level 3
                                                                //   4139           %ROUTINE RELOCATE(%INTEGER GLARAD,VALUE,AREA)
#line 4139 "regression-compile-tmp/imp918s.imp"
void RELOCATE( int GLARAD, int VALUE, int AREA )
#line 4139 "regression-compile-tmp/imp918s.imp"
{
                                                                //   4140           {%SHORTROUTINE}
                                                                //   4141  !***********************************************************************
                                                                //   4142  !*      PLANTS A WORD IN THE GLA (IF GLARAD<0) AND ARRANGES TO         *
                                                                //   4143  !*       RELOCATE IT RELATIVE TO AN AREA(CODE=1,GLA=2,CST=4,GST=5      *
                                                                //   4144  !*       RELOCATION RELATIVE TO SYMBOL TABLES CAN NOW BE DONE HERE     *
                                                                //   4145  !***********************************************************************
                                                                //   4146           %IF GLARAD<0 %THEN PGLA(4,4,ADDR(VALUE)) %AND GLARAD=GLACA-4
#line 4146 "regression-compile-tmp/imp918s.imp"
if (((GLARAD) >= (0))) goto L_03b3;
#line 4146 "regression-compile-tmp/imp918s.imp"
PGLA(4, 4, _imp_ADDR(&VALUE));
#line 4146 "regression-compile-tmp/imp918s.imp"
GLARAD = (((int)(GLACA)) - (4));
#line 4146 "regression-compile-tmp/imp918s.imp"
L_03b3:;
                                                                //   4147           %IF AREA<3 %THEN LPUT(AREA+19,0,GLARAD,0) %ELSE %C
#line 4147 "regression-compile-tmp/imp918s.imp"
if (((AREA) >= (3))) goto L_03b4;
#line 4147 "regression-compile-tmp/imp918s.imp"
lput((((int)(AREA)) + (19)), 0, GLARAD, 0);
#line 4147 "regression-compile-tmp/imp918s.imp"
goto L_03b5;
#line 4147 "regression-compile-tmp/imp918s.imp"
L_03b4:;
#line 4147 "regression-compile-tmp/imp918s.imp"
lput((((int)(AREA)) + (14)), 0, GLARAD, 0);
#line 4147 "regression-compile-tmp/imp918s.imp"
L_03b5:;
                                                                //   4148              LPUT(AREA+14,0,GLARAD,0)
                                                                //   4149  !            PUSH123(RELHEAD,GLARAD,VALUE,AREA)
                                                                //   4150           %END
#line 4150 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block RELOCATE at level 3
                                                                //   4151           %ROUTINE GXREF(%INTEGER MODE,NAME,XTRA,AT)
#line 4151 "regression-compile-tmp/imp918s.imp"
void GXREF( int MODE, int NAME, int XTRA, int AT )
#line 4151 "regression-compile-tmp/imp918s.imp"
{
                                                                //   4152           {%SHORTROUTINE}
                                                                //   4153  !***********************************************************************
                                                                //   4154  !*       ASK LPUT TO ARRANGE TO RELOCATE 1 OR MORE WORDS AT 'AT'       *
                                                                //   4155  !*       IN THE GLA BY EXTERNAL NAME 'NAME'.                           *
                                                                //   4156  !*       MODE DEFINES ENTITY:-                                         *
                                                                //   4157  !*       MODE=0 FOR STATIC XREFS (XTRA='S' OR 'I' FOR #IDENS)          *
                                                                //   4158  !*       MODE=1 FOR DYNAMIC XREFS                                      *
                                                                //   4159  !*       MODE=2 FOR DATA REFS XTRA=LMIN                                *
                                                                //   4160  !*       NAME=0 FOR IOCP REFERENCES                                    *
                                                                //   4161  !***********************************************************************
                                                                //   4162           %INTEGER J,LPUTNO
#line 4162 "regression-compile-tmp/imp918s.imp"
int J;
#line 4162 "regression-compile-tmp/imp918s.imp"
int LPUTNO;
                                                                //   4163           %STRING(8) ID
#line 4163 "regression-compile-tmp/imp918s.imp"
_imp_string /*%string(8)*/ ID;
                                                                //   4164           %IF NAME<0 %THEN %START
#line 4164 "regression-compile-tmp/imp918s.imp"
if (((NAME) >= (0))) goto L_03b6;
                                                                //   4165              %IF NAME=-1 %THEN J=ADDR(IOCP1)+3 %ELSE J=ADDR(IMPMON1)+3
#line 4165 "regression-compile-tmp/imp918s.imp"
if (((NAME) != ((-1)))) goto L_03b7;
#line 4165 "regression-compile-tmp/imp918s.imp"
J = (((int)(_imp_ADDR(&IOCP1))) + (3));
#line 4165 "regression-compile-tmp/imp918s.imp"
goto L_03b8;
#line 4165 "regression-compile-tmp/imp918s.imp"
L_03b7:;
#line 4165 "regression-compile-tmp/imp918s.imp"
J = (((int)(_imp_ADDR(&IMPMON1))) + (3));
#line 4165 "regression-compile-tmp/imp918s.imp"
L_03b8:;
                                                                //   4166           %FINISH %ELSE J=ADDR(LETT(WORD(NAME)));! J TO NAME TEXT
#line 4166 "regression-compile-tmp/imp918s.imp"
goto L_03b9;
#line 4166 "regression-compile-tmp/imp918s.imp"
L_03b6:;
#line 4166 "regression-compile-tmp/imp918s.imp"
J = _imp_ADDR(&LETT[WORD[NAME]]);
#line 4166 "regression-compile-tmp/imp918s.imp"
L_03b9:;
                                                                //   4167           ID<-STRING(J);                ! MOVE IN NAME
#line 4167 "regression-compile-tmp/imp918s.imp"
ID = *_imp_STRING(J);
                                                                //   4168           %IF MODE<=1 %AND XTRA>0 %THEN %C
#line 4168 "regression-compile-tmp/imp918s.imp"
if (((MODE) > (1))) goto L_03ba;
#line 4168 "regression-compile-tmp/imp918s.imp"
if (((XTRA) <= (0))) goto L_03ba;
#line 4168 "regression-compile-tmp/imp918s.imp"
ID = _imp_join((_imp_string)_imp_join((_imp_string)_imp_TOSTRING(XTRA),(_imp_string)_imp_str_literal("#")),(_imp_string)ID);
#line 4168 "regression-compile-tmp/imp918s.imp"
L_03ba:;
                                                                //   4169              ID<-TOSTRING(XTRA)."#".ID
                                                                //   4170           %IF MODE=2 %THEN LPUTNO=15 %ELSE LPUTNO=MODE+12
#line 4170 "regression-compile-tmp/imp918s.imp"
if (((MODE) != (2))) goto L_03bb;
#line 4170 "regression-compile-tmp/imp918s.imp"
LPUTNO = 15;
#line 4170 "regression-compile-tmp/imp918s.imp"
goto L_03bc;
#line 4170 "regression-compile-tmp/imp918s.imp"
L_03bb:;
#line 4170 "regression-compile-tmp/imp918s.imp"
LPUTNO = (((int)(MODE)) + (12));
#line 4170 "regression-compile-tmp/imp918s.imp"
L_03bc:;
                                                                //   4171           LPUT(LPUTNO,XTRA,AT,ADDR(ID))
#line 4171 "regression-compile-tmp/imp918s.imp"
lput(LPUTNO, XTRA, AT, _imp_ADDR(&ID));
                                                                //   4172           %END
#line 4172 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block GXREF at level 3
                                                                //   4173  
                                                                //   4174           %ROUTINE CXREF(%INTEGER MODE,NAME,XTRA,%INTEGERNAME AT)
#line 4174 "regression-compile-tmp/imp918s.imp"
void CXREF( int MODE, int NAME, int XTRA, int /*name*/*AT )
#line 4174 "regression-compile-tmp/imp918s.imp"
{
                                                                //   4175           {%SHORTROUTINE}
                                                                //   4176  !***********************************************************************
                                                                //   4177  !*       CREATE A ZEROED AREA IN THE GLA AND CALL GXREF TO GET         *
                                                                //   4178  !*       IT FILLED AT LOAD TIME WITH INFORMATION ON AN EXTERNAL OBJECT *
                                                                //   4179  !*       PARAMETERS ARE AS FOR GXREF.                                  *
                                                                //   4180  !***********************************************************************
                                                                //   4181           %INTEGER L
#line 4181 "regression-compile-tmp/imp918s.imp"
int L;
                                                                //   4182           %IF MODE=2 %THEN L=4 %ELSE L=16;    ! DATA OR ROUTINE
#line 4182 "regression-compile-tmp/imp918s.imp"
if (((MODE) != (2))) goto L_03bd;
#line 4182 "regression-compile-tmp/imp918s.imp"
L = 4;
#line 4182 "regression-compile-tmp/imp918s.imp"
goto L_03be;
#line 4182 "regression-compile-tmp/imp918s.imp"
L_03bd:;
#line 4182 "regression-compile-tmp/imp918s.imp"
L = 16;
#line 4182 "regression-compile-tmp/imp918s.imp"
L_03be:;
                                                                //   4183           PGLA(4,L,ADDR(FIXED GLA(7)));       ! 1 OR 4 ZERO WORDS
#line 4183 "regression-compile-tmp/imp918s.imp"
PGLA(4, L, _imp_ADDR(&FIXEDGLA[7]));
                                                                //   4184           AT=GLACA-L
#line 4184 "regression-compile-tmp/imp918s.imp"
*AT = (((int)(GLACA)) - (L));
                                                                //   4185           GXREF(MODE,NAME,XTRA,AT)
#line 4185 "regression-compile-tmp/imp918s.imp"
GXREF(MODE, NAME, XTRA, *AT);
                                                                //   4186           %END
#line 4186 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block CXREF at level 3
                                                                //   4187           %ROUTINE CLT
#line 4187 "regression-compile-tmp/imp918s.imp"
void CLT( void )
#line 4187 "regression-compile-tmp/imp918s.imp"
{
                                                                //   4188           {%SHORTROUTINE}
                                                                //   4189  !***********************************************************************
                                                                //   4190  !*       DEAL WITH PHRASE TYPE AND SET PREC,TYPE & ACC                 *
                                                                //   4191  !*       ONLY PROBLEM IS STRING WHICH HAS OPTIONAL MAX LENGTH ALSO     *
                                                                //   4192  !*       P ON PHRASE TYPE AT ENTRY - TO NEXT PHRASE AT EXIT.           *
                                                                //   4193  !***********************************************************************
                                                                //   4194           TYPE=TYPEFLAG(A(P));       ! TYPEFLAG HOLDS PREC & TYPE
#line 4194 "regression-compile-tmp/imp918s.imp"
TYPE = (TYPEFLAG-1)[A[((P) + ((int)(7)))]];
                                                                //   4195           PREC=TYPE>>3
#line 4195 "regression-compile-tmp/imp918s.imp"
PREC = (unsigned char)((((unsigned char)(TYPE)) >> (3)));
                                                                //   4196           TYPE=TYPE&7
#line 4196 "regression-compile-tmp/imp918s.imp"
TYPE = ((TYPE) & (7));
                                                                //   4197           %IF PREC=2 %THEN WARN(LINE);   ! WARNING FOR SHORTS
#line 4197 "regression-compile-tmp/imp918s.imp"
if (((PREC) != (2))) goto L_03bf;
#line 4197 "regression-compile-tmp/imp918s.imp"
WARN(LINE);
#line 4197 "regression-compile-tmp/imp918s.imp"
L_03bf:;
                                                                //   4198           PREC=3 %IF TYPE=2 %AND ALL LONG#0;! DEAL WITH '%REALSLONG'
#line 4198 "regression-compile-tmp/imp918s.imp"
if (((TYPE) != (2))) goto L_03c0;
#line 4198 "regression-compile-tmp/imp918s.imp"
if (((ALLLONG) == (0))) goto L_03c0;
#line 4198 "regression-compile-tmp/imp918s.imp"
PREC = 3;
#line 4198 "regression-compile-tmp/imp918s.imp"
L_03c0:;
                                                                //   4199           ACC=BYTES(PREC)
#line 4199 "regression-compile-tmp/imp918s.imp"
ACC = BYTES[PREC];
                                                                //   4200           %IF TYPE=5 %THEN %START;    ! P<TYPE>='%STRING'
#line 4200 "regression-compile-tmp/imp918s.imp"
if (((TYPE) != (5))) goto L_03c1;
                                                                //   4201              %IF A(P+1)=1 %THEN %START;! MAX LENGTH GIVEN
#line 4201 "regression-compile-tmp/imp918s.imp"
if (((A[(((unsigned char)((((int)(P)) + (1)))) + (7))]) != (1))) goto L_03c2;
                                                                //   4202                 P=P+2
#line 4202 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (2));
                                                                //   4203                 ACC=A(P)+1
#line 4203 "regression-compile-tmp/imp918s.imp"
ACC = (((int)(A[((P) + ((int)(7)))])) + (1));
                                                                //   4204                 FAULT(70,0) %UNLESS 2<=ACC<=256
#line 4204 "regression-compile-tmp/imp918s.imp"
if ((((2) > (ACC))) || (((ACC) <= (256)))) goto L_03c4;
#line 4204 "regression-compile-tmp/imp918s.imp"
L_03c3:;
#line 4204 "regression-compile-tmp/imp918s.imp"
FAULT(70, 0);
#line 4204 "regression-compile-tmp/imp918s.imp"
L_03c4:;
                                                                //   4205              %FINISH %ELSE ACC=0 %AND P=P+1
#line 4205 "regression-compile-tmp/imp918s.imp"
goto L_03c5;
#line 4205 "regression-compile-tmp/imp918s.imp"
L_03c2:;
#line 4205 "regression-compile-tmp/imp918s.imp"
ACC = 0;
#line 4205 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
#line 4205 "regression-compile-tmp/imp918s.imp"
L_03c5:;
                                                                //   4206           %FINISH
#line 4206 "regression-compile-tmp/imp918s.imp"
L_03c1:;
                                                                //   4207           P=P+1
#line 4207 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
                                                                //   4208           %END
#line 4208 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block CLT at level 3
                                                                //   4209           %ROUTINE CQN(%INTEGER P)
#line 4209 "regression-compile-tmp/imp918s.imp"
void CQN( int P )
#line 4209 "regression-compile-tmp/imp918s.imp"
{
                                                                //   4210           {%SHORTROUTINE}
                                                                //   4211  !***********************************************************************
                                                                //   4212  !*       SET NAM,ARR & ACC FROM ALTERNATIVE OF PHRASE <QNAME'>         *
                                                                //   4213  !*       P<QNAME'>='%ARRAYNAME','%NAME',<%NULL>                        *
                                                                //   4214  !*       P POINTS TO THE ANALYSIS RECORD ENTRY AS IS NOT UPDATED       *
                                                                //   4215  !***********************************************************************
                                                                //   4216           %BYTEINTEGER I
#line 4216 "regression-compile-tmp/imp918s.imp"
unsigned char I;
                                                                //   4217           I=A(P);NAM=0;ARR=0
#line 4217 "regression-compile-tmp/imp918s.imp"
I = A[((P) + ((int)(7)))];
#line 4217 "regression-compile-tmp/imp918s.imp"
NAM = 0;
#line 4217 "regression-compile-tmp/imp918s.imp"
ARR = 0;
                                                                //   4218           %IF I=1 %THEN ARR=1 %AND ACC=16; ! ARRAYNAMES
#line 4218 "regression-compile-tmp/imp918s.imp"
if (((I) != (1))) goto L_03c6;
#line 4218 "regression-compile-tmp/imp918s.imp"
ARR = 1;
#line 4218 "regression-compile-tmp/imp918s.imp"
ACC = 16;
#line 4218 "regression-compile-tmp/imp918s.imp"
L_03c6:;
                                                                //   4219           %IF I<=2 %THEN NAM=1;           ! ARRAYNAMES & NAMES
#line 4219 "regression-compile-tmp/imp918s.imp"
if (((I) > (2))) goto L_03c7;
#line 4219 "regression-compile-tmp/imp918s.imp"
NAM = 1;
#line 4219 "regression-compile-tmp/imp918s.imp"
L_03c7:;
                                                                //   4220           %IF I=2 %THEN ACC=4;            ! NAMES USE 4-BYTE POINTER
#line 4220 "regression-compile-tmp/imp918s.imp"
if (((I) != (2))) goto L_03c8;
#line 4220 "regression-compile-tmp/imp918s.imp"
ACC = 4;
#line 4220 "regression-compile-tmp/imp918s.imp"
L_03c8:;
                                                                //   4221           %END
#line 4221 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block CQN at level 3
                                                                //   4222           %ROUTINE     RHEAD(%INTEGER KK)
#line 4222 "regression-compile-tmp/imp918s.imp"
void RHEAD( int KK )
#line 4222 "regression-compile-tmp/imp918s.imp"
{
                                                                //   4223           {%SHORTROUTINE}
                                                                //   4224  !***********************************************************************
                                                                //   4225  !*       COMPILES CODE FOR BLOCK AND ROUTINE ENTRY                     *
                                                                //   4226  !*       KK IS THE RT/FN/MAP NAME (=-1 FOR %BEGIN BLOCKS)              *
                                                                //   4227  !*       FLAGP IS AS KK EXCEPT FLAGP=10000 IS USED TO DISTINGUISH      *
                                                                //   4228  !*       THE FIRST (PERM) BEGIN WHICH HAS TO BE TREATED AS A ROUTINE   *
                                                                //   4229  !*       ROUTINE TAGS ARE AS FOLLOWS:-                                 *
                                                                //   4230  !*       SNDISP = WORD(!) DISPLACEMENT OF EP(REF)FROM HEAD OF CODE(GLA)*
                                                                //   4231  !*        (OR)  = LISTHEAD OF OUTSTANDING FORWARD REFS                 *
                                                                //   4232  !*       KFORM  = PSIMPLE<<12 ! NO OF PARAMS                           *
                                                                //   4233  !*       K      = LIST OF FORMAL PARAMETER DESCRIPTIONS                *
                                                                //   4234  !***********************************************************************
                                                                //   4235           %INTEGER FLAGP,W1,W2,W3,BASED,AT,WK
#line 4235 "regression-compile-tmp/imp918s.imp"
int FLAGP;
#line 4235 "regression-compile-tmp/imp918s.imp"
int W1;
#line 4235 "regression-compile-tmp/imp918s.imp"
int W2;
#line 4235 "regression-compile-tmp/imp918s.imp"
int W3;
#line 4235 "regression-compile-tmp/imp918s.imp"
int BASED;
#line 4235 "regression-compile-tmp/imp918s.imp"
int AT;
#line 4235 "regression-compile-tmp/imp918s.imp"
int WK;
                                                                //   4236           PUSH123(LEVELINF,NMDECS<<24!CODEBASE,NMAX<<16!SBFLAG<<15!N,%C
#line 4236 "regression-compile-tmp/imp918s.imp"
PUSH123(&LEVELINF, ((((NMDECS) << (24))) | (CODEBASE)), ((((((NMAX) << (16))) | (((SBFLAG) << (15))))) | (N)), ((((RNEXT) << (16))) | (FLAG)));
                                                                //   4237               RNEXT<<16!FLAG)
                                                                //   4238           FLAGP=KK;FLAGP=10000 %IF RLEVEL=0
#line 4238 "regression-compile-tmp/imp918s.imp"
FLAGP = KK;
#line 4238 "regression-compile-tmp/imp918s.imp"
if (((RLEVEL) != (0))) goto L_03c9;
#line 4238 "regression-compile-tmp/imp918s.imp"
FLAGP = 10000;
#line 4238 "regression-compile-tmp/imp918s.imp"
L_03c9:;
                                                                //   4239           %IF LIST=0 %AND RLEVEL#0 %THEN %START;  ! OUTPUT HEADER
#line 4239 "regression-compile-tmp/imp918s.imp"
if (((LIST) != (0))) goto L_03ca;
#line 4239 "regression-compile-tmp/imp918s.imp"
if (((RLEVEL) == (0))) goto L_03ca;
                                                                //   4240              NEWLINE;WRITE(LINE,5)
#line 4240 "regression-compile-tmp/imp918s.imp"
_imp_NEWLINE();
#line 4240 "regression-compile-tmp/imp918s.imp"
_imp_WRITE(LINE, 5);
                                                                //   4241              %IF PRINTMAP=1 %THEN SPACES(3) %AND PRHEX(CA,5)
#line 4241 "regression-compile-tmp/imp918s.imp"
if (((PRINTMAP) != (1))) goto L_03cb;
#line 4241 "regression-compile-tmp/imp918s.imp"
_imp_SPACES(3);
#line 4241 "regression-compile-tmp/imp918s.imp"
PRHEX(CA, 5);
#line 4241 "regression-compile-tmp/imp918s.imp"
L_03cb:;
                                                                //   4242              SPACES(3*LEVEL)
#line 4242 "regression-compile-tmp/imp918s.imp"
_imp_SPACES((((int)(3)) * (LEVEL)));
                                                                //   4243              %IF KK<0 %THEN printstring("BEGIN") %ELSE %START
#line 4243 "regression-compile-tmp/imp918s.imp"
if (((KK) >= (0))) goto L_03cc;
#line 4243 "regression-compile-tmp/imp918s.imp"
_imp_PRINTSTRING(_imp_str_literal("BEGIN"));
#line 4243 "regression-compile-tmp/imp918s.imp"
goto L_03cd;
#line 4243 "regression-compile-tmp/imp918s.imp"
L_03cc:;
                                                                //   4244                 %IF PTYPE=10000 %THEN printstring("RT ") %ELSE %C
#line 4244 "regression-compile-tmp/imp918s.imp"
if (((PTYPE) != (10000))) goto L_03ce;
#line 4244 "regression-compile-tmp/imp918s.imp"
_imp_PRINTSTRING(_imp_str_literal("RT "));
#line 4244 "regression-compile-tmp/imp918s.imp"
goto L_03cf;
#line 4244 "regression-compile-tmp/imp918s.imp"
L_03ce:;
#line 4244 "regression-compile-tmp/imp918s.imp"
_imp_PRINTSTRING(_imp_str_literal("FN/MAP "));
#line 4244 "regression-compile-tmp/imp918s.imp"
L_03cf:;
                                                                //   4245                    printstring("FN/MAP ")
                                                                //   4246                 PRINTNAME(KK)
#line 4246 "regression-compile-tmp/imp918s.imp"
PRINTNAME(KK);
                                                                //   4247             %FINISH
#line 4247 "regression-compile-tmp/imp918s.imp"
L_03cd:;
                                                                //   4248           %FINISH
#line 4248 "regression-compile-tmp/imp918s.imp"
L_03ca:;
                                                                //   4249           LEVEL=LEVEL+1
#line 4249 "regression-compile-tmp/imp918s.imp"
LEVEL = (((int)(LEVEL)) + (1));
                                                                //   4250           NAMES(LEVEL)=-1
#line 4250 "regression-compile-tmp/imp918s.imp"
NAMES[LEVEL] = (-1);
                                                                //   4251           %IF FLAGP>=0 %THEN %START
#line 4251 "regression-compile-tmp/imp918s.imp"
if (((FLAGP) < (0))) goto L_03d0;
                                                                //   4252              RLEVEL=RLEVEL+1; RBASE=10-RLEVEL
#line 4252 "regression-compile-tmp/imp918s.imp"
RLEVEL = (((int)(RLEVEL)) + (1));
#line 4252 "regression-compile-tmp/imp918s.imp"
RBASE = (((int)(10)) - (RLEVEL));
                                                                //   4253              FAULT(35,0) %IF RBASE=4 %OR REGISTER(RBASE)#0
#line 4253 "regression-compile-tmp/imp918s.imp"
if (((RBASE) == (4))) goto L_03d1;
#line 4253 "regression-compile-tmp/imp918s.imp"
if (((REGISTER[RBASE]) == (0))) goto L_03d2;
#line 4253 "regression-compile-tmp/imp918s.imp"
L_03d1:;
#line 4253 "regression-compile-tmp/imp918s.imp"
FAULT(35, 0);
#line 4253 "regression-compile-tmp/imp918s.imp"
L_03d2:;
                                                                //   4254              FORGET(RBASE); REGISTER(RBASE)=-1
#line 4254 "regression-compile-tmp/imp918s.imp"
FORGET(RBASE);
#line 4254 "regression-compile-tmp/imp918s.imp"
REGISTER[RBASE] = (-1);
                                                                //   4255           %FINISH
#line 4255 "regression-compile-tmp/imp918s.imp"
L_03d0:;
                                                                //   4256           FAULT(34,0) %IF LEVEL=10
#line 4256 "regression-compile-tmp/imp918s.imp"
if (((LEVEL) != (10))) goto L_03d3;
#line 4256 "regression-compile-tmp/imp918s.imp"
FAULT(34, 0);
#line 4256 "regression-compile-tmp/imp918s.imp"
L_03d3:;
                                                                //   4257           FAULT(105,0) %IF LEVEL>MAX LEVELS
#line 4257 "regression-compile-tmp/imp918s.imp"
if (((LEVEL) <= (11))) goto L_03d4;
#line 4257 "regression-compile-tmp/imp918s.imp"
FAULT(105, 0);
#line 4257 "regression-compile-tmp/imp918s.imp"
L_03d4:;
                                                                //   4258           NMDECS=0
#line 4258 "regression-compile-tmp/imp918s.imp"
NMDECS = 0;
                                                                //   4259           %IF FLAGP<0 %THEN %START;       ! BEGIN BLOCKS
#line 4259 "regression-compile-tmp/imp918s.imp"
if (((FLAGP) >= (0))) goto L_03d5;
                                                                //   4260              PRX(X'90',10,11,RBASE,N);    ! STM 10,11,?
#line 4260 "regression-compile-tmp/imp918s.imp"
PRX(144, 10, 11, RBASE, N);
                                                                //   4261              N=N+12; W2=N-4
#line 4261 "regression-compile-tmp/imp918s.imp"
N = (((int)(N)) + (12));
#line 4261 "regression-compile-tmp/imp918s.imp"
W2 = (((int)(N)) - (4));
                                                                //   4262           %FINISH
#line 4262 "regression-compile-tmp/imp918s.imp"
L_03d5:;
                                                                //   4263           %IF KK>=0 %THEN %START;      ! ROUTINE ENTRY
#line 4263 "regression-compile-tmp/imp918s.imp"
if (((KK) < (0))) goto L_03d6;
                                                                //   4264              %IF SNDISP=0 %AND EXTRN=4 %START; ! REPLACE 'NOT USED' BIT
#line 4264 "regression-compile-tmp/imp918s.imp"
if (((SNDISP) != (0))) goto L_03d7;
#line 4264 "regression-compile-tmp/imp918s.imp"
if (((EXTRN) != (4))) goto L_03d7;
                                                                //   4265                 REPLACE1(TAGS(KK),FROM1(TAGS(KK))&X'FFFF0FFF')
#line 4265 "regression-compile-tmp/imp918s.imp"
REPLACE1(TAGS[KK], ((FROM1(TAGS[KK])) & ((-61441))));
                                                                //   4266              %FINISH
#line 4266 "regression-compile-tmp/imp918s.imp"
L_03d7:;
                                                                //   4267  !
                                                                //   4268  ! NOW FILL ANY JUMPS TO THIS ROUTINE PLANTED SINCE
                                                                //   4269  ! THE ROUTINESPEC WAS COMPILED. SEE ALSO 'RT JUMP'
                                                                //   4270  !
                                                                //   4271              %WHILE SNDISP#0 %CYCLE
#line 4271 "regression-compile-tmp/imp918s.imp"
L_03d8:;
#line 4271 "regression-compile-tmp/imp918s.imp"
if (((SNDISP) == (0))) goto L_03d9;
                                                                //   4272                 POP123(SNDISP,BASED,AT,W1)
#line 4272 "regression-compile-tmp/imp918s.imp"
POP123(&SNDISP, &BASED, &AT, &W1);
                                                                //   4273                 W2=CA-BASED
#line 4273 "regression-compile-tmp/imp918s.imp"
W2 = (((int)(CA)) - (BASED));
                                                                //   4274                 %IF W1=0 %THEN %START
#line 4274 "regression-compile-tmp/imp918s.imp"
if (((W1) != (0))) goto L_03db;
                                                                //   4275                    WK=PTBASE+W2>>12<<2
#line 4275 "regression-compile-tmp/imp918s.imp"
WK = ((256) + ((int)((((int)((((unsigned int)(W2)) >> (12)))) << (2)))));
                                                                //   4276                    %IF W2<=4095 %THEN %START
#line 4276 "regression-compile-tmp/imp918s.imp"
if (((W2) > (4095))) goto L_03dc;
                                                                //   4277                       PLUG(1,AT,X'41DD');      ! OVERWRITE THE ADD
#line 4277 "regression-compile-tmp/imp918s.imp"
PLUG(1, AT, 16861);
                                                                //   4278                       WK=0;                  ! WITH LA 13,0(13) AS NO-OP
#line 4278 "regression-compile-tmp/imp918s.imp"
WK = 0;
                                                                //   4279                    %FINISH
#line 4279 "regression-compile-tmp/imp918s.imp"
L_03dc:;
                                                                //   4280                    PLUG(1,AT+2,WK)
#line 4280 "regression-compile-tmp/imp918s.imp"
PLUG(1, (((int)(AT)) + (2)), WK);
                                                                //   4281                    AT=AT+4
#line 4281 "regression-compile-tmp/imp918s.imp"
AT = (((int)(AT)) + (4));
                                                                //   4282              
                                                                //   4283                 %FINISH %ELSE %START
#line 4283 "regression-compile-tmp/imp918s.imp"
goto L_03dd;
#line 4283 "regression-compile-tmp/imp918s.imp"
L_03db:;
                                                                //   4284                    FAULT(99,0) %IF W2>4095
#line 4284 "regression-compile-tmp/imp918s.imp"
if (((W2) <= (4095))) goto L_03de;
#line 4284 "regression-compile-tmp/imp918s.imp"
FAULT(99, 0);
#line 4284 "regression-compile-tmp/imp918s.imp"
L_03de:;
                                                                //   4285                 %FINISH
#line 4285 "regression-compile-tmp/imp918s.imp"
L_03dd:;
                                                                //   4286                 PLUG(1,AT+2,W2&4095)
#line 4286 "regression-compile-tmp/imp918s.imp"
PLUG(1, (((int)(AT)) + (2)), ((W2) & (4095)));
                                                                //   4287              %REPEAT
#line 4287 "regression-compile-tmp/imp918s.imp"
goto L_03d8;
#line 4287 "regression-compile-tmp/imp918s.imp"
L_03d9:;
                                                                //   4288              SNDISP<-CA>>2
#line 4288 "regression-compile-tmp/imp918s.imp"
SNDISP = (int)((((unsigned int)(CA)) >> (2)));
                                                                //   4289              REPLACE2(TCELL,INTEGER(ADDR(SNDISP)));! NOTE ADDR FOR FUTURE CALLS
#line 4289 "regression-compile-tmp/imp918s.imp"
REPLACE2(TCELL, *_imp_INTEGER(_imp_ADDR(&SNDISP)));
                                                                //   4290              PCONST(X'50FB003C');          ! SAVE LINK -- ST 15,60(11)
#line 4290 "regression-compile-tmp/imp918s.imp"
PCONST(1358626876);
                                                                //   4291              W2=0
#line 4291 "regression-compile-tmp/imp918s.imp"
W2 = 0;
                                                                //   4292           %FINISH
#line 4292 "regression-compile-tmp/imp918s.imp"
L_03d6:;
                                                                //   4293           PRR(X'18',RBASE,WSPR) %UNLESS FLAGP<0
#line 4293 "regression-compile-tmp/imp918s.imp"
if (((FLAGP) < (0))) goto L_03df;
#line 4293 "regression-compile-tmp/imp918s.imp"
PRR(24, RBASE, 11);
#line 4293 "regression-compile-tmp/imp918s.imp"
L_03df:;
                                                                //   4294           %IF KK<0 %THEN W3=0 %ELSE W3=WORD(KK)
#line 4294 "regression-compile-tmp/imp918s.imp"
if (((KK) >= (0))) goto L_03e0;
#line 4294 "regression-compile-tmp/imp918s.imp"
W3 = 0;
#line 4294 "regression-compile-tmp/imp918s.imp"
goto L_03e1;
#line 4294 "regression-compile-tmp/imp918s.imp"
L_03e0:;
#line 4294 "regression-compile-tmp/imp918s.imp"
W3 = WORD[KK];
#line 4294 "regression-compile-tmp/imp918s.imp"
L_03e1:;
                                                                //   4295           L(LEVEL)=LINE;M(LEVEL)=W3
#line 4295 "regression-compile-tmp/imp918s.imp"
L[LEVEL] = LINE;
#line 4295 "regression-compile-tmp/imp918s.imp"
M[LEVEL] = W3;
                                                                //   4296           RNEXT=NEXT
#line 4296 "regression-compile-tmp/imp918s.imp"
RNEXT = NEXT;
                                                                //   4297           FLAG=PTYPE;                ! CURRENT BLOCK TYPE MARKER
#line 4297 "regression-compile-tmp/imp918s.imp"
FLAG = PTYPE;
                                                                //   4298           %IF FLAGP>=0 %THEN %START
#line 4298 "regression-compile-tmp/imp918s.imp"
if (((FLAGP) < (0))) goto L_03e2;
                                                                //   4299              SET(RLEVEL)=CA+2
#line 4299 "regression-compile-tmp/imp918s.imp"
SET[RLEVEL] = (((int)(CA)) + (2));
                                                                //   4300              PCONST(X'41BB0000');       ! LA WSP, ?(WSP)
#line 4300 "regression-compile-tmp/imp918s.imp"
PCONST(1102774272);
                                                                //   4301              N=64; NMAX=N;
#line 4301 "regression-compile-tmp/imp918s.imp"
N = 64;
#line 4301 "regression-compile-tmp/imp918s.imp"
NMAX = N;
                                                                //   4302              FORGETM(14);               ! START NEW RT W CLEAN SLATE
#line 4302 "regression-compile-tmp/imp918s.imp"
FORGETM(14);
                                                                //   4303              CCSTATE=-1
#line 4303 "regression-compile-tmp/imp918s.imp"
CCSTATE = (-1);
                                                                //   4304           %FINISH
#line 4304 "regression-compile-tmp/imp918s.imp"
L_03e2:;
                                                                //   4305  !
                                                                //   4306  ! IF IN DIAGNOSTIC MODE PLANT CODE TO SAVE THE LINE & ROUTINE NO OF
                                                                //   4307  ! THE CALLING ROUTINE AND SET UP THE NEW BLOCK/ROUTINE IDENT NO.
                                                                //   4308  !
                                                                //   4309           %IF DIAGS1#0 %AND LINE>0 %THEN %START
#line 4309 "regression-compile-tmp/imp918s.imp"
if (((DIAGS1) == (0))) goto L_03e3;
#line 4309 "regression-compile-tmp/imp918s.imp"
if (((LINE) <= (0))) goto L_03e3;
                                                                //   4310              PRX(X'58',0,GLA,0,20);     ! L  0,OLD DIAGS INF
#line 4310 "regression-compile-tmp/imp918s.imp"
PRX(88, 0, 13, 0, 20);
                                                                //   4311              DUMP(X'50',0,W2,0,RBASE);  ! ST 0,SAFE PLACE
#line 4311 "regression-compile-tmp/imp918s.imp"
DUMP(80, 0, W2, 0, RBASE);
                                                                //   4312              DUMP(X'41',0,LINE,0,0);    ! LA   0,LINE NO
#line 4312 "regression-compile-tmp/imp918s.imp"
DUMP(65, 0, LINE, 0, 0);
                                                                //   4313              PCONST(X'4000D014');       ! STH 0,20(GLA)
#line 4313 "regression-compile-tmp/imp918s.imp"
PCONST(1073795092);
                                                                //   4314              FORGET(0);                 ! NEEDED FOR %BEGIN BLOCKS
#line 4314 "regression-compile-tmp/imp918s.imp"
FORGET(0);
                                                                //   4315           %FINISH
#line 4315 "regression-compile-tmp/imp918s.imp"
L_03e3:;
                                                                //   4316           MONE=1; SET LINE;             ! NOW UPDATE LINE NUMBER
#line 4316 "regression-compile-tmp/imp918s.imp"
MONE = 1;
#line 4316 "regression-compile-tmp/imp918s.imp"
SETLINE();
                                                                //   4317           %END;                         ! OF ROUTINE RHEAD
#line 4317 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block RHEAD at level 3
                                                                //   4318           %ROUTINE  DEFINE EP(%INTEGER MODE,NAME,ADR,XTRA)
#line 4318 "regression-compile-tmp/imp918s.imp"
void DEFINEEP( int MODE, int NAME, int ADR, int XTRA )
#line 4318 "regression-compile-tmp/imp918s.imp"
{
                                                                //   4319           {%SHORTROUTINE}
                                                                //   4320  !***********************************************************************
                                                                //   4321  !*        ENTER AN ENTRY POINT ON THE ENTRY POINT LIST                 *
                                                                //   4322  !*       AN ENTRY POINT LOOKS LIKE:-                                   *
                                                                //   4323  !*       S1 = FLAG<<24 ! ENTRY POINT ADDRESS RELATIVE TO START OF AREA *
                                                                //   4324  !*       S2 = XTRA INFO (PRIMARILY LENGTH OF DATA 'COMMON' AREAS)      *
                                                                //   4325  !*       S3 = LINK TO SINGLE CELL SIDECHAIN CONTAINING NAME AS STRING  *
                                                                //   4326  !*       FLAG = 0 FOR PROGRAM ENTRY POINT                              *
                                                                //   4327  !*            = 1 FOR DATA IN GLA (%EXTERNAL)                          *
                                                                //   4328  !*            = 2 FOR DATA IN GLA SYMBOL TABLE (%EXTERNAL %ARRAY)      *
                                                                //   4329  !*       MODE=0 FOR S#GO, =1 SYSTEM ROUTINES,=2 EXTERNAL ROUTINES      *
                                                                //   4330  !*       MODE=3 FOR DATA IN ADDRESSABLE GLA,=4 BACK OF GLA             *
                                                                //   4331  !***********************************************************************
                                                                //   4332           %SHORTINTEGER HEAD
#line 4332 "regression-compile-tmp/imp918s.imp"
short HEAD;
                                                                //   4333           %INTEGER JJ,FLAG,ID1,ID2,ID3
#line 4333 "regression-compile-tmp/imp918s.imp"
int JJ;
#line 4333 "regression-compile-tmp/imp918s.imp"
int FLAG;
#line 4333 "regression-compile-tmp/imp918s.imp"
int ID1;
#line 4333 "regression-compile-tmp/imp918s.imp"
int ID2;
#line 4333 "regression-compile-tmp/imp918s.imp"
int ID3;
                                                                //   4334           %STRING(8) ID
#line 4334 "regression-compile-tmp/imp918s.imp"
_imp_string /*%string(8)*/ ID;
                                                                //   4335           ID=""; FLAG=0
#line 4335 "regression-compile-tmp/imp918s.imp"
ID = _imp_str_literal("");
#line 4335 "regression-compile-tmp/imp918s.imp"
FLAG = 0;
                                                                //   4336           HEAD=0
#line 4336 "regression-compile-tmp/imp918s.imp"
HEAD = 0;
                                                                //   4337           %IF MODE=0 %THEN JJ=ADDR(MAINEP1)+3 %ELSE %C
#line 4337 "regression-compile-tmp/imp918s.imp"
if (((MODE) != (0))) goto L_03e4;
#line 4337 "regression-compile-tmp/imp918s.imp"
JJ = (((int)(_imp_ADDR(&MAINEP1))) + (3));
#line 4337 "regression-compile-tmp/imp918s.imp"
goto L_03e5;
#line 4337 "regression-compile-tmp/imp918s.imp"
L_03e4:;
#line 4337 "regression-compile-tmp/imp918s.imp"
JJ = _imp_ADDR(&LETT[WORD[NAME]]);
#line 4337 "regression-compile-tmp/imp918s.imp"
L_03e5:;
                                                                //   4338                           JJ=ADDR(LETT(WORD(NAME)))
                                                                //   4339           %IF MODE>=3 %THEN FLAG=MODE-2
#line 4339 "regression-compile-tmp/imp918s.imp"
if (((MODE) < (3))) goto L_03e6;
#line 4339 "regression-compile-tmp/imp918s.imp"
FLAG = (((int)(MODE)) - (2));
#line 4339 "regression-compile-tmp/imp918s.imp"
L_03e6:;
                                                                //   4340           %IF MODE=1 %THEN ID="S#"
#line 4340 "regression-compile-tmp/imp918s.imp"
if (((MODE) != (1))) goto L_03e7;
#line 4340 "regression-compile-tmp/imp918s.imp"
ID = _imp_str_literal("S#");
#line 4340 "regression-compile-tmp/imp918s.imp"
L_03e7:;
                                                                //   4341           ID<-ID.STRING(JJ)
#line 4341 "regression-compile-tmp/imp918s.imp"
ID = _imp_join((_imp_string)ID,(_imp_string)*_imp_STRING(JJ));
                                                                //   4342           STRING(ADDR(ID1))=ID
#line 4342 "regression-compile-tmp/imp918s.imp"
*_imp_STRING(_imp_ADDR(&ID1)) = ID;
                                                                //   4343           %IF FLAG=0 %THEN JJ=11 %ELSE JJ=14
#line 4343 "regression-compile-tmp/imp918s.imp"
if (((FLAG) != (0))) goto L_03e8;
#line 4343 "regression-compile-tmp/imp918s.imp"
JJ = 11;
#line 4343 "regression-compile-tmp/imp918s.imp"
goto L_03e9;
#line 4343 "regression-compile-tmp/imp918s.imp"
L_03e8:;
#line 4343 "regression-compile-tmp/imp918s.imp"
JJ = 14;
#line 4343 "regression-compile-tmp/imp918s.imp"
L_03e9:;
                                                                //   4344           %IF FLAG<=1 %THEN LPUT(JJ,XTRA,ADR,ADDR(ID)) %ELSE %START
#line 4344 "regression-compile-tmp/imp918s.imp"
if (((FLAG) > (1))) goto L_03ea;
#line 4344 "regression-compile-tmp/imp918s.imp"
lput(JJ, XTRA, ADR, _imp_ADDR(&ID));
#line 4344 "regression-compile-tmp/imp918s.imp"
goto L_03eb;
#line 4344 "regression-compile-tmp/imp918s.imp"
L_03ea:;
                                                                //   4345              PUSH123(HEAD,ID1,ID2,ID3>>16)
#line 4345 "regression-compile-tmp/imp918s.imp"
PUSH123(&HEAD, ID1, ID2, (int)((((unsigned int)(ID3)) >> (16))));
                                                                //   4346              PUSH123(EPLINK,FLAG<<24!ADR,XTRA,HEAD)
#line 4346 "regression-compile-tmp/imp918s.imp"
PUSH123(&EPLINK, ((((FLAG) << (24))) | (ADR)), XTRA, HEAD);
                                                                //   4347           %FINISH
#line 4347 "regression-compile-tmp/imp918s.imp"
L_03eb:;
                                                                //   4348           %END
#line 4348 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block DEFINEEP at level 3
                                                                //   4349           %ROUTINE     CRSPEC (%INTEGER M)
#line 4349 "regression-compile-tmp/imp918s.imp"
void CRSPEC( int M )
#line 4349 "regression-compile-tmp/imp918s.imp"
{
                                                                //   4350           {%SHORTROUTINE}
                                                                //   4351  !***********************************************************************
                                                                //   4352  !*        MODE=0  FOR NORMAL ROUTINE SPEC                              *
                                                                //   4353  !*        MODE=1 FOR EXTERNAL(ETC) ROUTINE SPECS XREF NEEDED           *
                                                                //   4354  !*        MODE=2 FOR %SPEC FOR RT PARAMS                               *
                                                                //   4355  !*       ROUTINE TAGS ARE AS FOLLOWS:-                                 *
                                                                //   4356  !*       SNDISP = WORD(!) DISPLACEMENT OF EP(REF)FROM HEAD OF CODE(GLA)*
                                                                //   4357  !*        (OR)  = LISTHEAD OF OUTSTANDING FORWARD REFS                 *
                                                                //   4358  !*       KFORM  = PSIMPLE<<12 ! NO OF PARAMS                           *
                                                                //   4359  !*       K      = LIST OF FORMAL PARAMETER DESCRIPTIONS                *
                                                                //   4360  !***********************************************************************
                                                                //   4361           %INTEGER PP,KK,JJ,JJJ,Q,TYPEP,PREFIX,INC,PSIMPLE,PPOSN
#line 4361 "regression-compile-tmp/imp918s.imp"
int PP;
#line 4361 "regression-compile-tmp/imp918s.imp"
int KK;
#line 4361 "regression-compile-tmp/imp918s.imp"
int JJ;
#line 4361 "regression-compile-tmp/imp918s.imp"
int JJJ;
#line 4361 "regression-compile-tmp/imp918s.imp"
int Q;
#line 4361 "regression-compile-tmp/imp918s.imp"
int TYPEP;
#line 4361 "regression-compile-tmp/imp918s.imp"
int PREFIX;
#line 4361 "regression-compile-tmp/imp918s.imp"
int INC;
#line 4361 "regression-compile-tmp/imp918s.imp"
int PSIMPLE;
#line 4361 "regression-compile-tmp/imp918s.imp"
int PPOSN;
                                                                //   4362           %SHORTINTEGER OPHEAD,OPBOT
#line 4362 "regression-compile-tmp/imp918s.imp"
short OPHEAD;
#line 4362 "regression-compile-tmp/imp918s.imp"
short OPBOT;
                                                                //   4363           Q=0
#line 4363 "regression-compile-tmp/imp918s.imp"
Q = 0;
                                                                //   4364           %IF M#2 %THEN %START
#line 4364 "regression-compile-tmp/imp918s.imp"
if (((M) == (2))) goto L_03ec;
                                                                //   4365  !
                                                                //   4366  ! WORK OUT TYPEP IE TYPE OF ENTITITY BY INSPECTING AR FOR P<RT>
                                                                //   4367  !
                                                                //   4368              %IF A(P+1)=1 %THEN %START;  ! P<RT>=%ROUTINE
#line 4368 "regression-compile-tmp/imp918s.imp"
if (((A[(((unsigned char)((((int)(P)) + (1)))) + (7))]) != (1))) goto L_03ed;
                                                                //   4369                 TYPEP=10000; P=P+3
#line 4369 "regression-compile-tmp/imp918s.imp"
TYPEP = 10000;
#line 4369 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (3));
                                                                //   4370              %FINISH %ELSE %START;       ! P<RT>=<TYPE><FNORMAP>
#line 4370 "regression-compile-tmp/imp918s.imp"
goto L_03ee;
#line 4370 "regression-compile-tmp/imp918s.imp"
L_03ed:;
                                                                //   4371                 ROUT=1; ARR=0; P=P+2
#line 4371 "regression-compile-tmp/imp918s.imp"
ROUT = 1;
#line 4371 "regression-compile-tmp/imp918s.imp"
ARR = 0;
#line 4371 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (2));
                                                                //   4372                 CLT; NAM=(A(P)-1)<<1
#line 4372 "regression-compile-tmp/imp918s.imp"
CLT();
#line 4372 "regression-compile-tmp/imp918s.imp"
NAM = (((((int)(A[((P) + ((int)(7)))])) - (1))) << (1));
                                                                //   4373                 PACK(TYPEP)
#line 4373 "regression-compile-tmp/imp918s.imp"
PACK(&TYPEP);
                                                                //   4374                 P=P+2
#line 4374 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (2));
                                                                //   4375              %FINISH
#line 4375 "regression-compile-tmp/imp918s.imp"
L_03ee:;
                                                                //   4376           %FINISH
#line 4376 "regression-compile-tmp/imp918s.imp"
L_03ec:;
                                                                //   4377           KK=A(P); COPYTAG(KK)
#line 4377 "regression-compile-tmp/imp918s.imp"
KK = A[((P) + ((int)(7)))];
#line 4377 "regression-compile-tmp/imp918s.imp"
COPYTAG(KK);
                                                                //   4378  !
                                                                //   4379  ! IF KK IS A VALID RT TYPE PARAM IT MUST BE DECLARED AT THE CURRENT
                                                                //   4380  ! LEVEL AND HAVE 1000 PARAMS. IF KK IS A NEW DECLARATION '%SPEC' CANNOT
                                                                //   4381  ! BE USED AND THE NAME MUST NOT BE SET AT THE CURRENT LEVEL.
                                                                //   4382  !
                                                                //   4383           %IF SNPT#PTYPE>=10000 %THEN Q=KFORM&4095 %AND %C
#line 4383 "regression-compile-tmp/imp918s.imp"
if ((((10006) == (PTYPE))) || (((PTYPE) < (10000)))) goto L_03ef;
#line 4383 "regression-compile-tmp/imp918s.imp"
Q = ((KFORM) & (4095));
#line 4383 "regression-compile-tmp/imp918s.imp"
JJ = ((((SNDISP) & (65535))) << (2));
#line 4383 "regression-compile-tmp/imp918s.imp"
L_03ef:;
                                                                //   4384                                        JJ=(SNDISP&X'FFFF')<<2
                                                                //   4385           %UNLESS OLDI=LEVEL %AND Q=1000 %AND %C
#line 4385 "regression-compile-tmp/imp918s.imp"
if (((OLDI) != (LEVEL))) goto L_03a5;
#line 4385 "regression-compile-tmp/imp918s.imp"
if (((Q) != (1000))) goto L_03a5;
#line 4385 "regression-compile-tmp/imp918s.imp"
if (((M) == (2))) goto L_03f0;
#line 4385 "regression-compile-tmp/imp918s.imp"
if ((((((int)(PTYPE)) - (1000))) == (TYPEP))) goto L_03f0;
#line 4385 "regression-compile-tmp/imp918s.imp"
L_03a5:;
                                                                //   4386                   (M=2 %OR PTYPE-1000=TYPEP) %THEN %START
                                                                //   4387  !
                                                                //   4388  ! KK IS NOT A VALID RT TYPE PARAM
                                                                //   4389  !
                                                                //   4390              %UNLESS OLDI#LEVEL %AND M<=1 %THEN %START;! KK VALID DECLN
#line 4390 "regression-compile-tmp/imp918s.imp"
if (((OLDI) == (LEVEL))) goto L_03da;
#line 4390 "regression-compile-tmp/imp918s.imp"
if (((M) <= (1))) goto L_03f1;
#line 4390 "regression-compile-tmp/imp918s.imp"
L_03da:;
                                                                //   4391                 FAULT(7-M>>1<<2,KK);     ! FAULT 3(SPEC?)OR 7(SET TWICE)
#line 4391 "regression-compile-tmp/imp918s.imp"
FAULT(((7) - ((int)((((int)((((unsigned int)(M)) >> (1)))) << (2))))), KK);
                                                                //   4392                 %RETURN %UNLESS M=0
#line 4392 "regression-compile-tmp/imp918s.imp"
if (((M) == (0))) goto L_03f2;
#line 4392 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 4392 "regression-compile-tmp/imp918s.imp"
L_03f2:;
                                                                //   4393              %FINISH
#line 4393 "regression-compile-tmp/imp918s.imp"
L_03f1:;
                                                                //   4394              JJ=0;                       ! SO MAKE DECLARATION
#line 4394 "regression-compile-tmp/imp918s.imp"
JJ = 0;
                                                                //   4395              J=15-M; PTYPE=TYPEP
#line 4395 "regression-compile-tmp/imp918s.imp"
J = (((int)(15)) - (M));
#line 4395 "regression-compile-tmp/imp918s.imp"
PTYPE = TYPEP;
                                                                //   4396              KFORM=0
#line 4396 "regression-compile-tmp/imp918s.imp"
KFORM = 0;
                                                                //   4397              %IF OLDI = LEVEL %THEN %START
#line 4397 "regression-compile-tmp/imp918s.imp"
if (((OLDI) != (LEVEL))) goto L_03f3;
                                                                //   4398                USEBITS = INTEGER(ADDR(ASLIST(TAGS(KK)))) >> 12 & X'F'
#line 4398 "regression-compile-tmp/imp918s.imp"
USEBITS = (((int)(((*(unsigned int *)(_imp_INTEGER(_imp_ADDR(&ASLIST[TAGS[KK]])))) >> (12)))) & (15));
                                                                //   4399                I = RBASE
#line 4399 "regression-compile-tmp/imp918s.imp"
I = RBASE;
                                                                //   4400                REPLACE TAG (KK)
#line 4400 "regression-compile-tmp/imp918s.imp"
REPLACETAG(KK);
                                                                //   4401              %FINISH %ELSE STORE TAG(KK,0)
#line 4401 "regression-compile-tmp/imp918s.imp"
goto L_03f4;
#line 4401 "regression-compile-tmp/imp918s.imp"
L_03f3:;
#line 4401 "regression-compile-tmp/imp918s.imp"
STORETAG(KK, 0);
#line 4401 "regression-compile-tmp/imp918s.imp"
L_03f4:;
                                                                //   4402           %FINISH
#line 4402 "regression-compile-tmp/imp918s.imp"
L_03f0:;
                                                                //   4403           OPHEAD=0; OPBOT=0
#line 4403 "regression-compile-tmp/imp918s.imp"
OPHEAD = 0;
#line 4403 "regression-compile-tmp/imp918s.imp"
OPBOT = 0;
                                                                //   4404           PPOSN=64;                      ! DISPLCMENT OF EACH PARAM
#line 4404 "regression-compile-tmp/imp918s.imp"
PPOSN = 64;
                                                                //   4405           INC=1; JJJ=OPHEAD; PSIMPLE=1
#line 4405 "regression-compile-tmp/imp918s.imp"
INC = 1;
#line 4405 "regression-compile-tmp/imp918s.imp"
JJJ = OPHEAD;
#line 4405 "regression-compile-tmp/imp918s.imp"
PSIMPLE = 1;
                                                                //   4406           P=P+1; Q=0;                    ! Q COUNTS NO OF FORMAL PARAMS
#line 4406 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
#line 4406 "regression-compile-tmp/imp918s.imp"
Q = 0;
                                                                //   4407           %WHILE A(P)=1 %CYCLE;          ! WHILE SOME(MORE) FPS
#line 4407 "regression-compile-tmp/imp918s.imp"
L_03f5:;
#line 4407 "regression-compile-tmp/imp918s.imp"
if (((A[((P) + ((int)(7)))]) != (1))) goto L_03f6;
                                                                //   4408              P=P+INC;                    ! P<COMMA'> BETWEEN FPDELS
#line 4408 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (INC));
                                                                //   4409              CFPDEL;                     ! GET TYPE & ACC FOR NEXT GROUP
#line 4409 "regression-compile-tmp/imp918s.imp"
CFPDEL();
                                                                //   4410              PPOSN=(PPOSN+KFORM-1)&(-KFORM)
#line 4410 "regression-compile-tmp/imp918s.imp"
PPOSN = (((((int)(((PPOSN) + ((int)(KFORM))))) - (1))) & ((-(KFORM))));
                                                                //   4411              PSIMPLE=0 %UNLESS PTYPE=1 %OR %C
#line 4411 "regression-compile-tmp/imp918s.imp"
if (((PTYPE) == (1))) goto L_03f8;
#line 4411 "regression-compile-tmp/imp918s.imp"
if (((ROUT) != (0))) goto L_03f9;
#line 4411 "regression-compile-tmp/imp918s.imp"
if (((ARR) != (0))) goto L_03f9;
#line 4411 "regression-compile-tmp/imp918s.imp"
if (((NAM) != (1))) goto L_03f9;
#line 4411 "regression-compile-tmp/imp918s.imp"
if (((TYPE) != (0))) goto L_03f8;
#line 4411 "regression-compile-tmp/imp918s.imp"
L_03f9:;
#line 4411 "regression-compile-tmp/imp918s.imp"
PSIMPLE = 0;
#line 4411 "regression-compile-tmp/imp918s.imp"
L_03f8:;
                                                                //   4412                   (ROUT=0 %AND ARR=0 %AND NAM=1 %AND TYPE#0)
                                                                //   4413              %CYCLE PP=1,1,A(P);         ! DOWN <NAMELIST> FOR EACH DEL
#line 4413 "regression-compile-tmp/imp918s.imp"
{static int _initial, _increment, _final, _control;
_initial = 1; _increment = 1; _final = A[((P) + ((int)(7)))]; PP = _control = _initial;
if (((_final-_initial) % _increment) != 0) _imp_signal(5,1,0,"Illegal cycle PP = 1, 1, A[((P) + ((int)(7)))]");
PP -= _increment; _control -= _increment;
L_03fa:;
if (PP == _final) goto L_03fb;
PP += _increment; _control += _increment;
if (PP != _control) _imp_signal(4,2,0,"Corrupt control variable PP"); /* FOR loop control variable corrupted */
}
                                                                //   4414                 BINSERT(OPHEAD,OPBOT,PTYPE,ACC<<16!PPOSN,0)
#line 4414 "regression-compile-tmp/imp918s.imp"
BINSERT(&OPHEAD, &OPBOT, PTYPE, ((((ACC) << (16))) | (PPOSN)), 0);
                                                                //   4415                 Q=Q+1
#line 4415 "regression-compile-tmp/imp918s.imp"
Q = (((int)(Q)) + (1));
                                                                //   4416                 PPOSN=PPOSN+ACC
#line 4416 "regression-compile-tmp/imp918s.imp"
PPOSN = ((PPOSN) + ((int)(ACC)));
                                                                //   4417              %REPEAT
#line 4417 "regression-compile-tmp/imp918s.imp"
goto L_03fa;
#line 4417 "regression-compile-tmp/imp918s.imp"
L_03fb:;
                                                                //   4418              P=P+PP+1;                   ! ASSUMES PP SET TO A(P) BY REPE
#line 4418 "regression-compile-tmp/imp918s.imp"
P = (((int)((((int)(P)) + (PP)))) + (1));
                                                                //   4419              INC=2;                      ! TO IGNORE ALT OF P<COMMA'>
#line 4419 "regression-compile-tmp/imp918s.imp"
INC = 2;
                                                                //   4420           %REPEAT
#line 4420 "regression-compile-tmp/imp918s.imp"
goto L_03f5;
#line 4420 "regression-compile-tmp/imp918s.imp"
L_03f6:;
                                                                //   4421           %IF EXTRN=1 %THEN PREFIX='S' %ELSE PREFIX=0
#line 4421 "regression-compile-tmp/imp918s.imp"
if (((EXTRN) != (1))) goto L_03fd;
#line 4421 "regression-compile-tmp/imp918s.imp"
PREFIX = 83;
#line 4421 "regression-compile-tmp/imp918s.imp"
goto L_03fe;
#line 4421 "regression-compile-tmp/imp918s.imp"
L_03fd:;
#line 4421 "regression-compile-tmp/imp918s.imp"
PREFIX = 0;
#line 4421 "regression-compile-tmp/imp918s.imp"
L_03fe:;
                                                                //   4422           %IF M=1 %THEN CXREF((EXTRN-1)>>1,KK,PREFIX,JJ)
#line 4422 "regression-compile-tmp/imp918s.imp"
if (((M) != (1))) goto L_03ff;
#line 4422 "regression-compile-tmp/imp918s.imp"
CXREF((((((((int)(EXTRN)) - (1)))) >> (1))), KK, PREFIX, &JJ);
#line 4422 "regression-compile-tmp/imp918s.imp"
L_03ff:;
                                                                //   4423           TCELL=TAGS(KK)
#line 4423 "regression-compile-tmp/imp918s.imp"
TCELL = TAGS[KK];
                                                                //   4424           INTEGER(ADDR(SNDISP))=FROM2(TCELL)
#line 4424 "regression-compile-tmp/imp918s.imp"
*_imp_INTEGER(_imp_ADDR(&SNDISP)) = FROM2(TCELL);
                                                                //   4425           KFORM=PSIMPLE<<12!Q
#line 4425 "regression-compile-tmp/imp918s.imp"
KFORM = ((((PSIMPLE) << (12))) | (Q));
                                                                //   4426           K=OPHEAD; SNDISP<-(JJ>>2)
#line 4426 "regression-compile-tmp/imp918s.imp"
K = OPHEAD;
#line 4426 "regression-compile-tmp/imp918s.imp"
SNDISP = (int)((((unsigned int)(JJ)) >> (2)));
                                                                //   4427           REPLACE2(TCELL,INTEGER(ADDR(SNDISP)))
#line 4427 "regression-compile-tmp/imp918s.imp"
REPLACE2(TCELL, *_imp_INTEGER(_imp_ADDR(&SNDISP)));
                                                                //   4428           REPLACE3(TCELL,INTEGER(ADDR(K)))
#line 4428 "regression-compile-tmp/imp918s.imp"
REPLACE3(TCELL, *_imp_INTEGER(_imp_ADDR(&K)));
                                                                //   4429           %END
#line 4429 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block CRSPEC at level 3
                                                                //   4430           %ROUTINE CFPDEL
#line 4430 "regression-compile-tmp/imp918s.imp"
void CFPDEL( void )
#line 4430 "regression-compile-tmp/imp918s.imp"
{
                                                                //   4431           {%SHORTROUTINE}
                                                                //   4432  !***********************************************************************
                                                                //   4433  !*       SET UP PTYPE & ACC FOR A LIST OF FORMAL PARAMETERS            *
                                                                //   4434  !*       P<FPDEL>=<RT><%NAME'>,<TYPE><%QNAME'>,'%NAME',                *
                                                                //   4435  !*                '%RECORD'<%ARRAY'>'%NAME'.                           *
                                                                //   4436  !***********************************************************************
                                                                //   4437           %BYTEINTEGER FPALT
#line 4437 "regression-compile-tmp/imp918s.imp"
unsigned char FPALT;
                                                                //   4438           FPALT=A(P); P=P+1; KFORM=4
#line 4438 "regression-compile-tmp/imp918s.imp"
FPALT = A[((P) + ((int)(7)))];
#line 4438 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
#line 4438 "regression-compile-tmp/imp918s.imp"
KFORM = 4;
                                                                //   4439           %IF FPALT<=2 %THEN %START
#line 4439 "regression-compile-tmp/imp918s.imp"
if (((FPALT) > (2))) goto L_0400;
                                                                //   4440              %IF FPALT=1 %THEN %START
#line 4440 "regression-compile-tmp/imp918s.imp"
if (((FPALT) != (1))) goto L_0401;
                                                                //   4441                 ACC=4; ROUT=1; ARR=0
#line 4441 "regression-compile-tmp/imp918s.imp"
ACC = 4;
#line 4441 "regression-compile-tmp/imp918s.imp"
ROUT = 1;
#line 4441 "regression-compile-tmp/imp918s.imp"
ARR = 0;
                                                                //   4442                 %IF A(P)=2 %THEN %START;   ! P<RT>=<TYPE><FNORMAP>
#line 4442 "regression-compile-tmp/imp918s.imp"
if (((A[((P) + ((int)(7)))]) != (2))) goto L_0402;
                                                                //   4443                    P=P+1; CLT
#line 4443 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
#line 4443 "regression-compile-tmp/imp918s.imp"
CLT();
                                                                //   4444                    NAM=(A(P)-1)<<1+1;      ! 1 FOR FN 3 FOR MAP
#line 4444 "regression-compile-tmp/imp918s.imp"
NAM = (((int)((((((int)(A[((P) + ((int)(7)))])) - (1))) << (1)))) + (1));
                                                                //   4445                    ACC=4
#line 4445 "regression-compile-tmp/imp918s.imp"
ACC = 4;
                                                                //   4446                 %FINISH %ELSE %START;      ! P<RT>='%ROUTINE'
#line 4446 "regression-compile-tmp/imp918s.imp"
goto L_0403;
#line 4446 "regression-compile-tmp/imp918s.imp"
L_0402:;
                                                                //   4447                    NAM=1; PREC=0; TYPE=0
#line 4447 "regression-compile-tmp/imp918s.imp"
NAM = 1;
#line 4447 "regression-compile-tmp/imp918s.imp"
PREC = 0;
#line 4447 "regression-compile-tmp/imp918s.imp"
TYPE = 0;
                                                                //   4448                 %FINISH
#line 4448 "regression-compile-tmp/imp918s.imp"
L_0403:;
                                                                //   4449                 P=P+2
#line 4449 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (2));
                                                                //   4450              %FINISH %ELSE %START;         ! FPALT=2
#line 4450 "regression-compile-tmp/imp918s.imp"
goto L_0404;
#line 4450 "regression-compile-tmp/imp918s.imp"
L_0401:;
                                                                //   4451                 ROUT=0
#line 4451 "regression-compile-tmp/imp918s.imp"
ROUT = 0;
                                                                //   4452                 CLT; CQN(P)
#line 4452 "regression-compile-tmp/imp918s.imp"
CLT();
#line 4452 "regression-compile-tmp/imp918s.imp"
CQN(P);
                                                                //   4453                 FAULT(70,0) %IF TYPE=5 %AND ACC=0
#line 4453 "regression-compile-tmp/imp918s.imp"
if (((TYPE) != (5))) goto L_0405;
#line 4453 "regression-compile-tmp/imp918s.imp"
if (((ACC) != (0))) goto L_0405;
#line 4453 "regression-compile-tmp/imp918s.imp"
FAULT(70, 0);
#line 4453 "regression-compile-tmp/imp918s.imp"
L_0405:;
                                                                //   4454                 %IF NAM=0 %THEN %START
#line 4454 "regression-compile-tmp/imp918s.imp"
if (((NAM) != (0))) goto L_0406;
                                                                //   4455                    %IF TYPE=5 %THEN KFORM=1 %ELSE KFORM=ACC
#line 4455 "regression-compile-tmp/imp918s.imp"
if (((TYPE) != (5))) goto L_0407;
#line 4455 "regression-compile-tmp/imp918s.imp"
KFORM = 1;
#line 4455 "regression-compile-tmp/imp918s.imp"
goto L_0408;
#line 4455 "regression-compile-tmp/imp918s.imp"
L_0407:;
#line 4455 "regression-compile-tmp/imp918s.imp"
KFORM = ACC;
#line 4455 "regression-compile-tmp/imp918s.imp"
L_0408:;
                                                                //   4456                 %FINISH
#line 4456 "regression-compile-tmp/imp918s.imp"
L_0406:;
                                                                //   4457                 P=P+1
#line 4457 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
                                                                //   4458              %FINISH
#line 4458 "regression-compile-tmp/imp918s.imp"
L_0404:;
                                                                //   4459           %FINISH %ELSE %START
#line 4459 "regression-compile-tmp/imp918s.imp"
goto L_0409;
#line 4459 "regression-compile-tmp/imp918s.imp"
L_0400:;
                                                                //   4460              ROUT=0; PREC=0; NAM=1
#line 4460 "regression-compile-tmp/imp918s.imp"
ROUT = 0;
#line 4460 "regression-compile-tmp/imp918s.imp"
PREC = 0;
#line 4460 "regression-compile-tmp/imp918s.imp"
NAM = 1;
                                                                //   4461              %IF FPALT=3 %THEN %START;     ! P<FPDEL>='%NAME'
#line 4461 "regression-compile-tmp/imp918s.imp"
if (((FPALT) != (3))) goto L_040a;
                                                                //   4462                 ACC=8; ARR=0; TYPE=0
#line 4462 "regression-compile-tmp/imp918s.imp"
ACC = 8;
#line 4462 "regression-compile-tmp/imp918s.imp"
ARR = 0;
#line 4462 "regression-compile-tmp/imp918s.imp"
TYPE = 0;
                                                                //   4463              %FINISH %ELSE %START
#line 4463 "regression-compile-tmp/imp918s.imp"
goto L_040b;
#line 4463 "regression-compile-tmp/imp918s.imp"
L_040a:;
                                                                //   4464                 ARR=2-A(P)
#line 4464 "regression-compile-tmp/imp918s.imp"
ARR = ((2) - ((int)(A[((P) + ((int)(7)))])));
                                                                //   4465                 ACC=4+12*ARR
#line 4465 "regression-compile-tmp/imp918s.imp"
ACC = ((4) + ((int)(((12) * ((int)(ARR))))));
                                                                //   4466                 TYPE=3; P=P+1
#line 4466 "regression-compile-tmp/imp918s.imp"
TYPE = 3;
#line 4466 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
                                                                //   4467              %FINISH
#line 4467 "regression-compile-tmp/imp918s.imp"
L_040b:;
                                                                //   4468           %FINISH
#line 4468 "regression-compile-tmp/imp918s.imp"
L_0409:;
                                                                //   4469           PACK(PTYPE)
#line 4469 "regression-compile-tmp/imp918s.imp"
PACK(&PTYPE);
                                                                //   4470           %END
#line 4470 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block CFPDEL at level 3
                                                                //   4471           %ROUTINE ASSIGN(%INTEGER ASSOP,P1)
#line 4471 "regression-compile-tmp/imp918s.imp"
void ASSIGN( int ASSOP, int P1 )
#line 4471 "regression-compile-tmp/imp918s.imp"
{
                                                                //   4472           {%SHORTROUTINE}
                                                                //   4473  !***********************************************************************
                                                                //   4474  !*       HANDLES ARITHMETIC,STRING & ADDRESS ASSIGNMENTS TO VARIABLES  *
                                                                //   4475  !*       FORMAL PARAMETERS AND DOPEVECTORS                             *
                                                                //   4476  !*       ASSOP:-                                                       *
                                                                //   4477  !*        1 IS FOR '=='                                                *
                                                                //   4478  !*        2 IS FOR '='                                                 *
                                                                //   4479  !*        3 IS FOR '<-' (JAM TRANSFER)                                 *
                                                                //   4480  !*        4 IS FOR '->' (UNCONDITIONAL RESOLUTION)                     *
                                                                //   4481  !*       >4 IS A SPECIAL FOR RESOLUTION                                *
                                                                //   4482  !*               STORE BASE&DISP INTO NAME INDEXED BY P1 (RESLN)       *
                                                                //   4483  !*                                                                     *
                                                                //   4484  !*       P POINTS TO THE EXPRESSION. P1 TO THE NAME ON LHS OR          *
                                                                //   4485  !*       P1=BASE<<16!OFFSET AND TYPE+PREC SET UP FOR FORMAL PARAMETERS *
                                                                //   4486  !***********************************************************************
                                                                //   4487           %SHORTINTEGER HEAD1,NOPS,TPCELL,BOT1
#line 4487 "regression-compile-tmp/imp918s.imp"
short HEAD1;
#line 4487 "regression-compile-tmp/imp918s.imp"
short NOPS;
#line 4487 "regression-compile-tmp/imp918s.imp"
short TPCELL;
#line 4487 "regression-compile-tmp/imp918s.imp"
short BOT1;
                                                                //   4488           %INTEGER Q,QQ,KK,REG,Z,ZP,TYPEP,PRECP,PTYPEP,JJJ,P2,JJ, %C
#line 4488 "regression-compile-tmp/imp918s.imp"
int Q;
#line 4488 "regression-compile-tmp/imp918s.imp"
int QQ;
#line 4488 "regression-compile-tmp/imp918s.imp"
int KK;
#line 4488 "regression-compile-tmp/imp918s.imp"
int REG;
#line 4488 "regression-compile-tmp/imp918s.imp"
int Z;
#line 4488 "regression-compile-tmp/imp918s.imp"
int ZP;
#line 4488 "regression-compile-tmp/imp918s.imp"
int TYPEP;
#line 4488 "regression-compile-tmp/imp918s.imp"
int PRECP;
#line 4488 "regression-compile-tmp/imp918s.imp"
int PTYPEP;
#line 4488 "regression-compile-tmp/imp918s.imp"
int JJJ;
#line 4488 "regression-compile-tmp/imp918s.imp"
int P2;
#line 4488 "regression-compile-tmp/imp918s.imp"
int JJ;
#line 4488 "regression-compile-tmp/imp918s.imp"
int BASEP;
#line 4488 "regression-compile-tmp/imp918s.imp"
int DISPP;
#line 4488 "regression-compile-tmp/imp918s.imp"
int RHTYPE;
#line 4488 "regression-compile-tmp/imp918s.imp"
int ACCP;
#line 4488 "regression-compile-tmp/imp918s.imp"
int II;
                                                                //   4489              BASEP,DISPP,RHTYPE,ACCP,II
                                                                //   4490           %SWITCH SW(0:3);              ! TO SWITCH ON ASSOP
#line 4490 "regression-compile-tmp/imp918s.imp"
static int sw9_SW_idx;
static const void * /*SWITCH*/ sw9_SW[4] = { &&sw9_SW_0, &&sw9_SW_1, &&sw9_SW_2, &&sw9_SW_3,  };
                                                                //   4491  !
                                                                //   4492           %IF ASSOP>4 %THEN %START
#line 4492 "regression-compile-tmp/imp918s.imp"
if (((ASSOP) <= (4))) goto L_040c;
                                                                //   4493              BASEP=BASE; DISPP=DISP; RHTYPE=TYPE
#line 4493 "regression-compile-tmp/imp918s.imp"
BASEP = BASE;
#line 4493 "regression-compile-tmp/imp918s.imp"
DISPP = DISP;
#line 4493 "regression-compile-tmp/imp918s.imp"
RHTYPE = TYPE;
                                                                //   4494           %FINISH
#line 4494 "regression-compile-tmp/imp918s.imp"
L_040c:;
                                                                //   4495           P2=P
#line 4495 "regression-compile-tmp/imp918s.imp"
P2 = P;
                                                                //   4496           %IF P1< X'FFFF' %THEN %START
#line 4496 "regression-compile-tmp/imp918s.imp"
if (((P1) >= (65535))) goto L_040d;
                                                                //   4497              P=P1; REDUCE TAG(1);       ! LOOK AT LH SIDE
#line 4497 "regression-compile-tmp/imp918s.imp"
P = P1;
#line 4497 "regression-compile-tmp/imp918s.imp"
REDUCETAG(1);
                                                                //   4498           %FINISH
#line 4498 "regression-compile-tmp/imp918s.imp"
L_040d:;
                                                                //   4499           PTYPEP=PTYPE; JJ=J
#line 4499 "regression-compile-tmp/imp918s.imp"
PTYPEP = PTYPE;
#line 4499 "regression-compile-tmp/imp918s.imp"
JJ = J;
                                                                //   4500           KK=K; II=I
#line 4500 "regression-compile-tmp/imp918s.imp"
KK = K;
#line 4500 "regression-compile-tmp/imp918s.imp"
II = I;
                                                                //   4501           TPCELL=TCELL; ACCP=ACC
#line 4501 "regression-compile-tmp/imp918s.imp"
TPCELL = TCELL;
#line 4501 "regression-compile-tmp/imp918s.imp"
ACCP = ACC;
                                                                //   4502           P=P2; TYPEP=TYPE; PRECP=PREC; ! SAVE USEFUL INFO FOR LATER
#line 4502 "regression-compile-tmp/imp918s.imp"
P = P2;
#line 4502 "regression-compile-tmp/imp918s.imp"
TYPEP = TYPE;
#line 4502 "regression-compile-tmp/imp918s.imp"
PRECP = PREC;
                                                                //   4503           -> SW(ASSOP&3)
#line 4503 "regression-compile-tmp/imp918s.imp"
sw9_SW_idx = ((ASSOP) & (3)); if ((0 <= sw9_SW_idx) && (sw9_SW_idx <= 3)) goto *sw9_SW[sw9_SW_idx]; else {
   /*_imp_signal(8, 2, sw9_SW_idx);*/
   fprintf(stderr, "%%SWITCH index SW(%d) not in range 0:3 at %s:%d\n",
           sw9_SW_idx, (_imp_current_file != 0 ? _imp_current_file : __FILE__),
           (_imp_current_line != 0 ? _imp_current_line : __LINE__));
           exit(1);
}
                                                                //   4504  !
                                                                //   4505  SW(2):SW(3):                           ! ARITHMETIC ASSIGNMENTS
#line 4505 "regression-compile-tmp/imp918s.imp"
sw9_SW_2:;
#line 4505 "regression-compile-tmp/imp918s.imp"
sw9_SW_3:;
                                                                //   4506           ->REGVAR %IF TYPE=8;          ! LHS A REGISTER VARIABLE
#line 4506 "regression-compile-tmp/imp918s.imp"
if (((TYPE) != (8))) goto L_040e;
#line 4506 "regression-compile-tmp/imp918s.imp"
goto U_1037;
#line 4506 "regression-compile-tmp/imp918s.imp"
L_040e:;
                                                                //   4507           %IF TYPE=3 %THEN %START;      ! RECORD SO EXAMINE SUBNAME
#line 4507 "regression-compile-tmp/imp918s.imp"
if (((TYPE) != (3))) goto L_040f;
                                                                //   4508           P=P1; Q=COPY RECORD TAG(QQ)
#line 4508 "regression-compile-tmp/imp918s.imp"
P = P1;
#line 4508 "regression-compile-tmp/imp918s.imp"
Q = COPYRECORDTAG(&QQ);
                                                                //   4509           P=P2; %IF TYPE=3 %THEN ->RECOP; %FINISH
#line 4509 "regression-compile-tmp/imp918s.imp"
P = P2;
#line 4509 "regression-compile-tmp/imp918s.imp"
if (((TYPE) != (3))) goto L_0410;
#line 4509 "regression-compile-tmp/imp918s.imp"
goto U_1024;
#line 4509 "regression-compile-tmp/imp918s.imp"
L_0410:;
#line 4509 "regression-compile-tmp/imp918s.imp"
L_040f:;
                                                                //   4510           TYPE=1 %UNLESS TYPE=2 %OR TYPE=5;! IN CASE OF RUBBISHY SUBNAMES
#line 4510 "regression-compile-tmp/imp918s.imp"
if (((TYPE) == (2))) goto L_0411;
#line 4510 "regression-compile-tmp/imp918s.imp"
if (((TYPE) == (5))) goto L_0411;
#line 4510 "regression-compile-tmp/imp918s.imp"
TYPE = 1;
#line 4510 "regression-compile-tmp/imp918s.imp"
L_0411:;
                                                                //   4511           ->Label50 %IF TYPE=5;              ! LHS IS A STRING
#line 4511 "regression-compile-tmp/imp918s.imp"
if (((TYPE) != (5))) goto L_0412;
#line 4511 "regression-compile-tmp/imp918s.imp"
goto U_1025;
#line 4511 "regression-compile-tmp/imp918s.imp"
L_0412:;
                                                                //   4512  !
                                                                //   4513  ! THE CODING BETWEEN HERE AND 'BACK' EXAMINES FOR DEGENERATE ASSIGNMENT
                                                                //   4514  ! CASES SUCH AS 'I=I!2' OR BYTE=BYTE&7. THESE CAN BE HANDLED IN ONE SI
                                                                //   4515  ! M/C INSTRUCTION. THE CODING COULD BE EXTENDED TO FIND'I=I!J'
                                                                //   4516  ! THIS WHOLE SECTION IS OMITTED FROM SERVICE IMP(AA)
                                                                //   4517  !
                                                                //   4518           %IF ASSOP<=3 %AND CHECKSP=0 %AND TYPEP=1 %AND ARR=0 %AND %C
#line 4518 "regression-compile-tmp/imp918s.imp"
if (((ASSOP) > (3))) goto L_0413;
#line 4518 "regression-compile-tmp/imp918s.imp"
if (((CHECKSP) != (0))) goto L_0413;
#line 4518 "regression-compile-tmp/imp918s.imp"
if (((TYPEP) != (1))) goto L_0413;
#line 4518 "regression-compile-tmp/imp918s.imp"
if (((ARR) != (0))) goto L_0413;
#line 4518 "regression-compile-tmp/imp918s.imp"
if (((NAM) != (0))) goto L_0413;
#line 4518 "regression-compile-tmp/imp918s.imp"
if (((P1) >= (65535))) goto L_0413;
#line 4518 "regression-compile-tmp/imp918s.imp"
if (((ROUT) != (0))) goto L_0413;
#line 4518 "regression-compile-tmp/imp918s.imp"
if (((A[(((unsigned char)((((int)(P1)) + (1)))) + (7))]) != (2))) goto L_0413;
                                                                //   4519              NAM=0 %AND P1<X'FFFF' %AND ROUT=0 %AND A(P1+1)=2 %START;! NO APP
                                                                //   4520              TYPEP=PTYPE; PRECP=PREC
#line 4520 "regression-compile-tmp/imp918s.imp"
TYPEP = PTYPE;
#line 4520 "regression-compile-tmp/imp918s.imp"
PRECP = PREC;
                                                                //   4521              Q=TSEXP(JJJ,0);            ! EXAMINE RHS
#line 4521 "regression-compile-tmp/imp918s.imp"
Q = TSEXP(&JJJ, 0);
                                                                //   4522  !
                                                                //   4523  ! CHECK FORM OF RHS AND THAT THE SAME NAME IS ON BOTH SIDES
                                                                //   4524  !
                                                                //   4525              %IF (Q=300 %OR Q=400 %OR (Q=800 %AND PRECP=1)) %AND %C
#line 4525 "regression-compile-tmp/imp918s.imp"
if (((Q) == (300))) goto L_03fc;
#line 4525 "regression-compile-tmp/imp918s.imp"
if (((Q) == (400))) goto L_03fc;
#line 4525 "regression-compile-tmp/imp918s.imp"
if (((Q) != (800))) goto L_0414;
#line 4525 "regression-compile-tmp/imp918s.imp"
if (((PRECP) != (1))) goto L_0414;
#line 4525 "regression-compile-tmp/imp918s.imp"
L_03fc:;
#line 4525 "regression-compile-tmp/imp918s.imp"
if (((KK) != (K))) goto L_0414;
#line 4525 "regression-compile-tmp/imp918s.imp"
if (((II) != (I))) goto L_0414;
#line 4525 "regression-compile-tmp/imp918s.imp"
if (((KK) > (4095))) goto L_0414;
                                                                //   4526                 KK=K %AND II=I %AND KK<=4095 %START
                                                                //   4527                 KK=KK+BYTES(PRECP)-1
#line 4527 "regression-compile-tmp/imp918s.imp"
KK = (((int)(((KK) + ((int)(BYTES[PRECP]))))) - (1));
                                                                //   4528                 %IF Q=300 %THEN ZP=X'97' %ELSE ZP=X'96'
#line 4528 "regression-compile-tmp/imp918s.imp"
if (((Q) != (300))) goto L_0415;
#line 4528 "regression-compile-tmp/imp918s.imp"
ZP = 151;
#line 4528 "regression-compile-tmp/imp918s.imp"
goto L_0416;
#line 4528 "regression-compile-tmp/imp918s.imp"
L_0415:;
#line 4528 "regression-compile-tmp/imp918s.imp"
ZP = 150;
#line 4528 "regression-compile-tmp/imp918s.imp"
L_0416:;
                                                                //   4529                 %IF Q=800 %THEN ZP=X'94'
#line 4529 "regression-compile-tmp/imp918s.imp"
if (((Q) != (800))) goto L_0417;
#line 4529 "regression-compile-tmp/imp918s.imp"
ZP = 148;
#line 4529 "regression-compile-tmp/imp918s.imp"
L_0417:;
                                                                //   4530                 PSI(ZP,JJJ,II,KK)
#line 4530 "regression-compile-tmp/imp918s.imp"
PSI(ZP, JJJ, II, KK);
                                                                //   4531                 CCSTATE=-1
#line 4531 "regression-compile-tmp/imp918s.imp"
CCSTATE = (-1);
                                                                //   4532                 ->NA
#line 4532 "regression-compile-tmp/imp918s.imp"
goto U_1026;
                                                                //   4533              %FINISH %ELSE PTYPE=TYPEP %AND UNPACK
#line 4533 "regression-compile-tmp/imp918s.imp"
L_0414:;
#line 4533 "regression-compile-tmp/imp918s.imp"
PTYPE = TYPEP;
#line 4533 "regression-compile-tmp/imp918s.imp"
UNPACK();
                                                                //   4534           %FINISH
#line 4534 "regression-compile-tmp/imp918s.imp"
L_0413:;
                                                                //   4535  BACK:    HEAD1=0;                      ! CLEAR TEMPORAYRY LIST HEADS
#line 4535 "regression-compile-tmp/imp918s.imp"
U_1038:;
#line 4535 "regression-compile-tmp/imp918s.imp"
HEAD1 = 0;
                                                                //   4536           TYPE=1 %UNLESS TYPE=2;        ! DEAL WITH UNSET NAMES
#line 4536 "regression-compile-tmp/imp918s.imp"
if (((TYPE) == (2))) goto L_0418;
#line 4536 "regression-compile-tmp/imp918s.imp"
TYPE = 1;
#line 4536 "regression-compile-tmp/imp918s.imp"
L_0418:;
                                                                //   4537           ZP=TYPE; NOPS=1; P=P2+2
#line 4537 "regression-compile-tmp/imp918s.imp"
ZP = TYPE;
#line 4537 "regression-compile-tmp/imp918s.imp"
NOPS = 1;
#line 4537 "regression-compile-tmp/imp918s.imp"
P = (((int)(P2)) + (2));
                                                                //   4538           %IF TYPE=2 %THEN ZP=ZP+PREC&1
#line 4538 "regression-compile-tmp/imp918s.imp"
if (((TYPE) != (2))) goto L_0419;
#line 4538 "regression-compile-tmp/imp918s.imp"
ZP = ((ZP) + ((int)(((PREC) & (1)))));
#line 4538 "regression-compile-tmp/imp918s.imp"
L_0419:;
                                                                //   4539           PUSH(HEAD1,ASSOP&3+28,0);       ! ASSIGNMENT OPERATOR
#line 4539 "regression-compile-tmp/imp918s.imp"
PUSH(&HEAD1, (((int)(((ASSOP) & (3)))) + (28)), 0);
                                                                //   4540           BOT1=HEAD1
#line 4540 "regression-compile-tmp/imp918s.imp"
BOT1 = HEAD1;
                                                                //   4541           %IF P1>X'FFFF' %THEN Z=P1>>16<<8!9 %ELSE Z=2
#line 4541 "regression-compile-tmp/imp918s.imp"
if (((P1) <= (65535))) goto L_041a;
#line 4541 "regression-compile-tmp/imp918s.imp"
Z = (((((int)((((unsigned int)(P1)) >> (16)))) << (8))) | (9));
#line 4541 "regression-compile-tmp/imp918s.imp"
goto L_041b;
#line 4541 "regression-compile-tmp/imp918s.imp"
L_041a:;
#line 4541 "regression-compile-tmp/imp918s.imp"
Z = 2;
#line 4541 "regression-compile-tmp/imp918s.imp"
L_041b:;
                                                                //   4542           PUSH(HEAD1,PTYPEP<<16!Z,P1&X'7FFF');! LHS
#line 4542 "regression-compile-tmp/imp918s.imp"
PUSH(&HEAD1, ((((PTYPEP) << (16))) | (Z)), ((P1) & (32767)));
                                                                //   4543           %IF ASSOP>4 %THEN %START
#line 4543 "regression-compile-tmp/imp918s.imp"
if (((ASSOP) <= (4))) goto L_041c;
                                                                //   4544              FAULT(24,0) %UNLESS TYPE=RHTYPE
#line 4544 "regression-compile-tmp/imp918s.imp"
if (((TYPE) == (RHTYPE))) goto L_041d;
#line 4544 "regression-compile-tmp/imp918s.imp"
FAULT(24, 0);
#line 4544 "regression-compile-tmp/imp918s.imp"
L_041d:;
                                                                //   4545              PUSH(HEAD1,RHTYPE<<16!BASEP<<8!9,DISPP)
#line 4545 "regression-compile-tmp/imp918s.imp"
PUSH(&HEAD1, ((((((RHTYPE) << (16))) | (((BASEP) << (8))))) | (9)), DISPP);
                                                                //   4546              SET USE((RHTYPE&2)<<3+BASEP,1,HEAD1) %IF DISPP<0
#line 4546 "regression-compile-tmp/imp918s.imp"
if (((DISPP) >= (0))) goto L_041e;
#line 4546 "regression-compile-tmp/imp918s.imp"
SETUSE((((int)(((((RHTYPE) & (2))) << (3)))) + (BASEP)), 1, HEAD1);
#line 4546 "regression-compile-tmp/imp918s.imp"
L_041e:;
                                                                //   4547           %FINISH %ELSE TORP(HEAD1,BOT1,NOPS,ZP);! RHS TO REVERSE POLISH
#line 4547 "regression-compile-tmp/imp918s.imp"
goto L_041f;
#line 4547 "regression-compile-tmp/imp918s.imp"
L_041c:;
#line 4547 "regression-compile-tmp/imp918s.imp"
TORP(&HEAD1, &BOT1, &NOPS, ZP);
#line 4547 "regression-compile-tmp/imp918s.imp"
L_041f:;
                                                                //   4548           Q=P; EXPOP(HEAD1,-1,NOPS,16); ! PLANT CODE
#line 4548 "regression-compile-tmp/imp918s.imp"
Q = P;
#line 4548 "regression-compile-tmp/imp918s.imp"
EXPOP(HEAD1, (-1), NOPS, 16);
                                                                //   4549           P=Q
#line 4549 "regression-compile-tmp/imp918s.imp"
P = Q;
                                                                //   4550  !         CLEARLIST(HEAD1)
                                                                //   4551           SHORTINTEGER(ADDR(ASLIST(BOT1))+14)=ASL
#line 4551 "regression-compile-tmp/imp918s.imp"
*_imp_SHORTINTEGER((((int)(_imp_ADDR(&ASLIST[BOT1]))) + (14))) = ASL;
                                                                //   4552           ASL=HEAD1; ->Label1
#line 4552 "regression-compile-tmp/imp918s.imp"
ASL = HEAD1;
#line 4552 "regression-compile-tmp/imp918s.imp"
goto U_1039;
                                                                //   4553  NA:      NOTE ASSMENT(-1,ASSOP&3,A(P1)); ->Label1
#line 4553 "regression-compile-tmp/imp918s.imp"
U_1026:;
#line 4553 "regression-compile-tmp/imp918s.imp"
NOTEASSMENT((-1), ((ASSOP) & (3)), A[((P1) + ((int)(7)))]);
#line 4553 "regression-compile-tmp/imp918s.imp"
goto U_1039;
                                                                //   4554  Label50:      Z=0;                          ! STRINGS
#line 4554 "regression-compile-tmp/imp918s.imp"
U_1025:;
#line 4554 "regression-compile-tmp/imp918s.imp"
Z = 0;
                                                                //   4555           %IF ASSOP<4 %THEN %START;     ! SORT RHS
#line 4555 "regression-compile-tmp/imp918s.imp"
if (((ASSOP) >= (4))) goto L_0420;
                                                                //   4556              FIND REG(SAFE,REG)
#line 4556 "regression-compile-tmp/imp918s.imp"
FINDREG((-61948), &REG);
                                                                //   4557              CSTREXP(0,REG); Z=NEST
#line 4557 "regression-compile-tmp/imp918s.imp"
CSTREXP(0, REG);
#line 4557 "regression-compile-tmp/imp918s.imp"
Z = NEST;
                                                                //   4558              %IF Z>0 %THEN SET USE(Z,13,0)
#line 4558 "regression-compile-tmp/imp918s.imp"
if (((Z) <= (0))) goto L_0421;
#line 4558 "regression-compile-tmp/imp918s.imp"
SETUSE(Z, 13, 0);
#line 4558 "regression-compile-tmp/imp918s.imp"
L_0421:;
                                                                //   4559              DISPP=DISP; BASEP=BASE
#line 4559 "regression-compile-tmp/imp918s.imp"
DISPP = DISP;
#line 4559 "regression-compile-tmp/imp918s.imp"
BASEP = BASE;
                                                                //   4560              %UNLESS CHECKSP=0 %OR 4<=BASEP<=14 %START
#line 4560 "regression-compile-tmp/imp918s.imp"
if (((CHECKSP) == (0))) goto L_0422;
#line 4560 "regression-compile-tmp/imp918s.imp"
if ((((4) > (BASEP))) || (((BASEP) <= (14)))) goto L_0422;
#line 4560 "regression-compile-tmp/imp918s.imp"
L_0423:;
                                                                //   4561                 PRR(X'18',REG,BASEP)
#line 4561 "regression-compile-tmp/imp918s.imp"
PRR(24, REG, BASEP);
                                                                //   4562                 SET USE(REG,GRUSE(BASEP),GRINF(BASEP))
#line 4562 "regression-compile-tmp/imp918s.imp"
SETUSE(REG, GRUSE[BASEP], GRINF[BASEP]);
                                                                //   4563                 BASEP=REG
#line 4563 "regression-compile-tmp/imp918s.imp"
BASEP = REG;
                                                                //   4564              %FINISH
#line 4564 "regression-compile-tmp/imp918s.imp"
L_0422:;
                                                                //   4565           %FINISH
#line 4565 "regression-compile-tmp/imp918s.imp"
L_0420:;
                                                                //   4566           REGISTER(BASEP)=1 %IF REGISTER(BASEP)=0
#line 4566 "regression-compile-tmp/imp918s.imp"
if (((REGISTER[BASEP]) != (0))) goto L_0424;
#line 4566 "regression-compile-tmp/imp918s.imp"
REGISTER[BASEP] = 1;
#line 4566 "regression-compile-tmp/imp918s.imp"
L_0424:;
                                                                //   4567           QQ=STRINGL; Q=P
#line 4567 "regression-compile-tmp/imp918s.imp"
QQ = STRINGL;
#line 4567 "regression-compile-tmp/imp918s.imp"
Q = P;
                                                                //   4568           %IF P1>X'FFFF' %THEN %START
#line 4568 "regression-compile-tmp/imp918s.imp"
if (((P1) <= (65535))) goto L_0425;
                                                                //   4569              BASE=P1>>16; DISP=P1&X'FFFF'
#line 4569 "regression-compile-tmp/imp918s.imp"
BASE = (int)((((unsigned int)(P1)) >> (16)));
#line 4569 "regression-compile-tmp/imp918s.imp"
DISP = ((P1) & (65535));
                                                                //   4570              BML=0; DML=ACCP
#line 4570 "regression-compile-tmp/imp918s.imp"
BML = 0;
#line 4570 "regression-compile-tmp/imp918s.imp"
DML = ACCP;
                                                                //   4571           %FINISH %ELSE %START
#line 4571 "regression-compile-tmp/imp918s.imp"
goto L_0426;
#line 4571 "regression-compile-tmp/imp918s.imp"
L_0425:;
                                                                //   4572              P=P1; CNAME(1,0)
#line 4572 "regression-compile-tmp/imp918s.imp"
P = P1;
#line 4572 "regression-compile-tmp/imp918s.imp"
CNAME(1, 0);
                                                                //   4573              %IF INDEX>0 %THEN %START
#line 4573 "regression-compile-tmp/imp918s.imp"
if (((INDEX) <= (0))) goto L_0427;
                                                                //   4574                 PRR(X'1A',INDEX,BASE)
#line 4574 "regression-compile-tmp/imp918s.imp"
PRR(26, INDEX, BASE);
                                                                //   4575                 FORGET(INDEX)
#line 4575 "regression-compile-tmp/imp918s.imp"
FORGET(INDEX);
                                                                //   4576                 BASE=INDEX; INDEX=0
#line 4576 "regression-compile-tmp/imp918s.imp"
BASE = INDEX;
#line 4576 "regression-compile-tmp/imp918s.imp"
INDEX = 0;
                                                                //   4577              %FINISH
#line 4577 "regression-compile-tmp/imp918s.imp"
L_0427:;
                                                                //   4578           %FINISH
#line 4578 "regression-compile-tmp/imp918s.imp"
L_0426:;
                                                                //   4579  !
                                                                //   4580  
                                                                //   4581           %IF DISPP=X'C0' %AND BASEP=CODER %THEN %START
#line 4581 "regression-compile-tmp/imp918s.imp"
if (((DISPP) != (192))) goto L_0428;
#line 4581 "regression-compile-tmp/imp918s.imp"
if (((BASEP) != (12))) goto L_0428;
                                                                //   4582              DUMPSI(X'92',0,BASE,DISP);         ! MVI IF RHS NULL
#line 4582 "regression-compile-tmp/imp918s.imp"
DUMPSI(146, 0, BASE, DISP);
                                                                //   4583           %FINISH %ELSE %START
#line 4583 "regression-compile-tmp/imp918s.imp"
goto L_0429;
#line 4583 "regression-compile-tmp/imp918s.imp"
L_0428:;
                                                                //   4584              REG=(ASSOP&3-1)^^2
#line 4584 "regression-compile-tmp/imp918s.imp"
REG = _imp_IEXP((((int)(((ASSOP) & (3)))) - (1)), 2);
                                                                //   4585              %IF REG#1 %OR Z<=0 %OR GRUSE(Z)#13 %THEN Z=-2
#line 4585 "regression-compile-tmp/imp918s.imp"
if (((REG) != (1))) goto L_042a;
#line 4585 "regression-compile-tmp/imp918s.imp"
if (((Z) <= (0))) goto L_042a;
#line 4585 "regression-compile-tmp/imp918s.imp"
if (((GRUSE[Z]) == (13))) goto L_042b;
#line 4585 "regression-compile-tmp/imp918s.imp"
L_042a:;
#line 4585 "regression-compile-tmp/imp918s.imp"
Z = (-2);
#line 4585 "regression-compile-tmp/imp918s.imp"
L_042b:;
                                                                //   4586              STRINGOP(REG,QQ,BASE,DISP,BASEP,DISPP,BML,DML,Z)
#line 4586 "regression-compile-tmp/imp918s.imp"
STRINGOP(REG, QQ, BASE, DISP, BASEP, DISPP, BML, DML, Z);
                                                                //   4587              %IF Z>0 %AND GRUSE(Z)=13 %THEN SET USE(Z,2,-2)
#line 4587 "regression-compile-tmp/imp918s.imp"
if (((Z) <= (0))) goto L_042c;
#line 4587 "regression-compile-tmp/imp918s.imp"
if (((GRUSE[Z]) != (13))) goto L_042c;
#line 4587 "regression-compile-tmp/imp918s.imp"
SETUSE(Z, 2, (-2));
#line 4587 "regression-compile-tmp/imp918s.imp"
L_042c:;
                                                                //   4588              REGISTER(BASEP)=0 %IF REGISTER(BASEP)>0
#line 4588 "regression-compile-tmp/imp918s.imp"
if (((REGISTER[BASEP]) <= (0))) goto L_042d;
#line 4588 "regression-compile-tmp/imp918s.imp"
REGISTER[BASEP] = 0;
#line 4588 "regression-compile-tmp/imp918s.imp"
L_042d:;
                                                                //   4589           %FINISH
#line 4589 "regression-compile-tmp/imp918s.imp"
L_0429:;
                                                                //   4590           P=Q; ->Label1
#line 4590 "regression-compile-tmp/imp918s.imp"
P = Q;
#line 4590 "regression-compile-tmp/imp918s.imp"
goto U_1039;
                                                                //   4591  REGVAR:  FAULT(59,0) %UNLESS A(P1+1)=2=A(P1+2)
#line 4591 "regression-compile-tmp/imp918s.imp"
U_1037:;
#line 4591 "regression-compile-tmp/imp918s.imp"
if ((((A[(((unsigned char)((((int)(P1)) + (1)))) + (7))]) != (2))) || (((2) == (A[(((unsigned char)((((int)(P1)) + (2)))) + (7))])))) goto L_042e;
#line 4591 "regression-compile-tmp/imp918s.imp"
L_03f7:;
#line 4591 "regression-compile-tmp/imp918s.imp"
FAULT(59, 0);
#line 4591 "regression-compile-tmp/imp918s.imp"
L_042e:;
                                                                //   4592           KK=1<<K
#line 4592 "regression-compile-tmp/imp918s.imp"
KK = ((1) << (K));
                                                                //   4593           %IF REGISTER(K)>=0 %THEN ABORT
#line 4593 "regression-compile-tmp/imp918s.imp"
if (((REGISTER[K]) < (0))) goto L_042f;
#line 4593 "regression-compile-tmp/imp918s.imp"
ABORT();
#line 4593 "regression-compile-tmp/imp918s.imp"
L_042f:;
                                                                //   4594          %IF CYC REGS&KK#0 %THEN CYC ASS=CYC ASS!KK %ELSE NMDECS=NMDECS!4
#line 4594 "regression-compile-tmp/imp918s.imp"
if (((((CYCREGS) & (KK))) == (0))) goto L_0430;
#line 4594 "regression-compile-tmp/imp918s.imp"
CYCASS = ((CYCASS) | (KK));
#line 4594 "regression-compile-tmp/imp918s.imp"
goto L_0431;
#line 4594 "regression-compile-tmp/imp918s.imp"
L_0430:;
#line 4594 "regression-compile-tmp/imp918s.imp"
NMDECS = ((NMDECS) | (4));
#line 4594 "regression-compile-tmp/imp918s.imp"
L_0431:;
                                                                //   4595           CSEXP(K,1); ->NA
#line 4595 "regression-compile-tmp/imp918s.imp"
CSEXP(K, 1);
#line 4595 "regression-compile-tmp/imp918s.imp"
goto U_1026;
                                                                //   4596  
                                                                //   4597  ! THIS SECTION DEALS WITH OPERATIONS ON COMPLETE RECORDS
                                                                //   4598  RECOP:                                   ! LHS IS RECORD WITHOUT SUBNAME
#line 4598 "regression-compile-tmp/imp918s.imp"
U_1024:;
                                                                //   4599           Q=TSEXP(JJJ,0)
#line 4599 "regression-compile-tmp/imp918s.imp"
Q = TSEXP(&JJJ, 0);
                                                                //   4600           -> RZ %IF Q=1=TYPE %AND JJJ=0;  ! CLEAR ENTIRE RECORD TO ZERO
#line 4600 "regression-compile-tmp/imp918s.imp"
if ((((Q) != (1))) || (((1) != (TYPE)))) goto L_0432;
#line 4600 "regression-compile-tmp/imp918s.imp"
if (((JJJ) != (0))) goto L_0432;
#line 4600 "regression-compile-tmp/imp918s.imp"
goto U_103a;
#line 4600 "regression-compile-tmp/imp918s.imp"
L_0432:;
                                                                //   4601           -> BACK %UNLESS Q=30;           ! ASSIGN RECORD TO RECORD
#line 4601 "regression-compile-tmp/imp918s.imp"
if (((Q) == (30))) goto L_0433;
#line 4601 "regression-compile-tmp/imp918s.imp"
goto U_1038;
#line 4601 "regression-compile-tmp/imp918s.imp"
L_0433:;
                                                                //   4602           P=P2+4; CNAME(16,-2);           ! SET BASE &DISP FOR RHS
#line 4602 "regression-compile-tmp/imp918s.imp"
P = (((int)(P2)) + (4));
#line 4602 "regression-compile-tmp/imp918s.imp"
CNAME(16, (-2));
                                                                //   4603           BASEP=BASE; DISPP=DISP
#line 4603 "regression-compile-tmp/imp918s.imp"
BASEP = BASE;
#line 4603 "regression-compile-tmp/imp918s.imp"
DISPP = DISP;
                                                                //   4604           ZP=ACC
#line 4604 "regression-compile-tmp/imp918s.imp"
ZP = ACC;
                                                                //   4605           CYC BITS=CYC BITS!128 %IF COMPILER=0; ! SAFE REG NEEDED
#line 4605 "regression-compile-tmp/imp918s.imp"
if (((COMPILER) != (0))) goto L_0434;
#line 4605 "regression-compile-tmp/imp918s.imp"
CYCBITS = ((CYCBITS) | (128));
#line 4605 "regression-compile-tmp/imp918s.imp"
L_0434:;
                                                                //   4606           %UNLESS COMPILER=1 %OR 4<=BASE<=14 %START
#line 4606 "regression-compile-tmp/imp918s.imp"
if (((COMPILER) == (1))) goto L_0435;
#line 4606 "regression-compile-tmp/imp918s.imp"
if ((((4) > (BASE))) || (((BASE) <= (14)))) goto L_0435;
#line 4606 "regression-compile-tmp/imp918s.imp"
L_0436:;
                                                                //   4607              FINDREG(SAFE,NEST)
#line 4607 "regression-compile-tmp/imp918s.imp"
FINDREG((-61948), &NEST);
                                                                //   4608              PRR(X'18',NEST,BASE)
#line 4608 "regression-compile-tmp/imp918s.imp"
PRR(24, NEST, BASE);
                                                                //   4609              SET USE(NEST,GRUSE(BASE),GRINF(BASE))
#line 4609 "regression-compile-tmp/imp918s.imp"
SETUSE(NEST, GRUSE[BASE], GRINF[BASE]);
                                                                //   4610              BASEP=NEST
#line 4610 "regression-compile-tmp/imp918s.imp"
BASEP = NEST;
                                                                //   4611           %FINISH
#line 4611 "regression-compile-tmp/imp918s.imp"
L_0435:;
                                                                //   4612           REG=BASEP
#line 4612 "regression-compile-tmp/imp918s.imp"
REG = BASEP;
                                                                //   4613           REGISTER(BASEP)=1 %IF REGISTER(BASEP)=0
#line 4613 "regression-compile-tmp/imp918s.imp"
if (((REGISTER[BASEP]) != (0))) goto L_0437;
#line 4613 "regression-compile-tmp/imp918s.imp"
REGISTER[BASEP] = 1;
#line 4613 "regression-compile-tmp/imp918s.imp"
L_0437:;
                                                                //   4614  RZ:      P=P1; CNAME(16,-2);             ! BASE & DISP FOR LHS
#line 4614 "regression-compile-tmp/imp918s.imp"
U_103a:;
#line 4614 "regression-compile-tmp/imp918s.imp"
P = P1;
#line 4614 "regression-compile-tmp/imp918s.imp"
CNAME(16, (-2));
                                                                //   4615           KK=DISP; JJ=BASE; ACCP=ACC
#line 4615 "regression-compile-tmp/imp918s.imp"
KK = DISP;
#line 4615 "regression-compile-tmp/imp918s.imp"
JJ = BASE;
#line 4615 "regression-compile-tmp/imp918s.imp"
ACCP = ACC;
                                                                //   4616  !
                                                                //   4617           %IF Q=1 %THEN %START
#line 4617 "regression-compile-tmp/imp918s.imp"
if (((Q) != (1))) goto L_0438;
                                                                //   4618           BASEP=0; DISPP=0
#line 4618 "regression-compile-tmp/imp918s.imp"
BASEP = 0;
#line 4618 "regression-compile-tmp/imp918s.imp"
DISPP = 0;
                                                                //   4619           %FINISH %ELSE %START
#line 4619 "regression-compile-tmp/imp918s.imp"
goto L_0439;
#line 4619 "regression-compile-tmp/imp918s.imp"
L_0438:;
                                                                //   4620           ->F66 %IF ASSOP=2 %AND ACCP#ZP;  ! '=' OPRN BOTH RECORD MUST
#line 4620 "regression-compile-tmp/imp918s.imp"
if (((ASSOP) != (2))) goto L_043a;
#line 4620 "regression-compile-tmp/imp918s.imp"
if (((ACCP) == (ZP))) goto L_043a;
#line 4620 "regression-compile-tmp/imp918s.imp"
goto U_103b;
#line 4620 "regression-compile-tmp/imp918s.imp"
L_043a:;
                                                                //   4621                                            ! HAVE THE SAME LENGTH
                                                                //   4622           %IF ZP<ACCP %THEN ACCP=ZP;       ! ON'<-' MOVE SMALLER
#line 4622 "regression-compile-tmp/imp918s.imp"
if (((ZP) >= (ACCP))) goto L_043b;
#line 4622 "regression-compile-tmp/imp918s.imp"
ACCP = ZP;
#line 4622 "regression-compile-tmp/imp918s.imp"
L_043b:;
                                                                //   4623           %FINISH
#line 4623 "regression-compile-tmp/imp918s.imp"
L_0439:;
                                                                //   4624           REGISTER(JJ)=1 %IF REGISTER(JJ)=0
#line 4624 "regression-compile-tmp/imp918s.imp"
if (((REGISTER[JJ]) != (0))) goto L_043c;
#line 4624 "regression-compile-tmp/imp918s.imp"
REGISTER[JJ] = 1;
#line 4624 "regression-compile-tmp/imp918s.imp"
L_043c:;
                                                                //   4625  !
                                                                //   4626           BULKM(Q-1,ACCP,JJ,KK,BASEP,DISPP)
#line 4626 "regression-compile-tmp/imp918s.imp"
BULKM((((int)(Q)) - (1)), ACCP, JJ, KK, BASEP, DISPP);
                                                                //   4627           %IF REGISTER(JJ)>0 %THEN REGISTER(JJ)=0
#line 4627 "regression-compile-tmp/imp918s.imp"
if (((REGISTER[JJ]) <= (0))) goto L_043d;
#line 4627 "regression-compile-tmp/imp918s.imp"
REGISTER[JJ] = 0;
#line 4627 "regression-compile-tmp/imp918s.imp"
L_043d:;
                                                                //   4628           %IF Q=30 %AND REGISTER(BASEP)>0 %THEN REGISTER(BASEP)=0
#line 4628 "regression-compile-tmp/imp918s.imp"
if (((Q) != (30))) goto L_043e;
#line 4628 "regression-compile-tmp/imp918s.imp"
if (((REGISTER[BASEP]) <= (0))) goto L_043e;
#line 4628 "regression-compile-tmp/imp918s.imp"
REGISTER[BASEP] = 0;
#line 4628 "regression-compile-tmp/imp918s.imp"
L_043e:;
                                                                //   4629           P=P2; SKIP EXP; ->Label1
#line 4629 "regression-compile-tmp/imp918s.imp"
P = P2;
#line 4629 "regression-compile-tmp/imp918s.imp"
SKIPEXP();
#line 4629 "regression-compile-tmp/imp918s.imp"
goto U_1039;
                                                                //   4630  SW(0):                                 ! RESOLUTION
#line 4630 "regression-compile-tmp/imp918s.imp"
sw9_SW_0:;
                                                                //   4631           P=P1; CNAME(5,1);             ! LOAD UP LHS
#line 4631 "regression-compile-tmp/imp918s.imp"
P = P1;
#line 4631 "regression-compile-tmp/imp918s.imp"
CNAME(5, 1);
                                                                //   4632           P=P2; CRES(0); ->Label1;           ! PERFORM UNCONDITIONAL RESOLUTIO
#line 4632 "regression-compile-tmp/imp918s.imp"
P = P2;
#line 4632 "regression-compile-tmp/imp918s.imp"
CRES(0);
#line 4632 "regression-compile-tmp/imp918s.imp"
goto U_1039;
                                                                //   4633  SW(1):                                 ! '==' AND %NAME PARAMETERS
#line 4633 "regression-compile-tmp/imp918s.imp"
sw9_SW_1:;
                                                                //   4634           ->F2 %UNLESS A(P2+2)=4 %AND A(P2+3)=1;! DISALLOW EXPRESSIONS
#line 4634 "regression-compile-tmp/imp918s.imp"
if (((A[(((unsigned char)((((int)(P2)) + (2)))) + (7))]) != (4))) goto L_043f;
#line 4634 "regression-compile-tmp/imp918s.imp"
if (((A[(((unsigned char)((((int)(P2)) + (3)))) + (7))]) == (1))) goto L_0440;
#line 4634 "regression-compile-tmp/imp918s.imp"
L_043f:;
#line 4634 "regression-compile-tmp/imp918s.imp"
goto U_103c;
#line 4634 "regression-compile-tmp/imp918s.imp"
L_0440:;
                                                                //   4635           REG=-2
#line 4635 "regression-compile-tmp/imp918s.imp"
REG = (-2);
                                                                //   4636            %UNLESS ROUT=0 %AND ARR=0 %AND (P1>X'FFFF' %OR %C
#line 4636 "regression-compile-tmp/imp918s.imp"
if (((ROUT) != (0))) goto L_0441;
#line 4636 "regression-compile-tmp/imp918s.imp"
if (((ARR) != (0))) goto L_0441;
#line 4636 "regression-compile-tmp/imp918s.imp"
if (((P1) > (65535))) goto L_0442;
#line 4636 "regression-compile-tmp/imp918s.imp"
if ((((A[(((unsigned char)((((int)(P1)) + (1)))) + (7))]) != (2))) || (((2) == (A[(((unsigned char)((((int)(P1)) + (2)))) + (7))])))) goto L_0442;
#line 4636 "regression-compile-tmp/imp918s.imp"
L_0441:;
#line 4636 "regression-compile-tmp/imp918s.imp"
CLAIM((-61948), &REG);
#line 4636 "regression-compile-tmp/imp918s.imp"
FORGET(REG);
#line 4636 "regression-compile-tmp/imp918s.imp"
L_0442:;
                                                                //   4637           A(P1+1)=2=A(P1+2)) %THEN  CLAIM(SAFE,REG) %AND FORGET(REG)
                                                                //   4638           %IF TYPE=3 %THEN %START
#line 4638 "regression-compile-tmp/imp918s.imp"
if (((TYPE) != (3))) goto L_0443;
                                                                //   4639              ->RECNAME %IF P1>X'FFFF';     ! RECORD NAME PARAMETERS
#line 4639 "regression-compile-tmp/imp918s.imp"
if (((P1) <= (65535))) goto L_0444;
#line 4639 "regression-compile-tmp/imp918s.imp"
goto U_103d;
#line 4639 "regression-compile-tmp/imp918s.imp"
L_0444:;
                                                                //   4640              P=P1; Q=COPY RECORD TAG(QQ)
#line 4640 "regression-compile-tmp/imp918s.imp"
P = P1;
#line 4640 "regression-compile-tmp/imp918s.imp"
Q = COPYRECORDTAG(&QQ);
                                                                //   4641              TYPEP=TYPE; PRECP=PREC; JJ=J
#line 4641 "regression-compile-tmp/imp918s.imp"
TYPEP = TYPE;
#line 4641 "regression-compile-tmp/imp918s.imp"
PRECP = PREC;
#line 4641 "regression-compile-tmp/imp918s.imp"
JJ = J;
                                                                //   4642              -> RECNAME %IF Q=0 %AND NAM=1
#line 4642 "regression-compile-tmp/imp918s.imp"
if (((Q) != (0))) goto L_0445;
#line 4642 "regression-compile-tmp/imp918s.imp"
if (((NAM) != (1))) goto L_0445;
#line 4642 "regression-compile-tmp/imp918s.imp"
goto U_103d;
#line 4642 "regression-compile-tmp/imp918s.imp"
L_0445:;
                                                                //   4643           %FINISH
#line 4643 "regression-compile-tmp/imp918s.imp"
L_0443:;
                                                                //   4644           -> F1 %UNLESS NAM=1;          ! LHS MUST BE A POINTER
#line 4644 "regression-compile-tmp/imp918s.imp"
if (((NAM) == (1))) goto L_0446;
#line 4644 "regression-compile-tmp/imp918s.imp"
goto U_103e;
#line 4644 "regression-compile-tmp/imp918s.imp"
L_0446:;
                                                                //   4645           P=P2+4
#line 4645 "regression-compile-tmp/imp918s.imp"
P = (((int)(P2)) + (4));
                                                                //   4646           ->ARRNAME %IF ARR=1
#line 4646 "regression-compile-tmp/imp918s.imp"
if (((ARR) != (1))) goto L_0447;
#line 4646 "regression-compile-tmp/imp918s.imp"
goto U_103f;
#line 4646 "regression-compile-tmp/imp918s.imp"
L_0447:;
                                                                //   4647           CNAME(3,REG)
#line 4647 "regression-compile-tmp/imp918s.imp"
CNAME(3, REG);
                                                                //   4648           Z=I; ZP=K
#line 4648 "regression-compile-tmp/imp918s.imp"
Z = I;
#line 4648 "regression-compile-tmp/imp918s.imp"
ZP = K;
                                                                //   4649           REG=NEST %IF REG<0
#line 4649 "regression-compile-tmp/imp918s.imp"
if (((REG) >= (0))) goto L_0448;
#line 4649 "regression-compile-tmp/imp918s.imp"
REG = NEST;
#line 4649 "regression-compile-tmp/imp918s.imp"
L_0448:;
                                                                //   4650           %IF A(P2+5)=2=A(P2+6) %THEN %C
#line 4650 "regression-compile-tmp/imp918s.imp"
if ((((A[(((unsigned char)((((int)(P2)) + (5)))) + (7))]) != (2))) || (((2) != (A[(((unsigned char)((((int)(P2)) + (6)))) + (7))])))) goto L_0449;
#line 4650 "regression-compile-tmp/imp918s.imp"
NOTEASSMENT((-1), 1, A[(((unsigned char)((((int)(P2)) + (4)))) + (7))]);
#line 4650 "regression-compile-tmp/imp918s.imp"
L_0449:;
                                                                //   4651           NOTE ASSMENT(-1,1,A(P2+4));   ! RHS VARIAVBLE MAY BE CHANGED
                                                                //   4652                                         ! BY ASSIGNING TO LHS
                                                                //   4653           KK=6
#line 4653 "regression-compile-tmp/imp918s.imp"
KK = 6;
                                                                //   4654  COMM:    ->F3 %UNLESS TYPEP=0 %OR TYPE=0 %OR %C
#line 4654 "regression-compile-tmp/imp918s.imp"
U_1040:;
#line 4654 "regression-compile-tmp/imp918s.imp"
if (((TYPEP) == (0))) goto L_044a;
#line 4654 "regression-compile-tmp/imp918s.imp"
if (((TYPE) == (0))) goto L_044a;
#line 4654 "regression-compile-tmp/imp918s.imp"
if (((TYPE) != (TYPEP))) goto L_044b;
#line 4654 "regression-compile-tmp/imp918s.imp"
if (((((PREC) & (3))) == (PRECP))) goto L_044a;
#line 4654 "regression-compile-tmp/imp918s.imp"
L_044b:;
#line 4654 "regression-compile-tmp/imp918s.imp"
goto U_1041;
#line 4654 "regression-compile-tmp/imp918s.imp"
L_044a:;
                                                                //   4655              (TYPE=TYPEP %AND (PREC&3)=PRECP)
                                                                //   4656           ->F2 %UNLESS A(P)=2;          ! NO REST OF EXPRSSN
#line 4656 "regression-compile-tmp/imp918s.imp"
if (((A[((P) + ((int)(7)))]) == (2))) goto L_044c;
#line 4656 "regression-compile-tmp/imp918s.imp"
goto U_103c;
#line 4656 "regression-compile-tmp/imp918s.imp"
L_044c:;
                                                                //   4657           Q=P+1; P=P1
#line 4657 "regression-compile-tmp/imp918s.imp"
Q = (((int)(P)) + (1));
#line 4657 "regression-compile-tmp/imp918s.imp"
P = P1;
                                                                //   4658           %IF P<X'FFFF' %THEN %START
#line 4658 "regression-compile-tmp/imp918s.imp"
if (((P) >= (65535))) goto L_044d;
                                                                //   4659              CNAME(KK,REG)
#line 4659 "regression-compile-tmp/imp918s.imp"
CNAME(KK, REG);
                                                                //   4660              %IF A(P1+1)=2=A(P1+2) %THEN NOTE ASSMENT(REG,1,A(P1))
#line 4660 "regression-compile-tmp/imp918s.imp"
if ((((A[(((unsigned char)((((int)(P1)) + (1)))) + (7))]) != (2))) || (((2) != (A[(((unsigned char)((((int)(P1)) + (2)))) + (7))])))) goto L_044e;
#line 4660 "regression-compile-tmp/imp918s.imp"
NOTEASSMENT(REG, 1, A[((P1) + ((int)(7)))]);
#line 4660 "regression-compile-tmp/imp918s.imp"
L_044e:;
                                                                //   4661           %FINISH %ELSE %START
#line 4661 "regression-compile-tmp/imp918s.imp"
goto L_044f;
#line 4661 "regression-compile-tmp/imp918s.imp"
L_044d:;
                                                                //   4662              BASE=P>>16; DISP=P&X'7FFF'
#line 4662 "regression-compile-tmp/imp918s.imp"
BASE = (int)((((unsigned int)(P)) >> (16)));
#line 4662 "regression-compile-tmp/imp918s.imp"
DISP = ((P) & (32767));
                                                                //   4663              DUMP(1,REG,DISP,0,BASE) %UNLESS KK=12
#line 4663 "regression-compile-tmp/imp918s.imp"
if (((KK) == (12))) goto L_0450;
#line 4663 "regression-compile-tmp/imp918s.imp"
DUMP(1, REG, DISP, 0, BASE);
#line 4663 "regression-compile-tmp/imp918s.imp"
L_0450:;
                                                                //   4664              %IF TYPEP=0 %THEN %START; ! TO A %NAME PARAM
#line 4664 "regression-compile-tmp/imp918s.imp"
if (((TYPEP) != (0))) goto L_0451;
                                                                //   4665                 %IF TYPE=0 %THEN %START; ! %NAME TO %NAME
#line 4665 "regression-compile-tmp/imp918s.imp"
if (((TYPE) != (0))) goto L_0452;
                                                                //   4666                    JJJ=X'58'; ZP=ZP+4;   ! LOAD INFO WORD
#line 4666 "regression-compile-tmp/imp918s.imp"
JJJ = 88;
#line 4666 "regression-compile-tmp/imp918s.imp"
ZP = (((int)(ZP)) + (4));
                                                                //   4667                 %FINISH %ELSE %START;    ! NORMAL VARIABLE TO %NAME
#line 4667 "regression-compile-tmp/imp918s.imp"
goto L_0453;
#line 4667 "regression-compile-tmp/imp918s.imp"
L_0452:;
                                                                //   4668                    PSI(X'92',PREC<<3!TYPE,BASE,DISP);  ! FLAGS BYTE
#line 4668 "regression-compile-tmp/imp918s.imp"
PSI(146, ((((PREC) << (3))) | (TYPE)), BASE, DISP);
                                                                //   4669                    %IF TYPE=5 %THEN JJJ=X'88' %AND ZP=24 %ELSE %START
#line 4669 "regression-compile-tmp/imp918s.imp"
if (((TYPE) != (5))) goto L_0454;
#line 4669 "regression-compile-tmp/imp918s.imp"
JJJ = 136;
#line 4669 "regression-compile-tmp/imp918s.imp"
ZP = 24;
#line 4669 "regression-compile-tmp/imp918s.imp"
goto L_0455;
#line 4669 "regression-compile-tmp/imp918s.imp"
L_0454:;
                                                                //   4670                       JJJ=X'41'
#line 4670 "regression-compile-tmp/imp918s.imp"
JJJ = 65;
                                                                //   4671                       %IF TYPE>=3 %THEN ZP=ACC %ELSE ZP=BYTES(PREC)
#line 4671 "regression-compile-tmp/imp918s.imp"
if (((TYPE) < (3))) goto L_0456;
#line 4671 "regression-compile-tmp/imp918s.imp"
ZP = ACC;
#line 4671 "regression-compile-tmp/imp918s.imp"
goto L_0457;
#line 4671 "regression-compile-tmp/imp918s.imp"
L_0456:;
#line 4671 "regression-compile-tmp/imp918s.imp"
ZP = BYTES[PREC];
#line 4671 "regression-compile-tmp/imp918s.imp"
L_0457:;
                                                                //   4672                       ZP=ZP-1
#line 4672 "regression-compile-tmp/imp918s.imp"
ZP = (((int)(ZP)) - (1));
                                                                //   4673                    %FINISH
#line 4673 "regression-compile-tmp/imp918s.imp"
L_0455:;
                                                                //   4674                 Z=0
#line 4674 "regression-compile-tmp/imp918s.imp"
Z = 0;
                                                                //   4675                 %FINISH
#line 4675 "regression-compile-tmp/imp918s.imp"
L_0453:;
                                                                //   4676                 DUMP(JJJ,REG,ZP,0,Z)
#line 4676 "regression-compile-tmp/imp918s.imp"
DUMP(JJJ, REG, ZP, 0, Z);
                                                                //   4677                 FORGET(REG)
#line 4677 "regression-compile-tmp/imp918s.imp"
FORGET(REG);
                                                                //   4678                 DUMP(X'50',REG,DISP+4,0,BASE);!    STORE XTRA WORD
#line 4678 "regression-compile-tmp/imp918s.imp"
DUMP(80, REG, (((int)(DISP)) + (4)), 0, BASE);
                                                                //   4679              %FINISH
#line 4679 "regression-compile-tmp/imp918s.imp"
L_0451:;
                                                                //   4680           %FINISH
#line 4680 "regression-compile-tmp/imp918s.imp"
L_044f:;
                                                                //   4681           REGISTER(REG)=0 %IF REGISTER(REG)>=0; P=Q
#line 4681 "regression-compile-tmp/imp918s.imp"
if (((REGISTER[REG]) < (0))) goto L_0458;
#line 4681 "regression-compile-tmp/imp918s.imp"
REGISTER[REG] = 0;
#line 4681 "regression-compile-tmp/imp918s.imp"
L_0458:;
#line 4681 "regression-compile-tmp/imp918s.imp"
P = Q;
                                                                //   4682           %IF KK=12 %THEN %START;       ! == TO ARRAY NAME
#line 4682 "regression-compile-tmp/imp918s.imp"
if (((KK) != (12))) goto L_0459;
                                                                //   4683              FORGET(REG)
#line 4683 "regression-compile-tmp/imp918s.imp"
FORGET(REG);
                                                                //   4684              CYC BITS=CYC BITS!512;     ! ARRAYNAME == BIT
#line 4684 "regression-compile-tmp/imp918s.imp"
CYCBITS = ((CYCBITS) | (512));
                                                                //   4685              PMVC(16,BASE,DISP,Z,ZP);   ! MOVE IN ARRAYHEAD
#line 4685 "regression-compile-tmp/imp918s.imp"
PMVC(16, BASE, DISP, Z, ZP);
                                                                //   4686                                         ! DISP>4095 SORTED IN CNAME
                                                                //   4687              REGISTER(Z)=0 %IF REGISTER(Z)=2
#line 4687 "regression-compile-tmp/imp918s.imp"
if (((REGISTER[Z]) != (2))) goto L_045a;
#line 4687 "regression-compile-tmp/imp918s.imp"
REGISTER[Z] = 0;
#line 4687 "regression-compile-tmp/imp918s.imp"
L_045a:;
                                                                //   4688              ->F3 %UNLESS P1>X'FFFF' %OR ARR=1 %OR ARR=2
#line 4688 "regression-compile-tmp/imp918s.imp"
if (((P1) > (65535))) goto L_045b;
#line 4688 "regression-compile-tmp/imp918s.imp"
if (((ARR) == (1))) goto L_045b;
#line 4688 "regression-compile-tmp/imp918s.imp"
if (((ARR) == (2))) goto L_045b;
#line 4688 "regression-compile-tmp/imp918s.imp"
goto U_1041;
#line 4688 "regression-compile-tmp/imp918s.imp"
L_045b:;
                                                                //   4689                                          ! ALLOW ARRAYS&VECTORS \FORMATS
                                                                //   4690           %FINISH %ELSE CYC BITS=CYC BITS!256;! REC/SCALAR == BIT
#line 4690 "regression-compile-tmp/imp918s.imp"
goto L_045c;
#line 4690 "regression-compile-tmp/imp918s.imp"
L_0459:;
#line 4690 "regression-compile-tmp/imp918s.imp"
CYCBITS = ((CYCBITS) | (256));
#line 4690 "regression-compile-tmp/imp918s.imp"
L_045c:;
                                                                //   4691           ->Label1
#line 4691 "regression-compile-tmp/imp918s.imp"
goto U_1039;
                                                                //   4692  ARRNAME: CNAME(12,REG);                ! SET BASE & DISP
#line 4692 "regression-compile-tmp/imp918s.imp"
U_103f:;
#line 4692 "regression-compile-tmp/imp918s.imp"
CNAME(12, REG);
                                                                //   4693           Z=BASE; ZP=DISP;              ! AND SAVE THEM
#line 4693 "regression-compile-tmp/imp918s.imp"
Z = BASE;
#line 4693 "regression-compile-tmp/imp918s.imp"
ZP = DISP;
                                                                //   4694           ->F3 %UNLESS 1<=ARR<=2
#line 4694 "regression-compile-tmp/imp918s.imp"
if ((((1) > (ARR))) || (((ARR) <= (2)))) goto L_045e;
#line 4694 "regression-compile-tmp/imp918s.imp"
L_045d:;
#line 4694 "regression-compile-tmp/imp918s.imp"
goto U_1041;
#line 4694 "regression-compile-tmp/imp918s.imp"
L_045e:;
                                                                //   4695           %IF JJ=0 %THEN %START
#line 4695 "regression-compile-tmp/imp918s.imp"
if (((JJ) != (0))) goto L_045f;
                                                                //   4696           JJ=J; %IF P1<X'FFFF' %THEN %START
#line 4696 "regression-compile-tmp/imp918s.imp"
JJ = J;
#line 4696 "regression-compile-tmp/imp918s.imp"
if (((P1) >= (65535))) goto L_0460;
                                                                //   4697           KK=FROM1(TPCELL);              ! DEDUDCE NO OF DIMENS
#line 4697 "regression-compile-tmp/imp918s.imp"
KK = FROM1(TPCELL);
                                                                //   4698           REPLACE1(TPCELL,KK!JJ); %FINISH; %FINISH
#line 4698 "regression-compile-tmp/imp918s.imp"
REPLACE1(TPCELL, ((KK) | (JJ)));
#line 4698 "regression-compile-tmp/imp918s.imp"
L_0460:;
#line 4698 "regression-compile-tmp/imp918s.imp"
L_045f:;
                                                                //   4699           FAULT(85,0) %UNLESS J=JJ %OR J=0
#line 4699 "regression-compile-tmp/imp918s.imp"
if (((J) == (JJ))) goto L_0461;
#line 4699 "regression-compile-tmp/imp918s.imp"
if (((J) == (0))) goto L_0461;
#line 4699 "regression-compile-tmp/imp918s.imp"
FAULT(85, 0);
#line 4699 "regression-compile-tmp/imp918s.imp"
L_0461:;
                                                                //   4700           REGISTER(Z)=2 %IF REGISTER(Z)=0
#line 4700 "regression-compile-tmp/imp918s.imp"
if (((REGISTER[Z]) != (0))) goto L_0462;
#line 4700 "regression-compile-tmp/imp918s.imp"
REGISTER[Z] = 2;
#line 4700 "regression-compile-tmp/imp918s.imp"
L_0462:;
                                                                //   4701           KK=12; ->COMM
#line 4701 "regression-compile-tmp/imp918s.imp"
KK = 12;
#line 4701 "regression-compile-tmp/imp918s.imp"
goto U_1040;
                                                                //   4702  RECNAME: P=P2+4
#line 4702 "regression-compile-tmp/imp918s.imp"
U_103d:;
#line 4702 "regression-compile-tmp/imp918s.imp"
P = (((int)(P2)) + (4));
                                                                //   4703           ->ARRNAME %IF ARR=1 %AND (P1>X'FFFF' %OR A(P1+1)=2);
#line 4703 "regression-compile-tmp/imp918s.imp"
if (((ARR) != (1))) goto L_0463;
#line 4703 "regression-compile-tmp/imp918s.imp"
if (((P1) > (65535))) goto L_0464;
#line 4703 "regression-compile-tmp/imp918s.imp"
if (((A[(((unsigned char)((((int)(P1)) + (1)))) + (7))]) != (2))) goto L_0463;
#line 4703 "regression-compile-tmp/imp918s.imp"
L_0464:;
#line 4703 "regression-compile-tmp/imp918s.imp"
goto U_103f;
#line 4703 "regression-compile-tmp/imp918s.imp"
L_0463:;
                                                                //   4704           CNAME(15,REG);                ! FETCH/SET POINTER
#line 4704 "regression-compile-tmp/imp918s.imp"
CNAME(15, REG);
                                                                //   4705           REG=NEST %IF REG<0
#line 4705 "regression-compile-tmp/imp918s.imp"
if (((REG) >= (0))) goto L_0465;
#line 4705 "regression-compile-tmp/imp918s.imp"
REG = NEST;
#line 4705 "regression-compile-tmp/imp918s.imp"
L_0465:;
                                                                //   4706           KK=14; ->COMM
#line 4706 "regression-compile-tmp/imp918s.imp"
KK = 14;
#line 4706 "regression-compile-tmp/imp918s.imp"
goto U_1040;
                                                                //   4707  F66:      Q=66; ->F00
#line 4707 "regression-compile-tmp/imp918s.imp"
U_103b:;
#line 4707 "regression-compile-tmp/imp918s.imp"
Q = 66;
#line 4707 "regression-compile-tmp/imp918s.imp"
goto U_1042;
                                                                //   4708  F1:      Q=82; ->F00;                  ! LHS NOT A POINTER VARIABLE
#line 4708 "regression-compile-tmp/imp918s.imp"
U_103e:;
#line 4708 "regression-compile-tmp/imp918s.imp"
Q = 82;
#line 4708 "regression-compile-tmp/imp918s.imp"
goto U_1042;
                                                                //   4709  F0:      P=P2; SKIP EXP;               ! SKIP RHS
#line 4709 "regression-compile-tmp/imp918s.imp"
U_1043:;
#line 4709 "regression-compile-tmp/imp918s.imp"
P = P2;
#line 4709 "regression-compile-tmp/imp918s.imp"
SKIPEXP();
                                                                //   4710           %IF 0<=REG<=15 %AND REGISTER(REG)>0 %THEN REGISTER(REG)=0
#line 4710 "regression-compile-tmp/imp918s.imp"
if ((((0) > (REG))) || (((REG) > (15)))) goto L_0466;
#line 4710 "regression-compile-tmp/imp918s.imp"
if (((REGISTER[REG]) <= (0))) goto L_0466;
#line 4710 "regression-compile-tmp/imp918s.imp"
REGISTER[REG] = 0;
#line 4710 "regression-compile-tmp/imp918s.imp"
L_0466:;
                                                                //   4711           ->Label1
#line 4711 "regression-compile-tmp/imp918s.imp"
goto U_1039;
                                                                //   4712  F2:      Q=81;                         ! RHS AN EXPRSSN
#line 4712 "regression-compile-tmp/imp918s.imp"
U_103c:;
#line 4712 "regression-compile-tmp/imp918s.imp"
Q = 81;
                                                                //   4713  F00:     %IF P1>X'FFFF' %THEN Q=22;    ! IF PARAM GIVE 'ACTUAL PARAM FLT
#line 4713 "regression-compile-tmp/imp918s.imp"
U_1042:;
#line 4713 "regression-compile-tmp/imp918s.imp"
if (((P1) <= (65535))) goto L_0467;
#line 4713 "regression-compile-tmp/imp918s.imp"
Q = 22;
#line 4713 "regression-compile-tmp/imp918s.imp"
L_0467:;
                                                                //   4714           %IF Q=82 %THEN JJ=A(P1) %ELSE JJ=0
#line 4714 "regression-compile-tmp/imp918s.imp"
if (((Q) != (82))) goto L_0468;
#line 4714 "regression-compile-tmp/imp918s.imp"
JJ = A[((P1) + ((int)(7)))];
#line 4714 "regression-compile-tmp/imp918s.imp"
goto L_0469;
#line 4714 "regression-compile-tmp/imp918s.imp"
L_0468:;
#line 4714 "regression-compile-tmp/imp918s.imp"
JJ = 0;
#line 4714 "regression-compile-tmp/imp918s.imp"
L_0469:;
                                                                //   4715           FAULT(Q,JJ)
#line 4715 "regression-compile-tmp/imp918s.imp"
FAULT(Q, JJ);
                                                                //   4716           ->F0
#line 4716 "regression-compile-tmp/imp918s.imp"
goto U_1043;
                                                                //   4717  F3:      Q=83; ->F00;                  ! NON-EQUIVALENCE'
#line 4717 "regression-compile-tmp/imp918s.imp"
U_1041:;
#line 4717 "regression-compile-tmp/imp918s.imp"
Q = 83;
#line 4717 "regression-compile-tmp/imp918s.imp"
goto U_1042;
                                                                //   4718  Label1:       %END
#line 4718 "regression-compile-tmp/imp918s.imp"
U_1039:;
#line 4718 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block ASSIGN at level 3
                                                                //   4719           %ROUTINE     CUI(%INTEGER CODE)
#line 4719 "regression-compile-tmp/imp918s.imp"
void CUI( int CODE )
#line 4719 "regression-compile-tmp/imp918s.imp"
{
                                                                //   4720           {%SHORTROUTINE}
                                                                //   4721           %INTEGER KK,JJ,QQ
#line 4721 "regression-compile-tmp/imp918s.imp"
int KK;
#line 4721 "regression-compile-tmp/imp918s.imp"
int JJ;
#line 4721 "regression-compile-tmp/imp918s.imp"
int QQ;
                                                                //   4722           %BYTEINTEGER TYPEP,PRECP
#line 4722 "regression-compile-tmp/imp918s.imp"
unsigned char TYPEP;
#line 4722 "regression-compile-tmp/imp918s.imp"
unsigned char PRECP;
                                                                //   4723           %SWITCH SW(1:8)
#line 4723 "regression-compile-tmp/imp918s.imp"
static int sw10_SW_idx;
static const void * /*SWITCH*/ sw10_SW[8] = { &&sw10_SW_1, &&sw10_SW_2, &&sw10_SW_3, &&sw10_SW_4, &&sw10_SW_5, &&sw10_SW_6, &&sw10_SW_7, &&sw10_SW_8,  };
                                                                //   4724           REPORTUI=0;                  ! =0 CONTINUE,=1 UNCOND JUMP
#line 4724 "regression-compile-tmp/imp918s.imp"
REPORTUI = 0;
                                                                //   4725           ->SW(A(P))
#line 4725 "regression-compile-tmp/imp918s.imp"
sw10_SW_idx = A[((P) + ((int)(7)))]; if ((1 <= sw10_SW_idx) && (sw10_SW_idx <= 8)) goto *(sw10_SW-1)[sw10_SW_idx];  /* Bounds=1:8 */ else {
   /*_imp_signal(8, 2, sw10_SW_idx);*/
   fprintf(stderr, "%%SWITCH index SW(%d) not in range 1:8 at %s:%d\n",
           sw10_SW_idx, (_imp_current_file != 0 ? _imp_current_file : __FILE__),
           (_imp_current_line != 0 ? _imp_current_line : __LINE__));
           exit(1);
}
                                                                //   4726  SW(1):   P=P+1; MARKER1=P+A(P);      !(NAME)(APP)(RESTOFUI)
#line 4726 "regression-compile-tmp/imp918s.imp"
sw10_SW_1:;
#line 4726 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
#line 4726 "regression-compile-tmp/imp918s.imp"
MARKER1 = ((P) + ((int)(A[((P) + ((int)(7)))])));
                                                                //   4727           ->Label3 %IF A(MARKER 1)=1
#line 4727 "regression-compile-tmp/imp918s.imp"
if (((A[((MARKER1) + ((int)(7)))]) != (1))) goto L_046a;
#line 4727 "regression-compile-tmp/imp918s.imp"
goto U_1018;
#line 4727 "regression-compile-tmp/imp918s.imp"
L_046a:;
                                                                //   4728           P=P+1; CNAME(0,0); P=P+1; -> AUI
#line 4728 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
#line 4728 "regression-compile-tmp/imp918s.imp"
CNAME(0, 0);
#line 4728 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
#line 4728 "regression-compile-tmp/imp918s.imp"
goto U_102e;
                                                                //   4729  Label3:       KK=P+1; P=MARKER1+2
#line 4729 "regression-compile-tmp/imp918s.imp"
U_1018:;
#line 4729 "regression-compile-tmp/imp918s.imp"
KK = (((int)(P)) + (1));
#line 4729 "regression-compile-tmp/imp918s.imp"
P = (((int)(MARKER1)) + (2));
                                                                //   4730           ASSIGN(A(MARKER1+1),KK)
#line 4730 "regression-compile-tmp/imp918s.imp"
ASSIGN(A[(((unsigned char)((((int)(MARKER1)) + (1)))) + (7))], KK);
                                                                //   4731  AUI:     P=P+1
#line 4731 "regression-compile-tmp/imp918s.imp"
U_102e:;
#line 4731 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
                                                                //   4732           %IF A(P-1)=1 %THEN CUI(CODE); ->Label1
#line 4732 "regression-compile-tmp/imp918s.imp"
if (((A[(((unsigned char)((((int)(P)) - (1)))) + (7))]) != (1))) goto L_046b;
#line 4732 "regression-compile-tmp/imp918s.imp"
CUI(CODE);
#line 4732 "regression-compile-tmp/imp918s.imp"
L_046b:;
#line 4732 "regression-compile-tmp/imp918s.imp"
goto U_1030;
                                                                //   4733  SW(2):   !-><NAME><EXRN>
#line 4733 "regression-compile-tmp/imp918s.imp"
sw10_SW_2:;
                                                                //   4734           CURR INST=1 %IF CODE=0
#line 4734 "regression-compile-tmp/imp918s.imp"
if (((CODE) != (0))) goto L_046c;
#line 4734 "regression-compile-tmp/imp918s.imp"
CURRINST = 1;
#line 4734 "regression-compile-tmp/imp918s.imp"
L_046c:;
                                                                //   4735           NMDECS=NMDECS!1
#line 4735 "regression-compile-tmp/imp918s.imp"
NMDECS = ((NMDECS) | (1));
                                                                //   4736           CYC BITS=CYC BITS!2;     ! SET 'JUMP' BIT
#line 4736 "regression-compile-tmp/imp918s.imp"
CYCBITS = ((CYCBITS) | (2));
                                                                //   4737           ->NLAB %IF A(P+1)=1;          ! NUMERIC
#line 4737 "regression-compile-tmp/imp918s.imp"
if (((A[(((unsigned char)((((int)(P)) + (1)))) + (7))]) != (1))) goto L_046d;
#line 4737 "regression-compile-tmp/imp918s.imp"
goto U_1031;
#line 4737 "regression-compile-tmp/imp918s.imp"
L_046d:;
                                                                //   4738           ->SLAB %IF A(P+3)=2;          ! SIMPLE NAME
#line 4738 "regression-compile-tmp/imp918s.imp"
if (((A[(((unsigned char)((((int)(P)) + (3)))) + (7))]) != (2))) goto L_046e;
#line 4738 "regression-compile-tmp/imp918s.imp"
goto U_1032;
#line 4738 "regression-compile-tmp/imp918s.imp"
L_046e:;
                                                                //   4739           COPYTAG(A(P+2))
#line 4739 "regression-compile-tmp/imp918s.imp"
COPYTAG(A[(((unsigned char)((((int)(P)) + (2)))) + (7))]);
                                                                //   4740           KK=K; P=P+2
#line 4740 "regression-compile-tmp/imp918s.imp"
KK = K;
#line 4740 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (2));
                                                                //   4741           PTYPEP=PTYPE
#line 4741 "regression-compile-tmp/imp918s.imp"
PTYPEP = PTYPE;
                                                                //   4742           %UNLESS OLDI=LEVEL %AND TYPE=6 %THEN %START
#line 4742 "regression-compile-tmp/imp918s.imp"
if (((OLDI) != (LEVEL))) goto L_046f;
#line 4742 "regression-compile-tmp/imp918s.imp"
if (((TYPE) == (6))) goto L_0470;
#line 4742 "regression-compile-tmp/imp918s.imp"
L_046f:;
                                                                //   4743              FAULT(4,0); P=P+1; SKIP APP; ->Label1
#line 4743 "regression-compile-tmp/imp918s.imp"
FAULT(4, 0);
#line 4743 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
#line 4743 "regression-compile-tmp/imp918s.imp"
SKIPAPP();
#line 4743 "regression-compile-tmp/imp918s.imp"
goto U_1030;
                                                                //   4744           %FINISH
#line 4744 "regression-compile-tmp/imp918s.imp"
L_0470:;
                                                                //   4745           FROM12(KK,QQ,JJ)
#line 4745 "regression-compile-tmp/imp918s.imp"
FROM12(KK, &QQ, &JJ);
                                                                //   4746           JJ=QQ+8-JJ*BYTES(PREC);      ! DISP OF SW(0)
#line 4746 "regression-compile-tmp/imp918s.imp"
JJ = ((((((int)(QQ)) + (8)))) - (((JJ) * ((int)(BYTES[PREC])))));
                                                                //   4747           CANAME(1,GLA,0,QQ)
#line 4747 "regression-compile-tmp/imp918s.imp"
CANAME(1, 13, 0, QQ);
                                                                //   4748           %IF CHECKS=0 %THEN %START; ! OPTIMISING PUT JUMP INLINE
#line 4748 "regression-compile-tmp/imp918s.imp"
if (((CHECKS) != (0))) goto L_0471;
                                                                //   4749              DUMP(2*PREC+2,-2,DISP+JJ,BASE,INDEX)
#line 4749 "regression-compile-tmp/imp918s.imp"
DUMP((((int)(((2) * ((int)(PREC))))) + (2)), (-2), (((int)(DISP)) + (JJ)), BASE, INDEX);
                                                                //   4750              PRX(X'47',15,NEST,10,0)
#line 4750 "regression-compile-tmp/imp918s.imp"
PRX(71, 15, NEST, 10, 0);
                                                                //   4751              FORGET(NEST)
#line 4751 "regression-compile-tmp/imp918s.imp"
FORGET(NEST);
                                                                //   4752           %FINISH; REPORTUI=1; ->Label1
#line 4752 "regression-compile-tmp/imp918s.imp"
L_0471:;
#line 4752 "regression-compile-tmp/imp918s.imp"
REPORTUI = 1;
#line 4752 "regression-compile-tmp/imp918s.imp"
goto U_1030;
                                                                //   4753  NLAB:    K=A(P+2); P=P+3
#line 4753 "regression-compile-tmp/imp918s.imp"
U_1031:;
#line 4753 "regression-compile-tmp/imp918s.imp"
K = A[(((unsigned char)((((int)(P)) + (2)))) + (7))];
#line 4753 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (3));
                                                                //   4754  LCOM:    ENTER JUMP(MASK,K,0)
#line 4754 "regression-compile-tmp/imp918s.imp"
U_101d:;
#line 4754 "regression-compile-tmp/imp918s.imp"
ENTERJUMP(MASK, K, 0);
                                                                //   4755           REPORTUI=1 %IF MASK=15; ->Label1
#line 4755 "regression-compile-tmp/imp918s.imp"
if (((MASK) != (15))) goto L_0472;
#line 4755 "regression-compile-tmp/imp918s.imp"
REPORTUI = 1;
#line 4755 "regression-compile-tmp/imp918s.imp"
L_0472:;
#line 4755 "regression-compile-tmp/imp918s.imp"
goto U_1030;
                                                                //   4756  SLAB:    K=16384+A(P+2); P=P+4; ->LCOM
#line 4756 "regression-compile-tmp/imp918s.imp"
U_1032:;
#line 4756 "regression-compile-tmp/imp918s.imp"
K = ((16384) + ((int)(A[(((unsigned char)((((int)(P)) + (2)))) + (7))])));
#line 4756 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (4));
#line 4756 "regression-compile-tmp/imp918s.imp"
goto U_101d;
                                                                //   4757  SW(3):                                 ! printstring("TEXTTEXT")
#line 4757 "regression-compile-tmp/imp918s.imp"
sw10_SW_3:;
                                                                //   4758           WARN(LINE)
#line 4758 "regression-compile-tmp/imp918s.imp"
WARN(LINE);
                                                                //   4759           P=P+1; TEXTOUT(0); ->AUI
#line 4759 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
#line 4759 "regression-compile-tmp/imp918s.imp"
TEXTOUT(0);
#line 4759 "regression-compile-tmp/imp918s.imp"
goto U_102e;
                                                                //   4760  SW(4):                                 ! %RETURN
#line 4760 "regression-compile-tmp/imp918s.imp"
sw10_SW_4:;
                                                                //   4761           FAULT(30,0) %UNLESS FLAG=10000 %OR COMPILER=1
#line 4761 "regression-compile-tmp/imp918s.imp"
if (((FLAG) == (10000))) goto L_0473;
#line 4761 "regression-compile-tmp/imp918s.imp"
if (((COMPILER) == (1))) goto L_0473;
#line 4761 "regression-compile-tmp/imp918s.imp"
FAULT(30, 0);
#line 4761 "regression-compile-tmp/imp918s.imp"
L_0473:;
                                                                //   4762           P=P+1
#line 4762 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
                                                                //   4763  Label6:       RT EXIT
#line 4763 "regression-compile-tmp/imp918s.imp"
U_101e:;
#line 4763 "regression-compile-tmp/imp918s.imp"
RTEXIT();
                                                                //   4764           CYC BITS=CYC BITS!2;         ! SET 'JUMP OUT' BIT
#line 4764 "regression-compile-tmp/imp918s.imp"
CYCBITS = ((CYCBITS) | (2));
                                                                //   4765           REPORTUI=1
#line 4765 "regression-compile-tmp/imp918s.imp"
REPORTUI = 1;
                                                                //   4766           CURR INST=1 %IF CODE=0; ->Label1
#line 4766 "regression-compile-tmp/imp918s.imp"
if (((CODE) != (0))) goto L_0474;
#line 4766 "regression-compile-tmp/imp918s.imp"
CURRINST = 1;
#line 4766 "regression-compile-tmp/imp918s.imp"
L_0474:;
#line 4766 "regression-compile-tmp/imp918s.imp"
goto U_1030;
                                                                //   4767  SW(5):                                 ! %RESULT(ASSOP)(EXPR)
#line 4767 "regression-compile-tmp/imp918s.imp"
sw10_SW_5:;
                                                                //   4768           PTYPE=FLAG;! UNPACK
#line 4768 "regression-compile-tmp/imp918s.imp"
PTYPE = FLAG;
                                                                //   4769  !%if USE MC = 1 %start
                                                                //   4770  !            *L_1,PTYPE; *CVD_1,0(11)
                                                                //   4771  !            *UNPK_ROUT(5),5(3,11)
                                                                //   4772  !            *NC_ROUT(5),MASK1
                                                                //   4773  !%finish
                                                                //   4774           %IF PTYPE>10000 %AND A(P+1)#3 %THEN %START;! ASSOP #'->'
#line 4774 "regression-compile-tmp/imp918s.imp"
if (((PTYPE) <= (10000))) goto L_0475;
#line 4774 "regression-compile-tmp/imp918s.imp"
if (((A[(((unsigned char)((((int)(P)) + (1)))) + (7))]) == (3))) goto L_0475;
                                                                //   4775              %IF A(P+1)=1 %AND NAM#0 %AND A(P+4)=4 %AND A(P+5)=1 %START
#line 4775 "regression-compile-tmp/imp918s.imp"
if (((A[(((unsigned char)((((int)(P)) + (1)))) + (7))]) != (1))) goto L_0476;
#line 4775 "regression-compile-tmp/imp918s.imp"
if (((NAM) == (0))) goto L_0476;
#line 4775 "regression-compile-tmp/imp918s.imp"
if (((A[(((unsigned char)((((int)(P)) + (4)))) + (7))]) != (4))) goto L_0476;
#line 4775 "regression-compile-tmp/imp918s.imp"
if (((A[(((unsigned char)((((int)(P)) + (5)))) + (7))]) != (1))) goto L_0476;
                                                                //   4776                 P=P+6; TYPEP=TYPE; PRECP=PREC
#line 4776 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (6));
#line 4776 "regression-compile-tmp/imp918s.imp"
TYPEP = TYPE;
#line 4776 "regression-compile-tmp/imp918s.imp"
PRECP = PREC;
                                                                //   4777                 CNAME(3,1)
#line 4777 "regression-compile-tmp/imp918s.imp"
CNAME(3, 1);
                                                                //   4778                 FAULT(81,0) %UNLESS A(P)=2; P=P+1
#line 4778 "regression-compile-tmp/imp918s.imp"
if (((A[((P) + ((int)(7)))]) == (2))) goto L_0477;
#line 4778 "regression-compile-tmp/imp918s.imp"
FAULT(81, 0);
#line 4778 "regression-compile-tmp/imp918s.imp"
L_0477:;
#line 4778 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
                                                                //   4779                 FAULT(83,0) %UNLESS TYPEP=TYPE %AND PRECP=PREC
#line 4779 "regression-compile-tmp/imp918s.imp"
if (((TYPEP) != (TYPE))) goto L_0478;
#line 4779 "regression-compile-tmp/imp918s.imp"
if (((PRECP) == (PREC))) goto L_0479;
#line 4779 "regression-compile-tmp/imp918s.imp"
L_0478:;
#line 4779 "regression-compile-tmp/imp918s.imp"
FAULT(83, 0);
#line 4779 "regression-compile-tmp/imp918s.imp"
L_0479:;
                                                                //   4780                 ->Label6
#line 4780 "regression-compile-tmp/imp918s.imp"
goto U_101e;
                                                                //   4781              %FINISH
#line 4781 "regression-compile-tmp/imp918s.imp"
L_0476:;
                                                                //   4782              %IF A(P+1)=2 %THEN %START;    ! ASSOP='='
#line 4782 "regression-compile-tmp/imp918s.imp"
if (((A[(((unsigned char)((((int)(P)) + (1)))) + (7))]) != (2))) goto L_047a;
                                                                //   4783                 P=P+2
#line 4783 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (2));
                                                                //   4784                 %IF NAM#0 %THEN TYPE=1;    ! MAPS HAVE INTEGER RESULTS
#line 4784 "regression-compile-tmp/imp918s.imp"
if (((NAM) == (0))) goto L_047b;
#line 4784 "regression-compile-tmp/imp918s.imp"
TYPE = 1;
#line 4784 "regression-compile-tmp/imp918s.imp"
L_047b:;
                                                                //   4785                 %IF TYPE=5 %THEN CSTREXP(1,1) %ELSE %START
#line 4785 "regression-compile-tmp/imp918s.imp"
if (((TYPE) != (5))) goto L_047c;
#line 4785 "regression-compile-tmp/imp918s.imp"
CSTREXP(1, 1);
#line 4785 "regression-compile-tmp/imp918s.imp"
goto L_047d;
#line 4785 "regression-compile-tmp/imp918s.imp"
L_047c:;
                                                                //   4786                    PREC=TYPE %UNLESS PREC=3 %AND NAM=0
#line 4786 "regression-compile-tmp/imp918s.imp"
if (((PREC) != (3))) goto L_047e;
#line 4786 "regression-compile-tmp/imp918s.imp"
if (((NAM) == (0))) goto L_047f;
#line 4786 "regression-compile-tmp/imp918s.imp"
L_047e:;
#line 4786 "regression-compile-tmp/imp918s.imp"
PREC = TYPE;
#line 4786 "regression-compile-tmp/imp918s.imp"
L_047f:;
                                                                //   4787                    CSEXP(TYPE,PREC)
#line 4787 "regression-compile-tmp/imp918s.imp"
CSEXP(TYPE, PREC);
                                                                //   4788                 %FINISH; ->Label6
#line 4788 "regression-compile-tmp/imp918s.imp"
L_047d:;
#line 4788 "regression-compile-tmp/imp918s.imp"
goto U_101e;
                                                                //   4789              %FINISH
#line 4789 "regression-compile-tmp/imp918s.imp"
L_047a:;
                                                                //   4790           %FINISH
#line 4790 "regression-compile-tmp/imp918s.imp"
L_0475:;
                                                                //   4791           FAULT(31,0)
#line 4791 "regression-compile-tmp/imp918s.imp"
FAULT(31, 0);
                                                                //   4792           P=P+2; SKIP EXP; ->Label1;            ! IGNORE SPURIOUS RESULT
#line 4792 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (2));
#line 4792 "regression-compile-tmp/imp918s.imp"
SKIPEXP();
#line 4792 "regression-compile-tmp/imp918s.imp"
goto U_1030;
                                                                //   4793  SW(6):   ->Label601 %IF A(P+1)=2;           ! %MONITOR (SOMETHING)
#line 4793 "regression-compile-tmp/imp918s.imp"
sw10_SW_6:;
#line 4793 "regression-compile-tmp/imp918s.imp"
if (((A[(((unsigned char)((((int)(P)) + (1)))) + (7))]) != (2))) goto L_0480;
#line 4793 "regression-compile-tmp/imp918s.imp"
goto U_101f;
#line 4793 "regression-compile-tmp/imp918s.imp"
L_0480:;
                                                                //   4794           %IF DIAGS1=1 %THEN PPJ(31); P=P+1
#line 4794 "regression-compile-tmp/imp918s.imp"
if (((DIAGS1) != (1))) goto L_0481;
#line 4794 "regression-compile-tmp/imp918s.imp"
PPJ(31);
#line 4794 "regression-compile-tmp/imp918s.imp"
L_0481:;
#line 4794 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
                                                                //   4795           ->Label701 %IF A(P)=1; P=P+1; ->Label1
#line 4795 "regression-compile-tmp/imp918s.imp"
if (((A[((P) + ((int)(7)))]) != (1))) goto L_0482;
#line 4795 "regression-compile-tmp/imp918s.imp"
goto U_1020;
#line 4795 "regression-compile-tmp/imp918s.imp"
L_0482:;
#line 4795 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
#line 4795 "regression-compile-tmp/imp918s.imp"
goto U_1030;
                                                                //   4796  Label601:     PRX(X'41',0,0,0,A(P+2))
#line 4796 "regression-compile-tmp/imp918s.imp"
U_101f:;
#line 4796 "regression-compile-tmp/imp918s.imp"
PRX(65, 0, 0, 0, A[(((unsigned char)((((int)(P)) + (2)))) + (7))]);
                                                                //   4797           WARN(LINE)
#line 4797 "regression-compile-tmp/imp918s.imp"
WARN(LINE);
                                                                //   4798           PPJ(21); P=P+3; ->Label1
#line 4798 "regression-compile-tmp/imp918s.imp"
PPJ(21);
#line 4798 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (3));
#line 4798 "regression-compile-tmp/imp918s.imp"
goto U_1030;
                                                                //   4799  Label701:     WARN(LINE)
#line 4799 "regression-compile-tmp/imp918s.imp"
U_1020:;
#line 4799 "regression-compile-tmp/imp918s.imp"
WARN(LINE);
                                                                //   4800  SW(7):                                 ! %STOP
#line 4800 "regression-compile-tmp/imp918s.imp"
sw10_SW_7:;
                                                                //   4801           PPJ(6); P=P+1; CURR INST=1 %IF CODE=0
#line 4801 "regression-compile-tmp/imp918s.imp"
PPJ(6);
#line 4801 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
#line 4801 "regression-compile-tmp/imp918s.imp"
if (((CODE) != (0))) goto L_0483;
#line 4801 "regression-compile-tmp/imp918s.imp"
CURRINST = 1;
#line 4801 "regression-compile-tmp/imp918s.imp"
L_0483:;
                                                                //   4802           REPORTUI=1; ->Label1
#line 4802 "regression-compile-tmp/imp918s.imp"
REPORTUI = 1;
#line 4802 "regression-compile-tmp/imp918s.imp"
goto U_1030;
                                                                //   4803  SW(8):                             ! %EXIT
#line 4803 "regression-compile-tmp/imp918s.imp"
sw10_SW_8:;
                                                                //   4804           CYC BITS=CYCBITS!2;          ! SET JUMP BIT
#line 4804 "regression-compile-tmp/imp918s.imp"
CYCBITS = ((CYCBITS) | (2));
                                                                //   4805           KK=FROM2(CYCLE(LEVEL))
#line 4805 "regression-compile-tmp/imp918s.imp"
KK = FROM2(CYCLE[LEVEL]);
                                                                //   4806           %IF KK=-1 %THEN %START
#line 4806 "regression-compile-tmp/imp918s.imp"
if (((KK) != ((-1)))) goto L_0484;
                                                                //   4807           FAULT(54,0) %UNLESS CSSMODE=0; ->Label1; %FINISH
#line 4807 "regression-compile-tmp/imp918s.imp"
if (((CSSMODE) == (0))) goto L_0485;
#line 4807 "regression-compile-tmp/imp918s.imp"
FAULT(54, 0);
#line 4807 "regression-compile-tmp/imp918s.imp"
L_0485:;
#line 4807 "regression-compile-tmp/imp918s.imp"
goto U_1030;
#line 4807 "regression-compile-tmp/imp918s.imp"
L_0484:;
                                                                //   4808           REPLACE2(CYCLE(LEVEL),KK!X'80000000')
#line 4808 "regression-compile-tmp/imp918s.imp"
REPLACE2(CYCLE[LEVEL], ((KK) | ((-2147483648))));
                                                                //   4809           ENTER JUMP(MASK,KK>>16&X'7FFF',B'10')
#line 4809 "regression-compile-tmp/imp918s.imp"
ENTERJUMP(MASK, (((int)((((unsigned int)(KK)) >> (16)))) & (32767)), 2);
                                                                //   4810           REPORTUI=1 %IF MASK=15
#line 4810 "regression-compile-tmp/imp918s.imp"
if (((MASK) != (15))) goto L_0486;
#line 4810 "regression-compile-tmp/imp918s.imp"
REPORTUI = 1;
#line 4810 "regression-compile-tmp/imp918s.imp"
L_0486:;
                                                                //   4811  Label1:       %END
#line 4811 "regression-compile-tmp/imp918s.imp"
U_1030:;
#line 4811 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block CUI at level 3
                                                                //   4812           %ROUTINE RT EXIT
#line 4812 "regression-compile-tmp/imp918s.imp"
void RTEXIT( void )
#line 4812 "regression-compile-tmp/imp918s.imp"
{
                                                                //   4813           {%SHORTROUTINE}
                                                                //   4814  !***********************************************************************
                                                                //   4815  !*       THIS ROUTINE COMPILES CODE FOR ROUTINE EXIT(IE '%RETURN')     *
                                                                //   4816  !*       THE ONLY PROBLEM IS REGISTER VARIABLES WHICH ARE GLOBAL       *
                                                                //   4817  !*       THE SAVE AREA MUST BE UPDATED TO PREVENT THE RETURN RESTORING *
                                                                //   4818  !*       THE REGISTER VARIABLE TO ITS VALUE AT THE TIME OF THE CALL    *
                                                                //   4819  !***********************************************************************
                                                                //   4820           %INTEGER KK
#line 4820 "regression-compile-tmp/imp918s.imp"
int KK;
                                                                //   4821           PSS(X'D2',4,GLA,20,RBASE,0) %IF DIAGS1=1;! RESET DIAGS PTRS
#line 4821 "regression-compile-tmp/imp918s.imp"
if (((DIAGS1) != (1))) goto L_0487;
#line 4821 "regression-compile-tmp/imp918s.imp"
PSS(210, 4, 13, 20, RBASE, 0);
#line 4821 "regression-compile-tmp/imp918s.imp"
L_0487:;
                                                                //   4822           %CYCLE KK=5,1,14;            ! CHECK FOR REGISTER VAR
#line 4822 "regression-compile-tmp/imp918s.imp"
KK = 4;
if ((((14)-(5)) % (1)) != 0) _imp_signal(5,1,0,"Illegal cycle KK = 5, 1, 14");
L_0488:;
if (KK == 14) goto L_0489;
KK += 1;
                                                                //   4823             %IF 0#UVARREG(KK)<LEVEL %AND(COMPILER=0 %OR NMDECS&X'FE'#0)%C
#line 4823 "regression-compile-tmp/imp918s.imp"
if ((((0) == (UVARREG[(((int)(KK)) - (5))]))) || (((UVARREG[(((int)(KK)) - (5))]) >= (LEVEL)))) goto L_048b;
#line 4823 "regression-compile-tmp/imp918s.imp"
if (((COMPILER) == (0))) goto L_048c;
#line 4823 "regression-compile-tmp/imp918s.imp"
if (((((NMDECS) & (254))) == (0))) goto L_048b;
#line 4823 "regression-compile-tmp/imp918s.imp"
L_048c:;
#line 4823 "regression-compile-tmp/imp918s.imp"
PRX(80, KK, 0, RBASE, ((KK) << (2)));
#line 4823 "regression-compile-tmp/imp918s.imp"
L_048b:;
                                                                //   4824              %THEN PRX(X'50',KK,0,RBASE,KK<<2);  ! UPDATE CORE COPY
                                                                //   4825           %REPEAT
#line 4825 "regression-compile-tmp/imp918s.imp"
goto L_0488;
#line 4825 "regression-compile-tmp/imp918s.imp"
L_0489:;
                                                                //   4826           PRX(X'98',4,15,RBASE,16);     ! LM OLD REGISTERS
#line 4826 "regression-compile-tmp/imp918s.imp"
PRX(152, 4, 15, RBASE, 16);
                                                                //   4827           PLANT(X'7FF')
#line 4827 "regression-compile-tmp/imp918s.imp"
PLANT(2047);
                                                                //   4828           %END
#line 4828 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block RTEXIT at level 3
                                                                //   4829           %ROUTINE CSTART(%INTEGER CODE)
#line 4829 "regression-compile-tmp/imp918s.imp"
void CSTART( int CODE )
#line 4829 "regression-compile-tmp/imp918s.imp"
{
                                                                //   4830           {%SHORTROUTINE}
                                                                //   4831           %INTEGER KK
#line 4831 "regression-compile-tmp/imp918s.imp"
int KK;
                                                                //   4832           SFLABEL=SFLABEL-1
#line 4832 "regression-compile-tmp/imp918s.imp"
SFLABEL = (((int)(SFLABEL)) - (1));
                                                                //   4833           FIND USE(KK,1,11,\SFLABEL)
#line 4833 "regression-compile-tmp/imp918s.imp"
FINDUSE(&KK, 1, 11, (~(SFLABEL)));
                                                                //   4834           %IF KK>0 %THEN FORGET(KK)  ;! FORGET MULT OF 4K FOR SFLAB
#line 4834 "regression-compile-tmp/imp918s.imp"
if (((KK) <= (0))) goto L_048d;
#line 4834 "regression-compile-tmp/imp918s.imp"
FORGET(KK);
#line 4834 "regression-compile-tmp/imp918s.imp"
L_048d:;
                                                                //   4835           PUSH123(SBR(LEVEL),CODE,SFLABEL,CYCLE(LEVEL))
#line 4835 "regression-compile-tmp/imp918s.imp"
PUSH123(&SBR[LEVEL], CODE, SFLABEL, CYCLE[LEVEL]);
                                                                //   4836           %END
#line 4836 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block CSTART at level 3
                                                                //   4837           %ROUTINE     TEXTOUT(%INTEGER REG)
#line 4837 "regression-compile-tmp/imp918s.imp"
void TEXTOUT( int REG )
#line 4837 "regression-compile-tmp/imp918s.imp"
{
                                                                //   4838           {%SHORTROUTINE}
                                                                //   4839  !***********************************************************************
                                                                //   4840  !*      PLANT A JUMP ROUND THE TEXT WHICH IS PUT IN THE CODE.          *
                                                                //   4841  !*       REG IS LEFT POINTING AT THE TEXT.                             *
                                                                //   4842  !*        REG=0 IS SPECIAL CASE PRINTTEXT                              *
                                                                //   4843  !***********************************************************************
                                                                //   4844           %INTEGER KK,Q,L
#line 4844 "regression-compile-tmp/imp918s.imp"
int KK;
#line 4844 "regression-compile-tmp/imp918s.imp"
int Q;
#line 4844 "regression-compile-tmp/imp918s.imp"
int L;
                                                                //   4845           L=A(P);                       ! NO OF CHARS IN TEXT
#line 4845 "regression-compile-tmp/imp918s.imp"
L = A[((P) + ((int)(7)))];
                                                                //   4846           %IF REG=0 %THEN PPJ(30) %ELSE %START
#line 4846 "regression-compile-tmp/imp918s.imp"
if (((REG) != (0))) goto L_048e;
#line 4846 "regression-compile-tmp/imp918s.imp"
PPJ(30);
#line 4846 "regression-compile-tmp/imp918s.imp"
goto L_048f;
#line 4846 "regression-compile-tmp/imp918s.imp"
L_048e:;
                                                                //   4847              SET LOCAL BASE
#line 4847 "regression-compile-tmp/imp918s.imp"
SETLOCALBASE();
                                                                //   4848              KK=(CA+6+L-LOCAL ADDR)&(-2)
#line 4848 "regression-compile-tmp/imp918s.imp"
KK = (((((int)((((int)((((int)(CA)) + (6)))) + (L)))) - (LOCALADDR))) & ((-2)));
                                                                //   4849              PRX(X'45',REG,LOCAL BASE,0,KK);! BAL ROUND TEXT
#line 4849 "regression-compile-tmp/imp918s.imp"
PRX(69, REG, LOCALBASE, 0, KK);
                                                                //   4850              FORGET(REG)
#line 4850 "regression-compile-tmp/imp918s.imp"
FORGET(REG);
                                                                //   4851           %FINISH
#line 4851 "regression-compile-tmp/imp918s.imp"
L_048f:;
                                                                //   4852           Q=ADDR(A(P))+1;                ! ADDR OF LENGTH BYTE
#line 4852 "regression-compile-tmp/imp918s.imp"
Q = (((int)(_imp_ADDR(&A[((P) + ((int)(7)))]))) + (1));
                                                                //   4853           P=P+(L+3)>>1;                 ! P ON ROUND TEXT
#line 4853 "regression-compile-tmp/imp918s.imp"
P = ((P) + ((int)((((((((int)(L)) + (3)))) >> (1))))));
                                                                //   4854           %CYCLE KK=Q,2,Q+L>>1<<1
#line 4854 "regression-compile-tmp/imp918s.imp"
{static int _initial, _increment, _final, _control;
_initial = Q; _increment = 2; _final = ((Q) + ((int)((((int)((((unsigned int)(L)) >> (1)))) << (1))))); KK = _control = _initial;
if (((_final-_initial) % _increment) != 0) _imp_signal(5,1,0,"Illegal cycle KK = Q, 2, ((Q) + ((int)((((int)((((unsigned int)(L)) >> (1)))) << (1)))))");
KK -= _increment; _control -= _increment;
L_0490:;
if (KK == _final) goto L_0491;
KK += _increment; _control += _increment;
if (KK != _control) _imp_signal(4,2,0,"Corrupt control variable KK"); /* FOR loop control variable corrupted */
}
                                                                //   4855              BYTE INTEGER(ADDR(J)+2)=BYTE INTEGER (KK)
#line 4855 "regression-compile-tmp/imp918s.imp"
*_imp_BYTEINTEGER((((int)(_imp_ADDR(&J))) + (2))) = *_imp_BYTEINTEGER(KK);
                                                                //   4856              BYTE INTEGER(ADDR(J)+3)=BYTE INTEGER (KK+1)
#line 4856 "regression-compile-tmp/imp918s.imp"
*_imp_BYTEINTEGER((((int)(_imp_ADDR(&J))) + (3))) = *_imp_BYTEINTEGER((((int)(KK)) + (1)));
                                                                //   4857              PLANT(J)
#line 4857 "regression-compile-tmp/imp918s.imp"
PLANT(J);
                                                                //   4858           %REPEAT
#line 4858 "regression-compile-tmp/imp918s.imp"
goto L_0490;
#line 4858 "regression-compile-tmp/imp918s.imp"
L_0491:;
                                                                //   4859           %IF SBFLAG#0 %AND CA-CODEBASE>4096 %THEN FAULT(99,0)
#line 4859 "regression-compile-tmp/imp918s.imp"
if (((SBFLAG) == (0))) goto L_0493;
#line 4859 "regression-compile-tmp/imp918s.imp"
if ((((((int)(CA)) - (CODEBASE))) <= (4096))) goto L_0493;
#line 4859 "regression-compile-tmp/imp918s.imp"
FAULT(99, 0);
#line 4859 "regression-compile-tmp/imp918s.imp"
L_0493:;
                                                                //   4860           %IF REG=0 %AND SBFLAG=0 %AND CA-CODEBASE>4095-MARGIN %C
#line 4860 "regression-compile-tmp/imp918s.imp"
if (((REG) != (0))) goto L_0494;
#line 4860 "regression-compile-tmp/imp918s.imp"
if (((SBFLAG) != (0))) goto L_0494;
#line 4860 "regression-compile-tmp/imp918s.imp"
if ((((((int)(CA)) - (CODEBASE))) <= ((((int)(4095)) - (MARGIN))))) goto L_0494;
#line 4860 "regression-compile-tmp/imp918s.imp"
SETUSE(15, 12, CA);
#line 4860 "regression-compile-tmp/imp918s.imp"
L_0494:;
                                                                //   4861                    %THEN SET USE(15,12,CA)
                                                                //   4862           %END
#line 4862 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block TEXTOUT at level 3
                                                                //   4863  
                                                                //   4864           %ROUTINE     CSEXP(%INTEGER REG,MODE)
#line 4864 "regression-compile-tmp/imp918s.imp"
void CSEXP( int REG, int MODE )
#line 4864 "regression-compile-tmp/imp918s.imp"
{
                                                                //   4865           {%SHORTROUTINE}
                                                                //   4866  !***********************************************************************
                                                                //   4867  !*       COMPILE A SIGNED EXPRESSION TO REGISTER 'REG' IN MODE 'MODE'  *
                                                                //   4868  !*       MODE=1 FOR %INTEGER, =2 REAL, =3 LONG,=0 INTEGER %IF POSSIBLE *
                                                                //   4869  !*       MODE=5 FOR ADDRESS EXPRESSNS(IE LEAVE ANY CONSTANT IN 'ADISP')*
                                                                //   4870  !***********************************************************************
                                                                //   4871           %SHORTINTEGER EXPHEAD,NOPS,EXPBOT
#line 4871 "regression-compile-tmp/imp918s.imp"
short EXPHEAD;
#line 4871 "regression-compile-tmp/imp918s.imp"
short NOPS;
#line 4871 "regression-compile-tmp/imp918s.imp"
short EXPBOT;
                                                                //   4872           %BYTEINTEGER ADDREXP
#line 4872 "regression-compile-tmp/imp918s.imp"
unsigned char ADDREXP;
                                                                //   4873           %INTEGER PP,BDISP,PPP
#line 4873 "regression-compile-tmp/imp918s.imp"
int PP;
#line 4873 "regression-compile-tmp/imp918s.imp"
int BDISP;
#line 4873 "regression-compile-tmp/imp918s.imp"
int PPP;
                                                                //   4874           EXPHEAD=0; ADDREXP=0
#line 4874 "regression-compile-tmp/imp918s.imp"
EXPHEAD = 0;
#line 4874 "regression-compile-tmp/imp918s.imp"
ADDREXP = 0;
                                                                //   4875           NOPS=0; EXPBOT=0
#line 4875 "regression-compile-tmp/imp918s.imp"
NOPS = 0;
#line 4875 "regression-compile-tmp/imp918s.imp"
EXPBOT = 0;
                                                                //   4876           ADDREXP=MODE>>2&1
#line 4876 "regression-compile-tmp/imp918s.imp"
ADDREXP = (((int)((((unsigned int)(MODE)) >> (2)))) & (1));
                                                                //   4877           P=P+2
#line 4877 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (2));
                                                                //   4878           TORP(EXPHEAD,EXPBOT,NOPS,MODE)
#line 4878 "regression-compile-tmp/imp918s.imp"
TORP(&EXPHEAD, &EXPBOT, &NOPS, MODE);
                                                                //   4879           %IF EXPHEAD=0 %THEN NEST=0 %AND %RETURN;! EXPR  CONSTANT ONLY
#line 4879 "regression-compile-tmp/imp918s.imp"
if (((EXPHEAD) != (0))) goto L_0495;
#line 4879 "regression-compile-tmp/imp918s.imp"
NEST = 0;
#line 4879 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 4879 "regression-compile-tmp/imp918s.imp"
L_0495:;
                                                                //   4880  !
                                                                //   4881  ! MODE=13 IS A SPECIAL FOR THE BUILT IN MAPS. TO ALLOW INTEGER (ADDR(J)) 
                                                                //   4882  ! TO BE COMPILE AS QUICKLY AS POSSIBLE IT LOOKS FOR 'ADDR'
                                                                //   4883  ! AND USES CNAME TO OBTAIN 'BASE' & 'DISP' OF THE NAME AND RETURNS THESE
                                                                //   4884  ! AS THE RESULT OMITTING THE 'LA' THAT ADDR USES INVOKES
                                                                //   4885  !
                                                                //   4886           %IF MODE=13 %AND NOPS=0 %AND CHECKSP=0 %THEN %START
#line 4886 "regression-compile-tmp/imp918s.imp"
if (((MODE) != (13))) goto L_0496;
#line 4886 "regression-compile-tmp/imp918s.imp"
if (((NOPS) != (0))) goto L_0496;
#line 4886 "regression-compile-tmp/imp918s.imp"
if (((CHECKSP) != (0))) goto L_0496;
                                                                //   4887              FROM12(EXPHEAD,PP,BDISP)
#line 4887 "regression-compile-tmp/imp918s.imp"
FROM12(EXPHEAD, &PP, &BDISP);
                                                                //   4888              %IF PP&255=2 %THEN %START;  ! ONLY OPERAND IS A NAME
#line 4888 "regression-compile-tmp/imp918s.imp"
if (((((PP) & (255))) != (2))) goto L_0497;
                                                                //   4889                 COPY TAG (A(BDISP))
#line 4889 "regression-compile-tmp/imp918s.imp"
COPYTAG(A[((BDISP) + ((int)(7)))]);
                                                                //   4890  !
                                                                //   4891  ! CHECK THE NAME TO SEE IF IT IS OF THE FORM 'ADDR(<NAME><APP>)'
                                                                //   4892  !
                                                                //   4893                 %IF PTYPE=SNPT %AND K=14 %AND A(BDISP+1)=1 %AND %C
#line 4893 "regression-compile-tmp/imp918s.imp"
if (((PTYPE) != (10006))) goto L_0498;
#line 4893 "regression-compile-tmp/imp918s.imp"
if (((K) != (14))) goto L_0498;
#line 4893 "regression-compile-tmp/imp918s.imp"
if (((A[(((unsigned char)((((int)(BDISP)) + (1)))) + (7))]) != (1))) goto L_0498;
#line 4893 "regression-compile-tmp/imp918s.imp"
if (((A[(((unsigned char)((((int)(BDISP)) + (4)))) + (7))]) != (4))) goto L_0498;
#line 4893 "regression-compile-tmp/imp918s.imp"
if (((A[(((unsigned char)((((int)(BDISP)) + (5)))) + (7))]) != (1))) goto L_0498;
                                                                //   4894                    A(BDISP+4)=4 %AND A(BDISP+5)=1 %THEN %START
                                                                //   4895                    PP=P; P=BDISP+6
#line 4895 "regression-compile-tmp/imp918s.imp"
PP = P;
#line 4895 "regression-compile-tmp/imp918s.imp"
P = (((int)(BDISP)) + (6));
                                                                //   4896                    BDISP=ADISP; PPP=P
#line 4896 "regression-compile-tmp/imp918s.imp"
BDISP = ADISP;
#line 4896 "regression-compile-tmp/imp918s.imp"
PPP = P;
                                                                //   4897                    CNAME(1,99);     ! SPECIAL SET 'BASE'&'DISP'
#line 4897 "regression-compile-tmp/imp918s.imp"
CNAME(1, 99);
                                                                //   4898                    FAULT(22,0) %UNLESS A(P)=2
#line 4898 "regression-compile-tmp/imp918s.imp"
if (((A[((P) + ((int)(7)))]) == (2))) goto L_0499;
#line 4898 "regression-compile-tmp/imp918s.imp"
FAULT(22, 0);
#line 4898 "regression-compile-tmp/imp918s.imp"
L_0499:;
                                                                //   4899                    %IF BIMSTR#0 %THEN NOTE ASSMENT(-1,2,A(PPP))
#line 4899 "regression-compile-tmp/imp918s.imp"
if (((BIMSTR) == (0))) goto L_049a;
#line 4899 "regression-compile-tmp/imp918s.imp"
NOTEASSMENT((-1), 2, A[((PPP) + ((int)(7)))]);
#line 4899 "regression-compile-tmp/imp918s.imp"
L_049a:;
                                                                //   4900                    P=PP; DISP=DISP+BDISP
#line 4900 "regression-compile-tmp/imp918s.imp"
P = PP;
#line 4900 "regression-compile-tmp/imp918s.imp"
DISP = (((int)(DISP)) + (BDISP));
                                                                //   4901                    CLEAR LIST(EXPHEAD)
#line 4901 "regression-compile-tmp/imp918s.imp"
CLEARLIST(&EXPHEAD);
                                                                //   4902                    ADISP=0; NEST=-1
#line 4902 "regression-compile-tmp/imp918s.imp"
ADISP = 0;
#line 4902 "regression-compile-tmp/imp918s.imp"
NEST = (-1);
                                                                //   4903                    %RETURN
#line 4903 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   4904                 %FINISH
#line 4904 "regression-compile-tmp/imp918s.imp"
L_0498:;
                                                                //   4905              %FINISH
#line 4905 "regression-compile-tmp/imp918s.imp"
L_0497:;
                                                                //   4906           %FINISH
#line 4906 "regression-compile-tmp/imp918s.imp"
L_0496:;
                                                                //   4907  !
                                                                //   4908           BDISP=ADISP
#line 4908 "regression-compile-tmp/imp918s.imp"
BDISP = ADISP;
                                                                //   4909           PP=P
#line 4909 "regression-compile-tmp/imp918s.imp"
PP = P;
                                                                //   4910           EXPOP(EXPHEAD,REG,NOPS,MODE&7)
#line 4910 "regression-compile-tmp/imp918s.imp"
EXPOP(EXPHEAD, REG, NOPS, ((MODE) & (7)));
                                                                //   4911           P=PP
#line 4911 "regression-compile-tmp/imp918s.imp"
P = PP;
                                                                //   4912           ADISP=BDISP
#line 4912 "regression-compile-tmp/imp918s.imp"
ADISP = BDISP;
                                                                //   4913  !         CLEARLIST(EXPHEAD)
                                                                //   4914           SHORTINTEGER(ADDR(ASLIST(EXPBOT))+14)=ASL
#line 4914 "regression-compile-tmp/imp918s.imp"
*_imp_SHORTINTEGER((((int)(_imp_ADDR(&ASLIST[EXPBOT]))) + (14))) = ASL;
                                                                //   4915           ASL=EXPHEAD
#line 4915 "regression-compile-tmp/imp918s.imp"
ASL = EXPHEAD;
                                                                //   4916           %END
#line 4916 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block CSEXP at level 3
                                                                //   4917           %ROUTINE DSEXP(%INTEGER REG,MODE)
#line 4917 "regression-compile-tmp/imp918s.imp"
void DSEXP( int REG, int MODE )
#line 4917 "regression-compile-tmp/imp918s.imp"
{
                                                                //   4918           {%SHORTROUTINE}
                                                                //   4919           %COMMENT COMPILES TWO INTEGER EXPRESSIONS TO REG & REG+1
                                                                //   4920           %COMMENT REGISTERS LEFT CLAIMED
                                                                //   4921           %SHORTINTEGER SRD
#line 4921 "regression-compile-tmp/imp918s.imp"
short SRD;
                                                                //   4922           SRD=0
#line 4922 "regression-compile-tmp/imp918s.imp"
SRD = 0;
                                                                //   4923           CSEXP(REG,1)
#line 4923 "regression-compile-tmp/imp918s.imp"
CSEXP(REG, 1);
                                                                //   4924           REGISTER(REG)=1
#line 4924 "regression-compile-tmp/imp918s.imp"
REGISTER[REG] = 1;
                                                                //   4925           PUSH(SRD,1<<16!9!REG<<8,-2)
#line 4925 "regression-compile-tmp/imp918s.imp"
PUSH(&SRD, ((((((1) << (16))) | (9))) | (((REG) << (8)))), (-2));
                                                                //   4926           SET USE(REG,1,ADDR(ASLIST(SRD)))
#line 4926 "regression-compile-tmp/imp918s.imp"
SETUSE(REG, 1, _imp_ADDR(&ASLIST[SRD]));
                                                                //   4927           P=P+MODE
#line 4927 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (MODE));
                                                                //   4928           CSEXP(REG+1,1)
#line 4928 "regression-compile-tmp/imp918s.imp"
CSEXP((((int)(REG)) + (1)), 1);
                                                                //   4929           REGISTER(REG+1)=1
#line 4929 "regression-compile-tmp/imp918s.imp"
REGISTER[(((int)(REG)) + (1))] = 1;
                                                                //   4930           EXPOP(SRD,REG,0,100)
#line 4930 "regression-compile-tmp/imp918s.imp"
EXPOP(SRD, REG, 0, 100);
                                                                //   4931           REGISTER(REG)=1
#line 4931 "regression-compile-tmp/imp918s.imp"
REGISTER[REG] = 1;
                                                                //   4932           GRINF(REG)=0
#line 4932 "regression-compile-tmp/imp918s.imp"
GRINF[REG] = 0;
                                                                //   4933           CLEAR LIST(SRD)
#line 4933 "regression-compile-tmp/imp918s.imp"
CLEARLIST(&SRD);
                                                                //   4934           %END
#line 4934 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block DSEXP at level 3
                                                                //   4935           %ROUTINE TORP(%SHORTINTEGERNAME HEAD,BOT,NOPS,%INTEGER MODE)
#line 4935 "regression-compile-tmp/imp918s.imp"
void TORP( short /*name*/*HEAD, short /*name*/*BOT, short /*name*/*NOPS, int MODE )
#line 4935 "regression-compile-tmp/imp918s.imp"
{
                                                                //   4936  !***********************************************************************
                                                                //   4937  !*       CONVERT THE SIGNED EXPRESSION INDEXED BY P INTO REVERSE       *
                                                                //   4938  !*      POLISH NOTATION. THE REVERSE POLISH LIST IS ADDED TO 'HEAD'    *
                                                                //   4939  !*      WHICH MAY CONTAIN ANOTHER EXPRESSION. THE NUMBER OF OPERATORS  *
                                                                //   4940  !*      IS ADDED TO NOPS. MODE SIGNIFIES :-                            *
                                                                //   4941  !*      MODE=1   INTEGER EXPRESSION                                    *
                                                                //   4942  !*      MODE=2   SHORTREAL EXPRESSION                                  *
                                                                //   4943  !*      MODE=3   LONGREAL EXPRESSION                                   *
                                                                //   4944  !*      MODE=0   INTEGER IF POSIIBLE OTHERWISE REAL                    *
                                                                //   4945  !*      N.B. AN INTEGER EXPRESSION IS A SPECIAL CASE OF A REAL EXPRSN  *
                                                                //   4946  !***********************************************************************
                                                                //   4947           {%SHORTROUTINE}
                                                                //   4948           %SWITCH OPERAND(1:4)
#line 4948 "regression-compile-tmp/imp918s.imp"
static int sw11_OPERAND_idx;
static const void * /*SWITCH*/ sw11_OPERAND[4] = { &&sw11_OPERAND_1, &&sw11_OPERAND_2, &&sw11_OPERAND_3, &&sw11_OPERAND_4,  };
                                                                //   4949           %SHORTINTEGER ORHEAD,RPHEAD,PASSHEAD,SAVEHEAD,OPBOT, %C
#line 4949 "regression-compile-tmp/imp918s.imp"
short ORHEAD;
#line 4949 "regression-compile-tmp/imp918s.imp"
short RPHEAD;
#line 4949 "regression-compile-tmp/imp918s.imp"
short PASSHEAD;
#line 4949 "regression-compile-tmp/imp918s.imp"
short SAVEHEAD;
#line 4949 "regression-compile-tmp/imp918s.imp"
short OPBOT;
#line 4949 "regression-compile-tmp/imp918s.imp"
short RPBOT;
#line 4949 "regression-compile-tmp/imp918s.imp"
short PASSBOT;
#line 4949 "regression-compile-tmp/imp918s.imp"
short SAVEBOT;
                                                                //   4950              RPBOT,PASSBOT,SAVEBOT
                                                                //   4951           %BYTEINTEGER REAL,LONGREAL,REALOP,COMPLEX
#line 4951 "regression-compile-tmp/imp918s.imp"
unsigned char REAL;
#line 4951 "regression-compile-tmp/imp918s.imp"
unsigned char LONGREAL;
#line 4951 "regression-compile-tmp/imp918s.imp"
unsigned char REALOP;
#line 4951 "regression-compile-tmp/imp918s.imp"
unsigned char COMPLEX;
                                                                //   4952           %INTEGER OPERATOR,LASTOP,OPPREC,OPND,C,D,E,RPTYPE,RPINF,RPXTRA
#line 4952 "regression-compile-tmp/imp918s.imp"
int OPERATOR;
#line 4952 "regression-compile-tmp/imp918s.imp"
int LASTOP;
#line 4952 "regression-compile-tmp/imp918s.imp"
int OPPREC;
#line 4952 "regression-compile-tmp/imp918s.imp"
int OPND;
#line 4952 "regression-compile-tmp/imp918s.imp"
int C;
#line 4952 "regression-compile-tmp/imp918s.imp"
int D;
#line 4952 "regression-compile-tmp/imp918s.imp"
int E;
#line 4952 "regression-compile-tmp/imp918s.imp"
int RPTYPE;
#line 4952 "regression-compile-tmp/imp918s.imp"
int RPINF;
#line 4952 "regression-compile-tmp/imp918s.imp"
int RPXTRA;
                                                                //   4953           %BYTEINTEGER ADDREXP
#line 4953 "regression-compile-tmp/imp918s.imp"
unsigned char ADDREXP;
                                                                //   4954           %INTEGER BDISP,OPSTK,OPPSTK,RPNAM
#line 4954 "regression-compile-tmp/imp918s.imp"
int BDISP;
#line 4954 "regression-compile-tmp/imp918s.imp"
int OPSTK;
#line 4954 "regression-compile-tmp/imp918s.imp"
int OPPSTK;
#line 4954 "regression-compile-tmp/imp918s.imp"
int RPNAM;
                                                                //   4955           %SHORTINTEGERNAME DUPHEAD,NEXTHEAD
#line 4955 "regression-compile-tmp/imp918s.imp"
short /*name*/*DUPHEAD;
#line 4955 "regression-compile-tmp/imp918s.imp"
short /*name*/*NEXTHEAD;
                                                                //   4956  !%if USE MC = 1 %start
                                                                //   4957  !         *XC_ORHEAD(76),ORHEAD
                                                                //   4958  !%finish
                                                                //   4959           LONGREAL=ALL LONG ;           ! IN CASE INTEGER SUBXPRS
#line 4959 "regression-compile-tmp/imp918s.imp"
LONGREAL = ALLLONG;
                                                                //   4960           ADDREXP=MODE>>2&1
#line 4960 "regression-compile-tmp/imp918s.imp"
ADDREXP = (((int)((((unsigned int)(MODE)) >> (2)))) & (1));
                                                                //   4961           C=A(P)
#line 4961 "regression-compile-tmp/imp918s.imp"
C = A[((P) + ((int)(7)))];
                                                                //   4962           %IF 2<=C<=3 %THEN %START;     ! INITIAL '-' OR '\'
#line 4962 "regression-compile-tmp/imp918s.imp"
if ((((2) > (C))) || (((C) > (3)))) goto L_049b;
                                                                //   4963              NOPS=NOPS+1
#line 4963 "regression-compile-tmp/imp918s.imp"
*NOPS = ((*(int *)(NOPS)) + (1));
                                                                //   4964              OPSTK=13-C;               ! '-' =(11,3)   '\' =(10,5)
#line 4964 "regression-compile-tmp/imp918s.imp"
OPSTK = (((int)(13)) - (C));
                                                                //   4965              OPPSTK=C<<1-1
#line 4965 "regression-compile-tmp/imp918s.imp"
OPPSTK = (((int)(((C) << (1)))) - (1));
                                                                //   4966           %FINISH
#line 4966 "regression-compile-tmp/imp918s.imp"
L_049b:;
                                                                //   4967  Label1:       OPND=A(P+1); P=P+2
#line 4967 "regression-compile-tmp/imp918s.imp"
U_103e:;
#line 4967 "regression-compile-tmp/imp918s.imp"
OPND = A[(((unsigned char)((((int)(P)) + (1)))) + (7))];
#line 4967 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (2));
                                                                //   4968           COMPLEX=0
#line 4968 "regression-compile-tmp/imp918s.imp"
COMPLEX = 0;
                                                                //   4969           -> OPERAND(OPND);             ! SWITCH ON OPERAND
#line 4969 "regression-compile-tmp/imp918s.imp"
sw11_OPERAND_idx = OPND; if ((1 <= sw11_OPERAND_idx) && (sw11_OPERAND_idx <= 4)) goto *(sw11_OPERAND-1)[sw11_OPERAND_idx];  /* Bounds=1:4 */ else {
   /*_imp_signal(8, 2, sw11_OPERAND_idx);*/
   fprintf(stderr, "%%SWITCH index OPERAND(%d) not in range 1:4 at %s:%d\n",
           sw11_OPERAND_idx, (_imp_current_file != 0 ? _imp_current_file : __FILE__),
           (_imp_current_line != 0 ? _imp_current_line : __LINE__));
           exit(1);
}
                                                                //   4970  OPERAND(1):                            ! NAME
#line 4970 "regression-compile-tmp/imp918s.imp"
sw11_OPERAND_1:;
                                                                //   4971           RPNAM=TAGS(A(P))
#line 4971 "regression-compile-tmp/imp918s.imp"
RPNAM = TAGS[A[((P) + ((int)(7)))]];
                                                                //   4972           %IF RPNAM=0 %THEN PTYPE=7 %ELSE %C
#line 4972 "regression-compile-tmp/imp918s.imp"
if (((RPNAM) != (0))) goto L_049c;
#line 4972 "regression-compile-tmp/imp918s.imp"
PTYPE = 7;
#line 4972 "regression-compile-tmp/imp918s.imp"
goto L_049d;
#line 4972 "regression-compile-tmp/imp918s.imp"
L_049c:;
#line 4972 "regression-compile-tmp/imp918s.imp"
PTYPE = (int)(((*(unsigned int *)(_imp_INTEGER(_imp_ADDR(&ASLIST[RPNAM])))) >> (16)));
#line 4972 "regression-compile-tmp/imp918s.imp"
L_049d:;
                                                                //   4973              PTYPE=INTEGER(ADDR(ASLIST(RPNAM)))>>16
                                                                //   4974  !%if USE MC = 1 %start
                                                                //   4975  !         *L_1,PTYPE; *CVD_1,0(11);      ! UNPACK
                                                                //   4976  !         *UNPK_ROUT(5),5(3,11)
                                                                //   4977  !         *NC_ROUT(5),MASK1
                                                                //   4978  !%finish
                                                                //   4979           %IF TYPE=8 %THEN COMPLEX=FROM3(RPNAM)>>16
#line 4979 "regression-compile-tmp/imp918s.imp"
if (((TYPE) != (8))) goto L_049e;
#line 4979 "regression-compile-tmp/imp918s.imp"
COMPLEX = (int)((((unsigned int)(FROM3(RPNAM))) >> (16)));
#line 4979 "regression-compile-tmp/imp918s.imp"
L_049e:;
                                                                //   4980           %IF PTYPE=SNPT %THEN %START
#line 4980 "regression-compile-tmp/imp918s.imp"
if (((PTYPE) != (10006))) goto L_049f;
                                                                //   4981              K=FROM3(RPNAM)>>16
#line 4981 "regression-compile-tmp/imp918s.imp"
K = (int)((((unsigned int)(FROM3(RPNAM))) >> (16)));
                                                                //   4982               %IF K=38 %AND A(P+1)=2 %THEN %START;    ! PICK OFF NL
#line 4982 "regression-compile-tmp/imp918s.imp"
if (((K) != (38))) goto L_04a0;
#line 4982 "regression-compile-tmp/imp918s.imp"
if (((A[(((unsigned char)((((int)(P)) + (1)))) + (7))]) != (2))) goto L_04a0;
                                                                //   4983                  RPTYPE=0; RPINF=10; PTYPE=1; P=P+1; ->SKNAM
#line 4983 "regression-compile-tmp/imp918s.imp"
RPTYPE = 0;
#line 4983 "regression-compile-tmp/imp918s.imp"
RPINF = 10;
#line 4983 "regression-compile-tmp/imp918s.imp"
PTYPE = 1;
#line 4983 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
#line 4983 "regression-compile-tmp/imp918s.imp"
goto U_103f;
                                                                //   4984               %FINISH
#line 4984 "regression-compile-tmp/imp918s.imp"
L_04a0:;
                                                                //   4985              %IF K=52 %AND A(P+1)=2 %START;! PICK OFF PI
#line 4985 "regression-compile-tmp/imp918s.imp"
if (((K) != (52))) goto L_04a1;
#line 4985 "regression-compile-tmp/imp918s.imp"
if (((A[(((unsigned char)((((int)(P)) + (1)))) + (7))]) != (2))) goto L_04a1;
                                                                //   4986                 RPTYPE=1; PTYPE=2; RPINF=-7
#line 4986 "regression-compile-tmp/imp918s.imp"
RPTYPE = 1;
#line 4986 "regression-compile-tmp/imp918s.imp"
PTYPE = 2;
#line 4986 "regression-compile-tmp/imp918s.imp"
RPINF = (-7);
                                                                //   4987                 P=P+1; REAL=1; ->SKNAM
#line 4987 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
#line 4987 "regression-compile-tmp/imp918s.imp"
REAL = 1;
#line 4987 "regression-compile-tmp/imp918s.imp"
goto U_103f;
                                                                //   4988              %FINISH
#line 4988 "regression-compile-tmp/imp918s.imp"
L_04a1:;
                                                                //   4989              COMPLEX=1;                  ! FOR INTEGER(ADDR(A(I)))
#line 4989 "regression-compile-tmp/imp918s.imp"
COMPLEX = 1;
                                                                //   4990               PTYPE=TSNAME(K);! UNPACK
#line 4990 "regression-compile-tmp/imp918s.imp"
PTYPE = TSNAME[K];
                                                                //   4991  !%if USE MC = 1 %start
                                                                //   4992  !            *L_1,PTYPE; *CVD_1,0(11)
                                                                //   4993  !            *UNPK_ROUT(5),5(3,11)
                                                                //   4994  !            *NC_ROUT(5),MASK1
                                                                //   4995  !%finish
                                                                //   4996           %FINISH
#line 4996 "regression-compile-tmp/imp918s.imp"
L_049f:;
                                                                //   4997           %IF ROUT=1 %THEN COMPLEX=1
#line 4997 "regression-compile-tmp/imp918s.imp"
if (((ROUT) != (1))) goto L_04a2;
#line 4997 "regression-compile-tmp/imp918s.imp"
COMPLEX = 1;
#line 4997 "regression-compile-tmp/imp918s.imp"
L_04a2:;
                                                                //   4998           %IF ARR>=1 %AND CHECKS=1 %THEN COMPLEX=1
#line 4998 "regression-compile-tmp/imp918s.imp"
if (((ARR) < (1))) goto L_04a3;
#line 4998 "regression-compile-tmp/imp918s.imp"
if (((CHECKS) != (1))) goto L_04a3;
#line 4998 "regression-compile-tmp/imp918s.imp"
COMPLEX = 1;
#line 4998 "regression-compile-tmp/imp918s.imp"
L_04a3:;
                                                                //   4999           %IF TYPE=3 %THEN %START
#line 4999 "regression-compile-tmp/imp918s.imp"
if (((TYPE) != (3))) goto L_04a4;
                                                                //   5000              KFORM=FROM3(RPNAM)&X'FFFF'
#line 5000 "regression-compile-tmp/imp918s.imp"
KFORM = ((FROM3(RPNAM)) & (65535));
                                                                //   5001              D=P; C=COPY RECORD TAG(E); P=D;
#line 5001 "regression-compile-tmp/imp918s.imp"
D = P;
#line 5001 "regression-compile-tmp/imp918s.imp"
C = COPYRECORDTAG(&E);
#line 5001 "regression-compile-tmp/imp918s.imp"
P = D;
                                                                //   5002              %IF (ARR>=1 %OR E>1) %AND CHECKS=1 %THEN COMPLEX=1
#line 5002 "regression-compile-tmp/imp918s.imp"
if (((ARR) >= (1))) goto L_04a5;
#line 5002 "regression-compile-tmp/imp918s.imp"
if (((E) <= (1))) goto L_04a6;
#line 5002 "regression-compile-tmp/imp918s.imp"
L_04a5:;
#line 5002 "regression-compile-tmp/imp918s.imp"
if (((CHECKS) != (1))) goto L_04a6;
#line 5002 "regression-compile-tmp/imp918s.imp"
COMPLEX = 1;
#line 5002 "regression-compile-tmp/imp918s.imp"
L_04a6:;
                                                                //   5003           %FINISH
#line 5003 "regression-compile-tmp/imp918s.imp"
L_04a4:;
                                                                //   5004           %IF TYPE=5 %THEN FAULT(42,0)
#line 5004 "regression-compile-tmp/imp918s.imp"
if (((TYPE) != (5))) goto L_04a7;
#line 5004 "regression-compile-tmp/imp918s.imp"
FAULT(42, 0);
#line 5004 "regression-compile-tmp/imp918s.imp"
L_04a7:;
                                                                //   5005           %IF TYPE=2 %THEN %START
#line 5005 "regression-compile-tmp/imp918s.imp"
if (((TYPE) != (2))) goto L_04a8;
                                                                //   5006              REAL=1; LONGREAL=1 %IF PREC=3
#line 5006 "regression-compile-tmp/imp918s.imp"
REAL = 1;
#line 5006 "regression-compile-tmp/imp918s.imp"
if (((PREC) != (3))) goto L_04a9;
#line 5006 "regression-compile-tmp/imp918s.imp"
LONGREAL = 1;
#line 5006 "regression-compile-tmp/imp918s.imp"
L_04a9:;
                                                                //   5007           %FINISH
#line 5007 "regression-compile-tmp/imp918s.imp"
L_04a8:;
                                                                //   5008           RPTYPE=2; RPINF=P; PTYPE=1 %IF PTYPE=7
#line 5008 "regression-compile-tmp/imp918s.imp"
RPTYPE = 2;
#line 5008 "regression-compile-tmp/imp918s.imp"
RPINF = P;
#line 5008 "regression-compile-tmp/imp918s.imp"
if (((PTYPE) != (7))) goto L_04aa;
#line 5008 "regression-compile-tmp/imp918s.imp"
PTYPE = 1;
#line 5008 "regression-compile-tmp/imp918s.imp"
L_04aa:;
                                                                //   5009           RPTYPE=0 %AND PTYPE=1 %IF TYPE=5;   ! CHANGE TO SHORT CONST
#line 5009 "regression-compile-tmp/imp918s.imp"
if (((TYPE) != (5))) goto L_04ab;
#line 5009 "regression-compile-tmp/imp918s.imp"
RPTYPE = 0;
#line 5009 "regression-compile-tmp/imp918s.imp"
PTYPE = 1;
#line 5009 "regression-compile-tmp/imp918s.imp"
L_04ab:;
                                                                //   5010           P=P+1
#line 5010 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
                                                                //   5011  SKNAM:   FFLAG=0
#line 5011 "regression-compile-tmp/imp918s.imp"
U_103f:;
#line 5011 "regression-compile-tmp/imp918s.imp"
FFLAG = 0;
                                                                //   5012           %CYCLE
#line 5012 "regression-compile-tmp/imp918s.imp"
L_04ac:;
                                                                //   5013              %IF A(P)=2 %THEN P=P+1 %ELSE SKIP APP
#line 5013 "regression-compile-tmp/imp918s.imp"
if (((A[((P) + ((int)(7)))]) != (2))) goto L_04af;
#line 5013 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
#line 5013 "regression-compile-tmp/imp918s.imp"
goto L_04b0;
#line 5013 "regression-compile-tmp/imp918s.imp"
L_04af:;
#line 5013 "regression-compile-tmp/imp918s.imp"
SKIPAPP();
#line 5013 "regression-compile-tmp/imp918s.imp"
L_04b0:;
                                                                //   5014              C=A(P); P=P+2
#line 5014 "regression-compile-tmp/imp918s.imp"
C = A[((P) + ((int)(7)))];
#line 5014 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (2));
                                                                //   5015           %REPEAT %UNTIL C=2
#line 5015 "regression-compile-tmp/imp918s.imp"
if (((C) == (2))) goto L_04ad;
#line 5015 "regression-compile-tmp/imp918s.imp"
goto L_04ac;
#line 5015 "regression-compile-tmp/imp918s.imp"
L_04ad:;
                                                                //   5016           %IF FFLAG#0 %THEN COMPLEX=1
#line 5016 "regression-compile-tmp/imp918s.imp"
if (((FFLAG) == (0))) goto L_04b1;
#line 5016 "regression-compile-tmp/imp918s.imp"
COMPLEX = 1;
#line 5016 "regression-compile-tmp/imp918s.imp"
L_04b1:;
                                                                //   5017  INS:     BINSERT(RPHEAD,RPBOT,PTYPE<<16!COMPLEX<<8!RPTYPE,RPINF,0)
#line 5017 "regression-compile-tmp/imp918s.imp"
U_1040:;
#line 5017 "regression-compile-tmp/imp918s.imp"
BINSERT(&RPHEAD, &RPBOT, ((((((PTYPE) << (16))) | (((COMPLEX) << (8))))) | (RPTYPE)), RPINF, 0);
                                                                //   5018           ->Label50 %UNLESS OPND=2
#line 5018 "regression-compile-tmp/imp918s.imp"
if (((OPND) == (2))) goto L_04b2;
#line 5018 "regression-compile-tmp/imp918s.imp"
goto U_1041;
#line 5018 "regression-compile-tmp/imp918s.imp"
L_04b2:;
                                                                //   5019           %IF A(P-1)=2 %THEN P=P+1 %AND ->Label50
#line 5019 "regression-compile-tmp/imp918s.imp"
if (((A[(((unsigned char)((((int)(P)) - (1)))) + (7))]) != (2))) goto L_04b3;
#line 5019 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
#line 5019 "regression-compile-tmp/imp918s.imp"
goto U_1041;
#line 5019 "regression-compile-tmp/imp918s.imp"
L_04b3:;
                                                                //   5020           WARN(LINE)
#line 5020 "regression-compile-tmp/imp918s.imp"
WARN(LINE);
                                                                //   5021           P=P-2; OPERATOR=6; ->Label49
#line 5021 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) - (2));
#line 5021 "regression-compile-tmp/imp918s.imp"
OPERATOR = 6;
#line 5021 "regression-compile-tmp/imp918s.imp"
goto U_1042;
                                                                //   5022  OPERAND(2):                            ! CONSTANT
#line 5022 "regression-compile-tmp/imp918s.imp"
sw11_OPERAND_2:;
                                                                //   5023           C=A(P)&7; RPINF=P
#line 5023 "regression-compile-tmp/imp918s.imp"
C = ((A[((P) + ((int)(7)))]) & (7));
#line 5023 "regression-compile-tmp/imp918s.imp"
RPINF = P;
                                                                //   5024           %IF C=2 %THEN %START;         ! REAL CONSTANT
#line 5024 "regression-compile-tmp/imp918s.imp"
if (((C) != (2))) goto L_04b4;
                                                                //   5025              PTYPE=2; P=P+6
#line 5025 "regression-compile-tmp/imp918s.imp"
PTYPE = 2;
#line 5025 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (6));
                                                                //   5026              REAL=1; RPTYPE=1
#line 5026 "regression-compile-tmp/imp918s.imp"
REAL = 1;
#line 5026 "regression-compile-tmp/imp918s.imp"
RPTYPE = 1;
                                                                //   5027           %FINISH %ELSE %START
#line 5027 "regression-compile-tmp/imp918s.imp"
goto L_04b5;
#line 5027 "regression-compile-tmp/imp918s.imp"
L_04b4:;
                                                                //   5028              %IF C=5 %THEN %START;      ! STRING CONSTANT
#line 5028 "regression-compile-tmp/imp918s.imp"
if (((C) != (5))) goto L_04b6;
                                                                //   5029                 FAULT(42,0); D=1
#line 5029 "regression-compile-tmp/imp918s.imp"
FAULT(42, 0);
#line 5029 "regression-compile-tmp/imp918s.imp"
D = 1;
                                                                //   5030                 P=P+(A(P+1)-1)>>1
#line 5030 "regression-compile-tmp/imp918s.imp"
P = ((P) + ((int)((((((((int)(A[(((unsigned char)((((int)(P)) + (1)))) + (7))])) - (1)))) >> (1))))));
                                                                //   5031              %FINISH %ELSE %START
#line 5031 "regression-compile-tmp/imp918s.imp"
goto L_04b7;
#line 5031 "regression-compile-tmp/imp918s.imp"
L_04b6:;
                                                                //   5032  !%if USE MC = 1 %start
                                                                //   5033  !               **1,P; *AR_1,1
                                                                //   5034  !               *LA_1,A+32(1); *MVC_D(4),0(1)
                                                                //   5035  !%finish
                                                                //   5036              %FINISH
#line 5036 "regression-compile-tmp/imp918s.imp"
L_04b7:;
                                                                //   5037              %IF D>>12=0 %THEN RPTYPE=0 %AND RPINF=D %ELSE RPTYPE=1
#line 5037 "regression-compile-tmp/imp918s.imp"
if ((((int)((((unsigned int)(D)) >> (12)))) != (0))) goto L_04b8;
#line 5037 "regression-compile-tmp/imp918s.imp"
RPTYPE = 0;
#line 5037 "regression-compile-tmp/imp918s.imp"
RPINF = D;
#line 5037 "regression-compile-tmp/imp918s.imp"
goto L_04b9;
#line 5037 "regression-compile-tmp/imp918s.imp"
L_04b8:;
#line 5037 "regression-compile-tmp/imp918s.imp"
RPTYPE = 1;
#line 5037 "regression-compile-tmp/imp918s.imp"
L_04b9:;
                                                                //   5038              P=P+4; PTYPE=1
#line 5038 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (4));
#line 5038 "regression-compile-tmp/imp918s.imp"
PTYPE = 1;
                                                                //   5039           %FINISH; -> INS
#line 5039 "regression-compile-tmp/imp918s.imp"
L_04b5:;
#line 5039 "regression-compile-tmp/imp918s.imp"
goto U_1040;
                                                                //   5040  OPERAND(4):                            ! MODULUS SIGNS
#line 5040 "regression-compile-tmp/imp918s.imp"
sw11_OPERAND_4:;
                                                                //   5041           WARN(LINE)
#line 5041 "regression-compile-tmp/imp918s.imp"
WARN(LINE);
                                                                //   5042  OPERAND(3):                            ! SUB EXPRESSION
#line 5042 "regression-compile-tmp/imp918s.imp"
sw11_OPERAND_3:;
                                                                //   5043           D=0; PASSHEAD=0; PASSBOT=0
#line 5043 "regression-compile-tmp/imp918s.imp"
D = 0;
#line 5043 "regression-compile-tmp/imp918s.imp"
PASSHEAD = 0;
#line 5043 "regression-compile-tmp/imp918s.imp"
PASSBOT = 0;
                                                                //   5044           D=1 %IF MODE&3=1 %OR LASTOP=12
#line 5044 "regression-compile-tmp/imp918s.imp"
if (((((MODE) & (3))) == (1))) goto L_04ae;
#line 5044 "regression-compile-tmp/imp918s.imp"
if (((LASTOP) != (12))) goto L_04ba;
#line 5044 "regression-compile-tmp/imp918s.imp"
L_04ae:;
#line 5044 "regression-compile-tmp/imp918s.imp"
D = 1;
#line 5044 "regression-compile-tmp/imp918s.imp"
L_04ba:;
                                                                //   5045           P=P+2
#line 5045 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (2));
                                                                //   5046           TORP(PASSHEAD,PASSBOT,NOPS,D)
#line 5046 "regression-compile-tmp/imp918s.imp"
TORP(&PASSHEAD, &PASSBOT, NOPS, D);
                                                                //   5047           REAL=1 %IF TYPE=2
#line 5047 "regression-compile-tmp/imp918s.imp"
if (((TYPE) != (2))) goto L_04bb;
#line 5047 "regression-compile-tmp/imp918s.imp"
REAL = 1;
#line 5047 "regression-compile-tmp/imp918s.imp"
L_04bb:;
                                                                //   5048           LONGREAL=1 %IF PREC=3
#line 5048 "regression-compile-tmp/imp918s.imp"
if (((PREC) != (3))) goto L_04bc;
#line 5048 "regression-compile-tmp/imp918s.imp"
LONGREAL = 1;
#line 5048 "regression-compile-tmp/imp918s.imp"
L_04bc:;
                                                                //   5049           BINSERT(RPHEAD,RPBOT,PTYPE<<16!3,PASSHEAD,PASSBOT)
#line 5049 "regression-compile-tmp/imp918s.imp"
BINSERT(&RPHEAD, &RPBOT, ((((PTYPE) << (16))) | (3)), PASSHEAD, PASSBOT);
                                                                //   5050           %IF OPND=4 %THEN BINSERT(RPHEAD,RPBOT,13,0,0) %AND NOPS=NOPS+1
#line 5050 "regression-compile-tmp/imp918s.imp"
if (((OPND) != (4))) goto L_04bd;
#line 5050 "regression-compile-tmp/imp918s.imp"
BINSERT(&RPHEAD, &RPBOT, 13, 0, 0);
#line 5050 "regression-compile-tmp/imp918s.imp"
*NOPS = ((*(int *)(NOPS)) + (1));
#line 5050 "regression-compile-tmp/imp918s.imp"
L_04bd:;
                                                                //   5051           P=P+1
#line 5051 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
                                                                //   5052  Label50:      %COMMENT DEAL WITH OPERATOR
#line 5052 "regression-compile-tmp/imp918s.imp"
U_1041:;
                                                                //   5053           ->Label60 %IF A(P-1)=2;           ! EXPR FINISHED
#line 5053 "regression-compile-tmp/imp918s.imp"
if (((A[(((unsigned char)((((int)(P)) - (1)))) + (7))]) != (2))) goto L_04be;
#line 5053 "regression-compile-tmp/imp918s.imp"
goto U_1043;
#line 5053 "regression-compile-tmp/imp918s.imp"
L_04be:;
                                                                //   5054           OPERATOR=A(P)
#line 5054 "regression-compile-tmp/imp918s.imp"
OPERATOR = A[((P) + ((int)(7)))];
                                                                //   5055  !
                                                                //   5056  ! THE STRING OPERATOR '.' CAUSES CHAOS IN AN ARITHMETIC EXPRSN
                                                                //   5057  ! SO FAULT IT AND CHANGE IT TO THE INNOCUOUS '+'
                                                                //   5058  !
                                                                //   5059           %IF OPERATOR=12 %THEN FAULT(42,0) %AND OPERATOR=2
#line 5059 "regression-compile-tmp/imp918s.imp"
if (((OPERATOR) != (12))) goto L_04bf;
#line 5059 "regression-compile-tmp/imp918s.imp"
FAULT(42, 0);
#line 5059 "regression-compile-tmp/imp918s.imp"
OPERATOR = 2;
#line 5059 "regression-compile-tmp/imp918s.imp"
L_04bf:;
                                                                //   5060           REALOP=1 %IF OPERATOR=1 %OR OPERATOR=8
#line 5060 "regression-compile-tmp/imp918s.imp"
if (((OPERATOR) == (1))) goto L_04c0;
#line 5060 "regression-compile-tmp/imp918s.imp"
if (((OPERATOR) != (8))) goto L_04c1;
#line 5060 "regression-compile-tmp/imp918s.imp"
L_04c0:;
#line 5060 "regression-compile-tmp/imp918s.imp"
REALOP = 1;
#line 5060 "regression-compile-tmp/imp918s.imp"
L_04c1:;
                                                                //   5061           OPERATOR=12 %IF OPERATOR=1
#line 5061 "regression-compile-tmp/imp918s.imp"
if (((OPERATOR) != (1))) goto L_04c2;
#line 5061 "regression-compile-tmp/imp918s.imp"
OPERATOR = 12;
#line 5061 "regression-compile-tmp/imp918s.imp"
L_04c2:;
                                                                //   5062  Label49:      LASTOP=OPERATOR
#line 5062 "regression-compile-tmp/imp918s.imp"
U_1042:;
#line 5062 "regression-compile-tmp/imp918s.imp"
LASTOP = OPERATOR;
                                                                //   5063           OPPREC=PRECEDENCE(OPERATOR)
#line 5063 "regression-compile-tmp/imp918s.imp"
OPPREC = (PRECEDENCE-1)[OPERATOR];
                                                                //   5064           OPERATOR=OPERATOR+13
#line 5064 "regression-compile-tmp/imp918s.imp"
OPERATOR = (((int)(OPERATOR)) + (13));
                                                                //   5065           NOPS=NOPS+1
#line 5065 "regression-compile-tmp/imp918s.imp"
*NOPS = ((*(int *)(NOPS)) + (1));
                                                                //   5066  !
                                                                //   5067  ! UNLOAD THE OPERATOR STACK OF ALL OPERATORS WHOSE PRECEDENCE IS
                                                                //   5068  ! NOT LOWER THAN THE CURRENT OPERATOR. AN EMPTY STACK GIVES'-1'
                                                                //   5069  ! AS PRECEDENCE.
                                                                //   5070  !
                                                                //   5071           %WHILE OPPREC<=OPPSTK&31 %CYCLE
#line 5071 "regression-compile-tmp/imp918s.imp"
L_04c3:;
#line 5071 "regression-compile-tmp/imp918s.imp"
if (((OPPREC) > (((OPPSTK) & (31))))) goto L_04c4;
                                                                //   5072              BINSERT(RPHEAD,RPBOT,OPSTK&31,0,0)
#line 5072 "regression-compile-tmp/imp918s.imp"
BINSERT(&RPHEAD, &RPBOT, ((OPSTK) & (31)), 0, 0);
                                                                //   5073              OPSTK=OPSTK>>5; OPPSTK=OPPSTK>>5
#line 5073 "regression-compile-tmp/imp918s.imp"
OPSTK = (int)((((unsigned int)(OPSTK)) >> (5)));
#line 5073 "regression-compile-tmp/imp918s.imp"
OPPSTK = (int)((((unsigned int)(OPPSTK)) >> (5)));
                                                                //   5074           %REPEAT
#line 5074 "regression-compile-tmp/imp918s.imp"
goto L_04c3;
#line 5074 "regression-compile-tmp/imp918s.imp"
L_04c4:;
                                                                //   5075  !
                                                                //   5076  ! THE CURRENT OPERATOR CAN NOW BE STORED
                                                                //   5077  !
                                                                //   5078           OPSTK=OPSTK<<5!OPERATOR
#line 5078 "regression-compile-tmp/imp918s.imp"
OPSTK = ((((OPSTK) << (5))) | (OPERATOR));
                                                                //   5079           OPPSTK=OPPSTK<<5!OPPREC
#line 5079 "regression-compile-tmp/imp918s.imp"
OPPSTK = ((((OPPSTK) << (5))) | (OPPREC));
                                                                //   5080           ->Label1
#line 5080 "regression-compile-tmp/imp918s.imp"
goto U_103e;
                                                                //   5081  Label60:                                    ! END OF EXPRESSION
#line 5081 "regression-compile-tmp/imp918s.imp"
U_1043:;
                                                                //   5082           %WHILE OPSTK#0 %CYCLE
#line 5082 "regression-compile-tmp/imp918s.imp"
L_04c6:;
#line 5082 "regression-compile-tmp/imp918s.imp"
if (((OPSTK) == (0))) goto L_04c7;
                                                                //   5083              BINSERT(RPHEAD,RPBOT,OPSTK&31,0,0)
#line 5083 "regression-compile-tmp/imp918s.imp"
BINSERT(&RPHEAD, &RPBOT, ((OPSTK) & (31)), 0, 0);
                                                                //   5084              OPSTK=OPSTK>>5
#line 5084 "regression-compile-tmp/imp918s.imp"
OPSTK = (int)((((unsigned int)(OPSTK)) >> (5)));
                                                                //   5085           %REPEAT
#line 5085 "regression-compile-tmp/imp918s.imp"
goto L_04c6;
#line 5085 "regression-compile-tmp/imp918s.imp"
L_04c7:;
                                                                //   5086           REAL=1 %IF MODE&3#1 %AND REALOP=1
#line 5086 "regression-compile-tmp/imp918s.imp"
if (((((MODE) & (3))) == (1))) goto L_04c9;
#line 5086 "regression-compile-tmp/imp918s.imp"
if (((REALOP) != (1))) goto L_04c9;
#line 5086 "regression-compile-tmp/imp918s.imp"
REAL = 1;
#line 5086 "regression-compile-tmp/imp918s.imp"
L_04c9:;
                                                                //   5087           LONGREAL=1 %IF MODE=3
#line 5087 "regression-compile-tmp/imp918s.imp"
if (((MODE) != (3))) goto L_04ca;
#line 5087 "regression-compile-tmp/imp918s.imp"
LONGREAL = 1;
#line 5087 "regression-compile-tmp/imp918s.imp"
L_04ca:;
                                                                //   5088           FAULT(24,0) %IF REAL=1 %AND MODE&3=1
#line 5088 "regression-compile-tmp/imp918s.imp"
if (((REAL) != (1))) goto L_04cb;
#line 5088 "regression-compile-tmp/imp918s.imp"
if (((((MODE) & (3))) != (1))) goto L_04cb;
#line 5088 "regression-compile-tmp/imp918s.imp"
FAULT(24, 0);
#line 5088 "regression-compile-tmp/imp918s.imp"
L_04cb:;
                                                                //   5089  !
                                                                //   5090  ! NOW THE TYPE OF THE EXPRESSION IS KNOWN WE CAN ADD FLOAT &STRETCH
                                                                //   5091  ! OPERATORS AS NECESSARY. ALSO TAKE THE OPPORTUNITY TO REMOVE
                                                                //   5092  ! CONSTANTS FROM ADDRESS EXPRESSIONS.
                                                                //   5093  !
                                                                //   5094           DUPHEAD==RPHEAD
#line 5094 "regression-compile-tmp/imp918s.imp"
DUPHEAD = &RPHEAD;
                                                                //   5095           %WHILE DUPHEAD#0 %CYCLE
#line 5095 "regression-compile-tmp/imp918s.imp"
L_04cc:;
#line 5095 "regression-compile-tmp/imp918s.imp"
if (((*DUPHEAD) == (0))) goto L_04cd;
                                                                //   5096              C=INTEGER(ADDR(ASLIST(DUPHEAD)))
#line 5096 "regression-compile-tmp/imp918s.imp"
C = *_imp_INTEGER(_imp_ADDR(&ASLIST[*DUPHEAD]));
                                                                //   5097              NEXTHEAD==SHORTINTEGER(ADDR(ASLIST(DUPHEAD))+14)
#line 5097 "regression-compile-tmp/imp918s.imp"
NEXTHEAD = _imp_SHORTINTEGER((((int)(_imp_ADDR(&ASLIST[*DUPHEAD]))) + (14)));
                                                                //   5098              RPTYPE=C&255
#line 5098 "regression-compile-tmp/imp918s.imp"
RPTYPE = ((C) & (255));
                                                                //   5099              %IF ADDREXP=1 %AND RPTYPE=0 %AND FROM2(DUPHEAD)+BDISP<256%C
#line 5099 "regression-compile-tmp/imp918s.imp"
if (((ADDREXP) != (1))) goto L_04cf;
#line 5099 "regression-compile-tmp/imp918s.imp"
if (((RPTYPE) != (0))) goto L_04cf;
#line 5099 "regression-compile-tmp/imp918s.imp"
if ((((((int)(FROM2(*DUPHEAD))) + (BDISP))) >= (256))) goto L_04cf;
#line 5099 "regression-compile-tmp/imp918s.imp"
if (((*NOPS) == (0))) goto L_04d0;
#line 5099 "regression-compile-tmp/imp918s.imp"
if (((((FROM1(*NEXTHEAD)) & (255))) != (15))) goto L_04cf;
#line 5099 "regression-compile-tmp/imp918s.imp"
L_04d0:;
                                                                //   5100                  %AND (NOPS=0 %OR FROM1(NEXTHEAD)&255=15) %START;! CHECK FOR +CONST
                                                                //   5101                 POP(DUPHEAD,D,RPINF)
#line 5101 "regression-compile-tmp/imp918s.imp"
POP(DUPHEAD, &D, &RPINF);
                                                                //   5102                 BDISP=BDISP+RPINF
#line 5102 "regression-compile-tmp/imp918s.imp"
BDISP = (((int)(BDISP)) + (RPINF));
                                                                //   5103                 %IF NOPS#0 %THEN POP(DUPHEAD,D,D) %AND NOPS=NOPS-1
#line 5103 "regression-compile-tmp/imp918s.imp"
if (((*NOPS) == (0))) goto L_04d1;
#line 5103 "regression-compile-tmp/imp918s.imp"
POP(DUPHEAD, &D, &D);
#line 5103 "regression-compile-tmp/imp918s.imp"
*NOPS = ((*(int *)(NOPS)) - (1));
#line 5103 "regression-compile-tmp/imp918s.imp"
L_04d1:;
                                                                //   5104                 NEXTHEAD==DUPHEAD
#line 5104 "regression-compile-tmp/imp918s.imp"
NEXTHEAD = DUPHEAD;
                                                                //   5105                 %IF DUPHEAD=0 %START
#line 5105 "regression-compile-tmp/imp918s.imp"
if (((*DUPHEAD) != (0))) goto L_04d2;
                                                                //   5106                    RPBOT=RPHEAD
#line 5106 "regression-compile-tmp/imp918s.imp"
RPBOT = RPHEAD;
                                                                //   5107                    %WHILE SHORTINTEGER(ADDR(ASLIST(RPBOT))+14)#0 %THENC
#line 5107 "regression-compile-tmp/imp918s.imp"
L_04d3:;
#line 5107 "regression-compile-tmp/imp918s.imp"
if (((*_imp_SHORTINTEGER((((int)(_imp_ADDR(&ASLIST[RPBOT]))) + (14)))) == (0))) goto L_04d4;
#line 5107 "regression-compile-tmp/imp918s.imp"
RPBOT = *_imp_SHORTINTEGER((((int)(_imp_ADDR(&ASLIST[RPBOT]))) + (14)));
#line 5107 "regression-compile-tmp/imp918s.imp"
goto L_04d3;
#line 5107 "regression-compile-tmp/imp918s.imp"
L_04d4:;
                                                                //   5108                       RPBOT=SHORTINTEGER(ADDR(ASLIST(RPBOT))+14)
                                                                //   5109                 %FINISH
#line 5109 "regression-compile-tmp/imp918s.imp"
L_04d2:;
                                                                //   5110              %FINISH %ELSE %START
#line 5110 "regression-compile-tmp/imp918s.imp"
goto L_04d6;
#line 5110 "regression-compile-tmp/imp918s.imp"
L_04cf:;
                                                                //   5111                %IF RPTYPE=1 %AND C>>16=2 %AND LONGREAL=1 %THEN %C
#line 5111 "regression-compile-tmp/imp918s.imp"
if (((RPTYPE) != (1))) goto L_04d7;
#line 5111 "regression-compile-tmp/imp918s.imp"
if ((((int)((((unsigned int)(C)) >> (16)))) != (2))) goto L_04d7;
#line 5111 "regression-compile-tmp/imp918s.imp"
if (((LONGREAL) != (1))) goto L_04d7;
#line 5111 "regression-compile-tmp/imp918s.imp"
C = ((((32) << (16))) | (1));
#line 5111 "regression-compile-tmp/imp918s.imp"
REPLACE1(*DUPHEAD, C);
#line 5111 "regression-compile-tmp/imp918s.imp"
L_04d7:;
                                                                //   5112                 C=32<<16!1 %AND REPLACE1(DUPHEAD,C)
                                                                //   5113                 %IF RPTYPE=3 %THEN %START
#line 5113 "regression-compile-tmp/imp918s.imp"
if (((RPTYPE) != (3))) goto L_04d8;
                                                                //   5114                    POP123(DUPHEAD,C,RPINF,RPXTRA);! CHUCK AWAY HEADCELL
#line 5114 "regression-compile-tmp/imp918s.imp"
POP123(DUPHEAD, &C, &RPINF, &RPXTRA);
                                                                //   5115                    D=DUPHEAD;            ! REPLACE BY SUBEXPRESSION
#line 5115 "regression-compile-tmp/imp918s.imp"
D = *DUPHEAD;
                                                                //   5116                    DUPHEAD=RPINF
#line 5116 "regression-compile-tmp/imp918s.imp"
*DUPHEAD = RPINF;
                                                                //   5117                    NEXTHEAD==SHORTINTEGER(ADDR(ASLIST(RPXTRA))+14)
#line 5117 "regression-compile-tmp/imp918s.imp"
NEXTHEAD = _imp_SHORTINTEGER((((int)(_imp_ADDR(&ASLIST[RPXTRA]))) + (14)));
                                                                //   5118                    NEXTHEAD=D
#line 5118 "regression-compile-tmp/imp918s.imp"
*NEXTHEAD = D;
                                                                //   5119                    %IF D=0 %THEN RPBOT=RPXTRA
#line 5119 "regression-compile-tmp/imp918s.imp"
if (((D) != (0))) goto L_04d9;
#line 5119 "regression-compile-tmp/imp918s.imp"
RPBOT = RPXTRA;
#line 5119 "regression-compile-tmp/imp918s.imp"
L_04d9:;
                                                                //   5120                 %FINISH
#line 5120 "regression-compile-tmp/imp918s.imp"
L_04d8:;
                                                                //   5121                 %IF RPTYPE<10 %AND REAL#0 %THEN %START
#line 5121 "regression-compile-tmp/imp918s.imp"
if (((RPTYPE) >= (10))) goto L_04da;
#line 5121 "regression-compile-tmp/imp918s.imp"
if (((REAL) == (0))) goto L_04da;
                                                                //   5122                    D=0; PTYPE=C>>16;! UNPACK
#line 5122 "regression-compile-tmp/imp918s.imp"
D = 0;
#line 5122 "regression-compile-tmp/imp918s.imp"
PTYPE = (int)((((unsigned int)(C)) >> (16)));
                                                                //   5123  !%if USE MC = 1 %start
                                                                //   5124  !                  *L_1,PTYPE; *CVD_1,0(11)
                                                                //   5125  !                  *UNPK_ROUT(5),5(3,11)
                                                                //   5126  !                  *NC_ROUT(5),MASK1
                                                                //   5127  !%finish
                                                                //   5128                    %IF (TYPE=1 %OR TYPE=8) %AND FROM1(NEXTHEAD)&255#25%C
#line 5128 "regression-compile-tmp/imp918s.imp"
if (((TYPE) == (1))) goto L_04d5;
#line 5128 "regression-compile-tmp/imp918s.imp"
if (((TYPE) != (8))) goto L_04db;
#line 5128 "regression-compile-tmp/imp918s.imp"
L_04d5:;
#line 5128 "regression-compile-tmp/imp918s.imp"
if (((((FROM1(*NEXTHEAD)) & (255))) == (25))) goto L_04db;
#line 5128 "regression-compile-tmp/imp918s.imp"
D = 12;
#line 5128 "regression-compile-tmp/imp918s.imp"
L_04db:;
                                                                //   5129                        %THEN D=12
                                                                //   5130                    %IF TYPE=2 %AND PREC=0 %AND LONGREAL=1 %THEN D=14
#line 5130 "regression-compile-tmp/imp918s.imp"
if (((TYPE) != (2))) goto L_04dc;
#line 5130 "regression-compile-tmp/imp918s.imp"
if (((PREC) != (0))) goto L_04dc;
#line 5130 "regression-compile-tmp/imp918s.imp"
if (((LONGREAL) != (1))) goto L_04dc;
#line 5130 "regression-compile-tmp/imp918s.imp"
D = 14;
#line 5130 "regression-compile-tmp/imp918s.imp"
L_04dc:;
                                                                //   5131                    %IF D#0 %THEN %START;      ! FLOAT OR STRETCH REQD
#line 5131 "regression-compile-tmp/imp918s.imp"
if (((D) == (0))) goto L_04dd;
                                                                //   5132                       NOPS=NOPS+1
#line 5132 "regression-compile-tmp/imp918s.imp"
*NOPS = ((*(int *)(NOPS)) + (1));
                                                                //   5133                       PUSH(NEXTHEAD,D,LONGREAL)
#line 5133 "regression-compile-tmp/imp918s.imp"
PUSH(NEXTHEAD, D, LONGREAL);
                                                                //   5134                       NEXTHEAD==SHORTINTEGER(ADDR(ASLIST(NEXTHEAD))+14)
#line 5134 "regression-compile-tmp/imp918s.imp"
NEXTHEAD = _imp_SHORTINTEGER((((int)(_imp_ADDR(&ASLIST[*NEXTHEAD]))) + (14)));
                                                                //   5135                    %FINISH
#line 5135 "regression-compile-tmp/imp918s.imp"
L_04dd:;
                                                                //   5136                 %FINISH
#line 5136 "regression-compile-tmp/imp918s.imp"
L_04da:;
                                                                //   5137              %FINISH
#line 5137 "regression-compile-tmp/imp918s.imp"
L_04d6:;
                                                                //   5138              DUPHEAD==NEXTHEAD
#line 5138 "regression-compile-tmp/imp918s.imp"
DUPHEAD = NEXTHEAD;
                                                                //   5139           %REPEAT
#line 5139 "regression-compile-tmp/imp918s.imp"
goto L_04cc;
#line 5139 "regression-compile-tmp/imp918s.imp"
L_04cd:;
                                                                //   5140           %IF MODE&3>=2 %AND REAL=0 %THEN %START
#line 5140 "regression-compile-tmp/imp918s.imp"
if (((((MODE) & (3))) < (2))) goto L_04de;
#line 5140 "regression-compile-tmp/imp918s.imp"
if (((REAL) != (0))) goto L_04de;
                                                                //   5141              REAL=1; NOPS=NOPS+1
#line 5141 "regression-compile-tmp/imp918s.imp"
REAL = 1;
#line 5141 "regression-compile-tmp/imp918s.imp"
*NOPS = ((*(int *)(NOPS)) + (1));
                                                                //   5142              BINSERT(RPHEAD,RPBOT,12,LONGREAL,0);! FLT RESULT(IF REQD)
#line 5142 "regression-compile-tmp/imp918s.imp"
BINSERT(&RPHEAD, &RPBOT, 12, LONGREAL, 0);
                                                                //   5143           %FINISH
#line 5143 "regression-compile-tmp/imp918s.imp"
L_04de:;
                                                                //   5144           PTYPE=1+REAL+30*LONGREAL
#line 5144 "regression-compile-tmp/imp918s.imp"
PTYPE = (((((1) + ((int)(REAL))))) + (((30) * ((int)(LONGREAL)))));
                                                                //   5145           %IF HEAD=0 %THEN BOT=RPBOT %ELSE %C
#line 5145 "regression-compile-tmp/imp918s.imp"
if (((*HEAD) != (0))) goto L_04df;
#line 5145 "regression-compile-tmp/imp918s.imp"
*BOT = RPBOT;
#line 5145 "regression-compile-tmp/imp918s.imp"
goto L_04e0;
#line 5145 "regression-compile-tmp/imp918s.imp"
L_04df:;
#line 5145 "regression-compile-tmp/imp918s.imp"
*_imp_SHORTINTEGER((((int)(_imp_ADDR(&ASLIST[RPBOT]))) + (14))) = *HEAD;
#line 5145 "regression-compile-tmp/imp918s.imp"
L_04e0:;
                                                                //   5146              SHORTINTEGER(ADDR(ASLIST(RPBOT))+14)=HEAD
                                                                //   5147           HEAD=RPHEAD;               ! HEAD BACK TO TOP OF LIST
#line 5147 "regression-compile-tmp/imp918s.imp"
*HEAD = RPHEAD;
                                                                //   5148          ! UNPACK
                                                                //   5149  !%if USE MC = 1 %start
                                                                //   5150  !            *L_1,PTYPE; *CVD_1,0(11)
                                                                //   5151  !            *UNPK_ROUT(5),5(3,11)
                                                                //   5152  !            *NC_ROUT(5),MASK1
                                                                //   5153  !%finish
                                                                //   5154           ADISP=BDISP
#line 5154 "regression-compile-tmp/imp918s.imp"
ADISP = BDISP;
                                                                //   5155           %END
#line 5155 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block TORP at level 3
                                                                //   5156           %ROUTINE EXPOP(%INTEGER INHEAD,REG,NOPS,MODE)
#line 5156 "regression-compile-tmp/imp918s.imp"
void EXPOP( int INHEAD, int REG, int NOPS, int MODE )
#line 5156 "regression-compile-tmp/imp918s.imp"
{
                                                                //   5157           %INTEGERARRAY OPERAND(1:2),STK(0:24)
#line 5157 "regression-compile-tmp/imp918s.imp"
int OPERAND[2];
#line 5157 "regression-compile-tmp/imp918s.imp"
int STK[25];
                                                                //   5158           %BYTEINTEGER ADDREXP,RDFORM
#line 5158 "regression-compile-tmp/imp918s.imp"
unsigned char ADDREXP;
#line 5158 "regression-compile-tmp/imp918s.imp"
unsigned char RDFORM;
                                                                //   5159           %RECORD(RD)%NAME OPND1,OPND2
#line 5159 "regression-compile-tmp/imp918s.imp"
 RD /*name*/*OPND1;
#line 5159 "regression-compile-tmp/imp918s.imp"
 RD /*name*/*OPND2;
                                                                //   5160           %INTEGER C,D,E,KK,JJ,OPCODE,COMM,XTRA,STPTR
#line 5160 "regression-compile-tmp/imp918s.imp"
int C;
#line 5160 "regression-compile-tmp/imp918s.imp"
int D;
#line 5160 "regression-compile-tmp/imp918s.imp"
int E;
#line 5160 "regression-compile-tmp/imp918s.imp"
int KK;
#line 5160 "regression-compile-tmp/imp918s.imp"
int JJ;
#line 5160 "regression-compile-tmp/imp918s.imp"
int OPCODE;
#line 5160 "regression-compile-tmp/imp918s.imp"
int COMM;
#line 5160 "regression-compile-tmp/imp918s.imp"
int XTRA;
#line 5160 "regression-compile-tmp/imp918s.imp"
int STPTR;
                                                                //   5161           %INTEGER NEWCC,PP,PT,JJJ
#line 5161 "regression-compile-tmp/imp918s.imp"
int NEWCC;
#line 5161 "regression-compile-tmp/imp918s.imp"
int PP;
#line 5161 "regression-compile-tmp/imp918s.imp"
int PT;
#line 5161 "regression-compile-tmp/imp918s.imp"
int JJJ;
                                                                //   5162           %INTEGER SPECREG; SPECREG=REG
#line 5162 "regression-compile-tmp/imp918s.imp"
int SPECREG;
#line 5162 "regression-compile-tmp/imp918s.imp"
SPECREG = REG;
                                                                //   5163           %ROUTINESPEC FLOAT
#line 5163 "regression-compile-tmp/imp918s.imp"
auto void FLOAT( void );
                                                                //   5164           %ROUTINESPEC CTOP(%INTEGERNAME A)
#line 5164 "regression-compile-tmp/imp918s.imp"
auto void CTOP( int /*name*/*A );
                                                                //   5165           %ROUTINESPEC CHOOSE(%INTEGERNAME I)
#line 5165 "regression-compile-tmp/imp918s.imp"
auto void CHOOSE( int /*name*/*I );
                                                                //   5166           %INTEGERFNSPEC FINDR
#line 5166 "regression-compile-tmp/imp918s.imp"
auto int FINDR( void );
                                                                //   5167           %ROUTINESPEC CLAIM PAIR(%INTEGERNAME REG)
#line 5167 "regression-compile-tmp/imp918s.imp"
auto void CLAIMPAIR( int /*name*/*REG );
                                                                //   5168           %ROUTINESPEC PUT
#line 5168 "regression-compile-tmp/imp918s.imp"
auto void PUT( void );
                                                                //   5169           %ROUTINESPEC STARSTAR
#line 5169 "regression-compile-tmp/imp918s.imp"
auto void STARSTAR( void );
                                                                //   5170           %ROUTINESPEC UNRESERVE(%INTEGER XB)
#line 5170 "regression-compile-tmp/imp918s.imp"
auto void UNRESERVE( int XB );
                                                                //   5171           %ROUTINESPEC LOAD PAIR(%INTEGER I)
#line 5171 "regression-compile-tmp/imp918s.imp"
auto void LOADPAIR( int I );
                                                                //   5172           %ROUTINESPEC LOAD(%RECORD(RD)%NAME OP,%INTEGER REG,MODE)
#line 5172 "regression-compile-tmp/imp918s.imp"
auto void LOAD(  RD /*name*/*OP, int REG, int MODE );
                                                                //   5173           %CONSTSHORTINTEGERARRAY MCINST(10:31)=X'297',X'193',
#line 5173 "regression-compile-tmp/imp918s.imp"
const short MCINST[22] = { 663, 403, 128, 400, 129, 282, 411, 535, 534, 28, 157, 157, 532, 136, 137, 132, 25, 25, 156, 137, 144, 144,  };
                                                                //   5174                 X'80',X'190',X'81',X'11A',X'19B',X'217',
                                                                //   5175                 X'216',X'1C',X'9D',X'9D',X'214',X'88',X'89',
                                                                //   5176                 X'84',X'19',X'19',X'9C',X'89',X'90',X'90'
                                                                //   5177           %SHORTINTEGER TEMPHEAD
#line 5177 "regression-compile-tmp/imp918s.imp"
short TEMPHEAD;
                                                                //   5178           %SWITCH SW(10:31)
#line 5178 "regression-compile-tmp/imp918s.imp"
static int sw12_SW_idx;
static const void * /*SWITCH*/ sw12_SW[22] = { &&sw12_SW_10, &&sw12_SW_11, &&sw12_SW_12, &&sw12_SW_13, &&sw12_SW_14, &&sw12_SW_15, &&sw12_SW_16, &&sw12_SW_17, &&sw12_SW_18, &&sw12_SW_19, &&sw12_SW_20, &&sw12_SW_21, &&sw12_SW_22, &&sw12_SW_23, &&sw12_SW_24, &&sw12_SW_25, &&sw12_SW_26, &&sw12_SW_27, &&sw12_SW_28, &&sw12_SW_29, &&sw12_SW_30, &&sw12_SW_31,  };
                                                                //   5179           %IF INHEAD=0 %THEN %START
#line 5179 "regression-compile-tmp/imp918s.imp"
if (((INHEAD) != (0))) goto L_04e1;
                                                                //   5180              NEST=0; %RETURN
#line 5180 "regression-compile-tmp/imp918s.imp"
NEST = 0;
#line 5180 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   5181           %FINISH
#line 5181 "regression-compile-tmp/imp918s.imp"
L_04e1:;
                                                                //   5182           RDFORM= MODE&16
#line 5182 "regression-compile-tmp/imp918s.imp"
RDFORM = ((MODE) & (16));
                                                                //   5183           NEWCC=0; STPTR=0
#line 5183 "regression-compile-tmp/imp918s.imp"
NEWCC = 0;
#line 5183 "regression-compile-tmp/imp918s.imp"
STPTR = 0;
                                                                //   5184           ADDREXP=MODE>>2&1
#line 5184 "regression-compile-tmp/imp918s.imp"
ADDREXP = (((int)((((unsigned int)(MODE)) >> (2)))) & (1));
                                                                //   5185  Label1:       C=INTEGER(ADDR(ASLIST(INHEAD)))
#line 5185 "regression-compile-tmp/imp918s.imp"
U_1041:;
#line 5185 "regression-compile-tmp/imp918s.imp"
C = *_imp_INTEGER(_imp_ADDR(&ASLIST[INHEAD]));
                                                                //   5186           JJ=C&255; D=INHEAD
#line 5186 "regression-compile-tmp/imp918s.imp"
JJ = ((C) & (255));
#line 5186 "regression-compile-tmp/imp918s.imp"
D = INHEAD;
                                                                //   5187           INHEAD=SHORTINTEGER(ADDR(ASLIST(D))+14)
#line 5187 "regression-compile-tmp/imp918s.imp"
INHEAD = *_imp_SHORTINTEGER((((int)(_imp_ADDR(&ASLIST[D]))) + (14)));
                                                                //   5188           %IF JJ>=10 %THEN XTRA=INTEGER(ADDR(ASLIST(D))+4) %AND %C
#line 5188 "regression-compile-tmp/imp918s.imp"
if (((JJ) < (10))) goto L_04e2;
#line 5188 "regression-compile-tmp/imp918s.imp"
XTRA = *_imp_INTEGER((((int)(_imp_ADDR(&ASLIST[D]))) + (4)));
#line 5188 "regression-compile-tmp/imp918s.imp"
goto U_1042;
#line 5188 "regression-compile-tmp/imp918s.imp"
L_04e2:;
                                                                //   5189              ->OPERATOR
                                                                //   5190           STK(STPTR)=D
#line 5190 "regression-compile-tmp/imp918s.imp"
STK[STPTR] = D;
                                                                //   5191           STPTR=STPTR+1
#line 5191 "regression-compile-tmp/imp918s.imp"
STPTR = (((int)(STPTR)) + (1));
                                                                //   5192  Label2:
#line 5192 "regression-compile-tmp/imp918s.imp"
U_1043:;
                                                                //   5193           ->Label1 %UNLESS INHEAD=0 %OR MODE=100
#line 5193 "regression-compile-tmp/imp918s.imp"
if (((INHEAD) == (0))) goto L_04e3;
#line 5193 "regression-compile-tmp/imp918s.imp"
if (((MODE) == (100))) goto L_04e3;
#line 5193 "regression-compile-tmp/imp918s.imp"
goto U_1041;
#line 5193 "regression-compile-tmp/imp918s.imp"
L_04e3:;
                                                                //   5194           -> FINISH
#line 5194 "regression-compile-tmp/imp918s.imp"
goto U_1044;
                                                                //   5195  OPERATOR:
#line 5195 "regression-compile-tmp/imp918s.imp"
U_1042:;
                                                                //   5196           %IF JJ<15 %THEN KK=1 %ELSE KK=2; ! UNARY OR BINARY
#line 5196 "regression-compile-tmp/imp918s.imp"
if (((JJ) >= (15))) goto L_04e4;
#line 5196 "regression-compile-tmp/imp918s.imp"
KK = 1;
#line 5196 "regression-compile-tmp/imp918s.imp"
goto L_04e5;
#line 5196 "regression-compile-tmp/imp918s.imp"
L_04e4:;
#line 5196 "regression-compile-tmp/imp918s.imp"
KK = 2;
#line 5196 "regression-compile-tmp/imp918s.imp"
L_04e5:;
                                                                //   5197           %CYCLE KK=KK,-1,1
#line 5197 "regression-compile-tmp/imp918s.imp"
KK = ((KK) + ((int)(1)));
if ((((1)-(KK)) % ((-1))) != 0) _imp_signal(5,1,0,"Illegal cycle KK = KK, (-1), 1");
L_04e6:;
if (KK == 1) goto L_04e7;
KK += (-1);
                                                                //   5198              STPTR=STPTR-1
#line 5198 "regression-compile-tmp/imp918s.imp"
STPTR = (((int)(STPTR)) - (1));
                                                                //   5199              C=STK(STPTR)
#line 5199 "regression-compile-tmp/imp918s.imp"
C = STK[STPTR];
                                                                //   5200              OPERAND(KK)=C
#line 5200 "regression-compile-tmp/imp918s.imp"
OPERAND[(((int)(KK)) - (1))] = C;
                                                                //   5201           %REPEAT
#line 5201 "regression-compile-tmp/imp918s.imp"
goto L_04e6;
#line 5201 "regression-compile-tmp/imp918s.imp"
L_04e7:;
                                                                //   5202  !         PTYPE=FROM1(C)>>16
                                                                //   5203          ! UNPACK;                       ! SET PREC ETC.
                                                                //   5204  !%if USE MC = 1 %start
                                                                //   5205  !            *L_1,C; *A_1,ASLIST
                                                                //   5206  !            *LH_1,0(1)
                                                                //   5207  !            *ST_1,PTYPE; *CVD_1,0(11)
                                                                //   5208  !            *UNPK_ROUT(5),5(3,11)
                                                                //   5209  !            *NC_ROUT(5),MASK1
                                                                //   5210  !%finish
                                                                //   5211           OPCODE=MCINST(JJ)
#line 5211 "regression-compile-tmp/imp918s.imp"
OPCODE = (MCINST-10)[JJ];
                                                                //   5212           COMM=OPCODE>>7&1;              ! BIT SET IF OPERATOR UNCOMMUTVE
#line 5212 "regression-compile-tmp/imp918s.imp"
COMM = (((int)((((unsigned int)(OPCODE)) >> (7)))) & (1));
                                                                //   5213           NEWCC=OPCODE>>8;               ! 0=CC UNKNOWN- 1= CC SRITHMETIC
#line 5213 "regression-compile-tmp/imp918s.imp"
NEWCC = (int)((((unsigned int)(OPCODE)) >> (8)));
                                                                //   5214                                          ! 2= CC LOGICAL AFTER OPERATION
                                                                //   5215           OPCODE=OPCODE&63;             ! OPCODE FOR INTEGER RR INST
#line 5215 "regression-compile-tmp/imp918s.imp"
OPCODE = ((OPCODE) & (63));
                                                                //   5216           %IF COMM=0 %THEN CHOOSE(COMM)
#line 5216 "regression-compile-tmp/imp918s.imp"
if (((COMM) != (0))) goto L_04e9;
#line 5216 "regression-compile-tmp/imp918s.imp"
CHOOSE(&COMM);
#line 5216 "regression-compile-tmp/imp918s.imp"
L_04e9:;
                                                                //   5217           OPND1 == RECORD(ADDR(ASLIST(OPERAND(COMM))))
#line 5217 "regression-compile-tmp/imp918s.imp"
OPND1 =  (RD *) _imp_RECORD(_imp_ADDR(&ASLIST[OPERAND[(((int)(COMM)) - (1))]]));
                                                                //   5218           OPND2== OPND1
#line 5218 "regression-compile-tmp/imp918s.imp"
OPND2 = OPND1;
                                                                //   5219           %IF JJ>=15 %THEN OPND2==RECORD(ADDR(ASLIST(OPERAND(3-COMM))))
#line 5219 "regression-compile-tmp/imp918s.imp"
if (((JJ) < (15))) goto L_04ea;
#line 5219 "regression-compile-tmp/imp918s.imp"
OPND2 =  (RD *) _imp_RECORD(_imp_ADDR(&ASLIST[OPERAND[(((int)((((int)(3)) - (COMM)))) - (1))]]));
#line 5219 "regression-compile-tmp/imp918s.imp"
L_04ea:;
                                                                //   5220           %IF OPND1_FLAG<2> OPND2_FLAG %THEN CTOP(JJ)
#line 5220 "regression-compile-tmp/imp918s.imp"
if ((((OPND1->FLAG) >= (2))) || (((2) <= (OPND2->FLAG)))) goto L_04eb;
#line 5220 "regression-compile-tmp/imp918s.imp"
CTOP(&JJ);
#line 5220 "regression-compile-tmp/imp918s.imp"
L_04eb:;
                                                                //   5221           ->Label101 %IF JJ=0;              ! CTOP CARRIED OUT
#line 5221 "regression-compile-tmp/imp918s.imp"
if (((JJ) != (0))) goto L_04ec;
#line 5221 "regression-compile-tmp/imp918s.imp"
goto U_1045;
#line 5221 "regression-compile-tmp/imp918s.imp"
L_04ec:;
                                                                //   5222           TYPE=1 %IF TYPE=8
#line 5222 "regression-compile-tmp/imp918s.imp"
if (((TYPE) != (8))) goto L_04ed;
#line 5222 "regression-compile-tmp/imp918s.imp"
TYPE = 1;
#line 5222 "regression-compile-tmp/imp918s.imp"
L_04ed:;
                                                                //   5223           -> SW(JJ)
#line 5223 "regression-compile-tmp/imp918s.imp"
sw12_SW_idx = JJ; if ((10 <= sw12_SW_idx) && (sw12_SW_idx <= 31)) goto *(sw12_SW-10)[sw12_SW_idx];  /* Bounds=10:31 */ else {
   /*_imp_signal(8, 2, sw12_SW_idx);*/
   fprintf(stderr, "%%SWITCH index SW(%d) not in range 10:31 at %s:%d\n",
           sw12_SW_idx, (_imp_current_file != 0 ? _imp_current_file : __FILE__),
           (_imp_current_line != 0 ? _imp_current_line : __LINE__));
           exit(1);
}
                                                                //   5224  SW(10):                                !  \&
#line 5224 "regression-compile-tmp/imp918s.imp"
sw12_SW_10:;
                                                                //   5225           LOAD(OPND1,-1,2)
#line 5225 "regression-compile-tmp/imp918s.imp"
LOAD(OPND1, (-1), 2);
                                                                //   5226           FAULT(24,0) %UNLESS TYPE=1
#line 5226 "regression-compile-tmp/imp918s.imp"
if (((TYPE) == (1))) goto L_04ee;
#line 5226 "regression-compile-tmp/imp918s.imp"
FAULT(24, 0);
#line 5226 "regression-compile-tmp/imp918s.imp"
L_04ee:;
                                                                //   5227           PRX(X'57',OPND1_XB,0,GLA,16)
#line 5227 "regression-compile-tmp/imp918s.imp"
PRX(87, OPND1->XB, 0, 13, 16);
                                                                //   5228  Label100:     SET USE((TYPE&2)<<3+OPND1_XB,1,ADDR(ASLIST(OPERAND(COMM))))
#line 5228 "regression-compile-tmp/imp918s.imp"
U_1046:;
#line 5228 "regression-compile-tmp/imp918s.imp"
SETUSE((((unsigned char)(((((TYPE) & (2))) << (3)))) + (OPND1->XB)), 1, _imp_ADDR(&ASLIST[OPERAND[(((int)(COMM)) - (1))]]));
                                                                //   5229  Label101:     STK(STPTR)=OPERAND(COMM)
#line 5229 "regression-compile-tmp/imp918s.imp"
U_1045:;
#line 5229 "regression-compile-tmp/imp918s.imp"
STK[STPTR] = OPERAND[(((int)(COMM)) - (1))];
                                                                //   5230           STPTR=STPTR+1
#line 5230 "regression-compile-tmp/imp918s.imp"
STPTR = (((int)(STPTR)) + (1));
                                                                //   5231           %IF NEWCC#0 %THEN CCSTATE=NEWCC<<16!(TYPE&2)<<3!OPND1_XB
#line 5231 "regression-compile-tmp/imp918s.imp"
if (((NEWCC) == (0))) goto L_04ef;
#line 5231 "regression-compile-tmp/imp918s.imp"
CCSTATE = ((((((NEWCC) << (16))) | (((((TYPE) & (2))) << (3))))) | (OPND1->XB));
#line 5231 "regression-compile-tmp/imp918s.imp"
L_04ef:;
                                                                //   5232           ->Label2;                            ! SAVE CONDITION CODE STATE
#line 5232 "regression-compile-tmp/imp918s.imp"
goto U_1043;
                                                                //   5233  SW(11): SW(13):                        ! NEGATE: ABS
#line 5233 "regression-compile-tmp/imp918s.imp"
sw12_SW_11:;
#line 5233 "regression-compile-tmp/imp918s.imp"
sw12_SW_13:;
                                                                //   5234           LOAD(OPND1,-1,2)
#line 5234 "regression-compile-tmp/imp918s.imp"
LOAD(OPND1, (-1), 2);
                                                                //   5235           TEMPHEAD=0
#line 5235 "regression-compile-tmp/imp918s.imp"
TEMPHEAD = 0;
                                                                //   5236           %IF NOPS=1 %AND REG>=0 %THEN %START
#line 5236 "regression-compile-tmp/imp918s.imp"
if (((NOPS) != (1))) goto L_04f0;
#line 5236 "regression-compile-tmp/imp918s.imp"
if (((REG) < (0))) goto L_04f0;
                                                                //   5237              PUSH(TEMPHEAD,INTEGER(ADDR(OPND1)),OPND1_D)
#line 5237 "regression-compile-tmp/imp918s.imp"
PUSH(&TEMPHEAD, *_imp_INTEGER(_imp_ADDR(OPND1)), OPND1->D);
                                                                //   5238              OPND2== RECORD(ADDR(ASLIST(TEMPHEAD)))
#line 5238 "regression-compile-tmp/imp918s.imp"
OPND2 =  (RD *) _imp_RECORD(_imp_ADDR(&ASLIST[TEMPHEAD]));
                                                                //   5239              OPND1_XB=REG
#line 5239 "regression-compile-tmp/imp918s.imp"
OPND1->XB = REG;
                                                                //   5240           %FINISH
#line 5240 "regression-compile-tmp/imp918s.imp"
L_04f0:;
                                                                //   5241           PUT
#line 5241 "regression-compile-tmp/imp918s.imp"
PUT();
                                                                //   5242           CLEAR LIST(TEMPHEAD) %IF TEMPHEAD#0
#line 5242 "regression-compile-tmp/imp918s.imp"
if (((TEMPHEAD) == (0))) goto L_04f1;
#line 5242 "regression-compile-tmp/imp918s.imp"
CLEARLIST(&TEMPHEAD);
#line 5242 "regression-compile-tmp/imp918s.imp"
L_04f1:;
                                                                //   5243           ->Label101
#line 5243 "regression-compile-tmp/imp918s.imp"
goto U_1045;
                                                                //   5244  SW(12):                                ! FLOAT
#line 5244 "regression-compile-tmp/imp918s.imp"
sw12_SW_12:;
                                                                //   5245           LOAD(OPND1,-1,0);                 ! LEAVE IN CORE
#line 5245 "regression-compile-tmp/imp918s.imp"
LOAD(OPND1, (-1), 0);
                                                                //   5246           FLOAT
#line 5246 "regression-compile-tmp/imp918s.imp"
FLOAT();
                                                                //   5247           TYPE=2; OPND1_FLAG=9
#line 5247 "regression-compile-tmp/imp918s.imp"
TYPE = 2;
#line 5247 "regression-compile-tmp/imp918s.imp"
OPND1->FLAG = 9;
                                                                //   5248           OPND1_XB=D; OPND1_D=-2
#line 5248 "regression-compile-tmp/imp918s.imp"
OPND1->XB = D;
#line 5248 "regression-compile-tmp/imp918s.imp"
OPND1->D = (-2);
                                                                //   5249           OPND1_PTYPE=30*XTRA+2;  ->Label100
#line 5249 "regression-compile-tmp/imp918s.imp"
OPND1->PTYPE = (((int)((((int)(30)) * (XTRA)))) + (2));
#line 5249 "regression-compile-tmp/imp918s.imp"
goto U_1046;
                                                                //   5250  SW(14):                                ! STRETCH
#line 5250 "regression-compile-tmp/imp918s.imp"
sw12_SW_14:;
                                                                //   5251           LOAD(OPND1,-1,1)
#line 5251 "regression-compile-tmp/imp918s.imp"
LOAD(OPND1, (-1), 1);
                                                                //   5252           CLAIM (FR0,D); PRR(X'2B',D,D)
#line 5252 "regression-compile-tmp/imp918s.imp"
CLAIM((-125424), &D);
#line 5252 "regression-compile-tmp/imp918s.imp"
PRR(43, D, D);
                                                                //   5253           CCSTATE=-1
#line 5253 "regression-compile-tmp/imp918s.imp"
CCSTATE = (-1);
                                                                //   5254           FORGET(D+16)
#line 5254 "regression-compile-tmp/imp918s.imp"
FORGET((((int)(D)) + (16)));
                                                                //   5255           LOAD(OPND1,D,2)
#line 5255 "regression-compile-tmp/imp918s.imp"
LOAD(OPND1, D, 2);
                                                                //   5256           OPND1_PTYPE=32; ->Label100
#line 5256 "regression-compile-tmp/imp918s.imp"
OPND1->PTYPE = 32;
#line 5256 "regression-compile-tmp/imp918s.imp"
goto U_1046;
                                                                //   5257  SW(15):                                ! ADD
#line 5257 "regression-compile-tmp/imp918s.imp"
sw12_SW_15:;
                                                                //   5258  Label151:     LOAD(OPND1,-1,0) %UNLESS OPND1_FLAG<=2 %C
#line 5258 "regression-compile-tmp/imp918s.imp"
U_1047:;
#line 5258 "regression-compile-tmp/imp918s.imp"
if (((OPND1->FLAG) > (2))) goto L_04e8;
#line 5258 "regression-compile-tmp/imp918s.imp"
if (((OPND1->XB) != (0))) goto L_04e8;
#line 5258 "regression-compile-tmp/imp918s.imp"
if (((OPND1->PTYPE) < (100))) goto L_04f2;
#line 5258 "regression-compile-tmp/imp918s.imp"
L_04e8:;
#line 5258 "regression-compile-tmp/imp918s.imp"
LOAD(OPND1, (-1), 0);
#line 5258 "regression-compile-tmp/imp918s.imp"
L_04f2:;
                                                                //   5259                    %AND OPND1_XB=0 %AND OPND1_PTYPE<100
                                                                //   5260           LOAD(OPND2,-1,1)
#line 5260 "regression-compile-tmp/imp918s.imp"
LOAD(OPND2, (-1), 1);
                                                                //   5261           LOAD(OPND1,-1,2)%UNLESS OPND1_FLAG=9 %AND OPND1_D<0;! IN CASE RT CALL
#line 5261 "regression-compile-tmp/imp918s.imp"
if (((OPND1->FLAG) != (9))) goto L_04f3;
#line 5261 "regression-compile-tmp/imp918s.imp"
if (((OPND1->D) < (0))) goto L_04f4;
#line 5261 "regression-compile-tmp/imp918s.imp"
L_04f3:;
#line 5261 "regression-compile-tmp/imp918s.imp"
LOAD(OPND1, (-1), 2);
#line 5261 "regression-compile-tmp/imp918s.imp"
L_04f4:;
                                                                //   5262           PUT; ->Label101
#line 5262 "regression-compile-tmp/imp918s.imp"
PUT();
#line 5262 "regression-compile-tmp/imp918s.imp"
goto U_1045;
                                                                //   5263  SW(16):                                ! SUBTRACT
#line 5263 "regression-compile-tmp/imp918s.imp"
sw12_SW_16:;
                                                                //   5264           ->Label151%UNLESS(TYPE=1 %OR TYPE=8)%AND OPND2_FLAG=0 %AND OPND2_D=1
#line 5264 "regression-compile-tmp/imp918s.imp"
if (((TYPE) == (1))) goto L_04f5;
#line 5264 "regression-compile-tmp/imp918s.imp"
if (((TYPE) != (8))) goto L_04f6;
#line 5264 "regression-compile-tmp/imp918s.imp"
L_04f5:;
#line 5264 "regression-compile-tmp/imp918s.imp"
if (((OPND2->FLAG) != (0))) goto L_04f6;
#line 5264 "regression-compile-tmp/imp918s.imp"
if (((OPND2->D) == (1))) goto L_04f7;
#line 5264 "regression-compile-tmp/imp918s.imp"
L_04f6:;
#line 5264 "regression-compile-tmp/imp918s.imp"
goto U_1047;
#line 5264 "regression-compile-tmp/imp918s.imp"
L_04f7:;
                                                                //   5265           LOAD(OPND1,-1,2)
#line 5265 "regression-compile-tmp/imp918s.imp"
LOAD(OPND1, (-1), 2);
                                                                //   5266           PRR(6,OPND1_XB,0);            ! BCTR
#line 5266 "regression-compile-tmp/imp918s.imp"
PRR(6, OPND1->XB, 0);
                                                                //   5267           NEWCC=0; ->Label100;               ! BCTR DOES NOT SET CC
#line 5267 "regression-compile-tmp/imp918s.imp"
NEWCC = 0;
#line 5267 "regression-compile-tmp/imp918s.imp"
goto U_1046;
                                                                //   5268  SW(17):                                ! EXCLUSIVE OR
#line 5268 "regression-compile-tmp/imp918s.imp"
sw12_SW_17:;
                                                                //   5269  SW(18):                                ! OR
#line 5269 "regression-compile-tmp/imp918s.imp"
sw12_SW_18:;
                                                                //   5270  SW(22):                                ! AND
#line 5270 "regression-compile-tmp/imp918s.imp"
sw12_SW_22:;
                                                                //   5271           ->Label151 %IF TYPE=1
#line 5271 "regression-compile-tmp/imp918s.imp"
if (((TYPE) != (1))) goto L_04f8;
#line 5271 "regression-compile-tmp/imp918s.imp"
goto U_1047;
#line 5271 "regression-compile-tmp/imp918s.imp"
L_04f8:;
                                                                //   5272  F24:         FAULT(24,0)
#line 5272 "regression-compile-tmp/imp918s.imp"
U_1048:;
#line 5272 "regression-compile-tmp/imp918s.imp"
FAULT(24, 0);
                                                                //   5273           JJ=15; OPCODE=X'1A'; ->Label151; ! CHANGE OPN TO +
#line 5273 "regression-compile-tmp/imp918s.imp"
JJ = 15;
#line 5273 "regression-compile-tmp/imp918s.imp"
OPCODE = 26;
#line 5273 "regression-compile-tmp/imp918s.imp"
goto U_1047;
                                                                //   5274  SW(23):                                ! SRL
#line 5274 "regression-compile-tmp/imp918s.imp"
sw12_SW_23:;
                                                                //   5275  SW(24):                                ! SLL
#line 5275 "regression-compile-tmp/imp918s.imp"
sw12_SW_24:;
                                                                //   5276           ->F24 %UNLESS TYPE=1
#line 5276 "regression-compile-tmp/imp918s.imp"
if (((TYPE) == (1))) goto L_04f9;
#line 5276 "regression-compile-tmp/imp918s.imp"
goto U_1048;
#line 5276 "regression-compile-tmp/imp918s.imp"
L_04f9:;
                                                                //   5277            D=0; D=1 %IF OPND2_FLAG=0
#line 5277 "regression-compile-tmp/imp918s.imp"
D = 0;
#line 5277 "regression-compile-tmp/imp918s.imp"
if (((OPND2->FLAG) != (0))) goto L_04fa;
#line 5277 "regression-compile-tmp/imp918s.imp"
D = 1;
#line 5277 "regression-compile-tmp/imp918s.imp"
L_04fa:;
                                                                //   5278           LOAD(OPND1,-1,D<<1);              ! MUST LOAD %IF CONST
#line 5278 "regression-compile-tmp/imp918s.imp"
LOAD(OPND1, (-1), ((D) << (1)));
                                                                //   5279           %IF D=0 %THEN %START
#line 5279 "regression-compile-tmp/imp918s.imp"
if (((D) != (0))) goto L_04fb;
                                                                //   5280  ! DIFFICULT AS MAY SHIFT BY A FN AND CANNOT SHIFT BY GR0
                                                                //   5281           LOAD(OPND2,-2,0)          ;! INSPECT SHIFTER
#line 5281 "regression-compile-tmp/imp918s.imp"
LOAD(OPND2, (-2), 0);
                                                                //   5282           LOAD(OPND1,-1,2);     ! LOAD UP SHIFTED TO ANY REGISTER
#line 5282 "regression-compile-tmp/imp918s.imp"
LOAD(OPND1, (-1), 2);
                                                                //   5283           LOAD(OPND2,-2,1)
#line 5283 "regression-compile-tmp/imp918s.imp"
LOAD(OPND2, (-2), 1);
                                                                //   5284           %UNLESS OPND2_FLAG=9 %AND OPND2_D<0 %AND OPND2_XB>0 %THENSTART
#line 5284 "regression-compile-tmp/imp918s.imp"
if (((OPND2->FLAG) != (9))) goto L_04fc;
#line 5284 "regression-compile-tmp/imp918s.imp"
if (((OPND2->D) >= (0))) goto L_04fc;
#line 5284 "regression-compile-tmp/imp918s.imp"
if (((OPND2->XB) > (0))) goto L_04fd;
#line 5284 "regression-compile-tmp/imp918s.imp"
L_04fc:;
                                                                //   5285           FIND REG(GR1,C);       ! REG TO SHIFT BY (NOT GR0 !)
#line 5285 "regression-compile-tmp/imp918s.imp"
FINDREG(65807, &C);
                                                                //   5286           LOAD(OPND2,C,2); %FINISH;  ! LOAD SHIFTER ( OR MOVE OUT OF GR0)
#line 5286 "regression-compile-tmp/imp918s.imp"
LOAD(OPND2, C, 2);
#line 5286 "regression-compile-tmp/imp918s.imp"
L_04fd:;
                                                                //   5287           %FINISH;               ! CA NOW PLANT THE OPERATION
#line 5287 "regression-compile-tmp/imp918s.imp"
L_04fb:;
                                                                //   5288           PRX(X'80'+OPCODE,OPND1_XB,0,OPND2_XB,D*OPND2_D)
#line 5288 "regression-compile-tmp/imp918s.imp"
PRX((((int)(128)) + (OPCODE)), OPND1->XB, 0, OPND2->XB, (((int)(D)) * (OPND2->D)));
                                                                //   5289           REGISTER(OPND2_XB)=0 %IF D=0 %AND REGISTER(OPND2_XB)>=0
#line 5289 "regression-compile-tmp/imp918s.imp"
if (((D) != (0))) goto L_04fe;
#line 5289 "regression-compile-tmp/imp918s.imp"
if (((REGISTER[OPND2->XB]) < (0))) goto L_04fe;
#line 5289 "regression-compile-tmp/imp918s.imp"
REGISTER[OPND2->XB] = 0;
#line 5289 "regression-compile-tmp/imp918s.imp"
L_04fe:;
                                                                //   5290           ->Label100
#line 5290 "regression-compile-tmp/imp918s.imp"
goto U_1046;
                                                                //   5291  SW(19):                                ! MULT
#line 5291 "regression-compile-tmp/imp918s.imp"
sw12_SW_19:;
                                                                //   5292           ->Label151 %IF TYPE=2
#line 5292 "regression-compile-tmp/imp918s.imp"
if (((TYPE) != (2))) goto L_04ff;
#line 5292 "regression-compile-tmp/imp918s.imp"
goto U_1047;
#line 5292 "regression-compile-tmp/imp918s.imp"
L_04ff:;
                                                                //   5293           LOAD PAIR(1);                 ! 1ST OPERAND TO ODD MEMBER
#line 5293 "regression-compile-tmp/imp918s.imp"
LOADPAIR(1);
                                                                //   5294                                         ! 2ND OPERAND TESTED ALSO
                                                                //   5295           PUT
#line 5295 "regression-compile-tmp/imp918s.imp"
PUT();
                                                                //   5296           D=OPND1_XB+CHECKSP
#line 5296 "regression-compile-tmp/imp918s.imp"
D = (((unsigned char)(OPND1->XB)) + (CHECKSP));
                                                                //   5297           REGISTER(D)=0; FORGET(D)
#line 5297 "regression-compile-tmp/imp918s.imp"
REGISTER[D] = 0;
#line 5297 "regression-compile-tmp/imp918s.imp"
FORGET(D);
                                                                //   5298           %IF CHECKSP#0 %THEN %START
#line 5298 "regression-compile-tmp/imp918s.imp"
if (((CHECKSP) == (0))) goto L_0500;
                                                                //   5299           PRX(X'8F',OPND1_XB,0,0,32)
#line 5299 "regression-compile-tmp/imp918s.imp"
PRX(143, OPND1->XB, 0, 0, 32);
                                                                //   5300           %FINISH %ELSE OPND1_XB=OPND1_XB+1
#line 5300 "regression-compile-tmp/imp918s.imp"
goto L_0501;
#line 5300 "regression-compile-tmp/imp918s.imp"
L_0500:;
#line 5300 "regression-compile-tmp/imp918s.imp"
OPND1->XB = (((int)(OPND1->XB)) + (1));
#line 5300 "regression-compile-tmp/imp918s.imp"
L_0501:;
                                                                //   5301           ->Label100
#line 5301 "regression-compile-tmp/imp918s.imp"
goto U_1046;
                                                                //   5302  SW(20):                                ! INTEGER DIVISION
#line 5302 "regression-compile-tmp/imp918s.imp"
sw12_SW_20:;
                                                                //   5303           ->F24 %UNLESS TYPE=1
#line 5303 "regression-compile-tmp/imp918s.imp"
if (((TYPE) == (1))) goto L_0502;
#line 5303 "regression-compile-tmp/imp918s.imp"
goto U_1048;
#line 5303 "regression-compile-tmp/imp918s.imp"
L_0502:;
                                                                //   5304           ->Label211
#line 5304 "regression-compile-tmp/imp918s.imp"
goto U_1049;
                                                                //   5305  SW(21):                                ! NORMAL DIVISION
#line 5305 "regression-compile-tmp/imp918s.imp"
sw12_SW_21:;
                                                                //   5306           ->Label151 %IF TYPE=2
#line 5306 "regression-compile-tmp/imp918s.imp"
if (((TYPE) != (2))) goto L_0503;
#line 5306 "regression-compile-tmp/imp918s.imp"
goto U_1047;
#line 5306 "regression-compile-tmp/imp918s.imp"
L_0503:;
                                                                //   5307           WARN(LINE)
#line 5307 "regression-compile-tmp/imp918s.imp"
WARN(LINE);
                                                                //   5308  Label211:     LOAD PAIR(0);                 ! 1ST OPERAND TO EVEN REG
#line 5308 "regression-compile-tmp/imp918s.imp"
U_1049:;
#line 5308 "regression-compile-tmp/imp918s.imp"
LOADPAIR(0);
                                                                //   5309           PRX(X'8E',OPND1_XB,0,0,32);   ! SRDA
#line 5309 "regression-compile-tmp/imp918s.imp"
PRX(142, OPND1->XB, 0, 0, 32);
                                                                //   5310           CCSTATE=-1
#line 5310 "regression-compile-tmp/imp918s.imp"
CCSTATE = (-1);
                                                                //   5311           PUT; D=OPND1_XB
#line 5311 "regression-compile-tmp/imp918s.imp"
PUT();
#line 5311 "regression-compile-tmp/imp918s.imp"
D = OPND1->XB;
                                                                //   5312           %IF CHECKSP=1 %AND JJ=21 %THEN %START
#line 5312 "regression-compile-tmp/imp918s.imp"
if (((CHECKSP) != (1))) goto L_0504;
#line 5312 "regression-compile-tmp/imp918s.imp"
if (((JJ) != (21))) goto L_0504;
                                                                //   5313           PRR(X'12',D,D)
#line 5313 "regression-compile-tmp/imp918s.imp"
PRR(18, D, D);
                                                                //   5314           PCONST(X'4770C040'); %FINISH
#line 5314 "regression-compile-tmp/imp918s.imp"
PCONST(1198571584);
#line 5314 "regression-compile-tmp/imp918s.imp"
L_0504:;
                                                                //   5315           REGISTER(D)=0; FORGET(D)
#line 5315 "regression-compile-tmp/imp918s.imp"
REGISTER[D] = 0;
#line 5315 "regression-compile-tmp/imp918s.imp"
FORGET(D);
                                                                //   5316           OPND1_XB=D+1; ->Label100
#line 5316 "regression-compile-tmp/imp918s.imp"
OPND1->XB = (((int)(D)) + (1));
#line 5316 "regression-compile-tmp/imp918s.imp"
goto U_1046;
                                                                //   5317  SW(25):                                ! EXP
#line 5317 "regression-compile-tmp/imp918s.imp"
sw12_SW_25:;
                                                                //   5318           STARSTAR; ->Label100
#line 5318 "regression-compile-tmp/imp918s.imp"
STARSTAR();
#line 5318 "regression-compile-tmp/imp918s.imp"
goto U_1046;
                                                                //   5319  SW(26):                                ! COMPARISONS
#line 5319 "regression-compile-tmp/imp918s.imp"
sw12_SW_26:;
                                                                //   5320  SW(27):                                ! LOGICAL COMPARISONS (IE=&7=)
#line 5320 "regression-compile-tmp/imp918s.imp"
sw12_SW_27:;
                                                                //   5321           PTYPE=OPND1_PTYPE;! UNPACK
#line 5321 "regression-compile-tmp/imp918s.imp"
PTYPE = OPND1->PTYPE;
                                                                //   5322  !%if USE MC = 1 %start
                                                                //   5323  !            *L_1,PTYPE; *CVD_1,0(11)
                                                                //   5324  !            *UNPK_ROUT(5),5(3,11)
                                                                //   5325  !            *NC_ROUT(5),MASK1
                                                                //   5326  !%finish
                                                                //   5327           -> BC %IF PREC=1 %AND OPND2_FLAG=0
#line 5327 "regression-compile-tmp/imp918s.imp"
if (((PREC) != (1))) goto L_0505;
#line 5327 "regression-compile-tmp/imp918s.imp"
if (((OPND2->FLAG) != (0))) goto L_0505;
#line 5327 "regression-compile-tmp/imp918s.imp"
goto U_104a;
#line 5327 "regression-compile-tmp/imp918s.imp"
L_0505:;
                                                                //   5328           LOAD(OPND1,-1,0) %UNLESS OPND1_FLAG<=2 %AND ARR=0=OPND1_XB
#line 5328 "regression-compile-tmp/imp918s.imp"
if (((OPND1->FLAG) > (2))) goto L_0506;
#line 5328 "regression-compile-tmp/imp918s.imp"
if ((((ARR) != (0))) || (((0) == (OPND1->XB)))) goto L_0507;
#line 5328 "regression-compile-tmp/imp918s.imp"
L_0506:;
#line 5328 "regression-compile-tmp/imp918s.imp"
LOAD(OPND1, (-1), 0);
#line 5328 "regression-compile-tmp/imp918s.imp"
L_0507:;
                                                                //   5329  CNORM:
#line 5329 "regression-compile-tmp/imp918s.imp"
U_104b:;
                                                                //   5330           ->Z1 %IF OPND1_FLAG=0=OPND1_D %ORC
#line 5330 "regression-compile-tmp/imp918s.imp"
if ((((OPND1->FLAG) != (0))) || (((0) == (OPND1->D)))) goto L_0509;
#line 5330 "regression-compile-tmp/imp918s.imp"
L_0508:;
#line 5330 "regression-compile-tmp/imp918s.imp"
if (((OPND1->FLAG) != (9))) goto L_050a;
#line 5330 "regression-compile-tmp/imp918s.imp"
if (((OPND1->XB) != (12))) goto L_050a;
#line 5330 "regression-compile-tmp/imp918s.imp"
if (((OPND1->D) != (192))) goto L_050a;
#line 5330 "regression-compile-tmp/imp918s.imp"
L_0509:;
#line 5330 "regression-compile-tmp/imp918s.imp"
goto U_104c;
#line 5330 "regression-compile-tmp/imp918s.imp"
L_050a:;
                                                                //   5331           (OPND1_FLAG=9 %AND OPND1_XB=CODER %AND OPND1_D=X'C0')
                                                                //   5332           -> Z2 %IF OPND2_FLAG=0=OPND2_D %ORC
#line 5332 "regression-compile-tmp/imp918s.imp"
if ((((OPND2->FLAG) != (0))) || (((0) == (OPND2->D)))) goto L_050c;
#line 5332 "regression-compile-tmp/imp918s.imp"
L_050b:;
#line 5332 "regression-compile-tmp/imp918s.imp"
if (((OPND2->FLAG) != (9))) goto L_050d;
#line 5332 "regression-compile-tmp/imp918s.imp"
if (((OPND2->XB) != (12))) goto L_050d;
#line 5332 "regression-compile-tmp/imp918s.imp"
if (((OPND2->D) != (192))) goto L_050d;
#line 5332 "regression-compile-tmp/imp918s.imp"
L_050c:;
#line 5332 "regression-compile-tmp/imp918s.imp"
goto U_104d;
#line 5332 "regression-compile-tmp/imp918s.imp"
L_050d:;
                                                                //   5333           (OPND2_FLAG=9 %AND OPND2_XB=CODER %AND OPND2_D=X'C0')
                                                                //   5334           -> RX %UNLESS JJ=27 %OR PREC=1
#line 5334 "regression-compile-tmp/imp918s.imp"
if (((JJ) == (27))) goto L_050e;
#line 5334 "regression-compile-tmp/imp918s.imp"
if (((PREC) == (1))) goto L_050e;
#line 5334 "regression-compile-tmp/imp918s.imp"
goto U_104e;
#line 5334 "regression-compile-tmp/imp918s.imp"
L_050e:;
                                                                //   5335           LOAD(OPND2,-1,3) %IF OPND2_FLAG<7;! IN CASE BOTH OPERANDS ARE FNS
#line 5335 "regression-compile-tmp/imp918s.imp"
if (((OPND2->FLAG) >= (7))) goto L_050f;
#line 5335 "regression-compile-tmp/imp918s.imp"
LOAD(OPND2, (-1), 3);
#line 5335 "regression-compile-tmp/imp918s.imp"
L_050f:;
                                                                //   5336           LOAD(OPND1,-1,3) %IF OPND1_FLAG<7
#line 5336 "regression-compile-tmp/imp918s.imp"
if (((OPND1->FLAG) >= (7))) goto L_0510;
#line 5336 "regression-compile-tmp/imp918s.imp"
LOAD(OPND1, (-1), 3);
#line 5336 "regression-compile-tmp/imp918s.imp"
L_0510:;
                                                                //   5337           -> RX %UNLESS OPND1_PTYPE=OPND2_PTYPE %AND 0<=OPND1_D<=4095 %C
#line 5337 "regression-compile-tmp/imp918s.imp"
if (((OPND1->PTYPE) != (OPND2->PTYPE))) goto L_0511;
#line 5337 "regression-compile-tmp/imp918s.imp"
if ((((0) > (OPND1->D))) || (((OPND1->D) > (4095)))) goto L_0511;
#line 5337 "regression-compile-tmp/imp918s.imp"
if ((((0) > (OPND2->D))) || (((OPND2->D) > (4095)))) goto L_0511;
#line 5337 "regression-compile-tmp/imp918s.imp"
if ((((OPND1->XB) >= (16))) || (((16) > (OPND2->XB)))) goto L_0512;
#line 5337 "regression-compile-tmp/imp918s.imp"
L_0511:;
#line 5337 "regression-compile-tmp/imp918s.imp"
goto U_104e;
#line 5337 "regression-compile-tmp/imp918s.imp"
L_0512:;
                                                                //   5338           %AND 0<=OPND2_D<=4095 %AND OPND1_XB<16>OPND2_XB
                                                                //   5339           CCSTATE=-1
#line 5339 "regression-compile-tmp/imp918s.imp"
CCSTATE = (-1);
                                                                //   5340           PSS(X'D5',BYTES(PREC),OPND1_XB,OPND1_D,OPND2_XB,OPND2_D)
#line 5340 "regression-compile-tmp/imp918s.imp"
PSS(213, BYTES[PREC], OPND1->XB, OPND1->D, OPND2->XB, OPND2->D);
                                                                //   5341           UNRESERVE(OPND2_XB)
#line 5341 "regression-compile-tmp/imp918s.imp"
UNRESERVE(OPND2->XB);
                                                                //   5342  Z5:      UNRESERVE(OPND1_XB); ->Z4
#line 5342 "regression-compile-tmp/imp918s.imp"
U_104f:;
#line 5342 "regression-compile-tmp/imp918s.imp"
UNRESERVE(OPND1->XB);
#line 5342 "regression-compile-tmp/imp918s.imp"
goto U_1050;
                                                                //   5343  RX:      LOAD(OPND2,-1,1)
#line 5343 "regression-compile-tmp/imp918s.imp"
U_104e:;
#line 5343 "regression-compile-tmp/imp918s.imp"
LOAD(OPND2, (-1), 1);
                                                                //   5344           LOAD(OPND1,-1,2)
#line 5344 "regression-compile-tmp/imp918s.imp"
LOAD(OPND1, (-1), 2);
                                                                //   5345           CCSTATE=-1
#line 5345 "regression-compile-tmp/imp918s.imp"
CCSTATE = (-1);
                                                                //   5346           PUT
#line 5346 "regression-compile-tmp/imp918s.imp"
PUT();
                                                                //   5347  Z4:
#line 5347 "regression-compile-tmp/imp918s.imp"
U_1050:;
                                                                //   5348           BFFLAG=COMM-1;                ! NOTE BACKWARDS OR FORWARDS
#line 5348 "regression-compile-tmp/imp918s.imp"
BFFLAG = (((int)(COMM)) - (1));
                                                                //   5349           COMM=2; ->Label101;               ! 2ND OPERAND MAY BE NEEDED IN
#line 5349 "regression-compile-tmp/imp918s.imp"
COMM = 2;
#line 5349 "regression-compile-tmp/imp918s.imp"
goto U_1045;
                                                                //   5350                                         ! DOUBLE SIDED AND IS THEREFORE
                                                                //   5351                                         ! TAKEN AS THE 'RESULT'
                                                                //   5352  Z1:      COMM=3-COMM;                  ! SWITCH AROUND OPERANDS
#line 5352 "regression-compile-tmp/imp918s.imp"
U_104c:;
#line 5352 "regression-compile-tmp/imp918s.imp"
COMM = (((int)(3)) - (COMM));
                                                                //   5353           OPND1==OPND2
#line 5353 "regression-compile-tmp/imp918s.imp"
OPND1 = OPND2;
                                                                //   5354           OPND2==RECORD(ADDR(ASLIST(OPERAND(3-COMM))))
#line 5354 "regression-compile-tmp/imp918s.imp"
OPND2 =  (RD *) _imp_RECORD(_imp_ADDR(&ASLIST[OPERAND[(((int)((((int)(3)) - (COMM)))) - (1))]]));
                                                                //   5355  Z2:
#line 5355 "regression-compile-tmp/imp918s.imp"
U_104d:;
                                                                //   5356           LOAD(OPND1,-1,2)
#line 5356 "regression-compile-tmp/imp918s.imp"
LOAD(OPND1, (-1), 2);
                                                                //   5357           D=FROM1(OPERAND(COMM))>>8&15
#line 5357 "regression-compile-tmp/imp918s.imp"
D = (((int)((((unsigned int)(FROM1(OPERAND[(((int)(COMM)) - (1))]))) >> (8)))) & (15));
                                                                //   5358           C=(TYPE&2)<<3+D
#line 5358 "regression-compile-tmp/imp918s.imp"
C = (((int)(((((TYPE) & (2))) << (3)))) + (D));
                                                                //   5359           REGISTER(C)=0 %IF REGISTER(C)>0
#line 5359 "regression-compile-tmp/imp918s.imp"
if (((REGISTER[C]) <= (0))) goto L_0513;
#line 5359 "regression-compile-tmp/imp918s.imp"
REGISTER[C] = 0;
#line 5359 "regression-compile-tmp/imp918s.imp"
L_0513:;
                                                                //   5360           -> Z4 %IF 1<<16!C=CCSTATE;      ! CONDITION CODE ALREADY SET
#line 5360 "regression-compile-tmp/imp918s.imp"
if (((((((1) << (16))) | (C))) != (CCSTATE))) goto L_0514;
#line 5360 "regression-compile-tmp/imp918s.imp"
goto U_1050;
#line 5360 "regression-compile-tmp/imp918s.imp"
L_0514:;
                                                                //   5361           ->Z4 %IF JJ=27 %AND 2<<16!C=CCSTATE;! CC WILL DO
#line 5361 "regression-compile-tmp/imp918s.imp"
if (((JJ) != (27))) goto L_0515;
#line 5361 "regression-compile-tmp/imp918s.imp"
if (((((((2) << (16))) | (C))) != (CCSTATE))) goto L_0515;
#line 5361 "regression-compile-tmp/imp918s.imp"
goto U_1050;
#line 5361 "regression-compile-tmp/imp918s.imp"
L_0515:;
                                                                //   5362           PRR((TYPE-1)*(2-PREC>>1)*16+X'12',D,D)
#line 5362 "regression-compile-tmp/imp918s.imp"
PRR((((int)((((int)(((((((int)(TYPE)) - (1)))) * (((2) - ((int)((unsigned char)((((unsigned char)(PREC)) >> (1)))))))))) * (16)))) + (18)), D, D);
                                                                //   5363           CCSTATE=1<<16!C; ->Z4
#line 5363 "regression-compile-tmp/imp918s.imp"
CCSTATE = ((((1) << (16))) | (C));
#line 5363 "regression-compile-tmp/imp918s.imp"
goto U_1050;
                                                                //   5364  BC:                                    ! BYTE/CONSTANT COMPARISONS
#line 5364 "regression-compile-tmp/imp918s.imp"
U_104a:;
                                                                //   5365           LOAD(OPND1,-1,3)
#line 5365 "regression-compile-tmp/imp918s.imp"
LOAD(OPND1, (-1), 3);
                                                                //   5366           -> CNORM %UNLESS OPND1_PTYPE=11 %AND %C
#line 5366 "regression-compile-tmp/imp918s.imp"
if (((OPND1->PTYPE) != (11))) goto L_0516;
#line 5366 "regression-compile-tmp/imp918s.imp"
if ((((0) > (OPND1->D))) || (((OPND1->D) > (4095)))) goto L_0516;
#line 5366 "regression-compile-tmp/imp918s.imp"
if (((OPND2->D) <= (255))) goto L_0517;
#line 5366 "regression-compile-tmp/imp918s.imp"
L_0516:;
#line 5366 "regression-compile-tmp/imp918s.imp"
goto U_104b;
#line 5366 "regression-compile-tmp/imp918s.imp"
L_0517:;
                                                                //   5367           0<=OPND1_D<=4095 %AND OPND2_D<=255
                                                                //   5368           NEST=OPND1_XB; D=NEST>>4; NEST=NEST&15
#line 5368 "regression-compile-tmp/imp918s.imp"
NEST = OPND1->XB;
#line 5368 "regression-compile-tmp/imp918s.imp"
D = (int)((((unsigned int)(NEST)) >> (4)));
#line 5368 "regression-compile-tmp/imp918s.imp"
NEST = ((NEST) & (15));
                                                                //   5369           %IF D>0 %THEN %START
#line 5369 "regression-compile-tmp/imp918s.imp"
if (((D) <= (0))) goto L_0518;
                                                                //   5370           %IF 1#REGISTER(D)>=0 %AND GRUSE(D)<=1 %THENC
#line 5370 "regression-compile-tmp/imp918s.imp"
if ((((1) == (REGISTER[D]))) || (((REGISTER[D]) < (0)))) goto L_0519;
#line 5370 "regression-compile-tmp/imp918s.imp"
if (((GRUSE[D]) > (1))) goto L_0519;
#line 5370 "regression-compile-tmp/imp918s.imp"
NEST = D;
#line 5370 "regression-compile-tmp/imp918s.imp"
goto L_051a;
#line 5370 "regression-compile-tmp/imp918s.imp"
L_0519:;
#line 5370 "regression-compile-tmp/imp918s.imp"
NEST = (-2);
#line 5370 "regression-compile-tmp/imp918s.imp"
L_051a:;
                                                                //   5371           NEST=D %ELSE NEST=-2; UNRESERVE(OPND1_XB)
#line 5371 "regression-compile-tmp/imp918s.imp"
UNRESERVE(OPND1->XB);
                                                                //   5372           DUMP(0,NEST,0,D,OPND1_XB&15); OPND1_XB=NEST;
#line 5372 "regression-compile-tmp/imp918s.imp"
DUMP(0, NEST, 0, D, ((OPND1->XB) & (15)));
#line 5372 "regression-compile-tmp/imp918s.imp"
OPND1->XB = NEST;
                                                                //   5373           FORGET(NEST); %FINISH
#line 5373 "regression-compile-tmp/imp918s.imp"
FORGET(NEST);
#line 5373 "regression-compile-tmp/imp918s.imp"
L_0518:;
                                                                //   5374           PSI(X'95',OPND2_D,NEST,OPND1_D)
#line 5374 "regression-compile-tmp/imp918s.imp"
PSI(149, OPND2->D, NEST, OPND1->D);
                                                                //   5375           CCSTATE=-1; -> Z5
#line 5375 "regression-compile-tmp/imp918s.imp"
CCSTATE = (-1);
#line 5375 "regression-compile-tmp/imp918s.imp"
goto U_104f;
                                                                //   5376  SW(28):                                ! SPECIAL MH FOR ARRAY ACCESS
#line 5376 "regression-compile-tmp/imp918s.imp"
sw12_SW_28:;
                                                                //   5377           %IF OPND1_FLAG=2 %AND OPND2_FLAG=0 %AND OPND2_D<=255%THENSTART
#line 5377 "regression-compile-tmp/imp918s.imp"
if (((OPND1->FLAG) != (2))) goto L_051b;
#line 5377 "regression-compile-tmp/imp918s.imp"
if (((OPND2->FLAG) != (0))) goto L_051b;
#line 5377 "regression-compile-tmp/imp918s.imp"
if (((OPND2->D) > (255))) goto L_051b;
                                                                //   5378              E=OPND1_D; D=TAGS(A(E))
#line 5378 "regression-compile-tmp/imp918s.imp"
E = OPND1->D;
#line 5378 "regression-compile-tmp/imp918s.imp"
D = TAGS[A[((E) + ((int)(7)))]];
                                                                //   5379              FIND USE(C,1,9,OPND2_D<<24!D)
#line 5379 "regression-compile-tmp/imp918s.imp"
FINDUSE(&C, 1, 9, ((((OPND2->D) << (24))) | (D)));
                                                                //   5380              %IF C>0 %AND A(E+1)=2=A(E+2) %START
#line 5380 "regression-compile-tmp/imp918s.imp"
if (((C) <= (0))) goto L_051c;
#line 5380 "regression-compile-tmp/imp918s.imp"
if ((((A[(((unsigned char)((((int)(E)) + (1)))) + (7))]) != (2))) || (((2) != (A[(((unsigned char)((((int)(E)) + (2)))) + (7))])))) goto L_051c;
                                                                //   5381                 OPND1_FLAG=9; OPND1_XB=C; OPND1_D=-2; ->Label101
#line 5381 "regression-compile-tmp/imp918s.imp"
OPND1->FLAG = 9;
#line 5381 "regression-compile-tmp/imp918s.imp"
OPND1->XB = C;
#line 5381 "regression-compile-tmp/imp918s.imp"
OPND1->D = (-2);
#line 5381 "regression-compile-tmp/imp918s.imp"
goto U_1045;
                                                                //   5382              %FINISH
#line 5382 "regression-compile-tmp/imp918s.imp"
L_051c:;
                                                                //   5383           %FINISH
#line 5383 "regression-compile-tmp/imp918s.imp"
L_051b:;
                                                                //   5384           LOAD(OPND1,-1,2);                 ! LOAD TO ANY REGISTER
#line 5384 "regression-compile-tmp/imp918s.imp"
LOAD(OPND1, (-1), 2);
                                                                //   5385           ->Label2801 %IF OPND2_FLAG=0;      ! CONSTANT SO OPTIMISE
#line 5385 "regression-compile-tmp/imp918s.imp"
if (((OPND2->FLAG) != (0))) goto L_051d;
#line 5385 "regression-compile-tmp/imp918s.imp"
goto U_1051;
#line 5385 "regression-compile-tmp/imp918s.imp"
L_051d:;
                                                                //   5386           LOAD(OPND2,-1,3);                 ! LOAD DV POINTER
#line 5386 "regression-compile-tmp/imp918s.imp"
LOAD(OPND2, (-1), 3);
                                                                //   5387           LOAD(OPND1,-1,2);                  ! LOAD OF DVBASE MAY DUMP OPND!
#line 5387 "regression-compile-tmp/imp918s.imp"
LOAD(OPND1, (-1), 2);
                                                                //   5388           PUT; ->Label100
#line 5388 "regression-compile-tmp/imp918s.imp"
PUT();
#line 5388 "regression-compile-tmp/imp918s.imp"
goto U_1046;
                                                                //   5389  Label2801:    D=OPND2_D; C=OPND1_XB
#line 5389 "regression-compile-tmp/imp918s.imp"
U_1051:;
#line 5389 "regression-compile-tmp/imp918s.imp"
D = OPND2->D;
#line 5389 "regression-compile-tmp/imp918s.imp"
C = OPND1->XB;
                                                                //   5390           %IF D=2 %THEN PRR(X'1A',C,C)  %AND CCSTATE=-1 %ELSE %START
#line 5390 "regression-compile-tmp/imp918s.imp"
if (((D) != (2))) goto L_051e;
#line 5390 "regression-compile-tmp/imp918s.imp"
PRR(26, C, C);
#line 5390 "regression-compile-tmp/imp918s.imp"
CCSTATE = (-1);
#line 5390 "regression-compile-tmp/imp918s.imp"
goto L_051f;
#line 5390 "regression-compile-tmp/imp918s.imp"
L_051e:;
                                                                //   5391           %IF D=4 %OR D=8 %THEN PRX(X'89',C,0,0,2!D>>3) %ELSESTART
#line 5391 "regression-compile-tmp/imp918s.imp"
if (((D) == (4))) goto L_0520;
#line 5391 "regression-compile-tmp/imp918s.imp"
if (((D) != (8))) goto L_0521;
#line 5391 "regression-compile-tmp/imp918s.imp"
L_0520:;
#line 5391 "regression-compile-tmp/imp918s.imp"
PRX(137, C, 0, 0, ((2) | ((int)((((unsigned int)(D)) >> (3))))));
#line 5391 "regression-compile-tmp/imp918s.imp"
goto L_0522;
#line 5391 "regression-compile-tmp/imp918s.imp"
L_0521:;
                                                                //   5392           STORE CONST(KK,JJ,2,ADDR(D)+2)
#line 5392 "regression-compile-tmp/imp918s.imp"
STORECONST(&KK, &JJ, 2, (((int)(_imp_ADDR(&D))) + (2)));
                                                                //   5393           DUMP(X'4C',C,JJ,0,KK)
#line 5393 "regression-compile-tmp/imp918s.imp"
DUMP(76, C, JJ, 0, KK);
                                                                //   5394           %FINISH; %FINISH
#line 5394 "regression-compile-tmp/imp918s.imp"
L_0522:;
#line 5394 "regression-compile-tmp/imp918s.imp"
L_051f:;
                                                                //   5395           REGISTER(C)=0
#line 5395 "regression-compile-tmp/imp918s.imp"
REGISTER[C] = 0;
                                                                //   5396           %IF GRUSE(C)#3 %OR D>255 %THEN ->Label100
#line 5396 "regression-compile-tmp/imp918s.imp"
if (((GRUSE[C]) != (3))) goto L_0523;
#line 5396 "regression-compile-tmp/imp918s.imp"
if (((D) <= (255))) goto L_0524;
#line 5396 "regression-compile-tmp/imp918s.imp"
L_0523:;
#line 5396 "regression-compile-tmp/imp918s.imp"
goto U_1046;
#line 5396 "regression-compile-tmp/imp918s.imp"
L_0524:;
                                                                //   5397           SET USE(C,9,D<<24!GRINF(C)); ->Label101
#line 5397 "regression-compile-tmp/imp918s.imp"
SETUSE(C, 9, ((((D) << (24))) | (GRINF[C])));
#line 5397 "regression-compile-tmp/imp918s.imp"
goto U_1045;
                                                                //   5398  
                                                                //   5399  SW(29):                                   ! ->LAB MASKS AND LAB AS OPND2
#line 5399 "regression-compile-tmp/imp918s.imp"
sw12_SW_29:;
                                                                //   5400                                            ! OPND1 MIDDLE OF D-SIDED
                                                                //   5401           LOAD(OPND1,-1,0) %IF INHEAD#0;       ! PROTECT MIDDLE OPND IN DSIDED
#line 5401 "regression-compile-tmp/imp918s.imp"
if (((INHEAD) == (0))) goto L_0525;
#line 5401 "regression-compile-tmp/imp918s.imp"
LOAD(OPND1, (-1), 0);
#line 5401 "regression-compile-tmp/imp918s.imp"
L_0525:;
                                                                //   5402           C=OPND2_XB>>(4*BFFLAG)
#line 5402 "regression-compile-tmp/imp918s.imp"
C = (unsigned char)((((unsigned char)(OPND2->XB)) >> (((4) * ((int)(BFFLAG))))));
                                                                //   5403           ENTER JUMP(C&15,OPND2_D,B'11')
#line 5403 "regression-compile-tmp/imp918s.imp"
ENTERJUMP(((C) & (15)), OPND2->D, 3);
                                                                //   5404           ->Label101;                           ! RETURN MIDDLE OPND AS RESULT
#line 5404 "regression-compile-tmp/imp918s.imp"
goto U_1045;
                                                                //   5405  SW(30):                                   ! ASSIGN(=)
#line 5405 "regression-compile-tmp/imp918s.imp"
sw12_SW_30:;
                                                                //   5406  SW(31):                                   ! ASSIGN(<-)
#line 5406 "regression-compile-tmp/imp918s.imp"
sw12_SW_31:;
                                                                //   5407           PP=OPND2_D;                      ! SAVE POINTER TO NAME
#line 5407 "regression-compile-tmp/imp918s.imp"
PP = OPND2->D;
                                                                //   5408           PT=OPND2_PTYPE;                  ! AND ITS ORIGINAL PTYPE
#line 5408 "regression-compile-tmp/imp918s.imp"
PT = OPND2->PTYPE;
                                                                //   5409           D=OPND2_FLAG;                    ! SAVE NAME OR R-DESCRPTOR
#line 5409 "regression-compile-tmp/imp918s.imp"
D = OPND2->FLAG;
                                                                //   5410           LOAD(OPND1,-1,0) %UNLESS OPND1_FLAG<=2 %AND OPND1_XB=0 %C
#line 5410 "regression-compile-tmp/imp918s.imp"
if (((OPND1->FLAG) > (2))) goto L_0526;
#line 5410 "regression-compile-tmp/imp918s.imp"
if (((OPND1->XB) != (0))) goto L_0526;
#line 5410 "regression-compile-tmp/imp918s.imp"
if (((OPND1->PTYPE) < (100))) goto L_0527;
#line 5410 "regression-compile-tmp/imp918s.imp"
L_0526:;
#line 5410 "regression-compile-tmp/imp918s.imp"
LOAD(OPND1, (-1), 0);
#line 5410 "regression-compile-tmp/imp918s.imp"
L_0527:;
                                                                //   5411                 %AND OPND1_PTYPE<100;   ! DEAL WITH NASTY RH SIDES
                                                                //   5412           LOAD(OPND2,-1,4);                    ! GET ADDRESS FOR LHS
#line 5412 "regression-compile-tmp/imp918s.imp"
LOAD(OPND2, (-1), 4);
                                                                //   5413           ->MVI %IF TYPE=1 %AND PREC=1 %AND OPND1_FLAG=0 %AND %C
#line 5413 "regression-compile-tmp/imp918s.imp"
if (((TYPE) != (1))) goto L_0528;
#line 5413 "regression-compile-tmp/imp918s.imp"
if (((PREC) != (1))) goto L_0528;
#line 5413 "regression-compile-tmp/imp918s.imp"
if (((OPND1->FLAG) != (0))) goto L_0528;
#line 5413 "regression-compile-tmp/imp918s.imp"
if (((OPND1->D) > (255))) goto L_0528;
#line 5413 "regression-compile-tmp/imp918s.imp"
if (((OPND2->XB) >= (16))) goto L_0528;
#line 5413 "regression-compile-tmp/imp918s.imp"
if (((OPND2->D) > (4095))) goto L_0528;
#line 5413 "regression-compile-tmp/imp918s.imp"
goto U_1052;
#line 5413 "regression-compile-tmp/imp918s.imp"
L_0528:;
                                                                //   5414              OPND1_D<=255 %AND OPND2_XB<16 %AND OPND2_D<=4095
                                                                //   5415           %IF OPND1_FLAG#0 %AND OPND2_XB<16 %AND 0<=OPND2_D<=4095 %C
#line 5415 "regression-compile-tmp/imp918s.imp"
if (((OPND1->FLAG) == (0))) goto L_0529;
#line 5415 "regression-compile-tmp/imp918s.imp"
if (((OPND2->XB) >= (16))) goto L_0529;
#line 5415 "regression-compile-tmp/imp918s.imp"
if ((((0) > (OPND2->D))) || (((OPND2->D) > (4095)))) goto L_0529;
#line 5415 "regression-compile-tmp/imp918s.imp"
if (((OPND2->PTYPE) != (((OPND1->PTYPE) - ((short)(((100) * (((long)((long)((short)(OPND1->PTYPE)) / (long)((int)(100)))))))))))) goto L_0529;
                                                                //   5416              %AND OPND2_PTYPE=OPND1_PTYPE-100*(OPND1_PTYPE//100) %START
                                                                //   5417              LOAD(OPND1,-1,3) %IF OPND1_FLAG<7;! STILL TRYING TO LEAVE RHS
#line 5417 "regression-compile-tmp/imp918s.imp"
if (((OPND1->FLAG) >= (7))) goto L_052a;
#line 5417 "regression-compile-tmp/imp918s.imp"
LOAD(OPND1, (-1), 3);
#line 5417 "regression-compile-tmp/imp918s.imp"
L_052a:;
                                                                //   5418           ->MVC %IF OPND2_PTYPE=OPND1_PTYPE %AND  %C
#line 5418 "regression-compile-tmp/imp918s.imp"
if (((OPND2->PTYPE) != (OPND1->PTYPE))) goto L_052b;
#line 5418 "regression-compile-tmp/imp918s.imp"
if ((((0) > (OPND1->D))) || (((OPND1->D) > (4095)))) goto L_052b;
#line 5418 "regression-compile-tmp/imp918s.imp"
if (((16) <= (OPND1->XB))) goto L_052b;
#line 5418 "regression-compile-tmp/imp918s.imp"
goto U_1053;
#line 5418 "regression-compile-tmp/imp918s.imp"
L_052b:;
                                                                //   5419            0<=OPND1_D<=4095 %AND 16>OPND1_XB
                                                                //   5420           %FINISH
#line 5420 "regression-compile-tmp/imp918s.imp"
L_0529:;
                                                                //   5421  ! ALL ATTEMPTS AT SHORT CUTTING HAVE FAILED SO ASSIGN NORMALLY
                                                                //   5422  ! IF LHS ALREADY IN A REGISTER IT IS BEST TO USE THAT REGISTER
                                                                //   5423  ! FOR ASSIGNMENT(UNLESS RHS ALREADY IN A DIFFERENT REGISTER).
                                                                //   5424  ! THIS SAVES A REGISTER WHEN COMPILING 'K=0 %IF K<0' ETC.
                                                                //   5425  ! IT IS RATHER A TEDIOUS SEARCH SO IT IS OMITTED IN NON OPTIMISING MODE
                                                                //   5426           JJJ=-1
#line 5426 "regression-compile-tmp/imp918s.imp"
JJJ = (-1);
                                                                //   5427           %IF CHECKSP=0 %AND OPND1_D>=0 %AND PT<3 %AND D=2 %THENSTART
#line 5427 "regression-compile-tmp/imp918s.imp"
if (((CHECKSP) != (0))) goto L_052c;
#line 5427 "regression-compile-tmp/imp918s.imp"
if (((OPND1->D) < (0))) goto L_052c;
#line 5427 "regression-compile-tmp/imp918s.imp"
if (((PT) >= (3))) goto L_052c;
#line 5427 "regression-compile-tmp/imp918s.imp"
if (((D) != (2))) goto L_052c;
                                                                //   5428              C=TAGS(A(PP));                   ! TAGS OF LHS
#line 5428 "regression-compile-tmp/imp918s.imp"
C = TAGS[A[((PP) + ((int)(7)))]];
                                                                //   5429              FIND USE(KK,PT,3,C)
#line 5429 "regression-compile-tmp/imp918s.imp"
FINDUSE(&KK, PT, 3, C);
                                                                //   5430              %IF KK>=0 %AND REGISTER(KK)=0 %THEN JJJ=KK&15
#line 5430 "regression-compile-tmp/imp918s.imp"
if (((KK) < (0))) goto L_052d;
#line 5430 "regression-compile-tmp/imp918s.imp"
if (((REGISTER[KK]) != (0))) goto L_052d;
#line 5430 "regression-compile-tmp/imp918s.imp"
JJJ = ((KK) & (15));
#line 5430 "regression-compile-tmp/imp918s.imp"
L_052d:;
                                                                //   5431           %FINISH
#line 5431 "regression-compile-tmp/imp918s.imp"
L_052c:;
                                                                //   5432           LOAD(OPND1,JJJ,2);                   ! RHS TO REGISTER
#line 5432 "regression-compile-tmp/imp918s.imp"
LOAD(OPND1, JJJ, 2);
                                                                //   5433           PTYPE=OPND2_PTYPE;! UNPACK;       ! SET TYPE & PREC FOR LHS
#line 5433 "regression-compile-tmp/imp918s.imp"
PTYPE = OPND2->PTYPE;
                                                                //   5434  !%if USE MC = 1 %start
                                                                //   5435  !            *L_1,PTYPE; *CVD_1,0(11)
                                                                //   5436  !            *UNPK_ROUT(5),5(3,11)
                                                                //   5437  !            *NC_ROUT(5),MASK1
                                                                //   5438  !%finish
                                                                //   5439           JJJ=8*TYPE+2*(PREC&3)-7;         ! CODE FOR DUMP
#line 5439 "regression-compile-tmp/imp918s.imp"
JJJ = (((int)((((((8) * ((int)(TYPE))))) + (((2) * ((int)(((PREC) & (3))))))))) - (7));
                                                                //   5440           DUMP(JJJ,OPND1_XB,OPND2_D,OPND2_XB>>4,OPND2_XB&15)
#line 5440 "regression-compile-tmp/imp918s.imp"
DUMP(JJJ, OPND1->XB, OPND2->D, (unsigned char)((((unsigned char)(OPND2->XB)) >> (4))), ((OPND2->XB) & (15)));
                                                                //   5441           %IF JJ=30 %AND CHECKS=1 %THEN %C
#line 5441 "regression-compile-tmp/imp918s.imp"
if (((JJ) != (30))) goto L_052e;
#line 5441 "regression-compile-tmp/imp918s.imp"
if (((CHECKS) != (1))) goto L_052e;
#line 5441 "regression-compile-tmp/imp918s.imp"
CHECKCAPACITY(OPND1->XB, OPND2->D, (unsigned char)((((unsigned char)(OPND2->XB)) >> (4))), ((OPND2->XB) & (15)));
#line 5441 "regression-compile-tmp/imp918s.imp"
L_052e:;
                                                                //   5442           CHECK CAPACITY(OPND1_XB,OPND2_D,OPND2_XB>>4,OPND2_XB&15)
                                                                //   5443           JJJ=OPND1_XB
#line 5443 "regression-compile-tmp/imp918s.imp"
JJJ = OPND1->XB;
                                                                //   5444  NASS1:   UNRESERVE(OPND2_XB)
#line 5444 "regression-compile-tmp/imp918s.imp"
U_1054:;
#line 5444 "regression-compile-tmp/imp918s.imp"
UNRESERVE(OPND2->XB);
                                                                //   5445           PTYPE=PT;! UNPACK;                ! ORIGINAL PTYPE
#line 5445 "regression-compile-tmp/imp918s.imp"
PTYPE = PT;
                                                                //   5446  !%if USE MC = 1 %start
                                                                //   5447  !            *L_1,PTYPE; *CVD_1,0(11)
                                                                //   5448  !            *UNPK_ROUT(5),5(3,11)
                                                                //   5449  !            *NC_ROUT(5),MASK1
                                                                //   5450  !%finish
                                                                //   5451           COMM=1; ->Label101 %UNLESS D=2;       ! ASSGN TO NAME ONLY
#line 5451 "regression-compile-tmp/imp918s.imp"
COMM = 1;
#line 5451 "regression-compile-tmp/imp918s.imp"
if (((D) == (2))) goto L_052f;
#line 5451 "regression-compile-tmp/imp918s.imp"
goto U_1045;
#line 5451 "regression-compile-tmp/imp918s.imp"
L_052f:;
                                                                //   5452           %IF 1<=TYPE<=2 %AND ARR=0 %AND A(PP+1)=2=A(PP+2) %THEN %C
#line 5452 "regression-compile-tmp/imp918s.imp"
if ((((1) > (TYPE))) || (((TYPE) > (2)))) goto L_0530;
#line 5452 "regression-compile-tmp/imp918s.imp"
if (((ARR) != (0))) goto L_0530;
#line 5452 "regression-compile-tmp/imp918s.imp"
if ((((A[(((unsigned char)((((int)(PP)) + (1)))) + (7))]) != (2))) || (((2) != (A[(((unsigned char)((((int)(PP)) + (2)))) + (7))])))) goto L_0530;
#line 5452 "regression-compile-tmp/imp918s.imp"
NOTEASSMENT(JJJ, (((int)(JJ)) - (28)), A[((PP) + ((int)(7)))]);
#line 5452 "regression-compile-tmp/imp918s.imp"
L_0530:;
                                                                //   5453           NOTE ASSMENT(JJJ,JJ-28,A(PP))
                                                                //   5454           ->Label101;                           ! NORMAL EXIT FREES REG USED
#line 5454 "regression-compile-tmp/imp918s.imp"
goto U_1045;
                                                                //   5455  
                                                                //   5456  MVI:                                      ! ASSIGN CNST(<256) TO BYTE
#line 5456 "regression-compile-tmp/imp918s.imp"
U_1052:;
                                                                //   5457           PSI(X'92',OPND1_D,OPND2_XB,OPND2_D)
#line 5457 "regression-compile-tmp/imp918s.imp"
PSI(146, OPND1->D, OPND2->XB, OPND2->D);
                                                                //   5458  NASS2:   JJJ=-1; ->NASS1;                 ! ->NOTE ASSMENT(CAPACITY OK)
#line 5458 "regression-compile-tmp/imp918s.imp"
U_1055:;
#line 5458 "regression-compile-tmp/imp918s.imp"
JJJ = (-1);
#line 5458 "regression-compile-tmp/imp918s.imp"
goto U_1054;
                                                                //   5459  MVC:     PMVC(BYTES(PREC),OPND2_XB,OPND2_D,OPND1_XB,OPND1_D)
#line 5459 "regression-compile-tmp/imp918s.imp"
U_1053:;
#line 5459 "regression-compile-tmp/imp918s.imp"
PMVC(BYTES[PREC], OPND2->XB, OPND2->D, OPND1->XB, OPND1->D);
                                                                //   5460           UNRESERVE(OPND1_XB)
#line 5460 "regression-compile-tmp/imp918s.imp"
UNRESERVE(OPND1->XB);
                                                                //   5461           ->NASS2
#line 5461 "regression-compile-tmp/imp918s.imp"
goto U_1055;
                                                                //   5462  FINISH:  C=STK(STPTR-1)
#line 5462 "regression-compile-tmp/imp918s.imp"
U_1044:;
#line 5462 "regression-compile-tmp/imp918s.imp"
C = STK[(((int)(STPTR)) - (1))];
                                                                //   5463           OPERAND(1)=C
#line 5463 "regression-compile-tmp/imp918s.imp"
OPERAND[0] = C;
                                                                //   5464           OPND1==RECORD(ADDR(ASLIST(C)))
#line 5464 "regression-compile-tmp/imp918s.imp"
OPND1 =  (RD *) _imp_RECORD(_imp_ADDR(&ASLIST[C]));
                                                                //   5465           LOAD(OPND1,REG,2) %UNLESS RDFORM#0 %OR (OPND1_FLAG=9 %AND %C
#line 5465 "regression-compile-tmp/imp918s.imp"
if (((RDFORM) != (0))) goto L_0531;
#line 5465 "regression-compile-tmp/imp918s.imp"
if (((OPND1->FLAG) != (9))) goto L_0532;
#line 5465 "regression-compile-tmp/imp918s.imp"
if (((OPND1->D) >= (0))) goto L_0532;
#line 5465 "regression-compile-tmp/imp918s.imp"
if (((REG) < (0))) goto L_0531;
#line 5465 "regression-compile-tmp/imp918s.imp"
if (((REG) == (OPND1->XB))) goto L_0531;
#line 5465 "regression-compile-tmp/imp918s.imp"
L_0532:;
#line 5465 "regression-compile-tmp/imp918s.imp"
LOAD(OPND1, REG, 2);
#line 5465 "regression-compile-tmp/imp918s.imp"
L_0531:;
                                                                //   5466              OPND1_D<0 %AND (REG<0 %OR REG=OPND1_XB))
                                                                //   5467           PTYPE=OPND1_PTYPE
#line 5467 "regression-compile-tmp/imp918s.imp"
PTYPE = OPND1->PTYPE;
                                                                //   5468           NEST=-1
#line 5468 "regression-compile-tmp/imp918s.imp"
NEST = (-1);
                                                                //   5469          ! UNPACK
                                                                //   5470  !%if USE MC = 1 %start
                                                                //   5471  !            *L_1,PTYPE; *CVD_1,0(11)
                                                                //   5472  !            *UNPK_ROUT(5),5(3,11)
                                                                //   5473  !            *NC_ROUT(5),MASK1
                                                                //   5474  !%finish
                                                                //   5475           %IF OPND1_FLAG=9 %AND OPND1_D<0 %THEN %START
#line 5475 "regression-compile-tmp/imp918s.imp"
if (((OPND1->FLAG) != (9))) goto L_0533;
#line 5475 "regression-compile-tmp/imp918s.imp"
if (((OPND1->D) >= (0))) goto L_0533;
                                                                //   5476              NEST=OPND1_XB
#line 5476 "regression-compile-tmp/imp918s.imp"
NEST = OPND1->XB;
                                                                //   5477              %IF TYPE=2 %THEN NEST=NEST+16
#line 5477 "regression-compile-tmp/imp918s.imp"
if (((TYPE) != (2))) goto L_0534;
#line 5477 "regression-compile-tmp/imp918s.imp"
NEST = (((int)(NEST)) + (16));
#line 5477 "regression-compile-tmp/imp918s.imp"
L_0534:;
                                                                //   5478              %IF GRUSE(NEST)=1 %THEN GRINF(NEST)=0;! DONT POINT AT DEAD LIST
#line 5478 "regression-compile-tmp/imp918s.imp"
if (((GRUSE[NEST]) != (1))) goto L_0535;
#line 5478 "regression-compile-tmp/imp918s.imp"
GRINF[NEST] = 0;
#line 5478 "regression-compile-tmp/imp918s.imp"
L_0535:;
                                                                //   5479              NEST=OPND1_XB
#line 5479 "regression-compile-tmp/imp918s.imp"
NEST = OPND1->XB;
                                                                //   5480              %IF NEST=0 %AND ADDREXP=1 %THEN %START
#line 5480 "regression-compile-tmp/imp918s.imp"
if (((NEST) != (0))) goto L_0536;
#line 5480 "regression-compile-tmp/imp918s.imp"
if (((ADDREXP) != (1))) goto L_0536;
                                                                //   5481                 LOAD(OPND1,FINDR,2)
#line 5481 "regression-compile-tmp/imp918s.imp"
LOAD(OPND1, FINDR(), 2);
                                                                //   5482                 FORGET(0)
#line 5482 "regression-compile-tmp/imp918s.imp"
FORGET(0);
                                                                //   5483                 NEST=OPND1_XB
#line 5483 "regression-compile-tmp/imp918s.imp"
NEST = OPND1->XB;
                                                                //   5484              %FINISH
#line 5484 "regression-compile-tmp/imp918s.imp"
L_0536:;
                                                                //   5485              D=NEST+(TYPE&2)<<3
#line 5485 "regression-compile-tmp/imp918s.imp"
D = ((NEST) + ((int)(((((TYPE) & (2))) << (3)))));
                                                                //   5486              REGISTER(D)=0 %IF REGISTER(D)>0
#line 5486 "regression-compile-tmp/imp918s.imp"
if (((REGISTER[D]) <= (0))) goto L_0537;
#line 5486 "regression-compile-tmp/imp918s.imp"
REGISTER[D] = 0;
#line 5486 "regression-compile-tmp/imp918s.imp"
L_0537:;
                                                                //   5487           %FINISH
#line 5487 "regression-compile-tmp/imp918s.imp"
L_0533:;
                                                                //   5488           %RETURN
#line 5488 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   5489  !
                                                                //   5490           %INTEGERFN FINDR
#line 5490 "regression-compile-tmp/imp918s.imp"
int FINDR( void )
#line 5490 "regression-compile-tmp/imp918s.imp"
{
                                                                //   5491           %INTEGER I,J
#line 5491 "regression-compile-tmp/imp918s.imp"
int I;
#line 5491 "regression-compile-tmp/imp918s.imp"
int J;
                                                                //   5492           {%SHORTROUTINE}
                                                                //   5493           %IF REG>=0 %THEN %START
#line 5493 "regression-compile-tmp/imp918s.imp"
if (((REG) < (0))) goto L_0538;
                                                                //   5494           I=REG; ->Label1 %IF REGISTER(REG)=0; %FINISH
#line 5494 "regression-compile-tmp/imp918s.imp"
I = REG;
#line 5494 "regression-compile-tmp/imp918s.imp"
if (((REGISTER[REG]) != (0))) goto L_0539;
#line 5494 "regression-compile-tmp/imp918s.imp"
goto U_1056;
#line 5494 "regression-compile-tmp/imp918s.imp"
L_0539:;
#line 5494 "regression-compile-tmp/imp918s.imp"
L_0538:;
                                                                //   5495           %IF ADDREXP=1 %THEN J=GR1 %ELSE J=GR0
#line 5495 "regression-compile-tmp/imp918s.imp"
if (((ADDREXP) != (1))) goto L_053a;
#line 5495 "regression-compile-tmp/imp918s.imp"
J = 65807;
#line 5495 "regression-compile-tmp/imp918s.imp"
goto L_053b;
#line 5495 "regression-compile-tmp/imp918s.imp"
L_053a:;
#line 5495 "regression-compile-tmp/imp918s.imp"
J = 69406;
#line 5495 "regression-compile-tmp/imp918s.imp"
L_053b:;
                                                                //   5496           FIND REG(J,I)
#line 5496 "regression-compile-tmp/imp918s.imp"
FINDREG(J, &I);
                                                                //   5497  Label1:       REGISTER(I)=1;
#line 5497 "regression-compile-tmp/imp918s.imp"
U_1056:;
#line 5497 "regression-compile-tmp/imp918s.imp"
REGISTER[I] = 1;
                                                                //   5498           %RESULT=I
#line 5498 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return I;
                                                                //   5499           %END
#line 5499 "regression-compile-tmp/imp918s.imp"
} // End of block FINDR at level 4
                                                                //   5500           %ROUTINE CHOOSE(%INTEGERNAME CHOICE)
#line 5500 "regression-compile-tmp/imp918s.imp"
void CHOOSE( int /*name*/*CHOICE )
#line 5500 "regression-compile-tmp/imp918s.imp"
{
                                                                //   5501           {%SHORTROUTINE}
                                                                //   5502          %BYTEINTEGER X1,X2,F1,F2
#line 5502 "regression-compile-tmp/imp918s.imp"
unsigned char X1;
#line 5502 "regression-compile-tmp/imp918s.imp"
unsigned char X2;
#line 5502 "regression-compile-tmp/imp918s.imp"
unsigned char F1;
#line 5502 "regression-compile-tmp/imp918s.imp"
unsigned char F2;
                                                                //   5503           %RECORD(RD)%NAME OPND1,OPND2
#line 5503 "regression-compile-tmp/imp918s.imp"
 RD /*name*/*OPND1;
#line 5503 "regression-compile-tmp/imp918s.imp"
 RD /*name*/*OPND2;
                                                                //   5504           OPND1==RECORD(ADDR(ASLIST(OPERAND(1))))
#line 5504 "regression-compile-tmp/imp918s.imp"
OPND1 =  (RD *) _imp_RECORD(_imp_ADDR(&ASLIST[OPERAND[0]]));
                                                                //   5505           OPND2==RECORD(ADDR(ASLIST(OPERAND(2))))
#line 5505 "regression-compile-tmp/imp918s.imp"
OPND2 =  (RD *) _imp_RECORD(_imp_ADDR(&ASLIST[OPERAND[1]]));
                                                                //   5506           F1=OPND1_FLAG; F2=OPND2_FLAG
#line 5506 "regression-compile-tmp/imp918s.imp"
F1 = OPND1->FLAG;
#line 5506 "regression-compile-tmp/imp918s.imp"
F2 = OPND2->FLAG;
                                                                //   5507           X1=OPND1_XB; X2=OPND2_XB
#line 5507 "regression-compile-tmp/imp918s.imp"
X1 = OPND1->XB;
#line 5507 "regression-compile-tmp/imp918s.imp"
X2 = OPND2->XB;
                                                                //   5508           -> CHOS1 %IF F1=2 %AND (X1=1 %OR 1<X1=SPECREG)
#line 5508 "regression-compile-tmp/imp918s.imp"
if (((F1) != (2))) goto L_053c;
#line 5508 "regression-compile-tmp/imp918s.imp"
if (((X1) == (1))) goto L_053d;
#line 5508 "regression-compile-tmp/imp918s.imp"
if ((((1) >= (X1))) || (((X1) != (SPECREG)))) goto L_053c;
#line 5508 "regression-compile-tmp/imp918s.imp"
L_053d:;
#line 5508 "regression-compile-tmp/imp918s.imp"
goto U_1057;
#line 5508 "regression-compile-tmp/imp918s.imp"
L_053c:;
                                                                //   5509           -> CHOS2 %IF F2=2 %AND (X2=1 %OR 1<X2=SPECREG)
#line 5509 "regression-compile-tmp/imp918s.imp"
if (((F2) != (2))) goto L_053e;
#line 5509 "regression-compile-tmp/imp918s.imp"
if (((X2) == (1))) goto L_053f;
#line 5509 "regression-compile-tmp/imp918s.imp"
if ((((1) >= (X2))) || (((X2) != (SPECREG)))) goto L_053e;
#line 5509 "regression-compile-tmp/imp918s.imp"
L_053f:;
#line 5509 "regression-compile-tmp/imp918s.imp"
goto U_1058;
#line 5509 "regression-compile-tmp/imp918s.imp"
L_053e:;
                                                                //   5510           -> CHOS0 %IF F1>=7 %AND OPND1_D<0
#line 5510 "regression-compile-tmp/imp918s.imp"
if (((F1) < (7))) goto L_0540;
#line 5510 "regression-compile-tmp/imp918s.imp"
if (((OPND1->D) >= (0))) goto L_0540;
#line 5510 "regression-compile-tmp/imp918s.imp"
goto U_1059;
#line 5510 "regression-compile-tmp/imp918s.imp"
L_0540:;
                                                                //   5511           -> CHOS2 %IF F2>=7 %AND OPND2_D<0
#line 5511 "regression-compile-tmp/imp918s.imp"
if (((F2) < (7))) goto L_0541;
#line 5511 "regression-compile-tmp/imp918s.imp"
if (((OPND2->D) >= (0))) goto L_0541;
#line 5511 "regression-compile-tmp/imp918s.imp"
goto U_1058;
#line 5511 "regression-compile-tmp/imp918s.imp"
L_0541:;
                                                                //   5512           PTYPE=OPND1_PTYPE;! UNPACK
#line 5512 "regression-compile-tmp/imp918s.imp"
PTYPE = OPND1->PTYPE;
                                                                //   5513  !%if USE MC = 1 %start
                                                                //   5514  !            *L_1,PTYPE; *CVD_1,0(11)
                                                                //   5515  !            *UNPK_ROUT(5),5(3,11)
                                                                //   5516  !            *NC_ROUT(5),MASK1
                                                                //   5517  !%finish
                                                                //   5518           -> CHOS1 %IF PREC=1
#line 5518 "regression-compile-tmp/imp918s.imp"
if (((PREC) != (1))) goto L_0542;
#line 5518 "regression-compile-tmp/imp918s.imp"
goto U_1057;
#line 5518 "regression-compile-tmp/imp918s.imp"
L_0542:;
                                                                //   5519           PTYPE=OPND2_PTYPE;! UNPACK
#line 5519 "regression-compile-tmp/imp918s.imp"
PTYPE = OPND2->PTYPE;
                                                                //   5520  !%if USE MC = 1 %start
                                                                //   5521  !            *L_1,PTYPE; *CVD_1,0(11)
                                                                //   5522  !            *UNPK_ROUT(5),5(3,11)
                                                                //   5523  !            *NC_ROUT(5),MASK1
                                                                //   5524  !%finish
                                                                //   5525           -> CHOS2 %IF PREC=1
#line 5525 "regression-compile-tmp/imp918s.imp"
if (((PREC) != (1))) goto L_0543;
#line 5525 "regression-compile-tmp/imp918s.imp"
goto U_1058;
#line 5525 "regression-compile-tmp/imp918s.imp"
L_0543:;
                                                                //   5526           -> CHOS1 %IF F1=0 %AND OPND1_D>3 %AND OPCODE#X'19'
#line 5526 "regression-compile-tmp/imp918s.imp"
if (((F1) != (0))) goto L_0544;
#line 5526 "regression-compile-tmp/imp918s.imp"
if (((OPND1->D) <= (3))) goto L_0544;
#line 5526 "regression-compile-tmp/imp918s.imp"
if (((OPCODE) == (25))) goto L_0544;
#line 5526 "regression-compile-tmp/imp918s.imp"
goto U_1057;
#line 5526 "regression-compile-tmp/imp918s.imp"
L_0544:;
                                                                //   5527           -> CHOS2 %IF F2=0 %AND OPND2_D>3 %AND OPCODE#X'19'
#line 5527 "regression-compile-tmp/imp918s.imp"
if (((F2) != (0))) goto L_0545;
#line 5527 "regression-compile-tmp/imp918s.imp"
if (((OPND2->D) <= (3))) goto L_0545;
#line 5527 "regression-compile-tmp/imp918s.imp"
if (((OPCODE) == (25))) goto L_0545;
#line 5527 "regression-compile-tmp/imp918s.imp"
goto U_1058;
#line 5527 "regression-compile-tmp/imp918s.imp"
L_0545:;
                                                                //   5528           -> CHOS2 %IF OPND2_PTYPE>OPND1_PTYPE
#line 5528 "regression-compile-tmp/imp918s.imp"
if (((OPND2->PTYPE) <= (OPND1->PTYPE))) goto L_0546;
#line 5528 "regression-compile-tmp/imp918s.imp"
goto U_1058;
#line 5528 "regression-compile-tmp/imp918s.imp"
L_0546:;
                                                                //   5529           -> CHOS2 %IF F2>F1
#line 5529 "regression-compile-tmp/imp918s.imp"
if (((F2) <= (F1))) goto L_0547;
#line 5529 "regression-compile-tmp/imp918s.imp"
goto U_1058;
#line 5529 "regression-compile-tmp/imp918s.imp"
L_0547:;
                                                                //   5530  CHOS1:   CHOICE=1; ->Label99
#line 5530 "regression-compile-tmp/imp918s.imp"
U_1057:;
#line 5530 "regression-compile-tmp/imp918s.imp"
*CHOICE = 1;
#line 5530 "regression-compile-tmp/imp918s.imp"
goto U_105a;
                                                                //   5531  CHOS0:   ->CHOS1 %UNLESS F2>7 %AND OPND2_D<0 %AND X2=REG
#line 5531 "regression-compile-tmp/imp918s.imp"
U_1059:;
#line 5531 "regression-compile-tmp/imp918s.imp"
if (((F2) <= (7))) goto L_0548;
#line 5531 "regression-compile-tmp/imp918s.imp"
if (((OPND2->D) >= (0))) goto L_0548;
#line 5531 "regression-compile-tmp/imp918s.imp"
if (((X2) == (REG))) goto L_0549;
#line 5531 "regression-compile-tmp/imp918s.imp"
L_0548:;
#line 5531 "regression-compile-tmp/imp918s.imp"
goto U_1057;
#line 5531 "regression-compile-tmp/imp918s.imp"
L_0549:;
                                                                //   5532  CHOS2:   CHOICE=2
#line 5532 "regression-compile-tmp/imp918s.imp"
U_1058:;
#line 5532 "regression-compile-tmp/imp918s.imp"
*CHOICE = 2;
                                                                //   5533  Label99:      %END
#line 5533 "regression-compile-tmp/imp918s.imp"
U_105a:;
#line 5533 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block CHOOSE at level 4
                                                                //   5534           %ROUTINE LOAD(%RECORD(RD)%NAME OPND,%INTEGER REG,MODE)
#line 5534 "regression-compile-tmp/imp918s.imp"
void LOAD(  RD /*name*/*OPND, int REG, int MODE )
#line 5534 "regression-compile-tmp/imp918s.imp"
{
                                                                //   5535  !***********************************************************************
                                                                //   5536  !*        MODE=0   LEAVE IN STORE IF POSSIBLE                          *
                                                                //   5537  !*        MODE=1 LEAVE IN STORE IF SUITABLE FOR RX INSTRUCTIONS        *
                                                                //   5538  !*        MODE=2 LOAD TO REGISTER REGARDLESS                           *
                                                                //   5539  !*        MODE=3 LEAVE IN STORE IF SUITABLE FOR CLC  INSTRUCTIONS      *
                                                                //   5540  !***********************************************************************
                                                                //   5541           {%SHORTROUTINE}
                                                                //   5542           %INTEGER I,J,K,VALUE,B
#line 5542 "regression-compile-tmp/imp918s.imp"
int I;
#line 5542 "regression-compile-tmp/imp918s.imp"
int J;
#line 5542 "regression-compile-tmp/imp918s.imp"
int K;
#line 5542 "regression-compile-tmp/imp918s.imp"
int VALUE;
#line 5542 "regression-compile-tmp/imp918s.imp"
int B;
                                                                //   5543           {%RECORDSPEC OPND(RD)}
                                                                //   5544           %SWITCH SW(0:9)
#line 5544 "regression-compile-tmp/imp918s.imp"
static int sw13_SW_idx;
static const void * /*SWITCH*/ sw13_SW[10] = { &&sw13_SW_0, &&sw13_SW_1, &&sw13_SW_2, &&sw13_SW_3, &&sw13_SW_4, &&sw13_SW_5, &&sw13_SW_6, &&sw13_SW_7, &&sw13_SW_8, &&sw13_SW_9,  };
                                                                //   5545           PTYPE=OPND_PTYPE;! UNPACK
#line 5545 "regression-compile-tmp/imp918s.imp"
PTYPE = OPND->PTYPE;
                                                                //   5546  !%if USE MC = 1 %start
                                                                //   5547  !            *L_1,PTYPE; *CVD_1,0(11)
                                                                //   5548  !            *UNPK_ROUT(5),5(3,11)
                                                                //   5549  !            *NC_ROUT(5),MASK1
                                                                //   5550  !%finish
                                                                //   5551           PREC=PREC&3
#line 5551 "regression-compile-tmp/imp918s.imp"
PREC = ((PREC) & (3));
                                                                //   5552           %IF REG<0 %THEN REG=REG-ADDREXP
#line 5552 "regression-compile-tmp/imp918s.imp"
if (((REG) >= (0))) goto L_054a;
#line 5552 "regression-compile-tmp/imp918s.imp"
REG = ((REG) - ((int)(ADDREXP)));
#line 5552 "regression-compile-tmp/imp918s.imp"
L_054a:;
                                                                //   5553           -> SW(OPND_FLAG)
#line 5553 "regression-compile-tmp/imp918s.imp"
sw13_SW_idx = OPND->FLAG; if ((0 <= sw13_SW_idx) && (sw13_SW_idx <= 9)) goto *sw13_SW[sw13_SW_idx]; else {
   /*_imp_signal(8, 2, sw13_SW_idx);*/
   fprintf(stderr, "%%SWITCH index SW(%d) not in range 0:9 at %s:%d\n",
           sw13_SW_idx, (_imp_current_file != 0 ? _imp_current_file : __FILE__),
           (_imp_current_line != 0 ? _imp_current_line : __LINE__));
           exit(1);
}
                                                                //   5554  SW(0):                                 ! CONSTANT < 4096
#line 5554 "regression-compile-tmp/imp918s.imp"
sw13_SW_0:;
                                                                //   5555           ->Label99 %UNLESS MODE>0
#line 5555 "regression-compile-tmp/imp918s.imp"
if (((MODE) > (0))) goto L_054b;
#line 5555 "regression-compile-tmp/imp918s.imp"
goto U_1059;
#line 5555 "regression-compile-tmp/imp918s.imp"
L_054b:;
                                                                //   5556           VALUE=OPND_D
#line 5556 "regression-compile-tmp/imp918s.imp"
VALUE = OPND->D;
                                                                //   5557           %IF CSSMODE=0 %THEN OPTSAVE(0,2,1,VALUE)
#line 5557 "regression-compile-tmp/imp918s.imp"
if (((CSSMODE) != (0))) goto L_054c;
#line 5557 "regression-compile-tmp/imp918s.imp"
OPTSAVE(0, 2, 1, VALUE);
#line 5557 "regression-compile-tmp/imp918s.imp"
L_054c:;
                                                                //   5558           FIND USE(I,1,2,VALUE)
#line 5558 "regression-compile-tmp/imp918s.imp"
FINDUSE(&I, 1, 2, VALUE);
                                                                //   5559           -> NOT FOUND %IF I<0
#line 5559 "regression-compile-tmp/imp918s.imp"
if (((I) >= (0))) goto L_054d;
#line 5559 "regression-compile-tmp/imp918s.imp"
goto U_105a;
#line 5559 "regression-compile-tmp/imp918s.imp"
L_054d:;
                                                                //   5560           %IF REG<0 %THEN %START
#line 5560 "regression-compile-tmp/imp918s.imp"
if (((REG) >= (0))) goto L_054e;
                                                                //   5561           ->RF %IF REGISTER(I)=0
#line 5561 "regression-compile-tmp/imp918s.imp"
if (((REGISTER[I]) != (0))) goto L_054f;
#line 5561 "regression-compile-tmp/imp918s.imp"
goto U_105b;
#line 5561 "regression-compile-tmp/imp918s.imp"
L_054f:;
                                                                //   5562           ->RF2 %IF REGISTER(I)<0 %AND(26<=JJ<=27 %OR 30<=JJ<=31)
#line 5562 "regression-compile-tmp/imp918s.imp"
if (((REGISTER[I]) >= (0))) goto L_0550;
#line 5562 "regression-compile-tmp/imp918s.imp"
if ((((26) > (JJ))) || (((JJ) <= (27)))) goto L_0552;
#line 5562 "regression-compile-tmp/imp918s.imp"
L_0551:;
#line 5562 "regression-compile-tmp/imp918s.imp"
if ((((30) > (JJ))) || (((JJ) > (31)))) goto L_0550;
#line 5562 "regression-compile-tmp/imp918s.imp"
L_0552:;
#line 5562 "regression-compile-tmp/imp918s.imp"
goto U_105c;
#line 5562 "regression-compile-tmp/imp918s.imp"
L_0550:;
                                                                //   5563           ->RF2 %IF MODE=1
#line 5563 "regression-compile-tmp/imp918s.imp"
if (((MODE) != (1))) goto L_0553;
#line 5563 "regression-compile-tmp/imp918s.imp"
goto U_105c;
#line 5563 "regression-compile-tmp/imp918s.imp"
L_0553:;
                                                                //   5564           %FINISH
#line 5564 "regression-compile-tmp/imp918s.imp"
L_054e:;
                                                                //   5565           REG=FINDR %IF REG<0
#line 5565 "regression-compile-tmp/imp918s.imp"
if (((REG) >= (0))) goto L_0554;
#line 5565 "regression-compile-tmp/imp918s.imp"
REG = FINDR();
#line 5565 "regression-compile-tmp/imp918s.imp"
L_0554:;
                                                                //   5566           PRR(X'18',REG,I) %UNLESS REG=I
#line 5566 "regression-compile-tmp/imp918s.imp"
if (((REG) == (I))) goto L_0555;
#line 5566 "regression-compile-tmp/imp918s.imp"
PRR(24, REG, I);
#line 5566 "regression-compile-tmp/imp918s.imp"
L_0555:;
                                                                //   5567           REGISTER(REG)=1 %IF REGISTER(REG)=0
#line 5567 "regression-compile-tmp/imp918s.imp"
if (((REGISTER[REG]) != (0))) goto L_0556;
#line 5567 "regression-compile-tmp/imp918s.imp"
REGISTER[REG] = 1;
#line 5567 "regression-compile-tmp/imp918s.imp"
L_0556:;
                                                                //   5568  SG:      SET USE(REG,2,VALUE) %UNLESS REGISTER(REG)<0
#line 5568 "regression-compile-tmp/imp918s.imp"
U_105d:;
#line 5568 "regression-compile-tmp/imp918s.imp"
if (((REGISTER[REG]) < (0))) goto L_0557;
#line 5568 "regression-compile-tmp/imp918s.imp"
SETUSE(REG, 2, VALUE);
#line 5568 "regression-compile-tmp/imp918s.imp"
L_0557:;
                                                                //   5569  Label1:       OPND_PTYPE=1
#line 5569 "regression-compile-tmp/imp918s.imp"
U_105e:;
#line 5569 "regression-compile-tmp/imp918s.imp"
OPND->PTYPE = 1;
                                                                //   5570  Label2:       OPND_FLAG=9
#line 5570 "regression-compile-tmp/imp918s.imp"
U_105f:;
#line 5570 "regression-compile-tmp/imp918s.imp"
OPND->FLAG = 9;
                                                                //   5571           OPND_XB=REG
#line 5571 "regression-compile-tmp/imp918s.imp"
OPND->XB = REG;
                                                                //   5572           OPND_D=-2
#line 5572 "regression-compile-tmp/imp918s.imp"
OPND->D = (-2);
                                                                //   5573           ->Label99
#line 5573 "regression-compile-tmp/imp918s.imp"
goto U_1059;
                                                                //   5574  RF:      REGISTER(I)=1
#line 5574 "regression-compile-tmp/imp918s.imp"
U_105b:;
#line 5574 "regression-compile-tmp/imp918s.imp"
REGISTER[I] = 1;
                                                                //   5575  RF2:     REG=I; ->Label1
#line 5575 "regression-compile-tmp/imp918s.imp"
U_105c:;
#line 5575 "regression-compile-tmp/imp918s.imp"
REG = I;
#line 5575 "regression-compile-tmp/imp918s.imp"
goto U_105e;
                                                                //   5576  NOT FOUND: -> GLA COPY %IF MODE&1#0 %AND VALUE#0 %AND CSSMODE#0
#line 5576 "regression-compile-tmp/imp918s.imp"
U_105a:;
#line 5576 "regression-compile-tmp/imp918s.imp"
if (((((MODE) & (1))) == (0))) goto L_0558;
#line 5576 "regression-compile-tmp/imp918s.imp"
if (((VALUE) == (0))) goto L_0558;
#line 5576 "regression-compile-tmp/imp918s.imp"
if (((CSSMODE) == (0))) goto L_0558;
#line 5576 "regression-compile-tmp/imp918s.imp"
goto U_1060;
#line 5576 "regression-compile-tmp/imp918s.imp"
L_0558:;
                                                                //   5577           REG=FINDR %IF REG<0
#line 5577 "regression-compile-tmp/imp918s.imp"
if (((REG) >= (0))) goto L_0559;
#line 5577 "regression-compile-tmp/imp918s.imp"
REG = FINDR();
#line 5577 "regression-compile-tmp/imp918s.imp"
L_0559:;
                                                                //   5578           DUMP(0,REG,VALUE,0,0); -> SG
#line 5578 "regression-compile-tmp/imp918s.imp"
DUMP(0, REG, VALUE, 0, 0);
#line 5578 "regression-compile-tmp/imp918s.imp"
goto U_105d;
                                                                //   5579  GLA COPY:TYPE=1; K=4; PREC=0
#line 5579 "regression-compile-tmp/imp918s.imp"
U_1060:;
#line 5579 "regression-compile-tmp/imp918s.imp"
TYPE = 1;
#line 5579 "regression-compile-tmp/imp918s.imp"
K = 4;
#line 5579 "regression-compile-tmp/imp918s.imp"
PREC = 0;
                                                                //   5580           -> FULL L %UNLESS X'19'<=OPCODE<=X'1B'
#line 5580 "regression-compile-tmp/imp918s.imp"
if ((((25) > (OPCODE))) || (((OPCODE) <= (27)))) goto L_055b;
#line 5580 "regression-compile-tmp/imp918s.imp"
L_055a:;
#line 5580 "regression-compile-tmp/imp918s.imp"
goto U_1061;
#line 5580 "regression-compile-tmp/imp918s.imp"
L_055b:;
                                                                //   5581           J=CONST FIND(4,ADDR(VALUE))
#line 5581 "regression-compile-tmp/imp918s.imp"
J = CONSTFIND(4, _imp_ADDR(&VALUE));
                                                                //   5582           %UNLESS J=-1 %START
#line 5582 "regression-compile-tmp/imp918s.imp"
if (((J) == ((-1)))) goto L_055c;
                                                                //   5583              %IF J<0 %THEN BASE=CODER %ELSE BASE=GLA
#line 5583 "regression-compile-tmp/imp918s.imp"
if (((J) >= (0))) goto L_055d;
#line 5583 "regression-compile-tmp/imp918s.imp"
BASE = 12;
#line 5583 "regression-compile-tmp/imp918s.imp"
goto L_055e;
#line 5583 "regression-compile-tmp/imp918s.imp"
L_055d:;
#line 5583 "regression-compile-tmp/imp918s.imp"
BASE = 13;
#line 5583 "regression-compile-tmp/imp918s.imp"
L_055e:;
                                                                //   5584              DISP=J&X'7FFF'; INDEX=0; ->RESET RD
#line 5584 "regression-compile-tmp/imp918s.imp"
DISP = ((J) & (32767));
#line 5584 "regression-compile-tmp/imp918s.imp"
INDEX = 0;
#line 5584 "regression-compile-tmp/imp918s.imp"
goto U_1062;
                                                                //   5585           %FINISH
#line 5585 "regression-compile-tmp/imp918s.imp"
L_055c:;
                                                                //   5586           PREC=2; K=2
#line 5586 "regression-compile-tmp/imp918s.imp"
PREC = 2;
#line 5586 "regression-compile-tmp/imp918s.imp"
K = 2;
                                                                //   5587  FULL L:  STORE CONST(BASE,DISP,K,ADDR(VALUE)+4-K)
#line 5587 "regression-compile-tmp/imp918s.imp"
U_1061:;
#line 5587 "regression-compile-tmp/imp918s.imp"
STORECONST(&BASE, &DISP, K, (((int)((((int)(_imp_ADDR(&VALUE))) + (4)))) - (K)));
                                                                //   5588           INDEX=0; ->RESET RD
#line 5588 "regression-compile-tmp/imp918s.imp"
INDEX = 0;
#line 5588 "regression-compile-tmp/imp918s.imp"
goto U_1062;
                                                                //   5589  SW(1):                                 ! LONG CONSTANT
#line 5589 "regression-compile-tmp/imp918s.imp"
sw13_SW_1:;
                                                                //   5590           STORE CONST(BASE,DISP,BYTES(PREC),ADDR(A(OPND_D+1)))
#line 5590 "regression-compile-tmp/imp918s.imp"
STORECONST(&BASE, &DISP, BYTES[PREC], _imp_ADDR(&A[(((unsigned char)((((int)(OPND->D)) + (1)))) + (7))]));
                                                                //   5591           -> PICK UP %IF MODE=2
#line 5591 "regression-compile-tmp/imp918s.imp"
if (((MODE) != (2))) goto L_055f;
#line 5591 "regression-compile-tmp/imp918s.imp"
goto U_1063;
#line 5591 "regression-compile-tmp/imp918s.imp"
L_055f:;
                                                                //   5592           INDEX=0; ->RESET RD
#line 5592 "regression-compile-tmp/imp918s.imp"
INDEX = 0;
#line 5592 "regression-compile-tmp/imp918s.imp"
goto U_1062;
                                                                //   5593  PICKUP:  DUMP(8*(TYPE-1)+2*(PREC&3)+2,REG,DISP,0,BASE)
#line 5593 "regression-compile-tmp/imp918s.imp"
U_1063:;
#line 5593 "regression-compile-tmp/imp918s.imp"
DUMP((((int)((((((8) * ((int)((((int)(TYPE)) - (1))))))) + (((2) * ((int)(((PREC) & (3))))))))) + (2)), REG, DISP, 0, BASE);
                                                                //   5594           MODE=0; ->Label21;        ! ENSURE THAT USE IS CHANGED
#line 5594 "regression-compile-tmp/imp918s.imp"
MODE = 0;
#line 5594 "regression-compile-tmp/imp918s.imp"
goto U_1064;
                                                                //   5595  SW(2):                                 ! NAME
#line 5595 "regression-compile-tmp/imp918s.imp"
sw13_SW_2:;
                                                                //   5596           -> LOAD %IF MODE=2
#line 5596 "regression-compile-tmp/imp918s.imp"
if (((MODE) != (2))) goto L_0560;
#line 5596 "regression-compile-tmp/imp918s.imp"
goto U_1065;
#line 5596 "regression-compile-tmp/imp918s.imp"
L_0560:;
                                                                //   5597           ->STORE %IF MODE=4
#line 5597 "regression-compile-tmp/imp918s.imp"
if (((MODE) != (4))) goto L_0561;
#line 5597 "regression-compile-tmp/imp918s.imp"
goto U_1066;
#line 5597 "regression-compile-tmp/imp918s.imp"
L_0561:;
                                                                //   5598           -> LOAD %IF OPND_XB&127#0 %AND PTYPE#8
#line 5598 "regression-compile-tmp/imp918s.imp"
if (((((OPND->XB) & (127))) == (0))) goto L_0562;
#line 5598 "regression-compile-tmp/imp918s.imp"
if (((PTYPE) == (8))) goto L_0562;
#line 5598 "regression-compile-tmp/imp918s.imp"
goto U_1065;
#line 5598 "regression-compile-tmp/imp918s.imp"
L_0562:;
                                                                //   5599           -> LOAD %IF MODE=0 %AND ARR>0
#line 5599 "regression-compile-tmp/imp918s.imp"
if (((MODE) != (0))) goto L_0563;
#line 5599 "regression-compile-tmp/imp918s.imp"
if (((ARR) <= (0))) goto L_0563;
#line 5599 "regression-compile-tmp/imp918s.imp"
goto U_1065;
#line 5599 "regression-compile-tmp/imp918s.imp"
L_0563:;
                                                                //   5600           -> DONT LOAD %IF MODE=3
#line 5600 "regression-compile-tmp/imp918s.imp"
if (((MODE) != (3))) goto L_0564;
#line 5600 "regression-compile-tmp/imp918s.imp"
goto U_1067;
#line 5600 "regression-compile-tmp/imp918s.imp"
L_0564:;
                                                                //   5601           ->Label99 %IF MODE=0
#line 5601 "regression-compile-tmp/imp918s.imp"
if (((MODE) != (0))) goto L_0565;
#line 5601 "regression-compile-tmp/imp918s.imp"
goto U_1059;
#line 5601 "regression-compile-tmp/imp918s.imp"
L_0565:;
                                                                //   5602           %IF MODE=1 %THEN %START
#line 5602 "regression-compile-tmp/imp918s.imp"
if (((MODE) != (1))) goto L_0566;
                                                                //   5603           -> LOAD %IF PREC=1
#line 5603 "regression-compile-tmp/imp918s.imp"
if (((PREC) != (1))) goto L_0567;
#line 5603 "regression-compile-tmp/imp918s.imp"
goto U_1065;
#line 5603 "regression-compile-tmp/imp918s.imp"
L_0567:;
                                                                //   5604           -> DONT LOAD %IF PREC=2 %AND X'19'<=OPCODE<=X'1B'
#line 5604 "regression-compile-tmp/imp918s.imp"
if (((PREC) != (2))) goto L_0568;
#line 5604 "regression-compile-tmp/imp918s.imp"
if ((((25) > (OPCODE))) || (((OPCODE) > (27)))) goto L_0568;
#line 5604 "regression-compile-tmp/imp918s.imp"
goto U_1067;
#line 5604 "regression-compile-tmp/imp918s.imp"
L_0568:;
                                                                //   5605           -> LOAD %IF PREC=2
#line 5605 "regression-compile-tmp/imp918s.imp"
if (((PREC) != (2))) goto L_0569;
#line 5605 "regression-compile-tmp/imp918s.imp"
goto U_1065;
#line 5605 "regression-compile-tmp/imp918s.imp"
L_0569:;
                                                                //   5606           %FINISH
#line 5606 "regression-compile-tmp/imp918s.imp"
L_0566:;
                                                                //   5607  DONT LOAD: P=OPND_D
#line 5607 "regression-compile-tmp/imp918s.imp"
U_1067:;
#line 5607 "regression-compile-tmp/imp918s.imp"
P = OPND->D;
                                                                //   5608           CNAME(5,REG)
#line 5608 "regression-compile-tmp/imp918s.imp"
CNAME(5, REG);
                                                                //   5609           ->Label21 %IF NEST>=0
#line 5609 "regression-compile-tmp/imp918s.imp"
if (((NEST) < (0))) goto L_056a;
#line 5609 "regression-compile-tmp/imp918s.imp"
goto U_1064;
#line 5609 "regression-compile-tmp/imp918s.imp"
L_056a:;
                                                                //   5610  RESETRD: REGISTER(BASE)=2 %IF BASE>0 %AND REGISTER(BASE)=0
#line 5610 "regression-compile-tmp/imp918s.imp"
U_1062:;
#line 5610 "regression-compile-tmp/imp918s.imp"
if (((BASE) <= (0))) goto L_056b;
#line 5610 "regression-compile-tmp/imp918s.imp"
if (((REGISTER[BASE]) != (0))) goto L_056b;
#line 5610 "regression-compile-tmp/imp918s.imp"
REGISTER[BASE] = 2;
#line 5610 "regression-compile-tmp/imp918s.imp"
L_056b:;
                                                                //   5611           REGISTER(INDEX)=2 %IF INDEX>0 %AND REGISTER(INDEX)=0
#line 5611 "regression-compile-tmp/imp918s.imp"
if (((INDEX) <= (0))) goto L_056c;
#line 5611 "regression-compile-tmp/imp918s.imp"
if (((REGISTER[INDEX]) != (0))) goto L_056c;
#line 5611 "regression-compile-tmp/imp918s.imp"
REGISTER[INDEX] = 2;
#line 5611 "regression-compile-tmp/imp918s.imp"
L_056c:;
                                                                //   5612           OPND_PTYPE=10*(PREC&3)+TYPE
#line 5612 "regression-compile-tmp/imp918s.imp"
OPND->PTYPE = (((unsigned char)(((10) * ((int)(((PREC) & (3))))))) + (TYPE));
                                                                //   5613           OPND_FLAG=9
#line 5613 "regression-compile-tmp/imp918s.imp"
OPND->FLAG = 9;
                                                                //   5614           OPND_XB=INDEX<<4!BASE
#line 5614 "regression-compile-tmp/imp918s.imp"
OPND->XB = ((((INDEX) << (4))) | (BASE));
                                                                //   5615           OPND_D=DISP; ->Label99
#line 5615 "regression-compile-tmp/imp918s.imp"
OPND->D = DISP;
#line 5615 "regression-compile-tmp/imp918s.imp"
goto U_1059;
                                                                //   5616  STORE:   P=OPND_D
#line 5616 "regression-compile-tmp/imp918s.imp"
U_1066:;
#line 5616 "regression-compile-tmp/imp918s.imp"
P = OPND->D;
                                                                //   5617           CNAME(1,0); ->RESET RD
#line 5617 "regression-compile-tmp/imp918s.imp"
CNAME(1, 0);
#line 5617 "regression-compile-tmp/imp918s.imp"
goto U_1062;
                                                                //   5618  LOAD:    P=OPND_D
#line 5618 "regression-compile-tmp/imp918s.imp"
U_1065:;
#line 5618 "regression-compile-tmp/imp918s.imp"
P = OPND->D;
                                                                //   5619           -> REGVAR %IF PTYPE=8
#line 5619 "regression-compile-tmp/imp918s.imp"
if (((PTYPE) != (8))) goto L_056d;
#line 5619 "regression-compile-tmp/imp918s.imp"
goto U_1068;
#line 5619 "regression-compile-tmp/imp918s.imp"
L_056d:;
                                                                //   5620           CNAME(2,REG)
#line 5620 "regression-compile-tmp/imp918s.imp"
CNAME(2, REG);
                                                                //   5621  Label21:      REG=NEST %IF REG<0
#line 5621 "regression-compile-tmp/imp918s.imp"
U_1064:;
#line 5621 "regression-compile-tmp/imp918s.imp"
if (((REG) >= (0))) goto L_056e;
#line 5621 "regression-compile-tmp/imp918s.imp"
REG = NEST;
#line 5621 "regression-compile-tmp/imp918s.imp"
L_056e:;
                                                                //   5622           TYPE=1 %IF TYPE=8
#line 5622 "regression-compile-tmp/imp918s.imp"
if (((TYPE) != (8))) goto L_056f;
#line 5622 "regression-compile-tmp/imp918s.imp"
TYPE = 1;
#line 5622 "regression-compile-tmp/imp918s.imp"
L_056f:;
                                                                //   5623           PTYPE=TYPE; K=(PTYPE&2)<<3+REG
#line 5623 "regression-compile-tmp/imp918s.imp"
PTYPE = TYPE;
#line 5623 "regression-compile-tmp/imp918s.imp"
K = (((int)(((((PTYPE) & (2))) << (3)))) + (REG));
                                                                //   5624           REGISTER(K)=1 %IF REGISTER(K)>=0;   ! CLAIM THE REGISTER
#line 5624 "regression-compile-tmp/imp918s.imp"
if (((REGISTER[K]) < (0))) goto L_0570;
#line 5624 "regression-compile-tmp/imp918s.imp"
REGISTER[K] = 1;
#line 5624 "regression-compile-tmp/imp918s.imp"
L_0570:;
                                                                //   5625           PTYPE=32 %IF PREC=3
#line 5625 "regression-compile-tmp/imp918s.imp"
if (((PREC) != (3))) goto L_0571;
#line 5625 "regression-compile-tmp/imp918s.imp"
PTYPE = 32;
#line 5625 "regression-compile-tmp/imp918s.imp"
L_0571:;
                                                                //   5626           ->Label24 %IF MODE>=1 %AND GRUSE(K)>1;    ! DONT CHANGE GRUSE
#line 5626 "regression-compile-tmp/imp918s.imp"
if (((MODE) < (1))) goto L_0572;
#line 5626 "regression-compile-tmp/imp918s.imp"
if (((GRUSE[K]) <= (1))) goto L_0572;
#line 5626 "regression-compile-tmp/imp918s.imp"
goto U_1069;
#line 5626 "regression-compile-tmp/imp918s.imp"
L_0572:;
                                                                //   5627           SET USE(K,1,ADDR(OPND))
#line 5627 "regression-compile-tmp/imp918s.imp"
SETUSE(K, 1, _imp_ADDR(OPND));
                                                                //   5628  Label24:      OPND_PTYPE=PTYPE; ->Label2
#line 5628 "regression-compile-tmp/imp918s.imp"
U_1069:;
#line 5628 "regression-compile-tmp/imp918s.imp"
OPND->PTYPE = PTYPE;
#line 5628 "regression-compile-tmp/imp918s.imp"
goto U_105f;
                                                                //   5629  REGVAR:  %IF OPCODE=X'19' %OR 30<=JJ<=31 %OR %C
#line 5629 "regression-compile-tmp/imp918s.imp"
U_1068:;
#line 5629 "regression-compile-tmp/imp918s.imp"
if (((OPCODE) == (25))) goto L_0573;
#line 5629 "regression-compile-tmp/imp918s.imp"
if ((((30) > (JJ))) || (((JJ) <= (31)))) goto L_0573;
#line 5629 "regression-compile-tmp/imp918s.imp"
L_0574:;
#line 5629 "regression-compile-tmp/imp918s.imp"
if (((NOPS) != (1))) goto L_0575;
#line 5629 "regression-compile-tmp/imp918s.imp"
if (((OPND->XB) != (SPECREG))) goto L_0575;
#line 5629 "regression-compile-tmp/imp918s.imp"
if (((REG) < (0))) goto L_0573;
#line 5629 "regression-compile-tmp/imp918s.imp"
L_0575:;
#line 5629 "regression-compile-tmp/imp918s.imp"
if (((NOPS) != (0))) goto L_0576;
#line 5629 "regression-compile-tmp/imp918s.imp"
if (((REG) >= (0))) goto L_0576;
#line 5629 "regression-compile-tmp/imp918s.imp"
L_0573:;
#line 5629 "regression-compile-tmp/imp918s.imp"
REG = OPND->XB;
#line 5629 "regression-compile-tmp/imp918s.imp"
goto U_105e;
#line 5629 "regression-compile-tmp/imp918s.imp"
L_0576:;
                                                                //   5630              (NOPS=1 %AND OPND_XB=SPECREG %AND REG<0) %OR %C
                                                                //   5631              (NOPS=0 %AND REG<0) %THEN REG=OPND_XB %AND ->Label1
                                                                //   5632           REG=FINDR %IF REG<0
#line 5632 "regression-compile-tmp/imp918s.imp"
if (((REG) >= (0))) goto L_0577;
#line 5632 "regression-compile-tmp/imp918s.imp"
REG = FINDR();
#line 5632 "regression-compile-tmp/imp918s.imp"
L_0577:;
                                                                //   5633           %IF REGISTER(REG)>=0 %THEN %START; ! N.B. REGVAR1=REGVAR2
#line 5633 "regression-compile-tmp/imp918s.imp"
if (((REGISTER[REG]) < (0))) goto L_0578;
                                                                //   5634              FORGET(REG); GRUSE(REG)=3; GRINF(REG)=TAGS(A(P))
#line 5634 "regression-compile-tmp/imp918s.imp"
FORGET(REG);
#line 5634 "regression-compile-tmp/imp918s.imp"
GRUSE[REG] = 3;
#line 5634 "regression-compile-tmp/imp918s.imp"
GRINF[REG] = TAGS[A[((P) + ((int)(7)))]];
                                                                //   5635           %FINISH
#line 5635 "regression-compile-tmp/imp918s.imp"
L_0578:;
                                                                //   5636           CNAME(2,REG); TYPE=1; ->Label21
#line 5636 "regression-compile-tmp/imp918s.imp"
CNAME(2, REG);
#line 5636 "regression-compile-tmp/imp918s.imp"
TYPE = 1;
#line 5636 "regression-compile-tmp/imp918s.imp"
goto U_1064;
                                                                //   5637  SW(3):                                 ! DOPE VECTOR ITEM
#line 5637 "regression-compile-tmp/imp918s.imp"
sw13_SW_3:;
                                                                //   5638  ! XB HAS BASE OF ARRAYHEAD  D  IS HEADDISP<<16!ITEM DISP. XTRA HAS TAGS
                                                                //   5639           ->Label99 %IF MODE=0
#line 5639 "regression-compile-tmp/imp918s.imp"
if (((MODE) != (0))) goto L_0579;
#line 5639 "regression-compile-tmp/imp918s.imp"
goto U_1059;
#line 5639 "regression-compile-tmp/imp918s.imp"
L_0579:;
                                                                //   5640           LOAD DV(BASE,OPND_XB,OPND_D>>16,OPND_XTRA)
#line 5640 "regression-compile-tmp/imp918s.imp"
LOADDV(&BASE, OPND->XB, (int)((((unsigned int)(OPND->D)) >> (16))), OPND->XTRA);
                                                                //   5641           INDEX=0; DISP=OPND_D&X'FFFF'
#line 5641 "regression-compile-tmp/imp918s.imp"
INDEX = 0;
#line 5641 "regression-compile-tmp/imp918s.imp"
DISP = ((OPND->D) & (65535));
                                                                //   5642           -> RESET RD;                  ! NOT CALLED WITH MODE=2
#line 5642 "regression-compile-tmp/imp918s.imp"
goto U_1062;
                                                                //   5643  SW(7):SW(8):SW(9):
#line 5643 "regression-compile-tmp/imp918s.imp"
sw13_SW_7:;
#line 5643 "regression-compile-tmp/imp918s.imp"
sw13_SW_8:;
#line 5643 "regression-compile-tmp/imp918s.imp"
sw13_SW_9:;
                                                                //   5644           ->Label99 %IF  MODE=3 %OR MODE=4
#line 5644 "regression-compile-tmp/imp918s.imp"
if (((MODE) == (3))) goto L_057a;
#line 5644 "regression-compile-tmp/imp918s.imp"
if (((MODE) != (4))) goto L_057b;
#line 5644 "regression-compile-tmp/imp918s.imp"
L_057a:;
#line 5644 "regression-compile-tmp/imp918s.imp"
goto U_1059;
#line 5644 "regression-compile-tmp/imp918s.imp"
L_057b:;
                                                                //   5645           ->PROTECT %IF MODE=0
#line 5645 "regression-compile-tmp/imp918s.imp"
if (((MODE) != (0))) goto L_057c;
#line 5645 "regression-compile-tmp/imp918s.imp"
goto U_106a;
#line 5645 "regression-compile-tmp/imp918s.imp"
L_057c:;
                                                                //   5646           ->Label99 %IF MODE=1 %AND(PREC=0 %OR PREC=3 %OR(PREC=2 %AND %C
#line 5646 "regression-compile-tmp/imp918s.imp"
if (((MODE) != (1))) goto L_057d;
#line 5646 "regression-compile-tmp/imp918s.imp"
if (((PREC) == (0))) goto L_057e;
#line 5646 "regression-compile-tmp/imp918s.imp"
if (((PREC) == (3))) goto L_057e;
#line 5646 "regression-compile-tmp/imp918s.imp"
if (((PREC) != (2))) goto L_057d;
#line 5646 "regression-compile-tmp/imp918s.imp"
if ((((25) > (OPCODE))) || (((OPCODE) > (27)))) goto L_057d;
#line 5646 "regression-compile-tmp/imp918s.imp"
L_057e:;
#line 5646 "regression-compile-tmp/imp918s.imp"
goto U_1059;
#line 5646 "regression-compile-tmp/imp918s.imp"
L_057d:;
                                                                //   5647           X'19'<=OPCODE<=X'1B'))
                                                                //   5648           B=OPND_XB
#line 5648 "regression-compile-tmp/imp918s.imp"
B = OPND->XB;
                                                                //   5649           -> RDR %IF OPND_D<0
#line 5649 "regression-compile-tmp/imp918s.imp"
if (((OPND->D) >= (0))) goto L_057f;
#line 5649 "regression-compile-tmp/imp918s.imp"
goto U_106b;
#line 5649 "regression-compile-tmp/imp918s.imp"
L_057f:;
                                                                //   5650           %IF REG<0 %AND TYPE=1 %THEN REG=FINDR;! IN CASE OF SPECREG
#line 5650 "regression-compile-tmp/imp918s.imp"
if (((REG) >= (0))) goto L_0580;
#line 5650 "regression-compile-tmp/imp918s.imp"
if (((TYPE) != (1))) goto L_0580;
#line 5650 "regression-compile-tmp/imp918s.imp"
REG = FINDR();
#line 5650 "regression-compile-tmp/imp918s.imp"
L_0580:;
                                                                //   5651           DUMP(TYPE<<3!2*(PREC&3)-6,REG,OPND_D,B>>4,B&15)
#line 5651 "regression-compile-tmp/imp918s.imp"
DUMP((((int)(((((TYPE) << (3))) | (((2) * ((int)(((PREC) & (3))))))))) - (6)), REG, OPND->D, (int)((((unsigned int)(B)) >> (4))), ((B) & (15)));
                                                                //   5652           MODE=0;                       ! ENSURE USE IS CHANGED
#line 5652 "regression-compile-tmp/imp918s.imp"
MODE = 0;
                                                                //   5653           UNRESERVE(B); ->Label21
#line 5653 "regression-compile-tmp/imp918s.imp"
UNRESERVE(B);
#line 5653 "regression-compile-tmp/imp918s.imp"
goto U_1064;
                                                                //   5654  PROTECT: BASE=OPND_XB; INDEX=BASE>>4
#line 5654 "regression-compile-tmp/imp918s.imp"
U_106a:;
#line 5654 "regression-compile-tmp/imp918s.imp"
BASE = OPND->XB;
#line 5654 "regression-compile-tmp/imp918s.imp"
INDEX = (int)((((unsigned int)(BASE)) >> (4)));
                                                                //   5655           BASE=BASE&15; DISP=OPND_D;      ! SAFEGUARD FROM OVERWRITING
#line 5655 "regression-compile-tmp/imp918s.imp"
BASE = ((BASE) & (15));
#line 5655 "regression-compile-tmp/imp918s.imp"
DISP = OPND->D;
                                                                //   5656           ->RESET RD %IF OPND_D>=0
#line 5656 "regression-compile-tmp/imp918s.imp"
if (((OPND->D) < (0))) goto L_0581;
#line 5656 "regression-compile-tmp/imp918s.imp"
goto U_1062;
#line 5656 "regression-compile-tmp/imp918s.imp"
L_0581:;
                                                                //   5657           K=(TYPE&2)<<3+BASE
#line 5657 "regression-compile-tmp/imp918s.imp"
K = (((int)(((((TYPE) & (2))) << (3)))) + (BASE));
                                                                //   5658           REGISTER(K)=1 %IF REGISTER(K)>=0;   ! CLAIM THE REGISTER
#line 5658 "regression-compile-tmp/imp918s.imp"
if (((REGISTER[K]) < (0))) goto L_0582;
#line 5658 "regression-compile-tmp/imp918s.imp"
REGISTER[K] = 1;
#line 5658 "regression-compile-tmp/imp918s.imp"
L_0582:;
                                                                //   5659           %IF GRUSE(K)=1 %THEN GRINF(K)=ADDR(OPND) %ELSE %C
#line 5659 "regression-compile-tmp/imp918s.imp"
if (((GRUSE[K]) != (1))) goto L_0583;
#line 5659 "regression-compile-tmp/imp918s.imp"
GRINF[K] = _imp_ADDR(OPND);
#line 5659 "regression-compile-tmp/imp918s.imp"
goto L_0584;
#line 5659 "regression-compile-tmp/imp918s.imp"
L_0583:;
#line 5659 "regression-compile-tmp/imp918s.imp"
SETUSE(K, 1, _imp_ADDR(OPND));
#line 5659 "regression-compile-tmp/imp918s.imp"
L_0584:;
                                                                //   5660           SET USE(K,1,ADDR(OPND)); ->Label99
#line 5660 "regression-compile-tmp/imp918s.imp"
goto U_1059;
                                                                //   5661  RDR:     ->Label99 %IF REG<0 %OR REG=B
#line 5661 "regression-compile-tmp/imp918s.imp"
U_106b:;
#line 5661 "regression-compile-tmp/imp918s.imp"
if (((REG) < (0))) goto L_0585;
#line 5661 "regression-compile-tmp/imp918s.imp"
if (((REG) != (B))) goto L_0586;
#line 5661 "regression-compile-tmp/imp918s.imp"
L_0585:;
#line 5661 "regression-compile-tmp/imp918s.imp"
goto U_1059;
#line 5661 "regression-compile-tmp/imp918s.imp"
L_0586:;
                                                                //   5662           K=B; J=X'18'
#line 5662 "regression-compile-tmp/imp918s.imp"
K = B;
#line 5662 "regression-compile-tmp/imp918s.imp"
J = 24;
                                                                //   5663           %IF TYPE=2 %THEN %START
#line 5663 "regression-compile-tmp/imp918s.imp"
if (((TYPE) != (2))) goto L_0587;
                                                                //   5664           K=K+16; J=X'38'-16*(PREC&1); %FINISH
#line 5664 "regression-compile-tmp/imp918s.imp"
K = (((int)(K)) + (16));
#line 5664 "regression-compile-tmp/imp918s.imp"
J = ((56) - ((int)(((16) * ((int)(((PREC) & (1))))))));
#line 5664 "regression-compile-tmp/imp918s.imp"
L_0587:;
                                                                //   5665           PRR(J,REG,B)
#line 5665 "regression-compile-tmp/imp918s.imp"
PRR(J, REG, B);
                                                                //   5666           SET USE((TYPE&2)<<3+REG,GRUSE(K),GRINF(K))
#line 5666 "regression-compile-tmp/imp918s.imp"
SETUSE((((int)(((((TYPE) & (2))) << (3)))) + (REG)), GRUSE[K], GRINF[K]);
                                                                //   5667           REGISTER((TYPE&2)<<3+B)=0; OPND_XB=REG
#line 5667 "regression-compile-tmp/imp918s.imp"
REGISTER[(((int)(((((TYPE) & (2))) << (3)))) + (B))] = 0;
#line 5667 "regression-compile-tmp/imp918s.imp"
OPND->XB = REG;
                                                                //   5668  Label99:      TYPE=1 %IF TYPE=8             ;%END
#line 5668 "regression-compile-tmp/imp918s.imp"
U_1059:;
#line 5668 "regression-compile-tmp/imp918s.imp"
if (((TYPE) != (8))) goto L_0588;
#line 5668 "regression-compile-tmp/imp918s.imp"
TYPE = 1;
#line 5668 "regression-compile-tmp/imp918s.imp"
L_0588:;
#line 5668 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
sw13_SW_4:;
sw13_SW_5:;
sw13_SW_6:;
/*_imp_signal(6,3,sw13_SW_idx,"SWITCH LABEL NOT SET - sw13_SW");*/
fprintf(stderr, "%%SWITCH LABEL NOT SET - sw13_SW(%d): at line %s:%d", sw13_SW_idx, (_imp_current_file != 0 ? _imp_current_file : __FILE__), (_imp_current_line != 0 ? _imp_current_line : __LINE__));
exit(1);
} // End of block LOAD at level 4
                                                                //   5669           %ROUTINE     UNRESERVE(%INTEGER XB)
#line 5669 "regression-compile-tmp/imp918s.imp"
void UNRESERVE( int XB )
#line 5669 "regression-compile-tmp/imp918s.imp"
{
                                                                //   5670           {%SHORTROUTINE}
                                                                //   5671           %INTEGER B
#line 5671 "regression-compile-tmp/imp918s.imp"
int B;
                                                                //   5672           B=XB&15
#line 5672 "regression-compile-tmp/imp918s.imp"
B = ((XB) & (15));
                                                                //   5673           REGISTER(B)=0 %IF REGISTER(B)=2
#line 5673 "regression-compile-tmp/imp918s.imp"
if (((REGISTER[B]) != (2))) goto L_0589;
#line 5673 "regression-compile-tmp/imp918s.imp"
REGISTER[B] = 0;
#line 5673 "regression-compile-tmp/imp918s.imp"
L_0589:;
                                                                //   5674           XB=XB>>4
#line 5674 "regression-compile-tmp/imp918s.imp"
XB = (int)((((unsigned int)(XB)) >> (4)));
                                                                //   5675           REGISTER(XB)=0 %IF REGISTER(XB)=2
#line 5675 "regression-compile-tmp/imp918s.imp"
if (((REGISTER[XB]) != (2))) goto L_058a;
#line 5675 "regression-compile-tmp/imp918s.imp"
REGISTER[XB] = 0;
#line 5675 "regression-compile-tmp/imp918s.imp"
L_058a:;
                                                                //   5676           %END
#line 5676 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block UNRESERVE at level 4
                                                                //   5677           %ROUTINE PUT
#line 5677 "regression-compile-tmp/imp918s.imp"
void PUT( void )
#line 5677 "regression-compile-tmp/imp918s.imp"
{
                                                                //   5678           {%SHORTROUTINE}
                                                                //   5679           %COMMENT THIS ROUTINE PLANTS CODE TO PERFORM THE BASIC
                                                                //   5680           ! OPERATION DEFINED BY OPND1,OPND2 & OPCODE
                                                                //   5681           ! OPCODE IS IN INTEGER RR FORM
                                                                //   5682           %INTEGER I,J,K,CODE,X,B,D
#line 5682 "regression-compile-tmp/imp918s.imp"
int I;
#line 5682 "regression-compile-tmp/imp918s.imp"
int J;
#line 5682 "regression-compile-tmp/imp918s.imp"
int K;
#line 5682 "regression-compile-tmp/imp918s.imp"
int CODE;
#line 5682 "regression-compile-tmp/imp918s.imp"
int X;
#line 5682 "regression-compile-tmp/imp918s.imp"
int B;
#line 5682 "regression-compile-tmp/imp918s.imp"
int D;
                                                                //   5683           PTYPE=OPND2_PTYPE;! UNPACK
#line 5683 "regression-compile-tmp/imp918s.imp"
PTYPE = OPND2->PTYPE;
                                                                //   5684  !%if USE MC = 1 %start
                                                                //   5685  !            *L_1,PTYPE; *CVD_1,0(11)
                                                                //   5686  !            *UNPK_ROUT(5),5(3,11)
                                                                //   5687  !            *NC_ROUT(5),MASK1
                                                                //   5688  !%finish
                                                                //   5689           CODE=OPCODE
#line 5689 "regression-compile-tmp/imp918s.imp"
CODE = OPCODE;
                                                                //   5690           %IF TYPE=2 %THEN %START
#line 5690 "regression-compile-tmp/imp918s.imp"
if (((TYPE) != (2))) goto L_058b;
                                                                //   5691           CODE=CODE+32; CODE=CODE-16 %IF PREC&3=3
#line 5691 "regression-compile-tmp/imp918s.imp"
CODE = (((int)(CODE)) + (32));
#line 5691 "regression-compile-tmp/imp918s.imp"
if (((((PREC) & (3))) != (3))) goto L_058c;
#line 5691 "regression-compile-tmp/imp918s.imp"
CODE = (((int)(CODE)) - (16));
#line 5691 "regression-compile-tmp/imp918s.imp"
L_058c:;
                                                                //   5692           %FINISH %ELSE %START
#line 5692 "regression-compile-tmp/imp918s.imp"
goto L_058d;
#line 5692 "regression-compile-tmp/imp918s.imp"
L_058b:;
                                                                //   5693           CODE=CODE-16 %IF PREC=2; %FINISH
#line 5693 "regression-compile-tmp/imp918s.imp"
if (((PREC) != (2))) goto L_058e;
#line 5693 "regression-compile-tmp/imp918s.imp"
CODE = (((int)(CODE)) - (16));
#line 5693 "regression-compile-tmp/imp918s.imp"
L_058e:;
#line 5693 "regression-compile-tmp/imp918s.imp"
L_058d:;
                                                                //   5694           ->RROP %IF OPND2_D<0
#line 5694 "regression-compile-tmp/imp918s.imp"
if (((OPND2->D) >= (0))) goto L_058f;
#line 5694 "regression-compile-tmp/imp918s.imp"
goto U_1057;
#line 5694 "regression-compile-tmp/imp918s.imp"
L_058f:;
                                                                //   5695           X=OPND2_XB>>4; B=OPND2_XB&15
#line 5695 "regression-compile-tmp/imp918s.imp"
X = (unsigned char)((((unsigned char)(OPND2->XB)) >> (4)));
#line 5695 "regression-compile-tmp/imp918s.imp"
B = ((OPND2->XB) & (15));
                                                                //   5696           D=OPND2_D; CODE=CODE+64
#line 5696 "regression-compile-tmp/imp918s.imp"
D = OPND2->D;
#line 5696 "regression-compile-tmp/imp918s.imp"
CODE = (((int)(CODE)) + (64));
                                                                //   5697           DUMP(CODE,OPND1_XB,D,X,B)
#line 5697 "regression-compile-tmp/imp918s.imp"
DUMP(CODE, OPND1->XB, D, X, B);
                                                                //   5698           UNRESERVE(OPND2_XB)
#line 5698 "regression-compile-tmp/imp918s.imp"
UNRESERVE(OPND2->XB);
                                                                //   5699           ->Label99
#line 5699 "regression-compile-tmp/imp918s.imp"
goto U_1058;
                                                                //   5700  RROP:    PRR(CODE,OPND1_XB,OPND2_XB)
#line 5700 "regression-compile-tmp/imp918s.imp"
U_1057:;
#line 5700 "regression-compile-tmp/imp918s.imp"
PRR(CODE, OPND1->XB, OPND2->XB);
                                                                //   5701           K=(TYPE&2)<<3+OPND2_XB
#line 5701 "regression-compile-tmp/imp918s.imp"
K = (((unsigned char)(((((TYPE) & (2))) << (3)))) + (OPND2->XB));
                                                                //   5702           REGISTER(K)=0 %UNLESS REGISTER(K)<0 %OR OPND1_XB=OPND2_XB
#line 5702 "regression-compile-tmp/imp918s.imp"
if (((REGISTER[K]) < (0))) goto L_0590;
#line 5702 "regression-compile-tmp/imp918s.imp"
if (((OPND1->XB) == (OPND2->XB))) goto L_0590;
#line 5702 "regression-compile-tmp/imp918s.imp"
REGISTER[K] = 0;
#line 5702 "regression-compile-tmp/imp918s.imp"
L_0590:;
                                                                //   5703  Label99:      K=(TYPE&2)<<3+OPND1_XB
#line 5703 "regression-compile-tmp/imp918s.imp"
U_1058:;
#line 5703 "regression-compile-tmp/imp918s.imp"
K = (((unsigned char)(((((TYPE) & (2))) << (3)))) + (OPND1->XB));
                                                                //   5704           %IF OPCODE=X'19' %THEN %START
#line 5704 "regression-compile-tmp/imp918s.imp"
if (((OPCODE) != (25))) goto L_0591;
                                                                //   5705           REGISTER(K)=0 %IF REGISTER(K)>0
#line 5705 "regression-compile-tmp/imp918s.imp"
if (((REGISTER[K]) <= (0))) goto L_0592;
#line 5705 "regression-compile-tmp/imp918s.imp"
REGISTER[K] = 0;
#line 5705 "regression-compile-tmp/imp918s.imp"
L_0592:;
                                                                //   5706           %FINISH %ELSE SET USE(K,1,ADDR(OPND1))
#line 5706 "regression-compile-tmp/imp918s.imp"
goto L_0593;
#line 5706 "regression-compile-tmp/imp918s.imp"
L_0591:;
#line 5706 "regression-compile-tmp/imp918s.imp"
SETUSE(K, 1, _imp_ADDR(OPND1));
#line 5706 "regression-compile-tmp/imp918s.imp"
L_0593:;
                                                                //   5707           %END
#line 5707 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block PUT at level 4
                                                                //   5708           %ROUTINE LOAD PAIR(%INTEGER ODDEVEN)
#line 5708 "regression-compile-tmp/imp918s.imp"
void LOADPAIR( int ODDEVEN )
#line 5708 "regression-compile-tmp/imp918s.imp"
{
                                                                //   5709           {%SHORTROUTINE}
                                                                //   5710           ! THIS ROUTINE LOADS OPERAND 1 INTO AN EVEN0ODDPAIR
                                                                //   5711           ! THE PAIR IS CLAIMED AS LATE AS POSSIBLE
                                                                //   5712           %INTEGER PAIR,TOTHER
#line 5712 "regression-compile-tmp/imp918s.imp"
int PAIR;
#line 5712 "regression-compile-tmp/imp918s.imp"
int TOTHER;
                                                                //   5713           CYC BITS=CYC BITS!64;         ! SET EVENODD PAIR BIT
#line 5713 "regression-compile-tmp/imp918s.imp"
CYCBITS = ((CYCBITS) | (64));
                                                                //   5714           LOAD(OPND1,-1,0);              ! IN STORE UNLESS RT ETC
#line 5714 "regression-compile-tmp/imp918s.imp"
LOAD(OPND1, (-1), 0);
                                                                //   5715           LOAD(OPND2,-1,0)
#line 5715 "regression-compile-tmp/imp918s.imp"
LOAD(OPND2, (-1), 0);
                                                                //   5716           -> IN STORE %UNLESS OPND1_FLAG=9 %AND OPND1_D<0
#line 5716 "regression-compile-tmp/imp918s.imp"
if (((OPND1->FLAG) != (9))) goto L_0594;
#line 5716 "regression-compile-tmp/imp918s.imp"
if (((OPND1->D) < (0))) goto L_0595;
#line 5716 "regression-compile-tmp/imp918s.imp"
L_0594:;
#line 5716 "regression-compile-tmp/imp918s.imp"
goto U_106c;
#line 5716 "regression-compile-tmp/imp918s.imp"
L_0595:;
                                                                //   5717           TOTHER=OPND1_XB!!1
#line 5717 "regression-compile-tmp/imp918s.imp"
TOTHER = ((OPND1->XB) ^ (1));
                                                                //   5718           -> INSTORE %UNLESS REGISTER(TOTHER)=0
#line 5718 "regression-compile-tmp/imp918s.imp"
if (((REGISTER[TOTHER]) == (0))) goto L_0596;
#line 5718 "regression-compile-tmp/imp918s.imp"
goto U_106c;
#line 5718 "regression-compile-tmp/imp918s.imp"
L_0596:;
                                                                //   5719           REGISTER(TOTHER)=1; PAIR=TOTHER&14
#line 5719 "regression-compile-tmp/imp918s.imp"
REGISTER[TOTHER] = 1;
#line 5719 "regression-compile-tmp/imp918s.imp"
PAIR = ((TOTHER) & (14));
                                                                //   5720           -> FIN %IF ODDEVEN+PAIR#TOTHER
#line 5720 "regression-compile-tmp/imp918s.imp"
if ((((((int)(ODDEVEN)) + (PAIR))) == (TOTHER))) goto L_0597;
#line 5720 "regression-compile-tmp/imp918s.imp"
goto U_106d;
#line 5720 "regression-compile-tmp/imp918s.imp"
L_0597:;
                                                                //   5721           LOAD(OPND1,TOTHER,2); REGISTER(TOTHER!!1)=1; ->FIN
#line 5721 "regression-compile-tmp/imp918s.imp"
LOAD(OPND1, TOTHER, 2);
#line 5721 "regression-compile-tmp/imp918s.imp"
REGISTER[((TOTHER) ^ (1))] = 1;
#line 5721 "regression-compile-tmp/imp918s.imp"
goto U_106d;
                                                                //   5722  INSTORE: CLAIM PAIR(PAIR)
#line 5722 "regression-compile-tmp/imp918s.imp"
U_106c:;
#line 5722 "regression-compile-tmp/imp918s.imp"
CLAIMPAIR(&PAIR);
                                                                //   5723           LOAD(OPND1,PAIR+ODDEVEN,2)
#line 5723 "regression-compile-tmp/imp918s.imp"
LOAD(OPND1, (((int)(PAIR)) + (ODDEVEN)), 2);
                                                                //   5724  FIN:     OPND1_XB=PAIR;                ! ALWAYS LH MEMBER
#line 5724 "regression-compile-tmp/imp918s.imp"
U_106d:;
#line 5724 "regression-compile-tmp/imp918s.imp"
OPND1->XB = PAIR;
                                                                //   5725           REGISTER(PAIR)=2
#line 5725 "regression-compile-tmp/imp918s.imp"
REGISTER[PAIR] = 2;
                                                                //   5726           REGISTER(PAIR+1)=2
#line 5726 "regression-compile-tmp/imp918s.imp"
REGISTER[(((int)(PAIR)) + (1))] = 2;
                                                                //   5727           LOAD(OPND2,-1,1)
#line 5727 "regression-compile-tmp/imp918s.imp"
LOAD(OPND2, (-1), 1);
                                                                //   5728           REGISTER(PAIR)=1
#line 5728 "regression-compile-tmp/imp918s.imp"
REGISTER[PAIR] = 1;
                                                                //   5729           REGISTER(PAIR+1)=1
#line 5729 "regression-compile-tmp/imp918s.imp"
REGISTER[(((int)(PAIR)) + (1))] = 1;
                                                                //   5730           %END
#line 5730 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block LOADPAIR at level 4
                                                                //   5731           %ROUTINE CLAIM PAIR(%INTEGERNAME REG)
#line 5731 "regression-compile-tmp/imp918s.imp"
void CLAIMPAIR( int /*name*/*REG )
#line 5731 "regression-compile-tmp/imp918s.imp"
{
                                                                //   5732           {%SHORTROUTINE}
                                                                //   5733           %INTEGER I,J,K
#line 5733 "regression-compile-tmp/imp918s.imp"
int I;
#line 5733 "regression-compile-tmp/imp918s.imp"
int J;
#line 5733 "regression-compile-tmp/imp918s.imp"
int K;
                                                                //   5734           %CYCLE I=0,1,2
#line 5734 "regression-compile-tmp/imp918s.imp"
I = (-1);
if ((((2)-(0)) % (1)) != 0) _imp_signal(5,1,0,"Illegal cycle I = 0, 1, 2");
L_0598:;
if (I == 2) goto L_0599;
I += 1;
                                                                //   5735           %CYCLE K=6,-2,-2
#line 5735 "regression-compile-tmp/imp918s.imp"
K = 8;
if (((((-2))-(6)) % ((-2))) != 0) _imp_signal(5,1,0,"Illegal cycle K = 6, (-2), (-2)");
L_059b:;
if (K == (-2)) goto L_059c;
K += (-2);
                                                                //   5736           J=K&15
#line 5736 "regression-compile-tmp/imp918s.imp"
J = ((K) & (15));
                                                                //   5737           -> FOUND %IF REGISTER(J)=REGISTER(J+1)=0 %AND (I>0 %OR  %C
#line 5737 "regression-compile-tmp/imp918s.imp"
if ((((REGISTER[J]) != (REGISTER[(((int)(J)) + (1))]))) || (((REGISTER[(((int)(J)) + (1))]) != (0)))) goto L_059e;
#line 5737 "regression-compile-tmp/imp918s.imp"
if (((I) > (0))) goto L_059f;
#line 5737 "regression-compile-tmp/imp918s.imp"
if ((((GRUSE[J]) != (0))) || (((0) != (GRUSE[(((int)(J)) + (1))])))) goto L_059e;
#line 5737 "regression-compile-tmp/imp918s.imp"
L_059f:;
#line 5737 "regression-compile-tmp/imp918s.imp"
goto U_106d;
#line 5737 "regression-compile-tmp/imp918s.imp"
L_059e:;
                                                                //   5738           GRUSE(J)=0=GRUSE(J+1))
                                                                //   5739           %REPEAT
#line 5739 "regression-compile-tmp/imp918s.imp"
goto L_059b;
#line 5739 "regression-compile-tmp/imp918s.imp"
L_059c:;
                                                                //   5740           SAVE IRS(4) %IF I=1
#line 5740 "regression-compile-tmp/imp918s.imp"
if (((I) != (1))) goto L_05a0;
#line 5740 "regression-compile-tmp/imp918s.imp"
SAVEIRS(4);
#line 5740 "regression-compile-tmp/imp918s.imp"
L_05a0:;
                                                                //   5741           %REPEAT
#line 5741 "regression-compile-tmp/imp918s.imp"
goto L_0598;
#line 5741 "regression-compile-tmp/imp918s.imp"
L_0599:;
                                                                //   5742           ABORT
#line 5742 "regression-compile-tmp/imp918s.imp"
ABORT();
                                                                //   5743  FOUND:   REGISTER(J)=1
#line 5743 "regression-compile-tmp/imp918s.imp"
U_106d:;
#line 5743 "regression-compile-tmp/imp918s.imp"
REGISTER[J] = 1;
                                                                //   5744           REGISTER(J+1)=1
#line 5744 "regression-compile-tmp/imp918s.imp"
REGISTER[(((int)(J)) + (1))] = 1;
                                                                //   5745           REG=J
#line 5745 "regression-compile-tmp/imp918s.imp"
*REG = J;
                                                                //   5746           %END
#line 5746 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block CLAIMPAIR at level 4
                                                                //   5747           %ROUTINE CTOP(%INTEGERNAME FLAG)
#line 5747 "regression-compile-tmp/imp918s.imp"
void CTOP( int /*name*/*FLAG )
#line 5747 "regression-compile-tmp/imp918s.imp"
{
                                                                //   5748           {%SHORTROUTINE}
                                                                //   5749           %COMMENT ON EXIT FLAG=0 %IF OPERATION CARRIED OUT
                                                                //   5750           %INTEGER K,VAL1,VAL2,TYPEP,PRECP,OP
#line 5750 "regression-compile-tmp/imp918s.imp"
int K;
#line 5750 "regression-compile-tmp/imp918s.imp"
int VAL1;
#line 5750 "regression-compile-tmp/imp918s.imp"
int VAL2;
#line 5750 "regression-compile-tmp/imp918s.imp"
int TYPEP;
#line 5750 "regression-compile-tmp/imp918s.imp"
int PRECP;
#line 5750 "regression-compile-tmp/imp918s.imp"
int OP;
                                                                //   5751           %LONGREAL RVAL1,RVAL2
#line 5751 "regression-compile-tmp/imp918s.imp"
double RVAL1;
#line 5751 "regression-compile-tmp/imp918s.imp"
double RVAL2;
                                                                //   5752           %SWITCH SW(10:41)
#line 5752 "regression-compile-tmp/imp918s.imp"
static int sw14_SW_idx;
static const void * /*SWITCH*/ sw14_SW[32] = { &&sw14_SW_10, &&sw14_SW_11, &&sw14_SW_12, &&sw14_SW_13, &&sw14_SW_14, &&sw14_SW_15, &&sw14_SW_16, &&sw14_SW_17, &&sw14_SW_18, &&sw14_SW_19, &&sw14_SW_20, &&sw14_SW_21, &&sw14_SW_22, &&sw14_SW_23, &&sw14_SW_24, &&sw14_SW_25, &&sw14_SW_26, &&sw14_SW_27, &&sw14_SW_28, &&sw14_SW_29, &&sw14_SW_30, &&sw14_SW_31, &&sw14_SW_32, &&sw14_SW_33, &&sw14_SW_34, &&sw14_SW_35, &&sw14_SW_36, &&sw14_SW_37, &&sw14_SW_38, &&sw14_SW_39, &&sw14_SW_40, &&sw14_SW_41,  };
                                                                //   5753           NEWCC=0;                       !COMPILE TIME OPS CAN NOT SET CC
#line 5753 "regression-compile-tmp/imp918s.imp"
NEWCC = 0;
                                                                //   5754           TYPEP=TYPE; PRECP=PREC; OP=FLAG
#line 5754 "regression-compile-tmp/imp918s.imp"
TYPEP = TYPE;
#line 5754 "regression-compile-tmp/imp918s.imp"
PRECP = PREC;
#line 5754 "regression-compile-tmp/imp918s.imp"
OP = *FLAG;
                                                                //   5755           ->Label99 %IF OP>25
#line 5755 "regression-compile-tmp/imp918s.imp"
if (((OP) <= (25))) goto L_05a1;
#line 5755 "regression-compile-tmp/imp918s.imp"
goto U_105a;
#line 5755 "regression-compile-tmp/imp918s.imp"
L_05a1:;
                                                                //   5756           %IF TYPEP=2 %THEN %START
#line 5756 "regression-compile-tmp/imp918s.imp"
if (((TYPEP) != (2))) goto L_05a2;
                                                                //   5757           FROM AR8(OPND1_D+1,RVAL1)
#line 5757 "regression-compile-tmp/imp918s.imp"
FROMAR8((((int)(OPND1->D)) + (1)), &RVAL1);
                                                                //   5758           FROMAR8(OPND2_D+1,RVAL2)
#line 5758 "regression-compile-tmp/imp918s.imp"
FROMAR8((((int)(OPND2->D)) + (1)), &RVAL2);
                                                                //   5759           %FINISH %ELSE %START
#line 5759 "regression-compile-tmp/imp918s.imp"
goto L_05a3;
#line 5759 "regression-compile-tmp/imp918s.imp"
L_05a2:;
                                                                //   5760           %IF OPND1_FLAG=0 %THEN VAL1=OPND1_D %ELSE %C
#line 5760 "regression-compile-tmp/imp918s.imp"
if (((OPND1->FLAG) != (0))) goto L_05a4;
#line 5760 "regression-compile-tmp/imp918s.imp"
VAL1 = OPND1->D;
#line 5760 "regression-compile-tmp/imp918s.imp"
goto L_05a5;
#line 5760 "regression-compile-tmp/imp918s.imp"
L_05a4:;
#line 5760 "regression-compile-tmp/imp918s.imp"
FROMAR4((((int)(OPND1->D)) + (1)), &VAL1);
#line 5760 "regression-compile-tmp/imp918s.imp"
L_05a5:;
                                                                //   5761           FROMAR4(OPND1_D+1,VAL1)
                                                                //   5762           %IF OPND2_FLAG=0 %THEN VAL2=OPND2_D %ELSE  %C
#line 5762 "regression-compile-tmp/imp918s.imp"
if (((OPND2->FLAG) != (0))) goto L_05a6;
#line 5762 "regression-compile-tmp/imp918s.imp"
VAL2 = OPND2->D;
#line 5762 "regression-compile-tmp/imp918s.imp"
goto L_05a7;
#line 5762 "regression-compile-tmp/imp918s.imp"
L_05a6:;
#line 5762 "regression-compile-tmp/imp918s.imp"
FROMAR4((((int)(OPND2->D)) + (1)), &VAL2);
#line 5762 "regression-compile-tmp/imp918s.imp"
L_05a7:;
                                                                //   5763           FROMAR4(OPND2_D+1,VAL2)
                                                                //   5764           %FINISH
#line 5764 "regression-compile-tmp/imp918s.imp"
L_05a3:;
                                                                //   5765           -> SW(16*(TYPEP-1)+OP)
#line 5765 "regression-compile-tmp/imp918s.imp"
sw14_SW_idx = (((int)(((16) * ((int)((((int)(TYPEP)) - (1))))))) + (OP)); if ((10 <= sw14_SW_idx) && (sw14_SW_idx <= 41)) goto *(sw14_SW-10)[sw14_SW_idx];  /* Bounds=10:41 */ else {
   /*_imp_signal(8, 2, sw14_SW_idx);*/
   fprintf(stderr, "%%SWITCH index SW(%d) not in range 10:41 at %s:%d\n",
           sw14_SW_idx, (_imp_current_file != 0 ? _imp_current_file : __FILE__),
           (_imp_current_line != 0 ? _imp_current_line : __LINE__));
           exit(1);
}
                                                                //   5766  SW(10):                                ! \&
#line 5766 "regression-compile-tmp/imp918s.imp"
sw14_SW_10:;
                                                                //   5767           VAL1=\VAL1
#line 5767 "regression-compile-tmp/imp918s.imp"
VAL1 = (~(VAL1));
                                                                //   5768  INTEND:  A(R)=1; TOAR4(R+1,VAL1)
#line 5768 "regression-compile-tmp/imp918s.imp"
U_105b:;
#line 5768 "regression-compile-tmp/imp918s.imp"
A[((R) + ((int)(7)))] = 1;
#line 5768 "regression-compile-tmp/imp918s.imp"
TOAR4((((int)(R)) + (1)), VAL1);
                                                                //   5769           FLAG=0; OPND1_PTYPE=1
#line 5769 "regression-compile-tmp/imp918s.imp"
*FLAG = 0;
#line 5769 "regression-compile-tmp/imp918s.imp"
OPND1->PTYPE = 1;
                                                                //   5770           OPND1_FLAG=1; OPND1_D=R;
#line 5770 "regression-compile-tmp/imp918s.imp"
OPND1->FLAG = 1;
#line 5770 "regression-compile-tmp/imp918s.imp"
OPND1->D = R;
                                                                //   5771           R=R+3; ->Label99
#line 5771 "regression-compile-tmp/imp918s.imp"
R = (((int)(R)) + (3));
#line 5771 "regression-compile-tmp/imp918s.imp"
goto U_105a;
                                                                //   5772  SW(11):                                ! INTEGER NEGATE
#line 5772 "regression-compile-tmp/imp918s.imp"
sw14_SW_11:;
                                                                //   5773           VAL1=-VAL1; -> INT END
#line 5773 "regression-compile-tmp/imp918s.imp"
VAL1 = (-(VAL1));
#line 5773 "regression-compile-tmp/imp918s.imp"
goto U_105b;
                                                                //   5774  SW(13):                                ! INTEGER ABS
#line 5774 "regression-compile-tmp/imp918s.imp"
sw14_SW_13:;
                                                                //   5775           VAL1=|VAL1|; -> INT END
#line 5775 "regression-compile-tmp/imp918s.imp"
VAL1 = _imp_IMOD(VAL1);
#line 5775 "regression-compile-tmp/imp918s.imp"
goto U_105b;
                                                                //   5776  SW(12):                                ! INTEGER FLOAT
#line 5776 "regression-compile-tmp/imp918s.imp"
sw14_SW_12:;
                                                                //   5777           RVAL1=VAL1; PRECP=3*XTRA
#line 5777 "regression-compile-tmp/imp918s.imp"
RVAL1 = VAL1;
#line 5777 "regression-compile-tmp/imp918s.imp"
PRECP = (((int)(3)) * (XTRA));
                                                                //   5778           ->REAL END %UNLESS VAL1=0
#line 5778 "regression-compile-tmp/imp918s.imp"
if (((VAL1) == (0))) goto L_05a8;
#line 5778 "regression-compile-tmp/imp918s.imp"
goto U_105c;
#line 5778 "regression-compile-tmp/imp918s.imp"
L_05a8:;
                                                                //   5779           CYC BITS=CYC BITS!16;          ! USES PERMS CONST TABLE
#line 5779 "regression-compile-tmp/imp918s.imp"
CYCBITS = ((CYCBITS) | (16));
                                                                //   5780           OPND1_FLAG=9; OPND1_XB=CODER; ! TREAT ZERO SPECIALLY
#line 5780 "regression-compile-tmp/imp918s.imp"
OPND1->FLAG = 9;
#line 5780 "regression-compile-tmp/imp918s.imp"
OPND1->XB = 12;
                                                                //   5781           OPND1_D=X'C0'; ->Label98;          ! TO ALLOW LTDR ETC
#line 5781 "regression-compile-tmp/imp918s.imp"
OPND1->D = 192;
#line 5781 "regression-compile-tmp/imp918s.imp"
goto U_105d;
                                                                //   5782  SW(30):                                ! STRETCH REAL
#line 5782 "regression-compile-tmp/imp918s.imp"
sw14_SW_30:;
                                                                //   5783  REAL END:A(R)=2; TOAR8(R+1,RVAL1)
#line 5783 "regression-compile-tmp/imp918s.imp"
U_105c:;
#line 5783 "regression-compile-tmp/imp918s.imp"
A[((R) + ((int)(7)))] = 2;
#line 5783 "regression-compile-tmp/imp918s.imp"
TOAR8((((int)(R)) + (1)), RVAL1);
                                                                //   5784           OPND1_FLAG=1; OPND1_D=R; R=R+5
#line 5784 "regression-compile-tmp/imp918s.imp"
OPND1->FLAG = 1;
#line 5784 "regression-compile-tmp/imp918s.imp"
OPND1->D = R;
#line 5784 "regression-compile-tmp/imp918s.imp"
R = (((int)(R)) + (5));
                                                                //   5785  Label98:      FLAG=0; OPND1_PTYPE=10*PRECP+2
#line 5785 "regression-compile-tmp/imp918s.imp"
U_105d:;
#line 5785 "regression-compile-tmp/imp918s.imp"
*FLAG = 0;
#line 5785 "regression-compile-tmp/imp918s.imp"
OPND1->PTYPE = (((int)((((int)(10)) * (PRECP)))) + (2));
                                                                //   5786           ->Label99
#line 5786 "regression-compile-tmp/imp918s.imp"
goto U_105a;
                                                                //   5787  SW(14):                                ! STRETCH INTEGER
#line 5787 "regression-compile-tmp/imp918s.imp"
sw14_SW_14:;
                                                                //   5788  SW(28):                                ! FLOAT REAL
#line 5788 "regression-compile-tmp/imp918s.imp"
sw14_SW_28:;
                                                                //   5789           ABORT
#line 5789 "regression-compile-tmp/imp918s.imp"
ABORT();
                                                                //   5790  SW(15):                                ! ADD
#line 5790 "regression-compile-tmp/imp918s.imp"
sw14_SW_15:;
                                                                //   5791           VAL1=VAL1+VAL2; -> INT END
#line 5791 "regression-compile-tmp/imp918s.imp"
VAL1 = (((int)(VAL1)) + (VAL2));
#line 5791 "regression-compile-tmp/imp918s.imp"
goto U_105b;
                                                                //   5792  SW(16):                                ! MINUS
#line 5792 "regression-compile-tmp/imp918s.imp"
sw14_SW_16:;
                                                                //   5793           VAL1=VAL1-VAL2; -> INT END
#line 5793 "regression-compile-tmp/imp918s.imp"
VAL1 = (((int)(VAL1)) - (VAL2));
#line 5793 "regression-compile-tmp/imp918s.imp"
goto U_105b;
                                                                //   5794  SW(17):                                ! EXCLUSIVE OR
#line 5794 "regression-compile-tmp/imp918s.imp"
sw14_SW_17:;
                                                                //   5795           VAL1=VAL1!!VAL2; -> INT END
#line 5795 "regression-compile-tmp/imp918s.imp"
VAL1 = ((VAL1) ^ (VAL2));
#line 5795 "regression-compile-tmp/imp918s.imp"
goto U_105b;
                                                                //   5796  SW(18):                                ! OR
#line 5796 "regression-compile-tmp/imp918s.imp"
sw14_SW_18:;
                                                                //   5797           VAL1=VAL1!VAL2; -> INT END
#line 5797 "regression-compile-tmp/imp918s.imp"
VAL1 = ((VAL1) | (VAL2));
#line 5797 "regression-compile-tmp/imp918s.imp"
goto U_105b;
                                                                //   5798  SW(19):                                ! MULT
#line 5798 "regression-compile-tmp/imp918s.imp"
sw14_SW_19:;
                                                                //   5799           VAL1=VAL1*VAL2; -> INT END
#line 5799 "regression-compile-tmp/imp918s.imp"
VAL1 = (((int)(VAL1)) * (VAL2));
#line 5799 "regression-compile-tmp/imp918s.imp"
goto U_105b;
                                                                //   5800  SW(21):  ->Label99;                           ! / DIVISION
#line 5800 "regression-compile-tmp/imp918s.imp"
sw14_SW_21:;
#line 5800 "regression-compile-tmp/imp918s.imp"
goto U_105a;
                                                                //   5801  SW(20):  ->Label99 %IF VAL2=0;              ! // DIVISION
#line 5801 "regression-compile-tmp/imp918s.imp"
sw14_SW_20:;
#line 5801 "regression-compile-tmp/imp918s.imp"
if (((VAL2) != (0))) goto L_05a9;
#line 5801 "regression-compile-tmp/imp918s.imp"
goto U_105a;
#line 5801 "regression-compile-tmp/imp918s.imp"
L_05a9:;
                                                                //   5802           VAL1=VAL1//VAL2; -> INT END
#line 5802 "regression-compile-tmp/imp918s.imp"
VAL1 = (long)((long)((int)(VAL1)) / (long)((int)(_Z(VAL2))));
#line 5802 "regression-compile-tmp/imp918s.imp"
goto U_105b;
                                                                //   5803  SW(22):                                ! AND
#line 5803 "regression-compile-tmp/imp918s.imp"
sw14_SW_22:;
                                                                //   5804           VAL1=VAL1&VAL2; -> INT END
#line 5804 "regression-compile-tmp/imp918s.imp"
VAL1 = ((VAL1) & (VAL2));
#line 5804 "regression-compile-tmp/imp918s.imp"
goto U_105b;
                                                                //   5805  SW(24):                                ! SLL
#line 5805 "regression-compile-tmp/imp918s.imp"
sw14_SW_24:;
                                                                //   5806           VAL1=VAL1<<VAL2; -> INT END
#line 5806 "regression-compile-tmp/imp918s.imp"
VAL1 = ((VAL1) << (VAL2));
#line 5806 "regression-compile-tmp/imp918s.imp"
goto U_105b;
                                                                //   5807  SW(23):                                ! SRL
#line 5807 "regression-compile-tmp/imp918s.imp"
sw14_SW_23:;
                                                                //   5808           VAL1=VAL1>>VAL2; -> INT END
#line 5808 "regression-compile-tmp/imp918s.imp"
VAL1 = (int)((((unsigned int)(VAL1)) >> (VAL2)));
#line 5808 "regression-compile-tmp/imp918s.imp"
goto U_105b;
                                                                //   5809  SW(27):                                ! NEGATE
#line 5809 "regression-compile-tmp/imp918s.imp"
sw14_SW_27:;
                                                                //   5810           RVAL1=-RVAL1; -> REAL END
#line 5810 "regression-compile-tmp/imp918s.imp"
RVAL1 = (-(RVAL1));
#line 5810 "regression-compile-tmp/imp918s.imp"
goto U_105c;
                                                                //   5811  SW(29):                                ! ABS
#line 5811 "regression-compile-tmp/imp918s.imp"
sw14_SW_29:;
                                                                //   5812           RVAL1=|RVAL1|; -> REAL END
#line 5812 "regression-compile-tmp/imp918s.imp"
RVAL1 = _imp_MOD(RVAL1);
#line 5812 "regression-compile-tmp/imp918s.imp"
goto U_105c;
                                                                //   5813  SW(31):                                ! ADD
#line 5813 "regression-compile-tmp/imp918s.imp"
sw14_SW_31:;
                                                                //   5814           RVAL1=RVAL1+RVAL2; -> REAL END
#line 5814 "regression-compile-tmp/imp918s.imp"
RVAL1 = (((double)(RVAL1)) + (RVAL2));
#line 5814 "regression-compile-tmp/imp918s.imp"
goto U_105c;
                                                                //   5815  SW(32):                                ! SUBTRACT
#line 5815 "regression-compile-tmp/imp918s.imp"
sw14_SW_32:;
                                                                //   5816           RVAL1=RVAL1-RVAL2; -> REAL END
#line 5816 "regression-compile-tmp/imp918s.imp"
RVAL1 = (((double)(RVAL1)) - (RVAL2));
#line 5816 "regression-compile-tmp/imp918s.imp"
goto U_105c;
                                                                //   5817  SW(35):                                ! MULT
#line 5817 "regression-compile-tmp/imp918s.imp"
sw14_SW_35:;
                                                                //   5818           RVAL1=RVAL1*RVAL2; -> REAL END
#line 5818 "regression-compile-tmp/imp918s.imp"
RVAL1 = (((double)(RVAL1)) * (RVAL2));
#line 5818 "regression-compile-tmp/imp918s.imp"
goto U_105c;
                                                                //   5819  SW(37):                                ! DIVISION
#line 5819 "regression-compile-tmp/imp918s.imp"
sw14_SW_37:;
                                                                //   5820           ->Label99 %IF RVAL2=0;             ! AVOID DIV BY ZERO
#line 5820 "regression-compile-tmp/imp918s.imp"
if (((RVAL2) != (0))) goto L_05aa;
#line 5820 "regression-compile-tmp/imp918s.imp"
goto U_105a;
#line 5820 "regression-compile-tmp/imp918s.imp"
L_05aa:;
                                                                //   5821           RVAL1=RVAL1/RVAL2; -> REAL END
#line 5821 "regression-compile-tmp/imp918s.imp"
RVAL1 = (double)((double)((double)(RVAL1)) / (double)((double)(RVAL2)));
#line 5821 "regression-compile-tmp/imp918s.imp"
goto U_105c;
                                                                //   5822  SW(41):                                ! EXP
#line 5822 "regression-compile-tmp/imp918s.imp"
sw14_SW_41:;
                                                                //   5823           %IF OPND2_FLAG#0 %THEN  ->Label99
#line 5823 "regression-compile-tmp/imp918s.imp"
if (((OPND2->FLAG) == (0))) goto L_05ab;
#line 5823 "regression-compile-tmp/imp918s.imp"
goto U_105a;
#line 5823 "regression-compile-tmp/imp918s.imp"
L_05ab:;
                                                                //   5824           RVAL1=RVAL1^OPND2_D; -> REAL END
#line 5824 "regression-compile-tmp/imp918s.imp"
RVAL1 = _imp_REXP(RVAL1, OPND2->D);
#line 5824 "regression-compile-tmp/imp918s.imp"
goto U_105c;
                                                                //   5825  SW(25):SW(26):SW(33):SW(34):
#line 5825 "regression-compile-tmp/imp918s.imp"
sw14_SW_25:;
#line 5825 "regression-compile-tmp/imp918s.imp"
sw14_SW_26:;
#line 5825 "regression-compile-tmp/imp918s.imp"
sw14_SW_33:;
#line 5825 "regression-compile-tmp/imp918s.imp"
sw14_SW_34:;
                                                                //   5826  SW(36):SW(38):SW(39):SW(40):
#line 5826 "regression-compile-tmp/imp918s.imp"
sw14_SW_36:;
#line 5826 "regression-compile-tmp/imp918s.imp"
sw14_SW_38:;
#line 5826 "regression-compile-tmp/imp918s.imp"
sw14_SW_39:;
#line 5826 "regression-compile-tmp/imp918s.imp"
sw14_SW_40:;
                                                                //   5827  Label99:      %END
#line 5827 "regression-compile-tmp/imp918s.imp"
U_105a:;
#line 5827 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block CTOP at level 4
                                                                //   5828           %ROUTINE FLOAT
#line 5828 "regression-compile-tmp/imp918s.imp"
void FLOAT( void )
#line 5828 "regression-compile-tmp/imp918s.imp"
{
                                                                //   5829           {%SHORTROUTINE}
                                                                //   5830  !***********************************************************************
                                                                //   5831  !*       PLANT CODE TO CONERT OPERAND1 FROM FIXED TO FLOATING          *
                                                                //   5832  !***********************************************************************
                                                                //   5833           %INTEGER P1,P2,K
#line 5833 "regression-compile-tmp/imp918s.imp"
int P1;
#line 5833 "regression-compile-tmp/imp918s.imp"
int P2;
#line 5833 "regression-compile-tmp/imp918s.imp"
int K;
                                                                //   5834           P1=OPND1_XB; ; P2=(P1+1)&15
#line 5834 "regression-compile-tmp/imp918s.imp"
P1 = OPND1->XB;
#line 5834 "regression-compile-tmp/imp918s.imp"
P2 = (((((int)(P1)) + (1))) & (15));
                                                                //   5835           %UNLESS OPND1_FLAG=9 %AND OPND1_D<0 %AND %C
#line 5835 "regression-compile-tmp/imp918s.imp"
if (((OPND1->FLAG) != (9))) goto L_059a;
#line 5835 "regression-compile-tmp/imp918s.imp"
if (((OPND1->D) >= (0))) goto L_059a;
#line 5835 "regression-compile-tmp/imp918s.imp"
if ((((REGISTER[P1]) < (0))) || (((0) != (REGISTER[P2])))) goto L_059a;
#line 5835 "regression-compile-tmp/imp918s.imp"
if (((GRUSE[P2]) > (1))) goto L_05ac;
#line 5835 "regression-compile-tmp/imp918s.imp"
L_059a:;
                                                                //   5836              REGISTER(P1)>=0=REGISTER(P2) %AND GRUSE(P2)>1 %START
                                                                //   5837              FIND SEQ(P1,P2)
#line 5837 "regression-compile-tmp/imp918s.imp"
FINDSEQ(&P1, &P2);
                                                                //   5838              LOAD(OPND1,P1,2)
#line 5838 "regression-compile-tmp/imp918s.imp"
LOAD(OPND1, P1, 2);
                                                                //   5839           %FINISH
#line 5839 "regression-compile-tmp/imp918s.imp"
L_05ac:;
                                                                //   5840           PRR(X'10',P2,P1);             ! LPR P2,P1
#line 5840 "regression-compile-tmp/imp918s.imp"
PRR(16, P2, P1);
                                                                //   5841           PRX(X'54',P1,CODER,0,X'E0');  ! N P1,=X'80000000'
#line 5841 "regression-compile-tmp/imp918s.imp"
PRX(84, P1, 12, 0, 224);
                                                                //   5842           PRX(X'56',P1,CODER,0,X'D0');  ! O P1,=X'4E000000'
#line 5842 "regression-compile-tmp/imp918s.imp"
PRX(86, P1, 12, 0, 208);
                                                                //   5843           PRX(X'90',P1,P2,WSPR,0);      ! STM P1,P2,0(11)
#line 5843 "regression-compile-tmp/imp918s.imp"
PRX(144, P1, P2, 11, 0);
                                                                //   5844           CLAIM (FR0,K); D=K
#line 5844 "regression-compile-tmp/imp918s.imp"
CLAIM((-125424), &K);
#line 5844 "regression-compile-tmp/imp918s.imp"
D = K;
                                                                //   5845           PRR(X'2B',K,K);               ! SDR K,K
#line 5845 "regression-compile-tmp/imp918s.imp"
PRR(43, K, K);
                                                                //   5846           PRX(X'6A',K,0,11,0);          ! AD K,0(11)
#line 5846 "regression-compile-tmp/imp918s.imp"
PRX(106, K, 0, 11, 0);
                                                                //   5847           FREE AND FORGET(P1)
#line 5847 "regression-compile-tmp/imp918s.imp"
FREEANDFORGET(P1);
                                                                //   5848           FORGET(P2)
#line 5848 "regression-compile-tmp/imp918s.imp"
FORGET(P2);
                                                                //   5849           CYC BITS=CYC BITS!16;         ! USES PERMS CONSTANTS
#line 5849 "regression-compile-tmp/imp918s.imp"
CYCBITS = ((CYCBITS) | (16));
                                                                //   5850           CCSTATE=-1
#line 5850 "regression-compile-tmp/imp918s.imp"
CCSTATE = (-1);
                                                                //   5851           %END
#line 5851 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block FLOAT at level 4
                                                                //   5852           %ROUTINE STARSTAR
#line 5852 "regression-compile-tmp/imp918s.imp"
void STARSTAR( void )
#line 5852 "regression-compile-tmp/imp918s.imp"
{
                                                                //   5853           {%SHORTROUTINE}
                                                                //   5854  !***********************************************************************
                                                                //   5855  !*       PLANT IN-LINE CODE FOR EXPONENTIATION                         *
                                                                //   5856  
                                                                //   5857  !*       IMP ALLOWS EXPONENTS IN INTEGER EXPRESSIONS FROM 0-63 AND     *
                                                                //   5858  !*       IN REAL EXPRESSIONS FROM-255 TO +255                          *
                                                                //   5859  !***********************************************************************
                                                                //   5860           %INTEGER TYPEP,PRECP,COUNT,WORK,C,RREG,INTREG
#line 5860 "regression-compile-tmp/imp918s.imp"
int TYPEP;
#line 5860 "regression-compile-tmp/imp918s.imp"
int PRECP;
#line 5860 "regression-compile-tmp/imp918s.imp"
int COUNT;
#line 5860 "regression-compile-tmp/imp918s.imp"
int WORK;
#line 5860 "regression-compile-tmp/imp918s.imp"
int C;
#line 5860 "regression-compile-tmp/imp918s.imp"
int RREG;
#line 5860 "regression-compile-tmp/imp918s.imp"
int INTREG;
                                                                //   5861           %BYTEINTEGER VALUE
#line 5861 "regression-compile-tmp/imp918s.imp"
unsigned char VALUE;
                                                                //   5862           PTYPE=OPND1_PTYPE;            ! INSPECT THE OPERAND
#line 5862 "regression-compile-tmp/imp918s.imp"
PTYPE = OPND1->PTYPE;
                                                                //   5863          ! UNPACK
                                                                //   5864  !%if USE MC = 1 %start
                                                                //   5865  !            *L_1,PTYPE; *CVD_1,0(11)
                                                                //   5866  !            *UNPK_ROUT(5),5(3,11)
                                                                //   5867  !            *NC_ROUT(5),MASK1
                                                                //   5868  !%finish
                                                                //   5869           %IF TYPE=1 %THEN WARN(LINE)
#line 5869 "regression-compile-tmp/imp918s.imp"
if (((TYPE) != (1))) goto L_05ad;
#line 5869 "regression-compile-tmp/imp918s.imp"
WARN(LINE);
#line 5869 "regression-compile-tmp/imp918s.imp"
L_05ad:;
                                                                //   5870           TYPEP=TYPE
#line 5870 "regression-compile-tmp/imp918s.imp"
TYPEP = TYPE;
                                                                //   5871           %IF PREC&3=3 %THEN PRECP=16 %ELSE PRECP=0
#line 5871 "regression-compile-tmp/imp918s.imp"
if (((((PREC) & (3))) != (3))) goto L_05ae;
#line 5871 "regression-compile-tmp/imp918s.imp"
PRECP = 16;
#line 5871 "regression-compile-tmp/imp918s.imp"
goto L_05af;
#line 5871 "regression-compile-tmp/imp918s.imp"
L_05ae:;
#line 5871 "regression-compile-tmp/imp918s.imp"
PRECP = 0;
#line 5871 "regression-compile-tmp/imp918s.imp"
L_05af:;
                                                                //   5872           VALUE=0
#line 5872 "regression-compile-tmp/imp918s.imp"
VALUE = 0;
                                                                //   5873           %IF OPND2_FLAG=0 %AND 1<=OPND2_D<=63*TYPE %THEN %START
#line 5873 "regression-compile-tmp/imp918s.imp"
if (((OPND2->FLAG) != (0))) goto L_05b0;
#line 5873 "regression-compile-tmp/imp918s.imp"
if ((((1) > (OPND2->D))) || (((OPND2->D) > (((63) * ((int)(TYPE))))))) goto L_05b0;
                                                                //   5874              VALUE=OPND2_D;             ! EXPONENT IS #0 AND CONSTANT
#line 5874 "regression-compile-tmp/imp918s.imp"
VALUE = OPND2->D;
                                                                //   5875           %FINISH
#line 5875 "regression-compile-tmp/imp918s.imp"
L_05b0:;
                                                                //   5876  !
                                                                //   5877  ! MUST TEST BOTH OPERANDS BEFORE CLAIMING WORK REGS IN CASE EITHER OR
                                                                //   5878  ! BOTH ARE FNS AND WE ARE SHORT OF REGS SO THAT THE WORK REGS WILL
                                                                //   5879  ! NOT SURVIVE A FN CALL
                                                                //   5880  !
                                                                //   5881           LOAD(OPND1,-1,0);                 ! INSPECT OPERAND CALL FNS
#line 5881 "regression-compile-tmp/imp918s.imp"
LOAD(OPND1, (-1), 0);
                                                                //   5882           LOAD(OPND2,-1,0);                 ! INSPECT EXPNT & CALL IF FN
#line 5882 "regression-compile-tmp/imp918s.imp"
LOAD(OPND2, (-1), 0);
                                                                //   5883           %IF TYPEP=1 %THEN CLAIM PAIR(WORK) %ELSE CLAIM (FR0,WORK)
#line 5883 "regression-compile-tmp/imp918s.imp"
if (((TYPEP) != (1))) goto L_05b1;
#line 5883 "regression-compile-tmp/imp918s.imp"
CLAIMPAIR(&WORK);
#line 5883 "regression-compile-tmp/imp918s.imp"
goto L_05b2;
#line 5883 "regression-compile-tmp/imp918s.imp"
L_05b1:;
#line 5883 "regression-compile-tmp/imp918s.imp"
CLAIM((-125424), &WORK);
#line 5883 "regression-compile-tmp/imp918s.imp"
L_05b2:;
                                                                //   5884           %IF VALUE#2 %THEN %START;         ! TREAT **2 SPECIALLY
#line 5884 "regression-compile-tmp/imp918s.imp"
if (((VALUE) == (2))) goto L_05b3;
                                                                //   5885              LOAD(OPND1,-1,2);              ! LOAD OPERAND TO ANY REGISTER
#line 5885 "regression-compile-tmp/imp918s.imp"
LOAD(OPND1, (-1), 2);
                                                                //   5886           %FINISH
#line 5886 "regression-compile-tmp/imp918s.imp"
L_05b3:;
                                                                //   5887  !
                                                                //   5888  ! IF EITHER OPERAND IS A FN IT HAS BEEN FETCHED TO A REGISTER
                                                                //   5889  ! SO NOW REGISTERS CAN BE OBTAINED FOR THE IN-LINE SUBROUTINE
                                                                //   5890  !     WORK HOLDS INITIALLY 1 PRIOR TO MULTIPLICATION
                                                                //   5891  !     INTREG  HOLDS THE EXPONENT AS CALCULATED
                                                                //   5892  !     COUNT HOLDS A +VE VERSION OF INTREG FOR COUNTING THE MULTIPLIES
                                                                //   5893  !     RREG HOLD THE OPERAND.
                                                                //   5894  !     COUNT & INTREG CAN BE THE SAME REGISTER IF EXPONENT IS +VE
                                                                //   5895  !
                                                                //   5896           PLABEL=PLABEL-1;              ! LABEL FOR REPITITION
#line 5896 "regression-compile-tmp/imp918s.imp"
PLABEL = (((int)(PLABEL)) - (1));
                                                                //   5897           %IF VALUE=2 %THEN %START;     ! TRANSPOSE X**2 TO X*X
#line 5897 "regression-compile-tmp/imp918s.imp"
if (((VALUE) != (2))) goto L_05b4;
                                                                //   5898              RREG= WORK+2-TYPEP
#line 5898 "regression-compile-tmp/imp918s.imp"
RREG = (((int)((((int)(WORK)) + (2)))) - (TYPEP));
                                                                //   5899              LOAD(OPND1,RREG,2);
#line 5899 "regression-compile-tmp/imp918s.imp"
LOAD(OPND1, RREG, 2);
                                                                //   5900           %FINISH %ELSE %START
#line 5900 "regression-compile-tmp/imp918s.imp"
goto L_05b5;
#line 5900 "regression-compile-tmp/imp918s.imp"
L_05b4:;
                                                                //   5901              LOAD(OPND2,-1,2);              ! EXPONENT TO ANY REGISTER
#line 5901 "regression-compile-tmp/imp918s.imp"
LOAD(OPND2, (-1), 2);
                                                                //   5902              INTREG=OPND2_XB
#line 5902 "regression-compile-tmp/imp918s.imp"
INTREG = OPND2->XB;
                                                                //   5903              RREG=OPND1_XB
#line 5903 "regression-compile-tmp/imp918s.imp"
RREG = OPND1->XB;
                                                                //   5904              %IF TYPE=2 %THEN %START;   ! EXPONENT IS REAL **NOT ALLOWED
#line 5904 "regression-compile-tmp/imp918s.imp"
if (((TYPE) != (2))) goto L_05b6;
                                                                //   5905                 FAULT(39,0)
#line 5905 "regression-compile-tmp/imp918s.imp"
FAULT(39, 0);
                                                                //   5906                 FREE AND FORGET(INTREG+16)
#line 5906 "regression-compile-tmp/imp918s.imp"
FREEANDFORGET((((int)(INTREG)) + (16)));
                                                                //   5907              %FINISH
#line 5907 "regression-compile-tmp/imp918s.imp"
L_05b6:;
                                                                //   5908              COUNT=INTREG
#line 5908 "regression-compile-tmp/imp918s.imp"
COUNT = INTREG;
                                                                //   5909  !
                                                                //   5910  ! GET '1' INTO WORK IN APPROPIATE FORM
                                                                //   5911  !
                                                                //   5912              %IF TYPEP=1 %THEN PRX(X'41',WORK+1,0,0,1) %ELSE %C
#line 5912 "regression-compile-tmp/imp918s.imp"
if (((TYPEP) != (1))) goto L_05b7;
#line 5912 "regression-compile-tmp/imp918s.imp"
PRX(65, (((int)(WORK)) + (1)), 0, 0, 1);
#line 5912 "regression-compile-tmp/imp918s.imp"
goto L_05b8;
#line 5912 "regression-compile-tmp/imp918s.imp"
L_05b7:;
#line 5912 "regression-compile-tmp/imp918s.imp"
PRX((((int)(120)) - (PRECP)), WORK, 0, 12, 200);
#line 5912 "regression-compile-tmp/imp918s.imp"
L_05b8:;
                                                                //   5913                 PRX(X'78'-PRECP,WORK,0,CODER,X'C8'); ! LD(E) WORK,=D'1'
                                                                //   5914  !
                                                                //   5915  ! IF EXPONENT NOT KNOWN AT COMPILE TIME TO BE +VE CONSTANT MUST
                                                                //   5916  ! ALLOW FOR ZERO  :- XX**0=1 FOR ALL XX
                                                                //   5917  ! ALSO ALLOW FOR X**(-N) WHICH IS 1/(X**N) FOR ALL X & N
                                                                //   5918  !
                                                                //   5919              %IF VALUE=0 %THEN %START;          ! NOT +VE CONSTANT
#line 5919 "regression-compile-tmp/imp918s.imp"
if (((VALUE) != (0))) goto L_05b9;
                                                                //   5920                 CLAIM (GR1,COUNT) %IF TYPEP=2;  ! NEGATIVE REAL EXPONENTS
#line 5920 "regression-compile-tmp/imp918s.imp"
if (((TYPEP) != (2))) goto L_05ba;
#line 5920 "regression-compile-tmp/imp918s.imp"
CLAIM(65807, &COUNT);
#line 5920 "regression-compile-tmp/imp918s.imp"
L_05ba:;
                                                                //   5921                 PRR(X'14'-2*TYPEP,COUNT,INTREG);!  LPR OR LTR
#line 5921 "regression-compile-tmp/imp918s.imp"
PRR(((20) - ((int)((((int)(2)) * (TYPEP))))), COUNT, INTREG);
                                                                //   5922                 ENTER JUMP(8,PLABEL,B'11');     ! BZ END OF EXP ROUTINE
#line 5922 "regression-compile-tmp/imp918s.imp"
ENTERJUMP(8, PLABEL, 3);
                                                                //   5923  !
                                                                //   5924  ! IN CHECKING MODE PLANT CODE TO CHECK RANGE OF EXPONENT
                                                                //   5925  !
                                                                //   5926                 %IF CHECKSP=1 %THEN %START
#line 5926 "regression-compile-tmp/imp918s.imp"
if (((CHECKSP) != (1))) goto L_05bb;
                                                                //   5927                    %IF TYPEP=2 %THEN PRX(X'59',COUNT,0,GLA,24) %ELSESTART
#line 5927 "regression-compile-tmp/imp918s.imp"
if (((TYPEP) != (2))) goto L_05bc;
#line 5927 "regression-compile-tmp/imp918s.imp"
PRX(89, COUNT, 0, 13, 24);
#line 5927 "regression-compile-tmp/imp918s.imp"
goto L_05bd;
#line 5927 "regression-compile-tmp/imp918s.imp"
L_05bc:;
                                                                //   5928                       DUMP(X'41',-1,63,0,0);  ! LA NEST,63
#line 5928 "regression-compile-tmp/imp918s.imp"
DUMP(65, (-1), 63, 0, 0);
                                                                //   5929                       PRR(X'15',COUNT,NEST);  ! CLR COUNT,NEST
#line 5929 "regression-compile-tmp/imp918s.imp"
PRR(21, COUNT, NEST);
                                                                //   5930                    %FINISH
#line 5930 "regression-compile-tmp/imp918s.imp"
L_05bd:;
                                                                //   5931                    PCONST(X'4720C048');       !  BH ILLEGAL EXPONENT
#line 5931 "regression-compile-tmp/imp918s.imp"
PCONST(1193328712);
                                                                //   5932                 %FINISH
#line 5932 "regression-compile-tmp/imp918s.imp"
L_05bb:;
                                                                //   5933              %FINISH
#line 5933 "regression-compile-tmp/imp918s.imp"
L_05b9:;
                                                                //   5934              SET LOCAL BASE
#line 5934 "regression-compile-tmp/imp918s.imp"
SETLOCALBASE();
                                                                //   5935              C=CA-LOCAL ADDR;                 ! ADDR OF NEXT INST FOR LOOP
#line 5935 "regression-compile-tmp/imp918s.imp"
C = (((int)(CA)) - (LOCALADDR));
                                                                //   5936           %FINISH
#line 5936 "regression-compile-tmp/imp918s.imp"
L_05b5:;
                                                                //   5937           PRR(32*TYPEP-4-PRECP,WORK,RREG);  ! MR OR MER OR MDR
#line 5937 "regression-compile-tmp/imp918s.imp"
PRR((((int)((((int)((((int)(32)) * (TYPEP)))) - (4)))) - (PRECP)), WORK, RREG);
                                                                //   5938           %IF TYPEP=1 %AND CHECKSP=1 %THEN %START
#line 5938 "regression-compile-tmp/imp918s.imp"
if (((TYPEP) != (1))) goto L_05be;
#line 5938 "regression-compile-tmp/imp918s.imp"
if (((CHECKSP) != (1))) goto L_05be;
                                                                //   5939              PRX(X'8F',WORK,0,0,32);    ! SRDA TO CAUSE INTEGER OFLOW
#line 5939 "regression-compile-tmp/imp918s.imp"
PRX(143, WORK, 0, 0, 32);
                                                                //   5940              PRR(X'18',WORK+1,WORK);    ! LR WORK+1,WORK TO RESTORE
#line 5940 "regression-compile-tmp/imp918s.imp"
PRR(24, (((int)(WORK)) + (1)), WORK);
                                                                //   5941           %FINISH
#line 5941 "regression-compile-tmp/imp918s.imp"
L_05be:;
                                                                //   5942           PRX(X'46',COUNT,LOCAL BASE,0,C) %IF VALUE#2;! BCT COUNT,AGAIN
#line 5942 "regression-compile-tmp/imp918s.imp"
if (((VALUE) == (2))) goto L_05bf;
#line 5942 "regression-compile-tmp/imp918s.imp"
PRX(70, COUNT, LOCALBASE, 0, C);
#line 5942 "regression-compile-tmp/imp918s.imp"
L_05bf:;
                                                                //   5943  !
                                                                //   5944  ! FOR REAL EXPONENTS CHECK IF NEGATIVE AND EVALUATE INVERSE
                                                                //   5945  !
                                                                //   5946           %IF VALUE=0 %AND TYPEP=2 %THEN %START
#line 5946 "regression-compile-tmp/imp918s.imp"
if (((VALUE) != (0))) goto L_05c0;
#line 5946 "regression-compile-tmp/imp918s.imp"
if (((TYPEP) != (2))) goto L_05c0;
                                                                //   5947              PRR(X'12',INTREG,INTREG);  ! LTR ON ORIGINAL EXPONENT
#line 5947 "regression-compile-tmp/imp918s.imp"
PRR(18, INTREG, INTREG);
                                                                //   5948              ENTER JUMP(2,PLABEL,B'11');! BP END OF EXP ROUTINE
#line 5948 "regression-compile-tmp/imp918s.imp"
ENTERJUMP(2, PLABEL, 3);
                                                                //   5949              PRX(X'78'-PRECP,RREG,0,CODER,X'C8');! LD(E) RREG,=D'1'
#line 5949 "regression-compile-tmp/imp918s.imp"
PRX((((int)(120)) - (PRECP)), RREG, 0, 12, 200);
                                                                //   5950              CYC BITS=CYC BITS!16;      ! USES PERMS CONSTANTS
#line 5950 "regression-compile-tmp/imp918s.imp"
CYCBITS = ((CYCBITS) | (16));
                                                                //   5951              PRR(X'3D'-PRECP,RREG,WORK);! DDR  RREG,WORK
#line 5951 "regression-compile-tmp/imp918s.imp"
PRR((((int)(61)) - (PRECP)), RREG, WORK);
                                                                //   5952              PRR(X'38'-PRECP,WORK,RREG);! LDR  WORK,RREG
#line 5952 "regression-compile-tmp/imp918s.imp"
PRR((((int)(56)) - (PRECP)), WORK, RREG);
                                                                //   5953           %FINISH
#line 5953 "regression-compile-tmp/imp918s.imp"
L_05c0:;
                                                                //   5954  !
                                                                //   5955  ! ALL OVER. REAL RESULTS ARE IN FR WORK. INT RESULTS IN GR WORK+1
                                                                //   5956  ! FREE AND FORGET ANY OTHER REGISTERS
                                                                //   5957  !
                                                                //   5958           TYPE=TYPEP; PREC=3*PRECP>>4
#line 5958 "regression-compile-tmp/imp918s.imp"
TYPE = TYPEP;
#line 5958 "regression-compile-tmp/imp918s.imp"
PREC = ((3) * ((int)((int)((((unsigned int)(PRECP)) >> (4))))));
                                                                //   5959           %IF VALUE #2 %THEN %START
#line 5959 "regression-compile-tmp/imp918s.imp"
if (((VALUE) == (2))) goto L_05c1;
                                                                //   5960              FREE AND FORGET((TYPEP&2)<<3+RREG)
#line 5960 "regression-compile-tmp/imp918s.imp"
FREEANDFORGET((((int)(((((TYPEP) & (2))) << (3)))) + (RREG)));
                                                                //   5961              REGISTER(INTREG)=0
#line 5961 "regression-compile-tmp/imp918s.imp"
REGISTER[INTREG] = 0;
                                                                //   5962              FREE AND FORGET(COUNT)
#line 5962 "regression-compile-tmp/imp918s.imp"
FREEANDFORGET(COUNT);
                                                                //   5963           %FINISH
#line 5963 "regression-compile-tmp/imp918s.imp"
L_05c1:;
                                                                //   5964           %IF TYPE=1 %THEN FREE AND FORGET(WORK)
#line 5964 "regression-compile-tmp/imp918s.imp"
if (((TYPE) != (1))) goto L_05c2;
#line 5964 "regression-compile-tmp/imp918s.imp"
FREEANDFORGET(WORK);
#line 5964 "regression-compile-tmp/imp918s.imp"
L_05c2:;
                                                                //   5965           OPND1_PTYPE=10*PREC+TYPE
#line 5965 "regression-compile-tmp/imp918s.imp"
OPND1->PTYPE = (((unsigned char)(((10) * ((int)(PREC))))) + (TYPE));
                                                                //   5966           OPND1_XB=WORK+2-TYPEP
#line 5966 "regression-compile-tmp/imp918s.imp"
OPND1->XB = (((int)((((int)(WORK)) + (2)))) - (TYPEP));
                                                                //   5967           ENTER LAB(PLABEL,B'11');      ! LABEL AT END OF EXP ROUTINE
#line 5967 "regression-compile-tmp/imp918s.imp"
ENTERLAB(PLABEL, 3);
                                                                //   5968           %END
#line 5968 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block STARSTAR at level 4
                                                                //   5969           %END
#line 5969 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block EXPOP at level 3
                                                                //   5970           %INTEGERFN CONST FIND(%INTEGER L,AD)
#line 5970 "regression-compile-tmp/imp918s.imp"
int CONSTFIND( int L, int AD )
#line 5970 "regression-compile-tmp/imp918s.imp"
{
                                                                //   5971  !***********************************************************************
                                                                //   5972  !*       FIND IF THE CONSTANT OF LENGTH 'L' STORED AT ADDRESS 'AD'     *
                                                                //   5973  !*       HAS ALREADY BEEN INSERTED IN THE GLA                          *
                                                                //   5974  !***********************************************************************
                                                                //   5975           {%SHORTROUTINE}
                                                                //   5976           %INTEGER I,J,K,LIST,C1,C2
#line 5976 "regression-compile-tmp/imp918s.imp"
int I;
#line 5976 "regression-compile-tmp/imp918s.imp"
int J;
#line 5976 "regression-compile-tmp/imp918s.imp"
int K;
#line 5976 "regression-compile-tmp/imp918s.imp"
int LIST;
#line 5976 "regression-compile-tmp/imp918s.imp"
int C1;
#line 5976 "regression-compile-tmp/imp918s.imp"
int C2;
                                                                //   5977           LIST=SHORTINTEGER(ADDR(GLAHOLES)+L)
#line 5977 "regression-compile-tmp/imp918s.imp"
LIST = *_imp_SHORTINTEGER((((int)(_imp_ADDR(&GLAHOLES))) + (L)));
                                                                //   5978           C1=0; C2=0
#line 5978 "regression-compile-tmp/imp918s.imp"
C1 = 0;
#line 5978 "regression-compile-tmp/imp918s.imp"
C2 = 0;
                                                                //   5979  !         %CYCLE I=0,1,L-1
                                                                //   5980  !            BYTEINTEGER(ADDR(C1)+I)=BYTEINTEGER(AD)
                                                                //   5981  !            AD=AD+1
                                                                //   5982  !         %REPEAT
                                                                //   5983  !%if USE MC = 1 %start
                                                                //   5984  !         *LM_1,2,L; *BCTR_1,0
                                                                //   5985  !         *MVC_C1(1),0(2)
                                                                //   5986  !         *EX_1,*-6
                                                                //   5987  !%finish
                                                                //   5988  !         %WHILE LIST>0 %CYCLE
                                                                //   5989  !            I=ADDR(ASLIST(LIST))
                                                                //   5990  !            %IF C1=INTEGER(I) %AND C2=INTEGER(I+4) %C
                                                                //   5991  !               %THEN %RESULT=INTEGER(I+8)
                                                                //   5992  !            LIST=SHORT INTEGER(I+14)
                                                                //   5993  !         %REPEAT
                                                                //   5994  !%if USE MC = 1 %start
                                                                //   5995  !         *L_1,LIST; *L_2,ASLIST
                                                                //   5996  !NEXT:    *LTR_1,1; *BC_12,<MISS>
                                                                //   5997  !         *LA_3,0(1,2); *CLC_C1(8),0(3)
                                                                //   5998  !         *BC_8,<HIT>
                                                                //   5999  !AGN:     *LH_1,14(1,2); *BC_15,<NEXT>
                                                                //   6000  !HIT:     *L_1,8(1,2); *LM_4,15,16(7); *BCR_15,15
                                                                //   6001  !%finish
                                                                //   6002  MISS:
#line 6002 "regression-compile-tmp/imp918s.imp"
U_102e:;
                                                                //   6003           %RESULT=-1
#line 6003 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return (-1);
                                                                //   6004           %END
#line 6004 "regression-compile-tmp/imp918s.imp"
} // End of block CONSTFIND at level 3
                                                                //   6005           %ROUTINE STORE CONST(%INTEGERNAME B,D,%INTEGER L,AD)
#line 6005 "regression-compile-tmp/imp918s.imp"
void STORECONST( int /*name*/*B, int /*name*/*D, int L, int AD )
#line 6005 "regression-compile-tmp/imp918s.imp"
{
                                                                //   6006  !***********************************************************************
                                                                //   6007  !*       PUT THE CONSTANT OF LENGTH 'L' AT ADDRESS 'AD' INTO THE GLA   *
                                                                //   6008  !*       AND RECORD ITS POSITION IN CASE THIS CONSTANT IS REUSED       *
                                                                //   6009  !*       A CHECK IS MADE USING 'CONST FIND' TO SEE IF THE CONSTANT HAS *
                                                                //   6010  !*       BEEN INSERTED IN WHICH CASE THE OLD COPY IS REUSED            *
                                                                //   6011  !***********************************************************************
                                                                //   6012           {%SHORTROUTINE}
                                                                //   6013           %INTEGER I,J,K
#line 6013 "regression-compile-tmp/imp918s.imp"
int I;
#line 6013 "regression-compile-tmp/imp918s.imp"
int J;
#line 6013 "regression-compile-tmp/imp918s.imp"
int K;
                                                                //   6014           %SHORTINTEGERNAME LIST
#line 6014 "regression-compile-tmp/imp918s.imp"
short /*name*/*LIST;
                                                                //   6015           D=-1
#line 6015 "regression-compile-tmp/imp918s.imp"
*D = (-1);
                                                                //   6016           D=CONST FIND(L,AD) %IF GLAFLAG = 0
#line 6016 "regression-compile-tmp/imp918s.imp"
if (((GLAFLAG) != (0))) goto L_05c3;
#line 6016 "regression-compile-tmp/imp918s.imp"
*D = CONSTFIND(L, AD);
#line 6016 "regression-compile-tmp/imp918s.imp"
L_05c3:;
                                                                //   6017           %IF D=-1  %START;! FIRST USE OF CNST
#line 6017 "regression-compile-tmp/imp918s.imp"
if (((*D) != ((-1)))) goto L_05c4;
                                                                //   6018              I=0; J=0
#line 6018 "regression-compile-tmp/imp918s.imp"
I = 0;
#line 6018 "regression-compile-tmp/imp918s.imp"
J = 0;
                                                                //   6019              %CYCLE K=0,1,L-1
#line 6019 "regression-compile-tmp/imp918s.imp"
{static int _initial, _increment, _final, _control;
_initial = 0; _increment = 1; _final = (((int)(L)) - (1)); K = _control = _initial;
if (((_final-_initial) % _increment) != 0) _imp_signal(5,1,0,"Illegal cycle K = 0, 1, (((int)(L)) - (1))");
K -= _increment; _control -= _increment;
L_05c5:;
if (K == _final) goto L_05c6;
K += _increment; _control += _increment;
if (K != _control) _imp_signal(4,2,0,"Corrupt control variable K"); /* FOR loop control variable corrupted */
}
                                                                //   6020                 BYTEINTEGER(ADDR(I)+K)=BYTEINTEGER(AD+K)
#line 6020 "regression-compile-tmp/imp918s.imp"
*_imp_BYTEINTEGER((((int)(_imp_ADDR(&I))) + (K))) = *_imp_BYTEINTEGER((((int)(AD)) + (K)));
                                                                //   6021              %REPEAT
#line 6021 "regression-compile-tmp/imp918s.imp"
goto L_05c5;
#line 6021 "regression-compile-tmp/imp918s.imp"
L_05c6:;
                                                                //   6022              %IF L=2 %AND GLAHOLES#0 %START
#line 6022 "regression-compile-tmp/imp918s.imp"
if (((L) != (2))) goto L_05c8;
#line 6022 "regression-compile-tmp/imp918s.imp"
if (((GLAHOLES) == (0))) goto L_05c8;
                                                                //   6023                 POP(GLAHOLES,D,B)
#line 6023 "regression-compile-tmp/imp918s.imp"
POP(&GLAHOLES, D, B);
                                                                //   6024                 B=13; PLUG(2,D,I>>16)
#line 6024 "regression-compile-tmp/imp918s.imp"
*B = 13;
#line 6024 "regression-compile-tmp/imp918s.imp"
PLUG(2, *D, (int)((((unsigned int)(I)) >> (16))));
                                                                //   6025                 GSAVED=GSAVED+2
#line 6025 "regression-compile-tmp/imp918s.imp"
GSAVED = (((int)(GSAVED)) + (2));
                                                                //   6026              %FINISH %ELSE %START
#line 6026 "regression-compile-tmp/imp918s.imp"
goto L_05c9;
#line 6026 "regression-compile-tmp/imp918s.imp"
L_05c8:;
                                                                //   6027                 PGLA(L,L,AD)
#line 6027 "regression-compile-tmp/imp918s.imp"
PGLA(L, L, AD);
                                                                //   6028                 D=GLACA-L; B=GLA
#line 6028 "regression-compile-tmp/imp918s.imp"
*D = (((int)(GLACA)) - (L));
#line 6028 "regression-compile-tmp/imp918s.imp"
*B = 13;
                                                                //   6029              %FINISH
#line 6029 "regression-compile-tmp/imp918s.imp"
L_05c9:;
                                                                //   6030              LIST==SHORT INTEGER(ADDR(GLAHOLES)+L)
#line 6030 "regression-compile-tmp/imp918s.imp"
LIST = _imp_SHORTINTEGER((((int)(_imp_ADDR(&GLAHOLES))) + (L)));
                                                                //   6031              PUSH123(LIST,I,J,D) %IF GLAFLAG=0
#line 6031 "regression-compile-tmp/imp918s.imp"
if (((GLAFLAG) != (0))) goto L_05ca;
#line 6031 "regression-compile-tmp/imp918s.imp"
PUSH123(LIST, I, J, *D);
#line 6031 "regression-compile-tmp/imp918s.imp"
L_05ca:;
                                                                //   6032           %FINISH %ELSE %START;            ! CONST ALREADY IN
#line 6032 "regression-compile-tmp/imp918s.imp"
goto L_05cb;
#line 6032 "regression-compile-tmp/imp918s.imp"
L_05c4:;
                                                                //   6033              %IF D<0 %THEN %START
#line 6033 "regression-compile-tmp/imp918s.imp"
if (((*D) >= (0))) goto L_05cc;
                                                                //   6034                 CYC BITS=CYC BITS!16;      ! SET USES PERMS CONSTS BIT
#line 6034 "regression-compile-tmp/imp918s.imp"
CYCBITS = ((CYCBITS) | (16));
                                                                //   6035                 B=CODER; D=D&X'FFF'
#line 6035 "regression-compile-tmp/imp918s.imp"
*B = 12;
#line 6035 "regression-compile-tmp/imp918s.imp"
*D = ((*D) & (4095));
                                                                //   6036              %FINISH %ELSE B=GLA
#line 6036 "regression-compile-tmp/imp918s.imp"
goto L_05cd;
#line 6036 "regression-compile-tmp/imp918s.imp"
L_05cc:;
#line 6036 "regression-compile-tmp/imp918s.imp"
*B = 13;
#line 6036 "regression-compile-tmp/imp918s.imp"
L_05cd:;
                                                                //   6037           %FINISH
#line 6037 "regression-compile-tmp/imp918s.imp"
L_05cb:;
                                                                //   6038           %END
#line 6038 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block STORECONST at level 3
                                                                //   6039           %ROUTINE CCOND(%INTEGER IU,FARLAB)
#line 6039 "regression-compile-tmp/imp918s.imp"
void CCOND( int IU, int FARLAB )
#line 6039 "regression-compile-tmp/imp918s.imp"
{
                                                                //   6040           {%SHORTROUTINE}
                                                                //   6041  !***********************************************************************
                                                                //   6042  !*       COMPILES <IU><SC><RESTOFCOND>%THEN<UI1>%ELSE<UI2>             *
                                                                //   6043  !*       IU=1 FOR %IF   =2 FOR UNLESS. FARLAB TO GO ON UI2             *
                                                                //   6044  !*       THE ROUTINE MAKES FOUR PASSES THROUGH THE CONDITION           *
                                                                //   6045  !*       PASS 1 ANALYSES THE STRUCTURE AND DECIDES TO BRANCH ON TRUE   *
                                                                //   6046  !*       (TF=2)   OR ON FALSE (TF=1) FOR EACH COMPARISON               *
                                                                //   6047  !*       PASS 2 WORKS OUT WHERE THE BRANCHES OF PASS 1 SHOULD GO TO    *
                                                                //   6048  !*       PASS 3 ASSIGNS LABEL NUMBERS                                  *
                                                                //   6049  !*       PASS 4 EVALUATES COMPARISIONS AND PLANTS THE CODE             *
                                                                //   6050  !*                                                                     *
                                                                //   6051  !*       ON ENTRY P POINTS TO <SC> IN<HOLE><SC><RESTOFCOND>            *
                                                                //   6052  !***********************************************************************
                                                                //   6053  !         %ROUTINESPEC WRITE CONDLIST
                                                                //   6054           %ROUTINESPEC SKIP SC
#line 6054 "regression-compile-tmp/imp918s.imp"
auto void SKIPSC( void );
                                                                //   6055           %ROUTINESPEC SKIP COND
#line 6055 "regression-compile-tmp/imp918s.imp"
auto void SKIPCOND( void );
                                                                //   6056           %ROUTINESPEC CCOMP
#line 6056 "regression-compile-tmp/imp918s.imp"
auto void CCOMP( void );
                                                                //   6057  !
                                                                //   6058  ! FCOMP HAS BC MASKS FOR EACH COMPARATOR.
                                                                //   6059  ! THE FIRST 7 ARE TO BRANCH IF TRUE WITH NORMAL COMPARISON
                                                                //   6060  ! THE SECOND SEVEN ARE TO BRANCH IF TRUE WITH BACKWARDS COMPARISON
                                                                //   6061  ! THE THIRD SEVEN ARE FOR THE TEST UNDER MASK INSTRUCTION
                                                                //   6062  !
                                                                //   6063           %CONSTBYTEINTEGERARRAY FCOMP(1:21)=8,10,2,7,12,4,7,
#line 6063 "regression-compile-tmp/imp918s.imp"
const unsigned char FCOMP[21] = { 8, 10, 2, 7, 12, 4, 7, 8, 12, 4, 7, 10, 2, 7, 8, 15, 7, 7, 8, 0, 7,  };
                                                                //   6064                                              8,12,4,7,10,2,7,
                                                                //   6065                                              8,15,7,7,8,0,7;
                                                                //   6066  !
                                                                //   6067           %INTEGER PIN,PP,II,L,CPTR,CMAX,LL
#line 6067 "regression-compile-tmp/imp918s.imp"
int PIN;
#line 6067 "regression-compile-tmp/imp918s.imp"
int PP;
#line 6067 "regression-compile-tmp/imp918s.imp"
int II;
#line 6067 "regression-compile-tmp/imp918s.imp"
int L;
#line 6067 "regression-compile-tmp/imp918s.imp"
int CPTR;
#line 6067 "regression-compile-tmp/imp918s.imp"
int CMAX;
#line 6067 "regression-compile-tmp/imp918s.imp"
int LL;
                                                                //   6068           %RECORDFORMAT CF(%BYTEINTEGER TF,CMP1,CMP2,LABU,LVL,JMP, %C
#line 6068 "regression-compile-tmp/imp918s.imp"
typedef struct CF CF;
struct CF {
  unsigned char TF;
  unsigned char CMP1;
  unsigned char CMP2;
  unsigned char LABU;
  unsigned char LVL;
  unsigned char JMP;
  short LABNO;
  short SP1;
  short SP2;
};
                                                                //   6069                            %SHORTINTEGER LABNO,SP1,SP2)
                                                                //   6070           %RECORD(CF)%ARRAY CLIST(1:30)
#line 6070 "regression-compile-tmp/imp918s.imp"
 CF CLIST[30];
                                                                //   6071           %RECORD(CF)%NAME C1,C2
#line 6071 "regression-compile-tmp/imp918s.imp"
 CF /*name*/*C1;
#line 6071 "regression-compile-tmp/imp918s.imp"
 CF /*name*/*C2;
                                                                //   6072  !
                                                                //   6073  ! PASS 1.   ANALYSES THE CONDITION
                                                                //   6074  !
                                                                //   6075           PIN=P;                        ! SAVE INITIAL AR POINTER
#line 6075 "regression-compile-tmp/imp918s.imp"
PIN = P;
                                                                //   6076           CPTR=1; L=3;                  ! LEVEL=3 TO ALLOW 2 LOWER
#line 6076 "regression-compile-tmp/imp918s.imp"
CPTR = 1;
#line 6076 "regression-compile-tmp/imp918s.imp"
L = 3;
                                                                //   6077           C1==CLIST(CPTR);              ! SET UP RECORD FOR FIRST CMPARSN
#line 6077 "regression-compile-tmp/imp918s.imp"
C1 = &CLIST[(((int)(CPTR)) - (1))];
                                                                //   6078           C1=0
#line 6078 "regression-compile-tmp/imp918s.imp"
*C1 = (CF){ 0 } /* Assign 0's to all fields of record */;
                                                                //   6079           SKIP SC;                      ! SKIP THE 1ST CMPARSN
#line 6079 "regression-compile-tmp/imp918s.imp"
SKIPSC();
                                                                //   6080           SKIP COND;                    ! AND ANY %AND/%OR CLAUSES
#line 6080 "regression-compile-tmp/imp918s.imp"
SKIPCOND();
                                                                //   6081           C1_LVL=2;                     ! LEVEL =-1 FOR %IF/%THEN ENTRY
#line 6081 "regression-compile-tmp/imp918s.imp"
C1->LVL = 2;
                                                                //   6082           C1_TF=IU
#line 6082 "regression-compile-tmp/imp918s.imp"
C1->TF = IU;
                                                                //   6083           CMAX=CPTR+1
#line 6083 "regression-compile-tmp/imp918s.imp"
CMAX = (((int)(CPTR)) + (1));
                                                                //   6084           C1==CLIST(CMAX); C1=0
#line 6084 "regression-compile-tmp/imp918s.imp"
C1 = &CLIST[(((int)(CMAX)) - (1))];
#line 6084 "regression-compile-tmp/imp918s.imp"
*C1 = (CF){ 0 } /* Assign 0's to all fields of record */;
                                                                //   6085           C1_LVL=1;                     ! LEVEL =-2 FOR ELSE ENTRY
#line 6085 "regression-compile-tmp/imp918s.imp"
C1->LVL = 1;
                                                                //   6086           C1_TF=3-IU; C1_LABNO=FARLAB
#line 6086 "regression-compile-tmp/imp918s.imp"
C1->TF = (((int)(3)) - (IU));
#line 6086 "regression-compile-tmp/imp918s.imp"
C1->LABNO = FARLAB;
                                                                //   6087           PP=P;                         ! SAVE FINAL AR POINTER
#line 6087 "regression-compile-tmp/imp918s.imp"
PP = P;
                                                                //   6088           FAULT(209,0) %IF CMAX>29;     ! TOO COMPLICATED
#line 6088 "regression-compile-tmp/imp918s.imp"
if (((CMAX) <= (29))) goto L_05ce;
#line 6088 "regression-compile-tmp/imp918s.imp"
FAULT(209, 0);
#line 6088 "regression-compile-tmp/imp918s.imp"
L_05ce:;
                                                                //   6089  !
                                                                //   6090  ! PASS 2 WORKS OUT WHERE TO JUMP TO
                                                                //   6091  ! THE JUMP IS FORWARD TO THE START OF THE CLAUSE WITH A DIFFERENT
                                                                //   6092  ! CONNECTOR (AND/OR) PROVIDED THIS IS AT A LOWER LEVEL THAN THE BRANCH
                                                                //   6093  ! AND ALSO AT A LOWER LEVEL THAN THE LOWEST POINT REACHED ENROUTE
                                                                //   6094  !
                                                                //   6095  ! ALSO CONTAINS PASS 3 (TRIVIAL)
                                                                //   6096  ! ASSIGN LABELS WHERE LABU SHOWS THEY ARE REQUIRED
                                                                //   6097  !
                                                                //   6098           %CYCLE CPTR=1,1,CMAX-1
#line 6098 "regression-compile-tmp/imp918s.imp"
{static int _initial, _increment, _final, _control;
_initial = 1; _increment = 1; _final = (((int)(CMAX)) - (1)); CPTR = _control = _initial;
if (((_final-_initial) % _increment) != 0) _imp_signal(5,1,0,"Illegal cycle CPTR = 1, 1, (((int)(CMAX)) - (1))");
CPTR -= _increment; _control -= _increment;
L_05cf:;
if (CPTR == _final) goto L_05d0;
CPTR += _increment; _control += _increment;
if (CPTR != _control) _imp_signal(4,2,0,"Corrupt control variable CPTR"); /* FOR loop control variable corrupted */
}
                                                                //   6099              C1==CLIST(CPTR)
#line 6099 "regression-compile-tmp/imp918s.imp"
C1 = &CLIST[(((int)(CPTR)) - (1))];
                                                                //   6100              L=C1_LVL; LL=L;            ! LL FOR LOWEST LEVEL ENROUTE
#line 6100 "regression-compile-tmp/imp918s.imp"
L = C1->LVL;
#line 6100 "regression-compile-tmp/imp918s.imp"
LL = L;
                                                                //   6101              %CYCLE II=CPTR+1,1,CMAX+1
#line 6101 "regression-compile-tmp/imp918s.imp"
{static int _initial, _increment, _final, _control;
_initial = (((int)(CPTR)) + (1)); _increment = 1; _final = (((int)(CMAX)) + (1)); II = _control = _initial;
if (((_final-_initial) % _increment) != 0) _imp_signal(5,1,0,"Illegal cycle II = (((int)(CPTR)) + (1)), 1, (((int)(CMAX)) + (1))");
II -= _increment; _control -= _increment;
L_05d2:;
if (II == _final) goto L_05d3;
II += _increment; _control += _increment;
if (II != _control) _imp_signal(4,2,0,"Corrupt control variable II"); /* FOR loop control variable corrupted */
}
                                                                //   6102                C2==CLIST(II)
#line 6102 "regression-compile-tmp/imp918s.imp"
C2 = &CLIST[(((int)(II)) - (1))];
                                                                //   6103                %EXIT %IF C1_TF#C2_TF %AND C2_LVL<LL
#line 6103 "regression-compile-tmp/imp918s.imp"
if (((C1->TF) == (C2->TF))) goto L_05d5;
#line 6103 "regression-compile-tmp/imp918s.imp"
if (((C2->LVL) >= (LL))) goto L_05d5;
#line 6103 "regression-compile-tmp/imp918s.imp"
goto L_05d3;
#line 6103 "regression-compile-tmp/imp918s.imp"
L_05d5:;
                                                                //   6104                %IF C2_LVL<LL %THEN LL=C2_LVL
#line 6104 "regression-compile-tmp/imp918s.imp"
if (((C2->LVL) >= (LL))) goto L_05d6;
#line 6104 "regression-compile-tmp/imp918s.imp"
LL = C2->LVL;
#line 6104 "regression-compile-tmp/imp918s.imp"
L_05d6:;
                                                                //   6105              %REPEAT
#line 6105 "regression-compile-tmp/imp918s.imp"
goto L_05d2;
#line 6105 "regression-compile-tmp/imp918s.imp"
L_05d3:;
                                                                //   6106              C1_JMP=II;                 ! CLAUSE TO JUMP TO
#line 6106 "regression-compile-tmp/imp918s.imp"
C1->JMP = II;
                                                                //   6107              C2_LABU=C2_LABU+1
#line 6107 "regression-compile-tmp/imp918s.imp"
C2->LABU = (((int)(C2->LABU)) + (1));
                                                                //   6108               %IF C1_CMP2#0 %OR C1_CMP1=8 %START; ! D-SIDED OR RESLN
#line 6108 "regression-compile-tmp/imp918s.imp"
if (((C1->CMP2) != (0))) goto L_05d4;
#line 6108 "regression-compile-tmp/imp918s.imp"
if (((C1->CMP1) != (8))) goto L_05d7;
#line 6108 "regression-compile-tmp/imp918s.imp"
L_05d4:;
                                                                //   6109                                         ! REQIUIRES A LABEL ON THE
                                                                //   6110                 C1_LABU=C1_LABU+1;      ! THE NEXT SIMPLE CONDITION
#line 6110 "regression-compile-tmp/imp918s.imp"
C1->LABU = (((int)(C1->LABU)) + (1));
                                                                //   6111              %FINISH
#line 6111 "regression-compile-tmp/imp918s.imp"
L_05d7:;
                                                                //   6112              %IF C1_LABU#0 %AND C1_LABNO<=0 %THEN PLABEL=PLABEL-1 %C
#line 6112 "regression-compile-tmp/imp918s.imp"
if (((C1->LABU) == (0))) goto L_05d8;
#line 6112 "regression-compile-tmp/imp918s.imp"
if (((C1->LABNO) > (0))) goto L_05d8;
#line 6112 "regression-compile-tmp/imp918s.imp"
PLABEL = (((int)(PLABEL)) - (1));
#line 6112 "regression-compile-tmp/imp918s.imp"
C1->LABNO = PLABEL;
#line 6112 "regression-compile-tmp/imp918s.imp"
L_05d8:;
                                                                //   6113                                             %AND C1_LABNO=PLABEL
                                                                //   6114           %REPEAT
#line 6114 "regression-compile-tmp/imp918s.imp"
goto L_05cf;
#line 6114 "regression-compile-tmp/imp918s.imp"
L_05d0:;
                                                                //   6115  !
                                                                //   6116  ! PASS 4 GENERATE THE CODE
                                                                //   6117  !
                                                                //   6118  !         WRITE CONDLIST %IF DCOMP=1
                                                                //   6119           %CYCLE CPTR=1,1,CMAX-1
#line 6119 "regression-compile-tmp/imp918s.imp"
{static int _initial, _increment, _final, _control;
_initial = 1; _increment = 1; _final = (((int)(CMAX)) - (1)); CPTR = _control = _initial;
if (((_final-_initial) % _increment) != 0) _imp_signal(5,1,0,"Illegal cycle CPTR = 1, 1, (((int)(CMAX)) - (1))");
CPTR -= _increment; _control -= _increment;
L_05d9:;
if (CPTR == _final) goto L_05da;
CPTR += _increment; _control += _increment;
if (CPTR != _control) _imp_signal(4,2,0,"Corrupt control variable CPTR"); /* FOR loop control variable corrupted */
}
                                                                //   6120              C1==CLIST(CPTR)
#line 6120 "regression-compile-tmp/imp918s.imp"
C1 = &CLIST[(((int)(CPTR)) - (1))];
                                                                //   6121              CCOMP
#line 6121 "regression-compile-tmp/imp918s.imp"
CCOMP();
                                                                //   6122              %IF C1_LABNO>0 %THEN ENTER LAB(C1_LABNO,B'11')
#line 6122 "regression-compile-tmp/imp918s.imp"
if (((C1->LABNO) <= (0))) goto L_05dc;
#line 6122 "regression-compile-tmp/imp918s.imp"
ENTERLAB(C1->LABNO, 3);
#line 6122 "regression-compile-tmp/imp918s.imp"
L_05dc:;
                                                                //   6123           %REPEAT
#line 6123 "regression-compile-tmp/imp918s.imp"
goto L_05d9;
#line 6123 "regression-compile-tmp/imp918s.imp"
L_05da:;
                                                                //   6124  !
                                                                //   6125           P=PP; %RETURN
#line 6125 "regression-compile-tmp/imp918s.imp"
P = PP;
#line 6125 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   6126           %ROUTINE SKIP SC
#line 6126 "regression-compile-tmp/imp918s.imp"
void SKIPSC( void )
#line 6126 "regression-compile-tmp/imp918s.imp"
{
                                                                //   6127  !***********************************************************************
                                                                //   6128  !*       SKIPS OVER A SIMPLE CONDITION. P ON ALT OF<SC>                *
                                                                //   6129  !***********************************************************************
                                                                //   6130           %INTEGER ALT
#line 6130 "regression-compile-tmp/imp918s.imp"
int ALT;
                                                                //   6131           ALT=A(P); P=P+1
#line 6131 "regression-compile-tmp/imp918s.imp"
ALT = A[((P) + ((int)(7)))];
#line 6131 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
                                                                //   6132           %IF ALT=1 %THEN %START;      ! <EXP><COMP><EXP><SECONDSIDE>
#line 6132 "regression-compile-tmp/imp918s.imp"
if (((ALT) != (1))) goto L_05dd;
                                                                //   6133              C1_SP1=P-PIN
#line 6133 "regression-compile-tmp/imp918s.imp"
C1->SP1 = (((int)(P)) - (PIN));
                                                                //   6134              SKIP EXP
#line 6134 "regression-compile-tmp/imp918s.imp"
SKIPEXP();
                                                                //   6135              C1_CMP1=A(P)
#line 6135 "regression-compile-tmp/imp918s.imp"
C1->CMP1 = A[((P) + ((int)(7)))];
                                                                //   6136              P=P+1; C1_SP2=P-PIN
#line 6136 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
#line 6136 "regression-compile-tmp/imp918s.imp"
C1->SP2 = (((int)(P)) - (PIN));
                                                                //   6137              SKIP EXP
#line 6137 "regression-compile-tmp/imp918s.imp"
SKIPEXP();
                                                                //   6138              %IF A(P)=2 %THEN P=P+1 %ELSE %START
#line 6138 "regression-compile-tmp/imp918s.imp"
if (((A[((P) + ((int)(7)))]) != (2))) goto L_05de;
#line 6138 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
#line 6138 "regression-compile-tmp/imp918s.imp"
goto L_05df;
#line 6138 "regression-compile-tmp/imp918s.imp"
L_05de:;
                                                                //   6139                 C1_CMP2=A(P+1);        ! DEAL WITH 2ND HALF OF D-SIDED
#line 6139 "regression-compile-tmp/imp918s.imp"
C1->CMP2 = A[(((unsigned char)((((int)(P)) + (1)))) + (7))];
                                                                //   6140                 P=P+2; SKIP EXP
#line 6140 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (2));
#line 6140 "regression-compile-tmp/imp918s.imp"
SKIPEXP();
                                                                //   6141              %FINISH
#line 6141 "regression-compile-tmp/imp918s.imp"
L_05df:;
                                                                //   6142           %FINISH %ELSE %START;        ! '('<SC><RESTOFCOND>')'
#line 6142 "regression-compile-tmp/imp918s.imp"
goto L_05e0;
#line 6142 "regression-compile-tmp/imp918s.imp"
L_05dd:;
                                                                //   6143               L=L+1
#line 6143 "regression-compile-tmp/imp918s.imp"
L = (((int)(L)) + (1));
                                                                //   6144               SKIP SC
#line 6144 "regression-compile-tmp/imp918s.imp"
SKIPSC();
                                                                //   6145               SKIP COND
#line 6145 "regression-compile-tmp/imp918s.imp"
SKIPCOND();
                                                                //   6146               L=L-1
#line 6146 "regression-compile-tmp/imp918s.imp"
L = (((int)(L)) - (1));
                                                                //   6147           %FINISH
#line 6147 "regression-compile-tmp/imp918s.imp"
L_05e0:;
                                                                //   6148           %END;                        ! OF ROUTINE SKIP SC
#line 6148 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block SKIPSC at level 4
                                                                //   6149           %ROUTINE SKIP COND
#line 6149 "regression-compile-tmp/imp918s.imp"
void SKIPCOND( void )
#line 6149 "regression-compile-tmp/imp918s.imp"
{
                                                                //   6150  !***********************************************************************
                                                                //   6151  !*       SKIPS OVER <RESTOFCOND>                                       *
                                                                //   6152  !***********************************************************************
                                                                //   6153           %INTEGER ALT,ALTP
#line 6153 "regression-compile-tmp/imp918s.imp"
int ALT;
#line 6153 "regression-compile-tmp/imp918s.imp"
int ALTP;
                                                                //   6154           ALT=A(P);                      ! 1=%AND<ANDC>,2=%OR<ORC>,3=NULL
#line 6154 "regression-compile-tmp/imp918s.imp"
ALT = A[((P) + ((int)(7)))];
                                                                //   6155           P=P+1
#line 6155 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
                                                                //   6156           %IF ALT\=3 %THEN %START;       ! NULL ALTERNATIVE NOTHING TO DO
#line 6156 "regression-compile-tmp/imp918s.imp"
if (((ALT) == (3))) goto L_05e1;
                                                                //   6157              %CYCLE;       ! UNTIL NO MORE <SC>S
#line 6157 "regression-compile-tmp/imp918s.imp"
L_05e2:;
                                                                //   6158                 C1_LVL=L; C1_TF=ALT
#line 6158 "regression-compile-tmp/imp918s.imp"
C1->LVL = L;
#line 6158 "regression-compile-tmp/imp918s.imp"
C1->TF = ALT;
                                                                //   6159                 CPTR=CPTR+1
#line 6159 "regression-compile-tmp/imp918s.imp"
CPTR = (((int)(CPTR)) + (1));
                                                                //   6160                 C1==CLIST(CPTR); C1=0
#line 6160 "regression-compile-tmp/imp918s.imp"
C1 = &CLIST[(((int)(CPTR)) - (1))];
#line 6160 "regression-compile-tmp/imp918s.imp"
*C1 = (CF){ 0 } /* Assign 0's to all fields of record */;
                                                                //   6161                 SKIP SC
#line 6161 "regression-compile-tmp/imp918s.imp"
SKIPSC();
                                                                //   6162                 ALTP=A(P); P=P+1
#line 6162 "regression-compile-tmp/imp918s.imp"
ALTP = A[((P) + ((int)(7)))];
#line 6162 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
                                                                //   6163              %REPEAT %UNTIL ALTP=2
#line 6163 "regression-compile-tmp/imp918s.imp"
if (((ALTP) == (2))) goto L_05e3;
#line 6163 "regression-compile-tmp/imp918s.imp"
goto L_05e2;
#line 6163 "regression-compile-tmp/imp918s.imp"
L_05e3:;
                                                                //   6164           %FINISH
#line 6164 "regression-compile-tmp/imp918s.imp"
L_05e1:;
                                                                //   6165           %END
#line 6165 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block SKIPCOND at level 4
                                                                //   6166  !         %ROUTINE WRITE CONDLIST
                                                                //   6167  !         %CONSTSTRING(5) %ARRAY CM(0:8)='     ','    =','   >=','    >',
                                                                //   6168  !                                '    #','   <=','    <','   \=','   ->'
                                                                //   6169  !         PRINTSTRING("
                                                                //   6170  ! NO   TF   C1   C2   LABU   LVL  JMP  LABNO
                                                                //   6171  !")
                                                                //   6172  !         %CYCLE CPTR=1,1,CMAX
                                                                //   6173  !            C1==CLIST(CPTR)
                                                                //   6174  !            WRITE(CPTR,2)
                                                                //   6175  !            WRITE(C1_TF,4)
                                                                //   6176  !            PRINTSTRING(CM(C1_CMP1))
                                                                //   6177  !            PRINTSTRING(CM(C1_CMP2))
                                                                //   6178  !            WRITE(C1_LABU,6)
                                                                //   6179  !            WRITE(C1_LVL,5)
                                                                //   6180  !            WRITE(C1_JMP,4)
                                                                //   6181  !            WRITE(C1_LABNO,7)
                                                                //   6182  !            NEWLINE
                                                                //   6183  !         %REPEAT
                                                                //   6184  !         %END
                                                                //   6185           %ROUTINE CCOMP
#line 6185 "regression-compile-tmp/imp918s.imp"
void CCOMP( void )
#line 6185 "regression-compile-tmp/imp918s.imp"
{
                                                                //   6186  !***********************************************************************
                                                                //   6187  !*       COMPILES A COMPARISION: THREE DIFFERENT CASES                 *
                                                                //   6188  !*       1) ARITHMETIC EXPRESSIONS EXPOP IS USED                       *
                                                                //   6189  !*       2) STRING EXPRESSION AD-HOC CODE PLANTED BY THIS ROUTINE      *
                                                                //   6190  !*       3) RESOLUTIONS - CRES CAN BE USED                             *
                                                                //   6191  !***********************************************************************
                                                                //   6192           %ROUTINESPEC ACOMP(%INTEGER TF,LAB)
#line 6192 "regression-compile-tmp/imp918s.imp"
auto void ACOMP( int TF, int LAB );
                                                                //   6193           %ROUTINESPEC SCOMP(%INTEGER TF,LAB,%INTEGERNAME WA)
#line 6193 "regression-compile-tmp/imp918s.imp"
auto void SCOMP( int TF, int LAB, int /*name*/*WA );
                                                                //   6194           %SHORTINTEGER HEAD1,HEAD2,NOPS,BOT1,BOT2
#line 6194 "regression-compile-tmp/imp918s.imp"
short HEAD1;
#line 6194 "regression-compile-tmp/imp918s.imp"
short HEAD2;
#line 6194 "regression-compile-tmp/imp918s.imp"
short NOPS;
#line 6194 "regression-compile-tmp/imp918s.imp"
short BOT1;
#line 6194 "regression-compile-tmp/imp918s.imp"
short BOT2;
                                                                //   6195           %INTEGER TE1,TE2,TEX1,TEX2,MASK,P1,P2
#line 6195 "regression-compile-tmp/imp918s.imp"
int TE1;
#line 6195 "regression-compile-tmp/imp918s.imp"
int TE2;
#line 6195 "regression-compile-tmp/imp918s.imp"
int TEX1;
#line 6195 "regression-compile-tmp/imp918s.imp"
int TEX2;
#line 6195 "regression-compile-tmp/imp918s.imp"
int MASK;
#line 6195 "regression-compile-tmp/imp918s.imp"
int P1;
#line 6195 "regression-compile-tmp/imp918s.imp"
int P2;
                                                                //   6196           %INTEGER FEXIT,IEXIT,CMP,WA1,WA2,WA3,DISPP,BASEP,LL
#line 6196 "regression-compile-tmp/imp918s.imp"
int FEXIT;
#line 6196 "regression-compile-tmp/imp918s.imp"
int IEXIT;
#line 6196 "regression-compile-tmp/imp918s.imp"
int CMP;
#line 6196 "regression-compile-tmp/imp918s.imp"
int WA1;
#line 6196 "regression-compile-tmp/imp918s.imp"
int WA2;
#line 6196 "regression-compile-tmp/imp918s.imp"
int WA3;
#line 6196 "regression-compile-tmp/imp918s.imp"
int DISPP;
#line 6196 "regression-compile-tmp/imp918s.imp"
int BASEP;
#line 6196 "regression-compile-tmp/imp918s.imp"
int LL;
                                                                //   6197  !
                                                                //   6198           HEAD1=0; HEAD2=0; NOPS=0; BOT1=0; BOT2=0
#line 6198 "regression-compile-tmp/imp918s.imp"
HEAD1 = 0;
#line 6198 "regression-compile-tmp/imp918s.imp"
HEAD2 = 0;
#line 6198 "regression-compile-tmp/imp918s.imp"
NOPS = 0;
#line 6198 "regression-compile-tmp/imp918s.imp"
BOT1 = 0;
#line 6198 "regression-compile-tmp/imp918s.imp"
BOT2 = 0;
                                                                //   6199           FEXIT=CLIST(C1_JMP)_LABNO;    ! FINAL EXIT
#line 6199 "regression-compile-tmp/imp918s.imp"
FEXIT = CLIST[(((int)(C1->JMP)) - (1))].LABNO;
                                                                //   6200           IEXIT=FEXIT;                  ! INTERMEDIATE EXIT (D-SIDED ETC)
#line 6200 "regression-compile-tmp/imp918s.imp"
IEXIT = FEXIT;
                                                                //   6201           %IF C1_TF=2 %AND (C1_CMP1=8 %OR C1_CMP2#0) %THEN %C
#line 6201 "regression-compile-tmp/imp918s.imp"
if (((C1->TF) != (2))) goto L_05e5;
#line 6201 "regression-compile-tmp/imp918s.imp"
if (((C1->CMP1) == (8))) goto L_05db;
#line 6201 "regression-compile-tmp/imp918s.imp"
if (((C1->CMP2) == (0))) goto L_05e5;
#line 6201 "regression-compile-tmp/imp918s.imp"
L_05db:;
#line 6201 "regression-compile-tmp/imp918s.imp"
IEXIT = C1->LABNO;
#line 6201 "regression-compile-tmp/imp918s.imp"
L_05e5:;
                                                                //   6202                        IEXIT=C1_LABNO
                                                                //   6203  !
                                                                //   6204           P=PIN+C1_SP2
#line 6204 "regression-compile-tmp/imp918s.imp"
P = ((PIN) + ((int)(C1->SP2)));
                                                                //   6205           P2=P; P1=PIN+C1_SP1
#line 6205 "regression-compile-tmp/imp918s.imp"
P2 = P;
#line 6205 "regression-compile-tmp/imp918s.imp"
P1 = ((PIN) + ((int)(C1->SP1)));
                                                                //   6206           %IF C1_CMP1=8 %OR C1_CMP2=8 %THEN %START
#line 6206 "regression-compile-tmp/imp918s.imp"
if (((C1->CMP1) == (8))) goto L_05e6;
#line 6206 "regression-compile-tmp/imp918s.imp"
if (((C1->CMP2) != (8))) goto L_05e7;
#line 6206 "regression-compile-tmp/imp918s.imp"
L_05e6:;
                                                                //   6207                                         ! CONDITIONAL RESOLUTION
                                                                //   6208                                         ! NB CRES BRANCHES ON FALSE!!
                                                                //   6209              P=P1
#line 6209 "regression-compile-tmp/imp918s.imp"
P = P1;
                                                                //   6210              %IF C1_CMP2=0 %AND A(P+2)=4 %AND A(P+3)=1 %START
#line 6210 "regression-compile-tmp/imp918s.imp"
if (((C1->CMP2) != (0))) goto L_05e8;
#line 6210 "regression-compile-tmp/imp918s.imp"
if (((A[(((unsigned char)((((int)(P)) + (2)))) + (7))]) != (4))) goto L_05e8;
#line 6210 "regression-compile-tmp/imp918s.imp"
if (((A[(((unsigned char)((((int)(P)) + (3)))) + (7))]) != (1))) goto L_05e8;
                                                                //   6211                 P=P+4; CNAME(5,1);      ! LH STRING TO REGISTER 1
#line 6211 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (4));
#line 6211 "regression-compile-tmp/imp918s.imp"
CNAME(5, 1);
                                                                //   6212                 %IF A(P)=2 %AND TYPE=5 %THEN %START
#line 6212 "regression-compile-tmp/imp918s.imp"
if (((A[((P) + ((int)(7)))]) != (2))) goto L_05e9;
#line 6212 "regression-compile-tmp/imp918s.imp"
if (((TYPE) != (5))) goto L_05e9;
                                                                //   6213                    P=P2
#line 6213 "regression-compile-tmp/imp918s.imp"
P = P2;
                                                                //   6214                    CRES(IEXIT);         ! FAILURES -> IEXIT
#line 6214 "regression-compile-tmp/imp918s.imp"
CRES(IEXIT);
                                                                //   6215                    %IF C1_TF=2 %THEN MASK=15 %AND ->TBRANCH
#line 6215 "regression-compile-tmp/imp918s.imp"
if (((C1->TF) != (2))) goto L_05ea;
#line 6215 "regression-compile-tmp/imp918s.imp"
MASK = 15;
#line 6215 "regression-compile-tmp/imp918s.imp"
goto U_1044;
#line 6215 "regression-compile-tmp/imp918s.imp"
L_05ea:;
                                                                //   6216                    %RETURN
#line 6216 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   6217                 %FINISH
#line 6217 "regression-compile-tmp/imp918s.imp"
L_05e9:;
                                                                //   6218              %FINISH
#line 6218 "regression-compile-tmp/imp918s.imp"
L_05e8:;
                                                                //   6219              FAULT(73,0)
#line 6219 "regression-compile-tmp/imp918s.imp"
FAULT(73, 0);
                                                                //   6220              %RETURN
#line 6220 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   6221           %FINISH
#line 6221 "regression-compile-tmp/imp918s.imp"
L_05e7:;
                                                                //   6222           MASK=FCOMP(C1_CMP1)
#line 6222 "regression-compile-tmp/imp918s.imp"
MASK = (FCOMP-1)[C1->CMP1];
                                                                //   6223           TE2=TSEXP(TEX2,0)
#line 6223 "regression-compile-tmp/imp918s.imp"
TE2 = TSEXP(&TEX2, 0);
                                                                //   6224           ->STR %IF TYPE=5
#line 6224 "regression-compile-tmp/imp918s.imp"
if (((TYPE) != (5))) goto L_05eb;
#line 6224 "regression-compile-tmp/imp918s.imp"
goto U_1045;
#line 6224 "regression-compile-tmp/imp918s.imp"
L_05eb:;
                                                                //   6225           ->ARITH %UNLESS TE2=1
#line 6225 "regression-compile-tmp/imp918s.imp"
if (((TE2) == (1))) goto L_05ec;
#line 6225 "regression-compile-tmp/imp918s.imp"
goto U_1046;
#line 6225 "regression-compile-tmp/imp918s.imp"
L_05ec:;
                                                                //   6226           P=P1; TE1=TSEXP(TEX1,1)
#line 6226 "regression-compile-tmp/imp918s.imp"
P = P1;
#line 6226 "regression-compile-tmp/imp918s.imp"
TE1 = TSEXP(&TEX1, 1);
                                                                //   6227           ->STR %IF TYPE=5
#line 6227 "regression-compile-tmp/imp918s.imp"
if (((TYPE) != (5))) goto L_05ed;
#line 6227 "regression-compile-tmp/imp918s.imp"
goto U_1045;
#line 6227 "regression-compile-tmp/imp918s.imp"
L_05ed:;
                                                                //   6228           %IF TE1=800 %AND K<=4095 %AND C1_CMP2=0=CHECKSP %START;! X&N1=N2
#line 6228 "regression-compile-tmp/imp918s.imp"
if (((TE1) != (800))) goto L_05ee;
#line 6228 "regression-compile-tmp/imp918s.imp"
if (((K) > (4095))) goto L_05ee;
#line 6228 "regression-compile-tmp/imp918s.imp"
if ((((C1->CMP2) != (0))) || (((0) != (CHECKSP)))) goto L_05ee;
                                                                //   6229              DISPP=K+BYTES(PREC)-1; BASEP=I
#line 6229 "regression-compile-tmp/imp918s.imp"
DISPP = (((int)(((K) + ((short)(BYTES[PREC]))))) - (1));
#line 6229 "regression-compile-tmp/imp918s.imp"
BASEP = I;
                                                                //   6230              %IF TEX2=0 %THEN %START
#line 6230 "regression-compile-tmp/imp918s.imp"
if (((TEX2) != (0))) goto L_05ef;
                                                                //   6231                 MASK=FCOMP(C1_CMP1+14)
#line 6231 "regression-compile-tmp/imp918s.imp"
MASK = (FCOMP-1)[(((int)(C1->CMP1)) + (14))];
                                                                //   6232                 -> T UNDER M;           ! CAN USE TM FOR X&N1=0 IF N1<256
#line 6232 "regression-compile-tmp/imp918s.imp"
goto U_1047;
                                                                //   6233              %FINISH
#line 6233 "regression-compile-tmp/imp918s.imp"
L_05ef:;
                                                                //   6234              %IF TEX1=TEX2 %AND 7<=MASK<=8 %START;  ! X&N1<=/#>N1
#line 6234 "regression-compile-tmp/imp918s.imp"
if (((TEX1) != (TEX2))) goto L_05f0;
#line 6234 "regression-compile-tmp/imp918s.imp"
if ((((7) > (MASK))) || (((MASK) > (8)))) goto L_05f0;
                                                                //   6235                 %IF MASK=8 %THEN MASK=1 %ELSE MASK=14
#line 6235 "regression-compile-tmp/imp918s.imp"
if (((MASK) != (8))) goto L_05f1;
#line 6235 "regression-compile-tmp/imp918s.imp"
MASK = 1;
#line 6235 "regression-compile-tmp/imp918s.imp"
goto L_05f2;
#line 6235 "regression-compile-tmp/imp918s.imp"
L_05f1:;
#line 6235 "regression-compile-tmp/imp918s.imp"
MASK = 14;
#line 6235 "regression-compile-tmp/imp918s.imp"
L_05f2:;
                                                                //   6236                 -> T UNDER M
#line 6236 "regression-compile-tmp/imp918s.imp"
goto U_1047;
                                                                //   6237              %FINISH
#line 6237 "regression-compile-tmp/imp918s.imp"
L_05f0:;
                                                                //   6238           %FINISH
#line 6238 "regression-compile-tmp/imp918s.imp"
L_05ee:;
                                                                //   6239  ARITH:                                 ! ARITHMETIC COMPARISIONS
#line 6239 "regression-compile-tmp/imp918s.imp"
U_1046:;
                                                                //   6240           P=P1+2
#line 6240 "regression-compile-tmp/imp918s.imp"
P = (((int)(P1)) + (2));
                                                                //   6241           TORP(HEAD1,BOT1,NOPS,0);      ! FIRST EXPRESSION TO REVERSE POL
#line 6241 "regression-compile-tmp/imp918s.imp"
TORP(&HEAD1, &BOT1, &NOPS, 0);
                                                                //   6242           CMP=C1_CMP1
#line 6242 "regression-compile-tmp/imp918s.imp"
CMP = C1->CMP1;
                                                                //   6243           P=P2+2
#line 6243 "regression-compile-tmp/imp918s.imp"
P = (((int)(P2)) + (2));
                                                                //   6244           %IF C1_CMP2#0 %THEN %START;   ! IF D-SIDED DEAL WITH MIDDLE
#line 6244 "regression-compile-tmp/imp918s.imp"
if (((C1->CMP2) == (0))) goto L_05f3;
                                                                //   6245              ACOMP(1,IEXIT);            ! BRANCH IEXIT %IF FALSE
#line 6245 "regression-compile-tmp/imp918s.imp"
ACOMP(1, IEXIT);
                                                                //   6246              P=P+4;                     ! TO THE THIRD EXPRSN
#line 6246 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (4));
                                                                //   6247              CMP=C1_CMP2;               ! COMPARATOR NO 2
#line 6247 "regression-compile-tmp/imp918s.imp"
CMP = C1->CMP2;
                                                                //   6248           %FINISH
#line 6248 "regression-compile-tmp/imp918s.imp"
L_05f3:;
                                                                //   6249  !
                                                                //   6250           ACOMP(C1_TF,FEXIT);           ! SECOND OR ONLY COMPARISION
#line 6250 "regression-compile-tmp/imp918s.imp"
ACOMP(C1->TF, FEXIT);
                                                                //   6251  !
                                                                //   6252           EXPOP(HEAD1,-1,NOPS,16);      ! PLANT THE CODE
#line 6252 "regression-compile-tmp/imp918s.imp"
EXPOP(HEAD1, (-1), NOPS, 16);
                                                                //   6253  !         CLEAR LIST(HEAD1)
                                                                //   6254           SHORTINTEGER(ADDR(ASLIST(BOT1))+14)=ASL
#line 6254 "regression-compile-tmp/imp918s.imp"
*_imp_SHORTINTEGER((((int)(_imp_ADDR(&ASLIST[BOT1]))) + (14))) = ASL;
                                                                //   6255           ASL=HEAD1
#line 6255 "regression-compile-tmp/imp918s.imp"
ASL = HEAD1;
                                                                //   6256           %RETURN
#line 6256 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   6257  T UNDER M:                             ! CAN USE TM FOR COMPARISON
#line 6257 "regression-compile-tmp/imp918s.imp"
U_1047:;
                                                                //   6258           DUMPSI(X'91',TEX1,BASEP,DISPP)
#line 6258 "regression-compile-tmp/imp918s.imp"
DUMPSI(145, TEX1, BASEP, DISPP);
                                                                //   6259           CCSTATE=-1
#line 6259 "regression-compile-tmp/imp918s.imp"
CCSTATE = (-1);
                                                                //   6260  TBRANCH: MASK=MASK!!15 %IF C1_TF=1
#line 6260 "regression-compile-tmp/imp918s.imp"
U_1044:;
#line 6260 "regression-compile-tmp/imp918s.imp"
if (((C1->TF) != (1))) goto L_05f4;
#line 6260 "regression-compile-tmp/imp918s.imp"
MASK = ((MASK) ^ (15));
#line 6260 "regression-compile-tmp/imp918s.imp"
L_05f4:;
                                                                //   6261           ENTER JUMP(MASK,FEXIT,B'11')
#line 6261 "regression-compile-tmp/imp918s.imp"
ENTERJUMP(MASK, FEXIT, 3);
                                                                //   6262           %RETURN
#line 6262 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   6263  STR:                                   ! STRING COMPARISIONS
#line 6263 "regression-compile-tmp/imp918s.imp"
U_1045:;
                                                                //   6264                                         ! SOME CARE IS NEEDED IN FREEING
                                                                //   6265                                         ! STRING WK-AREAS SET BY CSTREXP
                                                                //   6266           P=P1
#line 6266 "regression-compile-tmp/imp918s.imp"
P = P1;
                                                                //   6267           WA1=0; WA2=0; WA3=0
#line 6267 "regression-compile-tmp/imp918s.imp"
WA1 = 0;
#line 6267 "regression-compile-tmp/imp918s.imp"
WA2 = 0;
#line 6267 "regression-compile-tmp/imp918s.imp"
WA3 = 0;
                                                                //   6268           %IF TE2=1 %AND TEX2=0 %AND C1_CMP2=0 %AND 7<=MASK<=8 %START
#line 6268 "regression-compile-tmp/imp918s.imp"
if (((TE2) != (1))) goto L_05f5;
#line 6268 "regression-compile-tmp/imp918s.imp"
if (((TEX2) != (0))) goto L_05f5;
#line 6268 "regression-compile-tmp/imp918s.imp"
if (((C1->CMP2) != (0))) goto L_05f5;
#line 6268 "regression-compile-tmp/imp918s.imp"
if ((((7) > (MASK))) || (((MASK) > (8)))) goto L_05f5;
                                                                //   6269              CSTREXP(0,-2);            ! USE TM FOR IF S='' ETC
#line 6269 "regression-compile-tmp/imp918s.imp"
CSTREXP(0, (-2));
                                                                //   6270              DISPP=DISP; BASEP=BASE
#line 6270 "regression-compile-tmp/imp918s.imp"
DISPP = DISP;
#line 6270 "regression-compile-tmp/imp918s.imp"
BASEP = BASE;
                                                                //   6271              TEX1=255
#line 6271 "regression-compile-tmp/imp918s.imp"
TEX1 = 255;
                                                                //   6272              ->T UNDER M
#line 6272 "regression-compile-tmp/imp918s.imp"
goto U_1047;
                                                                //   6273           %FINISH
#line 6273 "regression-compile-tmp/imp918s.imp"
L_05f5:;
                                                                //   6274           CSTREXP(16,-2);              ! DO NOT FREE WK-AREA
#line 6274 "regression-compile-tmp/imp918s.imp"
CSTREXP(16, (-2));
                                                                //   6275           WA1=VALUE;                   ! SAVE ADDRESS OF WK-AREA
#line 6275 "regression-compile-tmp/imp918s.imp"
WA1 = VALUE;
                                                                //   6276           CMP=C1_CMP1
#line 6276 "regression-compile-tmp/imp918s.imp"
CMP = C1->CMP1;
                                                                //   6277           P=P2
#line 6277 "regression-compile-tmp/imp918s.imp"
P = P2;
                                                                //   6278  !
                                                                //   6279           %IF C1_CMP2#0 %THEN %START;  ! D-SIDED DEAL WITH MIDDLE
#line 6279 "regression-compile-tmp/imp918s.imp"
if (((C1->CMP2) == (0))) goto L_05f6;
                                                                //   6280              SCOMP(1,IEXIT,WA2)
#line 6280 "regression-compile-tmp/imp918s.imp"
SCOMP(1, IEXIT, &WA2);
                                                                //   6281              P=P+2; CMP=C1_CMP2
#line 6281 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (2));
#line 6281 "regression-compile-tmp/imp918s.imp"
CMP = C1->CMP2;
                                                                //   6282              %IF WA1#0 %THEN RETURN WSP(WA1,256) %AND WA1=0
#line 6282 "regression-compile-tmp/imp918s.imp"
if (((WA1) == (0))) goto L_05f7;
#line 6282 "regression-compile-tmp/imp918s.imp"
RETURNWSP(WA1, 256);
#line 6282 "regression-compile-tmp/imp918s.imp"
WA1 = 0;
#line 6282 "regression-compile-tmp/imp918s.imp"
L_05f7:;
                                                                //   6283           %FINISH
#line 6283 "regression-compile-tmp/imp918s.imp"
L_05f6:;
                                                                //   6284  !
                                                                //   6285           SCOMP(C1_TF,FEXIT,WA3)
#line 6285 "regression-compile-tmp/imp918s.imp"
SCOMP(C1->TF, FEXIT, &WA3);
                                                                //   6286           %CYCLE CMP=ADDR(WA1),4,ADDR(WA3)
#line 6286 "regression-compile-tmp/imp918s.imp"
{static int _initial, _increment, _final, _control;
_initial = _imp_ADDR(&WA1); _increment = 4; _final = _imp_ADDR(&WA3); CMP = _control = _initial;
if (((_final-_initial) % _increment) != 0) _imp_signal(5,1,0,"Illegal cycle CMP = _imp_ADDR(&WA1), 4, _imp_ADDR(&WA3)");
CMP -= _increment; _control -= _increment;
L_05f8:;
if (CMP == _final) goto L_05f9;
CMP += _increment; _control += _increment;
if (CMP != _control) _imp_signal(4,2,0,"Corrupt control variable CMP"); /* FOR loop control variable corrupted */
}
                                                                //   6287              %IF INTEGER(CMP)#0 %THEN RETURN WSP(INTEGER(CMP),256)
#line 6287 "regression-compile-tmp/imp918s.imp"
if (((*_imp_INTEGER(CMP)) == (0))) goto L_05fb;
#line 6287 "regression-compile-tmp/imp918s.imp"
RETURNWSP(*_imp_INTEGER(CMP), 256);
#line 6287 "regression-compile-tmp/imp918s.imp"
L_05fb:;
                                                                //   6288           %REPEAT
#line 6288 "regression-compile-tmp/imp918s.imp"
goto L_05f8;
#line 6288 "regression-compile-tmp/imp918s.imp"
L_05f9:;
                                                                //   6289           %RETURN
#line 6289 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   6290           %ROUTINE ACOMP(%INTEGER TF,LAB)
#line 6290 "regression-compile-tmp/imp918s.imp"
void ACOMP( int TF, int LAB )
#line 6290 "regression-compile-tmp/imp918s.imp"
{
                                                                //   6291  !***********************************************************************
                                                                //   6292  !*       TYPE & PREC DEFINE THE EXPRSN IN REVERSE POLISH IN HEAD1      *
                                                                //   6293  !*       THIS ROUTINE CONVERTS THE NEXT EXPRSN TO REVERSE POLISH AND   *
                                                                //   6294  !*       ADDS OPERATORS FOR TYPE CHANGING(IF REQ) CMPRSN AND JUMP      *
                                                                //   6295  !***********************************************************************
                                                                //   6296           %BYTEINTEGER PRECP,TYPEP
#line 6296 "regression-compile-tmp/imp918s.imp"
unsigned char PRECP;
#line 6296 "regression-compile-tmp/imp918s.imp"
unsigned char TYPEP;
                                                                //   6297           %INTEGER BMASKS,TORPMODE,CMODE,COP
#line 6297 "regression-compile-tmp/imp918s.imp"
int BMASKS;
#line 6297 "regression-compile-tmp/imp918s.imp"
int TORPMODE;
#line 6297 "regression-compile-tmp/imp918s.imp"
int CMODE;
#line 6297 "regression-compile-tmp/imp918s.imp"
int COP;
                                                                //   6298           PRECP=PREC; TYPEP=TYPE
#line 6298 "regression-compile-tmp/imp918s.imp"
PRECP = PREC;
#line 6298 "regression-compile-tmp/imp918s.imp"
TYPEP = TYPE;
                                                                //   6299           BMASKS=FCOMP(CMP+7)<<4!FCOMP(CMP)
#line 6299 "regression-compile-tmp/imp918s.imp"
BMASKS = (((((FCOMP-1)[(((int)(CMP)) + (7))]) << (4))) | ((FCOMP-1)[CMP]));
                                                                //   6300           %IF TF=1 %THEN BMASKS=BMASKS!!255;! REVERSE MASKS IF FALSE
#line 6300 "regression-compile-tmp/imp918s.imp"
if (((TF) != (1))) goto L_05fc;
#line 6300 "regression-compile-tmp/imp918s.imp"
BMASKS = ((BMASKS) ^ (255));
#line 6300 "regression-compile-tmp/imp918s.imp"
L_05fc:;
                                                                //   6301  !
                                                                //   6302  ! ADD OPERATORS IN THE REVERSE ORDER TO EXECUTION. IE JUMP(29) THEN
                                                                //   6303  ! COMPARE(26) OR LOGICAL (IE = & # ONLY) COMPARE(27)
                                                                //   6304  !
                                                                //   6305           PUSH(HEAD2,29,0)
#line 6305 "regression-compile-tmp/imp918s.imp"
PUSH(&HEAD2, 29, 0);
                                                                //   6306           BOT2=HEAD2
#line 6306 "regression-compile-tmp/imp918s.imp"
BOT2 = HEAD2;
                                                                //   6307           PUSH(HEAD2,1<<16!BMASKS<<8,LAB)
#line 6307 "regression-compile-tmp/imp918s.imp"
PUSH(&HEAD2, ((((1) << (16))) | (((BMASKS) << (8)))), LAB);
                                                                //   6308           %IF 7<=BMASKS&15<=8 %THEN CMODE=27 %ELSE CMODE=26
#line 6308 "regression-compile-tmp/imp918s.imp"
if ((((7) > (((BMASKS) & (15))))) || (((((BMASKS) & (15))) > (8)))) goto L_05fd;
#line 6308 "regression-compile-tmp/imp918s.imp"
CMODE = 27;
#line 6308 "regression-compile-tmp/imp918s.imp"
goto L_05fe;
#line 6308 "regression-compile-tmp/imp918s.imp"
L_05fd:;
#line 6308 "regression-compile-tmp/imp918s.imp"
CMODE = 26;
#line 6308 "regression-compile-tmp/imp918s.imp"
L_05fe:;
                                                                //   6309           PUSH(HEAD2,CMODE,0)
#line 6309 "regression-compile-tmp/imp918s.imp"
PUSH(&HEAD2, CMODE, 0);
                                                                //   6310  !
                                                                //   6311  ! CONVERT NEXT EXPRSN TO REVERSE POLISH AND TO THE SAME TYPE AS THE
                                                                //   6312  ! FIRST IF POSSIBLE. MODE=0 INTEGER IF POSSIBLE,=2 REAL, =3 LONGREAL
                                                                //   6313  !
                                                                //   6314           %IF TYPEP=1 %THEN TORPMODE =0 %ELSE TORPMODE=PRECP!2
#line 6314 "regression-compile-tmp/imp918s.imp"
if (((TYPEP) != (1))) goto L_05ff;
#line 6314 "regression-compile-tmp/imp918s.imp"
TORPMODE = 0;
#line 6314 "regression-compile-tmp/imp918s.imp"
goto L_0600;
#line 6314 "regression-compile-tmp/imp918s.imp"
L_05ff:;
#line 6314 "regression-compile-tmp/imp918s.imp"
TORPMODE = ((PRECP) | (2));
#line 6314 "regression-compile-tmp/imp918s.imp"
L_0600:;
                                                                //   6315           TORP(HEAD2,BOT2,NOPS,TORPMODE)
#line 6315 "regression-compile-tmp/imp918s.imp"
TORP(&HEAD2, &BOT2, &NOPS, TORPMODE);
                                                                //   6316  !
                                                                //   6317  ! IF THE 2ND EXPRSN IS REAL OR LONGREAL AND THE FIRST IS INTEGER OR
                                                                //   6318  ! REAL A CONVERSION OPERN (FLOAT=12,STRETCH=14) IS ALSO NEEDED
                                                                //   6319  !
                                                                //   6320           COP=0
#line 6320 "regression-compile-tmp/imp918s.imp"
COP = 0;
                                                                //   6321           %IF TYPE=2 %THEN %START
#line 6321 "regression-compile-tmp/imp918s.imp"
if (((TYPE) != (2))) goto L_0601;
                                                                //   6322              %IF TYPEP=1 %THEN COP=12 %ELSE %START
#line 6322 "regression-compile-tmp/imp918s.imp"
if (((TYPEP) != (1))) goto L_0602;
#line 6322 "regression-compile-tmp/imp918s.imp"
COP = 12;
#line 6322 "regression-compile-tmp/imp918s.imp"
goto L_0603;
#line 6322 "regression-compile-tmp/imp918s.imp"
L_0602:;
                                                                //   6323                 %IF PREC#PRECP %THEN COP=14
#line 6323 "regression-compile-tmp/imp918s.imp"
if (((PREC) == (PRECP))) goto L_0604;
#line 6323 "regression-compile-tmp/imp918s.imp"
COP = 14;
#line 6323 "regression-compile-tmp/imp918s.imp"
L_0604:;
                                                                //   6324              %FINISH
#line 6324 "regression-compile-tmp/imp918s.imp"
L_0603:;
                                                                //   6325           %FINISH
#line 6325 "regression-compile-tmp/imp918s.imp"
L_0601:;
                                                                //   6326           PUSH(HEAD2,COP,PREC>>1) %IF COP#0
#line 6326 "regression-compile-tmp/imp918s.imp"
if (((COP) == (0))) goto L_0605;
#line 6326 "regression-compile-tmp/imp918s.imp"
PUSH(&HEAD2, COP, (unsigned char)((((unsigned char)(PREC)) >> (1))));
#line 6326 "regression-compile-tmp/imp918s.imp"
L_0605:;
                                                                //   6327           SHORTINTEGER(ADDR(ASLIST(BOT1))+14)=HEAD2
#line 6327 "regression-compile-tmp/imp918s.imp"
*_imp_SHORTINTEGER((((int)(_imp_ADDR(&ASLIST[BOT1]))) + (14))) = HEAD2;
                                                                //   6328           BOT1=BOT2; BOT2=0; HEAD2=0
#line 6328 "regression-compile-tmp/imp918s.imp"
BOT1 = BOT2;
#line 6328 "regression-compile-tmp/imp918s.imp"
BOT2 = 0;
#line 6328 "regression-compile-tmp/imp918s.imp"
HEAD2 = 0;
                                                                //   6329           %END
#line 6329 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block ACOMP at level 5
                                                                //   6330           %ROUTINE SCOMP(%INTEGER TF,LAB,%INTEGERNAME WA)
#line 6330 "regression-compile-tmp/imp918s.imp"
void SCOMP( int TF, int LAB, int /*name*/*WA )
#line 6330 "regression-compile-tmp/imp918s.imp"
{
                                                                //   6331  !***********************************************************************
                                                                //   6332  !*       1ST STRING IS DEFINED BY BASE,DISP & STRINGL(IF KNOWN)        *
                                                                //   6333  !*       THIS ROUTINE EVALUATES THE NEXT STRING EXPRS AND PERFORMS     *
                                                                //   6334  !*       THE COMPARISON & BRANCH. = & # CAN BE DONE IN LINE BUT < & >  *
                                                                //   6335  !*       ARE COMPLICATED BY THE LENGTH BYTE AND ARE PERFORMEDIN PERM   *
                                                                //   6336  !***********************************************************************
                                                                //   6337           %INTEGER MASK,CODE,L
#line 6337 "regression-compile-tmp/imp918s.imp"
int MASK;
#line 6337 "regression-compile-tmp/imp918s.imp"
int CODE;
#line 6337 "regression-compile-tmp/imp918s.imp"
int L;
                                                                //   6338  !
                                                                //   6339  ! A SAFE REGISTER MAY BE NEEDED HERE ON OPTIMUM CODE EVEN IF IT IS NOT
                                                                //   6340  ! REQUIRED ON THE PRELIMINARY PASS
                                                                //   6341  !
                                                                //   6342           CYC BITS=CYC BITS!128;        ! SAFE REGISTER REQD
#line 6342 "regression-compile-tmp/imp918s.imp"
CYCBITS = ((CYCBITS) | (128));
                                                                //   6343           %IF REGISTER(BASE)=0 %AND (BASE<4 %OR BASE=15) %START
#line 6343 "regression-compile-tmp/imp918s.imp"
if (((REGISTER[BASE]) != (0))) goto L_0606;
#line 6343 "regression-compile-tmp/imp918s.imp"
if (((BASE) < (4))) goto L_05fa;
#line 6343 "regression-compile-tmp/imp918s.imp"
if (((BASE) != (15))) goto L_0606;
#line 6343 "regression-compile-tmp/imp918s.imp"
L_05fa:;
                                                                //   6344              CLAIM(SAFE,BASEP); PRR(X'18',BASEP,BASE)
#line 6344 "regression-compile-tmp/imp918s.imp"
CLAIM((-61948), &BASEP);
#line 6344 "regression-compile-tmp/imp918s.imp"
PRR(24, BASEP, BASE);
                                                                //   6345              FORGET(BASEP); BASE=BASEP
#line 6345 "regression-compile-tmp/imp918s.imp"
FORGET(BASEP);
#line 6345 "regression-compile-tmp/imp918s.imp"
BASE = BASEP;
                                                                //   6346           %FINISH
#line 6346 "regression-compile-tmp/imp918s.imp"
L_0606:;
                                                                //   6347  !
                                                                //   6348           BASEP=BASE; DISPP=DISP; LL=STRINGL
#line 6348 "regression-compile-tmp/imp918s.imp"
BASEP = BASE;
#line 6348 "regression-compile-tmp/imp918s.imp"
DISPP = DISP;
#line 6348 "regression-compile-tmp/imp918s.imp"
LL = STRINGL;
                                                                //   6349           MASK=FCOMP(CMP)
#line 6349 "regression-compile-tmp/imp918s.imp"
MASK = (FCOMP-1)[CMP];
                                                                //   6350           %IF 7<=MASK<=8 %THEN CODE=0 %ELSE CODE=5
#line 6350 "regression-compile-tmp/imp918s.imp"
if ((((7) > (MASK))) || (((MASK) > (8)))) goto L_0607;
#line 6350 "regression-compile-tmp/imp918s.imp"
CODE = 0;
#line 6350 "regression-compile-tmp/imp918s.imp"
goto L_0608;
#line 6350 "regression-compile-tmp/imp918s.imp"
L_0607:;
#line 6350 "regression-compile-tmp/imp918s.imp"
CODE = 5;
#line 6350 "regression-compile-tmp/imp918s.imp"
L_0608:;
                                                                //   6351           %IF TF=1 %THEN MASK=MASK!!15; ! REVERSE MASK TO JMP IF FALS
#line 6351 "regression-compile-tmp/imp918s.imp"
if (((TF) != (1))) goto L_0609;
#line 6351 "regression-compile-tmp/imp918s.imp"
MASK = ((MASK) ^ (15));
#line 6351 "regression-compile-tmp/imp918s.imp"
L_0609:;
                                                                //   6352           REGISTER(BASEP)=1 %IF REGISTER(BASEP)=0
#line 6352 "regression-compile-tmp/imp918s.imp"
if (((REGISTER[BASEP]) != (0))) goto L_060a;
#line 6352 "regression-compile-tmp/imp918s.imp"
REGISTER[BASEP] = 1;
#line 6352 "regression-compile-tmp/imp918s.imp"
L_060a:;
                                                                //   6353  !
                                                                //   6354           CSTREXP(16,0);                ! SAVE WK-AREA
#line 6354 "regression-compile-tmp/imp918s.imp"
CSTREXP(16, 0);
                                                                //   6355           WA=VALUE
#line 6355 "regression-compile-tmp/imp918s.imp"
*WA = VALUE;
                                                                //   6356           L=STRINGL
#line 6356 "regression-compile-tmp/imp918s.imp"
L = STRINGL;
                                                                //   6357           %IF CODE=0 %THEN L=L!LL
#line 6357 "regression-compile-tmp/imp918s.imp"
if (((CODE) != (0))) goto L_060b;
#line 6357 "regression-compile-tmp/imp918s.imp"
L = ((L) | (LL));
#line 6357 "regression-compile-tmp/imp918s.imp"
L_060b:;
                                                                //   6358           STRINGOP(CODE,L,BASE,DISP,BASEP,DISPP,0,255,-2)
#line 6358 "regression-compile-tmp/imp918s.imp"
STRINGOP(CODE, L, BASE, DISP, BASEP, DISPP, 0, 255, (-2));
                                                                //   6359           REGISTER(BASEP)=0 %IF REGISTER(BASEP)=1
#line 6359 "regression-compile-tmp/imp918s.imp"
if (((REGISTER[BASEP]) != (1))) goto L_060c;
#line 6359 "regression-compile-tmp/imp918s.imp"
REGISTER[BASEP] = 0;
#line 6359 "regression-compile-tmp/imp918s.imp"
L_060c:;
                                                                //   6360           REGISTER(BASE)=1 %IF REGISTER(BASE)=0;! MAY BE FURTHER CMPRSN!
#line 6360 "regression-compile-tmp/imp918s.imp"
if (((REGISTER[BASE]) != (0))) goto L_060d;
#line 6360 "regression-compile-tmp/imp918s.imp"
REGISTER[BASE] = 1;
#line 6360 "regression-compile-tmp/imp918s.imp"
L_060d:;
                                                                //   6361           ENTER JUMP(MASK,LAB,B'11')
#line 6361 "regression-compile-tmp/imp918s.imp"
ENTERJUMP(MASK, LAB, 3);
                                                                //   6362           REGISTER(BASE)=0 %IF REGISTER(BASE)>0
#line 6362 "regression-compile-tmp/imp918s.imp"
if (((REGISTER[BASE]) <= (0))) goto L_060e;
#line 6362 "regression-compile-tmp/imp918s.imp"
REGISTER[BASE] = 0;
#line 6362 "regression-compile-tmp/imp918s.imp"
L_060e:;
                                                                //   6363           %END
#line 6363 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block SCOMP at level 5
                                                                //   6364           %END
#line 6364 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block CCOMP at level 4
                                                                //   6365           %END
#line 6365 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block CCOND at level 3
                                                                //   6366           %ROUTINE REDUCE ENV(%SHORTINTEGERNAME HEAD)
#line 6366 "regression-compile-tmp/imp918s.imp"
void REDUCEENV( short /*name*/*HEAD )
#line 6366 "regression-compile-tmp/imp918s.imp"
{
                                                                //   6367           {%SHORTROUTINE}
                                                                //   6368  !***********************************************************************
                                                                //   6369  !*       HEAD HAS AN ENVIRONMENT  - THIS ROUTINE REMOVES ANYTHING      *
                                                                //   6370  !*       INCOMPATIBLE WITH THE CURRENT REGISTER STATE                  *
                                                                //   6371  !***********************************************************************
                                                                //   6372           %SHORTINTEGER NEWHEAD; %INTEGER I,J,K,REG,USE
#line 6372 "regression-compile-tmp/imp918s.imp"
short NEWHEAD;
#line 6372 "regression-compile-tmp/imp918s.imp"
int I;
#line 6372 "regression-compile-tmp/imp918s.imp"
int J;
#line 6372 "regression-compile-tmp/imp918s.imp"
int K;
#line 6372 "regression-compile-tmp/imp918s.imp"
int REG;
#line 6372 "regression-compile-tmp/imp918s.imp"
int USE;
                                                                //   6373           NEWHEAD=0
#line 6373 "regression-compile-tmp/imp918s.imp"
NEWHEAD = 0;
                                                                //   6374           %WHILE HEAD#0 %CYCLE
#line 6374 "regression-compile-tmp/imp918s.imp"
L_060f:;
#line 6374 "regression-compile-tmp/imp918s.imp"
if (((*HEAD) == (0))) goto L_0610;
                                                                //   6375              POP123(HEAD,I,J,K)
#line 6375 "regression-compile-tmp/imp918s.imp"
POP123(HEAD, &I, &J, &K);
                                                                //   6376              REG=K>>8; USE=K&255
#line 6376 "regression-compile-tmp/imp918s.imp"
REG = (int)((((unsigned int)(K)) >> (8)));
#line 6376 "regression-compile-tmp/imp918s.imp"
USE = ((K) & (255));
                                                                //   6377              %IF USE=GRUSE(REG) %AND I=GRINF(REG) %THEN %C
#line 6377 "regression-compile-tmp/imp918s.imp"
if (((USE) != (GRUSE[REG]))) goto L_0612;
#line 6377 "regression-compile-tmp/imp918s.imp"
if (((I) != (GRINF[REG]))) goto L_0612;
#line 6377 "regression-compile-tmp/imp918s.imp"
PUSH123(&NEWHEAD, I, J, K);
#line 6377 "regression-compile-tmp/imp918s.imp"
L_0612:;
                                                                //   6378                 PUSH123(NEWHEAD,I,J,K)
                                                                //   6379           %REPEAT
#line 6379 "regression-compile-tmp/imp918s.imp"
goto L_060f;
#line 6379 "regression-compile-tmp/imp918s.imp"
L_0610:;
                                                                //   6380           HEAD=NEWHEAD
#line 6380 "regression-compile-tmp/imp918s.imp"
*HEAD = NEWHEAD;
                                                                //   6381           %END
#line 6381 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block REDUCEENV at level 3
                                                                //   6382           %ROUTINE ENTER LAB(%INTEGER LAB,FLAGS)
#line 6382 "regression-compile-tmp/imp918s.imp"
void ENTERLAB( int LAB, int FLAGS )
#line 6382 "regression-compile-tmp/imp918s.imp"
{
                                                                //   6383           {%SHORTROUTINE}
                                                                //   6384  !***********************************************************************
                                                                //   6385  !*       ENTER A NEW LABEL ON THE LABEL LIST FOR THE CURRENT LEVEL     *
                                                                //   6386  !*       2**0  OF FLAGS  = 1  CONDITIONAL ENTRY                        *
                                                                //   6387  !*       2**1  OF FLAGS  = 1  UPDATE ENVIRONMENT                       *
                                                                //   6388  !*       2**2  OF FLAGS  = 1  REPLACE ENV     =0  MERGE ENV            *
                                                                //   6389  !*       THE LABEL LIST                                                *
                                                                //   6390  !*       S1 =   USE BITS<<8 ! LABEL ADDR                               *
                                                                //   6391  !*       S2 =   ENVIRONMENT LIST << 16 ! UNFILLED JUMPS LIST           *
                                                                //   6392  !*       S3 = LAB NO - RESET TO ZERO WHEN USED FOR INTERNAL LABELS     *
                                                                //   6393  !***********************************************************************
                                                                //   6394           %INTEGER CELL,AT,BBASE,BREG,KREG,DIS,KDIS
#line 6394 "regression-compile-tmp/imp918s.imp"
int CELL;
#line 6394 "regression-compile-tmp/imp918s.imp"
int AT;
#line 6394 "regression-compile-tmp/imp918s.imp"
int BBASE;
#line 6394 "regression-compile-tmp/imp918s.imp"
int BREG;
#line 6394 "regression-compile-tmp/imp918s.imp"
int KREG;
#line 6394 "regression-compile-tmp/imp918s.imp"
int DIS;
#line 6394 "regression-compile-tmp/imp918s.imp"
int KDIS;
                                                                //   6395           %SHORTINTEGERNAME ENVHEAD,JUMPHEAD
#line 6395 "regression-compile-tmp/imp918s.imp"
short /*name*/*ENVHEAD;
#line 6395 "regression-compile-tmp/imp918s.imp"
short /*name*/*JUMPHEAD;
                                                                //   6396           %RETURN %IF CSSMODE=0
#line 6396 "regression-compile-tmp/imp918s.imp"
if (((CSSMODE) != (0))) goto L_0613;
#line 6396 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 6396 "regression-compile-tmp/imp918s.imp"
L_0613:;
                                                                //   6397           FLAGS=FLAGS&1 %IF CHECKSP#0
#line 6397 "regression-compile-tmp/imp918s.imp"
if (((CHECKSP) == (0))) goto L_0614;
#line 6397 "regression-compile-tmp/imp918s.imp"
FLAGS = ((FLAGS) & (1));
#line 6397 "regression-compile-tmp/imp918s.imp"
L_0614:;
                                                                //   6398           MONE=1 %IF LAB<MAX ULAB
#line 6398 "regression-compile-tmp/imp918s.imp"
if (((LAB) >= (MAXULAB))) goto L_0615;
#line 6398 "regression-compile-tmp/imp918s.imp"
MONE = 1;
#line 6398 "regression-compile-tmp/imp918s.imp"
L_0615:;
                                                                //   6399           %IF 1<=LAB<=16381 %THEN WARN(LINE)
#line 6399 "regression-compile-tmp/imp918s.imp"
if ((((1) > (LAB))) || (((LAB) > (16381)))) goto L_0616;
#line 6399 "regression-compile-tmp/imp918s.imp"
WARN(LINE);
#line 6399 "regression-compile-tmp/imp918s.imp"
L_0616:;
                                                                //   6400           CELL=FIND3( LAB,LABEL(LEVEL))
#line 6400 "regression-compile-tmp/imp918s.imp"
CELL = FIND3(LAB, LABEL[LEVEL]);
                                                                //   6401           %IF CELL<0 %THEN %START;      ! LABEL NOT KNOWN
#line 6401 "regression-compile-tmp/imp918s.imp"
if (((CELL) >= (0))) goto L_0617;
                                                                //   6402              %IF FLAGS&1=0 %THEN %START;! UNCONDITIONAL ENTRY
#line 6402 "regression-compile-tmp/imp918s.imp"
if (((((FLAGS) & (1))) != (0))) goto L_0618;
                                                                //   6403                 PUSH123(LABEL(LEVEL),CA,0,LAB)
#line 6403 "regression-compile-tmp/imp918s.imp"
PUSH123(&LABEL[LEVEL], CA, 0, LAB);
                                                                //   6404                 FORGETM(14)
#line 6404 "regression-compile-tmp/imp918s.imp"
FORGETM(14);
                                                                //   6405                 CCSTATE=-1; LCA=0
#line 6405 "regression-compile-tmp/imp918s.imp"
CCSTATE = (-1);
#line 6405 "regression-compile-tmp/imp918s.imp"
LCA = 0;
                                                                //   6406              %FINISH
#line 6406 "regression-compile-tmp/imp918s.imp"
L_0618:;
                                                                //   6407              %RETURN
#line 6407 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   6408           %FINISH
#line 6408 "regression-compile-tmp/imp918s.imp"
L_0617:;
                                                                //   6409  !
                                                                //   6410  ! LABEL HAS BEEN REFERENCED - FILL IN ITS ADDRESS
                                                                //   6411  !
                                                                //   6412           ENVHEAD== SHORT INTEGER(ADDR(ASLIST(CELL+4)))
#line 6412 "regression-compile-tmp/imp918s.imp"
ENVHEAD = _imp_SHORTINTEGER(_imp_ADDR(&ASLIST[(((int)(CELL)) + (4))]));
                                                                //   6413           JUMPHEAD== SHORT INTEGER(ADDR(ASLIST(CELL+6)))
#line 6413 "regression-compile-tmp/imp918s.imp"
JUMPHEAD = _imp_SHORTINTEGER(_imp_ADDR(&ASLIST[(((int)(CELL)) + (6))]));
                                                                //   6414           %IF FROM1(CELL)&X'FFFFFF'# 0 %THEN %START
#line 6414 "regression-compile-tmp/imp918s.imp"
if (((((FROM1(CELL)) & (16777215))) == (0))) goto L_0619;
                                                                //   6415              FAULT(2,-LAB);             ! LABEL SET TWICE
#line 6415 "regression-compile-tmp/imp918s.imp"
FAULT(2, (-(LAB)));
                                                                //   6416           %FINISH %ELSE %START
#line 6416 "regression-compile-tmp/imp918s.imp"
goto L_061a;
#line 6416 "regression-compile-tmp/imp918s.imp"
L_0619:;
                                                                //   6417              CCSTATE=-1; LCA=0
#line 6417 "regression-compile-tmp/imp918s.imp"
CCSTATE = (-1);
#line 6417 "regression-compile-tmp/imp918s.imp"
LCA = 0;
                                                                //   6418              REPLACE1(CELL,X'1000000'!CA)
#line 6418 "regression-compile-tmp/imp918s.imp"
REPLACE1(CELL, ((16777216) | (CA)));
                                                                //   6419           %FINISH
#line 6419 "regression-compile-tmp/imp918s.imp"
L_061a:;
                                                                //   6420  !
                                                                //   6421  ! SORT OUT ENVIRONMENTS  -  AS DIRECTED BY FLAGS
                                                                //   6422  !
                                                                //   6423           %IF FLAGS&2=0 %THEN %START
#line 6423 "regression-compile-tmp/imp918s.imp"
if (((((FLAGS) & (2))) != (0))) goto L_061b;
                                                                //   6424              FORGETM(14)
#line 6424 "regression-compile-tmp/imp918s.imp"
FORGETM(14);
                                                                //   6425              CLEAR LIST(ENVHEAD) %IF ENVHEAD#0
#line 6425 "regression-compile-tmp/imp918s.imp"
if (((*ENVHEAD) == (0))) goto L_061c;
#line 6425 "regression-compile-tmp/imp918s.imp"
CLEARLIST(ENVHEAD);
#line 6425 "regression-compile-tmp/imp918s.imp"
L_061c:;
                                                                //   6426           %FINISH %ELSE %START
#line 6426 "regression-compile-tmp/imp918s.imp"
goto L_061d;
#line 6426 "regression-compile-tmp/imp918s.imp"
L_061b:;
                                                                //   6427              REMEMBER %IF FLAGS&4=0
#line 6427 "regression-compile-tmp/imp918s.imp"
if (((((FLAGS) & (4))) != (0))) goto L_061e;
#line 6427 "regression-compile-tmp/imp918s.imp"
REMEMBER();
#line 6427 "regression-compile-tmp/imp918s.imp"
L_061e:;
                                                                //   6428              RESTORE (ENVHEAD)
#line 6428 "regression-compile-tmp/imp918s.imp"
RESTORE(*ENVHEAD);
                                                                //   6429              ENVHEAD=0
#line 6429 "regression-compile-tmp/imp918s.imp"
*ENVHEAD = 0;
                                                                //   6430              MERGE INFO %IF FLAGS&4=0
#line 6430 "regression-compile-tmp/imp918s.imp"
if (((((FLAGS) & (4))) != (0))) goto L_061f;
#line 6430 "regression-compile-tmp/imp918s.imp"
MERGEINFO();
#line 6430 "regression-compile-tmp/imp918s.imp"
L_061f:;
                                                                //   6431           %FINISH
#line 6431 "regression-compile-tmp/imp918s.imp"
L_061d:;
                                                                //   6432  !
                                                                //   6433  ! NOW FILL JUMPS TO THIS LABEL - JUMP LIST FORMAT GIVEN IN 'ENTER JMP'
                                                                //   6434  !
                                                                //   6435           %WHILE  JUMPHEAD#0  %CYCLE
#line 6435 "regression-compile-tmp/imp918s.imp"
L_0620:;
#line 6435 "regression-compile-tmp/imp918s.imp"
if (((*JUMPHEAD) == (0))) goto L_0621;
                                                                //   6436              POP(JUMPHEAD,AT,BBASE)
#line 6436 "regression-compile-tmp/imp918s.imp"
POP(JUMPHEAD, &AT, &BBASE);
                                                                //   6437              KREG=AT>>24
#line 6437 "regression-compile-tmp/imp918s.imp"
KREG = (int)((((unsigned int)(AT)) >> (24)));
                                                                //   6438              BREG=BBASE>>24
#line 6438 "regression-compile-tmp/imp918s.imp"
BREG = (int)((((unsigned int)(BBASE)) >> (24)));
                                                                //   6439              AT=AT&X'FFFFFF'
#line 6439 "regression-compile-tmp/imp918s.imp"
AT = ((AT) & (16777215));
                                                                //   6440              DIS=CA-BBASE&X'FFFFFF'
#line 6440 "regression-compile-tmp/imp918s.imp"
DIS = ((CA) - ((int)(((BBASE) & (16777215)))));
                                                                //   6441  !
                                                                //   6442  ! KREG=0 %IF NO INDEX REGISTER REQUIRED
                                                                //   6443  ! KREG=KREG!16 %IF INDEX REGISTER HAS BEEN SET UP BY EARLIER JUMP
                                                                //   6444  ! IF INDEX REGISTER SET BUT NOT REQUIRED  OVERWRITE 'L' WITH 'LA'
                                                                //   6445  !
                                                                //   6446           %IF 0<KREG<16 %THEN %START
#line 6446 "regression-compile-tmp/imp918s.imp"
if ((((0) >= (KREG))) || (((KREG) >= (16)))) goto L_0623;
                                                                //   6447              KDIS= PTBASE+ DIS>>12<<2;! ADDR OF CORRECT 4K MULTIPLE
#line 6447 "regression-compile-tmp/imp918s.imp"
KDIS = ((256) + ((int)((((int)((((unsigned int)(DIS)) >> (12)))) << (2)))));
                                                                //   6448              %IF KDIS=PTBASE %THEN %START
#line 6448 "regression-compile-tmp/imp918s.imp"
if (((KDIS) != (256))) goto L_0624;
                                                                //   6449                 PLUG(1,AT,X'4100'! KREG<<4);!   LOAD ADDRESS
#line 6449 "regression-compile-tmp/imp918s.imp"
PLUG(1, AT, ((16640) | (((KREG) << (4)))));
                                                                //   6450                 KDIS=0
#line 6450 "regression-compile-tmp/imp918s.imp"
KDIS = 0;
                                                                //   6451              %FINISH
#line 6451 "regression-compile-tmp/imp918s.imp"
L_0624:;
                                                                //   6452              PLUG(1,AT+2,KDIS)
#line 6452 "regression-compile-tmp/imp918s.imp"
PLUG(1, (((int)(AT)) + (2)), KDIS);
                                                                //   6453              AT=AT+4
#line 6453 "regression-compile-tmp/imp918s.imp"
AT = (((int)(AT)) + (4));
                                                                //   6454           %FINISH
#line 6454 "regression-compile-tmp/imp918s.imp"
L_0623:;
                                                                //   6455           %IF DIS>4095 %AND KREG=0 %THEN FAULT(99,0)
#line 6455 "regression-compile-tmp/imp918s.imp"
if (((DIS) <= (4095))) goto L_0625;
#line 6455 "regression-compile-tmp/imp918s.imp"
if (((KREG) != (0))) goto L_0625;
#line 6455 "regression-compile-tmp/imp918s.imp"
FAULT(99, 0);
#line 6455 "regression-compile-tmp/imp918s.imp"
L_0625:;
                                                                //   6456           PLUG(1,AT+2, (BREG&15)<<12!DIS&4095); ! FILL THE JUMP
#line 6456 "regression-compile-tmp/imp918s.imp"
PLUG(1, (((int)(AT)) + (2)), ((((((BREG) & (15))) << (12))) | (((DIS) & (4095)))));
                                                                //   6457           %REPEAT
#line 6457 "regression-compile-tmp/imp918s.imp"
goto L_0620;
#line 6457 "regression-compile-tmp/imp918s.imp"
L_0621:;
                                                                //   6458           %IF LAB> MAX ULAB  %THEN %START
#line 6458 "regression-compile-tmp/imp918s.imp"
if (((LAB) <= (MAXULAB))) goto L_0626;
                                                                //   6459              %IF PREV3CL=0 %THEN JUMPHEAD==LABEL(LEVEL) %C
#line 6459 "regression-compile-tmp/imp918s.imp"
if (((PREV3CL) != (0))) goto L_0627;
#line 6459 "regression-compile-tmp/imp918s.imp"
JUMPHEAD = &LABEL[LEVEL];
#line 6459 "regression-compile-tmp/imp918s.imp"
goto L_0628;
#line 6459 "regression-compile-tmp/imp918s.imp"
L_0627:;
#line 6459 "regression-compile-tmp/imp918s.imp"
JUMPHEAD = _imp_SHORTINTEGER(_imp_ADDR(&ASLIST[(((int)(PREV3CL)) + (14))]));
#line 6459 "regression-compile-tmp/imp918s.imp"
L_0628:;
                                                                //   6460                 %ELSE JUMPHEAD==SHORT INTEGER(ADDR(ASLIST(PREV3CL+14)))
                                                                //   6461              POP(JUMPHEAD,AT,AT);        ! REMOVE OLD LABEL
#line 6461 "regression-compile-tmp/imp918s.imp"
POP(JUMPHEAD, &AT, &AT);
                                                                //   6462           %FINISH
#line 6462 "regression-compile-tmp/imp918s.imp"
L_0626:;
                                                                //   6463           %END
#line 6463 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block ENTERLAB at level 3
                                                                //   6464           %ROUTINE ENTER JUMP(%INTEGER MASK,LAB,FLAGS)
#line 6464 "regression-compile-tmp/imp918s.imp"
void ENTERJUMP( int MASK, int LAB, int FLAGS )
#line 6464 "regression-compile-tmp/imp918s.imp"
{
                                                                //   6465           {%SHORTROUTINE}
                                                                //   6466  !***********************************************************************
                                                                //   6467  !*       IF LAB HAS BEEN ENCOUNTERED THEN PLANT A *BC OTHERWISE ENTER  *
                                                                //   6468  !*       THE LABEL IN THE LABEL LIST AND ATTACH THE JUMP TO IT SO IT   *
                                                                //   6469  !*       CAN BE PLANTED WHEN THE LABEL IS FOUND                        *
                                                                //   6470  !*       THE LABEL LIST IS DESCRIBED UNDER 'ENTER LAB'                 *
                                                                //   6471  !*       THE JUMP SUB-LIST HAS THE FORM                                *
                                                                //   6472  !*       S1=KREG<<24! ADDR OF JUMP                                     *
                                                                //   6473  !*       S2=BREG<<24! (ADDRESS IN BASE(BREG) REGISTER)                 *
                                                                //   6474  !*                                                                     *
                                                                //   6475  !*       FLAGS BITS SIGNIFY AS FOLLOWS                                 *
                                                                //   6476  !*       2**0 =1  JUMP IS KNOWN TO BE SHORT                            *
                                                                //   6477  !*       2**1 =1  ENVIRONMENT MERGEING REQUIRED                        *
                                                                //   6478  !***********************************************************************
                                                                //   6479           %INTEGER AT,CELL,BREG,BBASE,KREG,LABADDR,I
#line 6479 "regression-compile-tmp/imp918s.imp"
int AT;
#line 6479 "regression-compile-tmp/imp918s.imp"
int CELL;
#line 6479 "regression-compile-tmp/imp918s.imp"
int BREG;
#line 6479 "regression-compile-tmp/imp918s.imp"
int BBASE;
#line 6479 "regression-compile-tmp/imp918s.imp"
int KREG;
#line 6479 "regression-compile-tmp/imp918s.imp"
int LABADDR;
#line 6479 "regression-compile-tmp/imp918s.imp"
int I;
                                                                //   6480           %SHORTINTEGER ENVHEAD
#line 6480 "regression-compile-tmp/imp918s.imp"
short ENVHEAD;
                                                                //   6481           %SHORTINTEGERNAME OLDENV
#line 6481 "regression-compile-tmp/imp918s.imp"
short /*name*/*OLDENV;
                                                                //   6482           ENVHEAD=0; AT=CA; KREG=0
#line 6482 "regression-compile-tmp/imp918s.imp"
ENVHEAD = 0;
#line 6482 "regression-compile-tmp/imp918s.imp"
AT = CA;
#line 6482 "regression-compile-tmp/imp918s.imp"
KREG = 0;
                                                                //   6483           BREG=10; BBASE=CODEBASE; ENVHEAD=0
#line 6483 "regression-compile-tmp/imp918s.imp"
BREG = 10;
#line 6483 "regression-compile-tmp/imp918s.imp"
BBASE = CODEBASE;
#line 6483 "regression-compile-tmp/imp918s.imp"
ENVHEAD = 0;
                                                                //   6484           %IF LAB=0 %THEN FAULT(2,0) %AND %RETURN
#line 6484 "regression-compile-tmp/imp918s.imp"
if (((LAB) != (0))) goto L_0629;
#line 6484 "regression-compile-tmp/imp918s.imp"
FAULT(2, 0);
#line 6484 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 6484 "regression-compile-tmp/imp918s.imp"
L_0629:;
                                                                //   6485           FLAGS=FLAGS&1 %IF CHECKSP#0
#line 6485 "regression-compile-tmp/imp918s.imp"
if (((CHECKSP) == (0))) goto L_062a;
#line 6485 "regression-compile-tmp/imp918s.imp"
FLAGS = ((FLAGS) & (1));
#line 6485 "regression-compile-tmp/imp918s.imp"
L_062a:;
                                                                //   6486           %IF 1<=LAB<=16381 %THEN WARN(LINE)
#line 6486 "regression-compile-tmp/imp918s.imp"
if ((((1) > (LAB))) || (((LAB) > (16381)))) goto L_062b;
#line 6486 "regression-compile-tmp/imp918s.imp"
WARN(LINE);
#line 6486 "regression-compile-tmp/imp918s.imp"
L_062b:;
                                                                //   6487           %IF LAB<MAX ULAB %THEN FLAGS=FLAGS&X'FD';! NO MERGE
#line 6487 "regression-compile-tmp/imp918s.imp"
if (((LAB) >= (MAXULAB))) goto L_062c;
#line 6487 "regression-compile-tmp/imp918s.imp"
FLAGS = ((FLAGS) & (253));
#line 6487 "regression-compile-tmp/imp918s.imp"
L_062c:;
                                                                //   6488           %IF LAB<22000 %THEN FLAGS=FLAGS&X'FE'
#line 6488 "regression-compile-tmp/imp918s.imp"
if (((LAB) >= (22000))) goto L_062d;
#line 6488 "regression-compile-tmp/imp918s.imp"
FLAGS = ((FLAGS) & (254));
#line 6488 "regression-compile-tmp/imp918s.imp"
L_062d:;
                                                                //   6489                                            ! SF OR USER LAB=LONG
                                                                //   6490           CELL=FIND3(LAB,LABEL(LEVEL))
#line 6490 "regression-compile-tmp/imp918s.imp"
CELL = FIND3(LAB, LABEL[LEVEL]);
                                                                //   6491           -> FIRSTREF %IF CELL<0
#line 6491 "regression-compile-tmp/imp918s.imp"
if (((CELL) >= (0))) goto L_062e;
#line 6491 "regression-compile-tmp/imp918s.imp"
goto U_101d;
#line 6491 "regression-compile-tmp/imp918s.imp"
L_062e:;
                                                                //   6492           LABADDR=FROM1(CELL)&X'FFFFFF'
#line 6492 "regression-compile-tmp/imp918s.imp"
LABADDR = ((FROM1(CELL)) & (16777215));
                                                                //   6493           -> NOT YET SET %IF LABADDR=0
#line 6493 "regression-compile-tmp/imp918s.imp"
if (((LABADDR) != (0))) goto L_062f;
#line 6493 "regression-compile-tmp/imp918s.imp"
goto U_101e;
#line 6493 "regression-compile-tmp/imp918s.imp"
L_062f:;
                                                                //   6494           REPLACE1(CELL,LABADDR!X'1000000');! FLAG LABEL AS USED
#line 6494 "regression-compile-tmp/imp918s.imp"
REPLACE1(CELL, ((LABADDR) | (16777216)));
                                                                //   6495           %IF CYC BASE#0 %AND CYC ADDR<=LABADDR %THEN %C
#line 6495 "regression-compile-tmp/imp918s.imp"
if (((CYCBASE) == (0))) goto L_0630;
#line 6495 "regression-compile-tmp/imp918s.imp"
if (((CYCADDR) > (LABADDR))) goto L_0630;
#line 6495 "regression-compile-tmp/imp918s.imp"
BREG = CYCBASE;
#line 6495 "regression-compile-tmp/imp918s.imp"
BBASE = CYCADDR;
#line 6495 "regression-compile-tmp/imp918s.imp"
L_0630:;
                                                                //   6496                          BREG=CYC BASE %AND BBASE=CYC ADDR
                                                                //   6497           I=LABADDR-BBASE
#line 6497 "regression-compile-tmp/imp918s.imp"
I = (((int)(LABADDR)) - (BBASE));
                                                                //   6498           %IF I=0 %THEN PRR(7,MASK,BREG) %ELSE DUMP(X'47',MASK,I,0,BREG)
#line 6498 "regression-compile-tmp/imp918s.imp"
if (((I) != (0))) goto L_0631;
#line 6498 "regression-compile-tmp/imp918s.imp"
PRR(7, MASK, BREG);
#line 6498 "regression-compile-tmp/imp918s.imp"
goto L_0632;
#line 6498 "regression-compile-tmp/imp918s.imp"
L_0631:;
#line 6498 "regression-compile-tmp/imp918s.imp"
DUMP(71, MASK, I, 0, BREG);
#line 6498 "regression-compile-tmp/imp918s.imp"
L_0632:;
                                                                //   6499           %RETURN
#line 6499 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   6500  FIRSTREF:                              ! FIRST REFERENCE TO A NEW LABEL
#line 6500 "regression-compile-tmp/imp918s.imp"
U_101d:;
                                                                //   6501           %IF CSSMODE#0 %THEN %START
#line 6501 "regression-compile-tmp/imp918s.imp"
if (((CSSMODE) == (0))) goto L_0633;
                                                                //   6502              %IF LAB>MAX ULAB %AND FLAGS&2#0 %THEN GET ENV(ENV HEAD)
#line 6502 "regression-compile-tmp/imp918s.imp"
if (((LAB) <= (MAXULAB))) goto L_0634;
#line 6502 "regression-compile-tmp/imp918s.imp"
if (((((FLAGS) & (2))) == (0))) goto L_0634;
#line 6502 "regression-compile-tmp/imp918s.imp"
GETENV(&ENVHEAD);
#line 6502 "regression-compile-tmp/imp918s.imp"
L_0634:;
                                                                //   6503              PUSH123(LABEL(LEVEL),X'1000000',ENVHEAD<<16,LAB)
#line 6503 "regression-compile-tmp/imp918s.imp"
PUSH123(&LABEL[LEVEL], 16777216, ((ENVHEAD) << (16)), LAB);
                                                                //   6504              CELL=LABEL(LEVEL)
#line 6504 "regression-compile-tmp/imp918s.imp"
CELL = LABEL[LEVEL];
                                                                //   6505           %FINISH
#line 6505 "regression-compile-tmp/imp918s.imp"
L_0633:;
                                                                //   6506           -> CODE
#line 6506 "regression-compile-tmp/imp918s.imp"
goto U_101f;
                                                                //   6507  NOT YET SET:                           ! LABEL REFERENCED BEFORE
#line 6507 "regression-compile-tmp/imp918s.imp"
U_101e:;
                                                                //   6508           %IF CSSMODE#0 %THEN %START
#line 6508 "regression-compile-tmp/imp918s.imp"
if (((CSSMODE) == (0))) goto L_0635;
                                                                //   6509              %IF LAB>MAX ULAB %AND FLAGS&2#0 %THEN %START
#line 6509 "regression-compile-tmp/imp918s.imp"
if (((LAB) <= (MAXULAB))) goto L_0636;
#line 6509 "regression-compile-tmp/imp918s.imp"
if (((((FLAGS) & (2))) == (0))) goto L_0636;
                                                                //   6510              OLDENV==SHORT INTEGER(ADDR(ASLIST(CELL+4)))
#line 6510 "regression-compile-tmp/imp918s.imp"
OLDENV = _imp_SHORTINTEGER(_imp_ADDR(&ASLIST[(((int)(CELL)) + (4))]));
                                                                //   6511                 REDUCE ENV(OLD ENV)
#line 6511 "regression-compile-tmp/imp918s.imp"
REDUCEENV(OLDENV);
                                                                //   6512              %FINISH
#line 6512 "regression-compile-tmp/imp918s.imp"
L_0636:;
                                                                //   6513           %FINISH
#line 6513 "regression-compile-tmp/imp918s.imp"
L_0635:;
                                                                //   6514  CODE:                                  ! ACTUALLY PLANT THE JUMP
#line 6514 "regression-compile-tmp/imp918s.imp"
U_101f:;
                                                                //   6515           %IF SBFLAG #0 %THEN FLAGS=FLAGS!1
#line 6515 "regression-compile-tmp/imp918s.imp"
if (((SBFLAG) == (0))) goto L_0637;
#line 6515 "regression-compile-tmp/imp918s.imp"
FLAGS = ((FLAGS) | (1));
#line 6515 "regression-compile-tmp/imp918s.imp"
L_0637:;
                                                                //   6516           %IF CYC BASE #0 %AND LAB> MAX ULAB %THEN %START
#line 6516 "regression-compile-tmp/imp918s.imp"
if (((CYCBASE) == (0))) goto L_0638;
#line 6516 "regression-compile-tmp/imp918s.imp"
if (((LAB) <= (MAXULAB))) goto L_0638;
                                                                //   6517              BREG=CYC BASE;             ! SOMETHING INSIDE AN OPTIMISED
#line 6517 "regression-compile-tmp/imp918s.imp"
BREG = CYCBASE;
                                                                //   6518              BBASE=CYC ADDR;            ! CYCLE. BASE REGISTER COVER
#line 6518 "regression-compile-tmp/imp918s.imp"
BBASE = CYCADDR;
                                                                //   6519              FLAGS=FLAGS!1;             ! IS PROVIDED BY CYC BASE
#line 6519 "regression-compile-tmp/imp918s.imp"
FLAGS = ((FLAGS) | (1));
                                                                //   6520           %FINISH
#line 6520 "regression-compile-tmp/imp918s.imp"
L_0638:;
                                                                //   6521  !
                                                                //   6522  ! IF THE SHORT JUMP FLAG NOT SET THEN WE CAN TRY :-
                                                                //   6523  ! A)     TO LOCATE A SUITABLE 4K MULTIPLE ALREADY IN A REGISTER
                                                                //   6524  ! B)     TO FIND THE LABEL LURKING IN THE CYCLIC BUFFER.
                                                                //   6525  ! IF THESE FAIL THEN AN 8 BYTE JUMP MUST BE PLANTED
                                                                //   6526  !
                                                                //   6527           %IF FLAGS&1=0 %THEN %START
#line 6527 "regression-compile-tmp/imp918s.imp"
if (((((FLAGS) & (1))) != (0))) goto L_0639;
                                                                //   6528              FIND USE(I,1,11,\LAB)
#line 6528 "regression-compile-tmp/imp918s.imp"
FINDUSE(&I, 1, 11, (~(LAB)));
                                                                //   6529              %IF I>0 %THEN KREG=I+16 %ELSE %START
#line 6529 "regression-compile-tmp/imp918s.imp"
if (((I) <= (0))) goto L_063a;
#line 6529 "regression-compile-tmp/imp918s.imp"
KREG = (((int)(I)) + (16));
#line 6529 "regression-compile-tmp/imp918s.imp"
goto L_063b;
#line 6529 "regression-compile-tmp/imp918s.imp"
L_063a:;
                                                                //   6530                 LABLOOK(I,LAB) %IF CHECKSP=0 %AND CSSMODE#0
#line 6530 "regression-compile-tmp/imp918s.imp"
if (((CHECKSP) != (0))) goto L_063c;
#line 6530 "regression-compile-tmp/imp918s.imp"
if (((CSSMODE) == (0))) goto L_063c;
#line 6530 "regression-compile-tmp/imp918s.imp"
LABLOOK(&I, LAB);
#line 6530 "regression-compile-tmp/imp918s.imp"
L_063c:;
                                                                //   6531                 FLAGS=FLAGS!1 %IF I=1
#line 6531 "regression-compile-tmp/imp918s.imp"
if (((I) != (1))) goto L_063d;
#line 6531 "regression-compile-tmp/imp918s.imp"
FLAGS = ((FLAGS) | (1));
#line 6531 "regression-compile-tmp/imp918s.imp"
L_063d:;
                                                                //   6532              %FINISH
#line 6532 "regression-compile-tmp/imp918s.imp"
L_063b:;
                                                                //   6533           %FINISH
#line 6533 "regression-compile-tmp/imp918s.imp"
L_0639:;
                                                                //   6534           %IF FLAGS&1#0 %THEN %START
#line 6534 "regression-compile-tmp/imp918s.imp"
if (((((FLAGS) & (1))) == (0))) goto L_063e;
                                                                //   6535              SET LOCAL BASE
#line 6535 "regression-compile-tmp/imp918s.imp"
SETLOCALBASE();
                                                                //   6536              BREG=  LOCAL BASE
#line 6536 "regression-compile-tmp/imp918s.imp"
BREG = LOCALBASE;
                                                                //   6537              BBASE= LOCAL ADDR
#line 6537 "regression-compile-tmp/imp918s.imp"
BBASE = LOCALADDR;
                                                                //   6538              AT=CA;                     ! IN CASE BASE HAS BEEN SET
#line 6538 "regression-compile-tmp/imp918s.imp"
AT = CA;
                                                                //   6539           %FINISH %ELSE %START
#line 6539 "regression-compile-tmp/imp918s.imp"
goto L_063f;
#line 6539 "regression-compile-tmp/imp918s.imp"
L_063e:;
                                                                //   6540              %IF KREG=0 %THEN %START
#line 6540 "regression-compile-tmp/imp918s.imp"
if (((KREG) != (0))) goto L_0640;
                                                                //   6541                 FIND REG(GR1,KREG)
#line 6541 "regression-compile-tmp/imp918s.imp"
FINDREG(65807, &KREG);
                                                                //   6542                 SET USE(KREG,11,\LAB)
#line 6542 "regression-compile-tmp/imp918s.imp"
SETUSE(KREG, 11, (~(LAB)));
                                                                //   6543                 PRX(X'58',KREG,CODER,0,0)
#line 6543 "regression-compile-tmp/imp918s.imp"
PRX(88, KREG, 12, 0, 0);
                                                                //   6544                 CYC BITS=CYC BITS!16;   ! 'USES MULTIPLE OF 4096' BIT SET
#line 6544 "regression-compile-tmp/imp918s.imp"
CYCBITS = ((CYCBITS) | (16));
                                                                //   6545              %FINISH
#line 6545 "regression-compile-tmp/imp918s.imp"
L_0640:;
                                                                //   6546           %FINISH
#line 6546 "regression-compile-tmp/imp918s.imp"
L_063f:;
                                                                //   6547  !
                                                                //   6548  ! ENTER JUMP IN SUBLIST
                                                                //   6549  !
                                                                //   6550           %IF CSSMODE#0 %THEN %C
#line 6550 "regression-compile-tmp/imp918s.imp"
if (((CSSMODE) == (0))) goto L_0641;
#line 6550 "regression-compile-tmp/imp918s.imp"
PUSH(_imp_SHORTINTEGER(_imp_ADDR(&ASLIST[(((int)(CELL)) + (6))])), ((((KREG) << (24))) | (AT)), ((((BREG) << (24))) | (BBASE)));
#line 6550 "regression-compile-tmp/imp918s.imp"
L_0641:;
                                                                //   6551  PUSH(SHORT INTEGER(ADDR(ASLIST(CELL+6))),KREG<<24!AT,BREG<<24!BBASE)
                                                                //   6552           PRX(X'47',MASK,KREG&15,0,0)
#line 6552 "regression-compile-tmp/imp918s.imp"
PRX(71, MASK, ((KREG) & (15)), 0, 0);
                                                                //   6553           %END
#line 6553 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block ENTERJUMP at level 3
                                                                //   6554           %ROUTINE MERGE INFO
#line 6554 "regression-compile-tmp/imp918s.imp"
void MERGEINFO( void )
#line 6554 "regression-compile-tmp/imp918s.imp"
{
                                                                //   6555  !***********************************************************************
                                                                //   6556  !*       MERGE THE CURRENT STATUS OF GENERAL AND FLOATING REGISTERS    *
                                                                //   6557  !*       WITH THOSE AT THE START OF THE CONDITIONAL CLAUSE. THUS       *
                                                                //   6558  !*       THE COMPILER CAN REMEMBER UNCHANGED REGISTERS BUT NOT THOSE   *
                                                                //   6559  !*       WHICH DEPEND ON A PARTICULAR RUN TIME ROUTE BEING TAKEN       *
                                                                //   6560  !***********************************************************************
                                                                //   6561  {%SHORTROUTINE}
                                                                //   6562  %INTEGER I,J
#line 6562 "regression-compile-tmp/imp918s.imp"
int I;
#line 6562 "regression-compile-tmp/imp918s.imp"
int J;
                                                                //   6563           %IF CSSMODE#0 %THEN %START; ! OMIT MERGE ON PRELIM PASS
#line 6563 "regression-compile-tmp/imp918s.imp"
if (((CSSMODE) == (0))) goto L_0642;
                                                                //   6564              %CYCLE J=0,1,14; I=GRMAP(J)
#line 6564 "regression-compile-tmp/imp918s.imp"
J = (-1);
if ((((14)-(0)) % (1)) != 0) _imp_signal(5,1,0,"Illegal cycle J = 0, 1, 14");
L_0643:;
if (J == 14) goto L_0644;
J += 1;
#line 6564 "regression-compile-tmp/imp918s.imp"
I = GRMAP[J];
                                                                //   6565              FORGET(I) %UNLESS SGRUSE(I)=GRUSE(I) %AND SGRINF(I)=GRINF(I)
#line 6565 "regression-compile-tmp/imp918s.imp"
if (((SGRUSE[I]) != (GRUSE[I]))) goto L_0646;
#line 6565 "regression-compile-tmp/imp918s.imp"
if (((SGRINF[I]) == (GRINF[I]))) goto L_0647;
#line 6565 "regression-compile-tmp/imp918s.imp"
L_0646:;
#line 6565 "regression-compile-tmp/imp918s.imp"
FORGET(I);
#line 6565 "regression-compile-tmp/imp918s.imp"
L_0647:;
                                                                //   6566              %REPEAT
#line 6566 "regression-compile-tmp/imp918s.imp"
goto L_0643;
#line 6566 "regression-compile-tmp/imp918s.imp"
L_0644:;
                                                                //   6567           %FINISH
#line 6567 "regression-compile-tmp/imp918s.imp"
L_0642:;
                                                                //   6568           LCA=0;            ! NOTE LABEL
#line 6568 "regression-compile-tmp/imp918s.imp"
LCA = 0;
                                                                //   6569           %END
#line 6569 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block MERGEINFO at level 3
                                                                //   6570           %ROUTINE     REMEMBER
#line 6570 "regression-compile-tmp/imp918s.imp"
void REMEMBER( void )
#line 6570 "regression-compile-tmp/imp918s.imp"
{
                                                                //   6571           {%SHORTROUTINE}
                                                                //   6572  !%if USE MC = 1 %start
                                                                //   6573  !         *L_1,SGRUSE; *L_2,GRUSE; *MVC_0(92,1),0(2)
                                                                //   6574  !         *L_1,SGRINF; *L_2,GRINF; *MVC_0(92,1),0(2)
                                                                //   6575  !%finish
                                                                //   6576           %END
#line 6576 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block REMEMBER at level 3
                                                                //   6577           %ROUTINE SET LOCAL BASE
#line 6577 "regression-compile-tmp/imp918s.imp"
void SETLOCALBASE( void )
#line 6577 "regression-compile-tmp/imp918s.imp"
{
                                                                //   6578           {%SHORTROUTINE}
                                                                //   6579  ! FIND OR SET UP A REGISTER FOR BRANCHING A SMALL DISTANCE FORWARD
                                                                //   6580           %INTEGER I,J
#line 6580 "regression-compile-tmp/imp918s.imp"
int I;
#line 6580 "regression-compile-tmp/imp918s.imp"
int J;
                                                                //   6581           LOCAL BASE=10; LOCAL ADDR=CODEBASE
#line 6581 "regression-compile-tmp/imp918s.imp"
LOCALBASE = 10;
#line 6581 "regression-compile-tmp/imp918s.imp"
LOCALADDR = CODEBASE;
                                                                //   6582           ->Label2 %IF SBFLAG=1 %OR 4095-MARGIN>CA-CODEBASE
#line 6582 "regression-compile-tmp/imp918s.imp"
if (((SBFLAG) == (1))) goto L_0622;
#line 6582 "regression-compile-tmp/imp918s.imp"
if ((((((int)(4095)) - (MARGIN))) <= ((((int)(CA)) - (CODEBASE))))) goto L_0648;
#line 6582 "regression-compile-tmp/imp918s.imp"
L_0622:;
#line 6582 "regression-compile-tmp/imp918s.imp"
goto U_1028;
#line 6582 "regression-compile-tmp/imp918s.imp"
L_0648:;
                                                                //   6583           %IF CYC BASE#0 %THEN %START
#line 6583 "regression-compile-tmp/imp918s.imp"
if (((CYCBASE) == (0))) goto L_0649;
                                                                //   6584              LOCAL BASE=CYC BASE; LOCAL ADDR=CYC ADDR
#line 6584 "regression-compile-tmp/imp918s.imp"
LOCALBASE = CYCBASE;
#line 6584 "regression-compile-tmp/imp918s.imp"
LOCALADDR = CYCADDR;
                                                                //   6585              ->Label2; %FINISH
#line 6585 "regression-compile-tmp/imp918s.imp"
goto U_1028;
#line 6585 "regression-compile-tmp/imp918s.imp"
L_0649:;
                                                                //   6586           %CYCLE J=14,1,24
#line 6586 "regression-compile-tmp/imp918s.imp"
J = 13;
if ((((24)-(14)) % (1)) != 0) _imp_signal(5,1,0,"Illegal cycle J = 14, 1, 24");
L_064a:;
if (J == 24) goto L_064b;
J += 1;
                                                                //   6587              I=J&15
#line 6587 "regression-compile-tmp/imp918s.imp"
I = ((J) & (15));
                                                                //   6588              -> SET %IF I>0 %AND GRUSE(I)=12
#line 6588 "regression-compile-tmp/imp918s.imp"
if (((I) <= (0))) goto L_064d;
#line 6588 "regression-compile-tmp/imp918s.imp"
if (((GRUSE[I]) != (12))) goto L_064d;
#line 6588 "regression-compile-tmp/imp918s.imp"
goto U_1034;
#line 6588 "regression-compile-tmp/imp918s.imp"
L_064d:;
                                                                //   6589           %REPEAT
#line 6589 "regression-compile-tmp/imp918s.imp"
goto L_064a;
#line 6589 "regression-compile-tmp/imp918s.imp"
L_064b:;
                                                                //   6590           FIND REG(ADDREG,LOCAL BASE)
#line 6590 "regression-compile-tmp/imp918s.imp"
FINDREG((-61951), &LOCALBASE);
                                                                //   6591           PRR(5,LOCAL BASE,0)
#line 6591 "regression-compile-tmp/imp918s.imp"
PRR(5, LOCALBASE, 0);
                                                                //   6592           LOCAL ADDR=CA
#line 6592 "regression-compile-tmp/imp918s.imp"
LOCALADDR = CA;
                                                                //   6593           SET USE(LOCAL BASE,12,CA); ->Label2
#line 6593 "regression-compile-tmp/imp918s.imp"
SETUSE(LOCALBASE, 12, CA);
#line 6593 "regression-compile-tmp/imp918s.imp"
goto U_1028;
                                                                //   6594  SET:
#line 6594 "regression-compile-tmp/imp918s.imp"
U_1034:;
                                                                //   6595           LOCAL ADDR=GRINF(I)
#line 6595 "regression-compile-tmp/imp918s.imp"
LOCALADDR = GRINF[I];
                                                                //   6596           LOCAL BASE=I
#line 6596 "regression-compile-tmp/imp918s.imp"
LOCALBASE = I;
                                                                //   6597           %IF 4095-MARGIN<CA-LOCAL ADDR %THEN %START
#line 6597 "regression-compile-tmp/imp918s.imp"
if ((((((int)(4095)) - (MARGIN))) >= ((((int)(CA)) - (LOCALADDR))))) goto L_064e;
                                                                //   6598                 FORGET(I)
#line 6598 "regression-compile-tmp/imp918s.imp"
FORGET(I);
                                                                //   6599                 SET LOCAL BASE
#line 6599 "regression-compile-tmp/imp918s.imp"
SETLOCALBASE();
                                                                //   6600           %FINISH
#line 6600 "regression-compile-tmp/imp918s.imp"
L_064e:;
                                                                //   6601  Label2:       %END;                      ! OF ROUTINE SET LOCAL BASE
#line 6601 "regression-compile-tmp/imp918s.imp"
U_1028:;
#line 6601 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block SETLOCALBASE at level 3
                                                                //   6602           %ROUTINE CSNAME(%INTEGER Z,REG)
#line 6602 "regression-compile-tmp/imp918s.imp"
void CSNAME( int Z, int REG )
#line 6602 "regression-compile-tmp/imp918s.imp"
{
                                                                //   6603           {%SHORTROUTINE}
                                                                //   6604  !***********************************************************************
                                                                //   6605  !*       COMPILE A SPECIAL NAME - PTYPE=10006 (=%ROUTINE %LABEL)       *
                                                                //   6606  !*       THEIR TRUE PTYPE IS IN GLOBAL ARRAY TSNAME.                   *
                                                                //   6607  !*       SNINFO HAS A FOUR BYTE RECORD FOR EACH NAME (%BI FLAG,PTR,    *
                                                                //   6608  !*       %SI XTRA). THE TOP BITS OF FLAG CATEGORISE AS FOLLOWS:-       *
                                                                //   6609  !*       2**7 SET FOR IMPLICITLY SPECIFIED CONSTRUCT A %SPEC           *
                                                                //   6610  !*       2**6 SET FOR IOCP CALL                                        *
                                                                //   6611  !*       2**5 SET FOR BUILT IN MAPPING FUNCTIONS                       *
                                                                //   6612  !*       2**4 SET IF AD-HOC CODE PLANTED BY THIS ROUTINE               *
                                                                //   6613  !*       2**3 SET IF FIRST PARAMETER IS OF %NAME TYPE                  *
                                                                //   6614  !*       2**2-2**0 HOLD NUMBER OF PARAMS                               *
                                                                //   6615  !*                                                                     *
                                                                //   6616  !*       THE FULL SPECS ARE AS FOLLOWS:-                               *
                                                                //   6617  !*       0=%ROUTINE SELECT INPUT(%INTEGER STREAM)                      *
                                                                //   6618  !*       1=%ROUTINE SELECT OUTPUT(%INTEGER STREAM)                     *
                                                                //   6619  !*       2=%ROUTINE NEWLINE                                            *
                                                                //   6620  !*       3=%ROUTINE SPACE                                              *
                                                                //   6621  !*       4=%ROUTINE SKIP SYMBOL                                        *
                                                                //   6622  !*       5=%ROUTINE READ STRINWG(%STRINGNAME S)                        *
                                                                //   6623  !*       6=%ROUTINE NEWLINES(%INTEGER N)                               *
                                                                //   6624  !*       7=%ROUTINE SPACES(%INTEGER N)                                 *
                                                                //   6625  !*       8=%INTEGERFN NEXT SYMBOL                                      *
                                                                //   6626  !*       9=%ROUTINE PRINT SYMBOL(%INTEGER SYMBOL)                      *
                                                                //   6627  !*       10=%ROUTINE READ SYMBOL(%NAME SYMBOL)                         *
                                                                //   6628  !*       11=%ROUTINE READ(%NAME NUMBER)                                *
                                                                //   6629  !*       12=%ROUTINE WRITE(%INTEGER VALUE,PLACES)                      *
                                                                //   6630  !*       13=%ROUTINE NEWPAGE                                           *
                                                                //   6631  !*       14=%INTEGERFN ADDR(%NAME VARIABLE)                            *
                                                                //   6632  !*       15=%LONGREALFN ARCSIN(%LONGREAL X)                            *
                                                                //   6633  !*       16=%INTEGERFN INT(%LONGREAL X)                               *
                                                                //   6634  !*       17=%INTEGERFN INTPT(%LONRGREAL X)                             *
                                                                //   6635  !*       18=%LONGREALFN FRACPT(%LONGREAL X)                            *
                                                                //   6636  !*       19=%ROUTINE PRINT(%LONGREAL NUMBER,%INTEGER BEFORE,AFTER)     *
                                                                //   6637  !*       20=%ROUTINE PRINTFL(%LONGREAL NUMBER,%INTEGER PLACES)         *
                                                                //   6638  !*       21=%REALMAP REAL(%INTEGER VAR ADDR)                           *
                                                                //   6639  !*       22=%INTEGERMAP INTEGER(%INTEGER VAR ADDR)                     *
                                                                //   6640  !*       23=%LONGREALFN MOD(%LONGREAL X)                               *
                                                                //   6641  !*       24=%LONGREALFN ARCCOS(%LONGREAL X)                            *
                                                                //   6642  !*       25=%LONGREALFN SQRT(%LONGREAL X)                              *
                                                                //   6643  !*       26=%LONGREALFN LOG(%LONGREAL X)                               *
                                                                //   6644  !*       27=%LONGREALFN SIN(%LONGREAL X)                               *
                                                                //   6645  !*       28=%LONGREALFN COS(%LONGREAL X)                               *
                                                                //   6646  !*       29=%LONGREALFN TAN(%LONGREAL X)                               *
                                                                //   6647  !*       30=%LONGREALFN EXP(%LONGREAL X)                               *
                                                                //   6648  !*       31=%ROUTINE CLOSE STREAM(%INTEGER STREAM)                     *
                                                                //   6649  !*       32=%BYTEINTEGERMAP BYTE INTEGER(%INTEGER VAR ADDR)            *
                                                                //   6650  !*       33=%SHORTINTEGERMAP SHORTINTEGER(%INTEGER VARADDR)            *
                                                                //   6651  !*       34=%LONGREALFN RADIUS(%LONGREAL X,Y)                          *
                                                                //   6652  !*       35=%LONGREALFN ARCTAN(%LONGREAL X,Y)                          *
                                                                //   6653  !*       36=%BYTEINTEGERMAP LENGTH(%STRINGNAME  S)                     *
                                                                //   6654  !*       37=%ROUTINE PRINTSTRING(%STRING(255) MESSAGE)                *
                                                                //   6655  !*       38=%INTEGERFN NL                                              *
                                                                //   6656  !*       39=%LONGREALMAP LONG REAL(%INTEGER VAR ADDR)                  *
                                                                //   6657  !*       40=%ROUTINE PRINT CH(%INTEGER CHARACTER)                      *
                                                                //   6658  !*       41=%ROUTINE READ CH(%NAME CHARACTER)                          *
                                                                //   6659  !*       42=%STRINGMAP STRING(%INTEGER VAR ADDR)                       *
                                                                //   6660  !*       43=%ROUTINE READ ITEM(%STRINGNAME ITEM)                       *
                                                                //   6661  !*       44=%STRING(1)%FN NEXT ITEM                                    *
                                                                //   6662  !*       45=%BYTEINTEGERMAP CHARNO(%STRINGNAME STR,%INTEGER CHARREQD)  *
                                                                //   6663  !*       46=%STRING(1)%FN TOSTRING(%INTEGER SYMBOL)                    *
                                                                //   6664  !*       47=%STRING(255)%FN FROMSTRING(%STRING(255)S,%INTEGER BEG,END) *
                                                                //   6665  !*       48=%RECORDMAP RECORD(%INTEGER REC ADDR)                       *
                                                                //   6666  !*       49=%ARRAYMAP ARRAY(%INTEGER A1ADDR,%ARRAYNAME FORMAT)         *
                                                                //   6667  !*       50=%ROUTINE SETMARGINS(%INTEGER INOUT,LHM,RHM)                *
                                                                //   6668  !*       51=%INTEGERFN IMOD(%INTEGER VALUE)                            *
                                                                //   6669  !*       52=%LONGREALFN PI                                             *
                                                                //   6670  !*       53=%INTEGERFN NEXTCH                                          *
                                                                //   6671  !***********************************************************************
                                                                //   6672           %SWITCH ADHOC(1:12)
#line 6672 "regression-compile-tmp/imp918s.imp"
static int sw15_ADHOC_idx;
static const void * /*SWITCH*/ sw15_ADHOC[12] = { &&sw15_ADHOC_1, &&sw15_ADHOC_2, &&sw15_ADHOC_3, &&sw15_ADHOC_4, &&sw15_ADHOC_5, &&sw15_ADHOC_6, &&sw15_ADHOC_7, &&sw15_ADHOC_8, &&sw15_ADHOC_9, &&sw15_ADHOC_10, &&sw15_ADHOC_11, &&sw15_ADHOC_12,  };
                                                                //   6673           %CONSTINTEGERARRAY SNINFO(0:53)=%C
#line 6673 "regression-compile-tmp/imp918s.imp"
const int SNINFO[54] = { 1091043329, 1091108865, 1082785793, 1084227585, 1073807361, (-2146631680), 285278209, 285278209, 268566564, 1090715649, 419627009, (-2146238381), 302252033, 1082916865, 419758116, (-2147418039), (-2147418029), (-2147418029), (-2147418029), (-2146893741), (-2147090349), 553648190, 553648190, 285605924, (-2147418039), (-2147418039), (-2147418039), (-2147418039), (-2147418039), (-2147418039), (-2147418039), (-2146107392), 553648190, 553648190, (-2147286967), (-2147286967), 419889214, 1090977793, 268959780, 553648190, 1090846721, 419627009, 553648190, 419627009, 268566564, 436666430, 285802532, (-2146500608), 285900824, 302714880, (-2145976320), 285605924, 269221924, 268566564,  };
                                                                //   6674                      X'41080001',X'41090001',X'408A0001',X'40A00001',
                                                                //   6675                      X'40010001',X'800D0000',X'11010001',X'11010001',
                                                                //   6676                      X'10020024',X'41030001',X'19030001',X'80130053',
                                                                //   6677                      X'12040001',X'408C0001',X'19050024',X'80010049',
                                                                //   6678                      X'80010053',X'80010053',X'80010053',X'80090053',
                                                                //   6679                      X'80060053',X'2100003E',X'2100003E',X'11060024',
                                                                //   6680                      X'80010049'(4),
                                                                //   6681                      X'80010049'(3),X'80150000',
                                                                //   6682                      X'2100003E'(2),X'80030049'(2),
                                                                //   6683                      X'1907003E',X'41070001',X'10080024',X'2100003E',
                                                                //   6684                      X'41050001',X'19030001',X'2100003E',X'19030001',
                                                                //   6685                      X'10020024',X'1A07003E',X'11090024',X'800F0000',
                                                                //   6686                      X'110A8018',X'120B1000',X'80170000',X'11060024',
                                                                //   6687                      X'100C0024',X'10020024';
                                                                //   6688  !
                                                                //   6689  ! SNPARAMS HOLDS NUMBER AND PTYPE OF FORMAL PARAMETER FOR IMPLICITLY
                                                                //   6690  ! SPECIFIED EXTERNAL ROUTINES. A POINTER IN SNINFO MEANS THAT NO
                                                                //   6691  ! DUPLICATES NEED TO BE RECORDED.
                                                                //   6692  !
                                                                //   6693           %CONSTSHORTINTEGERARRAY SNPARAMS(0:26)=0,
#line 6693 "regression-compile-tmp/imp918s.imp"
const short SNPARAMS[27] = { 0, 1, 32, 2, 32, 32, 2, 32, 1, 3, 32, 1, 1, 1, 1005, 3, 1005, 1, 1, 1, 1000, 1, 1, 3, 1, 1, 1,  };
                                                                //   6694                      1,32,       2,32,32,  2,32,1,
                                                                //   6695                      3,32,1,1,   1,1005,   3,1005,1,1,
                                                                //   6696                      1,1000,     1,1,      3,1,1,1;
                                                                //   6697  !
                                                                //   6698           %ROUTINESPEC RTOS(%INTEGER REG)
#line 6698 "regression-compile-tmp/imp918s.imp"
auto void RTOS( int REG );
                                                                //   6699           %BYTEINTEGER ERRNO,FLAG,POINTER
#line 6699 "regression-compile-tmp/imp918s.imp"
unsigned char ERRNO;
#line 6699 "regression-compile-tmp/imp918s.imp"
unsigned char FLAG;
#line 6699 "regression-compile-tmp/imp918s.imp"
unsigned char POINTER;
                                                                //   6700           %SHORTINTEGER OPHEAD,OPBOT
#line 6700 "regression-compile-tmp/imp918s.imp"
short OPHEAD;
#line 6700 "regression-compile-tmp/imp918s.imp"
short OPBOT;
                                                                //   6701           %INTEGER PIN,SNNO,SNNAME,NAPS,SNPTYPE,JJ,%C
#line 6701 "regression-compile-tmp/imp918s.imp"
int PIN;
#line 6701 "regression-compile-tmp/imp918s.imp"
int SNNO;
#line 6701 "regression-compile-tmp/imp918s.imp"
int SNNAME;
#line 6701 "regression-compile-tmp/imp918s.imp"
int NAPS;
#line 6701 "regression-compile-tmp/imp918s.imp"
int SNPTYPE;
#line 6701 "regression-compile-tmp/imp918s.imp"
int JJ;
#line 6701 "regression-compile-tmp/imp918s.imp"
int XTRA;
#line 6701 "regression-compile-tmp/imp918s.imp"
int IOCPEP;
#line 6701 "regression-compile-tmp/imp918s.imp"
int B;
#line 6701 "regression-compile-tmp/imp918s.imp"
int D;
#line 6701 "regression-compile-tmp/imp918s.imp"
int SNINF;
#line 6701 "regression-compile-tmp/imp918s.imp"
int P0;
                                                                //   6702                    XTRA,IOCPEP,B,D,SNINF,P0
                                                                //   6703  !
                                                                //   6704           SNNAME=A(P)
#line 6704 "regression-compile-tmp/imp918s.imp"
SNNAME = A[((P) + ((int)(7)))];
                                                                //   6705           SNNO=K;                       ! INDEX INTO SNINFO
#line 6705 "regression-compile-tmp/imp918s.imp"
SNNO = K;
                                                                //   6706           TESTAPP(NAPS);                ! COUNT ACTUAL PARAMETERS
#line 6706 "regression-compile-tmp/imp918s.imp"
TESTAPP(&NAPS);
                                                                //   6707           PIN=P; P=P+1
#line 6707 "regression-compile-tmp/imp918s.imp"
PIN = P;
#line 6707 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
                                                                //   6708           SNPTYPE=TSNAME(SNNO)
#line 6708 "regression-compile-tmp/imp918s.imp"
SNPTYPE = TSNAME[SNNO];
                                                                //   6709           SNINF=SNINFO(SNNO)
#line 6709 "regression-compile-tmp/imp918s.imp"
SNINF = SNINFO[SNNO];
                                                                //   6710           XTRA=SNINF&X'FFFF'
#line 6710 "regression-compile-tmp/imp918s.imp"
XTRA = ((SNINF) & (65535));
                                                                //   6711           POINTER<-SNINF>>16
#line 6711 "regression-compile-tmp/imp918s.imp"
POINTER = (int)((((unsigned int)(SNINF)) >> (16)));
                                                                //   6712           FLAG=SNINF>>24
#line 6712 "regression-compile-tmp/imp918s.imp"
FLAG = (int)((((unsigned int)(SNINF)) >> (24)));
                                                                //   6713  !
                                                                //   6714  ! THE IMPLICITLY SPECIFIED ROUTINE ARE THE EASIEST OF ALL TO DEAL WITH.
                                                                //   6715  ! JUST SET UP THE EXTERNAL SPEC & PARAMETERS. THEN A RECURSIVE CALL
                                                                //   6716  ! OF CNAME THEN FINDS THE ROUTINE UNDER ITS TRUE COLOURS AND COMPILES
                                                                //   6717  ! THE CALL. ALL CALLS EXCEPT THE FIRST ARE DEALT WITH DIRECTLY BY CNAME.
                                                                //   6718  ! ALL NONTRIVIAL ROUTINES SHOULD BE DEALT WITH IN THIS MANNER
                                                                //   6719  !
                                                                //   6720           %IF FLAG&X'80'#0 %THEN %START
#line 6720 "regression-compile-tmp/imp918s.imp"
if (((((FLAG) & (128))) == (0))) goto L_064f;
                                                                //   6721              CXREF(0,A(PIN),XTRA,JJ);    ! JJ SET WITH REF DISPLACEMENT
#line 6721 "regression-compile-tmp/imp918s.imp"
CXREF(0, A[((PIN) + ((int)(7)))], XTRA, &JJ);
                                                                //   6722              OPHEAD=0; OPBOT=0; P0=SNPARAMS(POINTER)
#line 6722 "regression-compile-tmp/imp918s.imp"
OPHEAD = 0;
#line 6722 "regression-compile-tmp/imp918s.imp"
OPBOT = 0;
#line 6722 "regression-compile-tmp/imp918s.imp"
P0 = SNPARAMS[POINTER];
                                                                //   6723              SNDISP=JJ>>2; KFORM=P0
#line 6723 "regression-compile-tmp/imp918s.imp"
SNDISP = (int)((((unsigned int)(JJ)) >> (2)));
#line 6723 "regression-compile-tmp/imp918s.imp"
KFORM = P0;
                                                                //   6724              JJ=1; D=64
#line 6724 "regression-compile-tmp/imp918s.imp"
JJ = 1;
#line 6724 "regression-compile-tmp/imp918s.imp"
D = 64;
                                                                //   6725              %WHILE JJ<=P0 %CYCLE
#line 6725 "regression-compile-tmp/imp918s.imp"
L_0650:;
#line 6725 "regression-compile-tmp/imp918s.imp"
if (((JJ) > (P0))) goto L_0651;
                                                                //   6726                 PTYPE=SNPARAMS(POINTER+JJ)
#line 6726 "regression-compile-tmp/imp918s.imp"
PTYPE = SNPARAMS[(((int)(POINTER)) + (JJ))];
                                                                //   6727                ! UNPACK
                                                                //   6728  !%if USE MC = 1 %start
                                                                //   6729  !            *L_1,PTYPE; *CVD_1,0(11)
                                                                //   6730  !            *UNPK_ROUT(5),5(3,11)
                                                                //   6731  !            *NC_ROUT(5),MASK1
                                                                //   6732  !%finish
                                                                //   6733                 %IF NAM=0 %THEN ACC=BYTES(PREC) %ELSE ACC=4
#line 6733 "regression-compile-tmp/imp918s.imp"
if (((NAM) != (0))) goto L_0653;
#line 6733 "regression-compile-tmp/imp918s.imp"
ACC = BYTES[PREC];
#line 6733 "regression-compile-tmp/imp918s.imp"
goto L_0654;
#line 6733 "regression-compile-tmp/imp918s.imp"
L_0653:;
#line 6733 "regression-compile-tmp/imp918s.imp"
ACC = 4;
#line 6733 "regression-compile-tmp/imp918s.imp"
L_0654:;
                                                                //   6734                 BINSERT(OPHEAD,OPBOT,PTYPE,ACC<<16!D,0)
#line 6734 "regression-compile-tmp/imp918s.imp"
BINSERT(&OPHEAD, &OPBOT, PTYPE, ((((ACC) << (16))) | (D)), 0);
                                                                //   6735                 D=D+ACC
#line 6735 "regression-compile-tmp/imp918s.imp"
D = ((D) + ((int)(ACC)));
                                                                //   6736                 JJ=JJ+1
#line 6736 "regression-compile-tmp/imp918s.imp"
JJ = (((int)(JJ)) + (1));
                                                                //   6737              %REPEAT
#line 6737 "regression-compile-tmp/imp918s.imp"
goto L_0650;
#line 6737 "regression-compile-tmp/imp918s.imp"
L_0651:;
                                                                //   6738              I=9; J=14
#line 6738 "regression-compile-tmp/imp918s.imp"
I = 9;
#line 6738 "regression-compile-tmp/imp918s.imp"
J = 14;
                                                                //   6739              OLDI=0; PTYPE=SNPTYPE
#line 6739 "regression-compile-tmp/imp918s.imp"
OLDI = 0;
#line 6739 "regression-compile-tmp/imp918s.imp"
PTYPE = SNPTYPE;
                                                                //   6740              K=OPHEAD
#line 6740 "regression-compile-tmp/imp918s.imp"
K = OPHEAD;
                                                                //   6741              REPLACETAG(A(PIN))
#line 6741 "regression-compile-tmp/imp918s.imp"
REPLACETAG(A[((PIN) + ((int)(7)))]);
                                                                //   6742              P=PIN; CNAME(Z,REG);        ! RECURSIVE CALL
#line 6742 "regression-compile-tmp/imp918s.imp"
P = PIN;
#line 6742 "regression-compile-tmp/imp918s.imp"
CNAME(Z, REG);
                                                                //   6743              P=P-2; %RETURN;             ! DUPLICATES CHECK OF <ENAME>
#line 6743 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) - (2));
#line 6743 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   6744           %FINISH
#line 6744 "regression-compile-tmp/imp918s.imp"
L_064f:;
                                                                //   6745  !
                                                                //   6746  ! ALL ROUTINES EXCEPT THE IMPLICITS REQUIRE A CHECH THAT THE USE OF THE
                                                                //   6747  ! NAME IS LEGAL AND THAT THE CORRECT NO OF PARAMETERS(BOTTOM 2 BITS OF
                                                                //   6748  ! FLAG) HAS BEEN SUPPLIED. THE CHECK IS TRIVIAL - THE PROBLEM
                                                                //   6749  ! IS TO GET THE RIGHT ERROR NUMBER.
                                                                //   6750  ! XTRA HAS A BITMASK OF ALLOWED USES(IE ALLOWED Z VALUES)
                                                                //   6751  !
                                                                //   6752           NEST=0
#line 6752 "regression-compile-tmp/imp918s.imp"
NEST = 0;
                                                                //   6753           %IF NAPS#FLAG&3 %THEN ERRNO=19 %AND ->ERREXIT
#line 6753 "regression-compile-tmp/imp918s.imp"
if (((NAPS) == (((FLAG) & (3))))) goto L_0655;
#line 6753 "regression-compile-tmp/imp918s.imp"
ERRNO = 19;
#line 6753 "regression-compile-tmp/imp918s.imp"
goto U_106e;
#line 6753 "regression-compile-tmp/imp918s.imp"
L_0655:;
                                                                //   6754           JJ=1<<Z
#line 6754 "regression-compile-tmp/imp918s.imp"
JJ = ((1) << (Z));
                                                                //   6755           %IF JJ&XTRA=0 %THEN %START;    ! ILLEGAL USE
#line 6755 "regression-compile-tmp/imp918s.imp"
if (((((JJ) & (XTRA))) != (0))) goto L_0656;
                                                                //   6756              ERRNO=23
#line 6756 "regression-compile-tmp/imp918s.imp"
ERRNO = 23;
                                                                //   6757              %IF Z=0 %THEN ERRNO=17
#line 6757 "regression-compile-tmp/imp918s.imp"
if (((Z) != (0))) goto L_0657;
#line 6757 "regression-compile-tmp/imp918s.imp"
ERRNO = 17;
#line 6757 "regression-compile-tmp/imp918s.imp"
L_0657:;
                                                                //   6758              %IF Z=1 %OR 3<=Z<=4 %THEN ERRNO=29
#line 6758 "regression-compile-tmp/imp918s.imp"
if (((Z) == (1))) goto L_0652;
#line 6758 "regression-compile-tmp/imp918s.imp"
if ((((3) > (Z))) || (((Z) > (4)))) goto L_0658;
#line 6758 "regression-compile-tmp/imp918s.imp"
L_0652:;
#line 6758 "regression-compile-tmp/imp918s.imp"
ERRNO = 29;
#line 6758 "regression-compile-tmp/imp918s.imp"
L_0658:;
                                                                //   6759              %IF XTRA&X'F000'#0 %THEN ERRNO=84
#line 6759 "regression-compile-tmp/imp918s.imp"
if (((((XTRA) & (61440))) == (0))) goto L_0659;
#line 6759 "regression-compile-tmp/imp918s.imp"
ERRNO = 84;
#line 6759 "regression-compile-tmp/imp918s.imp"
L_0659:;
                                                                //   6760              ->ERR EXIT
#line 6760 "regression-compile-tmp/imp918s.imp"
goto U_106e;
                                                                //   6761           %FINISH
#line 6761 "regression-compile-tmp/imp918s.imp"
L_0656:;
                                                                //   6762  !
                                                                //   6763  ! A NUMBER OF INPUT-OUTPUT ROUTINES ARE MAPPED ONTO CALLS OF IOCP.
                                                                //   6764  ! THIS ARRANGEMENT HAS THE ADVANTAGE OF REQUIRING ONL 1 EXTERNAL REF
                                                                //   6765  ! IN THE GLA BUT HAS THE DISADVANTAGE THAT THE I-O ROUTINES CAN NOT
                                                                //   6766  ! BE PASSED AS RT-TYPE PARAMETERS AS WELL AS REQUIRING MESSY CODE
                                                                //   6767  ! HEREABOUTS.  SNINF_PTR HOLD EITHER:-
                                                                //   6768  !       1) THE IOCP ENTRY POINT NO
                                                                //   6769  !   OR  2) THE SYMBOL TO BE OUTPUT WITH 2**7 BIT SET
                                                                //   6770  !
                                                                //   6771  ! THIS SECTION DEALS WITH SELECT INPUT,SELECT OUTPUT,NEWLINE,NEWPAGE
                                                                //   6772  !                         SPACE,SKIP SYMBOL,PRINT SYMBOL,PRINTSTRING
                                                                //   6773  !                         AND PRINT CH
                                                                //   6774  !
                                                                //   6775           %IF FLAG&X'40'#0 %THEN %START
#line 6775 "regression-compile-tmp/imp918s.imp"
if (((((FLAG) & (64))) == (0))) goto L_065a;
                                                                //   6776              IOCPEP=POINTER
#line 6776 "regression-compile-tmp/imp918s.imp"
IOCPEP = POINTER;
                                                                //   6777              %IF FLAG&3#0 %THEN %START;  ! RT HAS PARAMS
#line 6777 "regression-compile-tmp/imp918s.imp"
if (((((FLAG) & (3))) == (0))) goto L_065b;
                                                                //   6778                 P=P+1
#line 6778 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
                                                                //   6779                 %IF SNNO=37 %THEN CSTREXP(1,1) %ELSE CSEXP(1,1)
#line 6779 "regression-compile-tmp/imp918s.imp"
if (((SNNO) != (37))) goto L_065c;
#line 6779 "regression-compile-tmp/imp918s.imp"
CSTREXP(1, 1);
#line 6779 "regression-compile-tmp/imp918s.imp"
goto L_065d;
#line 6779 "regression-compile-tmp/imp918s.imp"
L_065c:;
#line 6779 "regression-compile-tmp/imp918s.imp"
CSEXP(1, 1);
#line 6779 "regression-compile-tmp/imp918s.imp"
L_065d:;
                                                                //   6780              %FINISH
#line 6780 "regression-compile-tmp/imp918s.imp"
L_065b:;
                                                                //   6781              %IF IOCPEP>127 %THEN %START
#line 6781 "regression-compile-tmp/imp918s.imp"
if (((IOCPEP) <= (127))) goto L_065e;
                                                                //   6782                 DUMP(0,1,IOCPEP&127,0,0)
#line 6782 "regression-compile-tmp/imp918s.imp"
DUMP(0, 1, ((IOCPEP) & (127)), 0, 0);
                                                                //   6783                 %IF SNNO=3 %THEN IOCPEP=3 %ELSE IOCPEP=5
#line 6783 "regression-compile-tmp/imp918s.imp"
if (((SNNO) != (3))) goto L_065f;
#line 6783 "regression-compile-tmp/imp918s.imp"
IOCPEP = 3;
#line 6783 "regression-compile-tmp/imp918s.imp"
goto L_0660;
#line 6783 "regression-compile-tmp/imp918s.imp"
L_065f:;
#line 6783 "regression-compile-tmp/imp918s.imp"
IOCPEP = 5;
#line 6783 "regression-compile-tmp/imp918s.imp"
L_0660:;
                                                                //   6784              %FINISH
#line 6784 "regression-compile-tmp/imp918s.imp"
L_065e:;
                                                                //   6785              CIOCP(IOCPEP);              ! PLANT CALL OF IOCP
#line 6785 "regression-compile-tmp/imp918s.imp"
CIOCP(IOCPEP);
                                                                //   6786              ->OKEXIT
#line 6786 "regression-compile-tmp/imp918s.imp"
goto U_1037;
                                                                //   6787           %FINISH
#line 6787 "regression-compile-tmp/imp918s.imp"
L_065a:;
                                                                //   6788  !
                                                                //   6789  ! THE BUILT-IN MAPS (INTEGER ETC BUT NOT RECORD OR ARRAY)
                                                                //   6790  ! A SPECIAL MODE(13) IN CSEXP ALLOWS ADDR(I) TO BE EVALUATED TO
                                                                //   6791  ! A BASE,INDEX &DISP RATHER THAN EVALUATED(IE THE FINAL LA IS OMITTED)
                                                                //   6792  ! THIS ENABLES INTEGER(ADDR(I)) TO BE COMPLIED EXTREMELY EFFICIENTLY
                                                                //   6793  !
                                                                //   6794           %IF FLAG&X'20'#0 %THEN %START
#line 6794 "regression-compile-tmp/imp918s.imp"
if (((((FLAG) & (32))) == (0))) goto L_0661;
                                                                //   6795              %IF Z=1 %THEN CYC BITS=CYC BITS!1024 %C
#line 6795 "regression-compile-tmp/imp918s.imp"
if (((Z) != (1))) goto L_0662;
#line 6795 "regression-compile-tmp/imp918s.imp"
CYCBITS = ((CYCBITS) | (1024));
#line 6795 "regression-compile-tmp/imp918s.imp"
BIMSTR = 1;
#line 6795 "regression-compile-tmp/imp918s.imp"
L_0662:;
                                                                //   6796                 %AND BIMSTR=1;           ! SPECIAL FLAG FOR STORE VIA MAP
                                                                //   6797              P=P+1; CSEXP(-1,13); P=P+1
#line 6797 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
#line 6797 "regression-compile-tmp/imp918s.imp"
CSEXP((-1), 13);
#line 6797 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
                                                                //   6798              %IF Z=1 %THEN BIMSTR=0
#line 6798 "regression-compile-tmp/imp918s.imp"
if (((Z) != (1))) goto L_0663;
#line 6798 "regression-compile-tmp/imp918s.imp"
BIMSTR = 0;
#line 6798 "regression-compile-tmp/imp918s.imp"
L_0663:;
                                                                //   6799              %IF NEST>=0 %THEN BASE=NEST %AND INDEX=0 %AND DISP=ADISP
#line 6799 "regression-compile-tmp/imp918s.imp"
if (((NEST) < (0))) goto L_0664;
#line 6799 "regression-compile-tmp/imp918s.imp"
BASE = NEST;
#line 6799 "regression-compile-tmp/imp918s.imp"
INDEX = 0;
#line 6799 "regression-compile-tmp/imp918s.imp"
DISP = ADISP;
#line 6799 "regression-compile-tmp/imp918s.imp"
L_0664:;
                                                                //   6800              SNPTYPE=11000+SNPTYPE;      ! ADD MAP BITS
#line 6800 "regression-compile-tmp/imp918s.imp"
SNPTYPE = (((int)(11000)) + (SNPTYPE));
                                                                //   6801              ->OKEXIT
#line 6801 "regression-compile-tmp/imp918s.imp"
goto U_1037;
                                                                //   6802           %FINISH
#line 6802 "regression-compile-tmp/imp918s.imp"
L_0661:;
                                                                //   6803  !
                                                                //   6804  ! ADHOC CODING IS REQUIRED FOR THE REMAINING ROUTINES APART FROM
                                                                //   6805  ! A CHECK FOR NAMETYPE PARAMETERS. THE SWITCH NO IS KEPT IN POINTER
                                                                //   6806  !
                                                                //   6807           %IF FLAG&3#0 %THEN P=P+1
#line 6807 "regression-compile-tmp/imp918s.imp"
if (((((FLAG) & (3))) == (0))) goto L_0665;
#line 6807 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
#line 6807 "regression-compile-tmp/imp918s.imp"
L_0665:;
                                                                //   6808           %IF FLAG&8#0 %AND(A(P+2)#4 %OR A(P+3)#1 %OR %C
#line 6808 "regression-compile-tmp/imp918s.imp"
if (((((FLAG) & (8))) == (0))) goto L_0666;
#line 6808 "regression-compile-tmp/imp918s.imp"
if (((A[(((unsigned char)((((int)(P)) + (2)))) + (7))]) != (4))) goto L_064c;
#line 6808 "regression-compile-tmp/imp918s.imp"
if (((A[(((unsigned char)((((int)(P)) + (3)))) + (7))]) != (1))) goto L_064c;
#line 6808 "regression-compile-tmp/imp918s.imp"
if (((A[(((unsigned char)((((int)(((P) + ((int)(A[(((unsigned char)((((int)(P)) + (1)))) + (7))]))))) + (1)))) + (7))]) == (2))) goto L_0666;
#line 6808 "regression-compile-tmp/imp918s.imp"
L_064c:;
#line 6808 "regression-compile-tmp/imp918s.imp"
ERRNO = 22;
#line 6808 "regression-compile-tmp/imp918s.imp"
goto U_106e;
#line 6808 "regression-compile-tmp/imp918s.imp"
L_0666:;
                                                                //   6809              A(P+A(P+1)+1)#2) %THEN ERRNO=22 %AND ->ERREXIT
                                                                //   6810           ->ADHOC(POINTER)
#line 6810 "regression-compile-tmp/imp918s.imp"
sw15_ADHOC_idx = POINTER; if ((1 <= sw15_ADHOC_idx) && (sw15_ADHOC_idx <= 12)) goto *(sw15_ADHOC-1)[sw15_ADHOC_idx];  /* Bounds=1:12 */ else {
   /*_imp_signal(8, 2, sw15_ADHOC_idx);*/
   fprintf(stderr, "%%SWITCH index ADHOC(%d) not in range 1:12 at %s:%d\n",
           sw15_ADHOC_idx, (_imp_current_file != 0 ? _imp_current_file : __FILE__),
           (_imp_current_line != 0 ? _imp_current_line : __LINE__));
           exit(1);
}
                                                                //   6811  ADHOC(1):                               ! NEWLINES(=6) & SPACES(=7)
#line 6811 "regression-compile-tmp/imp918s.imp"
sw15_ADHOC_1:;
                                                                //   6812           CSEXP(2,1);                    ! REPITITION NO TO GR2
#line 6812 "regression-compile-tmp/imp918s.imp"
CSEXP(2, 1);
                                                                //   6813           %IF SNNO=6 %THEN JJ=10 %ELSE JJ=32
#line 6813 "regression-compile-tmp/imp918s.imp"
if (((SNNO) != (6))) goto L_0667;
#line 6813 "regression-compile-tmp/imp918s.imp"
JJ = 10;
#line 6813 "regression-compile-tmp/imp918s.imp"
goto L_0668;
#line 6813 "regression-compile-tmp/imp918s.imp"
L_0667:;
#line 6813 "regression-compile-tmp/imp918s.imp"
JJ = 32;
#line 6813 "regression-compile-tmp/imp918s.imp"
L_0668:;
                                                                //   6814           PRX(X'41',1,0,0,JJ);           ! LA 1,SYMBOL
#line 6814 "regression-compile-tmp/imp918s.imp"
PRX(65, 1, 0, 0, JJ);
                                                                //   6815           PPJ(14);                       ! PERM OPUTS R1 R2 TIMES
#line 6815 "regression-compile-tmp/imp918s.imp"
PPJ(14);
                                                                //   6816           ->OKEXIT
#line 6816 "regression-compile-tmp/imp918s.imp"
goto U_1037;
                                                                //   6817  ADHOC(2):                               ! NEXTSYMBOL(=8) & NEXTITEM(=44)
#line 6817 "regression-compile-tmp/imp918s.imp"
sw15_ADHOC_2:;
                                                                //   6818                                          ! AND NEXTCH=53
                                                                //   6819           SAVE IRS(4);                   ! PRESERVE ANY INTERMEDIATES
#line 6819 "regression-compile-tmp/imp918s.imp"
SAVEIRS(4);
                                                                //   6820           CLAIM THIS REG(0);             ! FORCE PRESERVATION OF GR0
#line 6820 "regression-compile-tmp/imp918s.imp"
CLAIMTHISREG(0);
                                                                //   6821           FREE AND FORGET(0);            ! SINCE THESE FNS CAN BE IN EXPN
#line 6821 "regression-compile-tmp/imp918s.imp"
FREEANDFORGET(0);
                                                                //   6822           %IF SNNO=53 %THEN JJ=18 %ELSE JJ=2
#line 6822 "regression-compile-tmp/imp918s.imp"
if (((SNNO) != (53))) goto L_0669;
#line 6822 "regression-compile-tmp/imp918s.imp"
JJ = 18;
#line 6822 "regression-compile-tmp/imp918s.imp"
goto L_066a;
#line 6822 "regression-compile-tmp/imp918s.imp"
L_0669:;
#line 6822 "regression-compile-tmp/imp918s.imp"
JJ = 2;
#line 6822 "regression-compile-tmp/imp918s.imp"
L_066a:;
                                                                //   6823           CIOCP(JJ);                     ! LEAVES THE SYMBOL IN GR1
#line 6823 "regression-compile-tmp/imp918s.imp"
CIOCP(JJ);
                                                                //   6824           %IF SNNO#44 %THEN %START;       ! NEXT SYMBOL
#line 6824 "regression-compile-tmp/imp918s.imp"
if (((SNNO) == (44))) goto L_066b;
                                                                //   6825              %IF 1#REG>=0 %THEN PRR(X'18',REG,1) %ELSE NEST=1
#line 6825 "regression-compile-tmp/imp918s.imp"
if ((((1) == (REG))) || (((REG) < (0)))) goto L_066c;
#line 6825 "regression-compile-tmp/imp918s.imp"
PRR(24, REG, 1);
#line 6825 "regression-compile-tmp/imp918s.imp"
goto L_066d;
#line 6825 "regression-compile-tmp/imp918s.imp"
L_066c:;
#line 6825 "regression-compile-tmp/imp918s.imp"
NEST = 1;
#line 6825 "regression-compile-tmp/imp918s.imp"
L_066d:;
                                                                //   6826           %FINISH %ELSE RTOS(1);         ! CONVERT R1 TO STRING
#line 6826 "regression-compile-tmp/imp918s.imp"
goto L_066e;
#line 6826 "regression-compile-tmp/imp918s.imp"
L_066b:;
#line 6826 "regression-compile-tmp/imp918s.imp"
RTOS(1);
#line 6826 "regression-compile-tmp/imp918s.imp"
L_066e:;
                                                                //   6827           ->OKEXIT
#line 6827 "regression-compile-tmp/imp918s.imp"
goto U_1037;
                                                                //   6828  ADHOC(3):                               ! READSYMBOL(=10),CH(=41)&ITEM(=43)
#line 6828 "regression-compile-tmp/imp918s.imp"
sw15_ADHOC_3:;
                                                                //   6829           %IF SNNO=41 %THEN JJ=4 %ELSE JJ=1
#line 6829 "regression-compile-tmp/imp918s.imp"
if (((SNNO) != (41))) goto L_066f;
#line 6829 "regression-compile-tmp/imp918s.imp"
JJ = 4;
#line 6829 "regression-compile-tmp/imp918s.imp"
goto L_0670;
#line 6829 "regression-compile-tmp/imp918s.imp"
L_066f:;
#line 6829 "regression-compile-tmp/imp918s.imp"
JJ = 1;
#line 6829 "regression-compile-tmp/imp918s.imp"
L_0670:;
                                                                //   6830           CIOCP(JJ);                     ! SYMBOL OR CH TO GR1
#line 6830 "regression-compile-tmp/imp918s.imp"
CIOCP(JJ);
                                                                //   6831           P=P+4
#line 6831 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (4));
                                                                //   6832           %IF SNNO=43 %THEN TYPE=5 %AND RTOS(1) %ELSE %START
#line 6832 "regression-compile-tmp/imp918s.imp"
if (((SNNO) != (43))) goto L_0671;
#line 6832 "regression-compile-tmp/imp918s.imp"
TYPE = 5;
#line 6832 "regression-compile-tmp/imp918s.imp"
RTOS(1);
#line 6832 "regression-compile-tmp/imp918s.imp"
goto L_0672;
#line 6832 "regression-compile-tmp/imp918s.imp"
L_0671:;
                                                                //   6833              REGISTER(1)=1; TYPE=1
#line 6833 "regression-compile-tmp/imp918s.imp"
REGISTER[1] = 1;
#line 6833 "regression-compile-tmp/imp918s.imp"
TYPE = 1;
                                                                //   6834              BASE=1; DISP=-2
#line 6834 "regression-compile-tmp/imp918s.imp"
BASE = 1;
#line 6834 "regression-compile-tmp/imp918s.imp"
DISP = (-2);
                                                                //   6835           %FINISH
#line 6835 "regression-compile-tmp/imp918s.imp"
L_0672:;
                                                                //   6836           JJ=TYPE
#line 6836 "regression-compile-tmp/imp918s.imp"
JJ = TYPE;
                                                                //   6837           COPYTAG(A(P));                  !PARAMETER NAME
#line 6837 "regression-compile-tmp/imp918s.imp"
COPYTAG(A[((P) + ((int)(7)))]);
                                                                //   6838           %IF TYPE # JJ %THEN %START
#line 6838 "regression-compile-tmp/imp918s.imp"
if (((TYPE) == (JJ))) goto L_0673;
                                                                //   6839             ERRNO = 22
#line 6839 "regression-compile-tmp/imp918s.imp"
ERRNO = 22;
                                                                //   6840             -> ERREXIT
#line 6840 "regression-compile-tmp/imp918s.imp"
goto U_106e;
                                                                //   6841           %FINISH
#line 6841 "regression-compile-tmp/imp918s.imp"
L_0673:;
                                                                //   6842           ASSIGN(6,P);                   ! BY '=' TO PARAMETER
#line 6842 "regression-compile-tmp/imp918s.imp"
ASSIGN(6, P);
                                                                //   6843           P=PIN+4+A(PIN+3)
#line 6843 "regression-compile-tmp/imp918s.imp"
P = (((short)((((int)(PIN)) + (4)))) + (A[(((unsigned char)((((int)(PIN)) + (3)))) + (7))]));
                                                                //   6844           ->OKEXIT
#line 6844 "regression-compile-tmp/imp918s.imp"
goto U_1037;
                                                                //   6845  ADHOC(4):                               ! WRITE(=12). SHOULD BE EXTERNAL
#line 6845 "regression-compile-tmp/imp918s.imp"
sw15_ADHOC_4:;
                                                                //   6846           DSEXP(1,1)
#line 6846 "regression-compile-tmp/imp918s.imp"
DSEXP(1, 1);
                                                                //   6847           REGISTER(1)=0; REGISTER(2)=0
#line 6847 "regression-compile-tmp/imp918s.imp"
REGISTER[1] = 0;
#line 6847 "regression-compile-tmp/imp918s.imp"
REGISTER[2] = 0;
                                                                //   6848           PPJ(4)
#line 6848 "regression-compile-tmp/imp918s.imp"
PPJ(4);
                                                                //   6849           ->OKEXIT
#line 6849 "regression-compile-tmp/imp918s.imp"
goto U_1037;
                                                                //   6850  ADHOC(5):                               ! ADDR(=14)
#line 6850 "regression-compile-tmp/imp918s.imp"
sw15_ADHOC_5:;
                                                                //   6851           P=P+4; CNAME(4,REG);           ! FETCH ADDRESS MODE
#line 6851 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (4));
#line 6851 "regression-compile-tmp/imp918s.imp"
CNAME(4, REG);
                                                                //   6852           P=P+1; ->OKEXIT
#line 6852 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
#line 6852 "regression-compile-tmp/imp918s.imp"
goto U_1037;
                                                                //   6853  ADHOC(6):                               ! MOD(=23), IMOD(=51)
#line 6853 "regression-compile-tmp/imp918s.imp"
sw15_ADHOC_6:;
                                                                //   6854           %IF SNNO=51 %THEN JJ=1 %ELSE JJ=3
#line 6854 "regression-compile-tmp/imp918s.imp"
if (((SNNO) != (51))) goto L_0674;
#line 6854 "regression-compile-tmp/imp918s.imp"
JJ = 1;
#line 6854 "regression-compile-tmp/imp918s.imp"
goto L_0675;
#line 6854 "regression-compile-tmp/imp918s.imp"
L_0674:;
#line 6854 "regression-compile-tmp/imp918s.imp"
JJ = 3;
#line 6854 "regression-compile-tmp/imp918s.imp"
L_0675:;
                                                                //   6855           CSEXP(REG,JJ);                 ! INTEGER OR LONGREAL MODE
#line 6855 "regression-compile-tmp/imp918s.imp"
CSEXP(REG, JJ);
                                                                //   6856           %IF SNNO=51 %THEN JJ=0 %ELSE JJ=16
#line 6856 "regression-compile-tmp/imp918s.imp"
if (((SNNO) != (51))) goto L_0676;
#line 6856 "regression-compile-tmp/imp918s.imp"
JJ = 0;
#line 6856 "regression-compile-tmp/imp918s.imp"
goto L_0677;
#line 6856 "regression-compile-tmp/imp918s.imp"
L_0676:;
#line 6856 "regression-compile-tmp/imp918s.imp"
JJ = 16;
#line 6856 "regression-compile-tmp/imp918s.imp"
L_0677:;
                                                                //   6857           REG=NEST
#line 6857 "regression-compile-tmp/imp918s.imp"
REG = NEST;
                                                                //   6858           PRR(X'10'+JJ,REG,REG);         ! LP(D)R REG,REG
#line 6858 "regression-compile-tmp/imp918s.imp"
PRR((((int)(16)) + (JJ)), REG, REG);
                                                                //   6859           FORGET(REG+JJ)
#line 6859 "regression-compile-tmp/imp918s.imp"
FORGET((((int)(REG)) + (JJ)));
                                                                //   6860           ->OKEXIT
#line 6860 "regression-compile-tmp/imp918s.imp"
goto U_1037;
                                                                //   6861  ADHOC(7):                               ! CHARNO(=45) & LENGTH(=36)
#line 6861 "regression-compile-tmp/imp918s.imp"
sw15_ADHOC_7:;
                                                                //   6862           P=P+4; COPY TAG(A(P))
#line 6862 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (4));
#line 6862 "regression-compile-tmp/imp918s.imp"
COPYTAG(A[((P) + ((int)(7)))]);
                                                                //   6863           %IF ROUT=0=NAM %AND ARR=0 %AND A(P+1)=2=A(P+2) %START
#line 6863 "regression-compile-tmp/imp918s.imp"
if ((((ROUT) != (0))) || (((0) != (NAM)))) goto L_0678;
#line 6863 "regression-compile-tmp/imp918s.imp"
if (((ARR) != (0))) goto L_0678;
#line 6863 "regression-compile-tmp/imp918s.imp"
if ((((A[(((unsigned char)((((int)(P)) + (1)))) + (7))]) != (2))) || (((2) != (A[(((unsigned char)((((int)(P)) + (2)))) + (7))])))) goto L_0678;
                                                                //   6864              P=P+3; BASE=I; DISP=K
#line 6864 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (3));
#line 6864 "regression-compile-tmp/imp918s.imp"
BASE = I;
#line 6864 "regression-compile-tmp/imp918s.imp"
DISP = K;
                                                                //   6865           %FINISH %ELSE %START
#line 6865 "regression-compile-tmp/imp918s.imp"
goto L_0679;
#line 6865 "regression-compile-tmp/imp918s.imp"
L_0678:;
                                                                //   6866              FINDREG(SAFE,JJ)
#line 6866 "regression-compile-tmp/imp918s.imp"
FINDREG((-61948), &JJ);
                                                                //   6867              CNAME(4,JJ)
#line 6867 "regression-compile-tmp/imp918s.imp"
CNAME(4, JJ);
                                                                //   6868              BASE=JJ; DISP=0
#line 6868 "regression-compile-tmp/imp918s.imp"
BASE = JJ;
#line 6868 "regression-compile-tmp/imp918s.imp"
DISP = 0;
                                                                //   6869           %FINISH
#line 6869 "regression-compile-tmp/imp918s.imp"
L_0679:;
                                                                //   6870           P=P+2
#line 6870 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (2));
                                                                //   6871           ERRNO=22; ->ERREXIT %UNLESS TYPE=5
#line 6871 "regression-compile-tmp/imp918s.imp"
ERRNO = 22;
#line 6871 "regression-compile-tmp/imp918s.imp"
if (((TYPE) == (5))) goto L_067a;
#line 6871 "regression-compile-tmp/imp918s.imp"
goto U_106e;
#line 6871 "regression-compile-tmp/imp918s.imp"
L_067a:;
                                                                //   6872           %IF SNNO=36 %THEN INDEX=0 %ELSE %START
#line 6872 "regression-compile-tmp/imp918s.imp"
if (((SNNO) != (36))) goto L_067b;
#line 6872 "regression-compile-tmp/imp918s.imp"
INDEX = 0;
#line 6872 "regression-compile-tmp/imp918s.imp"
goto L_067c;
#line 6872 "regression-compile-tmp/imp918s.imp"
L_067b:;
                                                                //   6873              D=DISP; B=BASE
#line 6873 "regression-compile-tmp/imp918s.imp"
D = DISP;
#line 6873 "regression-compile-tmp/imp918s.imp"
B = BASE;
                                                                //   6874              REGISTER(B)=1 %IF REGISTER(B)=0
#line 6874 "regression-compile-tmp/imp918s.imp"
if (((REGISTER[B]) != (0))) goto L_067d;
#line 6874 "regression-compile-tmp/imp918s.imp"
REGISTER[B] = 1;
#line 6874 "regression-compile-tmp/imp918s.imp"
L_067d:;
                                                                //   6875              CSEXP(-1,5)
#line 6875 "regression-compile-tmp/imp918s.imp"
CSEXP((-1), 5);
                                                                //   6876              P=P+1
#line 6876 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
                                                                //   6877              REGISTER(B)=0 %IF REGISTER(B)=1
#line 6877 "regression-compile-tmp/imp918s.imp"
if (((REGISTER[B]) != (1))) goto L_067e;
#line 6877 "regression-compile-tmp/imp918s.imp"
REGISTER[B] = 0;
#line 6877 "regression-compile-tmp/imp918s.imp"
L_067e:;
                                                                //   6878              DISP=D+ADISP; BASE=B
#line 6878 "regression-compile-tmp/imp918s.imp"
DISP = (((int)(D)) + (ADISP));
#line 6878 "regression-compile-tmp/imp918s.imp"
BASE = B;
                                                                //   6879              INDEX=NEST
#line 6879 "regression-compile-tmp/imp918s.imp"
INDEX = NEST;
                                                                //   6880           %FINISH
#line 6880 "regression-compile-tmp/imp918s.imp"
L_067c:;
                                                                //   6881           SNPTYPE=SNPTYPE+11000
#line 6881 "regression-compile-tmp/imp918s.imp"
SNPTYPE = (((int)(SNPTYPE)) + (11000));
                                                                //   6882           ->OKEXIT
#line 6882 "regression-compile-tmp/imp918s.imp"
goto U_1037;
                                                                //   6883  ADHOC(12):                              ! PI(=52)
#line 6883 "regression-compile-tmp/imp918s.imp"
sw15_ADHOC_12:;
                                                                //   6884  ADHOC(8):                               ! NL(=38). THIS FN IS PICKED OFF
#line 6884 "regression-compile-tmp/imp918s.imp"
sw15_ADHOC_8:;
                                                                //   6885           NEST=0;                        ! IN CSEXP.ONLY COMES HERE IN
#line 6885 "regression-compile-tmp/imp918s.imp"
NEST = 0;
                                                                //   6886           PTYPE=SNPTYPE;! UNPACK
#line 6886 "regression-compile-tmp/imp918s.imp"
PTYPE = SNPTYPE;
                                                                //   6887  !%if USE MC = 1 %start
                                                                //   6888  !            *L_1,PTYPE; *CVD_1,0(11)
                                                                //   6889  !            *UNPK_ROUT(5),5(3,11)
                                                                //   6890  !            *NC_ROUT(5),MASK1
                                                                //   6891  !%finish
                                                                //   6892           NAM=2; ROUT=1
#line 6892 "regression-compile-tmp/imp918s.imp"
NAM = 2;
#line 6892 "regression-compile-tmp/imp918s.imp"
ROUT = 1;
                                                                //   6893           ->OKEXIT;                      ! ERROR EG NL=A+B
#line 6893 "regression-compile-tmp/imp918s.imp"
goto U_1037;
                                                                //   6894  ADHOC(9):                               ! TOSTRING(=46)
#line 6894 "regression-compile-tmp/imp918s.imp"
sw15_ADHOC_9:;
                                                                //   6895           CSEXP(-1,1);                   ! RET EXPSN
#line 6895 "regression-compile-tmp/imp918s.imp"
CSEXP((-1), 1);
                                                                //   6896           RTOS(NEST)
#line 6896 "regression-compile-tmp/imp918s.imp"
RTOS(NEST);
                                                                //   6897           INDEX=0; ->OKEXIT
#line 6897 "regression-compile-tmp/imp918s.imp"
INDEX = 0;
#line 6897 "regression-compile-tmp/imp918s.imp"
goto U_1037;
                                                                //   6898  ADHOC(10):                              ! RECORD(=48)
#line 6898 "regression-compile-tmp/imp918s.imp"
sw15_ADHOC_10:;
                                                                //   6899           CSEXP(REG,1)
#line 6899 "regression-compile-tmp/imp918s.imp"
CSEXP(REG, 1);
                                                                //   6900           REG=NEST %IF REG<0
#line 6900 "regression-compile-tmp/imp918s.imp"
if (((REG) >= (0))) goto L_067f;
#line 6900 "regression-compile-tmp/imp918s.imp"
REG = NEST;
#line 6900 "regression-compile-tmp/imp918s.imp"
L_067f:;
                                                                //   6901           REGISTER(REG)=1 %IF REGISTER(REG)>=0
#line 6901 "regression-compile-tmp/imp918s.imp"
if (((REGISTER[REG]) < (0))) goto L_0680;
#line 6901 "regression-compile-tmp/imp918s.imp"
REGISTER[REG] = 1;
#line 6901 "regression-compile-tmp/imp918s.imp"
L_0680:;
                                                                //   6902           ->OKEXIT
#line 6902 "regression-compile-tmp/imp918s.imp"
goto U_1037;
                                                                //   6903  ADHOC(11):                              ! ARRAY(=49)
#line 6903 "regression-compile-tmp/imp918s.imp"
sw15_ADHOC_11:;
                                                                //   6904           %UNLESS 4<=REG<=14 %THEN FINDREG(SAFE,REG)
#line 6904 "regression-compile-tmp/imp918s.imp"
if ((((4) > (REG))) || (((REG) <= (14)))) goto L_0682;
#line 6904 "regression-compile-tmp/imp918s.imp"
L_0681:;
#line 6904 "regression-compile-tmp/imp918s.imp"
FINDREG((-61948), &REG);
#line 6904 "regression-compile-tmp/imp918s.imp"
L_0682:;
                                                                //   6905           CSEXP(REG,1);                  ! ADDR(A(0)) TO GR REG
#line 6905 "regression-compile-tmp/imp918s.imp"
CSEXP(REG, 1);
                                                                //   6906           REGISTER(REG)=1
#line 6906 "regression-compile-tmp/imp918s.imp"
REGISTER[REG] = 1;
                                                                //   6907           ERRNO=22
#line 6907 "regression-compile-tmp/imp918s.imp"
ERRNO = 22;
                                                                //   6908           ->ERREXIT %UNLESS A(P+3)=4 %AND A(P+4)=1
#line 6908 "regression-compile-tmp/imp918s.imp"
if (((A[(((unsigned char)((((int)(P)) + (3)))) + (7))]) != (4))) goto L_0683;
#line 6908 "regression-compile-tmp/imp918s.imp"
if (((A[(((unsigned char)((((int)(P)) + (4)))) + (7))]) == (1))) goto L_0684;
#line 6908 "regression-compile-tmp/imp918s.imp"
L_0683:;
#line 6908 "regression-compile-tmp/imp918s.imp"
goto U_106e;
#line 6908 "regression-compile-tmp/imp918s.imp"
L_0684:;
                                                                //   6909           P=P+5; CNAME(12,0)
#line 6909 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (5));
#line 6909 "regression-compile-tmp/imp918s.imp"
CNAME(12, 0);
                                                                //   6910           ->ERREXIT %UNLESS A(P)=2 %AND ARR>0
#line 6910 "regression-compile-tmp/imp918s.imp"
if (((A[((P) + ((int)(7)))]) != (2))) goto L_0685;
#line 6910 "regression-compile-tmp/imp918s.imp"
if (((ARR) > (0))) goto L_0686;
#line 6910 "regression-compile-tmp/imp918s.imp"
L_0685:;
#line 6910 "regression-compile-tmp/imp918s.imp"
goto U_106e;
#line 6910 "regression-compile-tmp/imp918s.imp"
L_0686:;
                                                                //   6911           CREATE AH(0,REG,BASE,DISP)
#line 6911 "regression-compile-tmp/imp918s.imp"
CREATEAH(0, REG, BASE, DISP);
                                                                //   6912           ARR=1;                              ! ERRORS REPORTED IF ARR=3
#line 6912 "regression-compile-tmp/imp918s.imp"
ARR = 1;
                                                                //   6913           REGISTER(REG)=0
#line 6913 "regression-compile-tmp/imp918s.imp"
REGISTER[REG] = 0;
                                                                //   6914           %RETURN
#line 6914 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   6915  OKEXIT:                                 ! NORMAL EXIT
#line 6915 "regression-compile-tmp/imp918s.imp"
U_1037:;
                                                                //   6916           PTYPE=SNPTYPE;! UNPACK
#line 6916 "regression-compile-tmp/imp918s.imp"
PTYPE = SNPTYPE;
                                                                //   6917  !%if USE MC = 1 %start
                                                                //   6918  !            *L_1,PTYPE; *CVD_1,0(11)
                                                                //   6919  !            *UNPK_ROUT(5),5(3,11)
                                                                //   6920  !            *NC_ROUT(5),MASK1
                                                                //   6921  !%finish
                                                                //   6922           %RETURN
#line 6922 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   6923  ERREXIT:                                ! ERROR EXIT
#line 6923 "regression-compile-tmp/imp918s.imp"
U_106e:;
                                                                //   6924           FAULT(ERRNO,SNNAME)
#line 6924 "regression-compile-tmp/imp918s.imp"
FAULT(ERRNO, SNNAME);
                                                                //   6925           BASE=0; DISP=0; INDEX=0
#line 6925 "regression-compile-tmp/imp918s.imp"
BASE = 0;
#line 6925 "regression-compile-tmp/imp918s.imp"
DISP = 0;
#line 6925 "regression-compile-tmp/imp918s.imp"
INDEX = 0;
                                                                //   6926           P=PIN+1; SKIP APP
#line 6926 "regression-compile-tmp/imp918s.imp"
P = (((int)(PIN)) + (1));
#line 6926 "regression-compile-tmp/imp918s.imp"
SKIPAPP();
                                                                //   6927           PTYPE=SNPTYPE;! UNPACK
#line 6927 "regression-compile-tmp/imp918s.imp"
PTYPE = SNPTYPE;
                                                                //   6928  !%if USE MC = 1 %start
                                                                //   6929  !            *L_1,PTYPE; *CVD_1,0(11)
                                                                //   6930  !            *UNPK_ROUT(5),5(3,11)
                                                                //   6931  !            *NC_ROUT(5),MASK1
                                                                //   6932  !%finish
                                                                //   6933           P=P-1; %RETURN
#line 6933 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) - (1));
#line 6933 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   6934           %ROUTINE RTOS(%INTEGER REGNO)
#line 6934 "regression-compile-tmp/imp918s.imp"
void RTOS( int REGNO )
#line 6934 "regression-compile-tmp/imp918s.imp"
{
                                                                //   6935  !***********************************************************************
                                                                //   6936  !*       PLANTS CODE TO CONVERT A SYMBOL IN REGNO TO A ONE             *
                                                                //   6937  !*       CHARACTER STRING IN A TEMPORARARY VARIABLE.                   *
                                                                //   6938  !***********************************************************************
                                                                //   6939           %INTEGER KK
#line 6939 "regression-compile-tmp/imp918s.imp"
int KK;
                                                                //   6940           GET WSP(KK,1);               ! GET 1 WORD WK AREA
#line 6940 "regression-compile-tmp/imp918s.imp"
GETWSP(&KK, 1);
                                                                //   6941           STRINGL=1; DISP=KK+2
#line 6941 "regression-compile-tmp/imp918s.imp"
STRINGL = 1;
#line 6941 "regression-compile-tmp/imp918s.imp"
DISP = (((int)(KK)) + (2));
                                                                //   6942           DUMP(X'50',REGNO,KK,0,RBASE)
#line 6942 "regression-compile-tmp/imp918s.imp"
DUMP(80, REGNO, KK, 0, RBASE);
                                                                //   6943           DUMPSI(X'92',1,RBASE,DISP);  ! MVI LENGTH BYTE
#line 6943 "regression-compile-tmp/imp918s.imp"
DUMPSI(146, 1, RBASE, DISP);
                                                                //   6944           BASE=RBASE; INDEX=0
#line 6944 "regression-compile-tmp/imp918s.imp"
BASE = RBASE;
#line 6944 "regression-compile-tmp/imp918s.imp"
INDEX = 0;
                                                                //   6945           %END
#line 6945 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block RTOS at level 4
                                                                //   6946           %END;                        ! OF ROUTINE CSNAME
#line 6946 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block CSNAME at level 3
                                                                //   6947           %ROUTINE     CIOCP(%INTEGER N)
#line 6947 "regression-compile-tmp/imp918s.imp"
void CIOCP( int N )
#line 6947 "regression-compile-tmp/imp918s.imp"
{
                                                                //   6948           %INTEGER AT
#line 6948 "regression-compile-tmp/imp918s.imp"
int AT;
                                                                //   6949           %IF IOCP1<10 %THEN %START
#line 6949 "regression-compile-tmp/imp918s.imp"
if (((IOCP1) >= (10))) goto L_0687;
                                                                //   6950              CXREF(0,-1,0,AT);             ! INSERT IOCP XREF
#line 6950 "regression-compile-tmp/imp918s.imp"
CXREF(0, (-1), 0, &AT);
                                                                //   6951              IOCP1=AT
#line 6951 "regression-compile-tmp/imp918s.imp"
IOCP1 = AT;
                                                                //   6952           %FINISH
#line 6952 "regression-compile-tmp/imp918s.imp"
L_0687:;
                                                                //   6953           PCONST(X'41000000'!N)
#line 6953 "regression-compile-tmp/imp918s.imp"
PCONST(((1090519040) | (N)));
                                                                //   6954           CRCALL(-1)
#line 6954 "regression-compile-tmp/imp918s.imp"
CRCALL((-1));
                                                                //   6955           %END
#line 6955 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block CIOCP at level 3
                                                                //   6956           %ROUTINE LOAD DV(%INTEGER %NAME REG,%INTEGER B,D,TN)
#line 6956 "regression-compile-tmp/imp918s.imp"
void LOADDV( int /*name*/*REG, int B, int D, int TN )
#line 6956 "regression-compile-tmp/imp918s.imp"
{
                                                                //   6957           {%SHORTROUTINE}
                                                                //   6958  !***********************************************************************
                                                                //   6959  !*       FIND A REGISTER AND LOAD IT WITH POINTER TO D.V. B,D FOR      *
                                                                //   6960  !*       ARRAYHEAD   TN=TAGS(NAME). NECESSARY TO PASS B&D ALSO IN CASE *
                                                                //   6961  !*       OF ARRAYNAMES IN RECORDS WHEN TN<0. NO CHECK IS MADE THAT NAME*
                                                                //   6962  !*       IS CORRECTLY DEFINED                                          *
                                                                //   6963  !***********************************************************************
                                                                //   6964           %INTEGER R
#line 6964 "regression-compile-tmp/imp918s.imp"
int R;
                                                                //   6965           R=-1
#line 6965 "regression-compile-tmp/imp918s.imp"
R = (-1);
                                                                //   6966           %IF TN>0 %THEN FIND USE(R,1,10,TN)
#line 6966 "regression-compile-tmp/imp918s.imp"
if (((TN) <= (0))) goto L_0688;
#line 6966 "regression-compile-tmp/imp918s.imp"
FINDUSE(&R, 1, 10, TN);
#line 6966 "regression-compile-tmp/imp918s.imp"
L_0688:;
                                                                //   6967           %IF R<=0 %THEN %START;       ! REGISTER MUST BE SET
#line 6967 "regression-compile-tmp/imp918s.imp"
if (((R) > (0))) goto L_0689;
                                                                //   6968              FIND REG(ADDREG,R)
#line 6968 "regression-compile-tmp/imp918s.imp"
FINDREG((-61951), &R);
                                                                //   6969              DUMP(X'58',R,D+8,0,B)
#line 6969 "regression-compile-tmp/imp918s.imp"
DUMP(88, R, (((int)(D)) + (8)), 0, B);
                                                                //   6970              %IF TN>0 %THEN SET USE(R,10,TN) %ELSE FORGET(R)
#line 6970 "regression-compile-tmp/imp918s.imp"
if (((TN) <= (0))) goto L_068a;
#line 6970 "regression-compile-tmp/imp918s.imp"
SETUSE(R, 10, TN);
#line 6970 "regression-compile-tmp/imp918s.imp"
goto L_068b;
#line 6970 "regression-compile-tmp/imp918s.imp"
L_068a:;
#line 6970 "regression-compile-tmp/imp918s.imp"
FORGET(R);
#line 6970 "regression-compile-tmp/imp918s.imp"
L_068b:;
                                                                //   6971           %FINISH
#line 6971 "regression-compile-tmp/imp918s.imp"
L_0689:;
                                                                //   6972           REG=R
#line 6972 "regression-compile-tmp/imp918s.imp"
*REG = R;
                                                                //   6973           %END
#line 6973 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block LOADDV at level 3
                                                                //   6974           %ROUTINE     CANAME(%INTEGER ARRP,BS,DP,BASIC DISP)
#line 6974 "regression-compile-tmp/imp918s.imp"
void CANAME( int ARRP, int BS, int DP, int BASICDISP )
#line 6974 "regression-compile-tmp/imp918s.imp"
{
                                                                //   6975  !***********************************************************************
                                                                //   6976  !*       BS & DP DEFINE THE POSITION OF THE ARRAY HEAD                 * 
                                                                //   6977  !*       ARRP=1 FOR ARRAYS,2 FOR VECTORS,3 FOR ARRAYS IN RECORDS       *
                                                                //   6978  !*       BASIC DISP = DISPMNT OF A(0) FOR VECTORS OR ARRAYS IN RECORDS *
                                                                //   6979  !*       IN-LINE CODE IS PLANTED IF PARM=NOARRAY IS REQUESTED          *
                                                                //   6980  !*       OTHERWISE CALLS ARE MADE ON CHECKING SUBROUTINES IN PERM      *
                                                                //   6981  !***********************************************************************
                                                                //   6982           {%SHORTROUTINE}
                                                                //   6983           %INTEGER DVREG,OPTYPE
#line 6983 "regression-compile-tmp/imp918s.imp"
int DVREG;
#line 6983 "regression-compile-tmp/imp918s.imp"
int OPTYPE;
                                                                //   6984           %SHORTINTEGER HEAD1,HEAD2,HEAD3,NOPS,BOT1,BOT2,BOT3
#line 6984 "regression-compile-tmp/imp918s.imp"
short HEAD1;
#line 6984 "regression-compile-tmp/imp918s.imp"
short HEAD2;
#line 6984 "regression-compile-tmp/imp918s.imp"
short HEAD3;
#line 6984 "regression-compile-tmp/imp918s.imp"
short NOPS;
#line 6984 "regression-compile-tmp/imp918s.imp"
short BOT1;
#line 6984 "regression-compile-tmp/imp918s.imp"
short BOT2;
#line 6984 "regression-compile-tmp/imp918s.imp"
short BOT3;
                                                                //   6985           %INTEGER PTYPEP,KK,RR,PP,JJ,JJJ,XTYPE,TYPEP,ARRNAME
#line 6985 "regression-compile-tmp/imp918s.imp"
int PTYPEP;
#line 6985 "regression-compile-tmp/imp918s.imp"
int KK;
#line 6985 "regression-compile-tmp/imp918s.imp"
int RR;
#line 6985 "regression-compile-tmp/imp918s.imp"
int PP;
#line 6985 "regression-compile-tmp/imp918s.imp"
int JJ;
#line 6985 "regression-compile-tmp/imp918s.imp"
int JJJ;
#line 6985 "regression-compile-tmp/imp918s.imp"
int XTYPE;
#line 6985 "regression-compile-tmp/imp918s.imp"
int TYPEP;
#line 6985 "regression-compile-tmp/imp918s.imp"
int ARRNAME;
                                                                //   6986           %INTEGER KKK,DIS,Q,PRECP,ELSIZE,BASEREG,NAMINF
#line 6986 "regression-compile-tmp/imp918s.imp"
int KKK;
#line 6986 "regression-compile-tmp/imp918s.imp"
int DIS;
#line 6986 "regression-compile-tmp/imp918s.imp"
int Q;
#line 6986 "regression-compile-tmp/imp918s.imp"
int PRECP;
#line 6986 "regression-compile-tmp/imp918s.imp"
int ELSIZE;
#line 6986 "regression-compile-tmp/imp918s.imp"
int BASEREG;
#line 6986 "regression-compile-tmp/imp918s.imp"
int NAMINF;
                                                                //   6987           PP=P; TYPEP=TYPE
#line 6987 "regression-compile-tmp/imp918s.imp"
PP = P;
#line 6987 "regression-compile-tmp/imp918s.imp"
TYPEP = TYPE;
                                                                //   6988           JJ=J; PTYPEP=PTYPE; PRECP=PREC
#line 6988 "regression-compile-tmp/imp918s.imp"
JJ = J;
#line 6988 "regression-compile-tmp/imp918s.imp"
PTYPEP = PTYPE;
#line 6988 "regression-compile-tmp/imp918s.imp"
PRECP = PREC;
                                                                //   6989           %IF TYPE<=2 %OR TYPE=6 %THEN ELSIZE=BYTES(PRECP) %C
#line 6989 "regression-compile-tmp/imp918s.imp"
if (((TYPE) <= (2))) goto L_068c;
#line 6989 "regression-compile-tmp/imp918s.imp"
if (((TYPE) != (6))) goto L_068d;
#line 6989 "regression-compile-tmp/imp918s.imp"
L_068c:;
#line 6989 "regression-compile-tmp/imp918s.imp"
ELSIZE = BYTES[PRECP];
#line 6989 "regression-compile-tmp/imp918s.imp"
goto L_068e;
#line 6989 "regression-compile-tmp/imp918s.imp"
L_068d:;
#line 6989 "regression-compile-tmp/imp918s.imp"
ELSIZE = ACC;
#line 6989 "regression-compile-tmp/imp918s.imp"
L_068e:;
                                                                //   6990                                  %ELSE ELSIZE=ACC
                                                                //   6991           ARRNAME=A(P);                   ! NAME OF ENTITY
#line 6991 "regression-compile-tmp/imp918s.imp"
ARRNAME = A[((P) + ((int)(7)))];
                                                                //   6992           NAMINF=TAGS(ARRNAME)
#line 6992 "regression-compile-tmp/imp918s.imp"
NAMINF = TAGS[ARRNAME];
                                                                //   6993           FAULT(29,ARRNAME) %IF ARR=3;    ! ARRAYFORMAT USED AS ARRAY
#line 6993 "regression-compile-tmp/imp918s.imp"
if (((ARR) != (3))) goto L_068f;
#line 6993 "regression-compile-tmp/imp918s.imp"
FAULT(29, ARRNAME);
#line 6993 "regression-compile-tmp/imp918s.imp"
L_068f:;
                                                                //   6994           NAMINF=-2 %IF ARRP>2 %OR TYPE=6;! SWITCHES&ARRAYS IN RECORDS 
#line 6994 "regression-compile-tmp/imp918s.imp"
if (((ARRP) > (2))) goto L_0690;
#line 6994 "regression-compile-tmp/imp918s.imp"
if (((TYPE) != (6))) goto L_0691;
#line 6994 "regression-compile-tmp/imp918s.imp"
L_0690:;
#line 6994 "regression-compile-tmp/imp918s.imp"
NAMINF = (-2);
#line 6994 "regression-compile-tmp/imp918s.imp"
L_0691:;
                                                                //   6995           ARRP=ARRP&X'F';                 ! NOT OPTIMISED
#line 6995 "regression-compile-tmp/imp918s.imp"
ARRP = ((ARRP) & (15));
                                                                //   6996           TEST APP(Q);                    ! COUNT NO OF SUBSCRIPTS
#line 6996 "regression-compile-tmp/imp918s.imp"
TESTAPP(&Q);
                                                                //   6997  !
                                                                //   6998  ! CHECK CORRECT NO OF SUBSCRIPTS PROVIDED. HOWEVER ENTITIES DECLARED
                                                                //   6999  ! AS %<TYPE>ARRAYNAME HAVE NO DIMENSION . THIS SECTION SETS THE
                                                                //   7000  ! DIMENSION FROM THE FIRST USE OF THE NAME.
                                                                //   7001  !
                                                                //   7002           %IF JJ=0 %THEN %START;        ! 0 DIMENSIONS = NOT KNOWN
#line 7002 "regression-compile-tmp/imp918s.imp"
if (((JJ) != (0))) goto L_0692;
                                                                //   7003              REPLACE1(TCELL,FROM1(TCELL)!Q);! DIMSN IS BOTTOM 4 BITS OF TAG
#line 7003 "regression-compile-tmp/imp918s.imp"
REPLACE1(TCELL, ((FROM1(TCELL)) | (Q)));
                                                                //   7004              JJ=Q
#line 7004 "regression-compile-tmp/imp918s.imp"
JJ = Q;
                                                                //   7005           %FINISH
#line 7005 "regression-compile-tmp/imp918s.imp"
L_0692:;
                                                                //   7006           %IF JJ>2 %THEN CYC BITS=CYCBITS!128; ! XTRA REG FOR DV BASE
#line 7006 "regression-compile-tmp/imp918s.imp"
if (((JJ) <= (2))) goto L_0693;
#line 7006 "regression-compile-tmp/imp918s.imp"
CYCBITS = ((CYCBITS) | (128));
#line 7006 "regression-compile-tmp/imp918s.imp"
L_0693:;
                                                                //   7007           %IF JJ=Q#0 %AND CHECKS=0 %THEN %START;  ! IN LINE CODE
#line 7007 "regression-compile-tmp/imp918s.imp"
if ((((JJ) != (Q))) || (((Q) == (0)))) goto L_0694;
#line 7007 "regression-compile-tmp/imp918s.imp"
if (((CHECKS) != (0))) goto L_0694;
                                                                //   7008  !
                                                                //   7009  ! FOR IN-LINE CODE WE SET UP A CHAIN OF REVERSE POLISH OPERATIONS TO
                                                                //   7010  ! EVALUATE THE VARIOUS SUBSCRIPTS,MULTIPLY BY THE MULTIPLIERS AND
                                                                //   7011  ! ADD THEM TOGETHER. THE FINAL OPERATION IS TO CONVERT FROM ELEMENTS
                                                                //   7012  ! TO BYTES. THIS LAST OPERATION IS DONE FIRST.
                                                                //   7013  !
                                                                //   7014  !%if USE MC = 1 %start
                                                                //   7015  !         *XC_DVREG(16),DVREG;          ! CLEAR LISTHEADS
                                                                //   7016  !%finish
                                                                //   7017           XTYPE=0; BOT3=0
#line 7017 "regression-compile-tmp/imp918s.imp"
XTYPE = 0;
#line 7017 "regression-compile-tmp/imp918s.imp"
BOT3 = 0;
                                                                //   7018           %IF PRECP#1 %THEN %START;     ! BYTE ARRAYS - NO FINAL MULTIPLY
#line 7018 "regression-compile-tmp/imp918s.imp"
if (((PRECP) == (1))) goto L_0695;
                                                                //   7019              XTYPE=1;                   ! NOTE 1 XTRA OPERATION
#line 7019 "regression-compile-tmp/imp918s.imp"
XTYPE = 1;
                                                                //   7020              %IF TYPEP=5 %AND NAM#0 %THEN %START; ! ELSIZE NOT KNOWN
#line 7020 "regression-compile-tmp/imp918s.imp"
if (((TYPEP) != (5))) goto L_0696;
#line 7020 "regression-compile-tmp/imp918s.imp"
if (((NAM) == (0))) goto L_0696;
                                                                //   7021                 OPTYPE=3; JJJ=BS
#line 7021 "regression-compile-tmp/imp918s.imp"
OPTYPE = 3;
#line 7021 "regression-compile-tmp/imp918s.imp"
JJJ = BS;
                                                                //   7022                 KKK=DP<<16!2;           ! OPERAND 2ND HALFWORD OF DP
#line 7022 "regression-compile-tmp/imp918s.imp"
KKK = ((((DP) << (16))) | (2));
                                                                //   7023                 ELSIZE=0
#line 7023 "regression-compile-tmp/imp918s.imp"
ELSIZE = 0;
                                                                //   7024              %FINISH %ELSE %START;      ! ELSIZE KNOWN
#line 7024 "regression-compile-tmp/imp918s.imp"
goto L_0697;
#line 7024 "regression-compile-tmp/imp918s.imp"
L_0696:;
                                                                //   7025                  OPTYPE=0; JJJ=0
#line 7025 "regression-compile-tmp/imp918s.imp"
OPTYPE = 0;
#line 7025 "regression-compile-tmp/imp918s.imp"
JJJ = 0;
                                                                //   7026                  KKK=ELSIZE;            ! OPERAND A CONSTANT
#line 7026 "regression-compile-tmp/imp918s.imp"
KKK = ELSIZE;
                                                                //   7027              %FINISH
#line 7027 "regression-compile-tmp/imp918s.imp"
L_0697:;
                                                                //   7028              PUSH(HEAD3,28,0);          ! OPERATOR  (=MH)
#line 7028 "regression-compile-tmp/imp918s.imp"
PUSH(&HEAD3, 28, 0);
                                                                //   7029              %IF BOT3=0 %THEN BOT3=HEAD3
#line 7029 "regression-compile-tmp/imp918s.imp"
if (((BOT3) != (0))) goto L_0698;
#line 7029 "regression-compile-tmp/imp918s.imp"
BOT3 = HEAD3;
#line 7029 "regression-compile-tmp/imp918s.imp"
L_0698:;
                                                                //   7030             PUSH123(HEAD3,((OPTYPE&1)*20+1)<<16!JJJ<<8!OPTYPE,KKK,NAMINF)
#line 7030 "regression-compile-tmp/imp918s.imp"
PUSH123(&HEAD3, (((((((((int)((((int)(((OPTYPE) & (1)))) * (20)))) + (1))) << (16))) | (((JJJ) << (8))))) | (OPTYPE)), KKK, NAMINF);
                                                                //   7031           %FINISH
#line 7031 "regression-compile-tmp/imp918s.imp"
L_0695:;
                                                                //   7032  !
                                                                //   7033  ! NOW PROCESS THE SUBSCRIPTS CALLINR TORP TO CONVERT THE EXPRESSIONS
                                                                //   7034  ! TO REVERSE POLISH AND ADDING THE EXTRA OPERATIONS. IF THE FIRST
                                                                //   7035  ! SUBSCRIPT IS A CONSTANT AND THE ITEM LENGTH IS KNOWN AT COMPLIE TIME
                                                                //   7036  ! THE OPERATION CAN BE SUPPRESSED AND THE CONSTANT TRANSFERRED TO THE
                                                                //   7037  ! DISPLACEMENT FIELD OF THE FINAL INSTRUCTION. THIS SAVES 8 BYTES.
                                                                //   7038  ! A SPECIAL MODE (5) FOR TORP TRANSFERS ANY CONSTANT TO GLOBAL ADISP
                                                                //   7039  !
                                                                //   7040           P=PP+2; JJJ=5;                ! MODE FOR TORP FOR 1ST EXPRSN
#line 7040 "regression-compile-tmp/imp918s.imp"
P = (((int)(PP)) + (2));
#line 7040 "regression-compile-tmp/imp918s.imp"
JJJ = 5;
                                                                //   7041           %IF TYPEP=5 %AND ELSIZE=0 %THEN JJJ=1; ! ADDR OR NORMAL MODE
#line 7041 "regression-compile-tmp/imp918s.imp"
if (((TYPEP) != (5))) goto L_0699;
#line 7041 "regression-compile-tmp/imp918s.imp"
if (((ELSIZE) != (0))) goto L_0699;
#line 7041 "regression-compile-tmp/imp918s.imp"
JJJ = 1;
#line 7041 "regression-compile-tmp/imp918s.imp"
L_0699:;
                                                                //   7042           %CYCLE KK=1,1,JJ;             ! THROUGH THE SUBSCRIPTS
#line 7042 "regression-compile-tmp/imp918s.imp"
{static int _initial, _increment, _final, _control;
_initial = 1; _increment = 1; _final = JJ; KK = _control = _initial;
if (((_final-_initial) % _increment) != 0) _imp_signal(5,1,0,"Illegal cycle KK = 1, 1, JJ");
KK -= _increment; _control -= _increment;
L_069a:;
if (KK == _final) goto L_069b;
KK += _increment; _control += _increment;
if (KK != _control) _imp_signal(4,2,0,"Corrupt control variable KK"); /* FOR loop control variable corrupted */
}
                                                                //   7043              P=P+2; BOT2=0
#line 7043 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (2));
#line 7043 "regression-compile-tmp/imp918s.imp"
BOT2 = 0;
                                                                //   7044              TORP(HEAD2,BOT2,NOPS,JJJ); ! SUBSCRIPT TO REVERSE POLISH
#line 7044 "regression-compile-tmp/imp918s.imp"
TORP(&HEAD2, &BOT2, &NOPS, JJJ);
                                                                //   7045              P=P+1
#line 7045 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
                                                                //   7046  !
                                                                //   7047  ! TWO DIMENSION ARRAYS HAVE THE MULTIPLIER IN WORD 4 OF HEAD
                                                                //   7048  ! ALL OTHER MULTIPLIERS ARE DOPE VECTOR ITEMS (OPTYPE=3)
                                                                //   7049  !
                                                                //   7050              %IF JJ=2 %THEN OPTYPE=9 %AND RR=DP+14 %ELSE %START
#line 7050 "regression-compile-tmp/imp918s.imp"
if (((JJ) != (2))) goto L_069d;
#line 7050 "regression-compile-tmp/imp918s.imp"
OPTYPE = 9;
#line 7050 "regression-compile-tmp/imp918s.imp"
RR = (((int)(DP)) + (14));
#line 7050 "regression-compile-tmp/imp918s.imp"
goto L_069e;
#line 7050 "regression-compile-tmp/imp918s.imp"
L_069d:;
                                                                //   7051                 OPTYPE=3; RR=(12*KK-10)!(DP<<16)
#line 7051 "regression-compile-tmp/imp918s.imp"
OPTYPE = 3;
#line 7051 "regression-compile-tmp/imp918s.imp"
RR = (((((int)((((int)(12)) * (KK)))) - (10))) | (((DP) << (16))));
                                                                //   7052              %FINISH
#line 7052 "regression-compile-tmp/imp918s.imp"
L_069e:;
                                                                //   7053  !
                                                                //   7054  ! N SUBSCRIPTS WILL REQUIRE (N-1) MULTIPLICATIONS AND ADDITIONS
                                                                //   7055  !
                                                                //   7056              %IF KK>1 %THEN %START
#line 7056 "regression-compile-tmp/imp918s.imp"
if (((KK) <= (1))) goto L_069f;
                                                                //   7057                 NOPS=NOPS+2
#line 7057 "regression-compile-tmp/imp918s.imp"
NOPS = (((int)(NOPS)) + (2));
                                                                //   7058                 PUSH(HEAD3,15,0) %IF HEAD1#0;! 15=ADD
#line 7058 "regression-compile-tmp/imp918s.imp"
if (((HEAD1) == (0))) goto L_06a0;
#line 7058 "regression-compile-tmp/imp918s.imp"
PUSH(&HEAD3, 15, 0);
#line 7058 "regression-compile-tmp/imp918s.imp"
L_06a0:;
                                                                //   7059                 %IF BOT3=0 %THEN BOT3=HEAD3
#line 7059 "regression-compile-tmp/imp918s.imp"
if (((BOT3) != (0))) goto L_06a1;
#line 7059 "regression-compile-tmp/imp918s.imp"
BOT3 = HEAD3;
#line 7059 "regression-compile-tmp/imp918s.imp"
L_06a1:;
                                                                //   7060  !
                                                                //   7061  ! N.B. THE FIRST SUFFIX CAN BE OPTIMISED OUT OF EXISTENCE IF IT IS
                                                                //   7062  ! A SHORT CONSTANT AND THE CORRESPONDING ADDITION MUST THEN BE OMITTED
                                                                //   7063  !
                                                                //   7064                 PUSH(HEAD3,28,0);       ! MH
#line 7064 "regression-compile-tmp/imp918s.imp"
PUSH(&HEAD3, 28, 0);
                                                                //   7065                 %IF BOT3=0 %THEN BOT3=HEAD3
#line 7065 "regression-compile-tmp/imp918s.imp"
if (((BOT3) != (0))) goto L_06a2;
#line 7065 "regression-compile-tmp/imp918s.imp"
BOT3 = HEAD3;
#line 7065 "regression-compile-tmp/imp918s.imp"
L_06a2:;
                                                                //   7066                 PUSH123(HEAD3,21<<16!BS<<8!OPTYPE,RR,NAMINF);! MULTIPLIER
#line 7066 "regression-compile-tmp/imp918s.imp"
PUSH123(&HEAD3, ((((((21) << (16))) | (((BS) << (8))))) | (OPTYPE)), RR, NAMINF);
                                                                //   7067              %FINISH %ELSE DIS=ADISP*ELSIZE
#line 7067 "regression-compile-tmp/imp918s.imp"
goto L_06a3;
#line 7067 "regression-compile-tmp/imp918s.imp"
L_069f:;
#line 7067 "regression-compile-tmp/imp918s.imp"
DIS = (((int)(ADISP)) * (ELSIZE));
#line 7067 "regression-compile-tmp/imp918s.imp"
L_06a3:;
                                                                //   7068              JJJ=1;                     ! SBSCRPTS XCEPT 1ST NORMAL MODE
#line 7068 "regression-compile-tmp/imp918s.imp"
JJJ = 1;
                                                                //   7069  !            CONCAT (HEAD1,HEAD2);      ! OPERANDS TO MAIN LIST
                                                                //   7070              %IF HEAD1=0 %THEN HEAD1=HEAD2 %ELSE %C
#line 7070 "regression-compile-tmp/imp918s.imp"
if (((HEAD1) != (0))) goto L_06a4;
#line 7070 "regression-compile-tmp/imp918s.imp"
HEAD1 = HEAD2;
#line 7070 "regression-compile-tmp/imp918s.imp"
goto L_06a5;
#line 7070 "regression-compile-tmp/imp918s.imp"
L_06a4:;
#line 7070 "regression-compile-tmp/imp918s.imp"
*_imp_SHORTINTEGER((((int)(_imp_ADDR(&ASLIST[BOT1]))) + (14))) = HEAD2;
#line 7070 "regression-compile-tmp/imp918s.imp"
L_06a5:;
                                                                //   7071                 SHORTINTEGER(ADDR(ASLIST(BOT1))+14)=HEAD2
                                                                //   7072              BOT1=BOT2; HEAD2=0
#line 7072 "regression-compile-tmp/imp918s.imp"
BOT1 = BOT2;
#line 7072 "regression-compile-tmp/imp918s.imp"
HEAD2 = 0;
                                                                //   7073           %REPEAT
#line 7073 "regression-compile-tmp/imp918s.imp"
goto L_069a;
#line 7073 "regression-compile-tmp/imp918s.imp"
L_069b:;
                                                                //   7074  !
                                                                //   7075  ! ADD OPERATORS TO THE BACK OF OPERANDS AND EVALUATE
                                                                //   7076  !
                                                                //   7077           CLEAR LIST(HEAD3) %IF HEAD1=0;! THROW AWAY OPERATORS IF NO OPND
#line 7077 "regression-compile-tmp/imp918s.imp"
if (((HEAD1) != (0))) goto L_06a6;
#line 7077 "regression-compile-tmp/imp918s.imp"
CLEARLIST(&HEAD3);
#line 7077 "regression-compile-tmp/imp918s.imp"
L_06a6:;
                                                                //   7078  !         CONCAT(HEAD1,HEAD3);          ! OPERATORS  LINKED ON
                                                                //   7079           %IF HEAD3#0 %START
#line 7079 "regression-compile-tmp/imp918s.imp"
if (((HEAD3) == (0))) goto L_06a7;
                                                                //   7080              SHORTINTEGER(ADDR(ASLIST(BOT1))+14)=HEAD3
#line 7080 "regression-compile-tmp/imp918s.imp"
*_imp_SHORTINTEGER((((int)(_imp_ADDR(&ASLIST[BOT1]))) + (14))) = HEAD3;
                                                                //   7081              BOT1=BOT3
#line 7081 "regression-compile-tmp/imp918s.imp"
BOT1 = BOT3;
                                                                //   7082           %FINISH
#line 7082 "regression-compile-tmp/imp918s.imp"
L_06a7:;
                                                                //   7083           PP=P; NOPS=NOPS+XTYPE
#line 7083 "regression-compile-tmp/imp918s.imp"
PP = P;
#line 7083 "regression-compile-tmp/imp918s.imp"
NOPS = (((int)(NOPS)) + (XTYPE));
                                                                //   7084           EXPOP(HEAD1,-1,NOPS,5);       ! EVALUATE THE REVERSE POLISH LIST
#line 7084 "regression-compile-tmp/imp918s.imp"
EXPOP(HEAD1, (-1), NOPS, 5);
                                                                //   7085           P=PP
#line 7085 "regression-compile-tmp/imp918s.imp"
P = PP;
                                                                //   7086           DISP=DIS; INDEX=NEST
#line 7086 "regression-compile-tmp/imp918s.imp"
DISP = DIS;
#line 7086 "regression-compile-tmp/imp918s.imp"
INDEX = NEST;
                                                                //   7087  !
                                                                //   7088  ! REGISTER INDEX AND DSIPLACEMENT NOW DEFINE THE ARRAY RELATIVE POSITION
                                                                //   7089  ! OF REQUIRED ELEMENT. ALL THAT REMAINS IS TO SET UP OR FIND A SUITABLE
                                                                //   7090  ! BASE REGISTER TO POINT TO A(0).
                                                                //   7091  !
                                                                //   7092  !         CLEAR LIST(HEAD1);            ! RETURN SPACE
                                                                //   7093           %IF HEAD1#0 %START
#line 7093 "regression-compile-tmp/imp918s.imp"
if (((HEAD1) == (0))) goto L_06a8;
                                                                //   7094              SHORTINTEGER(ADDR(ASLIST(BOT1))+14)=ASL
#line 7094 "regression-compile-tmp/imp918s.imp"
*_imp_SHORTINTEGER((((int)(_imp_ADDR(&ASLIST[BOT1]))) + (14))) = ASL;
                                                                //   7095              ASL=HEAD1
#line 7095 "regression-compile-tmp/imp918s.imp"
ASL = HEAD1;
                                                                //   7096           %FINISH
#line 7096 "regression-compile-tmp/imp918s.imp"
L_06a8:;
                                                                //   7097           %IF ARRP>=2 %THEN %START;     ! VECTOR ACCESED VIA LEVEL POINTER
#line 7097 "regression-compile-tmp/imp918s.imp"
if (((ARRP) < (2))) goto L_06a9;
                                                                //   7098              DISP=DISP+BASIC DISP
#line 7098 "regression-compile-tmp/imp918s.imp"
DISP = (((int)(DISP)) + (BASICDISP));
                                                                //   7099              BASE=BS
#line 7099 "regression-compile-tmp/imp918s.imp"
BASE = BS;
                                                                //   7100           %FINISH %ELSE %START
#line 7100 "regression-compile-tmp/imp918s.imp"
goto L_06aa;
#line 7100 "regression-compile-tmp/imp918s.imp"
L_06a9:;
                                                                //   7101              FIND USE(BASE,1,8,NAMINF)
#line 7101 "regression-compile-tmp/imp918s.imp"
FINDUSE(&BASE, 1, 8, NAMINF);
                                                                //   7102              %IF BASE<=0 %START;        ! BASE REG NOT ALREADY SET
#line 7102 "regression-compile-tmp/imp918s.imp"
if (((BASE) > (0))) goto L_06ab;
                                                                //   7103                 REGISTER(INDEX)=1 %IF INDEX#0 %AND REGISTER(INDEX)=0
#line 7103 "regression-compile-tmp/imp918s.imp"
if (((INDEX) == (0))) goto L_06ac;
#line 7103 "regression-compile-tmp/imp918s.imp"
if (((REGISTER[INDEX]) != (0))) goto L_06ac;
#line 7103 "regression-compile-tmp/imp918s.imp"
REGISTER[INDEX] = 1;
#line 7103 "regression-compile-tmp/imp918s.imp"
L_06ac:;
                                                                //   7104                 FIND REG(ADDREG,BASE)
#line 7104 "regression-compile-tmp/imp918s.imp"
FINDREG((-61951), &BASE);
                                                                //   7105                 DUMP(X'58',BASE,DP,0,BS);!  L  BASE,=A(A(0))
#line 7105 "regression-compile-tmp/imp918s.imp"
DUMP(88, BASE, DP, 0, BS);
                                                                //   7106                 REGISTER(INDEX)=0 %IF INDEX#0 %AND REGISTER(INDEX)>0
#line 7106 "regression-compile-tmp/imp918s.imp"
if (((INDEX) == (0))) goto L_06ad;
#line 7106 "regression-compile-tmp/imp918s.imp"
if (((REGISTER[INDEX]) <= (0))) goto L_06ad;
#line 7106 "regression-compile-tmp/imp918s.imp"
REGISTER[INDEX] = 0;
#line 7106 "regression-compile-tmp/imp918s.imp"
L_06ad:;
                                                                //   7107                 %IF NAMINF <0 %THEN FORGET(BASE) %ELSE %C
#line 7107 "regression-compile-tmp/imp918s.imp"
if (((NAMINF) >= (0))) goto L_06ae;
#line 7107 "regression-compile-tmp/imp918s.imp"
FORGET(BASE);
#line 7107 "regression-compile-tmp/imp918s.imp"
goto L_06af;
#line 7107 "regression-compile-tmp/imp918s.imp"
L_06ae:;
#line 7107 "regression-compile-tmp/imp918s.imp"
SETUSE(BASE, 8, NAMINF);
#line 7107 "regression-compile-tmp/imp918s.imp"
L_06af:;
                                                                //   7108                                    SET USE(BASE,8,NAMINF)
                                                                //   7109              %FINISH
#line 7109 "regression-compile-tmp/imp918s.imp"
L_06ab:;
                                                                //   7110           %FINISH
#line 7110 "regression-compile-tmp/imp918s.imp"
L_06aa:;
                                                                //   7111           %FINISH %ELSE %START
#line 7111 "regression-compile-tmp/imp918s.imp"
goto L_06b0;
#line 7111 "regression-compile-tmp/imp918s.imp"
L_0694:;
                                                                //   7112           %IF JJ#Q %OR Q=0 %THEN %START;! DIMENSIONALITY ERROR
#line 7112 "regression-compile-tmp/imp918s.imp"
if (((JJ) != (Q))) goto L_069c;
#line 7112 "regression-compile-tmp/imp918s.imp"
if (((Q) != (0))) goto L_06b1;
#line 7112 "regression-compile-tmp/imp918s.imp"
L_069c:;
                                                                //   7113              FAULT(19,ARRNAME)
#line 7113 "regression-compile-tmp/imp918s.imp"
FAULT(19, ARRNAME);
                                                                //   7114              P=P+1; SKIP APP
#line 7114 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
#line 7114 "regression-compile-tmp/imp918s.imp"
SKIPAPP();
                                                                //   7115              BASE=15
#line 7115 "regression-compile-tmp/imp918s.imp"
BASE = 15;
                                                                //   7116           %FINISH %ELSE %START
#line 7116 "regression-compile-tmp/imp918s.imp"
goto L_06b2;
#line 7116 "regression-compile-tmp/imp918s.imp"
L_06b1:;
                                                                //   7117  !
                                                                //   7118  ! THREE DIFFERENT SUBROUTINES ARE USED:-
                                                                //   7119  ! PERM7 CHECKS SWITCHES WITH GR1 HOLDING SUFFIX &GR2 POINTING AT VECTOR
                                                                //   7120  ! PERM23 CHECKS 1D ARRAYS. GR1 HAS SUFFIX & GR3 POINTS TO ARRAYHEAD
                                                                //   7121  ! PERM24 CHECKS MULTI-DIMENSION ARRAYS. GR1 POINT TO BACK OF LIST OF
                                                                //   7122  !         SUFFICES AND GR2 POINT TO ARRAYHEAD
                                                                //   7123  !
                                                                //   7124              DIS=0; P=PP+2
#line 7124 "regression-compile-tmp/imp918s.imp"
DIS = 0;
#line 7124 "regression-compile-tmp/imp918s.imp"
P = (((int)(PP)) + (2));
                                                                //   7125              CLAIM THIS REG(1);         ! FORCE PRESERVATION OF CONTENTS
#line 7125 "regression-compile-tmp/imp918s.imp"
CLAIMTHISREG(1);
                                                                //   7126              REGISTER(1)=0
#line 7126 "regression-compile-tmp/imp918s.imp"
REGISTER[1] = 0;
                                                                //   7127              %IF JJ=1 %THEN %START;     ! 1D+SWITCHES
#line 7127 "regression-compile-tmp/imp918s.imp"
if (((JJ) != (1))) goto L_06b3;
                                                                //   7128                 CSEXP(1,1); P=P+1
#line 7128 "regression-compile-tmp/imp918s.imp"
CSEXP(1, 1);
#line 7128 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
                                                                //   7129              %FINISH %ELSE %START
#line 7129 "regression-compile-tmp/imp918s.imp"
goto L_06b4;
#line 7129 "regression-compile-tmp/imp918s.imp"
L_06b3:;
                                                                //   7130                                         ! MULTI-DIMENSION 
                                                                //   7131                 GET WSP(RR,JJ)
#line 7131 "regression-compile-tmp/imp918s.imp"
GETWSP(&RR, JJ);
                                                                //   7132                 %CYCLE PP=0,1,JJ-1;     ! THROUGH LIST OF SUFFICES
#line 7132 "regression-compile-tmp/imp918s.imp"
{static int _initial, _increment, _final, _control;
_initial = 0; _increment = 1; _final = (((int)(JJ)) - (1)); PP = _control = _initial;
if (((_final-_initial) % _increment) != 0) _imp_signal(5,1,0,"Illegal cycle PP = 0, 1, (((int)(JJ)) - (1))");
PP -= _increment; _control -= _increment;
L_06b5:;
if (PP == _final) goto L_06b6;
PP += _increment; _control += _increment;
if (PP != _control) _imp_signal(4,2,0,"Corrupt control variable PP"); /* FOR loop control variable corrupted */
}
                                                                //   7133                    CSEXP(-1,1); P=P+1;  ! EVALUATE SUFFIX
#line 7133 "regression-compile-tmp/imp918s.imp"
CSEXP((-1), 1);
#line 7133 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
                                                                //   7134                    DUMP(1,NEST,RR+PP<<2,0,RBASE);! AND PUT INTO WK-AREA
#line 7134 "regression-compile-tmp/imp918s.imp"
DUMP(1, NEST, ((RR) + ((int)(((PP) << (2))))), 0, RBASE);
                                                                //   7135                 %REPEAT
#line 7135 "regression-compile-tmp/imp918s.imp"
goto L_06b5;
#line 7135 "regression-compile-tmp/imp918s.imp"
L_06b6:;
                                                                //   7136                 DUMP(0,1,RR+PP<<2,0,RBASE);!LA  1,<BACK OF WORK AREA>
#line 7136 "regression-compile-tmp/imp918s.imp"
DUMP(0, 1, ((RR) + ((int)(((PP) << (2))))), 0, RBASE);
                                                                //   7137                 FORGET(1)
#line 7137 "regression-compile-tmp/imp918s.imp"
FORGET(1);
                                                                //   7138              %FINISH
#line 7138 "regression-compile-tmp/imp918s.imp"
L_06b4:;
                                                                //   7139              %IF JJ=1 %AND TYPEP#6 %THEN JJJ=3 %ELSE JJJ=2
#line 7139 "regression-compile-tmp/imp918s.imp"
if (((JJ) != (1))) goto L_06b8;
#line 7139 "regression-compile-tmp/imp918s.imp"
if (((TYPEP) == (6))) goto L_06b8;
#line 7139 "regression-compile-tmp/imp918s.imp"
JJJ = 3;
#line 7139 "regression-compile-tmp/imp918s.imp"
goto L_06b9;
#line 7139 "regression-compile-tmp/imp918s.imp"
L_06b8:;
#line 7139 "regression-compile-tmp/imp918s.imp"
JJJ = 2;
#line 7139 "regression-compile-tmp/imp918s.imp"
L_06b9:;
                                                                //   7140              REGISTER(1)=1;             ! PROTECT REG ALREADY SET
#line 7140 "regression-compile-tmp/imp918s.imp"
REGISTER[1] = 1;
                                                                //   7141              CLAIM THIS REG(JJJ)
#line 7141 "regression-compile-tmp/imp918s.imp"
CLAIMTHISREG(JJJ);
                                                                //   7142              REGISTER(JJJ)=0
#line 7142 "regression-compile-tmp/imp918s.imp"
REGISTER[JJJ] = 0;
                                                                //   7143              %IF TYPEP=6 %THEN BS=0 %AND DP=BASIC DISP;!SWITCHES SPECIAL
#line 7143 "regression-compile-tmp/imp918s.imp"
if (((TYPEP) != (6))) goto L_06ba;
#line 7143 "regression-compile-tmp/imp918s.imp"
BS = 0;
#line 7143 "regression-compile-tmp/imp918s.imp"
DP = BASICDISP;
#line 7143 "regression-compile-tmp/imp918s.imp"
L_06ba:;
                                                                //   7144              DUMP(0,JJJ,DP,0,BS);       ! ADDR HEAD TO GR3(1D) OR GR2(MD)
#line 7144 "regression-compile-tmp/imp918s.imp"
DUMP(0, JJJ, DP, 0, BS);
                                                                //   7145              %IF TYPEP=6 %THEN PRX(X'5A',2,GLA,0,0) %AND JJJ=19
#line 7145 "regression-compile-tmp/imp918s.imp"
if (((TYPEP) != (6))) goto L_06bb;
#line 7145 "regression-compile-tmp/imp918s.imp"
PRX(90, 2, 13, 0, 0);
#line 7145 "regression-compile-tmp/imp918s.imp"
JJJ = 19;
#line 7145 "regression-compile-tmp/imp918s.imp"
L_06bb:;
                                                                //   7146              REGISTER(1)=0
#line 7146 "regression-compile-tmp/imp918s.imp"
REGISTER[1] = 0;
                                                                //   7147              PPJ(26-JJJ);               ! TO CHECKING SUBROUTINE
#line 7147 "regression-compile-tmp/imp918s.imp"
PPJ((((int)(26)) - (JJJ)));
                                                                //   7148              BASE=15
#line 7148 "regression-compile-tmp/imp918s.imp"
BASE = 15;
                                                                //   7149              %IF ARRP=3 %THEN PRR(X'1A',1,15) %AND BASE=0
#line 7149 "regression-compile-tmp/imp918s.imp"
if (((ARRP) != (3))) goto L_06bc;
#line 7149 "regression-compile-tmp/imp918s.imp"
PRR(26, 1, 15);
#line 7149 "regression-compile-tmp/imp918s.imp"
BASE = 0;
#line 7149 "regression-compile-tmp/imp918s.imp"
L_06bc:;
                                                                //   7150           %FINISH
#line 7150 "regression-compile-tmp/imp918s.imp"
L_06b2:;
                                                                //   7151           INDEX=1; DISP=0
#line 7151 "regression-compile-tmp/imp918s.imp"
INDEX = 1;
#line 7151 "regression-compile-tmp/imp918s.imp"
DISP = 0;
                                                                //   7152           %FINISH
#line 7152 "regression-compile-tmp/imp918s.imp"
L_06b0:;
                                                                //   7153           ACC=ELSIZE
#line 7153 "regression-compile-tmp/imp918s.imp"
ACC = ELSIZE;
                                                                //   7154           PTYPE=PTYPEP;! UNPACK
#line 7154 "regression-compile-tmp/imp918s.imp"
PTYPE = PTYPEP;
                                                                //   7155  !%if USE MC = 1 %start
                                                                //   7156  !            *L_1,PTYPE; *CVD_1,0(11)
                                                                //   7157  !            *UNPK_ROUT(5),5(3,11)
                                                                //   7158  !            *NC_ROUT(5),MASK1
                                                                //   7159  !%finish
                                                                //   7160           J=JJ
#line 7160 "regression-compile-tmp/imp918s.imp"
J = JJ;
                                                                //   7161           %END;                         ! OF ROUTINE CANAME
#line 7161 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block CANAME at level 3
                                                                //   7162  
                                                                //   7163  %ROUTINE CNAME(%INTEGER Z, REG)
#line 7163 "regression-compile-tmp/imp918s.imp"
void CNAME( int Z, int REG )
#line 7163 "regression-compile-tmp/imp918s.imp"
{
                                                                //   7164  !***********************************************************************
                                                                //   7165  !*       THIS IS THE MAIN ROUTINE FOR PROCESSING NAMES.CANAME,CSNAME   *
                                                                //   7166  !*       AND CRNAME ARE ONLY CALLED FROM HERE,THE NAME (AND ANY PARAMS *
                                                                //   7167  !*       OR SUBNAMES) ARE INDEXED BY P WHICH IS ADVANCED.              *
                                                                //   7168  !*       Z SPECIFIES ACTION AS FOLLOWS:-                               *
                                                                //   7169  !*       Z=0 COMPILE A ROUTINE CALL                                    *
                                                                //   7170  !*       Z=1 SET BASE,INDEX AND DISP FOR A 'STORE' OPERATION           *
                                                                //   7171  !*       Z=2 FETCH NAME TO 'REG'                                       *
                                                                //   7172  !*       Z=3 SET ADDR(NAME) IN REG FOR PASSING BY NAME (TOP BYTE SET)  *
                                                                //   7173  !*       Z=4 AS FOR Z=3 BUT TOP BYTE MUST BE CLEAR (USED FOR 'ADDR' FN)*
                                                                //   7174  !*       Z=5 IF NAME IS IN A REGISTER THEN AS Z=2 ELSE SET BASE ETC    *
                                                                //   7175  !*       Z=6 STORE 'REG' (CONTAINS POINTER) INTO POINTER VARIABLE      *
                                                                //   7176  !*       Z=7->Label11  NOT NOW USED                                         *
                                                                //   7177  !*       Z=12 SET BASE AND DISP TO POINT TO ARRAYHEAD                  *
                                                                //   7178  !*       Z=13 SET REG TO POINT TO 4 WORD ROUTINE DISCRIPTOR            *
                                                                //   7179  !*              (INTERNAL ROUTINES FIRST CREATE THE DISCRIPTOR)        *
                                                                //   7180  !*       Z=14 STORE 'REG' INTO A RECORD NAME VARIABLE                  *
                                                                //   7181  !*       Z=15 SET 'REG' TO POINT TO A RECORD                           *
                                                                //   7182  !*       Z=16 SET BASE AND DISP (BUT NOT INDEX) FOR RECORD             *
                                                                //   7183  !*                                                                     *
                                                                //   7184  !*       REG (WHERE APPROPRIATE) IS SET AS FOLLOWS:-                   *
                                                                //   7185  !*       >=0  A REGISTER                                               *
                                                                //   7186  !*       -1   MEANS CHOOSE ANY REGISTER                                *
                                                                //   7187  !*       -2   MEANS CHOOSE ANY REGISTER EXCEPT GR0                     *
                                                                //   7188  !*       IF A REGISTER IS CHOSEN THEN NEST IS SET WITH CHOICE          *
                                                                //   7189  !***********************************************************************
                                                                //   7190  %INTEGER JJ, JJJ, KK, RR, LEVELP, DISPP, REGP, NAMEP, PP, SAVESL,  %C
#line 7190 "regression-compile-tmp/imp918s.imp"
int JJ;
#line 7190 "regression-compile-tmp/imp918s.imp"
int JJJ;
#line 7190 "regression-compile-tmp/imp918s.imp"
int KK;
#line 7190 "regression-compile-tmp/imp918s.imp"
int RR;
#line 7190 "regression-compile-tmp/imp918s.imp"
int LEVELP;
#line 7190 "regression-compile-tmp/imp918s.imp"
int DISPP;
#line 7190 "regression-compile-tmp/imp918s.imp"
int REGP;
#line 7190 "regression-compile-tmp/imp918s.imp"
int NAMEP;
#line 7190 "regression-compile-tmp/imp918s.imp"
int PP;
#line 7190 "regression-compile-tmp/imp918s.imp"
int SAVESL;
#line 7190 "regression-compile-tmp/imp918s.imp"
int FNAME;
                                                                //   7191              FNAME
                                                                //   7192  %LONGREAL WORK
#line 7192 "regression-compile-tmp/imp918s.imp"
double WORK;
                                                                //   7193  %SWITCH S, FUNNY(12:16), SW(0:8), MOD(0:7)
#line 7193 "regression-compile-tmp/imp918s.imp"
static int sw16_S_idx;
static const void * /*SWITCH*/ sw16_S[5] = { &&sw16_S_12, &&sw16_S_13, &&sw16_S_14, &&sw16_S_15, &&sw16_S_16,  };
#line 7193 "regression-compile-tmp/imp918s.imp"
static int sw17_FUNNY_idx;
static const void * /*SWITCH*/ sw17_FUNNY[5] = { &&sw17_FUNNY_12, &&sw17_FUNNY_13, &&sw17_FUNNY_14, &&sw17_FUNNY_15, &&sw17_FUNNY_16,  };
#line 7193 "regression-compile-tmp/imp918s.imp"
static int sw18_SW_idx;
static const void * /*SWITCH*/ sw18_SW[9] = { &&sw18_SW_0, &&sw18_SW_1, &&sw18_SW_2, &&sw18_SW_3, &&sw18_SW_4, &&sw18_SW_5, &&sw18_SW_6, &&sw18_SW_7, &&sw18_SW_8,  };
#line 7193 "regression-compile-tmp/imp918s.imp"
static int sw19_MOD_idx;
static const void * /*SWITCH*/ sw19_MOD[8] = { &&sw19_MOD_0, &&sw19_MOD_1, &&sw19_MOD_2, &&sw19_MOD_3, &&sw19_MOD_4, &&sw19_MOD_5, &&sw19_MOD_6, &&sw19_MOD_7,  };
                                                                //   7194           FNAME=A(P)
#line 7194 "regression-compile-tmp/imp918s.imp"
FNAME = A[((P) + ((int)(7)))];
                                                                //   7195  Label2:       TCELL=TAGS(FNAME)
#line 7195 "regression-compile-tmp/imp918s.imp"
U_1029:;
#line 7195 "regression-compile-tmp/imp918s.imp"
TCELL = TAGS[FNAME];
                                                                //   7196  !%if USE MC = 1 %start
                                                                //   7197  !         *L_1,TCELL; *LTR_1,1; *BC_8,<4>
                                                                //   7198  !         *XC_PTYPE(20),PTYPE
                                                                //   7199  !         *A_1,ASLIST
                                                                //   7200  !         *UNPK_WORK(5),2(3,1)
                                                                //   7201  !         *LH_0,0(1,0)
                                                                //   7202  !         *ST_0,PTYPE
                                                                //   7203  !         *MVN_USEBITS+3(1),WORK
                                                                //   7204  !         *MVN_OLDI+3(1),WORK+1
                                                                //   7205  !         *MVN_I+3(1),WORK+2
                                                                //   7206  !         *MVN_J+3(1),WORK+3
                                                                //   7207  !         *OI_2(1),X'80';                ! SET USE BIT
                                                                //   7208  !         *MVC_SNDISP(8),4(1)
                                                                //   7209  !         *CVD_0,WORK
                                                                //   7210  !         *UNPK_ROUT(5),WORK+5(3)
                                                                //   7211  !         *NC_ROUT(5),MASK1
                                                                //   7212  !%finish
                                                                //   7213           SAVESL=ACC
#line 7213 "regression-compile-tmp/imp918s.imp"
SAVESL = ACC;
                                                                //   7214           %IF CSSMODE=0 %AND ROUT=0 %THEN OPTSAVE(2,Z,PTYPE,FNAME)
#line 7214 "regression-compile-tmp/imp918s.imp"
if (((CSSMODE) != (0))) goto L_06bd;
#line 7214 "regression-compile-tmp/imp918s.imp"
if (((ROUT) != (0))) goto L_06bd;
#line 7214 "regression-compile-tmp/imp918s.imp"
OPTSAVE(2, Z, PTYPE, FNAME);
#line 7214 "regression-compile-tmp/imp918s.imp"
L_06bd:;
                                                                //   7215           ->Label3
#line 7215 "regression-compile-tmp/imp918s.imp"
goto U_102a;
                                                                //   7216  Label4:       FAULT(16, FNAME)
#line 7216 "regression-compile-tmp/imp918s.imp"
U_102b:;
#line 7216 "regression-compile-tmp/imp918s.imp"
FAULT(16, FNAME);
                                                                //   7217           I=LEVEL;  J=0;  K=FNAME
#line 7217 "regression-compile-tmp/imp918s.imp"
I = LEVEL;
#line 7217 "regression-compile-tmp/imp918s.imp"
J = 0;
#line 7217 "regression-compile-tmp/imp918s.imp"
K = FNAME;
                                                                //   7218           PTYPE=7;  STORE TAG(K, N)
#line 7218 "regression-compile-tmp/imp918s.imp"
PTYPE = 7;
#line 7218 "regression-compile-tmp/imp918s.imp"
STORETAG(K, N);
                                                                //   7219           K=N;  N=N+4;  ->Label2
#line 7219 "regression-compile-tmp/imp918s.imp"
K = N;
#line 7219 "regression-compile-tmp/imp918s.imp"
N = (((int)(N)) + (4));
#line 7219 "regression-compile-tmp/imp918s.imp"
goto U_1029;
                                                                //   7220  Label3:       JJ=J;  JJ=0 %IF JJ=15
#line 7220 "regression-compile-tmp/imp918s.imp"
U_102a:;
#line 7220 "regression-compile-tmp/imp918s.imp"
JJ = J;
#line 7220 "regression-compile-tmp/imp918s.imp"
if (((JJ) != (15))) goto L_06be;
#line 7220 "regression-compile-tmp/imp918s.imp"
JJ = 0;
#line 7220 "regression-compile-tmp/imp918s.imp"
L_06be:;
                                                                //   7221           NAMEP=TCELL
#line 7221 "regression-compile-tmp/imp918s.imp"
NAMEP = TCELL;
                                                                //   7222           LEVELP=I;  DISPP=K
#line 7222 "regression-compile-tmp/imp918s.imp"
LEVELP = I;
#line 7222 "regression-compile-tmp/imp918s.imp"
DISPP = K;
                                                                //   7223           FAULT(29, FNAME) %IF PREC>3 %AND             %C
#line 7223 "regression-compile-tmp/imp918s.imp"
if (((PREC) <= (3))) goto L_06bf;
#line 7223 "regression-compile-tmp/imp918s.imp"
if (((Z) == (1))) goto L_06c0;
#line 7223 "regression-compile-tmp/imp918s.imp"
if (((Z) == (3))) goto L_06c1;
#line 7223 "regression-compile-tmp/imp918s.imp"
if (((Z) != (4))) goto L_06bf;
#line 7223 "regression-compile-tmp/imp918s.imp"
L_06c1:;
#line 7223 "regression-compile-tmp/imp918s.imp"
if (((ARR) != (0))) goto L_06bf;
#line 7223 "regression-compile-tmp/imp918s.imp"
L_06c0:;
#line 7223 "regression-compile-tmp/imp918s.imp"
if (((REG) == (99))) goto L_06bf;
#line 7223 "regression-compile-tmp/imp918s.imp"
FAULT(29, FNAME);
#line 7223 "regression-compile-tmp/imp918s.imp"
L_06bf:;
                                                                //   7224                      (Z=1 %OR ((Z=3 %OR Z=4) %AND ARR=0))    %AND REG#99
                                                                //   7225           PREC=PREC&3
#line 7225 "regression-compile-tmp/imp918s.imp"
PREC = ((PREC) & (3));
                                                                //   7226           ->Label502 %IF TYPE=7
#line 7226 "regression-compile-tmp/imp918s.imp"
if (((TYPE) != (7))) goto L_06c2;
#line 7226 "regression-compile-tmp/imp918s.imp"
goto U_102c;
#line 7226 "regression-compile-tmp/imp918s.imp"
L_06c2:;
                                                                //   7227           ->Label500 %IF Z=0 %AND (ROUT#1 %OR 0#TYPE#6)
#line 7227 "regression-compile-tmp/imp918s.imp"
if (((Z) != (0))) goto L_06c3;
#line 7227 "regression-compile-tmp/imp918s.imp"
if (((ROUT) != (1))) goto L_06c4;
#line 7227 "regression-compile-tmp/imp918s.imp"
if ((((0) == (TYPE))) || (((TYPE) == (6)))) goto L_06c3;
#line 7227 "regression-compile-tmp/imp918s.imp"
L_06c4:;
#line 7227 "regression-compile-tmp/imp918s.imp"
goto U_102d;
#line 7227 "regression-compile-tmp/imp918s.imp"
L_06c3:;
                                                                //   7228           ->FUNNY(Z) %IF Z>=10
#line 7228 "regression-compile-tmp/imp918s.imp"
if (((Z) < (10))) goto L_06c5;
#line 7228 "regression-compile-tmp/imp918s.imp"
sw17_FUNNY_idx = Z; if ((12 <= sw17_FUNNY_idx) && (sw17_FUNNY_idx <= 16)) goto *(sw17_FUNNY-12)[sw17_FUNNY_idx];  /* Bounds=12:16 */ else {
   /*_imp_signal(8, 2, sw17_FUNNY_idx);*/
   fprintf(stderr, "%%SWITCH index FUNNY(%d) not in range 12:16 at %s:%d\n",
           sw17_FUNNY_idx, (_imp_current_file != 0 ? _imp_current_file : __FILE__),
           (_imp_current_line != 0 ? _imp_current_line : __LINE__));
           exit(1);
}
#line 7228 "regression-compile-tmp/imp918s.imp"
L_06c5:;
                                                                //   7229           ->RTCALL %IF ROUT=1
#line 7229 "regression-compile-tmp/imp918s.imp"
if (((ROUT) != (1))) goto L_06c6;
#line 7229 "regression-compile-tmp/imp918s.imp"
goto U_106e;
#line 7229 "regression-compile-tmp/imp918s.imp"
L_06c6:;
                                                                //   7230           ->SW(TYPE)
#line 7230 "regression-compile-tmp/imp918s.imp"
sw18_SW_idx = TYPE; if ((0 <= sw18_SW_idx) && (sw18_SW_idx <= 8)) goto *sw18_SW[sw18_SW_idx]; else {
   /*_imp_signal(8, 2, sw18_SW_idx);*/
   fprintf(stderr, "%%SWITCH index SW(%d) not in range 0:8 at %s:%d\n",
           sw18_SW_idx, (_imp_current_file != 0 ? _imp_current_file : __FILE__),
           (_imp_current_line != 0 ? _imp_current_line : __LINE__));
           exit(1);
}
                                                                //   7231  Label500:
#line 7231 "regression-compile-tmp/imp918s.imp"
U_102d:;
                                                                //   7232           FAULT(17, FNAME) %UNLESS TYPE=7;  ->Label502
#line 7232 "regression-compile-tmp/imp918s.imp"
if (((TYPE) == (7))) goto L_06c7;
#line 7232 "regression-compile-tmp/imp918s.imp"
FAULT(17, FNAME);
#line 7232 "regression-compile-tmp/imp918s.imp"
L_06c7:;
#line 7232 "regression-compile-tmp/imp918s.imp"
goto U_102c;
                                                                //   7233  SW(6):
#line 7233 "regression-compile-tmp/imp918s.imp"
sw18_SW_6:;
                                                                //   7234  
                                                                //   7235  SW(4):                                  !RECORD FORMAT NAME
#line 7235 "regression-compile-tmp/imp918s.imp"
sw18_SW_4:;
                                                                //   7236           FAULT(20, FNAME)
#line 7236 "regression-compile-tmp/imp918s.imp"
FAULT(20, FNAME);
                                                                //   7237  SW(7):
#line 7237 "regression-compile-tmp/imp918s.imp"
sw18_SW_7:;
                                                                //   7238  
                                                                //   7239  Label502:     P=P+1;                         ! NAME NOT SET
#line 7239 "regression-compile-tmp/imp918s.imp"
U_102c:;
#line 7239 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
                                                                //   7240           NEST=0;  BASE=I;  DISP=K;  INDEX=0
#line 7240 "regression-compile-tmp/imp918s.imp"
NEST = 0;
#line 7240 "regression-compile-tmp/imp918s.imp"
BASE = I;
#line 7240 "regression-compile-tmp/imp918s.imp"
DISP = K;
#line 7240 "regression-compile-tmp/imp918s.imp"
INDEX = 0;
                                                                //   7241           PTYPE=1; ! UNPACK
#line 7241 "regression-compile-tmp/imp918s.imp"
PTYPE = 1;
                                                                //   7242  !%if USE MC = 1 %start
                                                                //   7243  !            *L_1,PTYPE; *CVD_1,0(11)
                                                                //   7244  !            *UNPK_ROUT(5),5(3,11)
                                                                //   7245  !            *NC_ROUT(5),MASK1
                                                                //   7246  !%finish
                                                                //   7247           SKIP APP;  ->Label1
#line 7247 "regression-compile-tmp/imp918s.imp"
SKIPAPP();
#line 7247 "regression-compile-tmp/imp918s.imp"
goto U_1037;
                                                                //   7248  FUNNY(12):                              ! SET BASE & DISP FOR ARRAYHEAD
#line 7248 "regression-compile-tmp/imp918s.imp"
sw17_FUNNY_12:;
                                                                //   7249           ->SW(3) %IF TYPE=3 %AND (ARR=0 %OR A(P+1)=1)
#line 7249 "regression-compile-tmp/imp918s.imp"
if (((TYPE) != (3))) goto L_06c8;
#line 7249 "regression-compile-tmp/imp918s.imp"
if (((ARR) == (0))) goto L_06c9;
#line 7249 "regression-compile-tmp/imp918s.imp"
if (((A[(((unsigned char)((((int)(P)) + (1)))) + (7))]) != (1))) goto L_06c8;
#line 7249 "regression-compile-tmp/imp918s.imp"
L_06c9:;
#line 7249 "regression-compile-tmp/imp918s.imp"
sw18_SW_idx = 3; goto *sw18_SW[sw18_SW_idx]; 
#line 7249 "regression-compile-tmp/imp918s.imp"
L_06c8:;
                                                                //   7250           ->Label1202 %IF PTYPE=SNPT
#line 7250 "regression-compile-tmp/imp918s.imp"
if (((PTYPE) != (10006))) goto L_06ca;
#line 7250 "regression-compile-tmp/imp918s.imp"
goto U_1024;
#line 7250 "regression-compile-tmp/imp918s.imp"
L_06ca:;
                                                                //   7251           BASE=I;  INDEX=0;  DISP=K
#line 7251 "regression-compile-tmp/imp918s.imp"
BASE = I;
#line 7251 "regression-compile-tmp/imp918s.imp"
INDEX = 0;
#line 7251 "regression-compile-tmp/imp918s.imp"
DISP = K;
                                                                //   7252  S(12):                                  ! ARRAYS IN RECORDS BY NAME
#line 7252 "regression-compile-tmp/imp918s.imp"
sw16_S_12:;
                                                                //   7253           FAULT(219, FNAME) %UNLESS INDEX=0
#line 7253 "regression-compile-tmp/imp918s.imp"
if (((INDEX) == (0))) goto L_06cb;
#line 7253 "regression-compile-tmp/imp918s.imp"
FAULT(219, FNAME);
#line 7253 "regression-compile-tmp/imp918s.imp"
L_06cb:;
                                                                //   7254           %UNLESS 0<=DISP<=4095 %THEN ADJUST INDEX(0, BASE, DISP)
#line 7254 "regression-compile-tmp/imp918s.imp"
if ((((0) > (DISP))) || (((DISP) <= (4095)))) goto L_06cd;
#line 7254 "regression-compile-tmp/imp918s.imp"
L_06cc:;
#line 7254 "regression-compile-tmp/imp918s.imp"
ADJUSTINDEX(0, &BASE, &DISP);
#line 7254 "regression-compile-tmp/imp918s.imp"
L_06cd:;
                                                                //   7255           ->Label91
#line 7255 "regression-compile-tmp/imp918s.imp"
goto U_1025;
                                                                //   7256  Label1202:    CSNAME(12, REG);  ->Label91
#line 7256 "regression-compile-tmp/imp918s.imp"
U_1024:;
#line 7256 "regression-compile-tmp/imp918s.imp"
CSNAME(12, REG);
#line 7256 "regression-compile-tmp/imp918s.imp"
goto U_1025;
                                                                //   7257  FUNNY(13):                              ! LOAD ADDR FOR RT-TYPE
#line 7257 "regression-compile-tmp/imp918s.imp"
sw17_FUNNY_13:;
                                                                //   7258           %IF PTYPE=SNPT %THEN ->Label1302
#line 7258 "regression-compile-tmp/imp918s.imp"
if (((PTYPE) != (10006))) goto L_06ce;
#line 7258 "regression-compile-tmp/imp918s.imp"
goto U_1026;
#line 7258 "regression-compile-tmp/imp918s.imp"
L_06ce:;
                                                                //   7259           ->Label500 %UNLESS ROUT=1
#line 7259 "regression-compile-tmp/imp918s.imp"
if (((ROUT) == (1))) goto L_06cf;
#line 7259 "regression-compile-tmp/imp918s.imp"
goto U_102d;
#line 7259 "regression-compile-tmp/imp918s.imp"
L_06cf:;
                                                                //   7260           DISP=4*(SNDISP&X'FFFF')
#line 7260 "regression-compile-tmp/imp918s.imp"
DISP = ((4) * ((int)(((SNDISP) & (65535)))));
                                                                //   7261           %IF NAM&1#0 %THEN %START
#line 7261 "regression-compile-tmp/imp918s.imp"
if (((((NAM) & (1))) == (0))) goto L_06d0;
                                                                //   7262              BASE=I; JJJ=X'58'
#line 7262 "regression-compile-tmp/imp918s.imp"
BASE = I;
#line 7262 "regression-compile-tmp/imp918s.imp"
JJJ = 88;
                                                                //   7263           %FINISH %ELSE %START
#line 7263 "regression-compile-tmp/imp918s.imp"
goto L_06d1;
#line 7263 "regression-compile-tmp/imp918s.imp"
L_06d0:;
                                                                //   7264              %IF J=14 %THEN BASE=GLA %ELSE %START;! INTERNAL
#line 7264 "regression-compile-tmp/imp918s.imp"
if (((J) != (14))) goto L_06d2;
#line 7264 "regression-compile-tmp/imp918s.imp"
BASE = 13;
#line 7264 "regression-compile-tmp/imp918s.imp"
goto L_06d3;
#line 7264 "regression-compile-tmp/imp918s.imp"
L_06d2:;
                                                                //   7265                 GET WSP(DISP, 4)
#line 7265 "regression-compile-tmp/imp918s.imp"
GETWSP(&DISP, 4);
                                                                //   7266                 JJJ=14;  %IF REGISTER(14)#0 %THEN FIND REG(GR1, JJJ)
#line 7266 "regression-compile-tmp/imp918s.imp"
JJJ = 14;
#line 7266 "regression-compile-tmp/imp918s.imp"
if (((REGISTER[14]) == (0))) goto L_06d4;
#line 7266 "regression-compile-tmp/imp918s.imp"
FINDREG(65807, &JJJ);
#line 7266 "regression-compile-tmp/imp918s.imp"
L_06d4:;
                                                                //   7267                 RT JUMP(X'41', JJJ, TCELL, JJJ)
#line 7267 "regression-compile-tmp/imp918s.imp"
RTJUMP(65, JJJ, TCELL, JJJ);
                                                                //   7268                 DUMPM(X'90', 12, 13, RBASE, DISP)
#line 7268 "regression-compile-tmp/imp918s.imp"
DUMPM(144, 12, 13, RBASE, DISP);
                                                                //   7269                 PRX(X'50', JJJ, 0, RBASE, DISP+8)
#line 7269 "regression-compile-tmp/imp918s.imp"
PRX(80, JJJ, 0, RBASE, (((int)(DISP)) + (8)));
                                                                //   7270                 PRX(X'50', WSPR, 0, RBASE, DISP+12)
#line 7270 "regression-compile-tmp/imp918s.imp"
PRX(80, 11, 0, RBASE, (((int)(DISP)) + (12)));
                                                                //   7271                 BASE=RBASE
#line 7271 "regression-compile-tmp/imp918s.imp"
BASE = RBASE;
                                                                //   7272                 FORGET(JJJ)
#line 7272 "regression-compile-tmp/imp918s.imp"
FORGET(JJJ);
                                                                //   7273              %FINISH
#line 7273 "regression-compile-tmp/imp918s.imp"
L_06d3:;
                                                                //   7274              JJJ=X'41'
#line 7274 "regression-compile-tmp/imp918s.imp"
JJJ = 65;
                                                                //   7275           %FINISH
#line 7275 "regression-compile-tmp/imp918s.imp"
L_06d1:;
                                                                //   7276           DUMP(JJJ, REG, DISP, 0, BASE)
#line 7276 "regression-compile-tmp/imp918s.imp"
DUMP(JJJ, REG, DISP, 0, BASE);
                                                                //   7277           NEST=REG %IF REG>=0;  ->Label91
#line 7277 "regression-compile-tmp/imp918s.imp"
if (((REG) < (0))) goto L_06d5;
#line 7277 "regression-compile-tmp/imp918s.imp"
NEST = REG;
#line 7277 "regression-compile-tmp/imp918s.imp"
L_06d5:;
#line 7277 "regression-compile-tmp/imp918s.imp"
goto U_1025;
                                                                //   7278  Label1302:    CSNAME(Z, REG);  ->Label6
#line 7278 "regression-compile-tmp/imp918s.imp"
U_1026:;
#line 7278 "regression-compile-tmp/imp918s.imp"
CSNAME(Z, REG);
#line 7278 "regression-compile-tmp/imp918s.imp"
goto U_1038;
                                                                //   7279  S(14):   FAULT(67, FNAME) %UNLESS TYPE=3 %AND ARR=0
#line 7279 "regression-compile-tmp/imp918s.imp"
sw16_S_14:;
#line 7279 "regression-compile-tmp/imp918s.imp"
if (((TYPE) != (3))) goto L_06d6;
#line 7279 "regression-compile-tmp/imp918s.imp"
if (((ARR) == (0))) goto L_06d7;
#line 7279 "regression-compile-tmp/imp918s.imp"
L_06d6:;
#line 7279 "regression-compile-tmp/imp918s.imp"
FAULT(67, FNAME);
#line 7279 "regression-compile-tmp/imp918s.imp"
L_06d7:;
                                                                //   7280           P=P-2;  ->Label602
#line 7280 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) - (2));
#line 7280 "regression-compile-tmp/imp918s.imp"
goto U_1039;
                                                                //   7281  Label1401:    FAULT(67, FNAME) %UNLESS TYPE=7;  ->Label502
#line 7281 "regression-compile-tmp/imp918s.imp"
U_103a:;
#line 7281 "regression-compile-tmp/imp918s.imp"
if (((TYPE) == (7))) goto L_06d8;
#line 7281 "regression-compile-tmp/imp918s.imp"
FAULT(67, FNAME);
#line 7281 "regression-compile-tmp/imp918s.imp"
L_06d8:;
#line 7281 "regression-compile-tmp/imp918s.imp"
goto U_102c;
                                                                //   7282  S(16):
#line 7282 "regression-compile-tmp/imp918s.imp"
sw16_S_16:;
                                                                //   7283  
                                                                //   7284  S(15):   ->Label1401 %UNLESS TYPE=3
#line 7284 "regression-compile-tmp/imp918s.imp"
sw16_S_15:;
#line 7284 "regression-compile-tmp/imp918s.imp"
if (((TYPE) == (3))) goto L_06d9;
#line 7284 "regression-compile-tmp/imp918s.imp"
goto U_103a;
#line 7284 "regression-compile-tmp/imp918s.imp"
L_06d9:;
                                                                //   7285           P=P+1
#line 7285 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
                                                                //   7286           %IF Z=16 %AND INDEX=0 %AND DISP<=4095 %AND NAM=0 %THEN ->Label9005
#line 7286 "regression-compile-tmp/imp918s.imp"
if (((Z) != (16))) goto L_06da;
#line 7286 "regression-compile-tmp/imp918s.imp"
if (((INDEX) != (0))) goto L_06da;
#line 7286 "regression-compile-tmp/imp918s.imp"
if (((DISP) > (4095))) goto L_06da;
#line 7286 "regression-compile-tmp/imp918s.imp"
if (((NAM) != (0))) goto L_06da;
#line 7286 "regression-compile-tmp/imp918s.imp"
goto U_103b;
#line 7286 "regression-compile-tmp/imp918s.imp"
L_06da:;
                                                                //   7287           P=P-3;  KK=3;  ->Label605 %IF Z=15
#line 7287 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) - (3));
#line 7287 "regression-compile-tmp/imp918s.imp"
KK = 3;
#line 7287 "regression-compile-tmp/imp918s.imp"
if (((Z) != (15))) goto L_06db;
#line 7287 "regression-compile-tmp/imp918s.imp"
goto U_103c;
#line 7287 "regression-compile-tmp/imp918s.imp"
L_06db:;
                                                                //   7288           KK=1;  ->Label605 %IF NAM=1
#line 7288 "regression-compile-tmp/imp918s.imp"
KK = 1;
#line 7288 "regression-compile-tmp/imp918s.imp"
if (((NAM) != (1))) goto L_06dc;
#line 7288 "regression-compile-tmp/imp918s.imp"
goto U_103c;
#line 7288 "regression-compile-tmp/imp918s.imp"
L_06dc:;
                                                                //   7289           DUMP(0, REG, DISP, INDEX, BASE)
#line 7289 "regression-compile-tmp/imp918s.imp"
DUMP(0, REG, DISP, INDEX, BASE);
                                                                //   7290           REG=NEST %IF REG<0
#line 7290 "regression-compile-tmp/imp918s.imp"
if (((REG) >= (0))) goto L_06dd;
#line 7290 "regression-compile-tmp/imp918s.imp"
REG = NEST;
#line 7290 "regression-compile-tmp/imp918s.imp"
L_06dd:;
                                                                //   7291           DISP=0;  INDEX=0;  BASE=REG
#line 7291 "regression-compile-tmp/imp918s.imp"
DISP = 0;
#line 7291 "regression-compile-tmp/imp918s.imp"
INDEX = 0;
#line 7291 "regression-compile-tmp/imp918s.imp"
BASE = REG;
                                                                //   7292           FORGET(REG);  P=P+3;  ->Label9005
#line 7292 "regression-compile-tmp/imp918s.imp"
FORGET(REG);
#line 7292 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (3));
#line 7292 "regression-compile-tmp/imp918s.imp"
goto U_103b;
                                                                //   7293  FUNNY(15):                              ! FETCH RECORD NAME
#line 7293 "regression-compile-tmp/imp918s.imp"
sw17_FUNNY_15:;
                                                                //   7294           ->Label1302 %IF PTYPE=SNPT
#line 7294 "regression-compile-tmp/imp918s.imp"
if (((PTYPE) != (10006))) goto L_06de;
#line 7294 "regression-compile-tmp/imp918s.imp"
goto U_1026;
#line 7294 "regression-compile-tmp/imp918s.imp"
L_06de:;
                                                                //   7295  FUNNY(16):                              ! SET BASE & DISP
#line 7295 "regression-compile-tmp/imp918s.imp"
sw17_FUNNY_16:;
                                                                //   7296  FUNNY(14):                              ! STORE INTO RECORD NAME
#line 7296 "regression-compile-tmp/imp918s.imp"
sw17_FUNNY_14:;
                                                                //   7297           PP=P;  ->Label1401 %UNLESS TYPE=3
#line 7297 "regression-compile-tmp/imp918s.imp"
PP = P;
#line 7297 "regression-compile-tmp/imp918s.imp"
if (((TYPE) == (3))) goto L_06df;
#line 7297 "regression-compile-tmp/imp918s.imp"
goto U_103a;
#line 7297 "regression-compile-tmp/imp918s.imp"
L_06df:;
                                                                //   7298  SW(3):                                 ! RECORD
#line 7298 "regression-compile-tmp/imp918s.imp"
sw18_SW_3:;
                                                                //   7299           %IF NAM=1 %AND ARR=0 %THEN JJJ=1 %ELSE JJJ=0
#line 7299 "regression-compile-tmp/imp918s.imp"
if (((NAM) != (1))) goto L_06e0;
#line 7299 "regression-compile-tmp/imp918s.imp"
if (((ARR) != (0))) goto L_06e0;
#line 7299 "regression-compile-tmp/imp918s.imp"
JJJ = 1;
#line 7299 "regression-compile-tmp/imp918s.imp"
goto L_06e1;
#line 7299 "regression-compile-tmp/imp918s.imp"
L_06e0:;
#line 7299 "regression-compile-tmp/imp918s.imp"
JJJ = 0;
#line 7299 "regression-compile-tmp/imp918s.imp"
L_06e1:;
                                                                //   7300           CRNAME(Z, REG, JJJ, NAMEP, I, 0, K)
#line 7300 "regression-compile-tmp/imp918s.imp"
CRNAME(Z, REG, JJJ, NAMEP, I, 0, K);
                                                                //   7301           ->S(Z) %IF Z>=10
#line 7301 "regression-compile-tmp/imp918s.imp"
if (((Z) < (10))) goto L_06e2;
#line 7301 "regression-compile-tmp/imp918s.imp"
sw16_S_idx = Z; if ((12 <= sw16_S_idx) && (sw16_S_idx <= 16)) goto *(sw16_S-12)[sw16_S_idx];  /* Bounds=12:16 */ else {
   /*_imp_signal(8, 2, sw16_S_idx);*/
   fprintf(stderr, "%%SWITCH index S(%d) not in range 12:16 at %s:%d\n",
           sw16_S_idx, (_imp_current_file != 0 ? _imp_current_file : __FILE__),
           (_imp_current_line != 0 ? _imp_current_line : __LINE__));
           exit(1);
}
#line 7301 "regression-compile-tmp/imp918s.imp"
L_06e2:;
                                                                //   7302           ->Label5020 %IF TYPE=5
#line 7302 "regression-compile-tmp/imp918s.imp"
if (((TYPE) != (5))) goto L_06e3;
#line 7302 "regression-compile-tmp/imp918s.imp"
goto U_103d;
#line 7302 "regression-compile-tmp/imp918s.imp"
L_06e3:;
                                                                //   7303           ->Label502 %IF TYPE=7
#line 7303 "regression-compile-tmp/imp918s.imp"
if (((TYPE) != (7))) goto L_06e4;
#line 7303 "regression-compile-tmp/imp918s.imp"
goto U_102c;
#line 7303 "regression-compile-tmp/imp918s.imp"
L_06e4:;
                                                                //   7304           ->Label601
#line 7304 "regression-compile-tmp/imp918s.imp"
goto U_103e;
                                                                //   7305  SW(5):                                  ! TYPE =STRING
#line 7305 "regression-compile-tmp/imp918s.imp"
sw18_SW_5:;
                                                                //   7306  !        1) STRINGS ARE NEVER IN REGISTERS
                                                                //   7307  !        2) BML &DML MUST BE SET ON Z=1
                                                                //   7308  !        3) TOP BYTE MUST BE SET ON Z=3
                                                                //   7309  !        4) TOP BYTE MUST BE CLEARED  ON Z=4
                                                                //   7310           ->STRARR %IF ARR>=1
#line 7310 "regression-compile-tmp/imp918s.imp"
if (((ARR) < (1))) goto L_06e5;
#line 7310 "regression-compile-tmp/imp918s.imp"
goto U_103f;
#line 7310 "regression-compile-tmp/imp918s.imp"
L_06e5:;
                                                                //   7311           BASE=I;  INDEX=0;  DISP=K
#line 7311 "regression-compile-tmp/imp918s.imp"
BASE = I;
#line 7311 "regression-compile-tmp/imp918s.imp"
INDEX = 0;
#line 7311 "regression-compile-tmp/imp918s.imp"
DISP = K;
                                                                //   7312  Label5001:    %IF NAM=1 %THEN %START
#line 7312 "regression-compile-tmp/imp918s.imp"
U_1040:;
#line 7312 "regression-compile-tmp/imp918s.imp"
if (((NAM) != (1))) goto L_06e6;
                                                                //   7313              BML=BASE;  DML=DISP;        ! LMAX IN TOP BYTE OF POINTER
#line 7313 "regression-compile-tmp/imp918s.imp"
BML = BASE;
#line 7313 "regression-compile-tmp/imp918s.imp"
DML = DISP;
                                                                //   7314           %FINISH %ELSE %START
#line 7314 "regression-compile-tmp/imp918s.imp"
goto L_06e7;
#line 7314 "regression-compile-tmp/imp918s.imp"
L_06e6:;
                                                                //   7315              BML=-1;  DML=SAVESL-1
#line 7315 "regression-compile-tmp/imp918s.imp"
BML = (-1);
#line 7315 "regression-compile-tmp/imp918s.imp"
DML = (((int)(SAVESL)) - (1));
                                                                //   7316           %FINISH
#line 7316 "regression-compile-tmp/imp918s.imp"
L_06e7:;
                                                                //   7317  Label5002:    ->Label601 %UNLESS Z=3 %AND NAM=0
#line 7317 "regression-compile-tmp/imp918s.imp"
U_1041:;
#line 7317 "regression-compile-tmp/imp918s.imp"
if (((Z) != (3))) goto L_06e8;
#line 7317 "regression-compile-tmp/imp918s.imp"
if (((NAM) == (0))) goto L_06e9;
#line 7317 "regression-compile-tmp/imp918s.imp"
L_06e8:;
#line 7317 "regression-compile-tmp/imp918s.imp"
goto U_103e;
#line 7317 "regression-compile-tmp/imp918s.imp"
L_06e9:;
                                                                //   7318           DUMP(0, REG, DISP, INDEX, BASE)
#line 7318 "regression-compile-tmp/imp918s.imp"
DUMP(0, REG, DISP, INDEX, BASE);
                                                                //   7319           REG=NEST %IF REG<0
#line 7319 "regression-compile-tmp/imp918s.imp"
if (((REG) >= (0))) goto L_06ea;
#line 7319 "regression-compile-tmp/imp918s.imp"
REG = NEST;
#line 7319 "regression-compile-tmp/imp918s.imp"
L_06ea:;
                                                                //   7320           FORGET(REG);  JJJ=DML<<24
#line 7320 "regression-compile-tmp/imp918s.imp"
FORGET(REG);
#line 7320 "regression-compile-tmp/imp918s.imp"
JJJ = ((DML) << (24));
                                                                //   7321           STORE CONST(JJ, KK, 4, ADDR(JJJ))
#line 7321 "regression-compile-tmp/imp918s.imp"
STORECONST(&JJ, &KK, 4, _imp_ADDR(&JJJ));
                                                                //   7322           REGP=REGISTER(REG); REGISTER(REG)=1
#line 7322 "regression-compile-tmp/imp918s.imp"
REGP = REGISTER[REG];
#line 7322 "regression-compile-tmp/imp918s.imp"
REGISTER[REG] = 1;
                                                                //   7323           DUMP(X'56', REG, KK, 0, JJ);   !  0  REG,=MAXL<<24
#line 7323 "regression-compile-tmp/imp918s.imp"
DUMP(86, REG, KK, 0, JJ);
                                                                //   7324           REGISTER(REG)=REGP
#line 7324 "regression-compile-tmp/imp918s.imp"
REGISTER[REG] = REGP;
                                                                //   7325           ->Label9
#line 7325 "regression-compile-tmp/imp918s.imp"
goto U_1042;
                                                                //   7326  STRARR:                                 ! STRINGARRAYS & 
#line 7326 "regression-compile-tmp/imp918s.imp"
U_103f:;
                                                                //   7327                                          !STRINGARRAYNAMES
                                                                //   7328           CANAME(ARR, I, K, SNDISP)
#line 7328 "regression-compile-tmp/imp918s.imp"
CANAME(ARR, I, K, SNDISP);
                                                                //   7329           BML=-1;  DML=SAVESL-1
#line 7329 "regression-compile-tmp/imp918s.imp"
BML = (-1);
#line 7329 "regression-compile-tmp/imp918s.imp"
DML = (((int)(SAVESL)) - (1));
                                                                //   7330  Label5111:    %IF NAM=1 %AND (Z=1 %OR Z=3) %THEN %START
#line 7330 "regression-compile-tmp/imp918s.imp"
U_1043:;
#line 7330 "regression-compile-tmp/imp918s.imp"
if (((NAM) != (1))) goto L_06eb;
#line 7330 "regression-compile-tmp/imp918s.imp"
if (((Z) == (1))) goto L_06ec;
#line 7330 "regression-compile-tmp/imp918s.imp"
if (((Z) != (3))) goto L_06eb;
#line 7330 "regression-compile-tmp/imp918s.imp"
L_06ec:;
                                                                //   7331              %IF Z=1 %THEN %START
#line 7331 "regression-compile-tmp/imp918s.imp"
if (((Z) != (1))) goto L_06ed;
                                                                //   7332                 REGISTER(BASE)=1 %IF REGISTER(BASE)=0
#line 7332 "regression-compile-tmp/imp918s.imp"
if (((REGISTER[BASE]) != (0))) goto L_06ee;
#line 7332 "regression-compile-tmp/imp918s.imp"
REGISTER[BASE] = 1;
#line 7332 "regression-compile-tmp/imp918s.imp"
L_06ee:;
                                                                //   7333                 REGISTER(INDEX)=1
#line 7333 "regression-compile-tmp/imp918s.imp"
REGISTER[INDEX] = 1;
                                                                //   7334              %FINISH %ELSE %START
#line 7334 "regression-compile-tmp/imp918s.imp"
goto L_06ef;
#line 7334 "regression-compile-tmp/imp918s.imp"
L_06ed:;
                                                                //   7335                 DUMP(0, REG, DISP, INDEX, BASE)
#line 7335 "regression-compile-tmp/imp918s.imp"
DUMP(0, REG, DISP, INDEX, BASE);
                                                                //   7336                 REG=NEST %IF REG<0
#line 7336 "regression-compile-tmp/imp918s.imp"
if (((REG) >= (0))) goto L_06f0;
#line 7336 "regression-compile-tmp/imp918s.imp"
REG = NEST;
#line 7336 "regression-compile-tmp/imp918s.imp"
L_06f0:;
                                                                //   7337                 FORGET(REG)
#line 7337 "regression-compile-tmp/imp918s.imp"
FORGET(REG);
                                                                //   7338                 REGISTER(REG)=1
#line 7338 "regression-compile-tmp/imp918s.imp"
REGISTER[REG] = 1;
                                                                //   7339              %FINISH
#line 7339 "regression-compile-tmp/imp918s.imp"
L_06ef:;
                                                                //   7340              LOAD DV(RR, LEVELP, DISPP, NAMEP)
#line 7340 "regression-compile-tmp/imp918s.imp"
LOADDV(&RR, LEVELP, DISPP, NAMEP);
                                                                //   7341              FINDREG(GR0, JJ);  FORGET(JJ)
#line 7341 "regression-compile-tmp/imp918s.imp"
FINDREG(69406, &JJ);
#line 7341 "regression-compile-tmp/imp918s.imp"
FORGET(JJ);
                                                                //   7342              DUMP(X'58', JJ, 0, 0, RR);  ! LOAD ITEM LENGTH
#line 7342 "regression-compile-tmp/imp918s.imp"
DUMP(88, JJ, 0, 0, RR);
                                                                //   7343              PRR(6, JJ, 0);              ! BCTR  TO TAKE 1 OFF
#line 7343 "regression-compile-tmp/imp918s.imp"
PRR(6, JJ, 0);
                                                                //   7344              %IF Z=1 %THEN %START
#line 7344 "regression-compile-tmp/imp918s.imp"
if (((Z) != (1))) goto L_06f1;
                                                                //   7345                 PRX(X'42', JJ, WSPR, 0, 0);   ! STC  LMAX,0(WSPR)
#line 7345 "regression-compile-tmp/imp918s.imp"
PRX(66, JJ, 11, 0, 0);
                                                                //   7346                 BML=WSPR;  DML=0
#line 7346 "regression-compile-tmp/imp918s.imp"
BML = 11;
#line 7346 "regression-compile-tmp/imp918s.imp"
DML = 0;
                                                                //   7347                 REGISTER(BASE)=0 %IF REGISTER(BASE)>0
#line 7347 "regression-compile-tmp/imp918s.imp"
if (((REGISTER[BASE]) <= (0))) goto L_06f2;
#line 7347 "regression-compile-tmp/imp918s.imp"
REGISTER[BASE] = 0;
#line 7347 "regression-compile-tmp/imp918s.imp"
L_06f2:;
                                                                //   7348                 REGISTER(INDEX)=0
#line 7348 "regression-compile-tmp/imp918s.imp"
REGISTER[INDEX] = 0;
                                                                //   7349              %FINISH %ELSE %START
#line 7349 "regression-compile-tmp/imp918s.imp"
goto L_06f3;
#line 7349 "regression-compile-tmp/imp918s.imp"
L_06f1:;
                                                                //   7350                 PRX(X'89', JJ, 0, 0, 24);! SLL 24
#line 7350 "regression-compile-tmp/imp918s.imp"
PRX(137, JJ, 0, 0, 24);
                                                                //   7351                 PRR(X'16', REG, JJ);     ! OR REG,JJ
#line 7351 "regression-compile-tmp/imp918s.imp"
PRR(22, REG, JJ);
                                                                //   7352                 REGISTER(REG)=0
#line 7352 "regression-compile-tmp/imp918s.imp"
REGISTER[REG] = 0;
                                                                //   7353              %FINISH
#line 7353 "regression-compile-tmp/imp918s.imp"
L_06f3:;
                                                                //   7354              ->Label9
#line 7354 "regression-compile-tmp/imp918s.imp"
goto U_1042;
                                                                //   7355           %FINISH
#line 7355 "regression-compile-tmp/imp918s.imp"
L_06eb:;
                                                                //   7356           NAM=0;  ->Label5002;                ! ORDINARY ARRAYS ACC KNOWN
#line 7356 "regression-compile-tmp/imp918s.imp"
NAM = 0;
#line 7356 "regression-compile-tmp/imp918s.imp"
goto U_1041;
                                                                //   7357  Label5020:                                   ! STRINGS IN RECORDS
#line 7357 "regression-compile-tmp/imp918s.imp"
U_103d:;
                                                                //   7358           NAMEP=-1;  SAVESL=ACC
#line 7358 "regression-compile-tmp/imp918s.imp"
NAMEP = (-1);
#line 7358 "regression-compile-tmp/imp918s.imp"
SAVESL = ACC;
                                                                //   7359           LEVELP=BML;  DISPP=DML;        ! SET BY CRNAME TO ARRAYHEAD
#line 7359 "regression-compile-tmp/imp918s.imp"
LEVELP = BML;
#line 7359 "regression-compile-tmp/imp918s.imp"
DISPP = DML;
                                                                //   7360           ->Label5111 %IF ARR=1;              ! NOW AS NORMAL STRINGARRAYS
#line 7360 "regression-compile-tmp/imp918s.imp"
if (((ARR) != (1))) goto L_06f4;
#line 7360 "regression-compile-tmp/imp918s.imp"
goto U_1043;
#line 7360 "regression-compile-tmp/imp918s.imp"
L_06f4:;
                                                                //   7361           %IF NAM=1 %AND INDEX>0 %THEN %START
#line 7361 "regression-compile-tmp/imp918s.imp"
if (((NAM) != (1))) goto L_06f5;
#line 7361 "regression-compile-tmp/imp918s.imp"
if (((INDEX) <= (0))) goto L_06f5;
                                                                //   7362              PRR(X'1A', INDEX, BASE);    ! VERY MESSY  STRINGNAME IN A
#line 7362 "regression-compile-tmp/imp918s.imp"
PRR(26, INDEX, BASE);
                                                                //   7363              FORGET(INDEX);  BASE=INDEX; ! RECORDARRAY MUST MAKE LMAX
#line 7363 "regression-compile-tmp/imp918s.imp"
FORGET(INDEX);
#line 7363 "regression-compile-tmp/imp918s.imp"
BASE = INDEX;
                                                                //   7364              CCSTATE=-1
#line 7364 "regression-compile-tmp/imp918s.imp"
CCSTATE = (-1);
                                                                //   7365              INDEX=0
#line 7365 "regression-compile-tmp/imp918s.imp"
INDEX = 0;
                                                                //   7366           %FINISH;                       ! BYTE DIRECTLY ADDRESSABLE
#line 7366 "regression-compile-tmp/imp918s.imp"
L_06f5:;
                                                                //   7367           ->Label5001;                        ! NOW AS NORMAL STRINGS
#line 7367 "regression-compile-tmp/imp918s.imp"
goto U_1040;
                                                                //   7368  SW(8):                                  ! REGISTER VARIABLE
#line 7368 "regression-compile-tmp/imp918s.imp"
sw18_SW_8:;
                                                                //   7369           FAULT(29, FNAME) %UNLESS Z=2 %OR Z=5 %OR KFORM#M'RG'
#line 7369 "regression-compile-tmp/imp918s.imp"
if (((Z) == (2))) goto L_06f6;
#line 7369 "regression-compile-tmp/imp918s.imp"
if (((Z) == (5))) goto L_06f6;
#line 7369 "regression-compile-tmp/imp918s.imp"
if (((KFORM) != (21063))) goto L_06f6;
#line 7369 "regression-compile-tmp/imp918s.imp"
FAULT(29, FNAME);
#line 7369 "regression-compile-tmp/imp918s.imp"
L_06f6:;
                                                                //   7370                                          !ONLY FETCH MAKES SENSE
                                                                //   7371           ABORT %IF REGISTER(K)>=0
#line 7371 "regression-compile-tmp/imp918s.imp"
if (((REGISTER[K]) < (0))) goto L_06f7;
#line 7371 "regression-compile-tmp/imp918s.imp"
ABORT();
#line 7371 "regression-compile-tmp/imp918s.imp"
L_06f7:;
                                                                //   7372           %IF Z=1 %OR 3<=Z<=4 %THEN K=SNDISP %AND ->Label600
#line 7372 "regression-compile-tmp/imp918s.imp"
if (((Z) == (1))) goto L_06f8;
#line 7372 "regression-compile-tmp/imp918s.imp"
if ((((3) > (Z))) || (((Z) > (4)))) goto L_06f9;
#line 7372 "regression-compile-tmp/imp918s.imp"
L_06f8:;
#line 7372 "regression-compile-tmp/imp918s.imp"
K = SNDISP;
#line 7372 "regression-compile-tmp/imp918s.imp"
goto U_1044;
#line 7372 "regression-compile-tmp/imp918s.imp"
L_06f9:;
                                                                //   7373           %IF REG<0 %THEN NEST=K %ELSE %START
#line 7373 "regression-compile-tmp/imp918s.imp"
if (((REG) >= (0))) goto L_06fa;
#line 7373 "regression-compile-tmp/imp918s.imp"
NEST = K;
#line 7373 "regression-compile-tmp/imp918s.imp"
goto L_06fb;
#line 7373 "regression-compile-tmp/imp918s.imp"
L_06fa:;
                                                                //   7374              PRR(X'18', REG, K) %UNLESS REG=K
#line 7374 "regression-compile-tmp/imp918s.imp"
if (((REG) == (K))) goto L_06fc;
#line 7374 "regression-compile-tmp/imp918s.imp"
PRR(24, REG, K);
#line 7374 "regression-compile-tmp/imp918s.imp"
L_06fc:;
                                                                //   7375           %FINISH
#line 7375 "regression-compile-tmp/imp918s.imp"
L_06fb:;
                                                                //   7376           ->Label9
#line 7376 "regression-compile-tmp/imp918s.imp"
goto U_1042;
                                                                //   7377  ! SECTION TO DEAL WITH ALL NAMES INVOLVING ROUTINE CALL
                                                                //   7378  RTCALL:                                 ! FIRST CHECK
#line 7378 "regression-compile-tmp/imp918s.imp"
U_106e:;
                                                                //   7379           %IF TYPE=0 %AND Z#0 %THEN FAULT(23, FNAME) %AND ->Label502
#line 7379 "regression-compile-tmp/imp918s.imp"
if (((TYPE) != (0))) goto L_06fd;
#line 7379 "regression-compile-tmp/imp918s.imp"
if (((Z) == (0))) goto L_06fd;
#line 7379 "regression-compile-tmp/imp918s.imp"
FAULT(23, FNAME);
#line 7379 "regression-compile-tmp/imp918s.imp"
goto U_102c;
#line 7379 "regression-compile-tmp/imp918s.imp"
L_06fd:;
                                                                //   7380                                          ! RT NAME IN EXPRSN
                                                                //   7381           %IF PTYPE=SNPT %THEN %START
#line 7381 "regression-compile-tmp/imp918s.imp"
if (((PTYPE) != (10006))) goto L_06fe;
                                                                //   7382              CSNAME(Z, REG);             ! SPECIAL NAME
#line 7382 "regression-compile-tmp/imp918s.imp"
CSNAME(Z, REG);
                                                                //   7383              ->Label202 %IF ROUT=1 %AND NAM>=1 %AND Z#0
#line 7383 "regression-compile-tmp/imp918s.imp"
if (((ROUT) != (1))) goto L_06ff;
#line 7383 "regression-compile-tmp/imp918s.imp"
if (((NAM) < (1))) goto L_06ff;
#line 7383 "regression-compile-tmp/imp918s.imp"
if (((Z) == (0))) goto L_06ff;
#line 7383 "regression-compile-tmp/imp918s.imp"
goto U_1045;
#line 7383 "regression-compile-tmp/imp918s.imp"
L_06ff:;
                                                                //   7384              ->Label6
#line 7384 "regression-compile-tmp/imp918s.imp"
goto U_1038;
                                                                //   7385           %FINISH
#line 7385 "regression-compile-tmp/imp918s.imp"
L_06fe:;
                                                                //   7386           %IF KFORM&4095=1000 %THEN FAULT(21, FNAME) %AND ->Label502
#line 7386 "regression-compile-tmp/imp918s.imp"
if (((((KFORM) & (4095))) != (1000))) goto L_0700;
#line 7386 "regression-compile-tmp/imp918s.imp"
FAULT(21, FNAME);
#line 7386 "regression-compile-tmp/imp918s.imp"
goto U_102c;
#line 7386 "regression-compile-tmp/imp918s.imp"
L_0700:;
                                                                //   7387                                          ! USE BEFORE %SPEC GIVEN
                                                                //   7388           CRCALL(TCELL);  P=P+1;        ! DEAL WITH PARAMS
#line 7388 "regression-compile-tmp/imp918s.imp"
CRCALL(TCELL);
#line 7388 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
                                                                //   7389           ->Label1 %IF PTYPE=10000 %OR PTYPE=11000
#line 7389 "regression-compile-tmp/imp918s.imp"
if (((PTYPE) == (10000))) goto L_0701;
#line 7389 "regression-compile-tmp/imp918s.imp"
if (((PTYPE) != (11000))) goto L_0702;
#line 7389 "regression-compile-tmp/imp918s.imp"
L_0701:;
#line 7389 "regression-compile-tmp/imp918s.imp"
goto U_1037;
#line 7389 "regression-compile-tmp/imp918s.imp"
L_0702:;
                                                                //   7390           ->Label201 %IF NAM>1;               ! MAPS
#line 7390 "regression-compile-tmp/imp918s.imp"
if (((NAM) <= (1))) goto L_0703;
#line 7390 "regression-compile-tmp/imp918s.imp"
goto U_1046;
#line 7390 "regression-compile-tmp/imp918s.imp"
L_0703:;
                                                                //   7391           %UNLESS Z=2 %OR Z=5 %THEN %START;   ! FUNCTIONS
#line 7391 "regression-compile-tmp/imp918s.imp"
if (((Z) == (2))) goto L_0704;
#line 7391 "regression-compile-tmp/imp918s.imp"
if (((Z) == (5))) goto L_0704;
                                                                //   7392              FAULT(29, FNAME);  BASE=0
#line 7392 "regression-compile-tmp/imp918s.imp"
FAULT(29, FNAME);
#line 7392 "regression-compile-tmp/imp918s.imp"
BASE = 0;
                                                                //   7393              INDEX=0;  DISP=0
#line 7393 "regression-compile-tmp/imp918s.imp"
INDEX = 0;
#line 7393 "regression-compile-tmp/imp918s.imp"
DISP = 0;
                                                                //   7394           %FINISH
#line 7394 "regression-compile-tmp/imp918s.imp"
L_0704:;
                                                                //   7395           ->STRFUN %IF TYPE=5;  P=P-2
#line 7395 "regression-compile-tmp/imp918s.imp"
if (((TYPE) != (5))) goto L_0705;
#line 7395 "regression-compile-tmp/imp918s.imp"
goto U_1047;
#line 7395 "regression-compile-tmp/imp918s.imp"
L_0705:;
#line 7395 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) - (2));
                                                                //   7396           %IF TYPE=2 %THEN REGP=2 %AND JJ=18 %ELSE REGP=1 %AND JJ=1
#line 7396 "regression-compile-tmp/imp918s.imp"
if (((TYPE) != (2))) goto L_0706;
#line 7396 "regression-compile-tmp/imp918s.imp"
REGP = 2;
#line 7396 "regression-compile-tmp/imp918s.imp"
JJ = 18;
#line 7396 "regression-compile-tmp/imp918s.imp"
goto L_0707;
#line 7396 "regression-compile-tmp/imp918s.imp"
L_0706:;
#line 7396 "regression-compile-tmp/imp918s.imp"
REGP = 1;
#line 7396 "regression-compile-tmp/imp918s.imp"
JJ = 1;
#line 7396 "regression-compile-tmp/imp918s.imp"
L_0707:;
                                                                //   7397           NAMEP=0;  ->SWOP
#line 7397 "regression-compile-tmp/imp918s.imp"
NAMEP = 0;
#line 7397 "regression-compile-tmp/imp918s.imp"
goto U_1048;
                                                                //   7398  STRFUN:  DISP=0;  INDEX=0;  BASE=1;  ->Label1
#line 7398 "regression-compile-tmp/imp918s.imp"
U_1047:;
#line 7398 "regression-compile-tmp/imp918s.imp"
DISP = 0;
#line 7398 "regression-compile-tmp/imp918s.imp"
INDEX = 0;
#line 7398 "regression-compile-tmp/imp918s.imp"
BASE = 1;
#line 7398 "regression-compile-tmp/imp918s.imp"
goto U_1037;
                                                                //   7399  Label201:                                    ! USER DEFINED MAPS
#line 7399 "regression-compile-tmp/imp918s.imp"
U_1046:;
                                                                //   7400           DISP=0;  INDEX=0;  BASE=1
#line 7400 "regression-compile-tmp/imp918s.imp"
DISP = 0;
#line 7400 "regression-compile-tmp/imp918s.imp"
INDEX = 0;
#line 7400 "regression-compile-tmp/imp918s.imp"
BASE = 1;
                                                                //   7401  Label202:                                    ! BUILT IN MAPS
#line 7401 "regression-compile-tmp/imp918s.imp"
U_1045:;
                                                                //   7402           %IF PREC = 2 %THEN WARN(LINE)
#line 7402 "regression-compile-tmp/imp918s.imp"
if (((PREC) != (2))) goto L_0708;
#line 7402 "regression-compile-tmp/imp918s.imp"
WARN(LINE);
#line 7402 "regression-compile-tmp/imp918s.imp"
L_0708:;
                                                                //   7403           NAM=0;  NAMEP=0;  P=P-2
#line 7403 "regression-compile-tmp/imp918s.imp"
NAM = 0;
#line 7403 "regression-compile-tmp/imp918s.imp"
NAMEP = 0;
#line 7403 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) - (2));
                                                                //   7404           %IF TYPE#5 %THEN ->Label601
#line 7404 "regression-compile-tmp/imp918s.imp"
if (((TYPE) == (5))) goto L_0709;
#line 7404 "regression-compile-tmp/imp918s.imp"
goto U_103e;
#line 7404 "regression-compile-tmp/imp918s.imp"
L_0709:;
                                                                //   7405           BML=-1;  DML=255;              ! STRING MAPS
#line 7405 "regression-compile-tmp/imp918s.imp"
BML = (-1);
#line 7405 "regression-compile-tmp/imp918s.imp"
DML = 255;
                                                                //   7406           ->Label5002
#line 7406 "regression-compile-tmp/imp918s.imp"
goto U_1041;
                                                                //   7407  SW(0):                                  ! %NAME PARAMETERS NO TYPE
#line 7407 "regression-compile-tmp/imp918s.imp"
sw18_SW_0:;
                                                                //   7408                                          ! ALLOW FETCH ADDR OPERATIONS
                                                                //   7409                                          ! AND SPECIAL FOR BUILTIN MAPS
                                                                //   7410           %UNLESS 3<=Z<=4 %OR (Z=1 %AND REG=99) %THEN %START
#line 7410 "regression-compile-tmp/imp918s.imp"
if ((((3) > (Z))) || (((Z) <= (4)))) goto L_070b;
#line 7410 "regression-compile-tmp/imp918s.imp"
L_070a:;
#line 7410 "regression-compile-tmp/imp918s.imp"
if (((Z) != (1))) goto L_070c;
#line 7410 "regression-compile-tmp/imp918s.imp"
if (((REG) == (99))) goto L_070b;
#line 7410 "regression-compile-tmp/imp918s.imp"
L_070c:;
                                                                //   7411              FAULT(12, FNAME);  TYPE=1
#line 7411 "regression-compile-tmp/imp918s.imp"
FAULT(12, FNAME);
#line 7411 "regression-compile-tmp/imp918s.imp"
TYPE = 1;
                                                                //   7412           %FINISH
#line 7412 "regression-compile-tmp/imp918s.imp"
L_070b:;
                                                                //   7413  SW(1):                                  ! TYPE =INTEGER
#line 7413 "regression-compile-tmp/imp918s.imp"
sw18_SW_1:;
                                                                //   7414  SW(2):                                  ! TYPE=REAL
#line 7414 "regression-compile-tmp/imp918s.imp"
sw18_SW_2:;
                                                                //   7415           ->Label600 %IF ARR=0
#line 7415 "regression-compile-tmp/imp918s.imp"
if (((ARR) != (0))) goto L_070d;
#line 7415 "regression-compile-tmp/imp918s.imp"
goto U_1044;
#line 7415 "regression-compile-tmp/imp918s.imp"
L_070d:;
                                                                //   7416           CANAME(ARR, I, K, SNDISP)
#line 7416 "regression-compile-tmp/imp918s.imp"
CANAME(ARR, I, K, SNDISP);
                                                                //   7417           NAM=0;  ->Label601
#line 7417 "regression-compile-tmp/imp918s.imp"
NAM = 0;
#line 7417 "regression-compile-tmp/imp918s.imp"
goto U_103e;
                                                                //   7418  !
                                                                //   7419                                          ! GENERAL FETCHING & STORING 
                                                                //   7420                                          !SECTION
                                                                //   7421  Label600:     BASE=I;  INDEX=0;  DISP=K
#line 7421 "regression-compile-tmp/imp918s.imp"
U_1044:;
#line 7421 "regression-compile-tmp/imp918s.imp"
BASE = I;
#line 7421 "regression-compile-tmp/imp918s.imp"
INDEX = 0;
#line 7421 "regression-compile-tmp/imp918s.imp"
DISP = K;
                                                                //   7422  Label601:     ->Label602 %IF Z=6
#line 7422 "regression-compile-tmp/imp918s.imp"
U_103e:;
#line 7422 "regression-compile-tmp/imp918s.imp"
if (((Z) != (6))) goto L_070e;
#line 7422 "regression-compile-tmp/imp918s.imp"
goto U_1039;
#line 7422 "regression-compile-tmp/imp918s.imp"
L_070e:;
                                                                //   7423           JJJ=Z;  JJJ=JJJ-3 %IF JJJ>3
#line 7423 "regression-compile-tmp/imp918s.imp"
JJJ = Z;
#line 7423 "regression-compile-tmp/imp918s.imp"
if (((JJJ) <= (3))) goto L_070f;
#line 7423 "regression-compile-tmp/imp918s.imp"
JJJ = (((int)(JJJ)) - (3));
#line 7423 "regression-compile-tmp/imp918s.imp"
L_070f:;
                                                                //   7424           JJJ=TYPE<<3+2*(PREC&3)+JJJ-8
#line 7424 "regression-compile-tmp/imp918s.imp"
JJJ = (((int)((((int)((((((TYPE) << (3)))) + (((2) * ((int)(((PREC) & (3))))))))) + (JJJ)))) - (8));
                                                                //   7425           KK=Z;  KK=2 %IF Z=5
#line 7425 "regression-compile-tmp/imp918s.imp"
KK = Z;
#line 7425 "regression-compile-tmp/imp918s.imp"
if (((Z) != (5))) goto L_0710;
#line 7425 "regression-compile-tmp/imp918s.imp"
KK = 2;
#line 7425 "regression-compile-tmp/imp918s.imp"
L_0710:;
                                                                //   7426  Label605:     NAMEP=0 %UNLESS INDEX=0 %AND DISP=DISPP %AND BASE=LEVELP
#line 7426 "regression-compile-tmp/imp918s.imp"
U_103c:;
#line 7426 "regression-compile-tmp/imp918s.imp"
if (((INDEX) != (0))) goto L_0711;
#line 7426 "regression-compile-tmp/imp918s.imp"
if (((DISP) != (DISPP))) goto L_0711;
#line 7426 "regression-compile-tmp/imp918s.imp"
if (((BASE) == (LEVELP))) goto L_0712;
#line 7426 "regression-compile-tmp/imp918s.imp"
L_0711:;
#line 7426 "regression-compile-tmp/imp918s.imp"
NAMEP = 0;
#line 7426 "regression-compile-tmp/imp918s.imp"
L_0712:;
                                                                //   7427           ->MOD(NAM<<2!KK&3)
#line 7427 "regression-compile-tmp/imp918s.imp"
sw19_MOD_idx = ((((NAM) << (2))) | (((KK) & (3)))); if ((0 <= sw19_MOD_idx) && (sw19_MOD_idx <= 7)) goto *sw19_MOD[sw19_MOD_idx]; else {
   /*_imp_signal(8, 2, sw19_MOD_idx);*/
   fprintf(stderr, "%%SWITCH index MOD(%d) not in range 0:7 at %s:%d\n",
           sw19_MOD_idx, (_imp_current_file != 0 ? _imp_current_file : __FILE__),
           (_imp_current_line != 0 ? _imp_current_line : __LINE__));
           exit(1);
}
                                                                //   7428  Label602:     FAULT(17, FNAME) %IF NAM=0
#line 7428 "regression-compile-tmp/imp918s.imp"
U_1039:;
#line 7428 "regression-compile-tmp/imp918s.imp"
if (((NAM) != (0))) goto L_0713;
#line 7428 "regression-compile-tmp/imp918s.imp"
FAULT(17, FNAME);
#line 7428 "regression-compile-tmp/imp918s.imp"
L_0713:;
                                                                //   7429           DUMP(1, REG, DISP, INDEX, BASE);  ->Label9
#line 7429 "regression-compile-tmp/imp918s.imp"
DUMP(1, REG, DISP, INDEX, BASE);
#line 7429 "regression-compile-tmp/imp918s.imp"
goto U_1042;
                                                                //   7430  MOD(1):                                 ! SCALAR STORE
#line 7430 "regression-compile-tmp/imp918s.imp"
sw19_MOD_1:;
                                                                //   7431           ->Label9
#line 7431 "regression-compile-tmp/imp918s.imp"
goto U_1042;
                                                                //   7432  MOD(2):                                 ! SCALAR FETCH
#line 7432 "regression-compile-tmp/imp918s.imp"
sw19_MOD_2:;
                                                                //   7433  MOD(6):                                 ! SCALARNAME FETCH
#line 7433 "regression-compile-tmp/imp918s.imp"
sw19_MOD_6:;
                                                                //   7434           ->Label610 %IF NAMEP=0 %OR CHECKSP#0
#line 7434 "regression-compile-tmp/imp918s.imp"
if (((NAMEP) == (0))) goto L_0714;
#line 7434 "regression-compile-tmp/imp918s.imp"
if (((CHECKSP) == (0))) goto L_0715;
#line 7434 "regression-compile-tmp/imp918s.imp"
L_0714:;
#line 7434 "regression-compile-tmp/imp918s.imp"
goto U_1049;
#line 7434 "regression-compile-tmp/imp918s.imp"
L_0715:;
                                                                //   7435  ! HAVE A SIMPLE NAME SO LOOK AT REGISTER POINTED AT BY REGP TO SEE
                                                                //   7436  ! IF THE LOAD (&UNASSIGNED CHECK) CAN BE AVOIDED
                                                                //   7437           FIND USE(JJ, TYPE&3, 3, NAMEP)
#line 7437 "regression-compile-tmp/imp918s.imp"
FINDUSE(&JJ, ((TYPE) & (3)), 3, NAMEP);
                                                                //   7438           ->Label610 %IF JJ<0;  REGP=JJ&15
#line 7438 "regression-compile-tmp/imp918s.imp"
if (((JJ) >= (0))) goto L_0716;
#line 7438 "regression-compile-tmp/imp918s.imp"
goto U_1049;
#line 7438 "regression-compile-tmp/imp918s.imp"
L_0716:;
#line 7438 "regression-compile-tmp/imp918s.imp"
REGP = ((JJ) & (15));
                                                                //   7439  ! HAVE FOUND VARIABLE IN REGISTER. MANOEVRE IT TO REQUIRED REGISTER
                                                                //   7440  SWOP:
#line 7440 "regression-compile-tmp/imp918s.imp"
U_1048:;
                                                                //   7441           %IF REG<0 %THEN %START
#line 7441 "regression-compile-tmp/imp918s.imp"
if (((REG) >= (0))) goto L_0717;
                                                                //   7442              %IF REGISTER(JJ)=0 %THEN %START
#line 7442 "regression-compile-tmp/imp918s.imp"
if (((REGISTER[JJ]) != (0))) goto L_0718;
                                                                //   7443                 NEST=REGP;  ->Label9
#line 7443 "regression-compile-tmp/imp918s.imp"
NEST = REGP;
#line 7443 "regression-compile-tmp/imp918s.imp"
goto U_1042;
                                                                //   7444              %FINISH;                    ! CAN USE IT AS FOUND
#line 7444 "regression-compile-tmp/imp918s.imp"
L_0718:;
                                                                //   7445              %IF JJ>=16 %THEN FIND REG(FR0, REG) %C
#line 7445 "regression-compile-tmp/imp918s.imp"
if (((JJ) < (16))) goto L_0719;
#line 7445 "regression-compile-tmp/imp918s.imp"
FINDREG((-125424), &REG);
#line 7445 "regression-compile-tmp/imp918s.imp"
goto L_071a;
#line 7445 "regression-compile-tmp/imp918s.imp"
L_0719:;
#line 7445 "regression-compile-tmp/imp918s.imp"
FINDREG(69406, &REG);
#line 7445 "regression-compile-tmp/imp918s.imp"
L_071a:;
                                                                //   7446                 %ELSE FINDREG(GR0, REG)
                                                                //   7447           %FINISH
#line 7447 "regression-compile-tmp/imp918s.imp"
L_0717:;
                                                                //   7448  ! MOVE TO NEW REGISTER ALLOWING FOR STRINGS AND ALL TYPES OF ADDRESSES
                                                                //   7449           %IF REG#REGP %THEN %START
#line 7449 "regression-compile-tmp/imp918s.imp"
if (((REG) == (REGP))) goto L_071b;
                                                                //   7450              PRR((JJ>>4+1)<<4+8, REG, REGP);  ! LR OR LDR
#line 7450 "regression-compile-tmp/imp918s.imp"
PRR((((int)((((((int)((int)((((unsigned int)(JJ)) >> (4))))) + (1))) << (4)))) + (8)), REG, REGP);
                                                                //   7451              KK=GRUSE(JJ)
#line 7451 "regression-compile-tmp/imp918s.imp"
KK = GRUSE[JJ];
                                                                //   7452              JJ=JJ&16!REG
#line 7452 "regression-compile-tmp/imp918s.imp"
JJ = ((((JJ) & (16))) | (REG));
                                                                //   7453              FORGET(JJ);                 ! REMEMBER ORIGINAL REGISTER
#line 7453 "regression-compile-tmp/imp918s.imp"
FORGET(JJ);
                                                                //   7454              %IF NAMEP>0 %AND REGISTER(JJ)>=0 %C
#line 7454 "regression-compile-tmp/imp918s.imp"
if (((NAMEP) <= (0))) goto L_071c;
#line 7454 "regression-compile-tmp/imp918s.imp"
if (((REGISTER[JJ]) < (0))) goto L_071c;
#line 7454 "regression-compile-tmp/imp918s.imp"
SETUSE(JJ, KK, NAMEP);
#line 7454 "regression-compile-tmp/imp918s.imp"
L_071c:;
                                                                //   7455                 %THEN SET USE(JJ, KK, NAMEP)
                                                                //   7456           %FINISH
#line 7456 "regression-compile-tmp/imp918s.imp"
L_071b:;
                                                                //   7457           NEST=REG;  ->Label9
#line 7457 "regression-compile-tmp/imp918s.imp"
NEST = REG;
#line 7457 "regression-compile-tmp/imp918s.imp"
goto U_1042;
                                                                //   7458  Label610:     ->NAMETYPE %IF NAM=1
#line 7458 "regression-compile-tmp/imp918s.imp"
U_1049:;
#line 7458 "regression-compile-tmp/imp918s.imp"
if (((NAM) != (1))) goto L_071d;
#line 7458 "regression-compile-tmp/imp918s.imp"
goto U_104a;
#line 7458 "regression-compile-tmp/imp918s.imp"
L_071d:;
                                                                //   7459  GENFETCH:->DELAY %IF Z=5 %AND (UNASS=0 %OR 1<=PREC<=2)
#line 7459 "regression-compile-tmp/imp918s.imp"
U_104b:;
#line 7459 "regression-compile-tmp/imp918s.imp"
if (((Z) != (5))) goto L_071e;
#line 7459 "regression-compile-tmp/imp918s.imp"
if (((UNASS) == (0))) goto L_071f;
#line 7459 "regression-compile-tmp/imp918s.imp"
if ((((1) > (PREC))) || (((PREC) > (2)))) goto L_071e;
#line 7459 "regression-compile-tmp/imp918s.imp"
L_071f:;
#line 7459 "regression-compile-tmp/imp918s.imp"
goto U_104c;
#line 7459 "regression-compile-tmp/imp918s.imp"
L_071e:;
                                                                //   7460           ->DELAY %IF TYPE=5
#line 7460 "regression-compile-tmp/imp918s.imp"
if (((TYPE) != (5))) goto L_0720;
#line 7460 "regression-compile-tmp/imp918s.imp"
goto U_104c;
#line 7460 "regression-compile-tmp/imp918s.imp"
L_0720:;
                                                                //   7461           DUMP(JJJ, REG, DISP, INDEX, BASE)
#line 7461 "regression-compile-tmp/imp918s.imp"
DUMP(JJJ, REG, DISP, INDEX, BASE);
                                                                //   7462           REG=NEST %IF REG<0
#line 7462 "regression-compile-tmp/imp918s.imp"
if (((REG) >= (0))) goto L_0721;
#line 7462 "regression-compile-tmp/imp918s.imp"
REG = NEST;
#line 7462 "regression-compile-tmp/imp918s.imp"
L_0721:;
                                                                //   7463           %IF UNASS=1 %AND Z#3 %AND BASE#GLA %AND 1<=TYPE<=2 %C
#line 7463 "regression-compile-tmp/imp918s.imp"
if (((UNASS) != (1))) goto L_0722;
#line 7463 "regression-compile-tmp/imp918s.imp"
if (((Z) == (3))) goto L_0722;
#line 7463 "regression-compile-tmp/imp918s.imp"
if (((BASE) == (13))) goto L_0722;
#line 7463 "regression-compile-tmp/imp918s.imp"
if ((((1) > (TYPE))) || (((TYPE) > (2)))) goto L_0722;
#line 7463 "regression-compile-tmp/imp918s.imp"
if (((PREC) == (0))) goto L_0723;
#line 7463 "regression-compile-tmp/imp918s.imp"
if (((PREC) != (3))) goto L_0722;
#line 7463 "regression-compile-tmp/imp918s.imp"
L_0723:;
                                                                //   7464              %AND (PREC=0 %OR PREC=3) %THEN %START
                                                                //   7465              PRX((TYPE-1)*(2-PREC>>1)*16+X'59', REG, 0, CODER, 216)
#line 7465 "regression-compile-tmp/imp918s.imp"
PRX((((int)((((int)(((((((int)(TYPE)) - (1)))) * (((2) - ((int)((unsigned char)((((unsigned char)(PREC)) >> (1)))))))))) * (16)))) + (89)), REG, 0, 12, 216);
                                                                //   7466              CCSTATE=-1
#line 7466 "regression-compile-tmp/imp918s.imp"
CCSTATE = (-1);
                                                                //   7467              PCONST(X'4780C028')
#line 7467 "regression-compile-tmp/imp918s.imp"
PCONST(1199620136);
                                                                //   7468           %FINISH;                       ! BE UNASS VAR USED
#line 7468 "regression-compile-tmp/imp918s.imp"
L_0722:;
                                                                //   7469           %IF NAMEP=0 %THEN JJJ=1 %ELSE JJJ=3
#line 7469 "regression-compile-tmp/imp918s.imp"
if (((NAMEP) != (0))) goto L_0724;
#line 7469 "regression-compile-tmp/imp918s.imp"
JJJ = 1;
#line 7469 "regression-compile-tmp/imp918s.imp"
goto L_0725;
#line 7469 "regression-compile-tmp/imp918s.imp"
L_0724:;
#line 7469 "regression-compile-tmp/imp918s.imp"
JJJ = 3;
#line 7469 "regression-compile-tmp/imp918s.imp"
L_0725:;
                                                                //   7470           %IF JJJ=1 %AND PREC=1 %THEN JJJ=2 %AND NAMEP=-2
#line 7470 "regression-compile-tmp/imp918s.imp"
if (((JJJ) != (1))) goto L_0726;
#line 7470 "regression-compile-tmp/imp918s.imp"
if (((PREC) != (1))) goto L_0726;
#line 7470 "regression-compile-tmp/imp918s.imp"
JJJ = 2;
#line 7470 "regression-compile-tmp/imp918s.imp"
NAMEP = (-2);
#line 7470 "regression-compile-tmp/imp918s.imp"
L_0726:;
                                                                //   7471  !         SET USE((TYPE&2)<<3+REG, JJJ, NAMEP)
                                                                //   7472           KK=(TYPE&2)<<3+REG
#line 7472 "regression-compile-tmp/imp918s.imp"
KK = (((int)(((((TYPE) & (2))) << (3)))) + (REG));
                                                                //   7473           CCSTATE=-1 %IF CCSTATE&255=KK
#line 7473 "regression-compile-tmp/imp918s.imp"
if (((((CCSTATE) & (255))) != (KK))) goto L_0727;
#line 7473 "regression-compile-tmp/imp918s.imp"
CCSTATE = (-1);
#line 7473 "regression-compile-tmp/imp918s.imp"
L_0727:;
                                                                //   7474           %IF REGISTER(KK)>=0 %THEN GRUSE(KK)=JJJ %AND GRINF(KK)=NAMEP
#line 7474 "regression-compile-tmp/imp918s.imp"
if (((REGISTER[KK]) < (0))) goto L_0728;
#line 7474 "regression-compile-tmp/imp918s.imp"
GRUSE[KK] = JJJ;
#line 7474 "regression-compile-tmp/imp918s.imp"
GRINF[KK] = NAMEP;
#line 7474 "regression-compile-tmp/imp918s.imp"
L_0728:;
                                                                //   7475           GRAT(KK)=CA
#line 7475 "regression-compile-tmp/imp918s.imp"
GRAT[KK] = CA;
                                                                //   7476           ->Label9
#line 7476 "regression-compile-tmp/imp918s.imp"
goto U_1042;
                                                                //   7477  DELAY:   NEST=-1;  ->Label9
#line 7477 "regression-compile-tmp/imp918s.imp"
U_104c:;
#line 7477 "regression-compile-tmp/imp918s.imp"
NEST = (-1);
#line 7477 "regression-compile-tmp/imp918s.imp"
goto U_1042;
                                                                //   7478  MOD(4):                                 ! SCALAR NAME FETCH ADDR
#line 7478 "regression-compile-tmp/imp918s.imp"
sw19_MOD_4:;
                                                                //   7479  MOD(7):                                 ! SACALR NAME FETCH POINTER
#line 7479 "regression-compile-tmp/imp918s.imp"
sw19_MOD_7:;
                                                                //   7480           JJJ=2;  ->Label621
#line 7480 "regression-compile-tmp/imp918s.imp"
JJJ = 2;
#line 7480 "regression-compile-tmp/imp918s.imp"
goto U_104d;
                                                                //   7481  MOD(0):                                 ! SCALAR FETCH POINTER
#line 7481 "regression-compile-tmp/imp918s.imp"
sw19_MOD_0:;
                                                                //   7482  MOD(3):                                 ! SCALAR FETCH ADDR
#line 7482 "regression-compile-tmp/imp918s.imp"
sw19_MOD_3:;
                                                                //   7483           JJJ=0
#line 7483 "regression-compile-tmp/imp918s.imp"
JJJ = 0;
                                                                //   7484  Label621:     ->GENADDR %IF NAMEP=0
#line 7484 "regression-compile-tmp/imp918s.imp"
U_104d:;
#line 7484 "regression-compile-tmp/imp918s.imp"
if (((NAMEP) != (0))) goto L_0729;
#line 7484 "regression-compile-tmp/imp918s.imp"
goto U_104e;
#line 7484 "regression-compile-tmp/imp918s.imp"
L_0729:;
                                                                //   7485  ! MUST BEWARE OF STMNTS LIKE BYTEINTEGER(ADDR(I)+2)=...
                                                                //   7486  ! WHICH CAN CHANGE LOCAL VARIABLES (I) IN CORE. BIMSTR IS SET FOR ANY
                                                                //   7487  ! STATEMENT CONTAINING A STORE INTO A BUILTIN MAP. WHEN THIS FLAG IS
                                                                //   7488  ! SET ANY 'FETCH ADDRESS' OPERATION MUST BE TREATED AS A STORE
                                                                //   7489           %IF BIMSTR#0 %THEN NOTE ASSMENT(-1, 2, FNAME)
#line 7489 "regression-compile-tmp/imp918s.imp"
if (((BIMSTR) == (0))) goto L_072a;
#line 7489 "regression-compile-tmp/imp918s.imp"
NOTEASSMENT((-1), 2, FNAME);
#line 7489 "regression-compile-tmp/imp918s.imp"
L_072a:;
                                                                //   7490           FIND USE(REGP, 1, 7, NAMEP)
#line 7490 "regression-compile-tmp/imp918s.imp"
FINDUSE(&REGP, 1, 7, NAMEP);
                                                                //   7491           ->GENADDR %UNLESS REGP>=0
#line 7491 "regression-compile-tmp/imp918s.imp"
if (((REGP) >= (0))) goto L_072b;
#line 7491 "regression-compile-tmp/imp918s.imp"
goto U_104e;
#line 7491 "regression-compile-tmp/imp918s.imp"
L_072b:;
                                                                //   7492           JJ=REGP;  ->SWOP
#line 7492 "regression-compile-tmp/imp918s.imp"
JJ = REGP;
#line 7492 "regression-compile-tmp/imp918s.imp"
goto U_1048;
                                                                //   7493  GENADDR: DUMP(JJJ, REG, DISP, INDEX, BASE)
#line 7493 "regression-compile-tmp/imp918s.imp"
U_104e:;
#line 7493 "regression-compile-tmp/imp918s.imp"
DUMP(JJJ, REG, DISP, INDEX, BASE);
                                                                //   7494           REG=NEST %IF REG<0
#line 7494 "regression-compile-tmp/imp918s.imp"
if (((REG) >= (0))) goto L_072c;
#line 7494 "regression-compile-tmp/imp918s.imp"
REG = NEST;
#line 7494 "regression-compile-tmp/imp918s.imp"
L_072c:;
                                                                //   7495           %IF Z=4 %AND JJJ=2 %AND TYPE&3=0 %THEN %START
#line 7495 "regression-compile-tmp/imp918s.imp"
if (((Z) != (4))) goto L_072d;
#line 7495 "regression-compile-tmp/imp918s.imp"
if (((JJJ) != (2))) goto L_072d;
#line 7495 "regression-compile-tmp/imp918s.imp"
if (((((TYPE) & (3))) != (0))) goto L_072d;
                                                                //   7496              PRX(X'54', REG, GLA, 0, 60);! N REG,=X'00FFFFFF'
#line 7496 "regression-compile-tmp/imp918s.imp"
PRX(84, REG, 13, 0, 60);
                                                                //   7497              NAMEP=0
#line 7497 "regression-compile-tmp/imp918s.imp"
NAMEP = 0;
                                                                //   7498           %FINISH
#line 7498 "regression-compile-tmp/imp918s.imp"
L_072d:;
                                                                //   7499           %IF NAMEP=0 %THEN JJJ=0 %ELSE JJJ=7
#line 7499 "regression-compile-tmp/imp918s.imp"
if (((NAMEP) != (0))) goto L_072e;
#line 7499 "regression-compile-tmp/imp918s.imp"
JJJ = 0;
#line 7499 "regression-compile-tmp/imp918s.imp"
goto L_072f;
#line 7499 "regression-compile-tmp/imp918s.imp"
L_072e:;
#line 7499 "regression-compile-tmp/imp918s.imp"
JJJ = 7;
#line 7499 "regression-compile-tmp/imp918s.imp"
L_072f:;
                                                                //   7500           SET USE(REG, JJJ, NAMEP);  ->Label9
#line 7500 "regression-compile-tmp/imp918s.imp"
SETUSE(REG, JJJ, NAMEP);
#line 7500 "regression-compile-tmp/imp918s.imp"
goto U_1042;
                                                                //   7501  MOD(5):                                 ! SCALAR NAME STORE
#line 7501 "regression-compile-tmp/imp918s.imp"
sw19_MOD_5:;
                                                                //   7502  NAMETYPE:->Label630 %UNLESS NAMEP#0
#line 7502 "regression-compile-tmp/imp918s.imp"
U_104a:;
#line 7502 "regression-compile-tmp/imp918s.imp"
if (((NAMEP) != (0))) goto L_0730;
#line 7502 "regression-compile-tmp/imp918s.imp"
goto U_104f;
#line 7502 "regression-compile-tmp/imp918s.imp"
L_0730:;
                                                                //   7503           FIND USE(REGP, 1, 7, NAMEP)
#line 7503 "regression-compile-tmp/imp918s.imp"
FINDUSE(&REGP, 1, 7, NAMEP);
                                                                //   7504           ->Label631 %IF REGP>0
#line 7504 "regression-compile-tmp/imp918s.imp"
if (((REGP) <= (0))) goto L_0731;
#line 7504 "regression-compile-tmp/imp918s.imp"
goto U_1050;
#line 7504 "regression-compile-tmp/imp918s.imp"
L_0731:;
                                                                //   7505  Label630:     FIND REG(ADDREG, REGP)
#line 7505 "regression-compile-tmp/imp918s.imp"
U_104f:;
#line 7505 "regression-compile-tmp/imp918s.imp"
FINDREG((-61951), &REGP);
                                                                //   7506           DUMP(X'58', REGP, DISP, INDEX, BASE);    ! ADDR TO REGP
#line 7506 "regression-compile-tmp/imp918s.imp"
DUMP(88, REGP, DISP, INDEX, BASE);
                                                                //   7507           %IF NAMEP=0 %THEN RR=0 %ELSE RR=7
#line 7507 "regression-compile-tmp/imp918s.imp"
if (((NAMEP) != (0))) goto L_0732;
#line 7507 "regression-compile-tmp/imp918s.imp"
RR = 0;
#line 7507 "regression-compile-tmp/imp918s.imp"
goto L_0733;
#line 7507 "regression-compile-tmp/imp918s.imp"
L_0732:;
#line 7507 "regression-compile-tmp/imp918s.imp"
RR = 7;
#line 7507 "regression-compile-tmp/imp918s.imp"
L_0733:;
                                                                //   7508           SET USE(REGP, RR, NAMEP)
#line 7508 "regression-compile-tmp/imp918s.imp"
SETUSE(REGP, RR, NAMEP);
                                                                //   7509  Label631:     INDEX=0;  BASE=REGP;  DISP=0
#line 7509 "regression-compile-tmp/imp918s.imp"
U_1050:;
#line 7509 "regression-compile-tmp/imp918s.imp"
INDEX = 0;
#line 7509 "regression-compile-tmp/imp918s.imp"
BASE = REGP;
#line 7509 "regression-compile-tmp/imp918s.imp"
DISP = 0;
                                                                //   7510           ->GENFETCH %UNLESS Z=1 %OR Z>10
#line 7510 "regression-compile-tmp/imp918s.imp"
if (((Z) == (1))) goto L_0734;
#line 7510 "regression-compile-tmp/imp918s.imp"
if (((Z) > (10))) goto L_0734;
#line 7510 "regression-compile-tmp/imp918s.imp"
goto U_104b;
#line 7510 "regression-compile-tmp/imp918s.imp"
L_0734:;
                                                                //   7511  Label9:       ->Label1 %UNLESS ARR=0
#line 7511 "regression-compile-tmp/imp918s.imp"
U_1042:;
#line 7511 "regression-compile-tmp/imp918s.imp"
if (((ARR) == (0))) goto L_0735;
#line 7511 "regression-compile-tmp/imp918s.imp"
goto U_1037;
#line 7511 "regression-compile-tmp/imp918s.imp"
L_0735:;
                                                                //   7512  Label91:      P=P+1
#line 7512 "regression-compile-tmp/imp918s.imp"
U_1025:;
#line 7512 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
                                                                //   7513           ->Label6 %IF A(P)=2
#line 7513 "regression-compile-tmp/imp918s.imp"
if (((A[((P) + ((int)(7)))]) != (2))) goto L_0736;
#line 7513 "regression-compile-tmp/imp918s.imp"
goto U_1038;
#line 7513 "regression-compile-tmp/imp918s.imp"
L_0736:;
                                                                //   7514           FAULT(19, FNAME)
#line 7514 "regression-compile-tmp/imp918s.imp"
FAULT(19, FNAME);
                                                                //   7515           SKIP APP;  ->Label1
#line 7515 "regression-compile-tmp/imp918s.imp"
SKIPAPP();
#line 7515 "regression-compile-tmp/imp918s.imp"
goto U_1037;
                                                                //   7516  Label6:       P=P+1
#line 7516 "regression-compile-tmp/imp918s.imp"
U_1038:;
#line 7516 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
                                                                //   7517  Label1:       P=P+1;  ->Label9005 %IF A(P-1)=2
#line 7517 "regression-compile-tmp/imp918s.imp"
U_1037:;
#line 7517 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
#line 7517 "regression-compile-tmp/imp918s.imp"
if (((A[(((unsigned char)((((int)(P)) - (1)))) + (7))]) != (2))) goto L_0737;
#line 7517 "regression-compile-tmp/imp918s.imp"
goto U_103b;
#line 7517 "regression-compile-tmp/imp918s.imp"
L_0737:;
                                                                //   7518           FAULT(69, FNAME);  ->Label91
#line 7518 "regression-compile-tmp/imp918s.imp"
FAULT(69, FNAME);
#line 7518 "regression-compile-tmp/imp918s.imp"
goto U_1025;
                                                                //   7519  Label9005: %END
#line 7519 "regression-compile-tmp/imp918s.imp"
U_103b:;
#line 7519 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
sw16_S_13:;
/*_imp_signal(6,3,sw16_S_idx,"SWITCH LABEL NOT SET - sw16_S");*/
fprintf(stderr, "%%SWITCH LABEL NOT SET - sw16_S(%d): at line %s:%d", sw16_S_idx, (_imp_current_file != 0 ? _imp_current_file : __FILE__), (_imp_current_line != 0 ? _imp_current_line : __LINE__));
exit(1);
} // End of block CNAME at level 3
                                                                //   7520           %ROUTINE CRCALL(%INTEGER TCELLP)
#line 7520 "regression-compile-tmp/imp918s.imp"
void CRCALL( int TCELLP )
#line 7520 "regression-compile-tmp/imp918s.imp"
{
                                                                //   7521           {%SHORTROUTINE}
                                                                //   7522  !***********************************************************************
                                                                //   7523  !*       COMPILE A ROUTINE OR FN CALL                                  *
                                                                //   7524  !*       THE PROCEDURE CONSIST OF THREE PARTS:-                        *
                                                                //   7525  !*       A) PLANT THE PARAMETER (IF ANY)                               *
                                                                //   7526  !*       B) ENTER THE ROUTINE OR FN                                    *
                                                                //   7527  !*       C) FORGET ANY REGISTERS WHICH HOLD ENTITIES THAT CAN BE       *
                                                                //   7528  !*          ALTERED BY THE CALLED PROCEDURE.                           *
                                                                //   7529  !*       ALSO CONTAINS A SPECIAL FOR CALLS OF IOCP & MONITOR           *
                                                                //   7530  !*       ROUTINE TAGS ARE AS FOLLOWS:-                                 *
                                                                //   7531  !*       SNDISP = WORD(!) DISPLACEMENT OF EP(REF)FROM HEAD OF CODE(GLA)*
                                                                //   7532  !*        (OR)  = LISTHEAD OF OUTSTANDING FORWARD REFS                 *
                                                                //   7533  !*       KFORM  = PSIMPLE<<12 ! NO OF PARAMS                           *
                                                                //   7534  !*       K      = LIST OF FORMAL PARAMETER DESCRIPTIONS                *
                                                                //   7535  !***********************************************************************
                                                                //   7536           %INTEGER KK,II,III,QQQ,SCA,JJ,JJJ,NPARMS,PT,LP,KKK,PSIZE, %C
#line 7536 "regression-compile-tmp/imp918s.imp"
int KK;
#line 7536 "regression-compile-tmp/imp918s.imp"
int II;
#line 7536 "regression-compile-tmp/imp918s.imp"
int III;
#line 7536 "regression-compile-tmp/imp918s.imp"
int QQQ;
#line 7536 "regression-compile-tmp/imp918s.imp"
int SCA;
#line 7536 "regression-compile-tmp/imp918s.imp"
int JJ;
#line 7536 "regression-compile-tmp/imp918s.imp"
int JJJ;
#line 7536 "regression-compile-tmp/imp918s.imp"
int NPARMS;
#line 7536 "regression-compile-tmp/imp918s.imp"
int PT;
#line 7536 "regression-compile-tmp/imp918s.imp"
int LP;
#line 7536 "regression-compile-tmp/imp918s.imp"
int KKK;
#line 7536 "regression-compile-tmp/imp918s.imp"
int PSIZE;
#line 7536 "regression-compile-tmp/imp918s.imp"
int SAVEFPTR;
#line 7536 "regression-compile-tmp/imp918s.imp"
int PSIMPLE;
#line 7536 "regression-compile-tmp/imp918s.imp"
int RTNAME;
#line 7536 "regression-compile-tmp/imp918s.imp"
int R1;
#line 7536 "regression-compile-tmp/imp918s.imp"
int R2;
#line 7536 "regression-compile-tmp/imp918s.imp"
int TL;
#line 7536 "regression-compile-tmp/imp918s.imp"
int MOVEPTR;
#line 7536 "regression-compile-tmp/imp918s.imp"
int RDISP;
#line 7536 "regression-compile-tmp/imp918s.imp"
int CLINK;
                                                                //   7537                    SAVEFPTR,PSIMPLE,RTNAME,R1,R2,TL,MOVEPTR,RDISP,CLINK
                                                                //   7538           %OWNSHORTINTEGER FPTR
#line 7538 "regression-compile-tmp/imp918s.imp"
static short FPTR;
                                                                //   7539           SAVE IRS(RBASE+4)
#line 7539 "regression-compile-tmp/imp918s.imp"
SAVEIRS((((int)(RBASE)) + (4)));
                                                                //   7540  !
                                                                //   7541  ! IF ANY ROUTINE HAS FUNCTIONS IN ITS PARAMETER LIST THIS ROUTINE
                                                                //   7542  ! WILL BE CALLED RECURSIVELY. FPTR KEEPS TRACK OF PARAMETERS AHEAD OF
                                                                //   7543  ! THE STACK TOP WHICH MUST BE PROTECTED
                                                                //   7544  !
                                                                //   7545           SAVEFPTR=FPTR; R1=4; R2=14
#line 7545 "regression-compile-tmp/imp918s.imp"
SAVEFPTR = FPTR;
#line 7545 "regression-compile-tmp/imp918s.imp"
R1 = 4;
#line 7545 "regression-compile-tmp/imp918s.imp"
R2 = 14;
                                                                //   7546           LP=I;JJJ=J; CLINK=K; KKK=CLINK; TL=OLDI
#line 7546 "regression-compile-tmp/imp918s.imp"
LP = I;
#line 7546 "regression-compile-tmp/imp918s.imp"
JJJ = J;
#line 7546 "regression-compile-tmp/imp918s.imp"
CLINK = K;
#line 7546 "regression-compile-tmp/imp918s.imp"
KKK = CLINK;
#line 7546 "regression-compile-tmp/imp918s.imp"
TL = OLDI;
                                                                //   7547           RDISP=4*(SNDISP&X'FFFF'); PSIMPLE=KFORM>>12
#line 7547 "regression-compile-tmp/imp918s.imp"
RDISP = ((4) * ((int)(((SNDISP) & (65535)))));
#line 7547 "regression-compile-tmp/imp918s.imp"
PSIMPLE = (short)((((unsigned short)(KFORM)) >> (12)));
                                                                //   7548           MOVEPTR=(FPTR+7)&(-8)
#line 7548 "regression-compile-tmp/imp918s.imp"
MOVEPTR = (((((int)(FPTR)) + (7))) & ((-8)));
                                                                //   7549           %IF FPTR>64 %THEN MOVER(WSPR,MOVEPTR)
#line 7549 "regression-compile-tmp/imp918s.imp"
if (((FPTR) <= (64))) goto L_0738;
#line 7549 "regression-compile-tmp/imp918s.imp"
MOVER(11, MOVEPTR);
#line 7549 "regression-compile-tmp/imp918s.imp"
L_0738:;
                                                                //   7550                                         ! ADVANCE WSP IF ALREADY IN THE
                                                                //   7551           FPTR=0;RTNAME=A(P);PT=PTYPE;  ! MIDDLE OF A RT CALL
#line 7551 "regression-compile-tmp/imp918s.imp"
FPTR = 0;
#line 7551 "regression-compile-tmp/imp918s.imp"
RTNAME = A[((P) + ((int)(7)))];
#line 7551 "regression-compile-tmp/imp918s.imp"
PT = PTYPE;
                                                                //   7552           %IF TCELLP<0 %THEN %START;   ! CALL OF IOCP
#line 7552 "regression-compile-tmp/imp918s.imp"
if (((TCELLP) >= (0))) goto L_0739;
                                                                //   7553              PT=10000;JJJ=14; PSIMPLE=0
#line 7553 "regression-compile-tmp/imp918s.imp"
PT = 10000;
#line 7553 "regression-compile-tmp/imp918s.imp"
JJJ = 14;
#line 7553 "regression-compile-tmp/imp918s.imp"
PSIMPLE = 0;
                                                                //   7554              %IF TCELLP=-1 %THEN %START
#line 7554 "regression-compile-tmp/imp918s.imp"
if (((TCELLP) != ((-1)))) goto L_073a;
                                                                //   7555                 RDISP=IOCP1; NPARMS=2; R2=1
#line 7555 "regression-compile-tmp/imp918s.imp"
RDISP = IOCP1;
#line 7555 "regression-compile-tmp/imp918s.imp"
NPARMS = 2;
#line 7555 "regression-compile-tmp/imp918s.imp"
R2 = 1;
                                                                //   7556              %FINISH %ELSE %START
#line 7556 "regression-compile-tmp/imp918s.imp"
goto L_073b;
#line 7556 "regression-compile-tmp/imp918s.imp"
L_073a:;
                                                                //   7557                  RDISP=IMPMON1; NPARMS=0
#line 7557 "regression-compile-tmp/imp918s.imp"
RDISP = IMPMON1;
#line 7557 "regression-compile-tmp/imp918s.imp"
NPARMS = 0;
                                                                //   7558              %FINISH
#line 7558 "regression-compile-tmp/imp918s.imp"
L_073b:;
                                                                //   7559              -> ENTRY SEQ
#line 7559 "regression-compile-tmp/imp918s.imp"
goto U_106e;
                                                                //   7560           %FINISH
#line 7560 "regression-compile-tmp/imp918s.imp"
L_0739:;
                                                                //   7561  !
                                                                //   7562  ! NOW CHECK THAT THE RIGHT NUMBER OF PARAMETERS HAVE BEEN PROVIDED
                                                                //   7563  !
                                                                //   7564           P=P+1
#line 7564 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
                                                                //   7565           NPARMS=KFORM&4095
#line 7565 "regression-compile-tmp/imp918s.imp"
NPARMS = ((KFORM) & (4095));
                                                                //   7566           %IF NPARMS=0 %START
#line 7566 "regression-compile-tmp/imp918s.imp"
if (((NPARMS) != (0))) goto L_073c;
                                                                //   7567              ->ENTRY SEQ %IF A(P)=2
#line 7567 "regression-compile-tmp/imp918s.imp"
if (((A[((P) + ((int)(7)))]) != (2))) goto L_073d;
#line 7567 "regression-compile-tmp/imp918s.imp"
goto U_106e;
#line 7567 "regression-compile-tmp/imp918s.imp"
L_073d:;
                                                                //   7568              FAULT(19,RTNAME);          ! WRONG NO OF PARAMETERS GIVEN
#line 7568 "regression-compile-tmp/imp918s.imp"
FAULT(19, RTNAME);
                                                                //   7569              SKIP APP; P=P-1
#line 7569 "regression-compile-tmp/imp918s.imp"
SKIPAPP();
#line 7569 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) - (1));
                                                                //   7570              %RETURN
#line 7570 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   7571           %FINISH
#line 7571 "regression-compile-tmp/imp918s.imp"
L_073c:;
                                                                //   7572  !
                                                                //   7573  ! A ROUTINE IS DEEMED TO HAVE SIMPLE PARAMETERS IF THEY CAN BE LOADED
                                                                //   7574  ! INTO GRS 0 UP AND PLANTED IN THE SAME 'STM' THAT STORES THE REGISTERS
                                                                //   7575  ! THIS IS CHECKED AT ROUTINESPEC TIME. ONLY THE REGISTERS NEED BE
                                                                //   7576  ! LOOKED AT HERE.
                                                                //   7577  !
                                                                //   7578           II=0
#line 7578 "regression-compile-tmp/imp918s.imp"
II = 0;
                                                                //   7579           %WHILE PSIMPLE=1 %AND II<NPARMS %CYCLE
#line 7579 "regression-compile-tmp/imp918s.imp"
L_073e:;
#line 7579 "regression-compile-tmp/imp918s.imp"
if (((PSIMPLE) != (1))) goto L_073f;
#line 7579 "regression-compile-tmp/imp918s.imp"
if (((II) >= (NPARMS))) goto L_073f;
                                                                //   7580              PSIMPLE=0 %UNLESS REGISTER(II)=0
#line 7580 "regression-compile-tmp/imp918s.imp"
if (((REGISTER[II]) == (0))) goto L_0741;
#line 7580 "regression-compile-tmp/imp918s.imp"
PSIMPLE = 0;
#line 7580 "regression-compile-tmp/imp918s.imp"
L_0741:;
                                                                //   7581              II=II+1
#line 7581 "regression-compile-tmp/imp918s.imp"
II = (((int)(II)) + (1));
                                                                //   7582           %REPEAT
#line 7582 "regression-compile-tmp/imp918s.imp"
goto L_073e;
#line 7582 "regression-compile-tmp/imp918s.imp"
L_073f:;
                                                                //   7583           %IF PSIMPLE#0 %THEN %START
#line 7583 "regression-compile-tmp/imp918s.imp"
if (((PSIMPLE) == (0))) goto L_0742;
                                                                //   7584              R2=-1
#line 7584 "regression-compile-tmp/imp918s.imp"
R2 = (-1);
                                                                //   7585              R1=NPARMS %IF NPARMS>4
#line 7585 "regression-compile-tmp/imp918s.imp"
if (((NPARMS) <= (4))) goto L_0743;
#line 7585 "regression-compile-tmp/imp918s.imp"
R1 = NPARMS;
#line 7585 "regression-compile-tmp/imp918s.imp"
L_0743:;
                                                                //   7586           %FINISH
#line 7586 "regression-compile-tmp/imp918s.imp"
L_0742:;
                                                                //   7587           ->FIRSTP
#line 7587 "regression-compile-tmp/imp918s.imp"
goto U_1037;
                                                                //   7588  !
                                                                //   7589  NEXT PARM:CLINK=SHORTINTEGER(ADDR(ASLIST(CLINK))+14)
#line 7589 "regression-compile-tmp/imp918s.imp"
U_1024:;
#line 7589 "regression-compile-tmp/imp918s.imp"
CLINK = *_imp_SHORTINTEGER((((int)(_imp_ADDR(&ASLIST[CLINK]))) + (14)));
                                                                //   7590           %IF CLINK=0 %THEN %START
#line 7590 "regression-compile-tmp/imp918s.imp"
if (((CLINK) != (0))) goto L_0744;
                                                                //   7591              %IF A(P)=2 %THEN ->ENTRY SEQ
#line 7591 "regression-compile-tmp/imp918s.imp"
if (((A[((P) + ((int)(7)))]) != (2))) goto L_0745;
#line 7591 "regression-compile-tmp/imp918s.imp"
goto U_106e;
#line 7591 "regression-compile-tmp/imp918s.imp"
L_0745:;
                                                                //   7592              FAULT(19,RTNAME)
#line 7592 "regression-compile-tmp/imp918s.imp"
FAULT(19, RTNAME);
                                                                //   7593              SKIP APP; P=P-1
#line 7593 "regression-compile-tmp/imp918s.imp"
SKIPAPP();
#line 7593 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) - (1));
                                                                //   7594              %RETURN
#line 7594 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   7595           %FINISH
#line 7595 "regression-compile-tmp/imp918s.imp"
L_0744:;
                                                                //   7596  FIRSTP:
#line 7596 "regression-compile-tmp/imp918s.imp"
U_1037:;
                                                                //   7597  !         FROM12(CLINK,PTYPE,II)
                                                                //   7598  !%if USE MC = 1 %start
                                                                //   7599  !         *L_1,CLINK; *A_1,ASLIST
                                                                //   7600  !         *LM_2,3,0(1); *ST_2,PTYPE; *ST_3,II
                                                                //   7601  !%finish
                                                                //   7602           FPTR=II&X'FFFF'
#line 7602 "regression-compile-tmp/imp918s.imp"
FPTR = ((II) & (65535));
                                                                //   7603           PSIZE=II>>16
#line 7603 "regression-compile-tmp/imp918s.imp"
PSIZE = (int)((((unsigned int)(II)) >> (16)));
                                                                //   7604           %IF A(P)=2 %THEN FAULT(19,RTNAME) %AND ->ENTRY SEQ
#line 7604 "regression-compile-tmp/imp918s.imp"
if (((A[((P) + ((int)(7)))]) != (2))) goto L_0746;
#line 7604 "regression-compile-tmp/imp918s.imp"
FAULT(19, RTNAME);
#line 7604 "regression-compile-tmp/imp918s.imp"
goto U_106e;
#line 7604 "regression-compile-tmp/imp918s.imp"
L_0746:;
                                                                //   7605           P=P+1;! UNPACK
#line 7605 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
                                                                //   7606  !%if USE MC = 1 %start
                                                                //   7607  !            *L_1,PTYPE; *CVD_1,0(11)
                                                                //   7608  !            *UNPK_ROUT(5),5(3,11)
                                                                //   7609  !            *NC_ROUT(5),MASK1
                                                                //   7610  !%finish
                                                                //   7611           II=TYPE;III=PREC
#line 7611 "regression-compile-tmp/imp918s.imp"
II = TYPE;
#line 7611 "regression-compile-tmp/imp918s.imp"
III = PREC;
                                                                //   7612           JJ=(NAM<<1!ARR)&3
#line 7612 "regression-compile-tmp/imp918s.imp"
JJ = ((((((NAM) << (1))) | (ARR))) & (3));
                                                                //   7613           %UNLESS (JJ=0 %AND ROUT=0) %OR %C
#line 7613 "regression-compile-tmp/imp918s.imp"
if (((JJ) != (0))) goto L_0740;
#line 7613 "regression-compile-tmp/imp918s.imp"
if (((ROUT) == (0))) goto L_0747;
#line 7613 "regression-compile-tmp/imp918s.imp"
L_0740:;
#line 7613 "regression-compile-tmp/imp918s.imp"
if (((A[(((unsigned char)((((int)(P)) + (2)))) + (7))]) != (4))) goto L_0748;
#line 7613 "regression-compile-tmp/imp918s.imp"
if (((A[(((unsigned char)((((int)(P)) + (3)))) + (7))]) != (1))) goto L_0748;
#line 7613 "regression-compile-tmp/imp918s.imp"
if (((A[(((unsigned char)((((int)(((P) + ((int)(A[(((unsigned char)((((int)(P)) + (1)))) + (7))]))))) + (1)))) + (7))]) == (2))) goto L_0747;
#line 7613 "regression-compile-tmp/imp918s.imp"
L_0748:;
                                                                //   7614             (A(P+2)=4 %AND A(P+3)=1 %AND A(P+A(P+1)+1)=2) %START
                                                                //   7615              SKIP EXP; FAULT(22,0)
#line 7615 "regression-compile-tmp/imp918s.imp"
SKIPEXP();
#line 7615 "regression-compile-tmp/imp918s.imp"
FAULT(22, 0);
                                                                //   7616              ->NEXT PARM
#line 7616 "regression-compile-tmp/imp918s.imp"
goto U_1024;
                                                                //   7617           %FINISH
#line 7617 "regression-compile-tmp/imp918s.imp"
L_0747:;
                                                                //   7618           %IF PSIMPLE#0 %THEN %START
#line 7618 "regression-compile-tmp/imp918s.imp"
if (((PSIMPLE) == (0))) goto L_0749;
                                                                //   7619              R2=R2+1
#line 7619 "regression-compile-tmp/imp918s.imp"
R2 = (((int)(R2)) + (1));
                                                                //   7620              %IF JJ=0 %THEN CSEXP(R2,1) %ELSE %START
#line 7620 "regression-compile-tmp/imp918s.imp"
if (((JJ) != (0))) goto L_074a;
#line 7620 "regression-compile-tmp/imp918s.imp"
CSEXP(R2, 1);
#line 7620 "regression-compile-tmp/imp918s.imp"
goto L_074b;
#line 7620 "regression-compile-tmp/imp918s.imp"
L_074a:;
                                                                //   7621                 P=P+4; CNAME(3,R2)
#line 7621 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (4));
#line 7621 "regression-compile-tmp/imp918s.imp"
CNAME(3, R2);
                                                                //   7622                 FAULT(22,0) %UNLESS II=TYPE %AND III=PREC
#line 7622 "regression-compile-tmp/imp918s.imp"
if (((II) != (TYPE))) goto L_074c;
#line 7622 "regression-compile-tmp/imp918s.imp"
if (((III) == (PREC))) goto L_074d;
#line 7622 "regression-compile-tmp/imp918s.imp"
L_074c:;
#line 7622 "regression-compile-tmp/imp918s.imp"
FAULT(22, 0);
#line 7622 "regression-compile-tmp/imp918s.imp"
L_074d:;
                                                                //   7623                 P=P+1
#line 7623 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
                                                                //   7624              %FINISH
#line 7624 "regression-compile-tmp/imp918s.imp"
L_074b:;
                                                                //   7625              GRUSE(R2)=15
#line 7625 "regression-compile-tmp/imp918s.imp"
GRUSE[R2] = 15;
                                                                //   7626              REGISTER(R2)=1
#line 7626 "regression-compile-tmp/imp918s.imp"
REGISTER[R2] = 1;
                                                                //   7627              -> NEXT PARM
#line 7627 "regression-compile-tmp/imp918s.imp"
goto U_1024;
                                                                //   7628           %FINISH
#line 7628 "regression-compile-tmp/imp918s.imp"
L_0749:;
                                                                //   7629  !
                                                                //   7630  ! FOR RT TYPE PARAMS, PASS 1 WORD POINTING TO 4 WORDS SET
                                                                //   7631  ! UP AS CODE,GLA,EP ADDR & ENVIRONMENT
                                                                //   7632  !
                                                                //   7633           %IF ROUT=1 %THEN %START
#line 7633 "regression-compile-tmp/imp918s.imp"
if (((ROUT) != (1))) goto L_074e;
                                                                //   7634              II=PTYPE; P=P+4
#line 7634 "regression-compile-tmp/imp918s.imp"
II = PTYPE;
#line 7634 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (4));
                                                                //   7635              CNAME(13,-1);              ! SET UP 4 WDS & SET PTR
#line 7635 "regression-compile-tmp/imp918s.imp"
CNAME(13, (-1));
                                                                //   7636              FAULT(22,0) %IF 1000#II-PTYPE#0;! PREC&TYPE SIMILAR
#line 7636 "regression-compile-tmp/imp918s.imp"
if ((((1000) == ((((int)(II)) - (PTYPE))))) || ((((((int)(II)) - (PTYPE))) == (0)))) goto L_074f;
#line 7636 "regression-compile-tmp/imp918s.imp"
FAULT(22, 0);
#line 7636 "regression-compile-tmp/imp918s.imp"
L_074f:;
                                                                //   7637              P=P+1
#line 7637 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
                                                                //   7638              PRX(X'50',NEST,0,WSPR,FPTR);! STUFF OFF POINTER
#line 7638 "regression-compile-tmp/imp918s.imp"
PRX(80, NEST, 0, 11, FPTR);
                                                                //   7639           %FINISH %ELSE %START;         ! NAME & VALUE PARAMETERS
#line 7639 "regression-compile-tmp/imp918s.imp"
goto L_0750;
#line 7639 "regression-compile-tmp/imp918s.imp"
L_074e:;
                                                                //   7640  !
                                                                //   7641  ! FOR ARRAYNAME PARAMETERS THE NO OF DIMENSIONS OF THE ARRAY IS
                                                                //   7642  ! DEDUCED FROM THE FIRST CALL AND STORED IN STREAM3 OF THE PARAMETER
                                                                //   7643  ! LIST. ON ANY SUBSEQUENT CALL ONLY ARRAYS OF THE SAME DIMENSION CAN
                                                                //   7644  ! BE PASSED
                                                                //   7645  !
                                                                //   7646              %IF JJ=0 %THEN KK=2 %AND ACC=PSIZE %ELSE KK=1
#line 7646 "regression-compile-tmp/imp918s.imp"
if (((JJ) != (0))) goto L_0751;
#line 7646 "regression-compile-tmp/imp918s.imp"
KK = 2;
#line 7646 "regression-compile-tmp/imp918s.imp"
ACC = PSIZE;
#line 7646 "regression-compile-tmp/imp918s.imp"
goto L_0752;
#line 7646 "regression-compile-tmp/imp918s.imp"
L_0751:;
#line 7646 "regression-compile-tmp/imp918s.imp"
KK = 1;
#line 7646 "regression-compile-tmp/imp918s.imp"
L_0752:;
                                                                //   7647              %IF PTYPE=5 %THEN ACC=ACC-1
#line 7647 "regression-compile-tmp/imp918s.imp"
if (((PTYPE) != (5))) goto L_0753;
#line 7647 "regression-compile-tmp/imp918s.imp"
ACC = (((int)(ACC)) - (1));
#line 7647 "regression-compile-tmp/imp918s.imp"
L_0753:;
                                                                //   7648              QQQ=FROM3(CLINK); J=QQQ;   ! GET NO OF DIMENSIONS
#line 7648 "regression-compile-tmp/imp918s.imp"
QQQ = FROM3(CLINK);
#line 7648 "regression-compile-tmp/imp918s.imp"
J = QQQ;
                                                                //   7649              ASSIGN(KK,WSPR<<16!FPTR);  ! ASSIGN 1='==', 2='='
#line 7649 "regression-compile-tmp/imp918s.imp"
ASSIGN(KK, ((((11) << (16))) | (FPTR)));
                                                                //   7650              %IF JJ=3 %AND QQQ=0 %THEN REPLACE3(CLINK,J)
#line 7650 "regression-compile-tmp/imp918s.imp"
if (((JJ) != (3))) goto L_0754;
#line 7650 "regression-compile-tmp/imp918s.imp"
if (((QQQ) != (0))) goto L_0754;
#line 7650 "regression-compile-tmp/imp918s.imp"
REPLACE3(CLINK, J);
#line 7650 "regression-compile-tmp/imp918s.imp"
L_0754:;
                                                                //   7651           %FINISH
#line 7651 "regression-compile-tmp/imp918s.imp"
L_0750:;
                                                                //   7652           -> NEXT PARM
#line 7652 "regression-compile-tmp/imp918s.imp"
goto U_1024;
                                                                //   7653  ENTRY SEQ:                             ! CODE FOR RT ENTRY
#line 7653 "regression-compile-tmp/imp918s.imp"
U_106e:;
                                                                //   7654           %IF R2=14 %AND REGISTER(14)!GRUSE(14)=0 %THEN R2=13
#line 7654 "regression-compile-tmp/imp918s.imp"
if (((R2) != (14))) goto L_0755;
#line 7654 "regression-compile-tmp/imp918s.imp"
if (((((REGISTER[14]) | (GRUSE[14]))) != (0))) goto L_0755;
#line 7654 "regression-compile-tmp/imp918s.imp"
R2 = 13;
#line 7654 "regression-compile-tmp/imp918s.imp"
L_0755:;
                                                                //   7655  !
                                                                //   7656  ! SIMPLE PARAMETERS SHOULD BE IN GRS 0 UP AWAITING STORAGE. IF HOWEVER
                                                                //   7657  ! THERE WAS A FUNCTION CALL AMONG THE ACTUAL PARAMETERS SOME MAY HAVE
                                                                //   7658  ! BEEN STORED ALREADY. THIS CASE MUST BE CHECKED FOR, AND IF FOUND,
                                                                //   7659  ! ROUTINE SAVE IRS CALLED TO STORE ANY REMAINING PARAMETERS.
                                                                //   7660  !
                                                                //   7661           JJ=0
#line 7661 "regression-compile-tmp/imp918s.imp"
JJ = 0;
                                                                //   7662           %WHILE PSIMPLE#0 %AND JJ<NPARMS %CYCLE
#line 7662 "regression-compile-tmp/imp918s.imp"
L_0756:;
#line 7662 "regression-compile-tmp/imp918s.imp"
if (((PSIMPLE) == (0))) goto L_0757;
#line 7662 "regression-compile-tmp/imp918s.imp"
if (((JJ) >= (NPARMS))) goto L_0757;
                                                                //   7663              %IF GRUSE(JJ)=15 %THEN REGISTER(JJ)=0 %ELSE %START
#line 7663 "regression-compile-tmp/imp918s.imp"
if (((GRUSE[JJ]) != (15))) goto L_0759;
#line 7663 "regression-compile-tmp/imp918s.imp"
REGISTER[JJ] = 0;
#line 7663 "regression-compile-tmp/imp918s.imp"
goto L_075a;
#line 7663 "regression-compile-tmp/imp918s.imp"
L_0759:;
                                                                //   7664                 KK=JJ-1;                 ! RESET REGISTER FOR REGS FREED
#line 7664 "regression-compile-tmp/imp918s.imp"
KK = (((int)(JJ)) - (1));
                                                                //   7665                 REGISTER(KK)=1 %AND KK=KK-1 %WHILE KK>=0
#line 7665 "regression-compile-tmp/imp918s.imp"
L_075b:;
#line 7665 "regression-compile-tmp/imp918s.imp"
if (((KK) < (0))) goto L_075c;
#line 7665 "regression-compile-tmp/imp918s.imp"
REGISTER[KK] = 1;
#line 7665 "regression-compile-tmp/imp918s.imp"
KK = (((int)(KK)) - (1));
#line 7665 "regression-compile-tmp/imp918s.imp"
goto L_075b;
#line 7665 "regression-compile-tmp/imp918s.imp"
L_075c:;
                                                                //   7666                 R2=14; PSIMPLE=0
#line 7666 "regression-compile-tmp/imp918s.imp"
R2 = 14;
#line 7666 "regression-compile-tmp/imp918s.imp"
PSIMPLE = 0;
                                                                //   7667                 SAVE IRS(RBASE+4)
#line 7667 "regression-compile-tmp/imp918s.imp"
SAVEIRS((((int)(RBASE)) + (4)));
                                                                //   7668              %FINISH
#line 7668 "regression-compile-tmp/imp918s.imp"
L_075a:;
                                                                //   7669              JJ=JJ+1
#line 7669 "regression-compile-tmp/imp918s.imp"
JJ = (((int)(JJ)) + (1));
                                                                //   7670           %REPEAT
#line 7670 "regression-compile-tmp/imp918s.imp"
goto L_0756;
#line 7670 "regression-compile-tmp/imp918s.imp"
L_0757:;
                                                                //   7671  !
                                                                //   7672           SCA=CA; PCONST(0);            ! WILL CONTAIN THE 'STM'
#line 7672 "regression-compile-tmp/imp918s.imp"
SCA = CA;
#line 7672 "regression-compile-tmp/imp918s.imp"
PCONST(0);
                                                                //   7673           PTYPE=PT;! UNPACK
#line 7673 "regression-compile-tmp/imp918s.imp"
PTYPE = PT;
                                                                //   7674  !%if USE MC = 1 %start
                                                                //   7675  !            *L_1,PTYPE; *CVD_1,0(11)
                                                                //   7676  !            *UNPK_ROUT(5),5(3,11)
                                                                //   7677  !            *NC_ROUT(5),MASK1
                                                                //   7678  !%finish
                                                                //   7679           %UNLESS JJJ=14 %OR NAM&1=1 %START
#line 7679 "regression-compile-tmp/imp918s.imp"
if (((JJJ) == (14))) goto L_075e;
#line 7679 "regression-compile-tmp/imp918s.imp"
if (((((NAM) & (1))) == (1))) goto L_075e;
                                                                //   7680              NMDECS=NMDECS!2
#line 7680 "regression-compile-tmp/imp918s.imp"
NMDECS = ((NMDECS) | (2));
                                                                //   7681              J=JJJ; OLDI=TL
#line 7681 "regression-compile-tmp/imp918s.imp"
J = JJJ;
#line 7681 "regression-compile-tmp/imp918s.imp"
OLDI = TL;
                                                                //   7682              RT JUMP(X'45',15,TCELLP,10)
#line 7682 "regression-compile-tmp/imp918s.imp"
RTJUMP(69, 15, TCELLP, 10);
                                                                //   7683           %FINISH %ELSE %START
#line 7683 "regression-compile-tmp/imp918s.imp"
goto L_075f;
#line 7683 "regression-compile-tmp/imp918s.imp"
L_075e:;
                                                                //   7684              %IF NAM&1=0 %THEN %START;        ! EXTERNAL CALL
#line 7684 "regression-compile-tmp/imp918s.imp"
if (((((NAM) & (1))) != (0))) goto L_0760;
                                                                //   7685                 JJ=RDISP; TL=0;             ! NOTHING GLOBAL TO XTRN
#line 7685 "regression-compile-tmp/imp918s.imp"
JJ = RDISP;
#line 7685 "regression-compile-tmp/imp918s.imp"
TL = 0;
                                                                //   7686                 DUMPM(X'98',12,14,GLA,JJ);    ! LM 12,14,EP
#line 7686 "regression-compile-tmp/imp918s.imp"
DUMPM(152, 12, 14, 13, JJ);
                                                                //   7687              %FINISH %ELSE %START;            ! RT PARAM CALLED
#line 7687 "regression-compile-tmp/imp918s.imp"
goto L_0761;
#line 7687 "regression-compile-tmp/imp918s.imp"
L_0760:;
                                                                //   7688                                               ! ENVIRONMENT MUST BE LOADED
                                                                //   7689                 DUMP(X'58',15,RDISP,0,LP);  ! LOAD PTR TO RT HEAD
#line 7689 "regression-compile-tmp/imp918s.imp"
DUMP(88, 15, RDISP, 0, LP);
                                                                //   7690                 PRX(X'98',12,15,15,0);        ! LOAD HEAD
#line 7690 "regression-compile-tmp/imp918s.imp"
PRX(152, 12, 15, 15, 0);
                                                                //   7691                 PRX(X'98',5,10,15,20);        ! LOAD UP ENVIRONMENT
#line 7691 "regression-compile-tmp/imp918s.imp"
PRX(152, 5, 10, 15, 20);
                                                                //   7692              %FINISH
#line 7692 "regression-compile-tmp/imp918s.imp"
L_0761:;
                                                                //   7693              PLANT(X'5FE');                   ! BALR 15,14
#line 7693 "regression-compile-tmp/imp918s.imp"
PLANT(1534);
                                                                //   7694           %FINISH
#line 7694 "regression-compile-tmp/imp918s.imp"
L_075f:;
                                                                //   7695  !
                                                                //   7696  ! NOW UPDATE REGISTERS AND GLOBAL FLAGS
                                                                //   7697  !
                                                                //   7698           MONE=1; CYC BITS=CYC BITS!8;  ! 'RT CALL' BIT
#line 7698 "regression-compile-tmp/imp918s.imp"
MONE = 1;
#line 7698 "regression-compile-tmp/imp918s.imp"
CYCBITS = ((CYCBITS) | (8));
                                                                //   7699           CYC BITS=CYC BITS!(1<<20)<<TL
#line 7699 "regression-compile-tmp/imp918s.imp"
CYCBITS = ((CYCBITS) | (((((1) << (20))) << (TL))));
                                                                //   7700           FAULT(201,0) %UNLESS REGISTER(15)=0
#line 7700 "regression-compile-tmp/imp918s.imp"
if (((REGISTER[15]) == (0))) goto L_0762;
#line 7700 "regression-compile-tmp/imp918s.imp"
FAULT(201, 0);
#line 7700 "regression-compile-tmp/imp918s.imp"
L_0762:;
                                                                //   7701           CCSTATE=-1
#line 7701 "regression-compile-tmp/imp918s.imp"
CCSTATE = (-1);
                                                                //   7702           FORGETM(8)
#line 7702 "regression-compile-tmp/imp918s.imp"
FORGETM(8);
                                                                //   7703           SET USE(15,12,CA) %IF SBFLAG=0 %AND CA-CODEBASE>4095-MARGIN
#line 7703 "regression-compile-tmp/imp918s.imp"
if (((SBFLAG) != (0))) goto L_0763;
#line 7703 "regression-compile-tmp/imp918s.imp"
if ((((((int)(CA)) - (CODEBASE))) <= ((((int)(4095)) - (MARGIN))))) goto L_0763;
#line 7703 "regression-compile-tmp/imp918s.imp"
SETUSE(15, 12, CA);
#line 7703 "regression-compile-tmp/imp918s.imp"
L_0763:;
                                                                //   7704           %IF R2<R1 %THEN JJJ=14 %ELSE JJJ=R2
#line 7704 "regression-compile-tmp/imp918s.imp"
if (((R2) >= (R1))) goto L_0764;
#line 7704 "regression-compile-tmp/imp918s.imp"
JJJ = 14;
#line 7704 "regression-compile-tmp/imp918s.imp"
goto L_0765;
#line 7704 "regression-compile-tmp/imp918s.imp"
L_0764:;
#line 7704 "regression-compile-tmp/imp918s.imp"
JJJ = R2;
#line 7704 "regression-compile-tmp/imp918s.imp"
L_0765:;
                                                                //   7705           %CYCLE JJ=R1,1,JJJ
#line 7705 "regression-compile-tmp/imp918s.imp"
{static int _initial, _increment, _final, _control;
_initial = R1; _increment = 1; _final = JJJ; JJ = _control = _initial;
if (((_final-_initial) % _increment) != 0) _imp_signal(5,1,0,"Illegal cycle JJ = R1, 1, JJJ");
JJ -= _increment; _control -= _increment;
L_0766:;
if (JJ == _final) goto L_0767;
JJ += _increment; _control += _increment;
if (JJ != _control) _imp_signal(4,2,0,"Corrupt control variable JJ"); /* FOR loop control variable corrupted */
}
                                                                //   7706              %IF REGISTER(JJ)=0 %THEN %START
#line 7706 "regression-compile-tmp/imp918s.imp"
if (((REGISTER[JJ]) != (0))) goto L_0769;
                                                                //   7707                 KK=GRUSE(JJ)
#line 7707 "regression-compile-tmp/imp918s.imp"
KK = GRUSE[JJ];
                                                                //   7708                 %UNLESS 1<=KK<=2 %OR KK=8 %OR 10<=KK<=12 %THEN %START
#line 7708 "regression-compile-tmp/imp918s.imp"
if ((((1) > (KK))) || (((KK) <= (2)))) goto L_076a;
#line 7708 "regression-compile-tmp/imp918s.imp"
L_075d:;
#line 7708 "regression-compile-tmp/imp918s.imp"
if (((KK) == (8))) goto L_076a;
#line 7708 "regression-compile-tmp/imp918s.imp"
if ((((10) > (KK))) || (((KK) <= (12)))) goto L_076a;
#line 7708 "regression-compile-tmp/imp918s.imp"
L_076b:;
                                                                //   7709                    II=0
#line 7709 "regression-compile-tmp/imp918s.imp"
II = 0;
                                                                //   7710                    %IF KK=7 %THEN II=FROM1(GRINF(JJ))>>8&15;! LEVEL OF DECLN
#line 7710 "regression-compile-tmp/imp918s.imp"
if (((KK) != (7))) goto L_076c;
#line 7710 "regression-compile-tmp/imp918s.imp"
II = (((int)((((unsigned int)(FROM1(GRINF[JJ]))) >> (8)))) & (15));
#line 7710 "regression-compile-tmp/imp918s.imp"
L_076c:;
                                                                //   7711                    GRUSE(JJ)=0 %UNLESS II>TL;!  NAME CAN NOT BE ALTERED
#line 7711 "regression-compile-tmp/imp918s.imp"
if (((II) > (TL))) goto L_076d;
#line 7711 "regression-compile-tmp/imp918s.imp"
GRUSE[JJ] = 0;
#line 7711 "regression-compile-tmp/imp918s.imp"
L_076d:;
                                                                //   7712                 %FINISH
#line 7712 "regression-compile-tmp/imp918s.imp"
L_076a:;
                                                                //   7713              %FINISH
#line 7713 "regression-compile-tmp/imp918s.imp"
L_0769:;
                                                                //   7714           %REPEAT
#line 7714 "regression-compile-tmp/imp918s.imp"
goto L_0766;
#line 7714 "regression-compile-tmp/imp918s.imp"
L_0767:;
                                                                //   7715           R1=R1+1 %WHILE REGISTER(R1)=0 %AND GRUSE(R1)<=1
#line 7715 "regression-compile-tmp/imp918s.imp"
L_076e:;
#line 7715 "regression-compile-tmp/imp918s.imp"
if (((REGISTER[R1]) != (0))) goto L_076f;
#line 7715 "regression-compile-tmp/imp918s.imp"
if (((GRUSE[R1]) > (1))) goto L_076f;
#line 7715 "regression-compile-tmp/imp918s.imp"
R1 = (((int)(R1)) + (1));
#line 7715 "regression-compile-tmp/imp918s.imp"
goto L_076e;
#line 7715 "regression-compile-tmp/imp918s.imp"
L_076f:;
                                                                //   7716           PLUG(1,SCA,X'9000'!R1<<4!R2)
#line 7716 "regression-compile-tmp/imp918s.imp"
PLUG(1, SCA, ((((36864) | (((R1) << (4))))) | (R2)));
                                                                //   7717           PLUG(1,SCA+2,WSPR<<12!R1<<2)
#line 7717 "regression-compile-tmp/imp918s.imp"
PLUG(1, (((int)(SCA)) + (2)), ((((11) << (12))) | (((R1) << (2)))));
                                                                //   7718           FPTR=SAVEFPTR
#line 7718 "regression-compile-tmp/imp918s.imp"
FPTR = SAVEFPTR;
                                                                //   7719           %IF FPTR>64 %THEN %START
#line 7719 "regression-compile-tmp/imp918s.imp"
if (((FPTR) <= (64))) goto L_0771;
                                                                //   7720             REGISTER(1)=1;          !PROTECT PROGS WITH GLA>4096
#line 7720 "regression-compile-tmp/imp918s.imp"
REGISTER[1] = 1;
                                                                //   7721             MOVER(WSPR,-MOVEPTR);!STEP BACK STACK PTR
#line 7721 "regression-compile-tmp/imp918s.imp"
MOVER(11, (-(MOVEPTR)));
                                                                //   7722             REGISTER(1)=0
#line 7722 "regression-compile-tmp/imp918s.imp"
REGISTER[1] = 0;
                                                                //   7723             %FINISH
#line 7723 "regression-compile-tmp/imp918s.imp"
L_0771:;
                                                                //   7724           %END
#line 7724 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block CRCALL at level 3
                                                                //   7725           %ROUTINE RT JUMP(%INTEGER CODE,R1,LINK,WKREG)
#line 7725 "regression-compile-tmp/imp918s.imp"
void RTJUMP( int CODE, int R1, int LINK, int WKREG )
#line 7725 "regression-compile-tmp/imp918s.imp"
{
                                                                //   7726  !***********************************************************************
                                                                //   7727  !*       PLANTS A 'BAL' TO THE APPROPIATE ENTRY ADDRESS IN ASL(LINK)   *
                                                                //   7728  !*       DIFFERENT FROM NORMAL JUMPS AS ADDRESS CAN BE BEFORE ((GR10)).*
                                                                //   7729  !*       IF ROUTINE HAS BEEN SPECIFIED BUT NOT DESCRIBED THE JUMP CAN  *
                                                                //   7730  !*       NOT BE PLANTED AND IS LINKED INTO A LIST HEADED BY ASL(LINK)  *
                                                                //   7731  !*       TO AWAIT FILLING (BY ' RHEAD ') WHEN THE BODY IS GIVEN.       *
                                                                //   7732  !*       THE FORMAT OF AN ENTRY IS :-                                  *
                                                                //   7733  !*       S1(32 BITS) = VALUE IN BASE REGISTER( GR10)                   *
                                                                //   7734  !*       S2(32 BITS) = ADDRESS OF JUMP TO BE FILLED                    *
                                                                //   7735  !*       S3(16 BITS) = FLAG (0 FOR LONG JUMP,#0 SHORT JUMP)            *
                                                                //   7736  !*       THE CODING ASSUMES I,J&OLDI ARE SET UP FOR THE CALLED ROUTINE *
                                                                //   7737  !***********************************************************************
                                                                //   7738           {%SHORTROUTINE}
                                                                //   7739           %INTEGER DP,AD,XD
#line 7739 "regression-compile-tmp/imp918s.imp"
int DP;
#line 7739 "regression-compile-tmp/imp918s.imp"
int AD;
#line 7739 "regression-compile-tmp/imp918s.imp"
int XD;
                                                                //   7740           XD=0; AD=ADDR(ASLIST(LINK))+4;!  TO SNDISP FIELD OF TAGS
#line 7740 "regression-compile-tmp/imp918s.imp"
XD = 0;
#line 7740 "regression-compile-tmp/imp918s.imp"
AD = (((int)(_imp_ADDR(&ASLIST[LINK]))) + (4));
                                                                //   7741           DP=4*(SHORTINTEGER(AD)&X'FFFF')-CODEBASE
#line 7741 "regression-compile-tmp/imp918s.imp"
DP = (((int)(((4) * ((int)(((*_imp_SHORTINTEGER(AD)) & (65535))))))) - (CODEBASE));
                                                                //   7742           PRR(X'18',WKREG,10) %UNLESS WKREG=10 %OR(J#15 %AND 0<DP<4095)
#line 7742 "regression-compile-tmp/imp918s.imp"
if (((WKREG) == (10))) goto L_0772;
#line 7742 "regression-compile-tmp/imp918s.imp"
if (((J) == (15))) goto L_0770;
#line 7742 "regression-compile-tmp/imp918s.imp"
if ((((0) >= (DP))) || (((DP) < (4095)))) goto L_0772;
#line 7742 "regression-compile-tmp/imp918s.imp"
L_0770:;
#line 7742 "regression-compile-tmp/imp918s.imp"
PRR(24, WKREG, 10);
#line 7742 "regression-compile-tmp/imp918s.imp"
L_0772:;
                                                                //   7743           %IF J=15 %THEN %START;        ! RT BODY NOT GIVEN YET
#line 7743 "regression-compile-tmp/imp918s.imp"
if (((J) != (15))) goto L_0773;
                                                                //   7744              %IF SBFLAG=1 %AND OLDI=LEVEL %THEN XD=1 %AND WKREG=10
#line 7744 "regression-compile-tmp/imp918s.imp"
if (((SBFLAG) != (1))) goto L_0774;
#line 7744 "regression-compile-tmp/imp918s.imp"
if (((OLDI) != (LEVEL))) goto L_0774;
#line 7744 "regression-compile-tmp/imp918s.imp"
XD = 1;
#line 7744 "regression-compile-tmp/imp918s.imp"
WKREG = 10;
#line 7744 "regression-compile-tmp/imp918s.imp"
L_0774:;
                                                                //   7745              DP=0
#line 7745 "regression-compile-tmp/imp918s.imp"
DP = 0;
                                                                //   7746              PUSH123(SHORT INTEGER(AD),CODEBASE,CA,XD) %IF CSSMODE#0
#line 7746 "regression-compile-tmp/imp918s.imp"
if (((CSSMODE) == (0))) goto L_0775;
#line 7746 "regression-compile-tmp/imp918s.imp"
PUSH123(_imp_SHORTINTEGER(AD), CODEBASE, CA, XD);
#line 7746 "regression-compile-tmp/imp918s.imp"
L_0775:;
                                                                //   7747              PRX(X'5A',WKREG,CODER,0,0) %IF XD=0
#line 7747 "regression-compile-tmp/imp918s.imp"
if (((XD) != (0))) goto L_0776;
#line 7747 "regression-compile-tmp/imp918s.imp"
PRX(90, WKREG, 12, 0, 0);
#line 7747 "regression-compile-tmp/imp918s.imp"
L_0776:;
                                                                //   7748           %FINISH %ELSE %START;          ! BODY GIVEN AND ADDRESS KNOWN
#line 7748 "regression-compile-tmp/imp918s.imp"
goto L_0777;
#line 7748 "regression-compile-tmp/imp918s.imp"
L_0773:;
                                                                //   7749              %IF 0<DP<4095 %THEN WKREG=10 %ELSE ADJUST INDEX(1,WKREG,DP)
#line 7749 "regression-compile-tmp/imp918s.imp"
if ((((0) >= (DP))) || (((DP) >= (4095)))) goto L_0778;
#line 7749 "regression-compile-tmp/imp918s.imp"
WKREG = 10;
#line 7749 "regression-compile-tmp/imp918s.imp"
goto L_0779;
#line 7749 "regression-compile-tmp/imp918s.imp"
L_0778:;
#line 7749 "regression-compile-tmp/imp918s.imp"
ADJUSTINDEX(1, &WKREG, &DP);
#line 7749 "regression-compile-tmp/imp918s.imp"
L_0779:;
                                                                //   7750           %FINISH
#line 7750 "regression-compile-tmp/imp918s.imp"
L_0777:;
                                                                //   7751           PRX(CODE,R1,WKREG,0,DP&4095)
#line 7751 "regression-compile-tmp/imp918s.imp"
PRX(CODE, R1, WKREG, 0, ((DP) & (4095)));
                                                                //   7752           %END
#line 7752 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block RTJUMP at level 3
                                                                //   7753           %ROUTINE SKIP EXP
#line 7753 "regression-compile-tmp/imp918s.imp"
void SKIPEXP( void )
#line 7753 "regression-compile-tmp/imp918s.imp"
{
                                                                //   7754           {%SHORTROUTINE}
                                                                //   7755  !***********************************************************************
                                                                //   7756  !*       SKIPS OVER THE EXPRESSION POINTED AT BY P. USED FOR ERROR     *
                                                                //   7757  !*       RECOVERY AND TO EXTRACT INFORMATION ABOUT THE EXPRESSION.     *
                                                                //   7758  !*       FFLAG IS SET IF THERE ARE ANY FUNCTIONS IN THE EXPRESSION     *
                                                                //   7759  !*        SENOPS COUNTS THE OPERATORS IN THE EXPRESSION                *
                                                                //   7760  !*        SEFOP HOLD THE FIRST OPERATOR.                               *
                                                                //   7761  !***********************************************************************
                                                                //   7762           %BYTEINTEGER OPTYPE
#line 7762 "regression-compile-tmp/imp918s.imp"
unsigned char OPTYPE;
                                                                //   7763           %INTEGER J
#line 7763 "regression-compile-tmp/imp918s.imp"
int J;
                                                                //   7764           P=P+2;                         ! TO P<+'>
#line 7764 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (2));
                                                                //   7765           %CYCLE;                        ! DOWN THE LIST OF OPERATORS
#line 7765 "regression-compile-tmp/imp918s.imp"
L_077a:;
                                                                //   7766             OPTYPE=A(P+1);               ! ALT OF P<OPERAND>
#line 7766 "regression-compile-tmp/imp918s.imp"
OPTYPE = A[(((unsigned char)((((int)(P)) + (1)))) + (7))];
                                                                //   7767             P=P+2
#line 7767 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (2));
                                                                //   7768              %IF OPTYPE=0 %OR OPTYPE>4 %THEN ABORT
#line 7768 "regression-compile-tmp/imp918s.imp"
if (((OPTYPE) == (0))) goto L_077d;
#line 7768 "regression-compile-tmp/imp918s.imp"
if (((OPTYPE) <= (4))) goto L_077e;
#line 7768 "regression-compile-tmp/imp918s.imp"
L_077d:;
#line 7768 "regression-compile-tmp/imp918s.imp"
ABORT();
#line 7768 "regression-compile-tmp/imp918s.imp"
L_077e:;
                                                                //   7769             %IF OPTYPE>=3 %THEN SKIP EXP;! SUB EXPRESSIONS
#line 7769 "regression-compile-tmp/imp918s.imp"
if (((OPTYPE) < (3))) goto L_077f;
#line 7769 "regression-compile-tmp/imp918s.imp"
SKIPEXP();
#line 7769 "regression-compile-tmp/imp918s.imp"
L_077f:;
                                                                //   7770  !
                                                                //   7771             %IF OPTYPE=2 %THEN %START;   ! OPERAND IS A CONSTANT
#line 7771 "regression-compile-tmp/imp918s.imp"
if (((OPTYPE) != (2))) goto L_0780;
                                                                //   7772                J=A(P)&7;                 ! CONSTANT TYPE
#line 7772 "regression-compile-tmp/imp918s.imp"
J = ((A[((P) + ((int)(7)))]) & (7));
                                                                //   7773                %IF J=1 %THEN P=P+3;      ! INTEGER CONSTANT
#line 7773 "regression-compile-tmp/imp918s.imp"
if (((J) != (1))) goto L_0781;
#line 7773 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (3));
#line 7773 "regression-compile-tmp/imp918s.imp"
L_0781:;
                                                                //   7774                %IF J=2 %THEN P=P+5;      ! REAL CONSTANT
#line 7774 "regression-compile-tmp/imp918s.imp"
if (((J) != (2))) goto L_0782;
#line 7774 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (5));
#line 7774 "regression-compile-tmp/imp918s.imp"
L_0782:;
                                                                //   7775                %IF J=5 %THEN P=P+(A(P+1)+1)>>1+2
#line 7775 "regression-compile-tmp/imp918s.imp"
if (((J) != (5))) goto L_0783;
#line 7775 "regression-compile-tmp/imp918s.imp"
P = (((int)(((P) + ((int)((((((((int)(A[(((unsigned char)((((int)(P)) + (1)))) + (7))])) + (1)))) >> (1)))))))) + (2));
#line 7775 "regression-compile-tmp/imp918s.imp"
L_0783:;
                                                                //   7776                %IF A(P)=1 %THEN %START;  ! IMPLIED MULTIPLICATION
#line 7776 "regression-compile-tmp/imp918s.imp"
if (((A[((P) + ((int)(7)))]) != (1))) goto L_0784;
                                                                //   7777                   OPTYPE=1;              ! TO PROCESS THE NAME
#line 7777 "regression-compile-tmp/imp918s.imp"
OPTYPE = 1;
                                                                //   7778                %FINISH
#line 7778 "regression-compile-tmp/imp918s.imp"
L_0784:;
                                                                //   7779                P=P+1
#line 7779 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
                                                                //   7780             %FINISH
#line 7780 "regression-compile-tmp/imp918s.imp"
L_0780:;
                                                                //   7781  !
                                                                //   7782             %IF OPTYPE=1 %THEN %START;   ! NAME
#line 7782 "regression-compile-tmp/imp918s.imp"
if (((OPTYPE) != (1))) goto L_0785;
                                                                //   7783                J=ADDR(ASLIST(TAGS(A(P))))
#line 7783 "regression-compile-tmp/imp918s.imp"
J = _imp_ADDR(&ASLIST[TAGS[A[((P) + ((int)(7)))]]]);
                                                                //   7784                FFLAG=1 %IF SNPT#SHORT INTEGER(J)>=10000;! ROUT IN PTYPE
#line 7784 "regression-compile-tmp/imp918s.imp"
if (({int tmp1 = 10006, tmp2 = *_imp_SHORTINTEGER(J), tmp3 = 10000; (tmp1 == tmp2) || (tmp2 < tmp3);})) goto L_0786;
#line 7784 "regression-compile-tmp/imp918s.imp"
FFLAG = 1;
#line 7784 "regression-compile-tmp/imp918s.imp"
L_0786:;
                                                                //   7785                P=P-1
#line 7785 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) - (1));
                                                                //   7786                %CYCLE                     ;! TILL NO ENAME
#line 7786 "regression-compile-tmp/imp918s.imp"
L_0787:;
                                                                //   7787                   P=P+2
#line 7787 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (2));
                                                                //   7788                   %IF A(P)=2 %THEN P=P+1 %ELSE SKIP APP
#line 7788 "regression-compile-tmp/imp918s.imp"
if (((A[((P) + ((int)(7)))]) != (2))) goto L_078a;
#line 7788 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
#line 7788 "regression-compile-tmp/imp918s.imp"
goto L_078b;
#line 7788 "regression-compile-tmp/imp918s.imp"
L_078a:;
#line 7788 "regression-compile-tmp/imp918s.imp"
SKIPAPP();
#line 7788 "regression-compile-tmp/imp918s.imp"
L_078b:;
                                                                //   7789                %REPEAT %UNTIL A(P)=2
#line 7789 "regression-compile-tmp/imp918s.imp"
if (((A[((P) + ((int)(7)))]) == (2))) goto L_0788;
#line 7789 "regression-compile-tmp/imp918s.imp"
goto L_0787;
#line 7789 "regression-compile-tmp/imp918s.imp"
L_0788:;
                                                                //   7790                P=P+1
#line 7790 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
                                                                //   7791             %FINISH
#line 7791 "regression-compile-tmp/imp918s.imp"
L_0785:;
                                                                //   7792  !
                                                                //   7793             P=P+1
#line 7793 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
                                                                //   7794             %IF A(P-1)=2 %THEN %EXIT;    ! NO MORE REST OF EXP
#line 7794 "regression-compile-tmp/imp918s.imp"
if (((A[(((unsigned char)((((int)(P)) - (1)))) + (7))]) != (2))) goto L_078c;
#line 7794 "regression-compile-tmp/imp918s.imp"
goto L_077b;
#line 7794 "regression-compile-tmp/imp918s.imp"
L_078c:;
                                                                //   7795           %REPEAT
#line 7795 "regression-compile-tmp/imp918s.imp"
goto L_077a;
#line 7795 "regression-compile-tmp/imp918s.imp"
L_077b:;
                                                                //   7796           %END;                        ! OF ROUTINE SKIP EXP
#line 7796 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block SKIPEXP at level 3
                                                                //   7797            %ROUTINE SKIP APP;           ! SKIPS ACTUAL PARAMETER PART
#line 7797 "regression-compile-tmp/imp918s.imp"
void SKIPAPP( void )
#line 7797 "regression-compile-tmp/imp918s.imp"
{
                                                                //   7798           %WHILE A(P)=1 %THEN P=P+1 %AND SKIP EXP
#line 7798 "regression-compile-tmp/imp918s.imp"
L_078d:;
#line 7798 "regression-compile-tmp/imp918s.imp"
if (((A[((P) + ((int)(7)))]) != (1))) goto L_078e;
#line 7798 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
#line 7798 "regression-compile-tmp/imp918s.imp"
SKIPEXP();
#line 7798 "regression-compile-tmp/imp918s.imp"
goto L_078d;
#line 7798 "regression-compile-tmp/imp918s.imp"
L_078e:;
                                                                //   7799           P=P+1
#line 7799 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
                                                                //   7800            %END
#line 7800 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block SKIPAPP at level 3
                                                                //   7801                 %INTEGERFN TSEXP(%INTEGERNAME CODE,%INTEGER RTMODE)
#line 7801 "regression-compile-tmp/imp918s.imp"
int TSEXP( int /*name*/*CODE, int RTMODE )
#line 7801 "regression-compile-tmp/imp918s.imp"
{
                                                                //   7802           {%SHORTROUTINE}
                                                                //   7803           %INTEGER KK,PP,QQ,REXP
#line 7803 "regression-compile-tmp/imp918s.imp"
int KK;
#line 7803 "regression-compile-tmp/imp918s.imp"
int PP;
#line 7803 "regression-compile-tmp/imp918s.imp"
int QQ;
#line 7803 "regression-compile-tmp/imp918s.imp"
int REXP;
                                                                //   7804           %SWITCH SW(1:4)
#line 7804 "regression-compile-tmp/imp918s.imp"
static int sw20_SW_idx;
static const void * /*SWITCH*/ sw20_SW[4] = { &&sw20_SW_1, &&sw20_SW_2, &&sw20_SW_3, &&sw20_SW_4,  };
                                                                //   7805           TYPE=1; PP=P; REXP=2-A(P+1+A(P+1)); P=P+2
#line 7805 "regression-compile-tmp/imp918s.imp"
TYPE = 1;
#line 7805 "regression-compile-tmp/imp918s.imp"
PP = P;
#line 7805 "regression-compile-tmp/imp918s.imp"
REXP = ((2) - ((int)(A[(((unsigned char)((((short)((((int)(P)) + (1)))) + (A[(((unsigned char)((((int)(P)) + (1)))) + (7))])))) + (7))])));
#line 7805 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (2));
                                                                //   7806           ->Label9 %IF 1#A(P)#4; ->SW(A(P+1))
#line 7806 "regression-compile-tmp/imp918s.imp"
if ((((1) == (A[((P) + ((int)(7)))]))) || (((A[((P) + ((int)(7)))]) == (4)))) goto L_0790;
#line 7806 "regression-compile-tmp/imp918s.imp"
goto U_1018;
#line 7806 "regression-compile-tmp/imp918s.imp"
L_0790:;
#line 7806 "regression-compile-tmp/imp918s.imp"
sw20_SW_idx = A[(((unsigned char)((((int)(P)) + (1)))) + (7))]; if ((1 <= sw20_SW_idx) && (sw20_SW_idx <= 4)) goto *(sw20_SW-1)[sw20_SW_idx];  /* Bounds=1:4 */ else {
   /*_imp_signal(8, 2, sw20_SW_idx);*/
   fprintf(stderr, "%%SWITCH index SW(%d) not in range 1:4 at %s:%d\n",
           sw20_SW_idx, (_imp_current_file != 0 ? _imp_current_file : __FILE__),
           (_imp_current_line != 0 ? _imp_current_line : __LINE__));
           exit(1);
}
                                                                //   7807  SW(1):   P=P+2; CODE=A(P); REDUCE TAG(RTMODE)
#line 7807 "regression-compile-tmp/imp918s.imp"
sw20_SW_1:;
#line 7807 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (2));
#line 7807 "regression-compile-tmp/imp918s.imp"
*CODE = A[((P) + ((int)(7)))];
#line 7807 "regression-compile-tmp/imp918s.imp"
REDUCETAG(RTMODE);
                                                                //   7808           ->Label30 %IF TYPE=3
#line 7808 "regression-compile-tmp/imp918s.imp"
if (((TYPE) != (3))) goto L_0791;
#line 7808 "regression-compile-tmp/imp918s.imp"
goto U_102e;
#line 7808 "regression-compile-tmp/imp918s.imp"
L_0791:;
                                                                //   7809           ->Label9 %IF K>4095
#line 7809 "regression-compile-tmp/imp918s.imp"
if (((K) <= (4095))) goto L_0792;
#line 7809 "regression-compile-tmp/imp918s.imp"
goto U_1018;
#line 7809 "regression-compile-tmp/imp918s.imp"
L_0792:;
                                                                //   7810           ->Label9 %UNLESS A(P+1)=2 =A(P+2); ! NO APP OR ENAME
#line 7810 "regression-compile-tmp/imp918s.imp"
if ((((A[(((unsigned char)((((int)(P)) + (1)))) + (7))]) != (2))) || (((2) == (A[(((unsigned char)((((int)(P)) + (2)))) + (7))])))) goto L_0793;
#line 7810 "regression-compile-tmp/imp918s.imp"
L_078f:;
#line 7810 "regression-compile-tmp/imp918s.imp"
goto U_1018;
#line 7810 "regression-compile-tmp/imp918s.imp"
L_0793:;
                                                                //   7811           ->Label9 %UNLESS ROUT=0
#line 7811 "regression-compile-tmp/imp918s.imp"
if (((ROUT) == (0))) goto L_0794;
#line 7811 "regression-compile-tmp/imp918s.imp"
goto U_1018;
#line 7811 "regression-compile-tmp/imp918s.imp"
L_0794:;
                                                                //   7812           ->Label20 %IF TYPE=5
#line 7812 "regression-compile-tmp/imp918s.imp"
if (((TYPE) != (5))) goto L_0795;
#line 7812 "regression-compile-tmp/imp918s.imp"
goto U_1030;
#line 7812 "regression-compile-tmp/imp918s.imp"
L_0795:;
                                                                //   7813           ->Label9 %UNLESS TYPE=1
#line 7813 "regression-compile-tmp/imp918s.imp"
if (((TYPE) == (1))) goto L_0796;
#line 7813 "regression-compile-tmp/imp918s.imp"
goto U_1018;
#line 7813 "regression-compile-tmp/imp918s.imp"
L_0796:;
                                                                //   7814           ->Label11 %IF A(P+3)=2;            ! NO RST OF EXPS
#line 7814 "regression-compile-tmp/imp918s.imp"
if (((A[(((unsigned char)((((int)(P)) + (3)))) + (7))]) != (2))) goto L_0797;
#line 7814 "regression-compile-tmp/imp918s.imp"
goto U_1031;
#line 7814 "regression-compile-tmp/imp918s.imp"
L_0797:;
                                                                //   7815           ->Label9 %UNLESS NAM=0 %AND ARR=0 %AND A(P+5)=2
#line 7815 "regression-compile-tmp/imp918s.imp"
if (((NAM) != (0))) goto L_0798;
#line 7815 "regression-compile-tmp/imp918s.imp"
if (((ARR) != (0))) goto L_0798;
#line 7815 "regression-compile-tmp/imp918s.imp"
if (((A[(((unsigned char)((((int)(P)) + (5)))) + (7))]) == (2))) goto L_0799;
#line 7815 "regression-compile-tmp/imp918s.imp"
L_0798:;
#line 7815 "regression-compile-tmp/imp918s.imp"
goto U_1018;
#line 7815 "regression-compile-tmp/imp918s.imp"
L_0799:;
                                                                //   7816           QQ=A(P+4); ->Label9 %UNLESS 1<QQ<=5 %OR QQ=9;! OPERATOR
#line 7816 "regression-compile-tmp/imp918s.imp"
QQ = A[(((unsigned char)((((int)(P)) + (4)))) + (7))];
#line 7816 "regression-compile-tmp/imp918s.imp"
if ((((1) >= (QQ))) || (((QQ) <= (5)))) goto L_079b;
#line 7816 "regression-compile-tmp/imp918s.imp"
L_079a:;
#line 7816 "regression-compile-tmp/imp918s.imp"
if (((QQ) == (9))) goto L_079b;
#line 7816 "regression-compile-tmp/imp918s.imp"
goto U_1018;
#line 7816 "regression-compile-tmp/imp918s.imp"
L_079b:;
                                                                //   7817           ->Label9 %UNLESS A(P+6)&7=1 %AND A(P+7)=0 %AND A(P+8)>>8=0 %C
#line 7817 "regression-compile-tmp/imp918s.imp"
if (((((A[(((unsigned char)((((int)(P)) + (6)))) + (7))]) & (7))) != (1))) goto L_079c;
#line 7817 "regression-compile-tmp/imp918s.imp"
if (((A[(((unsigned char)((((int)(P)) + (7)))) + (7))]) != (0))) goto L_079c;
#line 7817 "regression-compile-tmp/imp918s.imp"
if ((((short)((((unsigned short)(A[(((unsigned char)((((int)(P)) + (8)))) + (7))])) >> (8)))) != (0))) goto L_079c;
#line 7817 "regression-compile-tmp/imp918s.imp"
if ((((A[(((unsigned char)((((int)(P)) + (9)))) + (7))]) != (2))) || (((2) == (A[(((unsigned char)((((int)(P)) + (10)))) + (7))])))) goto L_079d;
#line 7817 "regression-compile-tmp/imp918s.imp"
L_079c:;
#line 7817 "regression-compile-tmp/imp918s.imp"
goto U_1018;
#line 7817 "regression-compile-tmp/imp918s.imp"
L_079d:;
                                                                //   7818           %AND A(P+9)=2=A(P+10)
                                                                //   7819           CODE=A(P+8); P=P+11; %RESULT=100*(QQ-1)
#line 7819 "regression-compile-tmp/imp918s.imp"
*CODE = A[(((unsigned char)((((int)(P)) + (8)))) + (7))];
#line 7819 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (11));
#line 7819 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return ((100) * ((int)((((int)(QQ)) - (1)))));
                                                                //   7820  Label11:
#line 7820 "regression-compile-tmp/imp918s.imp"
U_1031:;
                                                                //   7821           P=P+4; %RESULT=10+PREC+100*NAM
#line 7821 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (4));
#line 7821 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return (((((10) + ((int)(PREC))))) + (((100) * ((int)(NAM)))));
                                                                //   7822  Label20:      ->Label9 %UNLESS A(P+3)=2
#line 7822 "regression-compile-tmp/imp918s.imp"
U_1030:;
#line 7822 "regression-compile-tmp/imp918s.imp"
if (((A[(((unsigned char)((((int)(P)) + (3)))) + (7))]) == (2))) goto L_079e;
#line 7822 "regression-compile-tmp/imp918s.imp"
goto U_1018;
#line 7822 "regression-compile-tmp/imp918s.imp"
L_079e:;
                                                                //   7823           P=P+4; %RESULT=20
#line 7823 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (4));
#line 7823 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return 20;
                                                                //   7824  Label30:      QQ=COPY RECORD TAG(KK)
#line 7824 "regression-compile-tmp/imp918s.imp"
U_102e:;
#line 7824 "regression-compile-tmp/imp918s.imp"
QQ = COPYRECORDTAG(&KK);
                                                                //   7825           %IF QQ=0 %AND A(P+1)=2 %THEN %RESULT=30
#line 7825 "regression-compile-tmp/imp918s.imp"
if (((QQ) != (0))) goto L_079f;
#line 7825 "regression-compile-tmp/imp918s.imp"
if (((A[(((unsigned char)((((int)(P)) + (1)))) + (7))]) != (2))) goto L_079f;
#line 7825 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return 30;
#line 7825 "regression-compile-tmp/imp918s.imp"
L_079f:;
                                                                //   7826           ->Label9
#line 7826 "regression-compile-tmp/imp918s.imp"
goto U_1018;
                                                                //   7827  SW(2):   TYPE=A(P+2)&7
#line 7827 "regression-compile-tmp/imp918s.imp"
sw20_SW_2:;
#line 7827 "regression-compile-tmp/imp918s.imp"
TYPE = ((A[(((unsigned char)((((int)(P)) + (2)))) + (7))]) & (7));
                                                                //   7828           %IF TYPE=5 %AND REXP=0 %AND A(P+3)=0 %AND A(P+4)=2 %C
#line 7828 "regression-compile-tmp/imp918s.imp"
if (((TYPE) != (5))) goto L_07a0;
#line 7828 "regression-compile-tmp/imp918s.imp"
if (((REXP) != (0))) goto L_07a0;
#line 7828 "regression-compile-tmp/imp918s.imp"
if (((A[(((unsigned char)((((int)(P)) + (3)))) + (7))]) != (0))) goto L_07a0;
#line 7828 "regression-compile-tmp/imp918s.imp"
if (((A[(((unsigned char)((((int)(P)) + (4)))) + (7))]) != (2))) goto L_07a0;
#line 7828 "regression-compile-tmp/imp918s.imp"
*CODE = 0;
#line 7828 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (6));
#line 7828 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return 1;
#line 7828 "regression-compile-tmp/imp918s.imp"
L_07a0:;
                                                                //   7829              %THEN CODE=0 %AND P=P+6 %AND %RESULT=1;! """"
                                                                //   7830           ->Label9 %UNLESS TYPE=1 %AND A(P+5)=2; ! NO IMPLIED MULT
#line 7830 "regression-compile-tmp/imp918s.imp"
if (((TYPE) != (1))) goto L_07a1;
#line 7830 "regression-compile-tmp/imp918s.imp"
if (((A[(((unsigned char)((((int)(P)) + (5)))) + (7))]) == (2))) goto L_07a2;
#line 7830 "regression-compile-tmp/imp918s.imp"
L_07a1:;
#line 7830 "regression-compile-tmp/imp918s.imp"
goto U_1018;
#line 7830 "regression-compile-tmp/imp918s.imp"
L_07a2:;
                                                                //   7831           ->Label21 %IF REXP=1
#line 7831 "regression-compile-tmp/imp918s.imp"
if (((REXP) != (1))) goto L_07a3;
#line 7831 "regression-compile-tmp/imp918s.imp"
goto U_1032;
#line 7831 "regression-compile-tmp/imp918s.imp"
L_07a3:;
                                                                //   7832  !%if USE MC = 1 %start
                                                                //   7833  !         **1,P; *AR_1,1; *LA_1,A+36(1)
                                                                //   7834  !         *MVC_KK(4),0(1)
                                                                //   7835  !%finish
                                                                //   7836           CODE=KK
#line 7836 "regression-compile-tmp/imp918s.imp"
*CODE = KK;
                                                                //   7837           P=P+7
#line 7837 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (7));
                                                                //   7838           ->Label9 %UNLESS KK>>12=0
#line 7838 "regression-compile-tmp/imp918s.imp"
if ((((int)((((unsigned int)(KK)) >> (12)))) == (0))) goto L_07a4;
#line 7838 "regression-compile-tmp/imp918s.imp"
goto U_1018;
#line 7838 "regression-compile-tmp/imp918s.imp"
L_07a4:;
                                                                //   7839           %RESULT=1 %IF 256>CODE
#line 7839 "regression-compile-tmp/imp918s.imp"
if (((256) <= (*CODE))) goto L_07a5;
#line 7839 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return 1;
#line 7839 "regression-compile-tmp/imp918s.imp"
L_07a5:;
                                                                //   7840           %RESULT=2
#line 7840 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return 2;
                                                                //   7841  Label21:      %IF A(P+7)=12 %THEN TYPE=5
#line 7841 "regression-compile-tmp/imp918s.imp"
U_1032:;
#line 7841 "regression-compile-tmp/imp918s.imp"
if (((A[(((unsigned char)((((int)(P)) + (7)))) + (7))]) != (12))) goto L_07a6;
#line 7841 "regression-compile-tmp/imp918s.imp"
TYPE = 5;
#line 7841 "regression-compile-tmp/imp918s.imp"
L_07a6:;
                                                                //   7842  SW(3):SW(4):Label9:P=PP; %RESULT=0
#line 7842 "regression-compile-tmp/imp918s.imp"
sw20_SW_3:;
#line 7842 "regression-compile-tmp/imp918s.imp"
sw20_SW_4:;
#line 7842 "regression-compile-tmp/imp918s.imp"
U_1018:;
#line 7842 "regression-compile-tmp/imp918s.imp"
P = PP;
#line 7842 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return 0;
                                                                //   7843                 %END
#line 7843 "regression-compile-tmp/imp918s.imp"
} // End of block TSEXP at level 3
                                                                //   7844           %ROUTINE     MOVE R(%INTEGER R,N)
#line 7844 "regression-compile-tmp/imp918s.imp"
void MOVER( int R, int N )
#line 7844 "regression-compile-tmp/imp918s.imp"
{
                                                                //   7845           {%SHORTROUTINE}
                                                                //   7846  !***********************************************************************
                                                                //   7847  !*       ADVANCE OR RETARD ADDRESS IN REGISTER 'R' BY N BYTES          *
                                                                //   7848  !***********************************************************************
                                                                //   7849           %INTEGER CODE,BASE,D
#line 7849 "regression-compile-tmp/imp918s.imp"
int CODE;
#line 7849 "regression-compile-tmp/imp918s.imp"
int BASE;
#line 7849 "regression-compile-tmp/imp918s.imp"
int D;
                                                                //   7850           CODE=0; BASE=R; D=N
#line 7850 "regression-compile-tmp/imp918s.imp"
CODE = 0;
#line 7850 "regression-compile-tmp/imp918s.imp"
BASE = R;
#line 7850 "regression-compile-tmp/imp918s.imp"
D = N;
                                                                //   7851           %IF N<0 %THEN %START;            ! STORE CONST & USE SH
#line 7851 "regression-compile-tmp/imp918s.imp"
if (((N) >= (0))) goto L_07a7;
                                                                //   7852              CODE=X'4B'; N=|N|
#line 7852 "regression-compile-tmp/imp918s.imp"
CODE = 75;
#line 7852 "regression-compile-tmp/imp918s.imp"
N = _imp_IMOD(N);
                                                                //   7853              CCSTATE=-1
#line 7853 "regression-compile-tmp/imp918s.imp"
CCSTATE = (-1);
                                                                //   7854              STORE CONST(BASE,D,2,ADDR(N)+2)
#line 7854 "regression-compile-tmp/imp918s.imp"
STORECONST(&BASE, &D, 2, (((int)(_imp_ADDR(&N))) + (2)));
                                                                //   7855           %FINISH
#line 7855 "regression-compile-tmp/imp918s.imp"
L_07a7:;
                                                                //   7856              DUMP(CODE,R,D,0,BASE);        ! LA OR SH -ZERO SORTED
#line 7856 "regression-compile-tmp/imp918s.imp"
DUMP(CODE, R, D, 0, BASE);
                                                                //   7857           %END
#line 7857 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block MOVER at level 3
                                                                //   7858           %ROUTINE BULK M(%INTEGER MODE,L,B1,D1,B2,D2)
#line 7858 "regression-compile-tmp/imp918s.imp"
void BULKM( int MODE, int L, int B1, int D1, int B2, int D2 )
#line 7858 "regression-compile-tmp/imp918s.imp"
{
                                                                //   7859           {%SHORTROUTINE}
                                                                //   7860  !***********************************************************************
                                                                //   7861  !*       PLANT CODE TO MOVE L BYTES (L KNOWN AT COMPILE TIME) FROM     *
                                                                //   7862  !*       D1(B1)  TO D2(B2)                                             *
                                                                //   7863  !*       IF MODE =0 SET L BYTES TO D2(0 OR X'80')                      *
                                                                //   7864  !*                                                                     *
                                                                //   7865  !*       L MAY BE GREATER THAN 4095                                    *
                                                                //   7866  !***********************************************************************
                                                                //   7867           %ROUTINESPEC UPDATE(%INTEGERNAME WI,DI)
#line 7867 "regression-compile-tmp/imp918s.imp"
auto void UPDATE( int /*name*/*WI, int /*name*/*DI );
                                                                //   7868           %INTEGER I,J,W1,W2,OPCODE,CONST
#line 7868 "regression-compile-tmp/imp918s.imp"
int I;
#line 7868 "regression-compile-tmp/imp918s.imp"
int J;
#line 7868 "regression-compile-tmp/imp918s.imp"
int W1;
#line 7868 "regression-compile-tmp/imp918s.imp"
int W2;
#line 7868 "regression-compile-tmp/imp918s.imp"
int OPCODE;
#line 7868 "regression-compile-tmp/imp918s.imp"
int CONST;
                                                                //   7869           W1=B1; W2=B2
#line 7869 "regression-compile-tmp/imp918s.imp"
W1 = B1;
#line 7869 "regression-compile-tmp/imp918s.imp"
W2 = B2;
                                                                //   7870           OPCODE=X'D2'
#line 7870 "regression-compile-tmp/imp918s.imp"
OPCODE = 210;
                                                                //   7871           %IF L+D1> 4092 %THEN UPDATE(W1,D1)
#line 7871 "regression-compile-tmp/imp918s.imp"
if ((((((int)(L)) + (D1))) <= (4092))) goto L_07a8;
#line 7871 "regression-compile-tmp/imp918s.imp"
UPDATE(&W1, &D1);
#line 7871 "regression-compile-tmp/imp918s.imp"
L_07a8:;
                                                                //   7872           %IF MODE#0 %AND L+D2>4092 %THEN UPDATE(W2,D2)
#line 7872 "regression-compile-tmp/imp918s.imp"
if (((MODE) == (0))) goto L_07a9;
#line 7872 "regression-compile-tmp/imp918s.imp"
if ((((((int)(L)) + (D2))) <= (4092))) goto L_07a9;
#line 7872 "regression-compile-tmp/imp918s.imp"
UPDATE(&W2, &D2);
#line 7872 "regression-compile-tmp/imp918s.imp"
L_07a9:;
                                                                //   7873  !
                                                                //   7874           %IF MODE=0 %THEN %START;      ! PROPAGATE CONSTANT
#line 7874 "regression-compile-tmp/imp918s.imp"
if (((MODE) != (0))) goto L_07aa;
                                                                //   7875              J=L; W2=W1
#line 7875 "regression-compile-tmp/imp918s.imp"
J = L;
#line 7875 "regression-compile-tmp/imp918s.imp"
W2 = W1;
                                                                //   7876              CONST=D2; D2=D1
#line 7876 "regression-compile-tmp/imp918s.imp"
CONST = D2;
#line 7876 "regression-compile-tmp/imp918s.imp"
D2 = D1;
                                                                //   7877           %IF CONST=0 %AND L<=32 %THEN %START
#line 7877 "regression-compile-tmp/imp918s.imp"
if (((CONST) != (0))) goto L_07ab;
#line 7877 "regression-compile-tmp/imp918s.imp"
if (((L) > (32))) goto L_07ab;
                                                                //   7878                 CCSTATE=-1
#line 7878 "regression-compile-tmp/imp918s.imp"
CCSTATE = (-1);
                                                                //   7879                 OPCODE=X'D7';           ! CAN USE XC
#line 7879 "regression-compile-tmp/imp918s.imp"
OPCODE = 215;
                                                                //   7880              %FINISH %ELSE %START;      ! USE MVI & MVC TO PROPOGATE
#line 7880 "regression-compile-tmp/imp918s.imp"
goto L_07ac;
#line 7880 "regression-compile-tmp/imp918s.imp"
L_07ab:;
                                                                //   7881                 PSI(X'92',CONST,W1,D1)
#line 7881 "regression-compile-tmp/imp918s.imp"
PSI(146, CONST, W1, D1);
                                                                //   7882                 L=L-1; D1=D1+1
#line 7882 "regression-compile-tmp/imp918s.imp"
L = (((int)(L)) - (1));
#line 7882 "regression-compile-tmp/imp918s.imp"
D1 = (((int)(D1)) + (1));
                                                                //   7883              %FINISH
#line 7883 "regression-compile-tmp/imp918s.imp"
L_07ac:;
                                                                //   7884           %FINISH
#line 7884 "regression-compile-tmp/imp918s.imp"
L_07aa:;
                                                                //   7885  !
                                                                //   7886  !        END OF PREPARATION - CYCLE ROUND PLANTING MVC
                                                                //   7887  !
                                                                //   7888           %WHILE L>0 %CYCLE
#line 7888 "regression-compile-tmp/imp918s.imp"
L_07ad:;
#line 7888 "regression-compile-tmp/imp918s.imp"
if (((L) <= (0))) goto L_07ae;
                                                                //   7889              %IF L>256 %THEN J=256 %ELSE J=L
#line 7889 "regression-compile-tmp/imp918s.imp"
if (((L) <= (256))) goto L_07b0;
#line 7889 "regression-compile-tmp/imp918s.imp"
J = 256;
#line 7889 "regression-compile-tmp/imp918s.imp"
goto L_07b1;
#line 7889 "regression-compile-tmp/imp918s.imp"
L_07b0:;
#line 7889 "regression-compile-tmp/imp918s.imp"
J = L;
#line 7889 "regression-compile-tmp/imp918s.imp"
L_07b1:;
                                                                //   7890              %IF D1>4092 %THEN %START
#line 7890 "regression-compile-tmp/imp918s.imp"
if (((D1) <= (4092))) goto L_07b2;
                                                                //   7891                 I=D1; UPDATE(W1,D1)
#line 7891 "regression-compile-tmp/imp918s.imp"
I = D1;
#line 7891 "regression-compile-tmp/imp918s.imp"
UPDATE(&W1, &D1);
                                                                //   7892                 %IF W2=W1 %THEN D2=D2-I+D1;! OVERLAPPING PROPAGATION W1=W2
#line 7892 "regression-compile-tmp/imp918s.imp"
if (((W2) != (W1))) goto L_07b3;
#line 7892 "regression-compile-tmp/imp918s.imp"
D2 = (((int)((((int)(D2)) - (I)))) + (D1));
#line 7892 "regression-compile-tmp/imp918s.imp"
L_07b3:;
                                                                //   7893              %FINISH
#line 7893 "regression-compile-tmp/imp918s.imp"
L_07b2:;
                                                                //   7894              %IF D2>4092 %THEN UPDATE(W2,D2)
#line 7894 "regression-compile-tmp/imp918s.imp"
if (((D2) <= (4092))) goto L_07b4;
#line 7894 "regression-compile-tmp/imp918s.imp"
UPDATE(&W2, &D2);
#line 7894 "regression-compile-tmp/imp918s.imp"
L_07b4:;
                                                                //   7895              PSS(OPCODE,J,W1,D1,W2,D2)
#line 7895 "regression-compile-tmp/imp918s.imp"
PSS(OPCODE, J, W1, D1, W2, D2);
                                                                //   7896              D1=D1+J
#line 7896 "regression-compile-tmp/imp918s.imp"
D1 = (((int)(D1)) + (J));
                                                                //   7897              D2=D2+J
#line 7897 "regression-compile-tmp/imp918s.imp"
D2 = (((int)(D2)) + (J));
                                                                //   7898              L=L-J
#line 7898 "regression-compile-tmp/imp918s.imp"
L = (((int)(L)) - (J));
                                                                //   7899           %REPEAT
#line 7899 "regression-compile-tmp/imp918s.imp"
goto L_07ad;
#line 7899 "regression-compile-tmp/imp918s.imp"
L_07ae:;
                                                                //   7900  !
                                                                //   7901           REGISTER(W1)=0 %IF REGISTER(W1)>0
#line 7901 "regression-compile-tmp/imp918s.imp"
if (((REGISTER[W1]) <= (0))) goto L_07b5;
#line 7901 "regression-compile-tmp/imp918s.imp"
REGISTER[W1] = 0;
#line 7901 "regression-compile-tmp/imp918s.imp"
L_07b5:;
                                                                //   7902           REGISTER(W2)=0 %IF REGISTER(W2)>0
#line 7902 "regression-compile-tmp/imp918s.imp"
if (((REGISTER[W2]) <= (0))) goto L_07b6;
#line 7902 "regression-compile-tmp/imp918s.imp"
REGISTER[W2] = 0;
#line 7902 "regression-compile-tmp/imp918s.imp"
L_07b6:;
                                                                //   7903           %RETURN
#line 7903 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   7904           %ROUTINE     UPDATE(%INTEGERNAME WI,DI)
#line 7904 "regression-compile-tmp/imp918s.imp"
void UPDATE( int /*name*/*WI, int /*name*/*DI )
#line 7904 "regression-compile-tmp/imp918s.imp"
{
                                                                //   7905           %INTEGER WK,J
#line 7905 "regression-compile-tmp/imp918s.imp"
int WK;
#line 7905 "regression-compile-tmp/imp918s.imp"
int J;
                                                                //   7906           WK=WI
#line 7906 "regression-compile-tmp/imp918s.imp"
WK = *WI;
                                                                //   7907           %IF REGISTER(WK)<0 %THEN FIND REG(GR1,WK)
#line 7907 "regression-compile-tmp/imp918s.imp"
if (((REGISTER[WK]) >= (0))) goto L_07b7;
#line 7907 "regression-compile-tmp/imp918s.imp"
FINDREG(65807, &WK);
#line 7907 "regression-compile-tmp/imp918s.imp"
L_07b7:;
                                                                //   7908           %IF DI<4092 %THEN J=DI %ELSE J=4092
#line 7908 "regression-compile-tmp/imp918s.imp"
if (((*DI) >= (4092))) goto L_07b8;
#line 7908 "regression-compile-tmp/imp918s.imp"
J = *DI;
#line 7908 "regression-compile-tmp/imp918s.imp"
goto L_07b9;
#line 7908 "regression-compile-tmp/imp918s.imp"
L_07b8:;
#line 7908 "regression-compile-tmp/imp918s.imp"
J = 4092;
#line 7908 "regression-compile-tmp/imp918s.imp"
L_07b9:;
                                                                //   7909           DUMP(0,WK,J,0,WI)
#line 7909 "regression-compile-tmp/imp918s.imp"
DUMP(0, WK, J, 0, *WI);
                                                                //   7910           FORGET(WK)
#line 7910 "regression-compile-tmp/imp918s.imp"
FORGET(WK);
                                                                //   7911           DI=DI-J; WI=WK
#line 7911 "regression-compile-tmp/imp918s.imp"
*DI = ((*(int *)(DI)) - (J));
#line 7911 "regression-compile-tmp/imp918s.imp"
*WI = WK;
                                                                //   7912           %END
#line 7912 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block UPDATE at level 4
                                                                //   7913           %END;                         ! OF ROUTINE BULK M
#line 7913 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block BULKM at level 3
                                                                //   7914           %ROUTINE     CBPAIR(%INTEGERNAME LB,UB)
#line 7914 "regression-compile-tmp/imp918s.imp"
void CBPAIR( int /*name*/*LB, int /*name*/*UB )
#line 7914 "regression-compile-tmp/imp918s.imp"
{
                                                                //   7915           {%SHORTROUTINE}
                                                                //   7916  !***********************************************************************
                                                                //   7917  !*       EXTRACT UPPER AND LOWER BOUNDS FROM A CONSTANT BOUND PAIR     *
                                                                //   7918  !***********************************************************************
                                                                //   7919           %INTEGER KK,KKK,JJ,BP
#line 7919 "regression-compile-tmp/imp918s.imp"
int KK;
#line 7919 "regression-compile-tmp/imp918s.imp"
int KKK;
#line 7919 "regression-compile-tmp/imp918s.imp"
int JJ;
#line 7919 "regression-compile-tmp/imp918s.imp"
int BP;
                                                                //   7920           P=P+1; KK=0
#line 7920 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
#line 7920 "regression-compile-tmp/imp918s.imp"
KK = 0;
                                                                //   7921           %CYCLE JJ=1,1,2
#line 7921 "regression-compile-tmp/imp918s.imp"
JJ = 0;
if ((((2)-(1)) % (1)) != 0) _imp_signal(5,1,0,"Illegal cycle JJ = 1, 1, 2");
L_07ba:;
if (JJ == 2) goto L_07bb;
JJ += 1;
                                                                //   7922             KKK=KK
#line 7922 "regression-compile-tmp/imp918s.imp"
KKK = KK;
                                                                //   7923             %IF A(P)=2 %THEN KK=-1 %ELSE KK=1;  ! EXTRACT SIGN
#line 7923 "regression-compile-tmp/imp918s.imp"
if (((A[((P) + ((int)(7)))]) != (2))) goto L_07bd;
#line 7923 "regression-compile-tmp/imp918s.imp"
KK = (-1);
#line 7923 "regression-compile-tmp/imp918s.imp"
goto L_07be;
#line 7923 "regression-compile-tmp/imp918s.imp"
L_07bd:;
#line 7923 "regression-compile-tmp/imp918s.imp"
KK = 1;
#line 7923 "regression-compile-tmp/imp918s.imp"
L_07be:;
                                                                //   7924             FROM AR4(P+2,BP)
#line 7924 "regression-compile-tmp/imp918s.imp"
FROMAR4((((int)(P)) + (2)), &BP);
                                                                //   7925             KK=KK*BP
#line 7925 "regression-compile-tmp/imp918s.imp"
KK = (((int)(KK)) * (BP));
                                                                //   7926             P=P+4
#line 7926 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (4));
                                                                //   7927           %REPEAT
#line 7927 "regression-compile-tmp/imp918s.imp"
goto L_07ba;
#line 7927 "regression-compile-tmp/imp918s.imp"
L_07bb:;
                                                                //   7928           %IF KKK>KK %THEN FAULT(43,0) %AND KK=KKK
#line 7928 "regression-compile-tmp/imp918s.imp"
if (((KKK) <= (KK))) goto L_07bf;
#line 7928 "regression-compile-tmp/imp918s.imp"
FAULT(43, 0);
#line 7928 "regression-compile-tmp/imp918s.imp"
KK = KKK;
#line 7928 "regression-compile-tmp/imp918s.imp"
L_07bf:;
                                                                //   7929           LB=KKK; UB=KK
#line 7929 "regression-compile-tmp/imp918s.imp"
*LB = KKK;
#line 7929 "regression-compile-tmp/imp918s.imp"
*UB = KK;
                                                                //   7930           %END
#line 7930 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block CBPAIR at level 3
                                                                //   7931           %ROUTINE GET WSP(%INTEGERNAME PLACE,%INTEGER SIZE)
#line 7931 "regression-compile-tmp/imp918s.imp"
void GETWSP( int /*name*/*PLACE, int SIZE )
#line 7931 "regression-compile-tmp/imp918s.imp"
{
                                                                //   7932           {%SHORTROUTINE}
                                                                //   7933  !***********************************************************************
                                                                //   7934  !*       FIND OR CREATE A TEMPORARY VARIABLE OF 'SIZE' WORDS           *
                                                                //   7935  !*       SIZE=0 FOR STRING TEMPORARIES (260 BYTES)                     *
                                                                //   7936  !***********************************************************************
                                                                //   7937           %INTEGER J,K
#line 7937 "regression-compile-tmp/imp918s.imp"
int J;
#line 7937 "regression-compile-tmp/imp918s.imp"
int K;
                                                                //   7938           SIZE=0 %IF SIZE>7
#line 7938 "regression-compile-tmp/imp918s.imp"
if (((SIZE) <= (7))) goto L_07c0;
#line 7938 "regression-compile-tmp/imp918s.imp"
SIZE = 0;
#line 7938 "regression-compile-tmp/imp918s.imp"
L_07c0:;
                                                                //   7939  !%if USE MC = 1 %start
                                                                //   7940  !         *TR_SIZE+3(1),WSPTRTAB1
                                                                //   7941  !%finish
                                                                //   7942           POP(AVL WSP(SIZE,LEVEL),J,K)
#line 7942 "regression-compile-tmp/imp918s.imp"
POP(&AVLWSP[SIZE][LEVEL], &J, &K);
                                                                //   7943           %IF K<=0 %THEN %START;        ! MUST CREATE TEMPORARY
#line 7943 "regression-compile-tmp/imp918s.imp"
if (((K) > (0))) goto L_07c1;
                                                                //   7944              %IF SIZE=2 %THEN N=(N+7)&(-8);    ! DBLE WRD BNDRY!
#line 7944 "regression-compile-tmp/imp918s.imp"
if (((SIZE) != (2))) goto L_07c2;
#line 7944 "regression-compile-tmp/imp918s.imp"
N = (((((int)(N)) + (7))) & ((-8)));
#line 7944 "regression-compile-tmp/imp918s.imp"
L_07c2:;
                                                                //   7945              K=N
#line 7945 "regression-compile-tmp/imp918s.imp"
K = N;
                                                                //   7946              %IF SIZE=0 %THEN N=N+260 %ELSE N=N+SIZE<<2
#line 7946 "regression-compile-tmp/imp918s.imp"
if (((SIZE) != (0))) goto L_07c3;
#line 7946 "regression-compile-tmp/imp918s.imp"
N = (((int)(N)) + (260));
#line 7946 "regression-compile-tmp/imp918s.imp"
goto L_07c4;
#line 7946 "regression-compile-tmp/imp918s.imp"
L_07c3:;
#line 7946 "regression-compile-tmp/imp918s.imp"
N = ((N) + ((int)(((SIZE) << (2)))));
#line 7946 "regression-compile-tmp/imp918s.imp"
L_07c4:;
                                                                //   7947           %FINISH
#line 7947 "regression-compile-tmp/imp918s.imp"
L_07c1:;
                                                                //   7948           PLACE=K
#line 7948 "regression-compile-tmp/imp918s.imp"
*PLACE = K;
                                                                //   7949  !
                                                                //   7950  ! NORMALLY TEMPORARIES ARE RETURN ON EXITING FROM CSS. WITH STRINGS
                                                                //   7951  ! THEY ARE RETURNED AS SOON AS POSSIBLE TO TRY AND SAVE SPACE
                                                                //   7952  !
                                                                //   7953           PUSH(TWSPHEAD,K,SIZE) %UNLESS SIZE=0
#line 7953 "regression-compile-tmp/imp918s.imp"
if (((SIZE) == (0))) goto L_07c5;
#line 7953 "regression-compile-tmp/imp918s.imp"
PUSH(&TWSPHEAD, K, SIZE);
#line 7953 "regression-compile-tmp/imp918s.imp"
L_07c5:;
                                                                //   7954           %END
#line 7954 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block GETWSP at level 3
                                                                //   7955           %ROUTINE RETURN WSP(%INTEGER PLACE,SIZE)
#line 7955 "regression-compile-tmp/imp918s.imp"
void RETURNWSP( int PLACE, int SIZE )
#line 7955 "regression-compile-tmp/imp918s.imp"
{
                                                                //   7956           {%SHORTROUTINE}
                                                                //   7957           SIZE=0 %IF SIZE>7
#line 7957 "regression-compile-tmp/imp918s.imp"
if (((SIZE) <= (7))) goto L_07c6;
#line 7957 "regression-compile-tmp/imp918s.imp"
SIZE = 0;
#line 7957 "regression-compile-tmp/imp918s.imp"
L_07c6:;
                                                                //   7958  !%if USE MC = 1 %start
                                                                //   7959  !         *TR_SIZE+3(1),WSPTRTAB1
                                                                //   7960  !%finish
                                                                //   7961           PUSH(AVL WSP(SIZE,LEVEL),0,PLACE)
#line 7961 "regression-compile-tmp/imp918s.imp"
PUSH(&AVLWSP[SIZE][LEVEL], 0, PLACE);
                                                                //   7962           %END
#line 7962 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block RETURNWSP at level 3
                                                                //   7963           %ROUTINE SETLINE
#line 7963 "regression-compile-tmp/imp918s.imp"
void SETLINE( void )
#line 7963 "regression-compile-tmp/imp918s.imp"
{
                                                                //   7964  !***********************************************************************
                                                                //   7965  !*       UPDATE THE LINE NO IF THIS STATEMENT HAS A DIFFERENT SOURCE   *
                                                                //   7966  !*       LINE NO THAN THE LAST STATEMENT. IF IN DIAGNOSTIC MODE THE    *
                                                                //   7967  !*       MONITOR IS CALLED ALSO TO KEEP IT INFORMED OF THE EXECUTION   *
                                                                //   7968  !*       OF THE OBJECT PROGRAM.                                        *
                                                                //   7969  !***********************************************************************
                                                                //   7970           {%SHORTROUTINE}
                                                                //   7971           %INTEGER K,AT
#line 7971 "regression-compile-tmp/imp918s.imp"
int K;
#line 7971 "regression-compile-tmp/imp918s.imp"
int AT;
                                                                //   7972           %OWNINTEGER VALUE
#line 7972 "regression-compile-tmp/imp918s.imp"
static int VALUE;
                                                                //   7973           %IF LINENOS=1 %THEN %START
#line 7973 "regression-compile-tmp/imp918s.imp"
if (((LINENOS) != (1))) goto L_07c7;
                                                                //   7974              K=LINE&255
#line 7974 "regression-compile-tmp/imp918s.imp"
K = ((LINE) & (255));
                                                                //   7975              MONE=1 %IF K=0
#line 7975 "regression-compile-tmp/imp918s.imp"
if (((K) != (0))) goto L_07c8;
#line 7975 "regression-compile-tmp/imp918s.imp"
MONE = 1;
#line 7975 "regression-compile-tmp/imp918s.imp"
L_07c8:;
                                                                //   7976              PSI(X'92',K,GLA,23) %UNLESS K=VALUE %AND MONE=0
#line 7976 "regression-compile-tmp/imp918s.imp"
if (((K) != (VALUE))) goto L_07c9;
#line 7976 "regression-compile-tmp/imp918s.imp"
if (((MONE) == (0))) goto L_07ca;
#line 7976 "regression-compile-tmp/imp918s.imp"
L_07c9:;
#line 7976 "regression-compile-tmp/imp918s.imp"
PSI(146, K, 13, 23);
#line 7976 "regression-compile-tmp/imp918s.imp"
L_07ca:;
                                                                //   7977              VALUE=K
#line 7977 "regression-compile-tmp/imp918s.imp"
VALUE = K;
                                                                //   7978              %IF MONE#0 %THEN PSI(X'92',LINE>>8,GLA,22);   ! MVI
#line 7978 "regression-compile-tmp/imp918s.imp"
if (((MONE) == (0))) goto L_07cb;
#line 7978 "regression-compile-tmp/imp918s.imp"
PSI(146, (int)((((unsigned int)(LINE)) >> (8))), 13, 22);
#line 7978 "regression-compile-tmp/imp918s.imp"
L_07cb:;
                                                                //   7979              %IF DIAGS2#0 %THEN %START
#line 7979 "regression-compile-tmp/imp918s.imp"
if (((DIAGS2) == (0))) goto L_07cc;
                                                                //   7980                 %IF IMPMON1<10 %THEN CXREF(0,-2,0,AT) %AND IMPMON1=AT
#line 7980 "regression-compile-tmp/imp918s.imp"
if (((IMPMON1) >= (10))) goto L_07cd;
#line 7980 "regression-compile-tmp/imp918s.imp"
CXREF(0, (-2), 0, &AT);
#line 7980 "regression-compile-tmp/imp918s.imp"
IMPMON1 = AT;
#line 7980 "regression-compile-tmp/imp918s.imp"
L_07cd:;
                                                                //   7981                 CRCALL(-2);             ! CALL THE ONLINE MONITOR
#line 7981 "regression-compile-tmp/imp918s.imp"
CRCALL((-2));
                                                                //   7982              %FINISH
#line 7982 "regression-compile-tmp/imp918s.imp"
L_07cc:;
                                                                //   7983              MONE=0
#line 7983 "regression-compile-tmp/imp918s.imp"
MONE = 0;
                                                                //   7984            %FINISH
#line 7984 "regression-compile-tmp/imp918s.imp"
L_07c7:;
                                                                //   7985            %END
#line 7985 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block SETLINE at level 3
                                                                //   7986           %ROUTINE     CHECK CAPACITY(%INTEGER REG,DIS,X,LEVEL)
#line 7986 "regression-compile-tmp/imp918s.imp"
void CHECKCAPACITY( int REG, int DIS, int X, int LEVEL )
#line 7986 "regression-compile-tmp/imp918s.imp"
{
                                                                //   7987           {%SHORTROUTINE}
                                                                //   7988  !***********************************************************************
                                                                //   7989  !*       CHECK THAT THE ASSIGNMENT JUST MADE DID NOT EXCEED THE        *
                                                                //   7990  !*       CAPACITY OF THE VARIABLE(BYTES  AND SHORTS ONLY)              *
                                                                //   7991  !***********************************************************************
                                                                //   7992           %INTEGER MASK
#line 7992 "regression-compile-tmp/imp918s.imp"
int MASK;
                                                                //   7993           %IF 1<=PREC<=2 %THEN %START
#line 7993 "regression-compile-tmp/imp918s.imp"
if ((((1) > (PREC))) || (((PREC) > (2)))) goto L_07ce;
                                                                //   7994              CCSTATE=-1
#line 7994 "regression-compile-tmp/imp918s.imp"
CCSTATE = (-1);
                                                                //   7995              %IF PREC=1 %THEN PRX(X'55',REG,0,GLA,24) %AND MASK=2 %C
#line 7995 "regression-compile-tmp/imp918s.imp"
if (((PREC) != (1))) goto L_07cf;
#line 7995 "regression-compile-tmp/imp918s.imp"
PRX(85, REG, 0, 13, 24);
#line 7995 "regression-compile-tmp/imp918s.imp"
MASK = 2;
#line 7995 "regression-compile-tmp/imp918s.imp"
goto L_07d0;
#line 7995 "regression-compile-tmp/imp918s.imp"
L_07cf:;
#line 7995 "regression-compile-tmp/imp918s.imp"
DUMP(73, REG, DIS, X, LEVEL);
#line 7995 "regression-compile-tmp/imp918s.imp"
MASK = 7;
#line 7995 "regression-compile-tmp/imp918s.imp"
L_07d0:;
                                                                //   7996                         %ELSE DUMP(X'49',REG,DIS,X,LEVEL) %AND MASK=7
                                                                //   7997              PRX(X'47',MASK,12,0,88);     ! BC MASK,CAPACITY EXCEEDED
#line 7997 "regression-compile-tmp/imp918s.imp"
PRX(71, MASK, 12, 0, 88);
                                                                //   7998           %FINISH
#line 7998 "regression-compile-tmp/imp918s.imp"
L_07ce:;
                                                                //   7999           %END
#line 7999 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block CHECKCAPACITY at level 3
                                                                //   8000  !
                                                                //   8001  !***********************************************************************
                                                                //   8002  !*       REGISTER ALLOCATING ROUTINES                                  *
                                                                //   8003  !*       THE REGISTERS ARE HELD ON A LIST FROM 0->Label22 COVERING          *
                                                                //   8004  !*       THE 16 GENERAL REGISTERS AND THE FOUR FLOATING REGISTERS.     *
                                                                //   8005  !*       A FLOATING REGISTER MAY BE DEFINED BY (TYPE=2,REG=0,2,4,6) OR *
                                                                //   8006  !*       (TYPE =1,REG=16,18,20,22). BOTH ARE  VALID. THE FREE LIST IS  *
                                                                //   8007  !*       SEARCHED IN DIFFERENT WAYS SO THAT THE MORE VOLATILE REGISTERS*
                                                                //   8008  !*       I.E. GRS 0-3 AND GR15 ARE USED FOR SHORT-TERM PURPOSES AND    *
                                                                //   8009  !*       THE SAFE REGISTERS(GRS 4-14) ARE USED WHEN THE PURPOSE MAY    *
                                                                //   8010  !*       HAVE SOME LONG TERM VALUE.                                    *
                                                                //   8011  !***********************************************************************
                                                                //   8012  !
                                                                //   8013           %ROUTINE FORGET(%INTEGER REG)
#line 8013 "regression-compile-tmp/imp918s.imp"
void FORGET( int REG )
#line 8013 "regression-compile-tmp/imp918s.imp"
{
                                                                //   8014           CCSTATE=-1 %IF CCSTATE&255=REG
#line 8014 "regression-compile-tmp/imp918s.imp"
if (((((CCSTATE) & (255))) != (REG))) goto L_07d1;
#line 8014 "regression-compile-tmp/imp918s.imp"
CCSTATE = (-1);
#line 8014 "regression-compile-tmp/imp918s.imp"
L_07d1:;
                                                                //   8015           %IF REGISTER(REG)>= 0 %THEN GRUSE(REG)=0 %AND GRINF(REG)=0
#line 8015 "regression-compile-tmp/imp918s.imp"
if (((REGISTER[REG]) < (0))) goto L_07d2;
#line 8015 "regression-compile-tmp/imp918s.imp"
GRUSE[REG] = 0;
#line 8015 "regression-compile-tmp/imp918s.imp"
GRINF[REG] = 0;
#line 8015 "regression-compile-tmp/imp918s.imp"
L_07d2:;
                                                                //   8016           %END
#line 8016 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block FORGET at level 3
                                                                //   8017           %ROUTINE FREE AND FORGET(%INTEGER REG)
#line 8017 "regression-compile-tmp/imp918s.imp"
void FREEANDFORGET( int REG )
#line 8017 "regression-compile-tmp/imp918s.imp"
{
                                                                //   8018           CCSTATE=-1 %IF CCSTATE&255=REG
#line 8018 "regression-compile-tmp/imp918s.imp"
if (((((CCSTATE) & (255))) != (REG))) goto L_07d3;
#line 8018 "regression-compile-tmp/imp918s.imp"
CCSTATE = (-1);
#line 8018 "regression-compile-tmp/imp918s.imp"
L_07d3:;
                                                                //   8019           %IF REGISTER(REG)>=0 %THEN  REGISTER(REG)=0 %AND %C
#line 8019 "regression-compile-tmp/imp918s.imp"
if (((REGISTER[REG]) < (0))) goto L_07d4;
#line 8019 "regression-compile-tmp/imp918s.imp"
REGISTER[REG] = 0;
#line 8019 "regression-compile-tmp/imp918s.imp"
GRUSE[REG] = 0;
#line 8019 "regression-compile-tmp/imp918s.imp"
GRINF[REG] = 0;
#line 8019 "regression-compile-tmp/imp918s.imp"
L_07d4:;
                                                                //   8020                  GRUSE(REG)=0 %AND GRINF(REG)=0
                                                                //   8021           %END
#line 8021 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block FREEANDFORGET at level 3
                                                                //   8022           %ROUTINE FORGETM(%INTEGER UPPER)
#line 8022 "regression-compile-tmp/imp918s.imp"
void FORGETM( int UPPER )
#line 8022 "regression-compile-tmp/imp918s.imp"
{
                                                                //   8023           {%SHORTROUTINE}
                                                                //   8024  !***********************************************************************
                                                                //   8025  !*       FORGETS A BLOCK OF REGISTERS DEFINED BY UPPER AND THE         *
                                                                //   8026  !*       GLOBAL ARRAY GRMAP                                            *
                                                                //   8027  !*       UPPER= 3   FOR   GRS 0-3                                      *
                                                                //   8028  !*       UPPER= 4   FOR   GRS  0-3  AND 15                             *
                                                                //   8029  !*       UPPER= 8   FOR   GRS  0-3  AND 15  PLUS ALL FRS               *
                                                                //   8030  !*       UPPER=14   FOR   GRS  0-8,14,15  AND ALL FRS                  *
                                                                //   8031  !***********************************************************************
                                                                //   8032           %INTEGER I,J,REG,U
#line 8032 "regression-compile-tmp/imp918s.imp"
int I;
#line 8032 "regression-compile-tmp/imp918s.imp"
int J;
#line 8032 "regression-compile-tmp/imp918s.imp"
int REG;
#line 8032 "regression-compile-tmp/imp918s.imp"
int U;
                                                                //   8033           %CYCLE I=0,1,UPPER
#line 8033 "regression-compile-tmp/imp918s.imp"
{static int _initial, _increment, _final, _control;
_initial = 0; _increment = 1; _final = UPPER; I = _control = _initial;
if (((_final-_initial) % _increment) != 0) _imp_signal(5,1,0,"Illegal cycle I = 0, 1, UPPER");
I -= _increment; _control -= _increment;
L_07d5:;
if (I == _final) goto L_07d6;
I += _increment; _control += _increment;
if (I != _control) _imp_signal(4,2,0,"Corrupt control variable I"); /* FOR loop control variable corrupted */
}
                                                                //   8034              REG=GRMAP(I)
#line 8034 "regression-compile-tmp/imp918s.imp"
REG = GRMAP[I];
                                                                //   8035              CCSTATE=-1 %IF CCSTATE&255=REG
#line 8035 "regression-compile-tmp/imp918s.imp"
if (((((CCSTATE) & (255))) != (REG))) goto L_07d8;
#line 8035 "regression-compile-tmp/imp918s.imp"
CCSTATE = (-1);
#line 8035 "regression-compile-tmp/imp918s.imp"
L_07d8:;
                                                                //   8036              %IF REGISTER(REG)=0 %THEN GRUSE(REG)=0 %AND GRINF(REG)=0
#line 8036 "regression-compile-tmp/imp918s.imp"
if (((REGISTER[REG]) != (0))) goto L_07d9;
#line 8036 "regression-compile-tmp/imp918s.imp"
GRUSE[REG] = 0;
#line 8036 "regression-compile-tmp/imp918s.imp"
GRINF[REG] = 0;
#line 8036 "regression-compile-tmp/imp918s.imp"
L_07d9:;
                                                                //   8037           %REPEAT
#line 8037 "regression-compile-tmp/imp918s.imp"
goto L_07d5;
#line 8037 "regression-compile-tmp/imp918s.imp"
L_07d6:;
                                                                //   8038           %END
#line 8038 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block FORGETM at level 3
                                                                //   8039           %ROUTINE SAVE IRS(%INTEGER UPPER)
#line 8039 "regression-compile-tmp/imp918s.imp"
void SAVEIRS( int UPPER )
#line 8039 "regression-compile-tmp/imp918s.imp"
{
                                                                //   8040           {%SHORTROUTINE}
                                                                //   8041  !***********************************************************************
                                                                //   8042  !*       INSPECTS THE REGISTERS DEFINED BY UPPER AND THE GLOBAL        *
                                                                //   8043  !*       ARRAY 'GRMAP'. ANY INTERMEDIATE RESULTS IN THESE REGISTERS    *
                                                                //   8044  !*       ARE TRANSFERED TO CORE BY 'BOOT OUT'                          *
                                                                //   8045  !*       UPPER=4 FOR GRS 1-3 & 15   (CORRUPTED BY PERM)                *
                                                                //   8046  !*       UPPER=8 FOR GRS 1-3 & 15 +FRS 0-6  (CORRUPTED BY FN CALL)     *
                                                                //   8047  !***********************************************************************
                                                                //   8048           %INTEGER I,REG
#line 8048 "regression-compile-tmp/imp918s.imp"
int I;
#line 8048 "regression-compile-tmp/imp918s.imp"
int REG;
                                                                //   8049           %CYCLE I=0,1,UPPER
#line 8049 "regression-compile-tmp/imp918s.imp"
{static int _initial, _increment, _final, _control;
_initial = 0; _increment = 1; _final = UPPER; I = _control = _initial;
if (((_final-_initial) % _increment) != 0) _imp_signal(5,1,0,"Illegal cycle I = 0, 1, UPPER");
I -= _increment; _control -= _increment;
L_07da:;
if (I == _final) goto L_07db;
I += _increment; _control += _increment;
if (I != _control) _imp_signal(4,2,0,"Corrupt control variable I"); /* FOR loop control variable corrupted */
}
                                                                //   8050             REG=GRMAP(I)
#line 8050 "regression-compile-tmp/imp918s.imp"
REG = GRMAP[I];
                                                                //   8051             BOOT OUT(REG) %IF REGISTER(REG)=1
#line 8051 "regression-compile-tmp/imp918s.imp"
if (((REGISTER[REG]) != (1))) goto L_07dd;
#line 8051 "regression-compile-tmp/imp918s.imp"
BOOTOUT(REG);
#line 8051 "regression-compile-tmp/imp918s.imp"
L_07dd:;
                                                                //   8052           %REPEAT
#line 8052 "regression-compile-tmp/imp918s.imp"
goto L_07da;
#line 8052 "regression-compile-tmp/imp918s.imp"
L_07db:;
                                                                //   8053           %END
#line 8053 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block SAVEIRS at level 3
                                                                //   8054           %ROUTINE SET USE(%INTEGER R,U,I)
#line 8054 "regression-compile-tmp/imp918s.imp"
void SETUSE( int R, int U, int I )
#line 8054 "regression-compile-tmp/imp918s.imp"
{
                                                                //   8055  !***********************************************************************
                                                                //   8056  !*       NOTE THAT THE USE OF REGISTER 'R' IS NOW 'U' & 'I'            *
                                                                //   8057  !***********************************************************************
                                                                //   8058           CCSTATE=-1 %IF CCSTATE&255=R
#line 8058 "regression-compile-tmp/imp918s.imp"
if (((((CCSTATE) & (255))) != (R))) goto L_07de;
#line 8058 "regression-compile-tmp/imp918s.imp"
CCSTATE = (-1);
#line 8058 "regression-compile-tmp/imp918s.imp"
L_07de:;
                                                                //   8059           %IF REGISTER(R)>=0 %THEN  GRUSE(R)=U %AND GRINF(R)=I%C
#line 8059 "regression-compile-tmp/imp918s.imp"
if (((REGISTER[R]) < (0))) goto L_07df;
#line 8059 "regression-compile-tmp/imp918s.imp"
GRUSE[R] = U;
#line 8059 "regression-compile-tmp/imp918s.imp"
GRINF[R] = I;
#line 8059 "regression-compile-tmp/imp918s.imp"
GRAT[R] = CA;
#line 8059 "regression-compile-tmp/imp918s.imp"
L_07df:;
                                                                //   8060               %AND GRAT(R)=CA
                                                                //   8061           %END
#line 8061 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block SETUSE at level 3
                                                                //   8062           %ROUTINE BOOT OUT(%INTEGER REG)
#line 8062 "regression-compile-tmp/imp918s.imp"
void BOOTOUT( int REG )
#line 8062 "regression-compile-tmp/imp918s.imp"
{
                                                                //   8063           {%SHORTROUTINE}
                                                                //   8064  !***********************************************************************
                                                                //   8065  !*       IF THE SPECIFIED REGISTER CONTAINS AN INTERMEDIATE RESULT     *
                                                                //   8066  !*       (USE=1) OR PARAMETER EN-ROUTE TO A ROUTINE (USE=15) THEN FREE *
                                                                //   8067  !*       THE REGISTER BY TRANSFERRING ITS CONTENTS TO CORE             *
                                                                //   8068  !***********************************************************************
                                                                //   8069           %INTEGER J,USE,BASE
#line 8069 "regression-compile-tmp/imp918s.imp"
int J;
#line 8069 "regression-compile-tmp/imp918s.imp"
int USE;
#line 8069 "regression-compile-tmp/imp918s.imp"
int BASE;
                                                                //   8070           %RECORD(RD)%NAME OPND
#line 8070 "regression-compile-tmp/imp918s.imp"
 RD /*name*/*OPND;
                                                                //   8071           USE=GRUSE(REG)
#line 8071 "regression-compile-tmp/imp918s.imp"
USE = GRUSE[REG];
                                                                //   8072           %IF USE=1 %OR USE=15 %THEN %START
#line 8072 "regression-compile-tmp/imp918s.imp"
if (((USE) == (1))) goto L_07dc;
#line 8072 "regression-compile-tmp/imp918s.imp"
if (((USE) != (15))) goto L_07e0;
#line 8072 "regression-compile-tmp/imp918s.imp"
L_07dc:;
                                                                //   8073              %IF USE=15 %THEN BASE=WSPR %AND J=REG<<2+64 %ELSE %START
#line 8073 "regression-compile-tmp/imp918s.imp"
if (((USE) != (15))) goto L_07e1;
#line 8073 "regression-compile-tmp/imp918s.imp"
BASE = 11;
#line 8073 "regression-compile-tmp/imp918s.imp"
J = (((int)(((REG) << (2)))) + (64));
#line 8073 "regression-compile-tmp/imp918s.imp"
goto L_07e2;
#line 8073 "regression-compile-tmp/imp918s.imp"
L_07e1:;
                                                                //   8074  ABORT %UNLESS ADDR(ASLIST(0))<=GRINF(REG)<=ADDR(ASLIST(32752))
#line 8074 "regression-compile-tmp/imp918s.imp"
if (({int tmp1 = _imp_ADDR(&ASLIST[0]), tmp2 = GRINF[REG], tmp3 = _imp_ADDR(&ASLIST[32752]); (tmp1 > tmp2) || (tmp2 <= tmp3);})) goto L_07e3;
#line 8074 "regression-compile-tmp/imp918s.imp"
L_0789:;
#line 8074 "regression-compile-tmp/imp918s.imp"
ABORT();
#line 8074 "regression-compile-tmp/imp918s.imp"
L_07e3:;
                                                                //   8075                 OPND==RECORD(GRINF(REG))
#line 8075 "regression-compile-tmp/imp918s.imp"
OPND =  (RD *) _imp_RECORD(GRINF[REG]);
                                                                //   8076                 %RETURN %UNLESS OPND_FLAG=9 %AND OPND_D<0
#line 8076 "regression-compile-tmp/imp918s.imp"
if (((OPND->FLAG) != (9))) goto L_07e4;
#line 8076 "regression-compile-tmp/imp918s.imp"
if (((OPND->D) < (0))) goto L_07e5;
#line 8076 "regression-compile-tmp/imp918s.imp"
L_07e4:;
#line 8076 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 8076 "regression-compile-tmp/imp918s.imp"
L_07e5:;
                                                                //   8077                 GET WSP(J,1+REG>>4)
#line 8077 "regression-compile-tmp/imp918s.imp"
GETWSP(&J, ((1) + ((int)((int)((((unsigned int)(REG)) >> (4)))))));
                                                                //   8078                 OPND_XB=RBASE; OPND_D=J; BASE=RBASE
#line 8078 "regression-compile-tmp/imp918s.imp"
OPND->XB = RBASE;
#line 8078 "regression-compile-tmp/imp918s.imp"
OPND->D = J;
#line 8078 "regression-compile-tmp/imp918s.imp"
BASE = RBASE;
                                                                //   8079              %FINISH
#line 8079 "regression-compile-tmp/imp918s.imp"
L_07e2:;
                                                                //   8080              DUMP(X'50'+REG&16,REG&15,J,0,BASE)
#line 8080 "regression-compile-tmp/imp918s.imp"
DUMP(((80) + ((int)(((REG) & (16))))), ((REG) & (15)), J, 0, BASE);
                                                                //   8081              FREE AND FORGET(REG)
#line 8081 "regression-compile-tmp/imp918s.imp"
FREEANDFORGET(REG);
                                                                //   8082           %FINISH
#line 8082 "regression-compile-tmp/imp918s.imp"
L_07e0:;
                                                                //   8083           %END
#line 8083 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block BOOTOUT at level 3
                                                                //   8084  %ROUTINE FINDREG(%INTEGER CONTROL, %INTEGERNAME REG)
#line 8084 "regression-compile-tmp/imp918s.imp"
void FINDREG( int CONTROL, int /*name*/*REG )
#line 8084 "regression-compile-tmp/imp918s.imp"
{
                                                                //   8085  {%SHORTROUTINE}
                                                                //   8086  %INTEGER I, J, K, LAST, LAT, AND, AD
#line 8086 "regression-compile-tmp/imp918s.imp"
int I;
#line 8086 "regression-compile-tmp/imp918s.imp"
int J;
#line 8086 "regression-compile-tmp/imp918s.imp"
int K;
#line 8086 "regression-compile-tmp/imp918s.imp"
int LAST;
#line 8086 "regression-compile-tmp/imp918s.imp"
int LAT;
#line 8086 "regression-compile-tmp/imp918s.imp"
int AND;
#line 8086 "regression-compile-tmp/imp918s.imp"
int AD;
                                                                //   8087           %IF CONTROL=FR0 %THEN AND=31 %ELSE AND=15
#line 8087 "regression-compile-tmp/imp918s.imp"
if (((CONTROL) != ((-125424)))) goto L_07e6;
#line 8087 "regression-compile-tmp/imp918s.imp"
AND = 31;
#line 8087 "regression-compile-tmp/imp918s.imp"
goto L_07e7;
#line 8087 "regression-compile-tmp/imp918s.imp"
L_07e6:;
#line 8087 "regression-compile-tmp/imp918s.imp"
AND = 15;
#line 8087 "regression-compile-tmp/imp918s.imp"
L_07e7:;
                                                                //   8088           AD=ADDR(CONTROL);  LAST=-1;  LAT=CA
#line 8088 "regression-compile-tmp/imp918s.imp"
AD = _imp_ADDR(&CONTROL);
#line 8088 "regression-compile-tmp/imp918s.imp"
LAST = (-1);
#line 8088 "regression-compile-tmp/imp918s.imp"
LAT = CA;
                                                                //   8089           %CYCLE J=0, 1, 1
#line 8089 "regression-compile-tmp/imp918s.imp"
J = (-1);
if ((((1)-(0)) % (1)) != 0) _imp_signal(5,1,0,"Illegal cycle J = 0, 1, 1");
L_07e8:;
if (J == 1) goto L_07e9;
J += 1;
                                                                //   8090              %CYCLE K=BYTE INTEGER(AD+2), SHORT INTEGER(AD),  %C
#line 8090 "regression-compile-tmp/imp918s.imp"
{static int _initial, _increment, _final, _control;
_initial = *_imp_BYTEINTEGER((((int)(AD)) + (2))); _increment = *_imp_SHORTINTEGER(AD); _final = *_imp_BYTEINTEGER((((int)(AD)) + (3))); K = _control = _initial;
if (((_final-_initial) % _increment) != 0) _imp_signal(5,1,0,"Illegal cycle K = *_imp_BYTEINTEGER((((int)(AD)) + (2))), *_imp_SHORTINTEGER(AD), *_imp_BYTEINTEGER((((int)(AD)) + (3)))");
K -= _increment; _control -= _increment;
L_07eb:;
if (K == _final) goto L_07ec;
K += _increment; _control += _increment;
if (K != _control) _imp_signal(4,2,0,"Corrupt control variable K"); /* FOR loop control variable corrupted */
}
                                                                //   8091                 BYTE INTEGER(AD+3)
                                                                //   8092                 I=K&AND
#line 8092 "regression-compile-tmp/imp918s.imp"
I = ((K) & (AND));
                                                                //   8093                 BOOT OUT(I) %IF REGISTER(I)=1 %AND J>0
#line 8093 "regression-compile-tmp/imp918s.imp"
if (((REGISTER[I]) != (1))) goto L_07ee;
#line 8093 "regression-compile-tmp/imp918s.imp"
if (((J) <= (0))) goto L_07ee;
#line 8093 "regression-compile-tmp/imp918s.imp"
BOOTOUT(I);
#line 8093 "regression-compile-tmp/imp918s.imp"
L_07ee:;
                                                                //   8094                 %IF REGISTER(I)=0 %THEN %START
#line 8094 "regression-compile-tmp/imp918s.imp"
if (((REGISTER[I]) != (0))) goto L_07ef;
                                                                //   8095                    ->FOUND %IF GRUSE(I)<=1 %OR J>0
#line 8095 "regression-compile-tmp/imp918s.imp"
if (((GRUSE[I]) <= (1))) goto L_06b7;
#line 8095 "regression-compile-tmp/imp918s.imp"
if (((J) <= (0))) goto L_07f0;
#line 8095 "regression-compile-tmp/imp918s.imp"
L_06b7:;
#line 8095 "regression-compile-tmp/imp918s.imp"
goto U_1030;
#line 8095 "regression-compile-tmp/imp918s.imp"
L_07f0:;
                                                                //   8096                    %IF GRAT(I)<LAT %THEN  LAST=I %AND LAT=GRAT(I)
#line 8096 "regression-compile-tmp/imp918s.imp"
if (((GRAT[I]) >= (LAT))) goto L_07f1;
#line 8096 "regression-compile-tmp/imp918s.imp"
LAST = I;
#line 8096 "regression-compile-tmp/imp918s.imp"
LAT = GRAT[I];
#line 8096 "regression-compile-tmp/imp918s.imp"
L_07f1:;
                                                                //   8097                 %FINISH
#line 8097 "regression-compile-tmp/imp918s.imp"
L_07ef:;
                                                                //   8098              %REPEAT
#line 8098 "regression-compile-tmp/imp918s.imp"
goto L_07eb;
#line 8098 "regression-compile-tmp/imp918s.imp"
L_07ec:;
                                                                //   8099              I=LAST
#line 8099 "regression-compile-tmp/imp918s.imp"
I = LAST;
                                                                //   8100              %IF J=0 %AND LAST>0 %THEN ->FOUND
#line 8100 "regression-compile-tmp/imp918s.imp"
if (((J) != (0))) goto L_07f2;
#line 8100 "regression-compile-tmp/imp918s.imp"
if (((LAST) <= (0))) goto L_07f2;
#line 8100 "regression-compile-tmp/imp918s.imp"
goto U_1030;
#line 8100 "regression-compile-tmp/imp918s.imp"
L_07f2:;
                                                                //   8101           %REPEAT
#line 8101 "regression-compile-tmp/imp918s.imp"
goto L_07e8;
#line 8101 "regression-compile-tmp/imp918s.imp"
L_07e9:;
                                                                //   8102           %IF CONTROL=CLMABL %THEN I=1 %ELSE ABORT
#line 8102 "regression-compile-tmp/imp918s.imp"
if (((CONTROL) != (66830))) goto L_07f3;
#line 8102 "regression-compile-tmp/imp918s.imp"
I = 1;
#line 8102 "regression-compile-tmp/imp918s.imp"
goto L_07f4;
#line 8102 "regression-compile-tmp/imp918s.imp"
L_07f3:;
#line 8102 "regression-compile-tmp/imp918s.imp"
ABORT();
#line 8102 "regression-compile-tmp/imp918s.imp"
L_07f4:;
                                                                //   8103  FOUND:   REG=I&15
#line 8103 "regression-compile-tmp/imp918s.imp"
U_1030:;
#line 8103 "regression-compile-tmp/imp918s.imp"
*REG = ((I) & (15));
                                                                //   8104           %IF CONTROL=SAFE %THEN CYC BITS=CYCBITS!128
#line 8104 "regression-compile-tmp/imp918s.imp"
if (((CONTROL) != ((-61948)))) goto L_07f5;
#line 8104 "regression-compile-tmp/imp918s.imp"
CYCBITS = ((CYCBITS) | (128));
#line 8104 "regression-compile-tmp/imp918s.imp"
L_07f5:;
                                                                //   8105                                          ! SAFE REG REQD
                                                                //   8106  %END
#line 8106 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block FINDREG at level 3
                                                                //   8107  %ROUTINE CLAIM(%INTEGER CONTROL, %INTEGERNAME REG)
#line 8107 "regression-compile-tmp/imp918s.imp"
void CLAIM( int CONTROL, int /*name*/*REG )
#line 8107 "regression-compile-tmp/imp918s.imp"
{
                                                                //   8108  {%SHORTROUTINE}
                                                                //   8109  %INTEGER I
#line 8109 "regression-compile-tmp/imp918s.imp"
int I;
                                                                //   8110           FIND REG(CONTROL, I)
#line 8110 "regression-compile-tmp/imp918s.imp"
FINDREG(CONTROL, &I);
                                                                //   8111           %IF CONTROL=FR0 %THEN I=I+16
#line 8111 "regression-compile-tmp/imp918s.imp"
if (((CONTROL) != ((-125424)))) goto L_07f6;
#line 8111 "regression-compile-tmp/imp918s.imp"
I = (((int)(I)) + (16));
#line 8111 "regression-compile-tmp/imp918s.imp"
L_07f6:;
                                                                //   8112           REGISTER(I)=1
#line 8112 "regression-compile-tmp/imp918s.imp"
REGISTER[I] = 1;
                                                                //   8113           REG=I&15
#line 8113 "regression-compile-tmp/imp918s.imp"
*REG = ((I) & (15));
                                                                //   8114  %END
#line 8114 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block CLAIM at level 3
                                                                //   8115  %ROUTINE CLAIM THIS REG(%INTEGER REG)
#line 8115 "regression-compile-tmp/imp918s.imp"
void CLAIMTHISREG( int REG )
#line 8115 "regression-compile-tmp/imp918s.imp"
{
                                                                //   8116  {%SHORTROUTINE}
                                                                //   8117  !***********************************************************************
                                                                //   8118  !*       CLAIMS THE REGISTER AND PRESERVES CONTENTS IF                 *
                                                                //   8119  !*       THE REGISTER IS ALREADY CLAIMED                               *
                                                                //   8120  !***********************************************************************
                                                                //   8121           BOOT OUT(REG) %IF REGISTER(REG)=1
#line 8121 "regression-compile-tmp/imp918s.imp"
if (((REGISTER[REG]) != (1))) goto L_07f7;
#line 8121 "regression-compile-tmp/imp918s.imp"
BOOTOUT(REG);
#line 8121 "regression-compile-tmp/imp918s.imp"
L_07f7:;
                                                                //   8122           %IF REGISTER(REG)#0 %THEN ABORT
#line 8122 "regression-compile-tmp/imp918s.imp"
if (((REGISTER[REG]) == (0))) goto L_07f8;
#line 8122 "regression-compile-tmp/imp918s.imp"
ABORT();
#line 8122 "regression-compile-tmp/imp918s.imp"
L_07f8:;
                                                                //   8123           REGISTER(REG)=1
#line 8123 "regression-compile-tmp/imp918s.imp"
REGISTER[REG] = 1;
                                                                //   8124  %END
#line 8124 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block CLAIMTHISREG at level 3
                                                                //   8125  %ROUTINE FIND USE(%INTEGERNAME REG, %INTEGER TYPE, USE, INF)
#line 8125 "regression-compile-tmp/imp918s.imp"
void FINDUSE( int /*name*/*REG, int TYPE, int USE, int INF )
#line 8125 "regression-compile-tmp/imp918s.imp"
{
                                                                //   8126  %INTEGER I, L, U, J
#line 8126 "regression-compile-tmp/imp918s.imp"
int I;
#line 8126 "regression-compile-tmp/imp918s.imp"
int L;
#line 8126 "regression-compile-tmp/imp918s.imp"
int U;
#line 8126 "regression-compile-tmp/imp918s.imp"
int J;
                                                                //   8127  %CONSTINTEGERARRAY FMAP(1:16)=4,8,12,16,20,24,28,32,56,60,0,
#line 8127 "regression-compile-tmp/imp918s.imp"
const int FMAP[16] = { 4, 8, 12, 16, 20, 24, 28, 32, 56, 60, 0, 48, 64, 72, 80, 88,  };
                                                                //   8128                                 48,64,72,80,88;
                                                                //   8129           %IF TYPE=2 %THEN L=52 %AND U=64 %ELSE L=4 %AND U=48
#line 8129 "regression-compile-tmp/imp918s.imp"
if (((TYPE) != (2))) goto L_07f9;
#line 8129 "regression-compile-tmp/imp918s.imp"
L = 52;
#line 8129 "regression-compile-tmp/imp918s.imp"
U = 64;
#line 8129 "regression-compile-tmp/imp918s.imp"
goto L_07fa;
#line 8129 "regression-compile-tmp/imp918s.imp"
L_07f9:;
#line 8129 "regression-compile-tmp/imp918s.imp"
L = 4;
#line 8129 "regression-compile-tmp/imp918s.imp"
U = 48;
#line 8129 "regression-compile-tmp/imp918s.imp"
L_07fa:;
                                                                //   8130  !         %CYCLE J=L,1,U
                                                                //   8131  !            I=FMAP(J)
                                                                //   8132  !            %IF GRUSE(I)=USE %AND(GRINF(I)=INF%OR INF=-1) %THEN ->HIT
                                                                //   8133  !         %REPEAT
                                                                //   8134  !%if USE MC = 1 %start
                                                                //   8135  !         *L_1,L; *LA_2,4;*L_3,U
                                                                //   8136  !         *L_15,FMAP; *SR_0,0; *BCTR_0,0
                                                                //   8137  !         *LM_4,5,USE
                                                                //   8138  !AGN:     *L_14,0(1,15);                 ! I=FMAP(J)*4
                                                                //   8139  !         *C_4,GRUSE+16(14); *BC_7,<REP>
                                                                //   8140  !         *C_5,GRINF+16(14); *BC_8,<HIT>
                                                                //   8141  !         *CR_0,5; *BC_8,<HIT>
                                                                //   8142  !REP:     *BXLE_1,2,<AGN>
                                                                //   8143  !%finish
                                                                //   8144           REG=-1
#line 8144 "regression-compile-tmp/imp918s.imp"
*REG = (-1);
                                                                //   8145           %RETURN
#line 8145 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   8146  HIT:
#line 8146 "regression-compile-tmp/imp918s.imp"
U_1030:;
                                                                //   8147  !         GRAT(I)=CA
                                                                //   8148  !         REG=I
                                                                //   8149  !%if USE MC = 1 %start
                                                                //   8150  !         *L_0,CA; *ST_0,GRAT+16(14)
                                                                //   8151  !         *SRL_14,2; *L_1,REG; *ST_14,0(1)
                                                                //   8152  !%finish
                                                                //   8153  %END
#line 8153 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block FINDUSE at level 3
                                                                //   8154  %ROUTINE FIND SEQ(%INTEGERNAME ONE, TWO)
#line 8154 "regression-compile-tmp/imp918s.imp"
void FINDSEQ( int /*name*/*ONE, int /*name*/*TWO )
#line 8154 "regression-compile-tmp/imp918s.imp"
{
                                                                //   8155  {%SHORTROUTINE}
                                                                //   8156  !***********************************************************************
                                                                //   8157  !*       FINDS TWO REGISTERS FOR LM OR STM THAT ARE ADJACENT           *
                                                                //   8158  !*       ALLOWING FOR WRAP AROUND. NOT USED VERY MUCH SO IS FAIRLY     *
                                                                //   8159  !*       PRIMITIVE COMPARED TO 'FIND REG'                              *
                                                                //   8160  !***********************************************************************
                                                                //   8161  %INTEGER J, P1, P2, K
#line 8161 "regression-compile-tmp/imp918s.imp"
int J;
#line 8161 "regression-compile-tmp/imp918s.imp"
int P1;
#line 8161 "regression-compile-tmp/imp918s.imp"
int P2;
#line 8161 "regression-compile-tmp/imp918s.imp"
int K;
                                                                //   8162           %CYCLE K=0, 1, 1
#line 8162 "regression-compile-tmp/imp918s.imp"
K = (-1);
if ((((1)-(0)) % (1)) != 0) _imp_signal(5,1,0,"Illegal cycle K = 0, 1, 1");
L_07fb:;
if (K == 1) goto L_07fc;
K += 1;
                                                                //   8163              %CYCLE J=14, 1, RBASE+31;   ! TWO PASSES THROUGH GRS
#line 8163 "regression-compile-tmp/imp918s.imp"
{static int _initial, _increment, _final, _control;
_initial = 14; _increment = 1; _final = (((int)(RBASE)) + (31)); J = _control = _initial;
if (((_final-_initial) % _increment) != 0) _imp_signal(5,1,0,"Illegal cycle J = 14, 1, (((int)(RBASE)) + (31))");
J -= _increment; _control -= _increment;
L_07fe:;
if (J == _final) goto L_07ff;
J += _increment; _control += _increment;
if (J != _control) _imp_signal(4,2,0,"Corrupt control variable J"); /* FOR loop control variable corrupted */
}
                                                                //   8164                 P1=J&15;  P2=(J+1)&15
#line 8164 "regression-compile-tmp/imp918s.imp"
P1 = ((J) & (15));
#line 8164 "regression-compile-tmp/imp918s.imp"
P2 = (((((int)(J)) + (1))) & (15));
                                                                //   8165                 ->FOUND %IF REGISTER(P1)=0 %AND REGISTER(P2)=0 %C
#line 8165 "regression-compile-tmp/imp918s.imp"
if (((REGISTER[P1]) != (0))) goto L_0801;
#line 8165 "regression-compile-tmp/imp918s.imp"
if (((REGISTER[P2]) != (0))) goto L_0801;
#line 8165 "regression-compile-tmp/imp918s.imp"
if (((J) >= (30))) goto L_0802;
#line 8165 "regression-compile-tmp/imp918s.imp"
if ((((GRUSE[P1]) > (1))) || (((1) < (GRUSE[P2])))) goto L_0801;
#line 8165 "regression-compile-tmp/imp918s.imp"
L_0802:;
#line 8165 "regression-compile-tmp/imp918s.imp"
goto U_1017;
#line 8165 "regression-compile-tmp/imp918s.imp"
L_0801:;
                                                                //   8166                    %AND (J>=30 %OR GRUSE(P1)<=1>=GRUSE(P2))
                                                                //   8167              %REPEAT
#line 8167 "regression-compile-tmp/imp918s.imp"
goto L_07fe;
#line 8167 "regression-compile-tmp/imp918s.imp"
L_07ff:;
                                                                //   8168              SAVEIRS(4)
#line 8168 "regression-compile-tmp/imp918s.imp"
SAVEIRS(4);
                                                                //   8169           %REPEAT
#line 8169 "regression-compile-tmp/imp918s.imp"
goto L_07fb;
#line 8169 "regression-compile-tmp/imp918s.imp"
L_07fc:;
                                                                //   8170           ABORT;                         ! ALMOST INCONCEIVABLE!
#line 8170 "regression-compile-tmp/imp918s.imp"
ABORT();
                                                                //   8171  FOUND:   ONE=P1;  TWO=P2
#line 8171 "regression-compile-tmp/imp918s.imp"
U_1017:;
#line 8171 "regression-compile-tmp/imp918s.imp"
*ONE = P1;
#line 8171 "regression-compile-tmp/imp918s.imp"
*TWO = P2;
                                                                //   8172  %END
#line 8172 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block FINDSEQ at level 3
                                                                //   8173  !******END OF REGISTER ALLOCATING ROUTINES*******
                                                                //   8174  !
                                                                //   8175  !
                                                                //   8176  !***********************************************************************
                                                                //   8177  !*           START OF TAG HANDLING ROUTINES                            *
                                                                //   8178  !*       TAGS TAKE THE FORM                                            *
                                                                //   8179  !*       S1=PTYPE<<16!USEBITS<<12!LEVEL<<8!BASEREG<<14!DIMENSN         *
                                                                //   8180  !*       S2=SECONDARY DISP<<16!ITEM SIZE                               *
                                                                //   8181  !*       S3=PRIMARY DISP<<16!FORM                                      *
                                                                //   8182  !*       WHERE:-                                                       *
                                                                //   8183  !*       PTYPE=ROUT,NAM,ARR,PREC & TYPE PACKED INTO 16 BITS            *
                                                                //   8184  !*       USEBITS(L-R)= ANY USE,STORED,ADDRESSED,READ                   *
                                                                //   8185  !*       LEVEL=TEXTUAL LEVEL OF DECLARATION                            *
                                                                //   8186  !*       BASEREG & DIMENSN ARE OBVIOUS                                 *
                                                                //   8187  !*                                                                     * 
                                                                //   8188  !*       SNDARY DISP(SIGNED)= DISP OF A0 FROM LEVEL PTR                *
                                                                //   8189  !*       PRMY DISP= POSITION OF ITEM OR ITS POINTER IN STACK FRAME     *
                                                                //   8190  !*       FORM=POINTER TO FORMAT(RECORDS) OR VALUE (%CONSTS)            *
                                                                //   8191  !***********************************************************************
                                                                //   8192  !
                                                                //   8193  %ROUTINE NOTE ASSMENT(%INTEGER REG, ASSOP, VAR)
#line 8193 "regression-compile-tmp/imp918s.imp"
void NOTEASSMENT( int REG, int ASSOP, int VAR )
#line 8193 "regression-compile-tmp/imp918s.imp"
{
                                                                //   8194  {%SHORTROUTINE}
                                                                //   8195  !***********************************************************************
                                                                //   8196  !*       NOTES THE ASSIGNMENT TO SCALAR 'VAR'.  THIS INVOLVES REMOVING *
                                                                //   8197  !*       OLD COPIES FROM REGISTERS TO AVOID CONFUSING OLD AND NEW VALUE*
                                                                //   8198  !*       ASSOP =1 FOR'==',=2 FOR '=',=3 FOR '<-'                       *
                                                                //   8199  !***********************************************************************
                                                                //   8200  %INTEGER I, J, K, L, U, AND, STEP, CCS
#line 8200 "regression-compile-tmp/imp918s.imp"
int I;
#line 8200 "regression-compile-tmp/imp918s.imp"
int J;
#line 8200 "regression-compile-tmp/imp918s.imp"
int K;
#line 8200 "regression-compile-tmp/imp918s.imp"
int L;
#line 8200 "regression-compile-tmp/imp918s.imp"
int U;
#line 8200 "regression-compile-tmp/imp918s.imp"
int AND;
#line 8200 "regression-compile-tmp/imp918s.imp"
int STEP;
#line 8200 "regression-compile-tmp/imp918s.imp"
int CCS;
                                                                //   8201           %IF VAR=CUR CYC VAR %THEN CYC BITS=CYC BITS!32
#line 8201 "regression-compile-tmp/imp918s.imp"
if (((VAR) != (CURCYCVAR))) goto L_0803;
#line 8201 "regression-compile-tmp/imp918s.imp"
CYCBITS = ((CYCBITS) | (32));
#line 8201 "regression-compile-tmp/imp918s.imp"
L_0803:;
                                                                //   8202           K=TAGS(VAR);  L=14;  U=RBASE+15;  AND=15;  STEP=1
#line 8202 "regression-compile-tmp/imp918s.imp"
K = TAGS[VAR];
#line 8202 "regression-compile-tmp/imp918s.imp"
L = 14;
#line 8202 "regression-compile-tmp/imp918s.imp"
U = (((int)(RBASE)) + (15));
#line 8202 "regression-compile-tmp/imp918s.imp"
AND = 15;
#line 8202 "regression-compile-tmp/imp918s.imp"
STEP = 1;
                                                                //   8203           %IF TYPE=2 %AND ASSOP#1 %THEN %START
#line 8203 "regression-compile-tmp/imp918s.imp"
if (((TYPE) != (2))) goto L_0804;
#line 8203 "regression-compile-tmp/imp918s.imp"
if (((ASSOP) == (1))) goto L_0804;
                                                                //   8204              L=16;  U=22;  AND=31;  STEP=2;  REG=REG!16
#line 8204 "regression-compile-tmp/imp918s.imp"
L = 16;
#line 8204 "regression-compile-tmp/imp918s.imp"
U = 22;
#line 8204 "regression-compile-tmp/imp918s.imp"
AND = 31;
#line 8204 "regression-compile-tmp/imp918s.imp"
STEP = 2;
#line 8204 "regression-compile-tmp/imp918s.imp"
REG = ((REG) | (16));
                                                                //   8205           %FINISH
#line 8205 "regression-compile-tmp/imp918s.imp"
L_0804:;
                                                                //   8206           %IF CCSTATE&255=REG %THEN CCS=CCSTATE %ELSE CCS=0
#line 8206 "regression-compile-tmp/imp918s.imp"
if (((((CCSTATE) & (255))) != (REG))) goto L_0805;
#line 8206 "regression-compile-tmp/imp918s.imp"
CCS = CCSTATE;
#line 8206 "regression-compile-tmp/imp918s.imp"
goto L_0806;
#line 8206 "regression-compile-tmp/imp918s.imp"
L_0805:;
#line 8206 "regression-compile-tmp/imp918s.imp"
CCS = 0;
#line 8206 "regression-compile-tmp/imp918s.imp"
L_0806:;
                                                                //   8207           %CYCLE I=L, STEP, U;  J=I&AND
#line 8207 "regression-compile-tmp/imp918s.imp"
{static int _initial, _increment, _final, _control;
_initial = L; _increment = STEP; _final = U; I = _control = _initial;
if (((_final-_initial) % _increment) != 0) _imp_signal(5,1,0,"Illegal cycle I = L, STEP, U");
I -= _increment; _control -= _increment;
L_0807:;
if (I == _final) goto L_0808;
I += _increment; _control += _increment;
if (I != _control) _imp_signal(4,2,0,"Corrupt control variable I"); /* FOR loop control variable corrupted */
}
#line 8207 "regression-compile-tmp/imp918s.imp"
J = ((I) & (AND));
                                                                //   8208              FORGET(J) %C
#line 8208 "regression-compile-tmp/imp918s.imp"
if (((K) != (((GRINF[J]) & (65535))))) goto L_080a;
#line 8208 "regression-compile-tmp/imp918s.imp"
if (((REGISTER[J]) != (0))) goto L_080a;
#line 8208 "regression-compile-tmp/imp918s.imp"
if (((GRUSE[J]) == (3))) goto L_0800;
#line 8208 "regression-compile-tmp/imp918s.imp"
if (((GRUSE[J]) == (9))) goto L_0800;
#line 8208 "regression-compile-tmp/imp918s.imp"
if (((GRUSE[J]) != (7))) goto L_080a;
#line 8208 "regression-compile-tmp/imp918s.imp"
if (((ASSOP) != (1))) goto L_080a;
#line 8208 "regression-compile-tmp/imp918s.imp"
L_0800:;
#line 8208 "regression-compile-tmp/imp918s.imp"
FORGET(J);
#line 8208 "regression-compile-tmp/imp918s.imp"
L_080a:;
                                                                //   8209                 %IF K=GRINF(J)&X'FFFF' %AND REGISTER(J)=0 %AND (GRUSE( %C
                                                                //   8210                 J)=3 %OR GRUSE(J)=9 %OR (GRUSE(J)=7 %AND ASSOP=1))
                                                                //   8211           %REPEAT
#line 8211 "regression-compile-tmp/imp918s.imp"
goto L_0807;
#line 8211 "regression-compile-tmp/imp918s.imp"
L_0808:;
                                                                //   8212           ->Label99 %IF REG<0 %OR (GRUSE(REG)=2 %AND 0<=GRINF(REG)<=2)
#line 8212 "regression-compile-tmp/imp918s.imp"
if (((REG) < (0))) goto L_0809;
#line 8212 "regression-compile-tmp/imp918s.imp"
if (((GRUSE[REG]) != (2))) goto L_080b;
#line 8212 "regression-compile-tmp/imp918s.imp"
if ((((0) > (GRINF[REG]))) || (((GRINF[REG]) > (2)))) goto L_080b;
#line 8212 "regression-compile-tmp/imp918s.imp"
L_0809:;
#line 8212 "regression-compile-tmp/imp918s.imp"
goto U_1032;
#line 8212 "regression-compile-tmp/imp918s.imp"
L_080b:;
                                                                //   8213           ->Label99 %IF ASSOP=3 %OR REGISTER(REG)<0
#line 8213 "regression-compile-tmp/imp918s.imp"
if (((ASSOP) == (3))) goto L_080c;
#line 8213 "regression-compile-tmp/imp918s.imp"
if (((REGISTER[REG]) >= (0))) goto L_080d;
#line 8213 "regression-compile-tmp/imp918s.imp"
L_080c:;
#line 8213 "regression-compile-tmp/imp918s.imp"
goto U_1032;
#line 8213 "regression-compile-tmp/imp918s.imp"
L_080d:;
                                                                //   8214           %IF ASSOP=1 %THEN J=7 %ELSE J=3
#line 8214 "regression-compile-tmp/imp918s.imp"
if (((ASSOP) != (1))) goto L_080e;
#line 8214 "regression-compile-tmp/imp918s.imp"
J = 7;
#line 8214 "regression-compile-tmp/imp918s.imp"
goto L_080f;
#line 8214 "regression-compile-tmp/imp918s.imp"
L_080e:;
#line 8214 "regression-compile-tmp/imp918s.imp"
J = 3;
#line 8214 "regression-compile-tmp/imp918s.imp"
L_080f:;
                                                                //   8215  !         SET USE(REG, J, K)
                                                                //   8216           GRUSE(REG)=J; GRINF(REG)=K; GRAT(REG)=CA
#line 8216 "regression-compile-tmp/imp918s.imp"
GRUSE[REG] = J;
#line 8216 "regression-compile-tmp/imp918s.imp"
GRINF[REG] = K;
#line 8216 "regression-compile-tmp/imp918s.imp"
GRAT[REG] = CA;
                                                                //   8217           CCSTATE=CCS %UNLESS CCS=0
#line 8217 "regression-compile-tmp/imp918s.imp"
if (((CCS) == (0))) goto L_0810;
#line 8217 "regression-compile-tmp/imp918s.imp"
CCSTATE = CCS;
#line 8217 "regression-compile-tmp/imp918s.imp"
L_0810:;
                                                                //   8218  Label99: %END
#line 8218 "regression-compile-tmp/imp918s.imp"
U_1032:;
#line 8218 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block NOTEASSMENT at level 3
                                                                //   8219  %ROUTINE STORE TAG(%INTEGER KK, SLINK)
#line 8219 "regression-compile-tmp/imp918s.imp"
void STORETAG( int KK, int SLINK )
#line 8219 "regression-compile-tmp/imp918s.imp"
{
                                                                //   8220  %INTEGER Q
#line 8220 "regression-compile-tmp/imp918s.imp"
int Q;
                                                                //   8221           Q=PTYPE<<16!LEVEL<<8!RBASE<<4!J
#line 8221 "regression-compile-tmp/imp918s.imp"
Q = ((((((((PTYPE) << (16))) | (((LEVEL) << (8))))) | (((RBASE) << (4))))) | (J));
                                                                //   8222           SLINK=SLINK<<16!KFORM&X'FFFF'
#line 8222 "regression-compile-tmp/imp918s.imp"
SLINK = ((((SLINK) << (16))) | (((KFORM) & (65535))));
                                                                //   8223           PUSH123(TAGS(KK), Q, INTEGER(ADDR(SNDISP)), SLINK)
#line 8223 "regression-compile-tmp/imp918s.imp"
PUSH123(&TAGS[KK], Q, *_imp_INTEGER(_imp_ADDR(&SNDISP)), SLINK);
                                                                //   8224           SHORTINTEGER(ADDR(ASLIST(TAGS(KK)))+12)=NAMES(LEVEL)
#line 8224 "regression-compile-tmp/imp918s.imp"
*_imp_SHORTINTEGER((((int)(_imp_ADDR(&ASLIST[TAGS[KK]]))) + (12))) = NAMES[LEVEL];
                                                                //   8225           NAMES(LEVEL)=KK
#line 8225 "regression-compile-tmp/imp918s.imp"
NAMES[LEVEL] = KK;
                                                                //   8226  %END
#line 8226 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block STORETAG at level 3
                                                                //   8227  %ROUTINE TEST APP(%INTEGERNAME NUM)
#line 8227 "regression-compile-tmp/imp918s.imp"
void TESTAPP( int /*name*/*NUM )
#line 8227 "regression-compile-tmp/imp918s.imp"
{
                                                                //   8228  {%SHORTROUTINE}
                                                                //   8229  !***********************************************************************
                                                                //   8230  !*       THIS ROUTINE COUNTS THE NUMBER OF ACTUAL PARAMETERS           *
                                                                //   8231  !*       WHICH IT RETURNS IN NUM.                                      *
                                                                //   8232  !***********************************************************************
                                                                //   8233  %INTEGER PP, Q
#line 8233 "regression-compile-tmp/imp918s.imp"
int PP;
#line 8233 "regression-compile-tmp/imp918s.imp"
int Q;
                                                                //   8234           Q=0;  PP=P;  P=P+1;            ! P ON NAME AT ENTRY
#line 8234 "regression-compile-tmp/imp918s.imp"
Q = 0;
#line 8234 "regression-compile-tmp/imp918s.imp"
PP = P;
#line 8234 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
                                                                //   8235           %WHILE A(P)=1 %CYCLE;          ! NO (MORE) PARAMETERS
#line 8235 "regression-compile-tmp/imp918s.imp"
L_0811:;
#line 8235 "regression-compile-tmp/imp918s.imp"
if (((A[((P) + ((int)(7)))]) != (1))) goto L_0812;
                                                                //   8236              P=P+1;  Q=Q+1
#line 8236 "regression-compile-tmp/imp918s.imp"
P = (((int)(P)) + (1));
#line 8236 "regression-compile-tmp/imp918s.imp"
Q = (((int)(Q)) + (1));
                                                                //   8237              SKIP EXP
#line 8237 "regression-compile-tmp/imp918s.imp"
SKIPEXP();
                                                                //   8238           %REPEAT
#line 8238 "regression-compile-tmp/imp918s.imp"
goto L_0811;
#line 8238 "regression-compile-tmp/imp918s.imp"
L_0812:;
                                                                //   8239           P=PP;  NUM=Q
#line 8239 "regression-compile-tmp/imp918s.imp"
P = PP;
#line 8239 "regression-compile-tmp/imp918s.imp"
*NUM = Q;
                                                                //   8240  %END
#line 8240 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block TESTAPP at level 3
                                                                //   8241  %ROUTINE COPY TAG(%INTEGER KK)
#line 8241 "regression-compile-tmp/imp918s.imp"
void COPYTAG( int KK )
#line 8241 "regression-compile-tmp/imp918s.imp"
{
                                                                //   8242  %LONGREAL WORK
#line 8242 "regression-compile-tmp/imp918s.imp"
double WORK;
                                                                //   8243           TCELL=TAGS(KK)
#line 8243 "regression-compile-tmp/imp918s.imp"
TCELL = TAGS[KK];
                                                                //   8244  !%if USE MC = 1 %start
                                                                //   8245  !         *XC_PTYPE(20),PTYPE
                                                                //   8246  !         *L_1,TCELL
                                                                //   8247  !         *LTR_1,1;  *BC_8,<NOTSET>
                                                                //   8248  !         *A_1,ASLIST
                                                                //   8249  !         *UNPK_WORK(5),2(3,1)
                                                                //   8250  !         *LH_0,0(1,0)
                                                                //   8251  !         *ST_0,PTYPE
                                                                //   8252  !         *MVN_USEBITS+3(1),WORK
                                                                //   8253  !         *MVN_OLDI+3(1),WORK+1
                                                                //   8254  !         *MVN_I+3(1),WORK+2
                                                                //   8255  !         *MVN_J+3(1),WORK+3
                                                                //   8256  !         *OI_2(1),X'80';                ! SET USE BIT
                                                                //   8257  !         *MVC_SNDISP(8),4(1)
                                                                //   8258  !         *CVD_0,WORK
                                                                //   8259  !         *UNPK_ROUT(5),WORK+5(3)
                                                                //   8260  !         *NC_ROUT(5),MASK1
                                                                //   8261  !%finish
                                                                //   8262           %RETURN
#line 8262 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   8263  !%if USE MC = 1 %start
                                                                //   8264  NOTSET:
#line 8264 "regression-compile-tmp/imp918s.imp"
U_1028:;
                                                                //   8265  !         *MVI_PTYPE+3,7
                                                                //   8266  !         *MVI_I,255
                                                                //   8267  !         *MVC_I+1(11),I
                                                                //   8268  !         *XC_ROUT(4),ROUT
                                                                //   8269  !%finish
                                                                //   8270           TYPE=7
#line 8270 "regression-compile-tmp/imp918s.imp"
TYPE = 7;
                                                                //   8271  %END
#line 8271 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block COPYTAG at level 3
                                                                //   8272  %ROUTINE REDUCE TAG(%INTEGER MODE)
#line 8272 "regression-compile-tmp/imp918s.imp"
void REDUCETAG( int MODE )
#line 8272 "regression-compile-tmp/imp918s.imp"
{
                                                                //   8273  {%SHORTROUTINE}
                                                                //   8274  !***********************************************************************
                                                                //   8275  !*       AS COPY TAG FOR NAME AT A(P) EXCEPT:-                         *
                                                                //   8276  !*       1) SPECIAL NAMES HAVE THEIR CORRECT PREC & TYPE SUBSTITUTED   *
                                                                //   8277  !*       2) RECORD ELEMENTS OF SIMPLE RECORDS ARE REDUCED TO A         *
                                                                //   8278  !*              SIMPLE BASE/OFFSET SITUATION.                          *
                                                                //   8279  !***********************************************************************
                                                                //   8280  %INTEGER PTYPEP, QQ, PP, NAMP, JJ, RDISP, SUBS
#line 8280 "regression-compile-tmp/imp918s.imp"
int PTYPEP;
#line 8280 "regression-compile-tmp/imp918s.imp"
int QQ;
#line 8280 "regression-compile-tmp/imp918s.imp"
int PP;
#line 8280 "regression-compile-tmp/imp918s.imp"
int NAMP;
#line 8280 "regression-compile-tmp/imp918s.imp"
int JJ;
#line 8280 "regression-compile-tmp/imp918s.imp"
int RDISP;
#line 8280 "regression-compile-tmp/imp918s.imp"
int SUBS;
                                                                //   8281           PP=P;  COPY TAG(A(P))
#line 8281 "regression-compile-tmp/imp918s.imp"
PP = P;
#line 8281 "regression-compile-tmp/imp918s.imp"
COPYTAG(A[((P) + ((int)(7)))]);
                                                                //   8282           %IF PTYPE=SNPT %THEN %START
#line 8282 "regression-compile-tmp/imp918s.imp"
if (((PTYPE) != (10006))) goto L_0814;
                                                                //   8283              PTYPE=TSNAME(K); ! UNPACK
#line 8283 "regression-compile-tmp/imp918s.imp"
PTYPE = TSNAME[K];
                                                                //   8284  !%if USE MC = 1 %start
                                                                //   8285  !            *L_1,PTYPE; *CVD_1,0(11)
                                                                //   8286  !            *UNPK_ROUT(5),5(3,11)
                                                                //   8287  !            *NC_ROUT(5),MASK1
                                                                //   8288  !%finish
                                                                //   8289              ROUT=1
#line 8289 "regression-compile-tmp/imp918s.imp"
ROUT = 1;
                                                                //   8290           %FINISH;                       ! TO AVOID CHECKING PARAMS
#line 8290 "regression-compile-tmp/imp918s.imp"
L_0814:;
                                                                //   8291           %UNLESS TYPE=3 %AND A(P+1)=2 %AND A(P+2)=1 %C
#line 8291 "regression-compile-tmp/imp918s.imp"
if (((TYPE) != (3))) goto L_0813;
#line 8291 "regression-compile-tmp/imp918s.imp"
if (((A[(((unsigned char)((((int)(P)) + (1)))) + (7))]) != (2))) goto L_0813;
#line 8291 "regression-compile-tmp/imp918s.imp"
if (((A[(((unsigned char)((((int)(P)) + (2)))) + (7))]) != (1))) goto L_0813;
#line 8291 "regression-compile-tmp/imp918s.imp"
if ((((A[(((unsigned char)((((int)(P)) + (4)))) + (7))]) != (2))) || (((2) == (A[(((unsigned char)((((int)(P)) + (5)))) + (7))])))) goto L_0815;
#line 8291 "regression-compile-tmp/imp918s.imp"
L_0813:;
#line 8291 "regression-compile-tmp/imp918s.imp"
goto U_102e;
#line 8291 "regression-compile-tmp/imp918s.imp"
L_0815:;
                                                                //   8292              %AND A(P+4)=2=A(P+5) %THEN ->OUT
                                                                //   8293  ! NO APP &SINGLE SIMPLE ENAME
                                                                //   8294           NAMP=NAM
#line 8294 "regression-compile-tmp/imp918s.imp"
NAMP = NAM;
                                                                //   8295           RDISP=K
#line 8295 "regression-compile-tmp/imp918s.imp"
RDISP = K;
                                                                //   8296           PTYPEP=PTYPE;  QQ=COPY RECORD TAG(SUBS)
#line 8296 "regression-compile-tmp/imp918s.imp"
PTYPEP = PTYPE;
#line 8296 "regression-compile-tmp/imp918s.imp"
QQ = COPYRECORDTAG(&SUBS);
                                                                //   8297           %UNLESS QQ>0 %AND ARR=0 %AND TYPE#3  %AND SUBS=1 %THEN ->RESET
#line 8297 "regression-compile-tmp/imp918s.imp"
if (((QQ) <= (0))) goto L_0816;
#line 8297 "regression-compile-tmp/imp918s.imp"
if (((ARR) != (0))) goto L_0816;
#line 8297 "regression-compile-tmp/imp918s.imp"
if (((TYPE) == (3))) goto L_0816;
#line 8297 "regression-compile-tmp/imp918s.imp"
if (((SUBS) == (1))) goto L_0817;
#line 8297 "regression-compile-tmp/imp918s.imp"
L_0816:;
#line 8297 "regression-compile-tmp/imp918s.imp"
goto U_1030;
#line 8297 "regression-compile-tmp/imp918s.imp"
L_0817:;
                                                                //   8298           %IF NAMP=0 %THEN K=K+RDISP %ELSE %START
#line 8298 "regression-compile-tmp/imp918s.imp"
if (((NAMP) != (0))) goto L_0818;
#line 8298 "regression-compile-tmp/imp918s.imp"
K = (((int)(K)) + (RDISP));
#line 8298 "regression-compile-tmp/imp918s.imp"
goto L_0819;
#line 8298 "regression-compile-tmp/imp918s.imp"
L_0818:;
                                                                //   8299              FIND USE(JJ, 1, 7, TAGS(A(PP)))
#line 8299 "regression-compile-tmp/imp918s.imp"
FINDUSE(&JJ, 1, 7, TAGS[A[((PP) + ((int)(7)))]]);
                                                                //   8300              %IF JJ>0 %THEN I=JJ %ELSE %START
#line 8300 "regression-compile-tmp/imp918s.imp"
if (((JJ) <= (0))) goto L_081a;
#line 8300 "regression-compile-tmp/imp918s.imp"
I = JJ;
#line 8300 "regression-compile-tmp/imp918s.imp"
goto L_081b;
#line 8300 "regression-compile-tmp/imp918s.imp"
L_081a:;
                                                                //   8301                 ->RESET %UNLESS MODE#0
#line 8301 "regression-compile-tmp/imp918s.imp"
if (((MODE) != (0))) goto L_081c;
#line 8301 "regression-compile-tmp/imp918s.imp"
goto U_1030;
#line 8301 "regression-compile-tmp/imp918s.imp"
L_081c:;
                                                                //   8302                 %CYCLE JJ=14,-1,4
#line 8302 "regression-compile-tmp/imp918s.imp"
JJ = 15;
if ((((4)-(14)) % ((-1))) != 0) _imp_signal(5,1,0,"Illegal cycle JJ = 14, (-1), 4");
L_081d:;
if (JJ == 4) goto L_081e;
JJ += (-1);
                                                                //   8303                    %IF REGISTER(JJ)=0 %AND GRUSE(JJ)<=1 %START
#line 8303 "regression-compile-tmp/imp918s.imp"
if (((REGISTER[JJ]) != (0))) goto L_0820;
#line 8303 "regression-compile-tmp/imp918s.imp"
if (((GRUSE[JJ]) > (1))) goto L_0820;
                                                                //   8304                       DUMP(X'58',JJ,RDISP,0,I)
#line 8304 "regression-compile-tmp/imp918s.imp"
DUMP(88, JJ, RDISP, 0, I);
                                                                //   8305                       SET USE(JJ,7,TAGS(A(PP)))
#line 8305 "regression-compile-tmp/imp918s.imp"
SETUSE(JJ, 7, TAGS[A[((PP) + ((int)(7)))]]);
                                                                //   8306                       P=PP+3; I=JJ; %RETURN
#line 8306 "regression-compile-tmp/imp918s.imp"
P = (((int)(PP)) + (3));
#line 8306 "regression-compile-tmp/imp918s.imp"
I = JJ;
#line 8306 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   8307                    %FINISH
#line 8307 "regression-compile-tmp/imp918s.imp"
L_0820:;
                                                                //   8308                 %REPEAT
#line 8308 "regression-compile-tmp/imp918s.imp"
goto L_081d;
#line 8308 "regression-compile-tmp/imp918s.imp"
L_081e:;
                                                                //   8309                 ->RESET
#line 8309 "regression-compile-tmp/imp918s.imp"
goto U_1030;
                                                                //   8310              %FINISH
#line 8310 "regression-compile-tmp/imp918s.imp"
L_081b:;
                                                                //   8311           %FINISH;  P=PP+3;  %RETURN
#line 8311 "regression-compile-tmp/imp918s.imp"
L_0819:;
#line 8311 "regression-compile-tmp/imp918s.imp"
P = (((int)(PP)) + (3));
#line 8311 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   8312  RESET:   P=PP;  COPY TAG(A(P))
#line 8312 "regression-compile-tmp/imp918s.imp"
U_1030:;
#line 8312 "regression-compile-tmp/imp918s.imp"
P = PP;
#line 8312 "regression-compile-tmp/imp918s.imp"
COPYTAG(A[((P) + ((int)(7)))]);
                                                                //   8313  OUT: %END
#line 8313 "regression-compile-tmp/imp918s.imp"
U_102e:;
#line 8313 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block REDUCETAG at level 3
                                                                //   8314  %ROUTINE REPLACE TAG(%INTEGER KK)
#line 8314 "regression-compile-tmp/imp918s.imp"
void REPLACETAG( int KK )
#line 8314 "regression-compile-tmp/imp918s.imp"
{
                                                                //   8315  {%SHORTROUTINE}
                                                                //   8316  %INTEGER P, Q
#line 8316 "regression-compile-tmp/imp918s.imp"
int P;
#line 8316 "regression-compile-tmp/imp918s.imp"
int Q;
                                                                //   8317           P=TAGS(KK)
#line 8317 "regression-compile-tmp/imp918s.imp"
P = TAGS[KK];
                                                                //   8318           Q=PTYPE<<16!USEBITS<<12!OLDI<<8!I<<4!J
#line 8318 "regression-compile-tmp/imp918s.imp"
Q = ((((((((((PTYPE) << (16))) | (((USEBITS) << (12))))) | (((OLDI) << (8))))) | (((I) << (4))))) | (J));
                                                                //   8319           REPLACE123(P, Q, INTEGER(ADDR(SNDISP)), INTEGER(ADDR(K)))
#line 8319 "regression-compile-tmp/imp918s.imp"
REPLACE123(P, Q, *_imp_INTEGER(_imp_ADDR(&SNDISP)), *_imp_INTEGER(_imp_ADDR(&K)));
                                                                //   8320  %END
#line 8320 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block REPLACETAG at level 3
                                                                //   8321  %ROUTINE UNPACK
#line 8321 "regression-compile-tmp/imp918s.imp"
void UNPACK( void )
#line 8321 "regression-compile-tmp/imp918s.imp"
{
                                                                //   8322  %LONGREAL WORK
#line 8322 "regression-compile-tmp/imp918s.imp"
double WORK;
                                                                //   8323  !%if USE MC = 1 %start
                                                                //   8324  !         *L_1,PTYPE;  *CVD_1,WORK
                                                                //   8325  !         *UNPK_ROUT(5),WORK+5(3)
                                                                //   8326  !         *NC_ROUT(5),MASK1
                                                                //   8327  !%finish
                                                                //   8328  %END
#line 8328 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block UNPACK at level 3
                                                                //   8329  %ROUTINE PACK(%INTEGERNAME PTYPE)
#line 8329 "regression-compile-tmp/imp918s.imp"
void PACK( int /*name*/*PTYPE )
#line 8329 "regression-compile-tmp/imp918s.imp"
{
                                                                //   8330  %LONGREAL WORK
#line 8330 "regression-compile-tmp/imp918s.imp"
double WORK;
                                                                //   8331  !%if USE MC = 1 %start
                                                                //   8332  !         %MCODE
                                                                //   8333  !         *PACK_WORK(8),ROUT(5)
                                                                //   8334  !         *OI_WORK+7,X'0C'     ;         !VALID SIGN
                                                                //   8335  !         *CVB_1,WORK
                                                                //   8336  !         *L_2,PTYPE;  *ST_1,0(2)
                                                                //   8337  !%finish
                                                                //   8338  %END
#line 8338 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block PACK at level 3
                                                                //   8339  %ROUTINE PPJ(%INTEGER N)
#line 8339 "regression-compile-tmp/imp918s.imp"
void PPJ( int N )
#line 8339 "regression-compile-tmp/imp918s.imp"
{
                                                                //   8340  ! PLANT A 'BAL' TO PERM SUBROUTINE N0 'N'
                                                                //   8341  %INTEGER I
#line 8341 "regression-compile-tmp/imp918s.imp"
int I;
                                                                //   8342           CCSTATE=-1
#line 8342 "regression-compile-tmp/imp918s.imp"
CCSTATE = (-1);
                                                                //   8343           CYC BITS=CYC BITS!4;           ! SET 'PERM' BIT
#line 8343 "regression-compile-tmp/imp918s.imp"
CYCBITS = ((CYCBITS) | (4));
                                                                //   8344           %IF 20<=N<=24 %THEN I=4 %ELSE I=8
#line 8344 "regression-compile-tmp/imp918s.imp"
if ((((20) > (N))) || (((N) > (24)))) goto L_0821;
#line 8344 "regression-compile-tmp/imp918s.imp"
I = 4;
#line 8344 "regression-compile-tmp/imp918s.imp"
goto L_0822;
#line 8344 "regression-compile-tmp/imp918s.imp"
L_0821:;
#line 8344 "regression-compile-tmp/imp918s.imp"
I = 8;
#line 8344 "regression-compile-tmp/imp918s.imp"
L_0822:;
                                                                //   8345           SAVE IRS(I)
#line 8345 "regression-compile-tmp/imp918s.imp"
SAVEIRS(I);
                                                                //   8346           FAULT(202, 0) %UNLESS REGISTER(15)=0
#line 8346 "regression-compile-tmp/imp918s.imp"
if (((REGISTER[15]) == (0))) goto L_0823;
#line 8346 "regression-compile-tmp/imp918s.imp"
FAULT(202, 0);
#line 8346 "regression-compile-tmp/imp918s.imp"
L_0823:;
                                                                //   8347           PCONST(X'45F0C000'!N<<2);      ! BAL 15,PN
#line 8347 "regression-compile-tmp/imp918s.imp"
PCONST(((1173405696) | (((N) << (2)))));
                                                                //   8348           FORGETM(I)
#line 8348 "regression-compile-tmp/imp918s.imp"
FORGETM(I);
                                                                //   8349           SET USE(15, 12, CA) %C
#line 8349 "regression-compile-tmp/imp918s.imp"
if (((SBFLAG) != (0))) goto L_0824;
#line 8349 "regression-compile-tmp/imp918s.imp"
if (((I) == (4))) goto L_0824;
#line 8349 "regression-compile-tmp/imp918s.imp"
if ((((((int)(CA)) - (CODEBASE))) <= ((((int)(4095)) - (MARGIN))))) goto L_0824;
#line 8349 "regression-compile-tmp/imp918s.imp"
SETUSE(15, 12, CA);
#line 8349 "regression-compile-tmp/imp918s.imp"
L_0824:;
                                                                //   8350              %IF SBFLAG=0 %AND I#4 %AND CA-CODEBASE>4095-MARGIN
                                                                //   8351  %END
#line 8351 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block PPJ at level 3
                                                                //   8352  %ROUTINE ADJUST INDEX(%INTEGER MODE, %INTEGERNAME INDEX, DISP)
#line 8352 "regression-compile-tmp/imp918s.imp"
void ADJUSTINDEX( int MODE, int /*name*/*INDEX, int /*name*/*DISP )
#line 8352 "regression-compile-tmp/imp918s.imp"
{
                                                                //   8353  {%SHORTROUTINE}
                                                                //   8354  !***********************************************************************
                                                                //   8355  !*       THIS IS THE GENERAL SOLUTION TO LACK OF ADDRESSABILITY. IT IS *
                                                                //   8356  !*       CALLED WHEN DISP IS OUTSIDE THE RANGE 0->Label4095 AND MANIPULATES *
                                                                //   8357  !*       INDEX ACCORDINGLY. FREQUENTLY INDEX=0 (NO INDEXING) WHEN THE  *
                                                                //   8358  !*       SOLUTION IS TRIVIAL. MODE=0 IF INDEX MUST BE COPIED BEFORE    *
                                                                //   8359  !*       BEING ADJUSTED.                                               *
                                                                //   8360  !***********************************************************************
                                                                //   8361  %INTEGER J, K, D, PN
#line 8361 "regression-compile-tmp/imp918s.imp"
int J;
#line 8361 "regression-compile-tmp/imp918s.imp"
int K;
#line 8361 "regression-compile-tmp/imp918s.imp"
int D;
#line 8361 "regression-compile-tmp/imp918s.imp"
int PN;
                                                                //   8362           FIND REG(GR1, J);              ! MAY NOT BE NEEDED
#line 8362 "regression-compile-tmp/imp918s.imp"
FINDREG(65807, &J);
                                                                //   8363           CYC BITS=CYC BITS!16;          ! USES MULTIPLE OF 4K
#line 8363 "regression-compile-tmp/imp918s.imp"
CYCBITS = ((CYCBITS) | (16));
                                                                //   8364           %IF DISP>0 %THEN %START
#line 8364 "regression-compile-tmp/imp918s.imp"
if (((*DISP) <= (0))) goto L_0825;
                                                                //   8365              K=X'5A';  D=DISP
#line 8365 "regression-compile-tmp/imp918s.imp"
K = 90;
#line 8365 "regression-compile-tmp/imp918s.imp"
D = *DISP;
                                                                //   8366           %FINISH %ELSE %START
#line 8366 "regression-compile-tmp/imp918s.imp"
goto L_0826;
#line 8366 "regression-compile-tmp/imp918s.imp"
L_0825:;
                                                                //   8367              K=X'5B';  D=4095-DISP
#line 8367 "regression-compile-tmp/imp918s.imp"
K = 91;
#line 8367 "regression-compile-tmp/imp918s.imp"
D = (((int)(4095)) - (*DISP));
                                                                //   8368           %FINISH
#line 8368 "regression-compile-tmp/imp918s.imp"
L_0826:;
                                                                //   8369           PN=D>>12;  FAULT(98, 0) %IF PN>63
#line 8369 "regression-compile-tmp/imp918s.imp"
PN = (int)((((unsigned int)(D)) >> (12)));
#line 8369 "regression-compile-tmp/imp918s.imp"
if (((PN) <= (63))) goto L_0827;
#line 8369 "regression-compile-tmp/imp918s.imp"
FAULT(98, 0);
#line 8369 "regression-compile-tmp/imp918s.imp"
L_0827:;
                                                                //   8370           %IF INDEX=0 %AND DISP>0 %THEN %START
#line 8370 "regression-compile-tmp/imp918s.imp"
if (((*INDEX) != (0))) goto L_0828;
#line 8370 "regression-compile-tmp/imp918s.imp"
if (((*DISP) <= (0))) goto L_0828;
                                                                //   8371              FIND USE(INDEX, 1, 11, PN); ! LOOK FOR 4K MULTIPLE
#line 8371 "regression-compile-tmp/imp918s.imp"
FINDUSE(INDEX, 1, 11, PN);
                                                                //   8372              ->Label98 %IF INDEX>0
#line 8372 "regression-compile-tmp/imp918s.imp"
if (((*INDEX) <= (0))) goto L_0829;
#line 8372 "regression-compile-tmp/imp918s.imp"
goto U_1018;
#line 8372 "regression-compile-tmp/imp918s.imp"
L_0829:;
                                                                //   8373              SET USE(J, 11, PN)
#line 8373 "regression-compile-tmp/imp918s.imp"
SETUSE(J, 11, PN);
                                                                //   8374              INDEX=J;  K=X'58'
#line 8374 "regression-compile-tmp/imp918s.imp"
*INDEX = J;
#line 8374 "regression-compile-tmp/imp918s.imp"
K = 88;
                                                                //   8375           %FINISH %ELSE %START
#line 8375 "regression-compile-tmp/imp918s.imp"
goto L_082a;
#line 8375 "regression-compile-tmp/imp918s.imp"
L_0828:;
                                                                //   8376              %IF MODE=0 %OR INDEX=0 %THEN %START
#line 8376 "regression-compile-tmp/imp918s.imp"
if (((MODE) == (0))) goto L_082b;
#line 8376 "regression-compile-tmp/imp918s.imp"
if (((*INDEX) != (0))) goto L_082c;
#line 8376 "regression-compile-tmp/imp918s.imp"
L_082b:;
                                                                //   8377                 %IF MODE=0 %THEN PRR(X'18', J, INDEX) %ELSE %START
#line 8377 "regression-compile-tmp/imp918s.imp"
if (((MODE) != (0))) goto L_082d;
#line 8377 "regression-compile-tmp/imp918s.imp"
PRR(24, J, *INDEX);
#line 8377 "regression-compile-tmp/imp918s.imp"
goto L_082e;
#line 8377 "regression-compile-tmp/imp918s.imp"
L_082d:;
                                                                //   8378                    PRR(X'1F', J, J)
#line 8378 "regression-compile-tmp/imp918s.imp"
PRR(31, J, J);
                                                                //   8379                    CCSTATE=-1
#line 8379 "regression-compile-tmp/imp918s.imp"
CCSTATE = (-1);
                                                                //   8380                 %FINISH
#line 8380 "regression-compile-tmp/imp918s.imp"
L_082e:;
                                                                //   8381                 INDEX=J
#line 8381 "regression-compile-tmp/imp918s.imp"
*INDEX = J;
                                                                //   8382              %FINISH
#line 8382 "regression-compile-tmp/imp918s.imp"
L_082c:;
                                                                //   8383              FORGET(INDEX) %UNLESS GRUSE(INDEX)<=1
#line 8383 "regression-compile-tmp/imp918s.imp"
if (((GRUSE[*INDEX]) <= (1))) goto L_082f;
#line 8383 "regression-compile-tmp/imp918s.imp"
FORGET(*INDEX);
#line 8383 "regression-compile-tmp/imp918s.imp"
L_082f:;
                                                                //   8384           %FINISH
#line 8384 "regression-compile-tmp/imp918s.imp"
L_082a:;
                                                                //   8385           PRX(K, INDEX, CODER, 0, PN<<2+PTBASE)
#line 8385 "regression-compile-tmp/imp918s.imp"
PRX(K, *INDEX, 12, 0, (((int)(((PN) << (2)))) + (256)));
                                                                //   8386  Label98:      DISP=DISP&4095
#line 8386 "regression-compile-tmp/imp918s.imp"
U_1018:;
#line 8386 "regression-compile-tmp/imp918s.imp"
*DISP = ((*DISP) & (4095));
                                                                //   8387  %END
#line 8387 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block ADJUSTINDEX at level 3
                                                                //   8388  %ROUTINE DUMP(%INTEGER CODE, REG, DIS, X, LEVEL)
#line 8388 "regression-compile-tmp/imp918s.imp"
void DUMP( int CODE, int REG, int DIS, int X, int LEVEL )
#line 8388 "regression-compile-tmp/imp918s.imp"
{
                                                                //   8389  {%SHORTROUTINE}
                                                                //   8390                                          ! CODE=8*(TYPE-1)+2*(PREC&3)+Z
                                                                //   8391  %INTEGER K
#line 8391 "regression-compile-tmp/imp918s.imp"
int K;
                                                                //   8392  %BYTEINTEGER ANDR;  ANDR=0
#line 8392 "regression-compile-tmp/imp918s.imp"
unsigned char ANDR;
#line 8392 "regression-compile-tmp/imp918s.imp"
ANDR = 0;
                                                                //   8393  %CONSTBYTEINTEGERARRAY OPCODE(0:16)=X'41',
#line 8393 "regression-compile-tmp/imp918s.imp"
const unsigned char OPCODE[17] = { 65, 80, 88, 66, 67, 64, 72, 89, 73, 112, 120, 0, 0, 0, 0, 96, 104,  };
                                                                //   8394           X'50',X'58',X'42',X'43',X'40',X'48',X'59',X'49',
                                                                //   8395           X'70',X'78',0(4),X'60',X'68'
                                                                //   8396           CODE=OPCODE(CODE) %IF CODE<=16
#line 8396 "regression-compile-tmp/imp918s.imp"
if (((CODE) > (16))) goto L_0830;
#line 8396 "regression-compile-tmp/imp918s.imp"
CODE = OPCODE[CODE];
#line 8396 "regression-compile-tmp/imp918s.imp"
L_0830:;
                                                                //   8397           FAULT(216,0) %IF CODE<X'40';        ! IN 'RR' RANGE
#line 8397 "regression-compile-tmp/imp918s.imp"
if (((CODE) >= (64))) goto L_0831;
#line 8397 "regression-compile-tmp/imp918s.imp"
FAULT(216, 0);
#line 8397 "regression-compile-tmp/imp918s.imp"
L_0831:;
                                                                //   8398           %UNLESS 0<=DIS<=4095 %C
#line 8398 "regression-compile-tmp/imp918s.imp"
if ((((0) > (DIS))) || (((DIS) <= (4095)))) goto L_0833;
#line 8398 "regression-compile-tmp/imp918s.imp"
L_0832:;
#line 8398 "regression-compile-tmp/imp918s.imp"
ADJUSTINDEX((((int)(REGISTER[X])) + (1)), &X, &DIS);
#line 8398 "regression-compile-tmp/imp918s.imp"
L_0833:;
                                                                //   8399              %THEN ADJUST INDEX(REGISTER(X)+1, X, DIS)
                                                                //   8400           ->REG KNOWN %IF REG>=0
#line 8400 "regression-compile-tmp/imp918s.imp"
if (((REG) < (0))) goto L_0834;
#line 8400 "regression-compile-tmp/imp918s.imp"
goto U_102e;
#line 8400 "regression-compile-tmp/imp918s.imp"
L_0834:;
                                                                //   8401           %IF CODE=X'43' %START;         ! TRY TO AVOID CLEARING A REG
#line 8401 "regression-compile-tmp/imp918s.imp"
if (((CODE) != (67))) goto L_0835;
                                                                //   8402              K=-1-REG;                   ! 0 OR 1 IF ADDR MODE
#line 8402 "regression-compile-tmp/imp918s.imp"
K = (((int)((-1))) - (REG));
                                                                //   8403              %WHILE REG<0 %AND K<=15 %CYCLE
#line 8403 "regression-compile-tmp/imp918s.imp"
L_0836:;
#line 8403 "regression-compile-tmp/imp918s.imp"
if (((REG) >= (0))) goto L_0837;
#line 8403 "regression-compile-tmp/imp918s.imp"
if (((K) > (15))) goto L_0837;
                                                                //   8404                 %IF REGISTER(K)=0 %AND GRUSE(K)=2 %AND GRINF(K)<=255 %C
#line 8404 "regression-compile-tmp/imp918s.imp"
if (((REGISTER[K]) != (0))) goto L_0839;
#line 8404 "regression-compile-tmp/imp918s.imp"
if (((GRUSE[K]) != (2))) goto L_0839;
#line 8404 "regression-compile-tmp/imp918s.imp"
if (((GRINF[K]) > (255))) goto L_0839;
#line 8404 "regression-compile-tmp/imp918s.imp"
NEST = K;
#line 8404 "regression-compile-tmp/imp918s.imp"
REG = NEST;
#line 8404 "regression-compile-tmp/imp918s.imp"
L_0839:;
                                                                //   8405                     %THEN NEST=K %AND REG=NEST
                                                                //   8406                 K=K+1
#line 8406 "regression-compile-tmp/imp918s.imp"
K = (((int)(K)) + (1));
                                                                //   8407              %REPEAT
#line 8407 "regression-compile-tmp/imp918s.imp"
goto L_0836;
#line 8407 "regression-compile-tmp/imp918s.imp"
L_0837:;
                                                                //   8408           %FINISH
#line 8408 "regression-compile-tmp/imp918s.imp"
L_0835:;
                                                                //   8409           %IF REG=-1 %THEN K=GR0 %ELSE K=GR1
#line 8409 "regression-compile-tmp/imp918s.imp"
if (((REG) != ((-1)))) goto L_083a;
#line 8409 "regression-compile-tmp/imp918s.imp"
K = 69406;
#line 8409 "regression-compile-tmp/imp918s.imp"
goto L_083b;
#line 8409 "regression-compile-tmp/imp918s.imp"
L_083a:;
#line 8409 "regression-compile-tmp/imp918s.imp"
K = 65807;
#line 8409 "regression-compile-tmp/imp918s.imp"
L_083b:;
                                                                //   8410           %IF 96<=CODE<=127 %THEN K=FR0
#line 8410 "regression-compile-tmp/imp918s.imp"
if ((((96) > (CODE))) || (((CODE) > (127)))) goto L_083c;
#line 8410 "regression-compile-tmp/imp918s.imp"
K = (-125424);
#line 8410 "regression-compile-tmp/imp918s.imp"
L_083c:;
                                                                //   8411           %IF REG<0 %THEN FIND REG(K, REG) %AND NEST=REG
#line 8411 "regression-compile-tmp/imp918s.imp"
if (((REG) >= (0))) goto L_083d;
#line 8411 "regression-compile-tmp/imp918s.imp"
FINDREG(K, &REG);
#line 8411 "regression-compile-tmp/imp918s.imp"
NEST = REG;
#line 8411 "regression-compile-tmp/imp918s.imp"
L_083d:;
                                                                //   8412  REGKNOWN:->IC %IF CODE=X'43';           ! BYTES NEED SPECIAL CARE
#line 8412 "regression-compile-tmp/imp918s.imp"
U_102e:;
#line 8412 "regression-compile-tmp/imp918s.imp"
if (((CODE) != (67))) goto L_083e;
#line 8412 "regression-compile-tmp/imp918s.imp"
goto U_1030;
#line 8412 "regression-compile-tmp/imp918s.imp"
L_083e:;
                                                                //   8413           ->NORMAL %UNLESS CODE=X'41' %AND DIS=0;  ! OPTIMISE LA
#line 8413 "regression-compile-tmp/imp918s.imp"
if (((CODE) != (65))) goto L_083f;
#line 8413 "regression-compile-tmp/imp918s.imp"
if (((DIS) == (0))) goto L_0840;
#line 8413 "regression-compile-tmp/imp918s.imp"
L_083f:;
#line 8413 "regression-compile-tmp/imp918s.imp"
goto U_1031;
#line 8413 "regression-compile-tmp/imp918s.imp"
L_0840:;
                                                                //   8414           ->ZERO %IF X=0=LEVEL
#line 8414 "regression-compile-tmp/imp918s.imp"
if ((((X) != (0))) || (((0) != (LEVEL)))) goto L_0841;
#line 8414 "regression-compile-tmp/imp918s.imp"
goto U_1032;
#line 8414 "regression-compile-tmp/imp918s.imp"
L_0841:;
                                                                //   8415           ->SWOP %IF LEVEL=0 %OR X=0
#line 8415 "regression-compile-tmp/imp918s.imp"
if (((LEVEL) == (0))) goto L_0842;
#line 8415 "regression-compile-tmp/imp918s.imp"
if (((X) != (0))) goto L_0843;
#line 8415 "regression-compile-tmp/imp918s.imp"
L_0842:;
#line 8415 "regression-compile-tmp/imp918s.imp"
goto U_101d;
#line 8415 "regression-compile-tmp/imp918s.imp"
L_0843:;
                                                                //   8416           ->NORMAL %IF X#REG#LEVEL
#line 8416 "regression-compile-tmp/imp918s.imp"
if ((((X) == (REG))) || (((REG) == (LEVEL)))) goto L_0844;
#line 8416 "regression-compile-tmp/imp918s.imp"
goto U_1031;
#line 8416 "regression-compile-tmp/imp918s.imp"
L_0844:;
                                                                //   8417           PRR(X'1A', REG, X+LEVEL-REG);  CCSTATE=1<<16!REG;  ->Label99
#line 8417 "regression-compile-tmp/imp918s.imp"
PRR(26, REG, (((int)((((int)(X)) + (LEVEL)))) - (REG)));
#line 8417 "regression-compile-tmp/imp918s.imp"
CCSTATE = ((((1) << (16))) | (REG));
#line 8417 "regression-compile-tmp/imp918s.imp"
goto U_101e;
                                                                //   8418  ZERO:    PRR(X'1F', REG, REG);  CCSTATE=1<<16!REG;  ->Label99
#line 8418 "regression-compile-tmp/imp918s.imp"
U_1032:;
#line 8418 "regression-compile-tmp/imp918s.imp"
PRR(31, REG, REG);
#line 8418 "regression-compile-tmp/imp918s.imp"
CCSTATE = ((((1) << (16))) | (REG));
#line 8418 "regression-compile-tmp/imp918s.imp"
goto U_101e;
                                                                //   8419  SWOP:    PRR(X'18', REG, X+LEVEL) %UNLESS REG=X+LEVEL;  ->Label99
#line 8419 "regression-compile-tmp/imp918s.imp"
U_101d:;
#line 8419 "regression-compile-tmp/imp918s.imp"
if (((REG) == ((((int)(X)) + (LEVEL))))) goto L_0845;
#line 8419 "regression-compile-tmp/imp918s.imp"
PRR(24, REG, (((int)(X)) + (LEVEL)));
#line 8419 "regression-compile-tmp/imp918s.imp"
L_0845:;
#line 8419 "regression-compile-tmp/imp918s.imp"
goto U_101e;
                                                                //   8420  IC:      ->NORMAL %IF GRUSE(REG)=2 %AND GRINF(REG)<=255
#line 8420 "regression-compile-tmp/imp918s.imp"
U_1030:;
#line 8420 "regression-compile-tmp/imp918s.imp"
if (((GRUSE[REG]) != (2))) goto L_0846;
#line 8420 "regression-compile-tmp/imp918s.imp"
if (((GRINF[REG]) > (255))) goto L_0846;
#line 8420 "regression-compile-tmp/imp918s.imp"
goto U_1031;
#line 8420 "regression-compile-tmp/imp918s.imp"
L_0846:;
                                                                //   8421           CCSTATE=-1
#line 8421 "regression-compile-tmp/imp918s.imp"
CCSTATE = (-1);
                                                                //   8422           %IF REG=0 %OR X#REG#LEVEL %THEN PRR(X'1F', REG, REG) %C
#line 8422 "regression-compile-tmp/imp918s.imp"
if (((REG) == (0))) goto L_0847;
#line 8422 "regression-compile-tmp/imp918s.imp"
if ((((X) == (REG))) || (((REG) == (LEVEL)))) goto L_0848;
#line 8422 "regression-compile-tmp/imp918s.imp"
L_0847:;
#line 8422 "regression-compile-tmp/imp918s.imp"
PRR(31, REG, REG);
#line 8422 "regression-compile-tmp/imp918s.imp"
goto L_0849;
#line 8422 "regression-compile-tmp/imp918s.imp"
L_0848:;
#line 8422 "regression-compile-tmp/imp918s.imp"
ANDR = 1;
#line 8422 "regression-compile-tmp/imp918s.imp"
L_0849:;
                                                                //   8423              %ELSE ANDR=1
                                                                //   8424  NORMAL:  PRX(CODE, REG, X, LEVEL, DIS)
#line 8424 "regression-compile-tmp/imp918s.imp"
U_1031:;
#line 8424 "regression-compile-tmp/imp918s.imp"
PRX(CODE, REG, X, LEVEL, DIS);
                                                                //   8425           %IF ANDR#0 %THEN %START
#line 8425 "regression-compile-tmp/imp918s.imp"
if (((ANDR) == (0))) goto L_084a;
                                                                //   8426              PRX(X'54', REG, 0, GLA, 24)
#line 8426 "regression-compile-tmp/imp918s.imp"
PRX(84, REG, 0, 13, 24);
                                                                //   8427              CCSTATE=2<<16!REG
#line 8427 "regression-compile-tmp/imp918s.imp"
CCSTATE = ((((2) << (16))) | (REG));
                                                                //   8428           %FINISH
#line 8428 "regression-compile-tmp/imp918s.imp"
L_084a:;
                                                                //   8429  Label99: %END
#line 8429 "regression-compile-tmp/imp918s.imp"
U_101e:;
#line 8429 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block DUMP at level 3
                                                                //   8430  %ROUTINE DUMPSI(%INTEGER OPCODE, L, B, D)
#line 8430 "regression-compile-tmp/imp918s.imp"
void DUMPSI( int OPCODE, int L, int B, int D )
#line 8430 "regression-compile-tmp/imp918s.imp"
{
                                                                //   8431  {%SHORTROUTINE}
                                                                //   8432           %IF D>4095 %THEN ADJUST INDEX(REGISTER(B)+1, B, D)
#line 8432 "regression-compile-tmp/imp918s.imp"
if (((D) <= (4095))) goto L_084b;
#line 8432 "regression-compile-tmp/imp918s.imp"
ADJUSTINDEX((((int)(REGISTER[B])) + (1)), &B, &D);
#line 8432 "regression-compile-tmp/imp918s.imp"
L_084b:;
                                                                //   8433           PSI(OPCODE, L, B, D)
#line 8433 "regression-compile-tmp/imp918s.imp"
PSI(OPCODE, L, B, D);
                                                                //   8434  %END
#line 8434 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block DUMPSI at level 3
                                                                //   8435  %ROUTINE DUMPM(%INTEGER OPCODE, R1, R2, B, D)
#line 8435 "regression-compile-tmp/imp918s.imp"
void DUMPM( int OPCODE, int R1, int R2, int B, int D )
#line 8435 "regression-compile-tmp/imp918s.imp"
{
                                                                //   8436  {%SHORTROUTINE}
                                                                //   8437           %IF D>4095 %THEN %START
#line 8437 "regression-compile-tmp/imp918s.imp"
if (((D) <= (4095))) goto L_084c;
                                                                //   8438              ADJUST INDEX(REGISTER(B)+1, B, D)
#line 8438 "regression-compile-tmp/imp918s.imp"
ADJUSTINDEX((((int)(REGISTER[B])) + (1)), &B, &D);
                                                                //   8439           %FINISH
#line 8439 "regression-compile-tmp/imp918s.imp"
L_084c:;
                                                                //   8440           PRX(OPCODE, R1, R2, B, D)
#line 8440 "regression-compile-tmp/imp918s.imp"
PRX(OPCODE, R1, R2, B, D);
                                                                //   8441  %END
#line 8441 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block DUMPM at level 3
                                                                //   8442  %ROUTINE DUMPSS(%INTEGER OP,L,B1,D1,B2,D2)
#line 8442 "regression-compile-tmp/imp918s.imp"
void DUMPSS( int OP, int L, int B1, int D1, int B2, int D2 )
#line 8442 "regression-compile-tmp/imp918s.imp"
{
                                                                //   8443  {%SHORTROUTINE}
                                                                //   8444           %IF D1>4095 %THEN %C
#line 8444 "regression-compile-tmp/imp918s.imp"
if (((D1) <= (4095))) goto L_084d;
#line 8444 "regression-compile-tmp/imp918s.imp"
ADJUSTINDEX(0, &B1, &D1);
#line 8444 "regression-compile-tmp/imp918s.imp"
L_084d:;
                                                                //   8445              ADJUST INDEX(0,B1,D1)
                                                                //   8446           %IF D2>4095 %THEN %C
#line 8446 "regression-compile-tmp/imp918s.imp"
if (((D2) <= (4095))) goto L_084e;
#line 8446 "regression-compile-tmp/imp918s.imp"
ADJUSTINDEX(0, &B2, &D2);
#line 8446 "regression-compile-tmp/imp918s.imp"
L_084e:;
                                                                //   8447              ADJUST INDEX(0,B2,D2)
                                                                //   8448           PSS(OP,L,B1,D1,B2,D2)
#line 8448 "regression-compile-tmp/imp918s.imp"
PSS(OP, L, B1, D1, B2, D2);
                                                                //   8449  %END
#line 8449 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block DUMPSS at level 3
                                                                //   8450           %END;                      ! OF ROUTINE CSS
#line 8450 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
sw2_SW_30:;
/*_imp_signal(6,3,sw2_SW_idx,"SWITCH LABEL NOT SET - sw2_SW");*/
fprintf(stderr, "%%SWITCH LABEL NOT SET - sw2_SW(%d): at line %s:%d", sw2_SW_idx, (_imp_current_file != 0 ? _imp_current_file : __FILE__), (_imp_current_line != 0 ? _imp_current_line : __LINE__));
exit(1);
} // End of block CSS at level 2
                                                                //   8451  !%if INCLUDE DELSTART = 1 %start
                                                                //   8452  %ROUTINE CONSTLIST
#line 8452 "regression-compile-tmp/imp918s.imp"
void CONSTLIST( void )
#line 8452 "regression-compile-tmp/imp918s.imp"
{
                                                                //   8453  {%SHORTROUTINE}
                                                                //   8454  %INTEGER PRECP, NCONST, RF, J, K, LPUTP, KK, SIGN, RQ, BPTR,  %C
#line 8454 "regression-compile-tmp/imp918s.imp"
int PRECP;
#line 8454 "regression-compile-tmp/imp918s.imp"
int NCONST;
#line 8454 "regression-compile-tmp/imp918s.imp"
int RF;
#line 8454 "regression-compile-tmp/imp918s.imp"
int J;
#line 8454 "regression-compile-tmp/imp918s.imp"
int K;
#line 8454 "regression-compile-tmp/imp918s.imp"
int LPUTP;
#line 8454 "regression-compile-tmp/imp918s.imp"
int KK;
#line 8454 "regression-compile-tmp/imp918s.imp"
int SIGN;
#line 8454 "regression-compile-tmp/imp918s.imp"
int RQ;
#line 8454 "regression-compile-tmp/imp918s.imp"
int BPTR;
#line 8454 "regression-compile-tmp/imp918s.imp"
int TYPEP;
#line 8454 "regression-compile-tmp/imp918s.imp"
int ACC;
#line 8454 "regression-compile-tmp/imp918s.imp"
int RP;
#line 8454 "regression-compile-tmp/imp918s.imp"
int SHR;
                                                                //   8455              TYPEP, ACC, RP, SHR
                                                                //   8456  %INTEGERNAME CONSTP
#line 8456 "regression-compile-tmp/imp918s.imp"
int /*name*/*CONSTP;
                                                                //   8457  %BYTEINTEGER CHAR
#line 8457 "regression-compile-tmp/imp918s.imp"
unsigned char CHAR;
                                                                //   8458  %LONGREAL C
#line 8458 "regression-compile-tmp/imp918s.imp"
double C;
                                                                //   8459  %BYTEINTEGERARRAY BUFFER(0:264)
#line 8459 "regression-compile-tmp/imp918s.imp"
unsigned char BUFFER[265];
                                                                //   8460  %ROUTINESPEC OUT(%INTEGER L, IA)
#line 8460 "regression-compile-tmp/imp918s.imp"
auto void OUT( int L, int IA );
                                                                //   8461           NCONST=0;  BPTR=0
#line 8461 "regression-compile-tmp/imp918s.imp"
NCONST = 0;
#line 8461 "regression-compile-tmp/imp918s.imp"
BPTR = 0;
                                                                //   8462           SHR=A(2)&3;                    ! 0='%CONST'
#line 8462 "regression-compile-tmp/imp918s.imp"
SHR = ((A[9]) & (3));
                                                                //   8463           %IF SHR=0 %THEN CONSTP==SSTL %AND LPUTP=4 %ELSE%C
#line 8463 "regression-compile-tmp/imp918s.imp"
if (((SHR) != (0))) goto L_084f;
#line 8463 "regression-compile-tmp/imp918s.imp"
CONSTP = &SSTL;
#line 8463 "regression-compile-tmp/imp918s.imp"
LPUTP = 4;
#line 8463 "regression-compile-tmp/imp918s.imp"
goto L_0850;
#line 8463 "regression-compile-tmp/imp918s.imp"
L_084f:;
#line 8463 "regression-compile-tmp/imp918s.imp"
CONSTP = &CONSTPTR;
#line 8463 "regression-compile-tmp/imp918s.imp"
LPUTP = 5;
#line 8463 "regression-compile-tmp/imp918s.imp"
L_0850:;
                                                                //   8464                           CONSTP==CONSTPTR %AND LPUTP=5
                                                                //   8465           CONSTP=(CONSTP+7)&(-8);        ! RELEVANT PTR TO D.W. BOUNDRY
#line 8465 "regression-compile-tmp/imp918s.imp"
*CONSTP = ((((*(int *)(CONSTP)) + (7))) & ((-8)));
                                                                //   8466           TOAR4(R+2, CONSTP)
#line 8466 "regression-compile-tmp/imp918s.imp"
TOAR4((((int)(R)) + (2)), *CONSTP);
                                                                //   8467           RP=R;  R=R+4
#line 8467 "regression-compile-tmp/imp918s.imp"
RP = R;
#line 8467 "regression-compile-tmp/imp918s.imp"
R = (((int)(R)) + (4));
                                                                //   8468           TYPEP=TYPEFLAG(A(4));  PRECP=TYPEP>>3
#line 8468 "regression-compile-tmp/imp918s.imp"
TYPEP = (TYPEFLAG-1)[A[11]];
#line 8468 "regression-compile-tmp/imp918s.imp"
PRECP = (int)((((unsigned int)(TYPEP)) >> (3)));
                                                                //   8469           TYPEP=TYPEP&7
#line 8469 "regression-compile-tmp/imp918s.imp"
TYPEP = ((TYPEP) & (7));
                                                                //   8470           PRECP=3 %IF TYPEP=2 %AND ALL LONG=1
#line 8470 "regression-compile-tmp/imp918s.imp"
if (((TYPEP) != (2))) goto L_0851;
#line 8470 "regression-compile-tmp/imp918s.imp"
if (((ALLLONG) != (1))) goto L_0851;
#line 8470 "regression-compile-tmp/imp918s.imp"
PRECP = 3;
#line 8470 "regression-compile-tmp/imp918s.imp"
L_0851:;
                                                                //   8471           %IF TYPEP=5 %THEN  ACC=A(6) %ELSE ACC=BYTES(PRECP)
#line 8471 "regression-compile-tmp/imp918s.imp"
if (((TYPEP) != (5))) goto L_0852;
#line 8471 "regression-compile-tmp/imp918s.imp"
ACC = A[13];
#line 8471 "regression-compile-tmp/imp918s.imp"
goto L_0853;
#line 8471 "regression-compile-tmp/imp918s.imp"
L_0852:;
#line 8471 "regression-compile-tmp/imp918s.imp"
ACC = BYTES[PRECP];
#line 8471 "regression-compile-tmp/imp918s.imp"
L_0853:;
                                                                //   8472  Label6:       RQ=Q;  CHAR=BYTE INTEGER(Q)
#line 8472 "regression-compile-tmp/imp918s.imp"
U_106f:;
#line 8472 "regression-compile-tmp/imp918s.imp"
RQ = Q;
#line 8472 "regression-compile-tmp/imp918s.imp"
CHAR = *_imp_BYTEINTEGER(Q);
                                                                //   8473           SIGN=1
#line 8473 "regression-compile-tmp/imp918s.imp"
SIGN = 1;
                                                                //   8474           %IF CHAR='-' %THEN SIGN=-1
#line 8474 "regression-compile-tmp/imp918s.imp"
if (((CHAR) != (45))) goto L_0854;
#line 8474 "regression-compile-tmp/imp918s.imp"
SIGN = (-1);
#line 8474 "regression-compile-tmp/imp918s.imp"
L_0854:;
                                                                //   8475           %IF CHAR='+' %OR CHAR='-' %THEN Q=Q+1
#line 8475 "regression-compile-tmp/imp918s.imp"
if (((CHAR) == (43))) goto L_0855;
#line 8475 "regression-compile-tmp/imp918s.imp"
if (((CHAR) != (45))) goto L_0856;
#line 8475 "regression-compile-tmp/imp918s.imp"
L_0855:;
#line 8475 "regression-compile-tmp/imp918s.imp"
Q = (((int)(Q)) + (1));
#line 8475 "regression-compile-tmp/imp918s.imp"
L_0856:;
                                                                //   8476           CONST(0);  RF=1
#line 8476 "regression-compile-tmp/imp918s.imp"
CONST(0);
#line 8476 "regression-compile-tmp/imp918s.imp"
RF = 1;
                                                                //   8477           ->Label98 %IF HIT=0
#line 8477 "regression-compile-tmp/imp918s.imp"
if (((HIT) != (0))) goto L_0857;
#line 8477 "regression-compile-tmp/imp918s.imp"
goto U_1070;
#line 8477 "regression-compile-tmp/imp918s.imp"
L_0857:;
                                                                //   8478           ->Label1 %UNLESS BYTE INTEGER(Q)='('
#line 8478 "regression-compile-tmp/imp918s.imp"
if (((*_imp_BYTEINTEGER(Q)) == (40))) goto L_0858;
#line 8478 "regression-compile-tmp/imp918s.imp"
goto U_1071;
#line 8478 "regression-compile-tmp/imp918s.imp"
L_0858:;
                                                                //   8479           J=S;  Q=Q+1;  C=CVALUE;  K=CTYPE
#line 8479 "regression-compile-tmp/imp918s.imp"
J = S;
#line 8479 "regression-compile-tmp/imp918s.imp"
Q = (((int)(Q)) + (1));
#line 8479 "regression-compile-tmp/imp918s.imp"
C = CVALUE;
#line 8479 "regression-compile-tmp/imp918s.imp"
K = CTYPE;
                                                                //   8480           CONST(2)
#line 8480 "regression-compile-tmp/imp918s.imp"
CONST(2);
                                                                //   8481           ->Label98 %UNLESS HIT=1 %AND S>0 %AND BYTE INTEGER(Q)=')'
#line 8481 "regression-compile-tmp/imp918s.imp"
if (((HIT) != (1))) goto L_0859;
#line 8481 "regression-compile-tmp/imp918s.imp"
if (((S) <= (0))) goto L_0859;
#line 8481 "regression-compile-tmp/imp918s.imp"
if (((*_imp_BYTEINTEGER(Q)) == (41))) goto L_085a;
#line 8481 "regression-compile-tmp/imp918s.imp"
L_0859:;
#line 8481 "regression-compile-tmp/imp918s.imp"
goto U_1070;
#line 8481 "regression-compile-tmp/imp918s.imp"
L_085a:;
                                                                //   8482           Q=Q+1
#line 8482 "regression-compile-tmp/imp918s.imp"
Q = (((int)(Q)) + (1));
                                                                //   8483           CVALUE=C;  RF=S;  S=J;  CTYPE=K
#line 8483 "regression-compile-tmp/imp918s.imp"
CVALUE = C;
#line 8483 "regression-compile-tmp/imp918s.imp"
RF = S;
#line 8483 "regression-compile-tmp/imp918s.imp"
S = J;
#line 8483 "regression-compile-tmp/imp918s.imp"
CTYPE = K;
                                                                //   8484  Label1:       %IF TYPEP=5 %THEN %START
#line 8484 "regression-compile-tmp/imp918s.imp"
U_1071:;
#line 8484 "regression-compile-tmp/imp918s.imp"
if (((TYPEP) != (5))) goto L_085b;
                                                                //   8485              %IF CTYPE#5 %THEN %START
#line 8485 "regression-compile-tmp/imp918s.imp"
if (((CTYPE) == (5))) goto L_085c;
                                                                //   8486                 ->Label98 %UNLESS CTYPE=1 %AND S<127
#line 8486 "regression-compile-tmp/imp918s.imp"
if (((CTYPE) != (1))) goto L_081f;
#line 8486 "regression-compile-tmp/imp918s.imp"
if (((S) < (127))) goto L_085d;
#line 8486 "regression-compile-tmp/imp918s.imp"
L_081f:;
#line 8486 "regression-compile-tmp/imp918s.imp"
goto U_1070;
#line 8486 "regression-compile-tmp/imp918s.imp"
L_085d:;
                                                                //   8487                 A(RP+6)=S<<8;  S=1 %UNLESS S=0;  A(RP+5)=S
#line 8487 "regression-compile-tmp/imp918s.imp"
A[(((unsigned char)((((int)(RP)) + (6)))) + (7))] = ((S) << (8));
#line 8487 "regression-compile-tmp/imp918s.imp"
if (((S) == (0))) goto L_085e;
#line 8487 "regression-compile-tmp/imp918s.imp"
S = 1;
#line 8487 "regression-compile-tmp/imp918s.imp"
L_085e:;
#line 8487 "regression-compile-tmp/imp918s.imp"
A[(((unsigned char)((((int)(RP)) + (5)))) + (7))] = S;
                                                                //   8488              %FINISH
#line 8488 "regression-compile-tmp/imp918s.imp"
L_085c:;
                                                                //   8489              ->Label98 %UNLESS SIGN=1 %AND ACC>=A(RP+5)
#line 8489 "regression-compile-tmp/imp918s.imp"
if (((SIGN) != (1))) goto L_0838;
#line 8489 "regression-compile-tmp/imp918s.imp"
if (((ACC) >= (A[(((unsigned char)((((int)(RP)) + (5)))) + (7))]))) goto L_085f;
#line 8489 "regression-compile-tmp/imp918s.imp"
L_0838:;
#line 8489 "regression-compile-tmp/imp918s.imp"
goto U_1070;
#line 8489 "regression-compile-tmp/imp918s.imp"
L_085f:;
                                                                //   8490           %FINISH %ELSE %START
#line 8490 "regression-compile-tmp/imp918s.imp"
goto L_0860;
#line 8490 "regression-compile-tmp/imp918s.imp"
L_085b:;
                                                                //   8491              %IF CTYPE=5 %THEN ->Label98
#line 8491 "regression-compile-tmp/imp918s.imp"
if (((CTYPE) != (5))) goto L_0861;
#line 8491 "regression-compile-tmp/imp918s.imp"
goto U_1070;
#line 8491 "regression-compile-tmp/imp918s.imp"
L_0861:;
                                                                //   8492              %IF TYPEP=2 %THEN %START
#line 8492 "regression-compile-tmp/imp918s.imp"
if (((TYPEP) != (2))) goto L_0862;
                                                                //   8493                 %IF CTYPE=1 %THEN CVALUE=S
#line 8493 "regression-compile-tmp/imp918s.imp"
if (((CTYPE) != (1))) goto L_0863;
#line 8493 "regression-compile-tmp/imp918s.imp"
CVALUE = S;
#line 8493 "regression-compile-tmp/imp918s.imp"
L_0863:;
                                                                //   8494                 %IF SIGN<0 %THEN CVALUE=-CVALUE
#line 8494 "regression-compile-tmp/imp918s.imp"
if (((SIGN) >= (0))) goto L_0864;
#line 8494 "regression-compile-tmp/imp918s.imp"
CVALUE = (-(CVALUE));
#line 8494 "regression-compile-tmp/imp918s.imp"
L_0864:;
                                                                //   8495                 J=ADDR(CVALUE)
#line 8495 "regression-compile-tmp/imp918s.imp"
J = _imp_ADDR(&CVALUE);
                                                                //   8496              %FINISH %ELSE %START
#line 8496 "regression-compile-tmp/imp918s.imp"
goto L_0865;
#line 8496 "regression-compile-tmp/imp918s.imp"
L_0862:;
                                                                //   8497                 S=S*SIGN
#line 8497 "regression-compile-tmp/imp918s.imp"
S = (((int)(S)) * (SIGN));
                                                                //   8498                 %IF (PRECP=1 %AND S&X'FFFFFF00'#0) %OR %C
#line 8498 "regression-compile-tmp/imp918s.imp"
if (((PRECP) != (1))) goto L_0866;
#line 8498 "regression-compile-tmp/imp918s.imp"
if (((((S) & ((-256)))) != (0))) goto L_0867;
#line 8498 "regression-compile-tmp/imp918s.imp"
L_0866:;
#line 8498 "regression-compile-tmp/imp918s.imp"
if (((PRECP) != (2))) goto L_0868;
#line 8498 "regression-compile-tmp/imp918s.imp"
if (((((_imp_IMOD(S)) & ((-65536)))) == (0))) goto L_0868;
#line 8498 "regression-compile-tmp/imp918s.imp"
L_0867:;
#line 8498 "regression-compile-tmp/imp918s.imp"
goto U_1070;
#line 8498 "regression-compile-tmp/imp918s.imp"
L_0868:;
                                                                //   8499                     (PRECP=2 %AND (|S|)&X'FFFF0000'#0) %THEN ->Label98
                                                                //   8500                 J=ADDR(S)+4-ACC
#line 8500 "regression-compile-tmp/imp918s.imp"
J = (((int)((((int)(_imp_ADDR(&S))) + (4)))) - (ACC));
                                                                //   8501              %FINISH
#line 8501 "regression-compile-tmp/imp918s.imp"
L_0865:;
                                                                //   8502           %FINISH
#line 8502 "regression-compile-tmp/imp918s.imp"
L_0860:;
                                                                //   8503           %CYCLE KK=1, 1, RF
#line 8503 "regression-compile-tmp/imp918s.imp"
{static int _initial, _increment, _final, _control;
_initial = 1; _increment = 1; _final = RF; KK = _control = _initial;
if (((_final-_initial) % _increment) != 0) _imp_signal(5,1,0,"Illegal cycle KK = 1, 1, RF");
KK -= _increment; _control -= _increment;
L_0869:;
if (KK == _final) goto L_086a;
KK += _increment; _control += _increment;
if (KK != _control) _imp_signal(4,2,0,"Corrupt control variable KK"); /* FOR loop control variable corrupted */
}
                                                                //   8504              %IF TYPEP=5 %THEN OUT(ACC+1, ADDR(A(RP+5))+1) %ELSE %START
#line 8504 "regression-compile-tmp/imp918s.imp"
if (((TYPEP) != (5))) goto L_086c;
#line 8504 "regression-compile-tmp/imp918s.imp"
OUT((((int)(ACC)) + (1)), (((int)(_imp_ADDR(&A[(((unsigned char)((((int)(RP)) + (5)))) + (7))]))) + (1)));
#line 8504 "regression-compile-tmp/imp918s.imp"
goto L_086d;
#line 8504 "regression-compile-tmp/imp918s.imp"
L_086c:;
                                                                //   8505  !%if USE MC = 1 %start
                                                                //   8506  !               **1,@BUFFER(BPTR);  *L_2,J
                                                                //   8507  !               *MVC_0(8,1),0(2);        ! MOVE IN CONSTANT RUBBISH
                                                                //   8508  !%finish
                                                                //   8509                 BPTR=BPTR+ACC
#line 8509 "regression-compile-tmp/imp918s.imp"
BPTR = (((int)(BPTR)) + (ACC));
                                                                //   8510                 %IF BPTR=256 %THEN OUT(256, ADDR(BUFFER(0)))
#line 8510 "regression-compile-tmp/imp918s.imp"
if (((BPTR) != (256))) goto L_086e;
#line 8510 "regression-compile-tmp/imp918s.imp"
OUT(256, _imp_ADDR(&BUFFER[0]));
#line 8510 "regression-compile-tmp/imp918s.imp"
L_086e:;
                                                                //   8511              %FINISH;  NCONST=NCONST+1
#line 8511 "regression-compile-tmp/imp918s.imp"
L_086d:;
#line 8511 "regression-compile-tmp/imp918s.imp"
NCONST = (((int)(NCONST)) + (1));
                                                                //   8512           %REPEAT;  R=RP+4
#line 8512 "regression-compile-tmp/imp918s.imp"
goto L_0869;
#line 8512 "regression-compile-tmp/imp918s.imp"
L_086a:;
#line 8512 "regression-compile-tmp/imp918s.imp"
R = (((int)(RP)) + (4));
                                                                //   8513           ->Label99 %UNLESS BYTE INTEGER(Q)=',';  Q=Q+1
#line 8513 "regression-compile-tmp/imp918s.imp"
if (((*_imp_BYTEINTEGER(Q)) == (44))) goto L_086f;
#line 8513 "regression-compile-tmp/imp918s.imp"
goto U_1072;
#line 8513 "regression-compile-tmp/imp918s.imp"
L_086f:;
#line 8513 "regression-compile-tmp/imp918s.imp"
Q = (((int)(Q)) + (1));
                                                                //   8514           ->Label6 %UNLESS BYTE INTEGER(Q)=10
#line 8514 "regression-compile-tmp/imp918s.imp"
if (((*_imp_BYTEINTEGER(Q)) == (10))) goto L_0870;
#line 8514 "regression-compile-tmp/imp918s.imp"
goto U_106f;
#line 8514 "regression-compile-tmp/imp918s.imp"
L_0870:;
                                                                //   8515           READ LINE(0,0);  Q=ADDR(CC(1));  ->Label6
#line 8515 "regression-compile-tmp/imp918s.imp"
READLINE(0, 0);
#line 8515 "regression-compile-tmp/imp918s.imp"
Q = _imp_ADDR(&CC[1]);
#line 8515 "regression-compile-tmp/imp918s.imp"
goto U_106f;
                                                                //   8516  Label98:      Q=RQ
#line 8516 "regression-compile-tmp/imp918s.imp"
U_1070:;
#line 8516 "regression-compile-tmp/imp918s.imp"
Q = RQ;
                                                                //   8517  Label99:      R=RP+4;  TOAR4(RP, NCONST)
#line 8517 "regression-compile-tmp/imp918s.imp"
U_1072:;
#line 8517 "regression-compile-tmp/imp918s.imp"
R = (((int)(RP)) + (4));
#line 8517 "regression-compile-tmp/imp918s.imp"
TOAR4(RP, NCONST);
                                                                //   8518           %IF TYPEP#5 %AND BPTR>0 %THEN OUT(BPTR, ADDR(BUFFER(0)))
#line 8518 "regression-compile-tmp/imp918s.imp"
if (((TYPEP) == (5))) goto L_0871;
#line 8518 "regression-compile-tmp/imp918s.imp"
if (((BPTR) <= (0))) goto L_0871;
#line 8518 "regression-compile-tmp/imp918s.imp"
OUT(BPTR, _imp_ADDR(&BUFFER[0]));
#line 8518 "regression-compile-tmp/imp918s.imp"
L_0871:;
                                                                //   8519           CONSTP=(CONSTP+3)&(-4)
#line 8519 "regression-compile-tmp/imp918s.imp"
*CONSTP = ((((*(int *)(CONSTP)) + (3))) & ((-4)));
                                                                //   8520           ->Label999
#line 8520 "regression-compile-tmp/imp918s.imp"
goto U_1073;
                                                                //   8521  %ROUTINE OUT(%INTEGER L, IA)
#line 8521 "regression-compile-tmp/imp918s.imp"
void OUT( int L, int IA )
#line 8521 "regression-compile-tmp/imp918s.imp"
{
                                                                //   8522           LPUT(LPUTP, L, CONSTP, IA) %IF INHCODE=0
#line 8522 "regression-compile-tmp/imp918s.imp"
if (((INHCODE) != (0))) goto L_0872;
#line 8522 "regression-compile-tmp/imp918s.imp"
lput(LPUTP, L, *CONSTP, IA);
#line 8522 "regression-compile-tmp/imp918s.imp"
L_0872:;
                                                                //   8523           CONSTP=CONSTP+L
#line 8523 "regression-compile-tmp/imp918s.imp"
*CONSTP = ((*(int *)(CONSTP)) + (L));
                                                                //   8524           BPTR=0
#line 8524 "regression-compile-tmp/imp918s.imp"
BPTR = 0;
                                                                //   8525  %END
#line 8525 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block OUT at level 3
                                                                //   8526  Label999: %END
#line 8526 "regression-compile-tmp/imp918s.imp"
U_1073:;
#line 8526 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block CONSTLIST at level 2
                                                                //   8527  %ROUTINE TEXTTEXT
#line 8527 "regression-compile-tmp/imp918s.imp"
void TEXTTEXT( void )
#line 8527 "regression-compile-tmp/imp918s.imp"
{
                                                                //   8528  %INTEGER J, QU, ARAD
#line 8528 "regression-compile-tmp/imp918s.imp"
int J;
#line 8528 "regression-compile-tmp/imp918s.imp"
int QU;
#line 8528 "regression-compile-tmp/imp918s.imp"
int ARAD;
                                                                //   8529           S=R; HIT=0
#line 8529 "regression-compile-tmp/imp918s.imp"
S = R;
#line 8529 "regression-compile-tmp/imp918s.imp"
HIT = 0;
                                                                //   8530           J=0; ARAD=ADDR(A(R+1))
#line 8530 "regression-compile-tmp/imp918s.imp"
J = 0;
#line 8530 "regression-compile-tmp/imp918s.imp"
ARAD = _imp_ADDR(&A[(((unsigned char)((((int)(R)) + (1)))) + (7))]);
                                                                //   8531           %RETURN %UNLESS I=M'''' %OR I=34;! FAIL UNLESS  INITIAL QUOTE
#line 8531 "regression-compile-tmp/imp918s.imp"
if (((I) == (39))) goto L_0873;
#line 8531 "regression-compile-tmp/imp918s.imp"
if (((I) == (34))) goto L_0873;
#line 8531 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 8531 "regression-compile-tmp/imp918s.imp"
L_0873:;
                                                                //   8532           QU=I; Q=Q+1
#line 8532 "regression-compile-tmp/imp918s.imp"
QU = I;
#line 8532 "regression-compile-tmp/imp918s.imp"
Q = (((int)(Q)) + (1));
                                                                //   8533           %CYCLE
#line 8533 "regression-compile-tmp/imp918s.imp"
L_0874:;
                                                                //   8534              I=BYTE INTEGER(Q)
#line 8534 "regression-compile-tmp/imp918s.imp"
I = *_imp_BYTEINTEGER(Q);
                                                                //   8535              %IF I=QU %THEN %START
#line 8535 "regression-compile-tmp/imp918s.imp"
if (((I) != (QU))) goto L_0877;
                                                                //   8536                 Q=Q+1
#line 8536 "regression-compile-tmp/imp918s.imp"
Q = (((int)(Q)) + (1));
                                                                //   8537                 %IF BYTE INTEGER(Q)#QU %THEN %EXIT
#line 8537 "regression-compile-tmp/imp918s.imp"
if (((*_imp_BYTEINTEGER(Q)) == (QU))) goto L_0878;
#line 8537 "regression-compile-tmp/imp918s.imp"
goto L_0875;
#line 8537 "regression-compile-tmp/imp918s.imp"
L_0878:;
                                                                //   8538              %FINISH
#line 8538 "regression-compile-tmp/imp918s.imp"
L_0877:;
                                                                //   8539              BYTEINTEGER(ARAD)=I
#line 8539 "regression-compile-tmp/imp918s.imp"
*_imp_BYTEINTEGER(ARAD) = I;
                                                                //   8540              ARAD=ARAD+1; J=J+1
#line 8540 "regression-compile-tmp/imp918s.imp"
ARAD = (((int)(ARAD)) + (1));
#line 8540 "regression-compile-tmp/imp918s.imp"
J = (((int)(J)) + (1));
                                                                //   8541              %IF I=10 %THEN READ LINE(1,QU) %ELSE Q=Q+1
#line 8541 "regression-compile-tmp/imp918s.imp"
if (((I) != (10))) goto L_0879;
#line 8541 "regression-compile-tmp/imp918s.imp"
READLINE(1, QU);
#line 8541 "regression-compile-tmp/imp918s.imp"
goto L_087a;
#line 8541 "regression-compile-tmp/imp918s.imp"
L_0879:;
#line 8541 "regression-compile-tmp/imp918s.imp"
Q = (((int)(Q)) + (1));
#line 8541 "regression-compile-tmp/imp918s.imp"
L_087a:;
                                                                //   8542              FAULT(106,0) %IF J>=256
#line 8542 "regression-compile-tmp/imp918s.imp"
if (((J) < (256))) goto L_087b;
#line 8542 "regression-compile-tmp/imp918s.imp"
FAULT(106, 0);
#line 8542 "regression-compile-tmp/imp918s.imp"
L_087b:;
                                                                //   8543           %REPEAT
#line 8543 "regression-compile-tmp/imp918s.imp"
goto L_0874;
#line 8543 "regression-compile-tmp/imp918s.imp"
L_0875:;
                                                                //   8544           A(S)=J;   HIT=1
#line 8544 "regression-compile-tmp/imp918s.imp"
A[((S) + ((int)(7)))] = J;
#line 8544 "regression-compile-tmp/imp918s.imp"
HIT = 1;
                                                                //   8545           R=R+(J+1)>>1
#line 8545 "regression-compile-tmp/imp918s.imp"
R = ((R) + ((int)((((((((int)(J)) + (1)))) >> (1))))));
                                                                //   8546  %END
#line 8546 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block TEXTTEXT at level 2
                                                                //   8547  !%finish
                                                                //   8548           %ROUTINE     TOAR4(%INTEGER PTR,VALUE)
#line 8548 "regression-compile-tmp/imp918s.imp"
void TOAR4( int PTR, int VALUE )
#line 8548 "regression-compile-tmp/imp918s.imp"
{
                                                                //   8549  !%if USE MC = 1 %start
                                                                //   8550  !         **1,@A(PTR)
                                                                //   8551  !         *MVC_0(4,1),VALUE
                                                                //   8552  !%finish
                                                                //   8553           %END
#line 8553 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block TOAR4 at level 2
                                                                //   8554           %ROUTINE     TOAR8(%INTEGER PTR,%LONGREAL VALUE)
#line 8554 "regression-compile-tmp/imp918s.imp"
void TOAR8( int PTR, double VALUE )
#line 8554 "regression-compile-tmp/imp918s.imp"
{
                                                                //   8555  
                                                                //   8556  !%if USE MC = 1 %start
                                                                //   8557  !         **1,@A(PTR)
                                                                //   8558  !         *MVC_0(8,1),VALUE
                                                                //   8559  !%finish
                                                                //   8560           %END
#line 8560 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block TOAR8 at level 2
                                                                //   8561           %ROUTINE     FROMAR4(%INTEGER PTR,%INTEGERNAME VALUE)
#line 8561 "regression-compile-tmp/imp918s.imp"
void FROMAR4( int PTR, int /*name*/*VALUE )
#line 8561 "regression-compile-tmp/imp918s.imp"
{
                                                                //   8562  !%if USE MC = 1 %start
                                                                //   8563  !         **1,@A(PTR)
                                                                //   8564  !         *L_2,VALUE
                                                                //   8565  !         *MVC_0(4,2),0(1)
                                                                //   8566  !%finish
                                                                //   8567           %END
#line 8567 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block FROMAR4 at level 2
                                                                //   8568           %ROUTINE     FROMAR8(%INTEGER PTR,%LONGREALNAME VALUE)
#line 8568 "regression-compile-tmp/imp918s.imp"
void FROMAR8( int PTR, double /*name*/*VALUE )
#line 8568 "regression-compile-tmp/imp918s.imp"
{
                                                                //   8569  
                                                                //   8570  !%if USE MC = 1 %start
                                                                //   8571  !         **1,@A(PTR)
                                                                //   8572  !         *L_2,VALUE
                                                                //   8573  !         *MVC_0(8,2),0(1)
                                                                //   8574  !%finish
                                                                //   8575           %END
#line 8575 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block FROMAR8 at level 2
                                                                //   8576  !%if INCLUDE DELSTART = 1 %start
                                                                //   8577  %ROUTINE CONST(%INTEGER MODE)
#line 8577 "regression-compile-tmp/imp918s.imp"
void CONST( int MODE )
#line 8577 "regression-compile-tmp/imp918s.imp"
{
                                                                //   8578  !***********************************************************************
                                                                //   8579  !*       SYNTAX CHECK AND EVALUATE ALL THE FORMS OF IMP CONSTANT       *
                                                                //   8580  !*       MODE#0 FOR INTEGER CONSTANTS =0 FOR ANY SORT OF CONSTANT      *
                                                                //   8581  !***********************************************************************
                                                                //   8582  %INTEGER Z,T;%LONGREAL X
#line 8582 "regression-compile-tmp/imp918s.imp"
int Z;
#line 8582 "regression-compile-tmp/imp918s.imp"
int T;
#line 8582 "regression-compile-tmp/imp918s.imp"
double X;
                                                                //   8583           HIT=0
#line 8583 "regression-compile-tmp/imp918s.imp"
HIT = 0;
                                                                //   8584           CVALUE=0;  I=BYTE INTEGER(Q)
#line 8584 "regression-compile-tmp/imp918s.imp"
CVALUE = 0;
#line 8584 "regression-compile-tmp/imp918s.imp"
I = *_imp_BYTEINTEGER(Q);
                                                                //   8585           S=0;  ->N %IF M'0'<=I<=M'9'
#line 8585 "regression-compile-tmp/imp918s.imp"
S = 0;
#line 8585 "regression-compile-tmp/imp918s.imp"
if ((((48) > (I))) || (((I) > (57)))) goto L_087c;
#line 8585 "regression-compile-tmp/imp918s.imp"
goto U_1074;
#line 8585 "regression-compile-tmp/imp918s.imp"
L_087c:;
                                                                //   8586           ->DOT %IF I='.' %AND MODE=0 %AND '0'<=BYTE INTEGER(Q+1)<='9'
#line 8586 "regression-compile-tmp/imp918s.imp"
if (((I) != (46))) goto L_087d;
#line 8586 "regression-compile-tmp/imp918s.imp"
if (((MODE) != (0))) goto L_087d;
#line 8586 "regression-compile-tmp/imp918s.imp"
if (({int tmp1 = 48, tmp2 = *_imp_BYTEINTEGER((((int)(Q)) + (1))), tmp3 = 57; (tmp1 > tmp2) || (tmp2 > tmp3);})) goto L_087d;
#line 8586 "regression-compile-tmp/imp918s.imp"
goto U_1075;
#line 8586 "regression-compile-tmp/imp918s.imp"
L_087d:;
                                                                //   8587                                          ! 1 DIDT MIN
                                                                //   8588           CTYPE=1
#line 8588 "regression-compile-tmp/imp918s.imp"
CTYPE = 1;
                                                                //   8589           ->PI %IF I='$'
#line 8589 "regression-compile-tmp/imp918s.imp"
if (((I) != (36))) goto L_087e;
#line 8589 "regression-compile-tmp/imp918s.imp"
goto U_1009;
#line 8589 "regression-compile-tmp/imp918s.imp"
L_087e:;
                                                                //   8590           ->STR %IF I=M''''
#line 8590 "regression-compile-tmp/imp918s.imp"
if (((I) != (39))) goto L_087f;
#line 8590 "regression-compile-tmp/imp918s.imp"
goto U_1007;
#line 8590 "regression-compile-tmp/imp918s.imp"
L_087f:;
                                                                //   8591           ->STR2 %IF I=34
#line 8591 "regression-compile-tmp/imp918s.imp"
if (((I) != (34))) goto L_0880;
#line 8591 "regression-compile-tmp/imp918s.imp"
goto U_1008;
#line 8591 "regression-compile-tmp/imp918s.imp"
L_0880:;
                                                                //   8592           %RETURN %UNLESS BYTE INTEGER(Q+1)=M'''';  Q=Q+2
#line 8592 "regression-compile-tmp/imp918s.imp"
if (((*_imp_BYTEINTEGER((((int)(Q)) + (1)))) == (39))) goto L_0881;
#line 8592 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 8592 "regression-compile-tmp/imp918s.imp"
L_0881:;
#line 8592 "regression-compile-tmp/imp918s.imp"
Q = (((int)(Q)) + (2));
                                                                //   8593           ->HEX %IF I='X'
#line 8593 "regression-compile-tmp/imp918s.imp"
if (((I) != (88))) goto L_0882;
#line 8593 "regression-compile-tmp/imp918s.imp"
goto U_100a;
#line 8593 "regression-compile-tmp/imp918s.imp"
L_0882:;
                                                                //   8594           ->MULT %IF I='M'
#line 8594 "regression-compile-tmp/imp918s.imp"
if (((I) != (77))) goto L_0883;
#line 8594 "regression-compile-tmp/imp918s.imp"
goto U_1076;
#line 8594 "regression-compile-tmp/imp918s.imp"
L_0883:;
                                                                //   8595           ->BIN %IF I=M'B'
#line 8595 "regression-compile-tmp/imp918s.imp"
if (((I) != (66))) goto L_0884;
#line 8595 "regression-compile-tmp/imp918s.imp"
goto U_1077;
#line 8595 "regression-compile-tmp/imp918s.imp"
L_0884:;
                                                                //   8596           ->RHEX %IF I='R' %AND MODE=0
#line 8596 "regression-compile-tmp/imp918s.imp"
if (((I) != (82))) goto L_0885;
#line 8596 "regression-compile-tmp/imp918s.imp"
if (((MODE) != (0))) goto L_0885;
#line 8596 "regression-compile-tmp/imp918s.imp"
goto U_1078;
#line 8596 "regression-compile-tmp/imp918s.imp"
L_0885:;
                                                                //   8597           ->OCT %IF I='K'
#line 8597 "regression-compile-tmp/imp918s.imp"
if (((I) != (75))) goto L_0886;
#line 8597 "regression-compile-tmp/imp918s.imp"
goto U_1079;
#line 8597 "regression-compile-tmp/imp918s.imp"
L_0886:;
                                                                //   8598           Q=Q-2;  %RETURN
#line 8598 "regression-compile-tmp/imp918s.imp"
Q = (((int)(Q)) - (2));
#line 8598 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   8599  PI:      Q=Q+1;                         ! '$'=3.14159ETC
#line 8599 "regression-compile-tmp/imp918s.imp"
U_1009:;
#line 8599 "regression-compile-tmp/imp918s.imp"
Q = (((int)(Q)) + (1));
                                                                //   8600  !%if USE MC = 1 %start
                                                                //   8601  !         *MVC_CVALUE(8),PI1
                                                                //   8602  !%finish
                                                                //   8603           %IF MODE=0 %THEN CTYPE=2 %AND HIT=1
#line 8603 "regression-compile-tmp/imp918s.imp"
if (((MODE) != (0))) goto L_0887;
#line 8603 "regression-compile-tmp/imp918s.imp"
CTYPE = 2;
#line 8603 "regression-compile-tmp/imp918s.imp"
HIT = 1;
#line 8603 "regression-compile-tmp/imp918s.imp"
L_0887:;
                                                                //   8604           WARN(LINE)
#line 8604 "regression-compile-tmp/imp918s.imp"
WARN(LINE);
                                                                //   8605           %RETURN
#line 8605 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   8606  STR:     A(R)=5;  R=R+1
#line 8606 "regression-compile-tmp/imp918s.imp"
U_1007:;
#line 8606 "regression-compile-tmp/imp918s.imp"
A[((R) + ((int)(7)))] = 5;
#line 8606 "regression-compile-tmp/imp918s.imp"
R = (((int)(R)) + (1));
                                                                //   8607           TEXTTEXT
#line 8607 "regression-compile-tmp/imp918s.imp"
TEXTTEXT();
                                                                //   8608           %IF A(S)>1 %THEN CTYPE=5 %AND %RETURN
#line 8608 "regression-compile-tmp/imp918s.imp"
if (((A[((S) + ((int)(7)))]) <= (1))) goto L_0888;
#line 8608 "regression-compile-tmp/imp918s.imp"
CTYPE = 5;
#line 8608 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 8608 "regression-compile-tmp/imp918s.imp"
L_0888:;
                                                                //   8609           R=S-1
#line 8609 "regression-compile-tmp/imp918s.imp"
R = (((int)(S)) - (1));
                                                                //   8610           %IF A(S)=0 %THEN S=0 %ELSE S=A(S+1)>>8
#line 8610 "regression-compile-tmp/imp918s.imp"
if (((A[((S) + ((int)(7)))]) != (0))) goto L_0889;
#line 8610 "regression-compile-tmp/imp918s.imp"
S = 0;
#line 8610 "regression-compile-tmp/imp918s.imp"
goto L_088a;
#line 8610 "regression-compile-tmp/imp918s.imp"
L_0889:;
#line 8610 "regression-compile-tmp/imp918s.imp"
S = (short)((((unsigned short)(A[(((unsigned char)((((int)(S)) + (1)))) + (7))])) >> (8)));
#line 8610 "regression-compile-tmp/imp918s.imp"
L_088a:;
                                                                //   8611           HIT=1; %RETURN
#line 8611 "regression-compile-tmp/imp918s.imp"
HIT = 1;
#line 8611 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   8612  STR2:                                   ! DOUBLE QUOTED STRING
#line 8612 "regression-compile-tmp/imp918s.imp"
U_1008:;
                                                                //   8613           A(R)=5; R=R+1; TEXTTEXT
#line 8613 "regression-compile-tmp/imp918s.imp"
A[((R) + ((int)(7)))] = 5;
#line 8613 "regression-compile-tmp/imp918s.imp"
R = (((int)(R)) + (1));
#line 8613 "regression-compile-tmp/imp918s.imp"
TEXTTEXT();
                                                                //   8614           CTYPE=5; %RETURN
#line 8614 "regression-compile-tmp/imp918s.imp"
CTYPE = 5;
#line 8614 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   8615  HEX:     T=0;                           ! HEX CONSTANTS
#line 8615 "regression-compile-tmp/imp918s.imp"
U_100a:;
#line 8615 "regression-compile-tmp/imp918s.imp"
T = 0;
                                                                //   8616           %CYCLE
#line 8616 "regression-compile-tmp/imp918s.imp"
L_088b:;
                                                                //   8617              I=BYTE INTEGER(Q); Q=Q+1; T=T+1
#line 8617 "regression-compile-tmp/imp918s.imp"
I = *_imp_BYTEINTEGER(Q);
#line 8617 "regression-compile-tmp/imp918s.imp"
Q = (((int)(Q)) + (1));
#line 8617 "regression-compile-tmp/imp918s.imp"
T = (((int)(T)) + (1));
                                                                //   8618              %EXIT %IF I=M''''
#line 8618 "regression-compile-tmp/imp918s.imp"
if (((I) != (39))) goto L_088e;
#line 8618 "regression-compile-tmp/imp918s.imp"
goto L_088c;
#line 8618 "regression-compile-tmp/imp918s.imp"
L_088e:;
                                                                //   8619              %RETURN %UNLESS ('0'<=I<='9' %OR 'A'<=I<='F') %AND T<9
#line 8619 "regression-compile-tmp/imp918s.imp"
if ((((48) > (I))) || (((I) <= (57)))) goto L_0890;
#line 8619 "regression-compile-tmp/imp918s.imp"
L_088f:;
#line 8619 "regression-compile-tmp/imp918s.imp"
if ((((65) > (I))) || (((I) > (70)))) goto L_0891;
#line 8619 "regression-compile-tmp/imp918s.imp"
L_0890:;
#line 8619 "regression-compile-tmp/imp918s.imp"
if (((T) < (9))) goto L_0892;
#line 8619 "regression-compile-tmp/imp918s.imp"
L_0891:;
#line 8619 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 8619 "regression-compile-tmp/imp918s.imp"
L_0892:;
                                                                //   8620              S=S<<4+I&15+9*I>>6
#line 8620 "regression-compile-tmp/imp918s.imp"
S = ((((((((S) << (4)))) + (((I) & (15)))))) + (((9) * ((int)((int)((((unsigned int)(I)) >> (6))))))));
                                                                //   8621           %REPEAT
#line 8621 "regression-compile-tmp/imp918s.imp"
goto L_088b;
#line 8621 "regression-compile-tmp/imp918s.imp"
L_088c:;
                                                                //   8622           HIT=1; %RETURN
#line 8622 "regression-compile-tmp/imp918s.imp"
HIT = 1;
#line 8622 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   8623  RHEX:                                   ! REAL HEX CONSTANTS
#line 8623 "regression-compile-tmp/imp918s.imp"
U_1078:;
                                                                //   8624           T=0
#line 8624 "regression-compile-tmp/imp918s.imp"
T = 0;
                                                                //   8625           %CYCLE
#line 8625 "regression-compile-tmp/imp918s.imp"
L_0893:;
                                                                //   8626              I=BYTE INTEGER(Q); Q=Q+1
#line 8626 "regression-compile-tmp/imp918s.imp"
I = *_imp_BYTEINTEGER(Q);
#line 8626 "regression-compile-tmp/imp918s.imp"
Q = (((int)(Q)) + (1));
                                                                //   8627              %IF T=8 %THEN INTEGER(ADDR(CVALUE))=S %AND S=0
#line 8627 "regression-compile-tmp/imp918s.imp"
if (((T) != (8))) goto L_0896;
#line 8627 "regression-compile-tmp/imp918s.imp"
*_imp_INTEGER(_imp_ADDR(&CVALUE)) = S;
#line 8627 "regression-compile-tmp/imp918s.imp"
S = 0;
#line 8627 "regression-compile-tmp/imp918s.imp"
L_0896:;
                                                                //   8628              %EXIT %IF I=M''''; T=T+1
#line 8628 "regression-compile-tmp/imp918s.imp"
if (((I) != (39))) goto L_0897;
#line 8628 "regression-compile-tmp/imp918s.imp"
goto L_0894;
#line 8628 "regression-compile-tmp/imp918s.imp"
L_0897:;
#line 8628 "regression-compile-tmp/imp918s.imp"
T = (((int)(T)) + (1));
                                                                //   8629              %RETURN %UNLESS '0'<=I<='9' %OR 'A'<=I<='F'
#line 8629 "regression-compile-tmp/imp918s.imp"
if ((((48) > (I))) || (((I) <= (57)))) goto L_0899;
#line 8629 "regression-compile-tmp/imp918s.imp"
L_0898:;
#line 8629 "regression-compile-tmp/imp918s.imp"
if ((((65) > (I))) || (((I) <= (70)))) goto L_0899;
#line 8629 "regression-compile-tmp/imp918s.imp"
L_089a:;
#line 8629 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 8629 "regression-compile-tmp/imp918s.imp"
L_0899:;
                                                                //   8630              S=S<<4+I&15+9*I>>6
#line 8630 "regression-compile-tmp/imp918s.imp"
S = ((((((((S) << (4)))) + (((I) & (15)))))) + (((9) * ((int)((int)((((unsigned int)(I)) >> (6))))))));
                                                                //   8631           %REPEAT
#line 8631 "regression-compile-tmp/imp918s.imp"
goto L_0893;
#line 8631 "regression-compile-tmp/imp918s.imp"
L_0894:;
                                                                //   8632           %RETURN %UNLESS T=8 %OR T=16
#line 8632 "regression-compile-tmp/imp918s.imp"
if (((T) == (8))) goto L_089b;
#line 8632 "regression-compile-tmp/imp918s.imp"
if (((T) == (16))) goto L_089b;
#line 8632 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 8632 "regression-compile-tmp/imp918s.imp"
L_089b:;
                                                                //   8633           INTEGER(ADDR(CVALUE)+4)=S
#line 8633 "regression-compile-tmp/imp918s.imp"
*_imp_INTEGER((((int)(_imp_ADDR(&CVALUE))) + (4))) = S;
                                                                //   8634           HIT=1; CTYPE=2; %RETURN
#line 8634 "regression-compile-tmp/imp918s.imp"
HIT = 1;
#line 8634 "regression-compile-tmp/imp918s.imp"
CTYPE = 2;
#line 8634 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   8635  OCT:                                    ! OCTAL CONSTANTS
#line 8635 "regression-compile-tmp/imp918s.imp"
U_1079:;
                                                                //   8636           T=0
#line 8636 "regression-compile-tmp/imp918s.imp"
T = 0;
                                                                //   8637           %CYCLE
#line 8637 "regression-compile-tmp/imp918s.imp"
L_089c:;
                                                                //   8638              I=BYTE INTEGER(Q); Q=Q+1; T=T+1
#line 8638 "regression-compile-tmp/imp918s.imp"
I = *_imp_BYTEINTEGER(Q);
#line 8638 "regression-compile-tmp/imp918s.imp"
Q = (((int)(Q)) + (1));
#line 8638 "regression-compile-tmp/imp918s.imp"
T = (((int)(T)) + (1));
                                                                //   8639              %EXIT %IF I=M''''
#line 8639 "regression-compile-tmp/imp918s.imp"
if (((I) != (39))) goto L_089f;
#line 8639 "regression-compile-tmp/imp918s.imp"
goto L_089d;
#line 8639 "regression-compile-tmp/imp918s.imp"
L_089f:;
                                                                //   8640              %RETURN %UNLESS '0'<=I<='7' %AND T<12
#line 8640 "regression-compile-tmp/imp918s.imp"
if ((((48) > (I))) || (((I) > (55)))) goto L_08a0;
#line 8640 "regression-compile-tmp/imp918s.imp"
if (((T) < (12))) goto L_08a1;
#line 8640 "regression-compile-tmp/imp918s.imp"
L_08a0:;
#line 8640 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 8640 "regression-compile-tmp/imp918s.imp"
L_08a1:;
                                                                //   8641              S=S<<3!(I&7)
#line 8641 "regression-compile-tmp/imp918s.imp"
S = ((((S) << (3))) | (((I) & (7))));
                                                                //   8642           %REPEAT
#line 8642 "regression-compile-tmp/imp918s.imp"
goto L_089c;
#line 8642 "regression-compile-tmp/imp918s.imp"
L_089d:;
                                                                //   8643           HIT=1; %RETURN
#line 8643 "regression-compile-tmp/imp918s.imp"
HIT = 1;
#line 8643 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   8644  MULT:    T=0;                           ! MULTIPLE CONSTANTS
#line 8644 "regression-compile-tmp/imp918s.imp"
U_1076:;
#line 8644 "regression-compile-tmp/imp918s.imp"
T = 0;
                                                                //   8645           %CYCLE
#line 8645 "regression-compile-tmp/imp918s.imp"
L_08a2:;
                                                                //   8646              I=BYTE INTEGER(Q); Q=Q+1; T=T+1
#line 8646 "regression-compile-tmp/imp918s.imp"
I = *_imp_BYTEINTEGER(Q);
#line 8646 "regression-compile-tmp/imp918s.imp"
Q = (((int)(Q)) + (1));
#line 8646 "regression-compile-tmp/imp918s.imp"
T = (((int)(T)) + (1));
                                                                //   8647              %IF I=M'''' %THEN %START
#line 8647 "regression-compile-tmp/imp918s.imp"
if (((I) != (39))) goto L_08a5;
                                                                //   8648                 %IF BYTE INTEGER(Q)#M'''' %THEN %EXIT %ELSE Q=Q+1
#line 8648 "regression-compile-tmp/imp918s.imp"
if (((*_imp_BYTEINTEGER(Q)) == (39))) goto L_08a6;
#line 8648 "regression-compile-tmp/imp918s.imp"
goto L_08a3;
#line 8648 "regression-compile-tmp/imp918s.imp"
L_08a6:;
#line 8648 "regression-compile-tmp/imp918s.imp"
Q = (((int)(Q)) + (1));
                                                                //   8649              %FINISH
#line 8649 "regression-compile-tmp/imp918s.imp"
L_08a5:;
                                                                //   8650              %RETURN %IF T>=5
#line 8650 "regression-compile-tmp/imp918s.imp"
if (((T) < (5))) goto L_08a7;
#line 8650 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 8650 "regression-compile-tmp/imp918s.imp"
L_08a7:;
                                                                //   8651              S=S<<8!I
#line 8651 "regression-compile-tmp/imp918s.imp"
S = ((((S) << (8))) | (I));
                                                                //   8652           %REPEAT
#line 8652 "regression-compile-tmp/imp918s.imp"
goto L_08a2;
#line 8652 "regression-compile-tmp/imp918s.imp"
L_08a3:;
                                                                //   8653           HIT=1; %RETURN
#line 8653 "regression-compile-tmp/imp918s.imp"
HIT = 1;
#line 8653 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   8654  BIN:     T=0;                           ! BINARY CONST
#line 8654 "regression-compile-tmp/imp918s.imp"
U_1077:;
#line 8654 "regression-compile-tmp/imp918s.imp"
T = 0;
                                                                //   8655           %CYCLE
#line 8655 "regression-compile-tmp/imp918s.imp"
L_08a8:;
                                                                //   8656              I=BYTE INTEGER(Q); Q=Q+1; T=T+1
#line 8656 "regression-compile-tmp/imp918s.imp"
I = *_imp_BYTEINTEGER(Q);
#line 8656 "regression-compile-tmp/imp918s.imp"
Q = (((int)(Q)) + (1));
#line 8656 "regression-compile-tmp/imp918s.imp"
T = (((int)(T)) + (1));
                                                                //   8657              %EXIT %IF I=M''''
#line 8657 "regression-compile-tmp/imp918s.imp"
if (((I) != (39))) goto L_08ab;
#line 8657 "regression-compile-tmp/imp918s.imp"
goto L_08a9;
#line 8657 "regression-compile-tmp/imp918s.imp"
L_08ab:;
                                                                //   8658              %RETURN %UNLESS '0'<=I<='1' %AND T<33
#line 8658 "regression-compile-tmp/imp918s.imp"
if ((((48) > (I))) || (((I) > (49)))) goto L_08ac;
#line 8658 "regression-compile-tmp/imp918s.imp"
if (((T) < (33))) goto L_08ad;
#line 8658 "regression-compile-tmp/imp918s.imp"
L_08ac:;
#line 8658 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 8658 "regression-compile-tmp/imp918s.imp"
L_08ad:;
                                                                //   8659              S=S<<1!I&1
#line 8659 "regression-compile-tmp/imp918s.imp"
S = ((((S) << (1))) | (((I) & (1))));
                                                                //   8660           %REPEAT
#line 8660 "regression-compile-tmp/imp918s.imp"
goto L_08a8;
#line 8660 "regression-compile-tmp/imp918s.imp"
L_08a9:;
                                                                //   8661           HIT=1; %RETURN
#line 8661 "regression-compile-tmp/imp918s.imp"
HIT = 1;
#line 8661 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   8662  N:                                      ! CONSTANT STARTS WITH DIGIT
#line 8662 "regression-compile-tmp/imp918s.imp"
U_1074:;
                                                                //   8663           %CYCLE
#line 8663 "regression-compile-tmp/imp918s.imp"
L_08ae:;
                                                                //   8664              %IF S>X'7FFFFFF' %THEN ->BIGN
#line 8664 "regression-compile-tmp/imp918s.imp"
if (((S) <= (134217727))) goto L_08b1;
#line 8664 "regression-compile-tmp/imp918s.imp"
goto U_107a;
#line 8664 "regression-compile-tmp/imp918s.imp"
L_08b1:;
                                                                //   8665              S=10*S+I&15
#line 8665 "regression-compile-tmp/imp918s.imp"
S = ((((((int)(10)) * (S)))) + (((I) & (15))));
                                                                //   8666              Q=Q+1; I=BYTEINTEGER(Q)
#line 8666 "regression-compile-tmp/imp918s.imp"
Q = (((int)(Q)) + (1));
#line 8666 "regression-compile-tmp/imp918s.imp"
I = *_imp_BYTEINTEGER(Q);
                                                                //   8667           %REPEAT %UNTIL I<M'0' %OR I>M'9'
#line 8667 "regression-compile-tmp/imp918s.imp"
if (((I) < (48))) goto L_08af;
#line 8667 "regression-compile-tmp/imp918s.imp"
if (((I) > (57))) goto L_08af;
#line 8667 "regression-compile-tmp/imp918s.imp"
goto L_08ae;
#line 8667 "regression-compile-tmp/imp918s.imp"
L_08af:;
                                                                //   8668           %IF I='.' %OR I='@' %THEN CVALUE=S %AND ->FTEST
#line 8668 "regression-compile-tmp/imp918s.imp"
if (((I) == (46))) goto L_08b0;
#line 8668 "regression-compile-tmp/imp918s.imp"
if (((I) != (64))) goto L_08b2;
#line 8668 "regression-compile-tmp/imp918s.imp"
L_08b0:;
#line 8668 "regression-compile-tmp/imp918s.imp"
CVALUE = S;
#line 8668 "regression-compile-tmp/imp918s.imp"
goto U_107b;
#line 8668 "regression-compile-tmp/imp918s.imp"
L_08b2:;
                                                                //   8669           CTYPE=1; HIT=1; %RETURN
#line 8669 "regression-compile-tmp/imp918s.imp"
CTYPE = 1;
#line 8669 "regression-compile-tmp/imp918s.imp"
HIT = 1;
#line 8669 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   8670  BIGN:    CVALUE=S;                      ! NUMERIC CONSTANTS TOO BIG
#line 8670 "regression-compile-tmp/imp918s.imp"
U_107a:;
#line 8670 "regression-compile-tmp/imp918s.imp"
CVALUE = S;
                                                                //   8671                                          ! FOR EVALUATION IN INTEGERS
                                                                //   8672           %CYCLE
#line 8672 "regression-compile-tmp/imp918s.imp"
L_08b3:;
/*promote*/                                                                //   8673              CVALUE=10*CVALUE+(I&15)
#line 8673 "regression-compile-tmp/imp918s.imp"
CVALUE = ((((((double)(10)) * (CVALUE)))) + (((I) & (15))));
                                                                //   8674              Q=Q+1; I=BYTE INTEGER(Q);             ! ONTO NEXT CHAR
#line 8674 "regression-compile-tmp/imp918s.imp"
Q = (((int)(Q)) + (1));
#line 8674 "regression-compile-tmp/imp918s.imp"
I = *_imp_BYTEINTEGER(Q);
                                                                //   8675           %REPEAT %UNTIL I<M'0' %OR I>M'9'
#line 8675 "regression-compile-tmp/imp918s.imp"
if (((I) < (48))) goto L_08b4;
#line 8675 "regression-compile-tmp/imp918s.imp"
if (((I) > (57))) goto L_08b4;
#line 8675 "regression-compile-tmp/imp918s.imp"
goto L_08b3;
#line 8675 "regression-compile-tmp/imp918s.imp"
L_08b4:;
                                                                //   8676  FTEST:   ->ALPHA %UNLESS MODE=0 %AND I='.'
#line 8676 "regression-compile-tmp/imp918s.imp"
U_107b:;
#line 8676 "regression-compile-tmp/imp918s.imp"
if (((MODE) != (0))) goto L_08b5;
#line 8676 "regression-compile-tmp/imp918s.imp"
if (((I) == (46))) goto L_08b6;
#line 8676 "regression-compile-tmp/imp918s.imp"
L_08b5:;
#line 8676 "regression-compile-tmp/imp918s.imp"
goto U_107c;
#line 8676 "regression-compile-tmp/imp918s.imp"
L_08b6:;
                                                                //   8677  DOT:     Q=Q+1;  X=10; I=BYTE INTEGER(Q)
#line 8677 "regression-compile-tmp/imp918s.imp"
U_1075:;
#line 8677 "regression-compile-tmp/imp918s.imp"
Q = (((int)(Q)) + (1));
#line 8677 "regression-compile-tmp/imp918s.imp"
X = 10;
#line 8677 "regression-compile-tmp/imp918s.imp"
I = *_imp_BYTEINTEGER(Q);
                                                                //   8678           %WHILE M'0'<=I<=M'9' %CYCLE
#line 8678 "regression-compile-tmp/imp918s.imp"
L_08b7:;
#line 8678 "regression-compile-tmp/imp918s.imp"
if ((((48) > (I))) || (((I) > (57)))) goto L_08b8;
                                                                //   8679              CVALUE=CVALUE+(I&15)/X
#line 8679 "regression-compile-tmp/imp918s.imp"
CVALUE = ((CVALUE) + (((double)((double)((((I) & (15)))) / (double)((double)(X))))));
                                                                //   8680              X=10.0*X; Q=Q+1; I=BYTE INTEGER(Q)
#line 8680 "regression-compile-tmp/imp918s.imp"
X = (((double)(10.0)) * (X));
#line 8680 "regression-compile-tmp/imp918s.imp"
Q = (((int)(Q)) + (1));
#line 8680 "regression-compile-tmp/imp918s.imp"
I = *_imp_BYTEINTEGER(Q);
                                                                //   8681           %REPEAT
#line 8681 "regression-compile-tmp/imp918s.imp"
goto L_08b7;
#line 8681 "regression-compile-tmp/imp918s.imp"
L_08b8:;
                                                                //   8682  ALPHA:                                  ! TEST FOR EXPONENT
#line 8682 "regression-compile-tmp/imp918s.imp"
U_107c:;
                                                                //   8683           %IF MODE=0 %AND BYTE INTEGER(Q)='@' %THEN %START
#line 8683 "regression-compile-tmp/imp918s.imp"
if (((MODE) != (0))) goto L_08ba;
#line 8683 "regression-compile-tmp/imp918s.imp"
if (((*_imp_BYTEINTEGER(Q)) != (64))) goto L_08ba;
                                                                //   8684              Q=Q+1;  X=CVALUE
#line 8684 "regression-compile-tmp/imp918s.imp"
Q = (((int)(Q)) + (1));
#line 8684 "regression-compile-tmp/imp918s.imp"
X = CVALUE;
                                                                //   8685              Z=1; I=BYTE INTEGER(Q)
#line 8685 "regression-compile-tmp/imp918s.imp"
Z = 1;
#line 8685 "regression-compile-tmp/imp918s.imp"
I = *_imp_BYTEINTEGER(Q);
                                                                //   8686              %IF I='-' %THEN Z=-1
#line 8686 "regression-compile-tmp/imp918s.imp"
if (((I) != (45))) goto L_08bb;
#line 8686 "regression-compile-tmp/imp918s.imp"
Z = (-1);
#line 8686 "regression-compile-tmp/imp918s.imp"
L_08bb:;
                                                                //   8687              %IF I='+' %OR I='-' %THEN Q=Q+1
#line 8687 "regression-compile-tmp/imp918s.imp"
if (((I) == (43))) goto L_08bc;
#line 8687 "regression-compile-tmp/imp918s.imp"
if (((I) != (45))) goto L_08bd;
#line 8687 "regression-compile-tmp/imp918s.imp"
L_08bc:;
#line 8687 "regression-compile-tmp/imp918s.imp"
Q = (((int)(Q)) + (1));
#line 8687 "regression-compile-tmp/imp918s.imp"
L_08bd:;
                                                                //   8688              CONST(2)
#line 8688 "regression-compile-tmp/imp918s.imp"
CONST(2);
                                                                //   8689              %IF HIT=0 %THEN %RETURN
#line 8689 "regression-compile-tmp/imp918s.imp"
if (((HIT) != (0))) goto L_08be;
#line 8689 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 8689 "regression-compile-tmp/imp918s.imp"
L_08be:;
                                                                //   8690               S=S*Z
#line 8690 "regression-compile-tmp/imp918s.imp"
S = (((int)(S)) * (Z));
/*promote*/                                                                //   8691              %IF S=-99 %THEN CVALUE=0 %ELSE CVALUE=X*10^^S
#line 8691 "regression-compile-tmp/imp918s.imp"
if (((S) != ((-99)))) goto L_08bf;
#line 8691 "regression-compile-tmp/imp918s.imp"
CVALUE = 0;
#line 8691 "regression-compile-tmp/imp918s.imp"
goto L_08c0;
#line 8691 "regression-compile-tmp/imp918s.imp"
L_08bf:;
#line 8691 "regression-compile-tmp/imp918s.imp"
CVALUE = ((X) * ((double)(_imp_IEXP(10, S))));
#line 8691 "regression-compile-tmp/imp918s.imp"
L_08c0:;
                                                                //   8692           %FINISH
#line 8692 "regression-compile-tmp/imp918s.imp"
L_08ba:;
                                                                //   8693                                          ! SEE IF IT IS INTEGER
                                                                //   8694  FIX:     %COMMENT SEE IF IT IS INTEGER
#line 8694 "regression-compile-tmp/imp918s.imp"
U_107d:;
                                                                //   8695           -> TOO BIG %IF CVALUE>IMAX
#line 8695 "regression-compile-tmp/imp918s.imp"
if (((CVALUE) <= (IMAX))) goto L_08c1;
#line 8695 "regression-compile-tmp/imp918s.imp"
goto U_107e;
#line 8695 "regression-compile-tmp/imp918s.imp"
L_08c1:;
                                                                //   8696  !
                                                                //   8697  ! THE NEXT LINE IS HAND CODED TO AVOID CALLING IN FRACPT ETC ON 370
                                                                //   8698  !
                                                                //   8699  !         ->Label41 %IF FRACPT(CVALUE)=0
                                                                //   8700  !
                                                                //   8701  !%if USE MC = 1 %start
                                                                //   8702  !         *LD_0,CVALUE
                                                                //   8703  !         *LDR_2,0
                                                                //   8704  !         *AW_0,208(12);                 ! -X'4E000000000000000'
                                                                //   8705  !         *AD_0,192(12);                 ! =D'0'
                                                                //   8706  !         *SDR_2,0
                                                                //   8707  !         *BC_8,<41>
                                                                //   8708  !%finish
                                                                //   8709  TOO BIG: ->Label150 %UNLESS MODE=0
#line 8709 "regression-compile-tmp/imp918s.imp"
U_107e:;
#line 8709 "regression-compile-tmp/imp918s.imp"
if (((MODE) == (0))) goto L_08c2;
#line 8709 "regression-compile-tmp/imp918s.imp"
goto U_106f;
#line 8709 "regression-compile-tmp/imp918s.imp"
L_08c2:;
                                                                //   8710  Label40:      CTYPE=2; HIT=1; %RETURN
#line 8710 "regression-compile-tmp/imp918s.imp"
U_1070:;
#line 8710 "regression-compile-tmp/imp918s.imp"
CTYPE = 2;
#line 8710 "regression-compile-tmp/imp918s.imp"
HIT = 1;
#line 8710 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   8711  !%if USE MC = 1 %start
                                                                //   8712  !41:      *LD_0,CVALUE
                                                                //   8713  !         *AD_0,192(12);          ! AD_0,=D'0.5'
                                                                //   8714  !         *AW_0,208(12)
                                                                //   8715  !         *STD_0,0(11)
                                                                //   8716  !         *MVC_S(4),4(11);        ! S=INT(CVALUE)
                                                                //   8717  !%finish
                                                                //   8718  Label99:      CTYPE=1; HIT=1; %RETURN
#line 8718 "regression-compile-tmp/imp918s.imp"
U_1071:;
#line 8718 "regression-compile-tmp/imp918s.imp"
CTYPE = 1;
#line 8718 "regression-compile-tmp/imp918s.imp"
HIT = 1;
#line 8718 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   8719  Label150:     HIT=0;                        ! FAILURE
#line 8719 "regression-compile-tmp/imp918s.imp"
U_106f:;
#line 8719 "regression-compile-tmp/imp918s.imp"
HIT = 0;
                                                                //   8720           %END
#line 8720 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block CONST at level 2
                                                                //   8721           %ROUTINE PNAME
#line 8721 "regression-compile-tmp/imp918s.imp"
void PNAME( void )
#line 8721 "regression-compile-tmp/imp918s.imp"
{
                                                                //   8722           {%SHORTROUTINE}; HIT=0; NUM=0
#line 8722 "regression-compile-tmp/imp918s.imp"
HIT = 0;
#line 8722 "regression-compile-tmp/imp918s.imp"
NUM = 0;
                                                                //   8723  !%if USE MC = 1 %start
                                                                //   8724  !         *L_6,Q
                                                                //   8725  !         *L_3,TRTABS
                                                                //   8726  !         *SR_1,1; *LR_2,1; *ST_1,NUM
                                                                //   8727  !         *STM_1,2,0(11)
                                                                //   8728  !         *TRT_0(255,6),0(3)
                                                                //   8729  !         *LR_0,1; *SR_1,6;              ! LENGTH IN GR1
                                                                //   8730  !%finish
                                                                //   8731  
                                                                //   8732  !%if USE MC = 1 %start
                                                                //   8733  !         *BC_8,<3>;                     ! ZERO LENGTH = NOT A NAME
                                                                //   8734  !         *BCT_2,*+8
                                                                //   8735  !         *BC_15,<3>;                    ! NAME END IN QUOTE =FAIL
                                                                //   8736  !         *L_14,LETT; *L_3,NEXT; *AR_3,14
                                                                //   8737  !         *STC_1,0(3);                   ! MOVE IN LENGTH
                                                                //   8738  !         *EX_1,<NAMMOVE>;               ! MOVE IN CHARS (+1 XTRA)
                                                                //   8739  !         *EX_1,<MOVEP>
                                                                //   8740  !         *LR_6,0; *ST_6,Q;              ! UPDATE TEXT POINTER
                                                                //   8741  !         *LH_2,0(11); *MH_2,HH1
                                                                //   8742  !         *LH_0,2(11); *MH_0,HH1+2; *ALR_2,0
                                                                //   8743  !         *LH_0,4(11); *MH_0,HH2; *ALR_2,0
                                                                //   8744  !         *LH_0,6(11); *MH_0,HH2+2; *ALR_2,0
                                                                //   8745  !         *LR_4,2;                       ! INITIAL HASH VALUE
                                                                //   8746  !         *SRL_2,9; *STC_2,NUM+3
                                                                //   8747  !         *OI_NUM+3,2; *NI_NUM+3,62
                                                                //   8748  !         *L_15,WORD; *L_5,NNAMES
                                                                //   8749  !         *LA_0,0(5,5)
                                                                //   8750  !         *ALR_4,4
                                                                //   8751  !LOOKL:   *NR_4,0;                       ! TO KEEP WITHIN WORD
                                                                //   8752  !         *LH_2,0(4,15);                 ! GET WORD(I)
                                                                //   8753  !         *LTR_2,2; *BC_8,<NEWNAME>;     ! EMPTY HOLE FOR NEW NAME
                                                                //   8754  !         *AR_2,14; *EX_1,<NAMCOMP>;     ! COMPARE
                                                                //   8755  !         *BC_8,<FOUND>
                                                                //   8756  !         *A_4,NUM
                                                                //   8757  !         *BCT_5,<LOOKL>
                                                                //   8758  !%finish
                                                                //   8759           FAULT(104,0)
#line 8759 "regression-compile-tmp/imp918s.imp"
FAULT(104, 0);
                                                                //   8760  !%if USE MC = 1 %start
                                                                //   8761  !NAMCOMP: *CLC_0(1,2),0(3)
                                                                //   8762  !NAMMOVE: *MVC_1(1,3),0(6)
                                                                //   8763  !MOVEP:   *MVC_0(1,11),0(3)
                                                                //   8764  !%finish
                                                                //   8765  DFULL:   FAULT(103,0)
#line 8765 "regression-compile-tmp/imp918s.imp"
U_1006:;
#line 8765 "regression-compile-tmp/imp918s.imp"
FAULT(103, 0);
                                                                //   8766  !%if USE MC = 1 %start
                                                                //   8767  !NEWNAME: *SR_3,14; *STH_3,0(4,15)
                                                                //   8768  !         *LA_3,1(1,3); *ST_3,NEXT;      ! UPDATE NEXT TO INCLUDE NEWNAME
                                                                //   8769  !         *CH_3,DSIZE; *BC_2,<DFULL>
                                                                //   8770  !FOUND:   *SRL_4,1; *L_2,R; *AR_2,2
                                                                //   8771  !         *STH_4,A+30(2)
                                                                //   8772  !%finish
                                                                //   8773           HIT=1
#line 8773 "regression-compile-tmp/imp918s.imp"
HIT = 1;
                                                                //   8774  Label3:       %END
#line 8774 "regression-compile-tmp/imp918s.imp"
U_100e:;
#line 8774 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block PNAME at level 2
                                                                //   8775  !%finish
                                                                //   8776  Label8:        %BEGIN
#line 8776 "regression-compile-tmp/imp918s.imp"
U_1004:;
#line 8776 "regression-compile-tmp/imp918s.imp"
void _BLOCK_16_LEVEL_1_(void) {
                                                                //   8777           {%SHORTROUTINE}
                                                                //   8778           %INTEGER I,J,K
#line 8778 "regression-compile-tmp/imp918s.imp"
int I;
#line 8778 "regression-compile-tmp/imp918s.imp"
int J;
#line 8778 "regression-compile-tmp/imp918s.imp"
int K;
                                                                //   8779  Label1:       FETCH AR
#line 8779 "regression-compile-tmp/imp918s.imp"
U_107f:;
#line 8779 "regression-compile-tmp/imp918s.imp"
FETCHAR();
                                                                //   8780           STMTSHELD=STMTSHELD+1
#line 8780 "regression-compile-tmp/imp918s.imp"
STMTSHELD = (((int)(STMTSHELD)) + (1));
                                                                //   8781           STPTRS(STMTSHELD)=1
#line 8781 "regression-compile-tmp/imp918s.imp"
STPTRS[(((int)(STMTSHELD)) - (1))] = 1;
                                                                //   8782           STOPSTM=1 %UNLESS A(1)<=6 %OR A(1)=14
#line 8782 "regression-compile-tmp/imp918s.imp"
if (((A[8]) <= (6))) goto L_08c3;
#line 8782 "regression-compile-tmp/imp918s.imp"
if (((A[8]) == (14))) goto L_08c3;
#line 8782 "regression-compile-tmp/imp918s.imp"
STOPSTM = 1;
#line 8782 "regression-compile-tmp/imp918s.imp"
L_08c3:;
                                                                //   8783  Label20:      %IF STOPSTM#0 %OR CHECKSP#0 %THEN ->Label10
#line 8783 "regression-compile-tmp/imp918s.imp"
U_1074:;
#line 8783 "regression-compile-tmp/imp918s.imp"
if (((STOPSTM) != (0))) goto L_08b9;
#line 8783 "regression-compile-tmp/imp918s.imp"
if (((CHECKSP) == (0))) goto L_08c4;
#line 8783 "regression-compile-tmp/imp918s.imp"
L_08b9:;
#line 8783 "regression-compile-tmp/imp918s.imp"
goto U_1075;
#line 8783 "regression-compile-tmp/imp918s.imp"
L_08c4:;
                                                                //   8784           STORE AR(I); ->Label10 %IF I=0
#line 8784 "regression-compile-tmp/imp918s.imp"
STOREAR(&I);
#line 8784 "regression-compile-tmp/imp918s.imp"
if (((I) != (0))) goto L_08c5;
#line 8784 "regression-compile-tmp/imp918s.imp"
goto U_1075;
#line 8784 "regression-compile-tmp/imp918s.imp"
L_08c5:;
                                                                //   8785           STPTRS(STMTSHELD)=TOPPTR-R
#line 8785 "regression-compile-tmp/imp918s.imp"
STPTRS[(((int)(STMTSHELD)) - (1))] = (((int)(TOPPTR)) - (R));
                                                                //   8786           ->Label1
#line 8786 "regression-compile-tmp/imp918s.imp"
goto U_107f;
                                                                //   8787  Label10:      CSS(STPTRS(1),1)
#line 8787 "regression-compile-tmp/imp918s.imp"
U_1075:;
#line 8787 "regression-compile-tmp/imp918s.imp"
CSS(STPTRS[0], 1);
                                                                //   8788  !         CHECK ASL %IF PRINTMAP#0
                                                                //   8789           %IF DCOMP#0 %AND CA>CABUF %THEN %START
#line 8789 "regression-compile-tmp/imp918s.imp"
if (((DCOMP) == (0))) goto L_08c6;
#line 8789 "regression-compile-tmp/imp918s.imp"
if (((CA) <= (CABUF))) goto L_08c6;
                                                                //   8790              CODE OUT
#line 8790 "regression-compile-tmp/imp918s.imp"
CODEOUT();
                                                                //   8791              PRINT USE
#line 8791 "regression-compile-tmp/imp918s.imp"
PRINTUSE();
                                                                //   8792           %FINISH
#line 8792 "regression-compile-tmp/imp918s.imp"
L_08c6:;
                                                                //   8793           STMTSHELD=STMTSHELD-1
#line 8793 "regression-compile-tmp/imp918s.imp"
STMTSHELD = (((int)(STMTSHELD)) - (1));
                                                                //   8794           %IF STMTSHELD=0 %THEN %START
#line 8794 "regression-compile-tmp/imp918s.imp"
if (((STMTSHELD) != (0))) goto L_08c7;
                                                                //   8795           STOPSTM=0
#line 8795 "regression-compile-tmp/imp918s.imp"
STOPSTM = 0;
                                                                //   8796           TOPPTR=500; ->Label1; %FINISH
#line 8796 "regression-compile-tmp/imp918s.imp"
TOPPTR = 500;
#line 8796 "regression-compile-tmp/imp918s.imp"
goto U_107f;
#line 8796 "regression-compile-tmp/imp918s.imp"
L_08c7:;
                                                                //   8797           %IF STMTSHELD=1 %THEN %START
#line 8797 "regression-compile-tmp/imp918s.imp"
if (((STMTSHELD) != (1))) goto L_08c8;
                                                                //   8798            STPTRS(1)=1
#line 8798 "regression-compile-tmp/imp918s.imp"
STPTRS[0] = 1;
                                                                //   8799           TOPPTR=500; ->Label20; %FINISH
#line 8799 "regression-compile-tmp/imp918s.imp"
TOPPTR = 500;
#line 8799 "regression-compile-tmp/imp918s.imp"
goto U_1074;
#line 8799 "regression-compile-tmp/imp918s.imp"
L_08c8:;
                                                                //   8800           J=STPTRS(2)-STPTRS(1)
#line 8800 "regression-compile-tmp/imp918s.imp"
J = (((short)(STPTRS[1])) - (STPTRS[0]));
                                                                //   8801  !         %CYCLE I=500,1,TOPPTR-J
                                                                //   8802  !         A(I)=A(I+J)
                                                                //   8803  !         %REPEAT
                                                                //   8804           TOPPTR=TOPPTR-J
#line 8804 "regression-compile-tmp/imp918s.imp"
TOPPTR = (((int)(TOPPTR)) - (J));
                                                                //   8805  !%if USE MC = 1 %start
                                                                //   8806  !         *L_3,A; *LA_3,1000(3)
                                                                //   8807  !         *L_2,J; *AR_2,2; *AR_2,3
                                                                //   8808  !         *L_1,TOPPTR; *AR_1,1; *LA_0,998; *SR_1,0
                                                                //   8809  !         *LA_0,256
                                                                //   8810  !M2:      *SR_1,0; *BC_4,<M3>
                                                                //   8811  !         *MVC_0(256,3),0(2); *BC_8,<M4>
                                                                //   8812  !         *AR_3,0; *AR_2,0; *BC_15,<M2>
                                                                //   8813  !M5:      *MVC_0(1,3),0(2)
                                                                //   8814  !M3:      *BCTR_1,0; *EX_1,<M5>
                                                                //   8815  !%finish
                                                                //   8816  M4:      %CYCLE I=1,1,STMTSHELD-1
#line 8816 "regression-compile-tmp/imp918s.imp"
U_1009:;
#line 8816 "regression-compile-tmp/imp918s.imp"
{static int _initial, _increment, _final, _control;
_initial = 1; _increment = 1; _final = (((int)(STMTSHELD)) - (1)); I = _control = _initial;
if (((_final-_initial) % _increment) != 0) _imp_signal(5,1,0,"Illegal cycle I = 1, 1, (((int)(STMTSHELD)) - (1))");
I -= _increment; _control -= _increment;
L_08c9:;
if (I == _final) goto L_08ca;
I += _increment; _control += _increment;
if (I != _control) _imp_signal(4,2,0,"Corrupt control variable I"); /* FOR loop control variable corrupted */
}
                                                                //   8817           STPTRS(I)=STPTRS(I+1)-J
#line 8817 "regression-compile-tmp/imp918s.imp"
STPTRS[(((int)(I)) - (1))] = (((int)(STPTRS[(((int)((((int)(I)) + (1)))) - (1))])) - (J));
                                                                //   8818           %REPEAT; STPTRS(STMTSHELD)=1; ->Label20
#line 8818 "regression-compile-tmp/imp918s.imp"
goto L_08c9;
#line 8818 "regression-compile-tmp/imp918s.imp"
L_08ca:;
#line 8818 "regression-compile-tmp/imp918s.imp"
STPTRS[(((int)(STMTSHELD)) - (1))] = 1;
#line 8818 "regression-compile-tmp/imp918s.imp"
goto U_1074;
                                                                //   8819           %END
#line 8819 "regression-compile-tmp/imp918s.imp"
return;
} // End of block _BLOCK_16_LEVEL_1_ at level 2
_BLOCK_16_LEVEL_1_();
                                                                //   8820           %ROUTINE FETCH AR
#line 8820 "regression-compile-tmp/imp918s.imp"
void FETCHAR( void )
#line 8820 "regression-compile-tmp/imp918s.imp"
{
                                                                //   8821           {%SHORTROUTINE}
                                                                //   8822  !%if INCLUDE DELSTART = 1 %start
                                                                //   8823  Label1:       %IF Q>=LENGTH %THEN READ LINE(0,0) %AND Q=ADDR(CC(1))
#line 8823 "regression-compile-tmp/imp918s.imp"
U_1006:;
#line 8823 "regression-compile-tmp/imp918s.imp"
if (((Q) < (LENGTH))) goto L_08cc;
#line 8823 "regression-compile-tmp/imp918s.imp"
READLINE(0, 0);
#line 8823 "regression-compile-tmp/imp918s.imp"
Q = _imp_ADDR(&CC[1]);
#line 8823 "regression-compile-tmp/imp918s.imp"
L_08cc:;
                                                                //   8824           R=1; OLDLINE=LINE; A(0)=LINE; QMAX=Q
#line 8824 "regression-compile-tmp/imp918s.imp"
R = 1;
#line 8824 "regression-compile-tmp/imp918s.imp"
OLDLINE = LINE;
#line 8824 "regression-compile-tmp/imp918s.imp"
A[7] = LINE;
#line 8824 "regression-compile-tmp/imp918s.imp"
QMAX = Q;
                                                                //   8825           COMPARE
#line 8825 "regression-compile-tmp/imp918s.imp"
COMPARE();
                                                                //   8826           %IF R>ARSIZE %AND R>ARSIZE+300*CHECKSP %THEN FAULT(102,0)
#line 8826 "regression-compile-tmp/imp918s.imp"
if (((R) <= (ARSIZE))) goto L_08cd;
#line 8826 "regression-compile-tmp/imp918s.imp"
if (((R) <= (((ARSIZE) + ((short)(((300) * ((int)(CHECKSP))))))))) goto L_08cd;
#line 8826 "regression-compile-tmp/imp918s.imp"
FAULT(102, 0);
#line 8826 "regression-compile-tmp/imp918s.imp"
L_08cd:;
                                                                //   8827           %IF HIT=0 %THEN %START
#line 8827 "regression-compile-tmp/imp918s.imp"
if (((HIT) != (0))) goto L_08ce;
                                                                //   8828           FAULT(100,0); ->Label1
#line 8828 "regression-compile-tmp/imp918s.imp"
FAULT(100, 0);
#line 8828 "regression-compile-tmp/imp918s.imp"
goto U_1006;
                                                                //   8829           %FINISH
#line 8829 "regression-compile-tmp/imp918s.imp"
L_08ce:;
                                                                //   8830           ->Label1 %IF  A(1)=10 %OR A(1)=29
#line 8830 "regression-compile-tmp/imp918s.imp"
if (((A[8]) == (10))) goto L_08cb;
#line 8830 "regression-compile-tmp/imp918s.imp"
if (((A[8]) != (29))) goto L_08cf;
#line 8830 "regression-compile-tmp/imp918s.imp"
L_08cb:;
#line 8830 "regression-compile-tmp/imp918s.imp"
goto U_1006;
#line 8830 "regression-compile-tmp/imp918s.imp"
L_08cf:;
                                                                //   8831  !%finish
                                                                //   8832           STMTS=STMTS+1
#line 8832 "regression-compile-tmp/imp918s.imp"
STMTS = (((int)(STMTS)) + (1));
                                                                //   8833           %END
#line 8833 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block FETCHAR at level 2
                                                                //   8834           %ROUTINE STORE AR(%INTEGERNAME SUCCESS)
#line 8834 "regression-compile-tmp/imp918s.imp"
void STOREAR( int /*name*/*SUCCESS )
#line 8834 "regression-compile-tmp/imp918s.imp"
{
                                                                //   8835           {%SHORTROUTINE}
                                                                //   8836           %INTEGER I
#line 8836 "regression-compile-tmp/imp918s.imp"
int I;
                                                                //   8837           SUCCESS=0
#line 8837 "regression-compile-tmp/imp918s.imp"
*SUCCESS = 0;
                                                                //   8838           %RETURN %IF STMTSHELD>=14 %OR R+TOPPTR>=799
#line 8838 "regression-compile-tmp/imp918s.imp"
if (((STMTSHELD) >= (14))) goto L_08d0;
#line 8838 "regression-compile-tmp/imp918s.imp"
if ((((((int)(R)) + (TOPPTR))) < (799))) goto L_08d1;
#line 8838 "regression-compile-tmp/imp918s.imp"
L_08d0:;
#line 8838 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 8838 "regression-compile-tmp/imp918s.imp"
L_08d1:;
                                                                //   8839  !         %CYCLE I=0,1,R
                                                                //   8840  !         A(TOPPTR+I)=A(I)
                                                                //   8841  !         %REPEAT
                                                                //   8842  !%if USE MC = 1 %start
                                                                //   8843  !         *L_2,A; *L_3,TOPPTR
                                                                //   8844  !         *AR_3,3; *AR_3,2
                                                                //   8845  !         *LA_1,1; *A_1,R; *AR_1,1
                                                                //   8846  !         *LA_0,256
                                                                //   8847  !M2:      *SR_1,0; *BC_4,<M3>
                                                                //   8848  !         *MVC_0(256,3),0(2); *BC_8,<M4>
                                                                //   8849  !         *AR_3,0; *AR_2,0; *BC_15,<M2>
                                                                //   8850  !M5:      *MVC_0(1,3),0(2)
                                                                //   8851  !M3:      *BCTR_1,0; *EX_1,<M5>
                                                                //   8852  !%finish
                                                                //   8853  M4:      TOPPTR=TOPPTR+R+1
#line 8853 "regression-compile-tmp/imp918s.imp"
U_1080:;
#line 8853 "regression-compile-tmp/imp918s.imp"
TOPPTR = (((int)((((int)(TOPPTR)) + (R)))) + (1));
                                                                //   8854           SUCCESS=1
#line 8854 "regression-compile-tmp/imp918s.imp"
*SUCCESS = 1;
                                                                //   8855           %END
#line 8855 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block STOREAR at level 2
                                                                //   8856  !%if INCLUDE DELSTART = 1 %start
                                                                //   8857           %ROUTINE     READ LINE(%BYTEINTEGER N,CHAR)
#line 8857 "regression-compile-tmp/imp918s.imp"
void READLINE( unsigned char N, unsigned char CHAR )
#line 8857 "regression-compile-tmp/imp918s.imp"
{
                                                                //   8858           {%SHORTROUTINE}
                                                                //   8859           %ROUTINESPEC GET LINE
#line 8859 "regression-compile-tmp/imp918s.imp"
auto void GETLINE( void );
                                                                //   8860           %OWNINTEGER LAST=-1
#line 8860 "regression-compile-tmp/imp918s.imp"
static int LAST = (-1);
                                                                //   8861           %BYTEINTEGER NP
#line 8861 "regression-compile-tmp/imp918s.imp"
unsigned char NP;
                                                                //   8862           {%REGISTER}%integer ATRTABS
#line 8862 "regression-compile-tmp/imp918s.imp"
int ATRTABS;
                                                                //   8863           %OWNINTEGER M127=127
#line 8863 "regression-compile-tmp/imp918s.imp"
static int M127 = 127;
                                                                //   8864           {%REGISTER}%integer DEL
#line 8864 "regression-compile-tmp/imp918s.imp"
int DEL;
                                                                //   8865           %INTEGER LL,L73,PAD
#line 8865 "regression-compile-tmp/imp918s.imp"
int LL;
#line 8865 "regression-compile-tmp/imp918s.imp"
int L73;
#line 8865 "regression-compile-tmp/imp918s.imp"
int PAD;
                                                                //   8866           %CONSTBYTEINTEGERARRAY TR(0:127)=1,0(9),1,0(117)
#line 8866 "regression-compile-tmp/imp918s.imp"
const unsigned char TR[128] = { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, [11 ... 127] = 0 };
                                                                //   8867           %BYTEINTEGERARRAY TLINE(0:255)
#line 8867 "regression-compile-tmp/imp918s.imp"
unsigned char TLINE[256];
                                                                //   8868           ATRTABS=ADDR(TRTABS(0))
#line 8868 "regression-compile-tmp/imp918s.imp"
ATRTABS = _imp_ADDR(&TRTABS[0]);
                                                                //   8869           NP=N; LENGTH=1; LENGTHP=1
#line 8869 "regression-compile-tmp/imp918s.imp"
NP = N;
#line 8869 "regression-compile-tmp/imp918s.imp"
LENGTH = 1;
#line 8869 "regression-compile-tmp/imp918s.imp"
LENGTHP = 1;
                                                                //   8870           DEL=0; QMAX=ADDR(CC(1))
#line 8870 "regression-compile-tmp/imp918s.imp"
DEL = 0;
#line 8870 "regression-compile-tmp/imp918s.imp"
QMAX = _imp_ADDR(&CC[1]);
                                                                //   8871  Label1:       LENGTH=LENGTH-1
#line 8871 "regression-compile-tmp/imp918s.imp"
U_1079:;
#line 8871 "regression-compile-tmp/imp918s.imp"
LENGTH = (((int)(LENGTH)) - (1));
                                                                //   8872  Label2:                                     ! READ IN A LINE
#line 8872 "regression-compile-tmp/imp918s.imp"
U_107a:;
                                                                //   8873           %IF FILE ADDR=0 %THEN GET LINE %ELSE %START
#line 8873 "regression-compile-tmp/imp918s.imp"
if (((FILEADDR) != (0))) goto L_08d2;
#line 8873 "regression-compile-tmp/imp918s.imp"
GETLINE();
#line 8873 "regression-compile-tmp/imp918s.imp"
goto L_08d3;
#line 8873 "regression-compile-tmp/imp918s.imp"
L_08d2:;
                                                                //   8874              LL=FILE END-FILE PTR-1
#line 8874 "regression-compile-tmp/imp918s.imp"
LL = (((int)((((int)(FILEEND)) - (FILEPTR)))) - (1));
                                                                //   8875              %MONITOR {9} %IF LL<0
#line 8875 "regression-compile-tmp/imp918s.imp"
if (((LL) >= (0))) goto L_08d4;
#line 8875 "regression-compile-tmp/imp918s.imp"
_imp_monitor(0, (_imp_current_line != 0 ? _imp_current_line : __LINE__), (_imp_current_file != 0 ? _imp_current_file : __FILE__), __PRETTY_FUNCTION__);
#line 8875 "regression-compile-tmp/imp918s.imp"
L_08d4:;
                                                                //   8876  !%if USE MC = 1 %start
                                                                //   8877  !            *L_14,LL; *LA_15,255
                                                                //   8878  !            *L_3,FILEPTR; *L_4,TR; *SR_1,1
                                                                //   8879  !            *CR_14,15; *BC_10,*+6; *LR_15,14
                                                                //   8880  !            *EX_15,<TRTP>
                                                                //   8881  !            *BC_7,*+8; *LA_1,0(15,3)
                                                                //   8882  !            *LA_15,1(1); *SR_1,3
                                                                //   8883  !            *L_4,TLINE; *EX_1,<MOVEP>
                                                                //   8884  !            *LA_1,1(1); *ST_1,LL
                                                                //   8885  !            *ST_15,FILEPTR; *IC_1,73(4); *ST_1,L73
                                                                //   8886  !            *ST_4,PAD; *MVI_73(4),10
                                                                //   8887  !%finish
                                                                //   8888           %FINISH
#line 8888 "regression-compile-tmp/imp918s.imp"
L_08d3:;
                                                                //   8889  !%if USE MC = 1 %start
                                                                //   8890  !         *L_4,CC; *A_4,LENGTH;      ! SET POINTER TO CC FORRCL
                                                                //   8891  !         *L_1,TLINE;                ! POINTER TO RAW LINE
                                                                //   8892  !         *L_0,LL; *AR_0,1;          !ADDR OF LAST CHAR
                                                                //   8893  !         *SR_2,2;                   ! TO RECEIVE CHAR TYPE FROM TRT
                                                                //   8894  !         *CLI_NP,0; *BC_8,<NEXT>;      ! TEXT MODE SEPARATE
                                                                //   8895  !         *MVI_1187(5),0; *MVI_1192(5),0; *BC_15,<TNEXT>
                                                                //   8896  !UNFIN:   *S_4,CC; *ST_4,LENGTH; *BC_15,<2>
                                                                //   8897  !NEXT:    *LA_1,1(0,1)
                                                                //   8898  !SAME:    *TRT_0(255,1),768(5);         ! EXTRACT NEXT VALID CHAR
                                                                //   8899  !         *CR_1,0; *BC_12,<TAB>(2);     ! SWITCH ON CHAR
                                                                //   8900  !TAB:     *BC_15,<UNFIN>;               ! UNLESS ENDOFLINE WITHOUT NL
                                                                //   8901  !         *BC_15,<QUOTE>
                                                                //   8902  !         *BC_15,<SP>
                                                                //   8903  !         *BC_15,<NL>
                                                                //   8904  !         *BC_15,<PERCENT>
                                                                //   8905  !         *BC_15,<NONALPHA>
                                                                //   8906  !         *BC_15,<ALPHA>
                                                                //   8907  !         *BC_15,<MAP>
                                                                //   8908  !QUOTE:   *XI_NP,1
                                                                //   8909  !         *MVC_CHAR(1),0(1);             ! SAVE STRING OPENING CHAR
                                                                //   8910  !         *MVC_1(1,4),CHAR
                                                                //   8911  !         *LA_1,1(0,1); *LA_4,1(0,4)
                                                                //   8912  !         *MVI_1281(5),0;               ! TRTAB TO SKIP 7
                                                                //   8913  !         *MVI_1192(5),0;               ! TRTAB TO SKIP PERCENT
                                                                //   8914  !         *MVI_1187(5),0; *BC_15,<TCOM>;! TRTAB TO SKIP SPACE
                                                                //   8915  !SP:      *SR_6,6
                                                                //   8916  !         *TRT_0(255,1),897(5);         ! NEXT VALID NON SPACE
                                                                //   8917  !         *CR_1,0; *BC_12,<TAB>(2);     ! SWITCH ON CHAR
                                                                //   8918  !         *BC_15,<UNFIN>
                                                                //   8919  !NL:      *SR_6,6                       ;! DEL=0
                                                                //   8920  !         *MVI_1(4),10;                 ! MOVE IN NEWLINE
                                                                //   8921  !         *LA_4,1(0,4); *BC_15,<ENDLINE>
                                                                //   8922  !PERCENT: *LA_6,128;                    ! DEL=128
                                                                //   8923  !         *LA_1,1(0,1)
                                                                //   8924  !         *LNR_3,1
                                                                //   8925  !         *LR_15,1
                                                                //   8926  !         *TRT_0(39,1),1026(5)
                                                                //   8927  !         *BC_8,<SAME>
                                                                //   8928  !         *AR_3,1
                                                                //   8929  !         *BC_8,<SAME>
                                                                //   8930  !         *EX_3,<MOVE>
                                                                //   8931  !         *EX_3,<ULINE>
                                                                //   8932  !         *LA_4,0(3,4)
                                                                //   8933  !         *N_2,M127
                                                                //   8934  !         *BC_7,<TAB>(2)
                                                                //   8935  !         *BC_15,<SAME>
                                                                //   8936  !TRTP:    *TRT_0(1,3),0(4)
                                                                //   8937  !MOVEP:   *MVC_1(1,4),0(3)
                                                                //   8938  !MOVE:    *MVC_1(0,4),0(15)
                                                                //   8939  !ULINE:   *OC_1(0,4),0(5);              ! OR WITH X'80'
                                                                //   8940  !NONALPHA:*SR_6,6;                      ! DEL=0
                                                                //   8941  !ENBLOCK: *LNR_3,1;*LR_15,1
                                                                //   8942  !         *TRT_0(255,1),1155(5);        !TEST FOR ALPHANUMERICS
                                                                //   8943  !         *AR_3,1
                                                                //   8944  !         *EX_3,<MOVE>;                 ! QUICKER TO MOVE 1 TOO MANY
                                                                //   8945  !         *LA_4,0(3,4)
                                                                //   8946  !         *N_2,M127
                                                                //   8947  !         *BC_7,<TAB>(2)
                                                                //   8948  !         *BC_15,<SAME>
                                                                //   8949  !ALPHA:   *LTR_6,6;                     ! -> ENBLOCK %IF DEL=0
                                                                //   8950  !         *BC_8,<ENBLOCK>
                                                                //   8951  !         *MVC_1(1,4),0(1)
                                                                //   8952  !         *OI_1(4),128
                                                                //   8953  !         *LA_4,1(0,4);*BC_15,<NEXT>
                                                                //   8954  !MAP:     *SR_6,6;                      ! DEL=0
                                                                //   8955  !         *MVI_1(4),92;                 ! MAP TWIDDLES INTO '\'
                                                                //   8956  !         *LA_4,1(0,4); *BC_15,<NEXT>
                                                                //   8957  !TUNFIN:  *S_4,CC; *ST_4,LENGTH; *BC_15,<2>
                                                                //   8958  !TNEXT:   *LA_1,1(0,1)
                                                                //   8959  !%finish
                                                                //   8960  TSAME:
#line 8960 "regression-compile-tmp/imp918s.imp"
U_107b:;
                                                                //   8961  !%if USE MC = 1 %start
                                                                //   8962  !         *TRT_0(255,1),768(5);         ! EXTRACT NEXT VALID CHAR
                                                                //   8963  !         *CR_1,0; *BC_12,<TTAB>(2);    ! SWITCH ON CHAR
                                                                //   8964  !TTAB:    *BC_15,<TUNFIN>
                                                                //   8965  !         *BC_15,<TQUOTE>
                                                                //   8966  !         *BC_15,<TCOM>
                                                                //   8967  !         *BC_15,<TNL>
                                                                //   8968  !         *BC_15,<TCOM>
                                                                //   8969  !         *BC_15,<TCOM>
                                                                //   8970  !         *BC_15,<TCOM>
                                                                //   8971  !         *BC_15,<TCOM>
                                                                //   8972  !%finish
                                                                //   8973  TQUOTE:
#line 8973 "regression-compile-tmp/imp918s.imp"
U_107c:;
                                                                //   8974  !%if USE MC = 1 %start
                                                                //   8975  !         *MVC_1(1,4),0(1)
                                                                //   8976  !         *LA_4,1(0,4)
                                                                //   8977  !         *CLC_CHAR(1),0(1)
                                                                //   8978  !         *BC_7,<TNEXT>;                 ! NOT THE CLOSING CHAR
                                                                //   8979  !         *XI_NP,1
                                                                //   8980  !         *MVI_1281(5),28;              ! TRTAB AS INITIALISED FOR \&
                                                                //   8981  !         *MVI_1187(5),8;               ! TRTAB AS INITIALISED
                                                                //   8982  !         *MVI_1192(5),16;              ! TRTAB AS INITIALISED
                                                                //   8983  !         *SR_6,6;
                                                                //   8984  !         *BC_15,<NEXT>
                                                                //   8985  !TCOM:    *LNR_3,1; *LR_15,1
                                                                //   8986  !         *TRT_0(255,1),1155(5)
                                                                //   8987  !         *AR_3,1; *EX_3,<MOVE>;        ! MOVES ONE MORE THAN NEEDED
                                                                //   8988  !         *LA_4,0(3,4); *N_2,M127
                                                                //   8989  !         *BC_7,<TTAB>(2); *BC_15,<TSAME>
                                                                //   8990  !TNL:     *CLI_0(4),32;                 ! CHECK FOR TRAILING SPACES
                                                                //   8991  !         *BC_7,<TNL2>
                                                                //   8992  !         *BCT_4,<TNL>
                                                                //   8993  !TNL2:    *MVI_1(4),10;                 ! MOVE IN NEWLINE
                                                                //   8994  !         *MVI_1281(5),28;              ! TRTAB AS INITIALISED FOR \&
                                                                //   8995  !         *MVI_1192(5),16; *MVI_1187(5),8;! TRTAB AS INITIALISED
                                                                //   8996  !         *LA_4,1(0,4)
                                                                //   8997  !ENDLINE: *S_4,CC; *ST_4,LENGTH
                                                                //   8998  !%finish
                                                                //   8999           ->Label1 %IF LENGTH=LENGTHP %AND N=0;! IGNORE NL IN PRGRMODE
#line 8999 "regression-compile-tmp/imp918s.imp"
if (((LENGTH) != (LENGTHP))) goto L_08d5;
#line 8999 "regression-compile-tmp/imp918s.imp"
if (((N) != (0))) goto L_08d5;
#line 8999 "regression-compile-tmp/imp918s.imp"
goto U_1079;
#line 8999 "regression-compile-tmp/imp918s.imp"
L_08d5:;
                                                                //   9000           -> NOLIST %IF LIST=0
#line 9000 "regression-compile-tmp/imp918s.imp"
if (((LIST) != (0))) goto L_08d6;
#line 9000 "regression-compile-tmp/imp918s.imp"
goto U_107d;
#line 9000 "regression-compile-tmp/imp918s.imp"
L_08d6:;
                                                                //   9001           NEWLINE; %IF LINE=LAST %THEN %START
#line 9001 "regression-compile-tmp/imp918s.imp"
_imp_NEWLINE();
#line 9001 "regression-compile-tmp/imp918s.imp"
if (((LINE) != (LAST))) goto L_08d7;
                                                                //   9002           SPACES(5);PRINT SYMBOL('C')
#line 9002 "regression-compile-tmp/imp918s.imp"
_imp_SPACES(5);
#line 9002 "regression-compile-tmp/imp918s.imp"
_imp_PRINTSYMBOL(67);
                                                                //   9003           %IF PRINTMAP=1 %THEN SPACES(3*LEVEL+5) %ELSE SPACES(4*LEVEL)
#line 9003 "regression-compile-tmp/imp918s.imp"
if (((PRINTMAP) != (1))) goto L_08d8;
#line 9003 "regression-compile-tmp/imp918s.imp"
_imp_SPACES((((int)((((int)(3)) * (LEVEL)))) + (5)));
#line 9003 "regression-compile-tmp/imp918s.imp"
goto L_08d9;
#line 9003 "regression-compile-tmp/imp918s.imp"
L_08d8:;
#line 9003 "regression-compile-tmp/imp918s.imp"
_imp_SPACES((((int)(4)) * (LEVEL)));
#line 9003 "regression-compile-tmp/imp918s.imp"
L_08d9:;
                                                                //   9004           %FINISH %ELSE %START
#line 9004 "regression-compile-tmp/imp918s.imp"
goto L_08da;
#line 9004 "regression-compile-tmp/imp918s.imp"
L_08d7:;
                                                                //   9005           WRITE(LINE+1,5)
#line 9005 "regression-compile-tmp/imp918s.imp"
_imp_WRITE((((int)(LINE)) + (1)), 5);
                                                                //   9006           LAST=LINE
#line 9006 "regression-compile-tmp/imp918s.imp"
LAST = LINE;
                                                                //   9007           PRINTSYMBOL(M'''') %IF N=1
#line 9007 "regression-compile-tmp/imp918s.imp"
if (((N) != (1))) goto L_08db;
#line 9007 "regression-compile-tmp/imp918s.imp"
_imp_PRINTSYMBOL(39);
#line 9007 "regression-compile-tmp/imp918s.imp"
L_08db:;
                                                                //   9008           SPACES(2-N)
#line 9008 "regression-compile-tmp/imp918s.imp"
_imp_SPACES(((2) - ((int)(N))));
                                                                //   9009           %IF PRINTMAP=1 %THEN PRHEX(CA,5)
#line 9009 "regression-compile-tmp/imp918s.imp"
if (((PRINTMAP) != (1))) goto L_08dc;
#line 9009 "regression-compile-tmp/imp918s.imp"
PRHEX(CA, 5);
#line 9009 "regression-compile-tmp/imp918s.imp"
L_08dc:;
                                                                //   9010           SPACES((4-PRINTMAP)*LEVEL-2)
#line 9010 "regression-compile-tmp/imp918s.imp"
_imp_SPACES((((int)((((int)(((4) - ((int)(PRINTMAP))))) * (LEVEL)))) - (2)));
                                                                //   9011           %FINISH
#line 9011 "regression-compile-tmp/imp918s.imp"
L_08da:;
                                                                //   9012           TLINE(73)=L73; BYTE INTEGER(PAD)=LL-1
#line 9012 "regression-compile-tmp/imp918s.imp"
TLINE[73] = L73;
#line 9012 "regression-compile-tmp/imp918s.imp"
*_imp_BYTEINTEGER(PAD) = (((int)(LL)) - (1));
                                                                //   9013           IOCP(15,PAD);       ! PRINTSTRING EXCEPT FINAL NL
#line 9013 "regression-compile-tmp/imp918s.imp"
iocp(15, PAD);
                                                                //   9014  NOLIST:
#line 9014 "regression-compile-tmp/imp918s.imp"
U_107d:;
                                                                //   9015           ->Label5 %UNLESS LENGTH>=2 %AND CC(LENGTH-1)=195;!%C   AT LINE EDN
#line 9015 "regression-compile-tmp/imp918s.imp"
if (((LENGTH) < (2))) goto L_08dd;
#line 9015 "regression-compile-tmp/imp918s.imp"
if (((CC[(((int)(LENGTH)) - (1))]) == (195))) goto L_08de;
#line 9015 "regression-compile-tmp/imp918s.imp"
L_08dd:;
#line 9015 "regression-compile-tmp/imp918s.imp"
goto U_107e;
#line 9015 "regression-compile-tmp/imp918s.imp"
L_08de:;
                                                                //   9016           LENGTH=LENGTH-2; LENGTHP=LENGTHP+1
#line 9016 "regression-compile-tmp/imp918s.imp"
LENGTH = (((int)(LENGTH)) - (2));
#line 9016 "regression-compile-tmp/imp918s.imp"
LENGTHP = (((int)(LENGTHP)) + (1));
                                                                //   9017  Label20:      %COMMENT ALL THE FOLLOWING IS TO SKIP NLS AFTER '%C'
#line 9017 "regression-compile-tmp/imp918s.imp"
U_106f:;
                                                                //   9018           GET LINE
#line 9018 "regression-compile-tmp/imp918s.imp"
GETLINE();
                                                                //   9019  !%if USE MC = 1 %start
                                                                //   9020  !         *L_4,CC; *A_4,LENGTH;      ! SET POINTER TO CC FORRCL
                                                                //   9021  !         *L_1,TLINE;                 ! POINTER TO RAW LINE
                                                                //   9022  !         *L_0,LL; *AR_0,1;          ! ADDR OF LAST CHAR
                                                                //   9023  !         *SR_2,2;                   ! TO RECEIVE CHAR TYPE FROM TRT
                                                                //   9024  !NEXTP:   *LA_1,1(0,1); *TM_0(1),128
                                                                //   9025  !         *BC_1,<NEXTP>; *CLI_0(1),10
                                                                //   9026  !         *BC_8,<20>; *BC_15,<SAME>
                                                                //   9027  !%finish
                                                                //   9028  Label5:       LINE=LINE+1
#line 9028 "regression-compile-tmp/imp918s.imp"
U_107e:;
#line 9028 "regression-compile-tmp/imp918s.imp"
LINE = (((int)(LINE)) + (1));
                                                                //   9029           FAULT(101,0) %IF LENGTH>=CCSIZE
#line 9029 "regression-compile-tmp/imp918s.imp"
if (((LENGTH) < (CCSIZE))) goto L_08df;
#line 9029 "regression-compile-tmp/imp918s.imp"
FAULT(101, 0);
#line 9029 "regression-compile-tmp/imp918s.imp"
L_08df:;
                                                                //   9030  !%if USE MC = 1 %start
                                                                //   9031  !         *L_4,LENGTH; *A_4,CC
                                                                //   9032  !         *ST_4,LENGTH
                                                                //   9033  !         *XC_1(3,4),1(4);              !CLEAR BEYOND NL
                                                                //   9034  !%finish
                                                                //   9035           Q=ADDR(CC(1))
#line 9035 "regression-compile-tmp/imp918s.imp"
Q = _imp_ADDR(&CC[1]);
                                                                //   9036           %RETURN
#line 9036 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   9037           %ROUTINE GET LINE
#line 9037 "regression-compile-tmp/imp918s.imp"
void GETLINE( void )
#line 9037 "regression-compile-tmp/imp918s.imp"
{
                                                                //   9038           %INTEGER J,K
#line 9038 "regression-compile-tmp/imp918s.imp"
int J;
#line 9038 "regression-compile-tmp/imp918s.imp"
int K;
                                                                //   9039           %IF FILE ADDR=0 %THEN %START;  ! SOURCE NOT A 'CLEAN' FILE
#line 9039 "regression-compile-tmp/imp918s.imp"
if (((FILEADDR) != (0))) goto L_08e0;
                                                                //   9040              IOCP(6,0);                  ! RECONSTRUCT A SOURCE LINE
#line 9040 "regression-compile-tmp/imp918s.imp"
iocp(6, 0);
                                                                //   9041  !%if USE MC = 1 %start
                                                                //   9042  !            *L_2,TLINE;                  ! TO RECEIVE A COPY
                                                                //   9043  !            *SR_3,3; *IC_3,0(1);        ! LENGTH
                                                                //   9044  !            *EX_3,<MOVE>;               ! MAKE COPY OF LINE
                                                                //   9045  !            *ST_3,LL;                   ! LL=LENGTH+1
                                                                //   9046  !%finish
                                                                //   9047              L73=TLINE(73)
#line 9047 "regression-compile-tmp/imp918s.imp"
L73 = TLINE[73];
                                                                //   9048             IOCP(14,0)
#line 9048 "regression-compile-tmp/imp918s.imp"
iocp(14, 0);
                                                                //   9049  !%if USE MC = 1 %start
                                                                //   9050  !           *ST_1,PAD
                                                                //   9051  !%finish
                                                                //   9052           %FINISH %ELSE %START
#line 9052 "regression-compile-tmp/imp918s.imp"
goto L_08e1;
#line 9052 "regression-compile-tmp/imp918s.imp"
L_08e0:;
                                                                //   9053              LL=FILE END-FILE PTR-1
#line 9053 "regression-compile-tmp/imp918s.imp"
LL = (((int)((((int)(FILEEND)) - (FILEPTR)))) - (1));
                                                                //   9054              %IF LL<0 %THEN %MONITOR {99}
#line 9054 "regression-compile-tmp/imp918s.imp"
if (((LL) >= (0))) goto L_08e2;
#line 9054 "regression-compile-tmp/imp918s.imp"
_imp_monitor(0, (_imp_current_line != 0 ? _imp_current_line : __LINE__), (_imp_current_file != 0 ? _imp_current_file : __FILE__), __PRETTY_FUNCTION__);
#line 9054 "regression-compile-tmp/imp918s.imp"
L_08e2:;
                                                                //   9055  !            LL=0
                                                                //   9056  !            %CYCLE
                                                                //   9057  !               K=BYTE INTEGER(FILEPTR); ! NEXT CHAR FROM SORCE FILE
                                                                //   9058  !               FILE PTR=FILE PTR+1
                                                                //   9059  !               TLINE(LL+1)=K
                                                                //   9060  !               LL=LL+1 %IF LL<250
                                                                //   9061  !            %REPEAT %UNTIL K=NL %OR K=0
                                                                //   9062  !            L73=TLINE(73);              ! SAVE 73 CHARACTER
                                                                //   9063  !            TLINE(73)=10
                                                                //   9064  !            PAD=ADDR(TLINE(0))
                                                                //   9065  !%if USE MC = 1 %start
                                                                //   9066  !            *L_14,LL; *LA_15,255
                                                                //   9067  !            *L_3,FILEPTR; *L_4,TR; *SR_1,1;! TRT DOES NOT CLEAR R1!
                                                                //   9068  !            *CR_14,15; *BC_10,*+6; *LR_15,14
                                                                //   9069  !            *EX_15,<TRTP>
                                                                //   9070  !            *BC_7,*+8; *LA_1,0(15,3)
                                                                //   9071  !            *LA_15,1(1); *SR_1,3;       ! LL-1 IN R1
                                                                //   9072  !            *L_4,TLINE; *EX_1,<MOVEP>
                                                                //   9073  !            *LA_1,1(1); *ST_1,LL
                                                                //   9074  !            *ST_15,FILEPTR
                                                                //   9075  !            *IC_1,73(4); *ST_1,L73
                                                                //   9076  !         *ST_4,PAD; *MVI_73(4),10
                                                                //   9077  !%finish
                                                                //   9078           %FINISH
#line 9078 "regression-compile-tmp/imp918s.imp"
L_08e1:;
                                                                //   9079           %RETURN
#line 9079 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   9080  !%if USE MC = 1 %start
                                                                //   9081  !MOVE:    *MVC_0(1,2),0(1)
                                                                //   9082  !TRTP:    *TRT_0(1,3),0(4)
                                                                //   9083  !MOVEP:   *MVC_1(1,4),0(3)
                                                                //   9084  !%finish
                                                                //   9085           %END
#line 9085 "regression-compile-tmp/imp918s.imp"
return;
} // End of block GETLINE at level 3
                                                                //   9086           %END
#line 9086 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block READLINE at level 2
                                                                //   9087                 %ROUTINE COMPARE
#line 9087 "regression-compile-tmp/imp918s.imp"
void COMPARE( void )
#line 9087 "regression-compile-tmp/imp918s.imp"
{
                                                                //   9088           {%SHORTROUTINE}
                                                                //   9089           %INTEGER RA,RQ,RR,RS
#line 9089 "regression-compile-tmp/imp918s.imp"
int RA;
#line 9089 "regression-compile-tmp/imp918s.imp"
int RQ;
#line 9089 "regression-compile-tmp/imp918s.imp"
int RR;
#line 9089 "regression-compile-tmp/imp918s.imp"
int RS;
                                                                //   9090           %SHORTINTEGER RP,PP,ALT,MARKER
#line 9090 "regression-compile-tmp/imp918s.imp"
short RP;
#line 9090 "regression-compile-tmp/imp918s.imp"
short PP;
#line 9090 "regression-compile-tmp/imp918s.imp"
short ALT;
#line 9090 "regression-compile-tmp/imp918s.imp"
short MARKER;
                                                                //   9091           %OWNINTEGER THIRTYTWO=32
#line 9091 "regression-compile-tmp/imp918s.imp"
static int THIRTYTWO = 32;
                                                                //   9092  
                                                                //   9093  
                                                                //   9094  
                                                                //   9095  
                                                                //   9096  
                                                                //   9097  
                                                                //   9098  ! GENERATED ON 27/04/77
                                                                //   9099  %CONSTSHORTINTEGERARRAY SYMBOL( 1059: 2900)= 299,   301,   296,   297,  {   1062
#line 9099 "regression-compile-tmp/imp918s.imp"
const short SYMBOL[1842] = { 299, 301, 296, 297, 289, 300, 713, 50694, 54734, 52421, 54227, 1495, 51401, 52421, 1493, 52948, 51660, 1987, 53197, 52677, 52948, 1993, 52948, 50631, 50642, 1234, 50625, 52228, 49881, 54469, 1491, 51407, 53972, 1228, 53198, 50950, 54228, 53961, 52935, 2002, 53205, 54473, 52933, 710, 52739, 52673, 53252, 52929, 52677, 1746, 50627, 53202, 50181, 49618, 53953, 55561, 49618, 53953, 55758, 49613, 50441, 53190, 53458, 53191, 53953, 52486, 53190, 50889, 52421, 1743, 50892, 51667, 54279, 53190, 52675, 53188, 50438, 50895, 53965, 49620, 1235, 53445, 49923, 49614, 50178, 53202, 1742, 53202, 52673, 52225, 14852, 53445, 53965, 1225, 53187, 53254, 52673, 51662, 50640, 975, 55246, 2245, 55508, 50642, 52929, 52233, 50648, 54482, 51662, 54217, 49925, 50127, 52947, 54274, 11582, 1235, 54479, 53253, 54228, 49618, 54281, 54472, 50638, 54228, 49618, 54276, 54472, 50638, 1475, 55747, 52421, 2516, 51397, 52931, 55747, 52421, 2501, 52435, 50643, 54465, 53972, 1221, 52435, 50433, 24325, 50646, 50638, 54273, 15622, 54233, 54228, 50637, 1988, 55758, 49613, 51651, 316, 318, 298, 336, 1104, 21844, 24327, 21843, 18766, 18218, 11268, 17490, 20304, 320, 2512, 53961, 52948, 54469, 55508, 1746, 50644, 54738, 52742, 53957, 54229, 52436, 1997, 53198, 51668, 53202, 1221, 55497, 54278, 53957, 53445, 49620, 965, 52932, 1490, 50625, 52435, 1474, 50631, 51662, 1478, 49621, 52436, 1734, 51662, 51667, 51206, 54231, 51668, 50120, 1228, 51667, 54279, 54224, 50627, 51649, 52231, 54482, 54739, 54469, 50183, 53458, 53191, 53953, 52488, 53957, 51145, 54228, 50642, 1485, 50127, 50373, 1987, 53198, 54482, 53196, 1732, 50630, 51662, 50434, 53198, 2624, 2610, (-11008), 24576, 30791, 2618, (-11008), 24576, 30793, 2624, 18416, 12296, 2686, 2640, 18416, 12300, 2035, 2754, 2035, 4152, 2650, 18416, 12308, 2035, 2686, 2668, (-11008), 24576, 30795, 2035, 2708, (-11008), 24576, 30797, 2686, (-11008), 24576, 30799, 2035, 2708, (-11008), 24576, 30799, 2708, 2702, 18416, 12300, 2035, 2754, 2035, 4152, 2708, 18416, 12296, 2732, 2732, 18416, 12336, 18416, 12384, 2035, 2624, 18416, 12340, 2035, 2732, 2754, 2748, 18416, 12388, 2035, 2624, 18416, 12292, 2754, 18416, 12296, 2784, 2778, (-11008), 24576, 30795, 2035, 2708, 2035, 2784, (-11008), 24576, 30797, 2784, 18416, 12296, 2808, 2802, (-11008), 24576, 30801, 2035, 2708, 18416, 12292, 2808, 18416, 12296, 2824, 2818, (-11008), 24576, 30801, 2824, 18416, 12296, 2842, 2834, (-11007), 24576, 30803, 2842, (-11003), 24576, 30806, 2860, 2852, (-11004), 24576, 30813, 2860, (-11004), 24576, 30819, 2878, 2870, (-11008), 24576, 30799, 2878, (-11002), 24576, 30825, 2950, 2888, (-11002), 24576, 30833, 2896, (-11005), 24576, 30841, 2910, (-11005), 24576, 30846, (-11002), 24576, 30833, 2924, (-11004), 24576, 30851, (-11002), 24576, 30833, 2938, (-11005), 24576, 30857, (-11005), 24576, 30841, 2950, (-11003), 24576, 30862, 2035, 5106, 2970, 2960, (-11002), 24576, 30869, 2970, 2035, 2878, 2035, 2970, 2988, 2980, (-11007), 24576, 30877, 2988, (-11006), 24576, 30880, 3036, 3000, 2035, 2950, 2035, 3084, 3010, 2035, 2878, 2035, 3100, 3018, (-11005), 24576, 30884, 3036, (-11003), 24576, 30889, 2035, 3068, (-11005), 24576, 30884, 3050, 3044, 18416, 12316, 3050, 18416, 12300, 3068, 3058, 18416, 12316, 3068, 18416, 12300, 2035, 2754, 3084, 3078, (-11004), 24576, 30896, 3084, 18416, 12296, 3100, 3094, (-11005), 24576, 30884, 3100, 18416, 12296, 3124, 3110, (-11000), 24576, 30902, 3118, (-11005), 24576, 30884, 3124, 18416, 12296, 3158, 3152, (-11008), 24576, 30795, 2035, 2988, 18416, 12332, 2035, 3158, (-11008), 24576, 30797, 3158, 18416, 12296, 3184, 3178, 2035, 2808, 2035, 2988, 18416, 12332, 18416, 12292, 3184, 18416, 12296, 3224, 3194, (-11000), 24576, 30912, 3202, (-11003), 24576, 30922, 3210, (-11003), 24576, 30929, 3218, (-11002), 24576, 30936, 3224, 18416, 12296, 3240, 3234, (-11003), 24576, 30944, 3240, 18416, 12296, 3344, 3274, (-11003), 24576, 30944, 18416, 12300, (-11008), 24576, 30795, 2035, 4466, 2035, 4442, (-11008), 24576, 30797, 3314, (-11005), 24576, 30951, 18416, 12336, 18416, 12300, 2035, 4132, 18416, 12340, (-11008), 24576, 30795, 18416, 12300, (-11008), 24576, 30797, 3344, 18416, 12336, 2035, 3616, 18416, 12340, (-11008), 24576, 30795, 18416, 12300, (-11008), 24576, 30797, 3386, 3364, 2035, 2708, 18416, 12396, 2035, 2708, 2035, 3386, 3386, (-11008), 24576, 30795, 2035, 3344, 2035, 3404, (-11008), 24576, 30797, 3404, 3398, 18416, 12396, 2035, 2708, 3404, 18416, 12296, 3444, 3422, (-11006), 24576, 30956, 2035, 3344, 2035, 3444, 3438, (-11007), 24576, 30960, 2035, 3344, 2035, 3468, 3444, 18416, 12296, 3468, 3462, (-11006), 24576, 30956, 2035, 3344, 18416, 12292, 3468, 18416, 12296, 3492, 3486, (-11007), 24576, 30960, 2035, 3344, 18416, 12292, 3492, 18416, 12296, 3510, 3504, 18416, 12392, 2035, 2708, 3510, 18416, 12296, 3526, 3520, (-11005), 24576, 30951, 3526, 18416, 12296, 3544, 3536, (-11005), 24576, 30857, 3544, (-11003), 24576, 30963, 3578, 3572, (-11008), 24576, 30801, 2035, 2708, (-11008), 24576, 30970, 2035, 2708, 18416, 12292, 3578, 18416, 12296, 3616, 3592, (-11005), 24576, 30972, 18416, 12328, 3604, (-11005), 24576, 30977, 18416, 12328, 3616, (-11003), 24576, 30982, 18416, 12328, 3644, 3628, 2035, 3100, 18416, 12332, 3644, (-11004), 24576, 30896, 2035, 3224, 2035, 3644, 3660, 3660, 18416, 12332, 2035, 4196, 2035, 3660, 3680, 3674, (-11008), 24576, 30801, 2035, 3644, 3680, 18416, 12296, 3732, 3708, 18416, 12336, 18416, 12332, 2035, 4236, 18416, 12340, 2035, 3732, 18416, 12320, 3732, (-11004), 24576, 30896, 18416, 12300, 2035, 3802, 2035, 5132, 18416, 12312, 3768, 3762, (-11008), 24576, 30801, 18416, 12336, 18416, 12332, 2035, 4236, 18416, 12340, 18416, 12292, 3768, 18416, 12296, 3802, 3778, (-11006), 24576, 30989, 3786, (-11001), 24576, 30993, 3794, (-11000), 24576, 31002, 3802, (-11004), 24576, 31012, 3840, 3840, (-11008), 24576, 30795, 2035, 2600, 18416, 12304, (-11008), 24576, 30970, 2035, 2600, 18416, 12304, (-11008), 24576, 30797, 3864, 3858, (-11008), 24576, 30801, 18416, 12316, 18416, 12292, 3864, 18416, 12296, 3890, 3890, 18416, 12316, 2035, 3840, (-11007), 24576, 31018, 2035, 3036, 2035, 3890, 3910, 3904, (-11008), 24576, 30801, 2035, 3864, 3910, 18416, 12296, 3932, 3920, (-11005), 24576, 31021, 3926, 18416, 12316, 3932, 18416, 12296, 3960, 3954, (-11008), 24576, 30801, 18416, 12332, 2035, 3802, 18416, 12292, 3960, 18416, 12296, 4012, 3970, (-11008), 24576, 30970, 3988, 2035, 2824, 2035, 3344, 2035, 3404, 18416, 12320, 4006, 2035, 2842, 2035, 3344, 2035, 3404, 18416, 12320, 4012, 18416, 12320, 4054, 4022, (-11004), 24576, 31026, 4030, (-11000), 24576, 31032, 4054, (-11005), 24576, 31042, 18416, 12336, 2035, 5164, 18416, 12340, 2035, 4104, 4084, 4064, (-11004), 24576, 31047, 4072, (-11000), 24576, 31053, 4084, (-11005), 24576, 31042, 2035, 5164, 4104, 4098, (-11006), 24576, 30956, 2035, 5164, 4104, 18416, 12296, 4132, 4114, (-11000), 24576, 31063, 4126, (-11005), 24576, 31073, 2035, 5164, 4132, 18416, 12296, 4152, 4146, (-11008), 24576, 31078, 18416, 12300, 4152, 18416, 12296, 4180, 4174, (-11008), 24576, 31078, 18416, 12300, 2035, 2754, 2035, 4152, 4180, 18416, 12296, 4196, 4190, (-11004), 24576, 31080, 4196, 18416, 12296, 4236, 4204, 2035, 3802, 4236, (-11008), 24576, 30795, 2035, 2708, (-11008), 24576, 30970, 2035, 2708, 2035, 3544, (-11008), 24576, 30797, 4260, 4254, (-11008), 24576, 31086, 18416, 12384, 18416, 12308, 4260, 18416, 12296, 4296, 4274, (-11003), 24576, 31088, 18416, 12380, 4282, (-11001), 24576, 30993, 4290, (-11002), 24576, 31095, 4296, 18416, 12296, 4348, 4342, 18416, 12300, 2035, 2754, 2035, 4152, (-11008), 24576, 31086, 2035, 2708, (-11008), 24576, 30801, 2035, 2708, (-11008), 24576, 30801, 2035, 2708, 4348, 18416, 12296, 4442, 4360, 2035, 2878, 2035, 3680, 4392, (-11003), 24576, 30889, 18416, 12332, (-11008), 24576, 30795, 18416, 12300, (-11008), 24576, 30797, 18416, 12320, 4442, (-11003), 24576, 30889, (-11004), 24576, 30896, 18416, 12336, 18416, 12300, 2035, 3802, 18416, 12340, (-11008), 24576, 30795, 18416, 12300, (-11008), 24576, 30797, 18416, 12320, 4466, 4460, (-11008), 24576, 30801, 2035, 4466, 18416, 12292, 4466, 18416, 12296, 4606, 4482, 2035, 2878, 2035, 3100, 18416, 12332, 4506, 2035, 2878, (-11004), 24576, 30896, 18416, 12332, 2035, 3802, 2035, 3932, 4528, (-11003), 24576, 30889, 2035, 3068, (-11005), 24576, 30884, 18416, 12332, 4556, (-11003), 24576, 30889, 18416, 12332, (-11008), 24576, 30795, 18416, 12300, (-11008), 24576, 30797, 4606, (-11003), 24576, 30889, (-11004), 24576, 30896, 18416, 12336, 18416, 12332, 2035, 3802, 2035, 3932, 18416, 12340, (-11008), 24576, 30795, 18416, 12300, (-11008), 24576, 30797, 4648, 4618, 18416, 12300, 2035, 4974, 4636, (-11008), 24576, 31103, 2035, 3036, (-11008), 24576, 31105, 4648, (-11008), 24576, 31107, 2035, 4974, 4704, 4682, 18416, 12316, (-11008), 24576, 30795, 18416, 12316, (-11008), 24576, 30801, 18416, 12316, (-11008), 24576, 30797, 4704, 2035, 4606, (-11008), 24576, 30795, 18416, 12316, (-11008), 24576, 30797, 4726, 4716, 2035, 4606, 2035, 5106, 4726, 18416, 12316, 2035, 4726, 4780, 4756, (-11008), 24576, 30795, 18416, 12316, (-11008), 24576, 30801, 18416, 12316, (-11008), 24576, 30797, 4774, (-11008), 24576, 30795, 18416, 12316, (-11008), 24576, 30797, 4780, 18416, 12296, 4800, 4794, (-11008), 24576, 30801, 18416, 12304, 4800, 18416, 12296, 4818, 4808, 2035, 4606, 4818, 18416, 12316, 2035, 5106, 4974, 4840, 18416, 12344, 18416, 12316, (-11008), 24576, 30801, 18416, 12316, 4860, 18416, 12348, 18416, 12316, (-11008), 24576, 30801, 2035, 4704, 4890, 18416, 12352, 18416, 12316, (-11008), 24576, 30801, 18416, 12316, (-11008), 24576, 30801, 2035, 4800, 4904, 18416, 12356, 2035, 4800, 2035, 4780, 4924, 18416, 12360, 18416, 12316, (-11008), 24576, 30801, 2035, 4800, 4944, 18416, 12364, 2035, 4648, (-11008), 24576, 30801, 2035, 4800, 4964, 18416, 12368, 2035, 4648, (-11008), 24576, 30801, 2035, 4648, 4974, 18416, 12372, 18416, 12316, 5006, 4988, (-11008), 24576, 30791, 18416, 12316, 5000, (-11008), 24576, 30793, 18416, 12316, 5006, 18416, 12296, 5106, 5042, (-11008), 24576, 31107, 18416, 12316, (-11008), 24576, 30801, 2035, 5148, 18416, 12300, 2035, 2754, 2035, 4152, 5060, (-11007), 24576, 31018, (-11008), 24576, 31109, 18416, 12316, 5070, 18416, 12376, 2035, 4818, 5082, (-11005), 24576, 31111, 18416, 12304, 5094, (-11002), 24576, 31116, 18416, 12316, 5106, (-11005), 24576, 31124, 18416, 12316, 5132, 5126, (-11008), 24576, 30795, 18416, 12316, (-11008), 24576, 30797, 5132, 18416, 12296, 5148, 5142, (-11008), 24576, 31086, 5148, 18416, 12296, 5164, 5158, (-11008), 24576, 31129, 5164, 18416, 12296, 5276, 5196, 18416, 12336, 18416, 12300, 2035, 2754, 2035, 4152, 18416, 12340, 2035, 3492, 2035, 4084, 5208, (-11007), 24576, 31018, 2035, 3050, 5224, (-11000), 24576, 31131, 18416, 12328, 2035, 4084, 5232, (-11003), 24576, 31141, 5248, (-11003), 24576, 31148, 18416, 12392, 2035, 2708, 5260, (-11002), 24576, 31155, 2035, 3910, 5268, (-11005), 24576, 31021, 5276, (-11005), 24576, 31163, 5802, 5296, 18416, 12336, 2035, 5164, 18416, 12340, 2035, 3960, 5312, (-11004), 24576, 31047, 2035, 4296, 18416, 12320, 5324, (-11003), 24576, 31168, 18416, 12320, 5336, 18416, 12316, (-11008), 24576, 30970, 5366, 2035, 2824, 18416, 12336, 2035, 3344, 2035, 3404, 18416, 12340, 2035, 4012, 18416, 12320, 5396, 2035, 2842, 18416, 12336, 2035, 3344, 2035, 3404, 18416, 12340, 2035, 4054, 18416, 12320, 5410, 2035, 2878, 2035, 3616, 18416, 12320, 5426, (-11006), 24576, 31175, 2035, 3184, 18416, 12320, 5460, 18416, 12336, 2035, 4260, 2035, 2950, 18416, 12340, 2035, 3510, 18416, 12300, 2035, 3124, 18416, 12320, 5470, 2035, 2860, 18416, 12324, 5486, (-11004), 24576, 31179, 2035, 3526, 18416, 12320, 5498, (-11004), 24576, 31185, 18416, 12320, 5514, (-11004), 24576, 31191, 2035, 3864, 18416, 12320, 5530, (-11003), 24576, 31197, 2035, 4104, 18416, 12320, 5554, (-11003), 24576, 31204, 18416, 12332, 2035, 3802, 2035, 3932, 18416, 12320, 5566, (-11005), 24576, 31211, 18416, 12320, 5576, 2035, 3768, 2035, 4348, 5596, (-11005), 24576, 30951, 18416, 12300, 2035, 3124, 18416, 12320, 5618, (-11002), 24576, 31216, (-11005), 24576, 30884, 18416, 12300, 18416, 12320, 5640, (-11002), 24576, 31224, (-11002), 24576, 31232, 18416, 12380, 18416, 12320, 5664, (-11001), 24576, 31240, 18416, 12380, 18416, 12300, 2035, 5106, 18416, 12320, 5676, (-11004), 24576, 31249, 18416, 12320, 5694, (-11004), 24576, 30851, (-11002), 24576, 30869, 18416, 12320, 5714, (-11008), 24576, 31107, 18416, 12380, 2035, 5006, 18416, 12320, 5730, (-11002), 24576, 31255, 18416, 12308, 18416, 12320, 5750, (-11003), 24576, 31263, 18416, 12380, 2035, 3578, 18416, 12320, 5766, (-11003), 24576, 30889, 2035, 3240, 18416, 12320, 5796, (-11007), 24576, 31270, 2035, 4180, 18416, 12316, 2035, 3840, (-11004), 24576, 31026, 18416, 12320, 5802, 18416, 12320,  };
                                                                //   9100     289,   300,   713, 50694, 54734, 52421, 54227,  1495, 51401, 52421,  {   1072
                                                                //   9101    1493, 52948, 51660,  1987, 53197, 52677, 52948,  1993, 52948, 50631,  {   1082
                                                                //   9102   50642,  1234, 50625, 52228, 49881, 54469,  1491, 51407, 53972,  1228,  {   1092
                                                                //   9103   53198, 50950, 54228, 53961, 52935,  2002, 53205, 54473, 52933,   710,  {   1102
                                                                //   9104   52739, 52673, 53252, 52929, 52677,  1746, 50627, 53202, 50181, 49618,  {   1112
                                                                //   9105   53953, 55561, 49618, 53953, 55758, 49613, 50441, 53190, 53458, 53191,  {   1122
                                                                //   9106   53953, 52486, 53190, 50889, 52421,  1743, 50892, 51667, 54279, 53190,  {   1132
                                                                //   9107   52675, 53188, 50438, 50895, 53965, 49620,  1235, 53445, 49923, 49614,  {   1142
                                                                //   9108   50178, 53202,  1742, 53202, 52673, 52225, 14852, 53445, 53965,  1225,  {   1152
                                                                //   9109   53187, 53254, 52673, 51662, 50640,   975, 55246,  2245, 55508, 50642,  {   1162
                                                                //   9110   52929, 52233, 50648, 54482, 51662, 54217, 49925, 50127, 52947, 54274,  {   1172
                                                                //   9111   11582,  1235, 54479, 53253, 54228, 49618, 54281, 54472, 50638, 54228,  {   1182
                                                                //   9112   49618, 54276, 54472, 50638,  1475, 55747, 52421,  2516, 51397, 52931,  {   1192
                                                                //   9113   55747, 52421,  2501, 52435, 50643, 54465, 53972,  1221, 52435, 50433,  {   1202
                                                                //   9114   24325, 50646, 50638, 54273, 15622, 54233, 54228, 50637,  1988, 55758,  {   1212
                                                                //   9115   49613, 51651,   316,   318,   298,   336,  1104, 21844, 24327, 21843,  {   1222
                                                                //   9116   18766, 18218, 11268, 17490, 20304,   320,  2512, 53961, 52948, 54469,  {   1232
                                                                //   9117   55508,  1746, 50644, 54738, 52742, 53957, 54229, 52436,  1997, 53198,  {   1242
                                                                //   9118   51668, 53202,  1221, 55497, 54278, 53957, 53445, 49620,   965, 52932,  {   1252
                                                                //   9119    1490, 50625, 52435,  1474, 50631, 51662,  1478, 49621, 52436,  1734,  {   1262
                                                                //   9120   51662, 51667, 51206, 54231, 51668, 50120,  1228, 51667, 54279, 54224,  {   1272
                                                                //   9121   50627, 51649, 52231, 54482, 54739, 54469, 50183, 53458, 53191, 53953,  {   1282
                                                                //   9122   52488, 53957, 51145, 54228, 50642,  1485, 50127, 50373,  1987, 53198,  {   1292
                                                                //   9123   54482, 53196,  1732, 50630, 51662, 50434, 53198,  2624,  2610,-11008,  {   1302
                                                                //   9124   24576, 30791,  2618,-11008, 24576, 30793,  2624, 18416, 12296,  2686,  {   1312
                                                                //   9125    2640, 18416, 12300,  2035,  2754,  2035,  4152,  2650, 18416, 12308,  {   1322
                                                                //   9126    2035,  2686,  2668,-11008, 24576, 30795,  2035,  2708,-11008, 24576,  {   1332
                                                                //   9127   30797,  2686,-11008, 24576, 30799,  2035,  2708,-11008, 24576, 30799,  {   1342
                                                                //   9128    2708,  2702, 18416, 12300,  2035,  2754,  2035,  4152,  2708, 18416,  {   1352
                                                                //   9129   12296,  2732,  2732, 18416, 12336, 18416, 12384,  2035,  2624, 18416,  {   1362
                                                                //   9130   12340,  2035,  2732,  2754,  2748, 18416, 12388,  2035,  2624, 18416,  {   1372
                                                                //   9131   12292,  2754, 18416, 12296,  2784,  2778,-11008, 24576, 30795,  2035,  {   1382
                                                                //   9132    2708,  2035,  2784,-11008, 24576, 30797,  2784, 18416, 12296,  2808,  {   1392
                                                                //   9133    2802,-11008, 24576, 30801,  2035,  2708, 18416, 12292,  2808, 18416,  {   1402
                                                                //   9134   12296,  2824,  2818,-11008, 24576, 30801,  2824, 18416, 12296,  2842,  {   1412
                                                                //   9135    2834,-11007, 24576, 30803,  2842,-11003, 24576, 30806,  2860,  2852,  {   1422
                                                                //   9136  -11004, 24576, 30813,  2860,-11004, 24576, 30819,  2878,  2870,-11008,  {   1432
                                                                //   9137   24576, 30799,  2878,-11002, 24576, 30825,  2950,  2888,-11002, 24576,  {   1442
                                                                //   9138   30833,  2896,-11005, 24576, 30841,  2910,-11005, 24576, 30846,-11002,  {   1452
                                                                //   9139   24576, 30833,  2924,-11004, 24576, 30851,-11002, 24576, 30833,  2938,  {   1462
                                                                //   9140  -11005, 24576, 30857,-11005, 24576, 30841,  2950,-11003, 24576, 30862,  {   1472
                                                                //   9141    2035,  5106,  2970,  2960,-11002, 24576, 30869,  2970,  2035,  2878,  {   1482
                                                                //   9142    2035,  2970,  2988,  2980,-11007, 24576, 30877,  2988,-11006, 24576,  {   1492
                                                                //   9143   30880,  3036,  3000,  2035,  2950,  2035,  3084,  3010,  2035,  2878,  {   1502
                                                                //   9144    2035,  3100,  3018,-11005, 24576, 30884,  3036,-11003, 24576, 30889,  {   1512
                                                                //   9145    2035,  3068,-11005, 24576, 30884,  3050,  3044, 18416, 12316,  3050,  {   1522
                                                                //   9146   18416, 12300,  3068,  3058, 18416, 12316,  3068, 18416, 12300,  2035,  {   1532
                                                                //   9147    2754,  3084,  3078,-11004, 24576, 30896,  3084, 18416, 12296,  3100,  {   1542
                                                                //   9148    3094,-11005, 24576, 30884,  3100, 18416, 12296,  3124,  3110,-11000,  {   1552
                                                                //   9149   24576, 30902,  3118,-11005, 24576, 30884,  3124, 18416, 12296,  3158,  {   1562
                                                                //   9150    3152,-11008, 24576, 30795,  2035,  2988, 18416, 12332,  2035,  3158,  {   1572
                                                                //   9151  -11008, 24576, 30797,  3158, 18416, 12296,  3184,  3178,  2035,  2808,  {   1582
                                                                //   9152    2035,  2988, 18416, 12332, 18416, 12292,  3184, 18416, 12296,  3224,  {   1592
                                                                //   9153    3194,-11000, 24576, 30912,  3202,-11003, 24576, 30922,  3210,-11003,  {   1602
                                                                //   9154   24576, 30929,  3218,-11002, 24576, 30936,  3224, 18416, 12296,  3240,  {   1612
                                                                //   9155    3234,-11003, 24576, 30944,  3240, 18416, 12296,  3344,  3274,-11003,  {   1622
                                                                //   9156   24576, 30944, 18416, 12300,-11008, 24576, 30795,  2035,  4466,  2035,  {   1632
                                                                //   9157    4442,-11008, 24576, 30797,  3314,-11005, 24576, 30951, 18416, 12336,  {   1642
                                                                //   9158   18416, 12300,  2035,  4132, 18416, 12340,-11008, 24576, 30795, 18416,  {   1652
                                                                //   9159   12300,-11008, 24576, 30797,  3344, 18416, 12336,  2035,  3616, 18416,  {   1662
                                                                //   9160   12340,-11008, 24576, 30795, 18416, 12300,-11008, 24576, 30797,  3386,  {   1672
                                                                //   9161    3364,  2035,  2708, 18416, 12396,  2035,  2708,  2035,  3386,  3386,  {   1682
                                                                //   9162  -11008, 24576, 30795,  2035,  3344,  2035,  3404,-11008, 24576, 30797,  {   1692
                                                                //   9163    3404,  3398, 18416, 12396,  2035,  2708,  3404, 18416, 12296,  3444,  {   1702
                                                                //   9164    3422,-11006, 24576, 30956,  2035,  3344,  2035,  3444,  3438,-11007,  {   1712
                                                                //   9165   24576, 30960,  2035,  3344,  2035,  3468,  3444, 18416, 12296,  3468,  {   1722
                                                                //   9166    3462,-11006, 24576, 30956,  2035,  3344, 18416, 12292,  3468, 18416,  {   1732
                                                                //   9167   12296,  3492,  3486,-11007, 24576, 30960,  2035,  3344, 18416, 12292,  {   1742
                                                                //   9168    3492, 18416, 12296,  3510,  3504, 18416, 12392,  2035,  2708,  3510,  {   1752
                                                                //   9169   18416, 12296,  3526,  3520,-11005, 24576, 30951,  3526, 18416, 12296,  {   1762
                                                                //   9170    3544,  3536,-11005, 24576, 30857,  3544,-11003, 24576, 30963,  3578,  {   1772
                                                                //   9171    3572,-11008, 24576, 30801,  2035,  2708,-11008, 24576, 30970,  2035,  {   1782
                                                                //   9172    2708, 18416, 12292,  3578, 18416, 12296,  3616,  3592,-11005, 24576,  {   1792
                                                                //   9173   30972, 18416, 12328,  3604,-11005, 24576, 30977, 18416, 12328,  3616,  {   1802
                                                                //   9174  -11003, 24576, 30982, 18416, 12328,  3644,  3628,  2035,  3100, 18416,  {   1812
                                                                //   9175   12332,  3644,-11004, 24576, 30896,  2035,  3224,  2035,  3644,  3660,  {   1822
                                                                //   9176    3660, 18416, 12332,  2035,  4196,  2035,  3660,  3680,  3674,-11008,  {   1832
                                                                //   9177   24576, 30801,  2035,  3644,  3680, 18416, 12296,  3732,  3708, 18416,  {   1842
                                                                //   9178   12336, 18416, 12332,  2035,  4236, 18416, 12340,  2035,  3732, 18416,  {   1852
                                                                //   9179   12320,  3732,-11004, 24576, 30896, 18416, 12300,  2035,  3802,  2035,  {   1862
                                                                //   9180    5132, 18416, 12312,  3768,  3762,-11008, 24576, 30801, 18416, 12336,  {   1872
                                                                //   9181   18416, 12332,  2035,  4236, 18416, 12340, 18416, 12292,  3768, 18416,  {   1882
                                                                //   9182   12296,  3802,  3778,-11006, 24576, 30989,  3786,-11001, 24576, 30993,  {   1892
                                                                //   9183    3794,-11000, 24576, 31002,  3802,-11004, 24576, 31012,  3840,  3840,  {   1902
                                                                //   9184  -11008, 24576, 30795,  2035,  2600, 18416, 12304,-11008, 24576, 30970,  {   1912
                                                                //   9185    2035,  2600, 18416, 12304,-11008, 24576, 30797,  3864,  3858,-11008,  {   1922
                                                                //   9186   24576, 30801, 18416, 12316, 18416, 12292,  3864, 18416, 12296,  3890,  {   1932
                                                                //   9187    3890, 18416, 12316,  2035,  3840,-11007, 24576, 31018,  2035,  3036,  {   1942
                                                                //   9188    2035,  3890,  3910,  3904,-11008, 24576, 30801,  2035,  3864,  3910,  {   1952
                                                                //   9189   18416, 12296,  3932,  3920,-11005, 24576, 31021,  3926, 18416, 12316,  {   1962
                                                                //   9190    3932, 18416, 12296,  3960,  3954,-11008, 24576, 30801, 18416, 12332,  {   1972
                                                                //   9191    2035,  3802, 18416, 12292,  3960, 18416, 12296,  4012,  3970,-11008,  {   1982
                                                                //   9192   24576, 30970,  3988,  2035,  2824,  2035,  3344,  2035,  3404, 18416,  {   1992
                                                                //   9193   12320,  4006,  2035,  2842,  2035,  3344,  2035,  3404, 18416, 12320,  {   2002
                                                                //   9194    4012, 18416, 12320,  4054,  4022,-11004, 24576, 31026,  4030,-11000,  {   2012
                                                                //   9195   24576, 31032,  4054,-11005, 24576, 31042, 18416, 12336,  2035,  5164,  {   2022
                                                                //   9196   18416, 12340,  2035,  4104,  4084,  4064,-11004, 24576, 31047,  4072,  {   2032
                                                                //   9197  -11000, 24576, 31053,  4084,-11005, 24576, 31042,  2035,  5164,  4104,  {   2042
                                                                //   9198    4098,-11006, 24576, 30956,  2035,  5164,  4104, 18416, 12296,  4132,  {   2052
                                                                //   9199    4114,-11000, 24576, 31063,  4126,-11005, 24576, 31073,  2035,  5164,  {   2062
                                                                //   9200    4132, 18416, 12296,  4152,  4146,-11008, 24576, 31078, 18416, 12300,  {   2072
                                                                //   9201    4152, 18416, 12296,  4180,  4174,-11008, 24576, 31078, 18416, 12300,  {   2082
                                                                //   9202    2035,  2754,  2035,  4152,  4180, 18416, 12296,  4196,  4190,-11004,  {   2092
                                                                //   9203   24576, 31080,  4196, 18416, 12296,  4236,  4204,  2035,  3802,  4236,  {   2102
                                                                //   9204  -11008, 24576, 30795,  2035,  2708,-11008, 24576, 30970,  2035,  2708,  {   2112
                                                                //   9205    2035,  3544,-11008, 24576, 30797,  4260,  4254,-11008, 24576, 31086,  {   2122
                                                                //   9206   18416, 12384, 18416, 12308,  4260, 18416, 12296,  4296,  4274,-11003,  {   2132
                                                                //   9207   24576, 31088, 18416, 12380,  4282,-11001, 24576, 30993,  4290,-11002,  {   2142
                                                                //   9208   24576, 31095,  4296, 18416, 12296,  4348,  4342, 18416, 12300,  2035,  {   2152
                                                                //   9209    2754,  2035,  4152,-11008, 24576, 31086,  2035,  2708,-11008, 24576,  {   2162
                                                                //   9210   30801,  2035,  2708,-11008, 24576, 30801,  2035,  2708,  4348, 18416,  {   2172
                                                                //   9211   12296,  4442,  4360,  2035,  2878,  2035,  3680,  4392,-11003, 24576,  {   2182
                                                                //   9212   30889, 18416, 12332,-11008, 24576, 30795, 18416, 12300,-11008, 24576,  {   2192
                                                                //   9213   30797, 18416, 12320,  4442,-11003, 24576, 30889,-11004, 24576, 30896,  {   2202
                                                                //   9214   18416, 12336, 18416, 12300,  2035,  3802, 18416, 12340,-11008, 24576,  {   2212
                                                                //   9215   30795, 18416, 12300,-11008, 24576, 30797, 18416, 12320,  4466,  4460,  {   2222
                                                                //   9216  -11008, 24576, 30801,  2035,  4466, 18416, 12292,  4466, 18416, 12296,  {   2232
                                                                //   9217    4606,  4482,  2035,  2878,  2035,  3100, 18416, 12332,  4506,  2035,  {   2242
                                                                //   9218    2878,-11004, 24576, 30896, 18416, 12332,  2035,  3802,  2035,  3932,  {   2252
                                                                //   9219    4528,-11003, 24576, 30889,  2035,  3068,-11005, 24576, 30884, 18416,  {   2262
                                                                //   9220   12332,  4556,-11003, 24576, 30889, 18416, 12332,-11008, 24576, 30795,  {   2272
                                                                //   9221   18416, 12300,-11008, 24576, 30797,  4606,-11003, 24576, 30889,-11004,  {   2282
                                                                //   9222   24576, 30896, 18416, 12336, 18416, 12332,  2035,  3802,  2035,  3932,  {   2292
                                                                //   9223   18416, 12340,-11008, 24576, 30795, 18416, 12300,-11008, 24576, 30797,  {   2302
                                                                //   9224    4648,  4618, 18416, 12300,  2035,  4974,  4636,-11008, 24576, 31103,  {   2312
                                                                //   9225    2035,  3036,-11008, 24576, 31105,  4648,-11008, 24576, 31107,  2035,  {   2322
                                                                //   9226    4974,  4704,  4682, 18416, 12316,-11008, 24576, 30795, 18416, 12316,  {   2332
                                                                //   9227  -11008, 24576, 30801, 18416, 12316,-11008, 24576, 30797,  4704,  2035,  {   2342
                                                                //   9228    4606,-11008, 24576, 30795, 18416, 12316,-11008, 24576, 30797,  4726,  {   2352
                                                                //   9229    4716,  2035,  4606,  2035,  5106,  4726, 18416, 12316,  2035,  4726,  {   2362
                                                                //   9230    4780,  4756,-11008, 24576, 30795, 18416, 12316,-11008, 24576, 30801,  {   2372
                                                                //   9231   18416, 12316,-11008, 24576, 30797,  4774,-11008, 24576, 30795, 18416,  {   2382
                                                                //   9232   12316,-11008, 24576, 30797,  4780, 18416, 12296,  4800,  4794,-11008,  {   2392
                                                                //   9233   24576, 30801, 18416, 12304,  4800, 18416, 12296,  4818,  4808,  2035,  {   2402
                                                                //   9234    4606,  4818, 18416, 12316,  2035,  5106,  4974,  4840, 18416, 12344,  {   2412
                                                                //   9235   18416, 12316,-11008, 24576, 30801, 18416, 12316,  4860, 18416, 12348,  {   2422
                                                                //   9236   18416, 12316,-11008, 24576, 30801,  2035,  4704,  4890, 18416, 12352,  {   2432
                                                                //   9237   18416, 12316,-11008, 24576, 30801, 18416, 12316,-11008, 24576, 30801,  {   2442
                                                                //   9238    2035,  4800,  4904, 18416, 12356,  2035,  4800,  2035,  4780,  4924,  {   2452
                                                                //   9239   18416, 12360, 18416, 12316,-11008, 24576, 30801,  2035,  4800,  4944,  {   2462
                                                                //   9240   18416, 12364,  2035,  4648,-11008, 24576, 30801,  2035,  4800,  4964,  {   2472
                                                                //   9241   18416, 12368,  2035,  4648,-11008, 24576, 30801,  2035,  4648,  4974,  {   2482
                                                                //   9242   18416, 12372, 18416, 12316,  5006,  4988,-11008, 24576, 30791, 18416,  {   2492
                                                                //   9243   12316,  5000,-11008, 24576, 30793, 18416, 12316,  5006, 18416, 12296,  {   2502
                                                                //   9244    5106,  5042,-11008, 24576, 31107, 18416, 12316,-11008, 24576, 30801,  {   2512
                                                                //   9245    2035,  5148, 18416, 12300,  2035,  2754,  2035,  4152,  5060,-11007,  {   2522
                                                                //   9246   24576, 31018,-11008, 24576, 31109, 18416, 12316,  5070, 18416, 12376,  {   2532
                                                                //   9247    2035,  4818,  5082,-11005, 24576, 31111, 18416, 12304,  5094,-11002,  {   2542
                                                                //   9248   24576, 31116, 18416, 12316,  5106,-11005, 24576, 31124, 18416, 12316,  {   2552
                                                                //   9249    5132,  5126,-11008, 24576, 30795, 18416, 12316,-11008, 24576, 30797,  {   2562
                                                                //   9250    5132, 18416, 12296,  5148,  5142,-11008, 24576, 31086,  5148, 18416,  {   2572
                                                                //   9251   12296,  5164,  5158,-11008, 24576, 31129,  5164, 18416, 12296,  5276,  {   2582
                                                                //   9252    5196, 18416, 12336, 18416, 12300,  2035,  2754,  2035,  4152, 18416,  {   2592
                                                                //   9253   12340,  2035,  3492,  2035,  4084,  5208,-11007, 24576, 31018,  2035,  {   2602
                                                                //   9254    3050,  5224,-11000, 24576, 31131, 18416, 12328,  2035,  4084,  5232,  {   2612
                                                                //   9255  -11003, 24576, 31141,  5248,-11003, 24576, 31148, 18416, 12392,  2035,  {   2622
                                                                //   9256    2708,  5260,-11002, 24576, 31155,  2035,  3910,  5268,-11005, 24576,  {   2632
                                                                //   9257   31021,  5276,-11005, 24576, 31163,  5802,  5296, 18416, 12336,  2035,  {   2642
                                                                //   9258    5164, 18416, 12340,  2035,  3960,  5312,-11004, 24576, 31047,  2035,  {   2652
                                                                //   9259    4296, 18416, 12320,  5324,-11003, 24576, 31168, 18416, 12320,  5336,  {   2662
                                                                //   9260   18416, 12316,-11008, 24576, 30970,  5366,  2035,  2824, 18416, 12336,  {   2672
                                                                //   9261    2035,  3344,  2035,  3404, 18416, 12340,  2035,  4012, 18416, 12320,  {   2682
                                                                //   9262    5396,  2035,  2842, 18416, 12336,  2035,  3344,  2035,  3404, 18416,  {   2692
                                                                //   9263   12340,  2035,  4054, 18416, 12320,  5410,  2035,  2878,  2035,  3616,  {   2702
                                                                //   9264   18416, 12320,  5426,-11006, 24576, 31175,  2035,  3184, 18416, 12320,  {   2712
                                                                //   9265    5460, 18416, 12336,  2035,  4260,  2035,  2950, 18416, 12340,  2035,  {   2722
                                                                //   9266    3510, 18416, 12300,  2035,  3124, 18416, 12320,  5470,  2035,  2860,  {   2732
                                                                //   9267   18416, 12324,  5486,-11004, 24576, 31179,  2035,  3526, 18416, 12320,  {   2742
                                                                //   9268    5498,-11004, 24576, 31185, 18416, 12320,  5514,-11004, 24576, 31191,  {   2752
                                                                //   9269    2035,  3864, 18416, 12320,  5530,-11003, 24576, 31197,  2035,  4104,  {   2762
                                                                //   9270   18416, 12320,  5554,-11003, 24576, 31204, 18416, 12332,  2035,  3802,  {   2772
                                                                //   9271    2035,  3932, 18416, 12320,  5566,-11005, 24576, 31211, 18416, 12320,  {   2782
                                                                //   9272    5576,  2035,  3768,  2035,  4348,  5596,-11005, 24576, 30951, 18416,  {   2792
                                                                //   9273   12300,  2035,  3124, 18416, 12320,  5618,-11002, 24576, 31216,-11005,  {   2802
                                                                //   9274   24576, 30884, 18416, 12300, 18416, 12320,  5640,-11002, 24576, 31224,  {   2812
                                                                //   9275  -11002, 24576, 31232, 18416, 12380, 18416, 12320,  5664,-11001, 24576,  {   2822
                                                                //   9276   31240, 18416, 12380, 18416, 12300,  2035,  5106, 18416, 12320,  5676,  {   2832
                                                                //   9277  -11004, 24576, 31249, 18416, 12320,  5694,-11004, 24576, 30851,-11002,  {   2842
                                                                //   9278   24576, 30869, 18416, 12320,  5714,-11008, 24576, 31107, 18416, 12380,  {   2852
                                                                //   9279    2035,  5006, 18416, 12320,  5730,-11002, 24576, 31255, 18416, 12308,  {   2862
                                                                //   9280   18416, 12320,  5750,-11003, 24576, 31263, 18416, 12380,  2035,  3578,  {   2872
                                                                //   9281   18416, 12320,  5766,-11003, 24576, 30889,  2035,  3240, 18416, 12320,  {   2882
                                                                //   9282    5796,-11007, 24576, 31270,  2035,  4180, 18416, 12316,  2035,  3840,  {   2892
                                                                //   9283  -11004, 24576, 31026, 18416, 12320,  5802, 18416, 12320;
                                                                //   9284  %CONSTSHORTINTEGERARRAY SALT(0: 29)= 5802,
#line 9284 "regression-compile-tmp/imp918s.imp"
const short SALT[30] = { 5802, 5278, 5296, 5312, 5324, 5336, 5366, 5396, 5410, 5426, 5460, 5470, 5486, 5498, 5514, 5530, 5554, 5566, 5576, 5596, 5618, 5640, 5664, 5676, 5694, 5714, 5730, 5750, 5766, 5796,  };
                                                                //   9285   5278, 5296, 5312, 5324, 5336, 5366, 5396, 5410, 5426, 5460,
                                                                //   9286   5470, 5486, 5498, 5514, 5530, 5554, 5566, 5576, 5596, 5618,
                                                                //   9287   5640, 5664, 5676, 5694, 5714, 5730, 5750, 5766, 5796;
                                                                //   9288  {%REGISTER SYMAD(7)}%integer SYMAD
#line 9288 "regression-compile-tmp/imp918s.imp"
int SYMAD;
                                                                //   9289  {%REGISTER QP(6)}%integer QP
#line 9289 "regression-compile-tmp/imp918s.imp"
int QP;
                                                                //   9290  !%if USE MC = 1 %start
                                                                //   9291  !         *L_7,SYMBOL; *L_6,Q
                                                                //   9292  !         *BAL_1,<HASHSTART>
                                                                //   9293  !%finish
                                                                //   9294           Q=QP
#line 9294 "regression-compile-tmp/imp918s.imp"
Q = QP;
                                                                //   9295           %RETURN
#line 9295 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   9296  HASHSTART:                             ! USE 1ST CHAR TO INDEX PHRASE SS
#line 9296 "regression-compile-tmp/imp918s.imp"
U_1079:;
                                                                //   9297  !%if USE MC = 1 %start
                                                                //   9298  !         *ST_1,0(0,11);                ! SAVE RETURN ADDR BUT NOT LOCALS
                                                                //   9299  !         *LA_11,32(0,11);              ! CLAIM SPACE TO CONFORM W.START
                                                                //   9300  !         *L_2,R; *ST_2,RR; *ST_6,RQ;   ! RQ=Q;!RR=R
                                                                //   9301  !         *LA_3,1(0,2); *ST_3,R;        ! R=R+1
                                                                //   9302  !         *SR_1,1; *IC_1,0(6);          ! R1=CC(Q)=1ST CHAR OF STMNT
                                                                //   9303  !         *L_3,HASHALT; *IC_1,0(3,1);   ! R1=A(R)=1ST ALT WORTH TRYING
                                                                //   9304  !         *STH_1,ALT;                   ! ALT    =ALTNO
                                                                //   9305  !         *L_3,SALT
                                                                //   9306  !         *LH_0,0(0,3); *STH_0,RP
                                                                //   9307  !         *AR_1,1; *LH_2,0(3,1);        ! P=SALT(ALT)
                                                                //   9308  !         *LA_1,2(0,2);                 ! RS=1ST ALT IS 2 BYTES ON
                                                                //   9309  !         *LH_0,0(2,7); *ST_0,RA;       ! RA=PTR TO NEXT ALT OF SS
                                                                //   9310  !         *BC_15,<12>
                                                                //   9311  !START:   *LM_15,4,RA;                  ! CURRENT LOCALS
                                                                //   9312  !         *STM_14,4,0(11);              ! SAVE RETURN ADDR+LOCALS
                                                                //   9313  !         *LA_11,32(0,11);              ! CLAIM WORKSPACE
                                                                //   9314  !         *L_0,P; *STH_0,PP
                                                                //   9315  !         *BC_15,<COMM>
                                                                //   9316  !%finish
                                                                //   9317  Label999:                                    ! REPEATEING PHRASES
#line 9317 "regression-compile-tmp/imp918s.imp"
U_107a:;
                                                                //   9318  !%if USE MC = 1 %start
                                                                //   9319  !         *L_1,RR; *AR_1,1
                                                                //   9320  !         *LH_0,ALT; *STH_0,A+30(1)
                                                                //   9321  !         *LH_0,PP; *ST_0,P
                                                                //   9322  !%finish
                                                                //   9323  COMM:
#line 9323 "regression-compile-tmp/imp918s.imp"
U_107b:;
                                                                //   9324           %COMMENT  ROUTINE REALLY STARTS HERE
                                                                //   9325  !%if USE MC = 1 %start
                                                                //   9326  !         *L_1,R; *ST_1,RR; *ST_6,RQ;   !RQ=Q  RR=R
                                                                //   9327  !         *LA_2,1(0,1); *ST_2,R;        ! R=R+1
                                                                //   9328  !         *LA_0,1; *STH_0,ALT;          ! ALT=1
                                                                //   9329  !         *L_1,P
                                                                //   9330  !         *LH_0,0(1,7); *STH_0,RP;       ! RP=SYMBOL(P)
                                                                //   9331  !         *LH_0,2(1,7); *ST_0,RA;       ! RA=SYMBOL(P+1)
                                                                //   9332  !         *LA_1,4(0,1); *BC_15,<12>;    ! RS=1ST ALTRNTIVE IS 4 BYTES ON
                                                                //   9333  Label1:
#line 9333 "regression-compile-tmp/imp918s.imp"
U_107c:;
                                                                //   9334  !         *LA_1,1; *A_1,R
                                                                //   9335  !         *ST_1,R;                      ! R=R+1
                                                                //   9336  !%finish
                                                                //   9337  Label2:                                     !RETURN HERE AFTER SUCCESS
#line 9337 "regression-compile-tmp/imp918s.imp"
U_107d:;
                                                                //   9338  !%if USE MC = 1 %start
                                                                //   9339  !         *C_6,QMAX
                                                                //   9340  !        *BC_12,<NOUPD>; *ST_6,QMAX
                                                                //   9341  !%finish
                                                                //   9342  NOUPD:
#line 9342 "regression-compile-tmp/imp918s.imp"
U_107e:;
                                                                //   9343  !%if USE MC = 1 %start
                                                                //   9344  !         *L_1,RS; *LA_1,4(0,1);        ! ! UPDATE RS TO NEXT PHRASE%C
                                                                //   9345  !                                         ! WHICH IN GENERAL WILL BE 4
                                                                //   9346  !                                         ! BYTES ON DOWN THE TABLE.
                                                                //   9347  !                                         ! ONLY LITERALS DIFFER
                                                                //   9348  !12:      *C_1,RA; *BC_8,<8>;           !  ->SUCCESS %IF RA=RS
                                                                //   9349  !         *ST_1,RS;                     !  RS=RS+1
                                                                //   9350  !         *LA_3,<TABLE>
                                                                //   9351  !%finish
                                                                //   9352  TESTP:                                 ! THE BASIC COMPARISON SEQUENCE
#line 9352 "regression-compile-tmp/imp918s.imp"
U_106f:;
                                                                //   9353                                         ! EXECUTE THE NEXT INSTRUCTION IN
                                                                //   9354                                         ! THE TABLE FOR P-TYPE THIS BR3
                                                                //   9355                                         ! FOR A RECURSIVE CALL.BIP-TYPE
                                                                //   9356                                         ! BRANCHES VIA TABLE.LITERAL IS
                                                                //   9357                                         ! THE APPROPRIATE CLC
                                                                //   9358  !%if USE MC = 1 %start
                                                                //   9359  !         *EX_0,0(1,7);                 ! CLC IN SYMBOL
                                                                //   9360  !         *BC_7,<3>;                    ! LITERAL NOT FOUND
                                                                //   9361  !         *AH_6,0(1,7);                 ! ADD 1ST HALFWORD OF CLC
                                                                //   9362  !         *A_6,QUICK;                   ! AND A CORRECTING FACTOR TO
                                                                //   9363  !        *C_6,QMAX; *BC_12,<NOUPD1>; *ST_6,QMAX
                                                                //   9364  !%finish
                                                                //   9365  NOUPD1:
#line 9365 "regression-compile-tmp/imp918s.imp"
U_1070:;
                                                                //   9366  !%if USE MC = 1 %start
                                                                //   9367  !         *LA_1,6(0,1);                 !  LITERALS NEXT PHRASE 6BYTES ON
                                                                //   9368  !         *C_1,RA; *BC_8,<8>;           !  ->SUCCESS %IF RA=RS
                                                                //   9369  !         *ST_1,RS
                                                                //   9370  !%finish
                                                                //   9371           ->TESTP;                      ! ON TO NEXT PHRASE
#line 9371 "regression-compile-tmp/imp918s.imp"
goto U_106f;
                                                                //   9372  !%if USE MC = 1 %start
                                                                //   9373  !4:       *LH_2,2(1,7);                ! POINTER TO PHRASE
                                                                //   9374  !         *ST_2,P;                      ! P=ITEM
                                                                //   9375  !         *BAL_14,<START>;              ! PSEUDO RECURSIVE CALL
                                                                //   9376  !         *CLI_HIT,0; *BC_8,<3>;         ! BIP NOT FOUND
                                                                //   9377  !%finish
                                                                //   9378                                          ! IF BIP FOUND CAN USE REGS
                                                                //   9379                                          ! LEFT SET UP AT LAST RTRN:
                                                                //   9380  !%if USE MC = 1 %start
                                                                //   9381  !         *LA_1,4(2);                    ! UPDATE RS
                                                                //   9382  !         *CR_1,15; *BC_8,<8>;           ! ->SUCCESS IF RA=RS
                                                                //   9383  !         *ST_1,RS; *LA_3,<TABLE>; *BC_15,<TESTP>
                                                                //   9384  U3:
#line 9384 "regression-compile-tmp/imp918s.imp"
U_1071:;
                                                                //   9385  !         *C_6,QMAX; *BC_12,<3>; *ST_6,QMAX
                                                                //   9386  !%finish
                                                                //   9387  Label3:                                    !FAILURE TRY NEXT ALTERNATIVE
#line 9387 "regression-compile-tmp/imp918s.imp"
U_1072:;
                                                                //   9388  !%if USE MC = 1 %start
                                                                //   9389  !         *L_2,RA; *CH_2,RP;            ! ->Label7 %IF RA=RP (UTTER FAILURE
                                                                //   9390  !         *BC_8,<7>;                    ! AS NO MORE ALTS LEFT TO TRY)
                                                                //   9391  !         *L_15,RR; *L_6,RQ;            ! Q=RQ--R=RR
                                                                //   9392  !         *LA_0,1(0,15); *ST_0,R;       ! R=R+1--
                                                                //   9393  !         *LH_3,ALT
                                                                //   9394  !         *LA_3,1(0,3); *STH_3,ALT;     ! ALT=ALT+1  = NEXT ALT
                                                                //   9395  !         *LA_1,2(0,2);                 ! NEW RS 2 ON FROM OLD RS(=RA)
                                                                //   9396  !         *LH_0,0(2,7); *ST_0,RA;       ! NEW RA=SYMBOL(OLD RA)
                                                                //   9397  !         *ST_1,RS
                                                                //   9398  !         *LA_3,<TABLE>; ->TESTP
                                                                //   9399  !%finish
                                                                //   9400  NULL:                                  ! PHRASE NULL-CAN BE MADE FAST.AS
#line 9400 "regression-compile-tmp/imp918s.imp"
U_1073:;
                                                                //   9401                                         ! ALWAYS LAST & ALWAYS SUCCESSFUL
                                                                //   9402  Label8:       HIT=1                         ;!SUCCESS
#line 9402 "regression-compile-tmp/imp918s.imp"
U_1081:;
#line 9402 "regression-compile-tmp/imp918s.imp"
HIT = 1;
                                                                //   9403  RTRN:                                  ! PSEUDO RECURSIVE RETURN
#line 9403 "regression-compile-tmp/imp918s.imp"
U_1082:;
                                                                //   9404  !%if USE MC = 1 %start
                                                                //   9405  !         *L_1,RR; *AR_1,1
                                                                //   9406  !         *LH_0,ALT; *STH_0,A+30(1);    ! A(RR)=ALT MATCHED
                                                                //   9407  !         *S_11,THIRTYTWO;              ! RESET THE STACK POINTER
                                                                //   9408  !         *LM_14,4,0(11);               ! RETURN ADDR ETC
                                                                //   9409  !         *STM_15,4,RA;                 ! RESTORE OLD LOCALS
                                                                //   9410  !         *BCR_15,14    ;               ! AND EXIT
                                                                //   9411  !%finish
                                                                //   9412  Label7:       HIT=0;->RTRN                  ;!COMPLETE AND UTTER FAILURE
#line 9412 "regression-compile-tmp/imp918s.imp"
U_1083:;
#line 9412 "regression-compile-tmp/imp918s.imp"
HIT = 0;
#line 9412 "regression-compile-tmp/imp918s.imp"
goto U_1082;
                                                                //   9413  !%if USE MC = 1 %start
                                                                //   9414  !TABLE:   *BC_15,<4>
                                                                //   9415  !         *BC_15,<999>
                                                                //   9416  !         *BC_15,<NULL>;                ! THE BIP %NULL
                                                                //   9417  !         *BC_15,<1001>  ;              !TREE FOR BIPS
                                                                //   9418  !         *BC_15,<1002>
                                                                //   9419  !         *BC_15,<1003>
                                                                //   9420  !         *BC_15,<1004>
                                                                //   9421  !         *BC_15,<1005>
                                                                //   9422  !         *BC_15,<1006>
                                                                //   9423  !         *BC_15,<1007>
                                                                //   9424  !         *BC_15,<1008>
                                                                //   9425  !         *BC_15,<1009>
                                                                //   9426  !         *BC_15,<1010>
                                                                //   9427  !         *BC_15,<1011>
                                                                //   9428  !         *BC_15,<1012>
                                                                //   9429  !         *BC_15,<1013>
                                                                //   9430  !         *BC_15,<1014>
                                                                //   9431  !         *BC_15,<1015>
                                                                //   9432  !         *BC_15,<1016>
                                                                //   9433  !         *BC_15,<1017>
                                                                //   9434  !         *BC_15,<1018>
                                                                //   9435  !         *BC_15,<1019>
                                                                //   9436  !         *BC_15,<1020>
                                                                //   9437  !         *BC_15,<1021>
                                                                //   9438  !         *BC_15,<1022>
                                                                //   9439  !         *BC_15,<1023>
                                                                //   9440  !         *BC_15,<1024>
                                                                //   9441  !         *BC_15,<1025>
                                                                //   9442  !%finish
                                                                //   9443  Label1001:                                  !BIP NAME
#line 9443 "regression-compile-tmp/imp918s.imp"
U_1084:;
                                                                //   9444           ->Label3 %UNLESS 'A'<=BYTEINTEGER(QP)
#line 9444 "regression-compile-tmp/imp918s.imp"
if (((65) <= (*_imp_BYTEINTEGER(QP)))) goto L_08e3;
#line 9444 "regression-compile-tmp/imp918s.imp"
goto U_1072;
#line 9444 "regression-compile-tmp/imp918s.imp"
L_08e3:;
                                                                //   9445  !%if USE MC = 1 %start
                                                                //   9446  !         *L_3,TRTABS
                                                                //   9447  !         *SR_1,1; *LR_2,1; *ST_1,NUM
                                                                //   9448  !         *STM_1,2,0(11)
                                                                //   9449  !         *TRT_0(255,6),0(3)
                                                                //   9450  !         *LR_0,1; *SR_1,6;              ! LENGTH IN GR1
                                                                //   9451  !         *BC_8,<3>;                     ! ZERO LENGTH = NOT A NAME
                                                                //   9452  !         *BCT_2,*+8
                                                                //   9453  !         *BC_15,<U3>;                   ! NAME END IN QUOTE =FAIL
                                                                //   9454  !         *L_14,LETT; *L_3,NEXT; *AR_3,14
                                                                //   9455  !         *STC_1,0(3);                   ! MOVE IN LENGTH
                                                                //   9456  !         *EX_1,<NAMMOVE>;               ! MOVE IN CHARS (+1 XTRA)
                                                                //   9457  !         *EX_1,<MOVEP>
                                                                //   9458  !         *LR_6,0;                       ! UPDATE TEXT POINTER
                                                                //   9459  !         *LH_2,0(11); *MH_2,HH1
                                                                //   9460  !         *LH_0,2(11); *MH_0,HH1+2; *ALR_2,0
                                                                //   9461  !         *LH_0,4(11); *MH_0,HH2; *ALR_2,0
                                                                //   9462  !         *LH_0,6(11); *MH_0,HH2+2; *ALR_2,0
                                                                //   9463  !         *LR_4,2;                       ! INITIAL HASH VALUE
                                                                //   9464  !         *SRL_2,9; *STC_2,NUM+3
                                                                //   9465  !         *OI_NUM+3,2; *NI_NUM+3,62
                                                                //   9466  !         *L_15,WORD; *L_5,NNAMES
                                                                //   9467  !         *LA_0,0(5,5)
                                                                //   9468  !         *ALR_4,4
                                                                //   9469  !LOOKL:   *NR_4,0;                       ! TO KEEP WITHIN WORD
                                                                //   9470  !         *LH_2,0(4,15);                 ! GET WORD(I)
                                                                //   9471  !         *LTR_2,2; *BC_8,<NEWNAME>;     ! EMPTY HOLE FOR NEW NAME
                                                                //   9472  !         *AR_2,14; *EX_1,<NAMCOMP>;     ! COMPARE
                                                                //   9473  !         *BC_8,<FOUND>
                                                                //   9474  !         *A_4,NUM
                                                                //   9475  !         *BCT_5,<LOOKL>
                                                                //   9476  !%finish
                                                                //   9477           FAULT(104,0)
#line 9477 "regression-compile-tmp/imp918s.imp"
FAULT(104, 0);
                                                                //   9478  !%if USE MC = 1 %start
                                                                //   9479  !NAMCOMP: *CLC_0(1,2),0(3)
                                                                //   9480  !NAMMOVE: *MVC_1(1,3),0(6)
                                                                //   9481  !MOVEP:   *MVC_0(1,11),0(3)
                                                                //   9482  !%finish
                                                                //   9483  DFULL:   FAULT(103,0)
#line 9483 "regression-compile-tmp/imp918s.imp"
U_1085:;
#line 9483 "regression-compile-tmp/imp918s.imp"
FAULT(103, 0);
                                                                //   9484  !%if USE MC = 1 %start
                                                                //   9485  !NEWNAME: *SR_3,14; *STH_3,0(4,15)
                                                                //   9486  !         *LA_3,1(1,3); *ST_3,NEXT;      ! UPDATE NEXT TO INCLUDE NEWNAME
                                                                //   9487  !         *CH_3,DSIZE; *BC_2,<DFULL>
                                                                //   9488  !FOUND:   *SRL_4,1; *L_2,R; *AR_2,2
                                                                //   9489  !         *STH_4,A+30(2)
                                                                //   9490  !%finish
                                                                //   9491           HIT=1; ->Label1
#line 9491 "regression-compile-tmp/imp918s.imp"
HIT = 1;
#line 9491 "regression-compile-tmp/imp918s.imp"
goto U_107c;
                                                                //   9492  Label1020:                                  ! SET UP UC FOR LOOK UP &CHECK'_'
#line 9492 "regression-compile-tmp/imp918s.imp"
U_1086:;
                                                                //   9493           I=BYTE INTEGER(QP)
#line 9493 "regression-compile-tmp/imp918s.imp"
I = *_imp_BYTEINTEGER(QP);
                                                                //   9494           ->Label3 %UNLESS 'A'<=I<='Z'
#line 9494 "regression-compile-tmp/imp918s.imp"
if ((((65) > (I))) || (((I) <= (90)))) goto L_08e5;
#line 9494 "regression-compile-tmp/imp918s.imp"
L_08e4:;
#line 9494 "regression-compile-tmp/imp918s.imp"
goto U_1072;
#line 9494 "regression-compile-tmp/imp918s.imp"
L_08e5:;
                                                                //   9495           S=I; J=1
#line 9495 "regression-compile-tmp/imp918s.imp"
S = I;
#line 9495 "regression-compile-tmp/imp918s.imp"
J = 1;
                                                                //   9496  Label200:     QP=QP+1; I=BYTE INTEGER(QP)
#line 9496 "regression-compile-tmp/imp918s.imp"
U_1087:;
#line 9496 "regression-compile-tmp/imp918s.imp"
QP = (((int)(QP)) + (1));
#line 9496 "regression-compile-tmp/imp918s.imp"
I = *_imp_BYTEINTEGER(QP);
                                                                //   9497           ->Label201 %UNLESS 'A'<=I<='Z'
#line 9497 "regression-compile-tmp/imp918s.imp"
if ((((65) > (I))) || (((I) <= (90)))) goto L_08e7;
#line 9497 "regression-compile-tmp/imp918s.imp"
L_08e6:;
#line 9497 "regression-compile-tmp/imp918s.imp"
goto U_1088;
#line 9497 "regression-compile-tmp/imp918s.imp"
L_08e7:;
                                                                //   9498           S=S<<8!I;J=J+1; ->Label200
#line 9498 "regression-compile-tmp/imp918s.imp"
S = ((((S) << (8))) | (I));
#line 9498 "regression-compile-tmp/imp918s.imp"
J = (((int)(J)) + (1));
#line 9498 "regression-compile-tmp/imp918s.imp"
goto U_1087;
                                                                //   9499  Label201:     ->Label3 %UNLESS I='_' %AND J<=4
#line 9499 "regression-compile-tmp/imp918s.imp"
U_1088:;
#line 9499 "regression-compile-tmp/imp918s.imp"
if (((I) != (95))) goto L_08e8;
#line 9499 "regression-compile-tmp/imp918s.imp"
if (((J) <= (4))) goto L_08e9;
#line 9499 "regression-compile-tmp/imp918s.imp"
L_08e8:;
#line 9499 "regression-compile-tmp/imp918s.imp"
goto U_1072;
#line 9499 "regression-compile-tmp/imp918s.imp"
L_08e9:;
                                                                //   9500           QP=QP+1; ->Label2
#line 9500 "regression-compile-tmp/imp918s.imp"
QP = (((int)(QP)) + (1));
#line 9500 "regression-compile-tmp/imp918s.imp"
goto U_107d;
                                                                //   9501  Label1002:                                  ! INTEGER CONSTANT
#line 9501 "regression-compile-tmp/imp918s.imp"
U_1089:;
                                                                //   9502  !%if USE MC = 1 %start
                                                                //   9503  !         *MVI_CTYPE,2; -> 301
                                                                //   9504  !%finish
                                                                //   9505  Label1003:                                  !BIP CONST
#line 9505 "regression-compile-tmp/imp918s.imp"
U_108a:;
                                                                //   9506  !%if USE MC = 1 %start
                                                                //   9507  !         *MVI_CTYPE,0
                                                                //   9508  !301:     *SR_1,1
                                                                //   9509  !        *IC_1,0(0,6);                   ! PICK UP NEXT CHAR
                                                                //   9510  !         *A_1,TRTABS;                  ! CHECK A CONST IS POSSIBLE
                                                                //   9511  !         *CLI_256(1),28;*BC_8,<3>;     !QUICK TEST FOR CONST.
                                                                //   9512  !%finish
                                                                //   9513           Q=QP; CONST(CTYPE); QP=Q
#line 9513 "regression-compile-tmp/imp918s.imp"
Q = QP;
#line 9513 "regression-compile-tmp/imp918s.imp"
CONST(CTYPE);
#line 9513 "regression-compile-tmp/imp918s.imp"
QP = Q;
                                                                //   9514           %IF HIT=0 %THEN ->U3
#line 9514 "regression-compile-tmp/imp918s.imp"
if (((HIT) != (0))) goto L_08ea;
#line 9514 "regression-compile-tmp/imp918s.imp"
goto U_1071;
#line 9514 "regression-compile-tmp/imp918s.imp"
L_08ea:;
                                                                //   9515           ->Label1 %IF CTYPE=5
#line 9515 "regression-compile-tmp/imp918s.imp"
if (((CTYPE) != (5))) goto L_08eb;
#line 9515 "regression-compile-tmp/imp918s.imp"
goto U_107c;
#line 9515 "regression-compile-tmp/imp918s.imp"
L_08eb:;
                                                                //   9516           ->Label26 %IF CTYPE=2;             ! %REAL
#line 9516 "regression-compile-tmp/imp918s.imp"
if (((CTYPE) != (2))) goto L_08ec;
#line 9516 "regression-compile-tmp/imp918s.imp"
goto U_108b;
#line 9516 "regression-compile-tmp/imp918s.imp"
L_08ec:;
                                                                //   9517           A(R)=1
#line 9517 "regression-compile-tmp/imp918s.imp"
A[((R) + ((int)(7)))] = 1;
                                                                //   9518           A(R+1)<-S>>16; A(R+2)<-S; R=R+3; ->Label2
#line 9518 "regression-compile-tmp/imp918s.imp"
A[(((unsigned char)((((int)(R)) + (1)))) + (7))] = (int)((((unsigned int)(S)) >> (16)));
#line 9518 "regression-compile-tmp/imp918s.imp"
A[(((unsigned char)((((int)(R)) + (2)))) + (7))] = S;
#line 9518 "regression-compile-tmp/imp918s.imp"
R = (((int)(R)) + (3));
#line 9518 "regression-compile-tmp/imp918s.imp"
goto U_107d;
                                                                //   9519  Label26:      A(R)=2; TOAR8(R+1,CVALUE); R=R+5; ->Label2
#line 9519 "regression-compile-tmp/imp918s.imp"
U_108b:;
#line 9519 "regression-compile-tmp/imp918s.imp"
A[((R) + ((int)(7)))] = 2;
#line 9519 "regression-compile-tmp/imp918s.imp"
TOAR8((((int)(R)) + (1)), CVALUE);
#line 9519 "regression-compile-tmp/imp918s.imp"
R = (((int)(R)) + (5));
#line 9519 "regression-compile-tmp/imp918s.imp"
goto U_107d;
                                                                //   9520  Label1005:                                  !BIP N
#line 9520 "regression-compile-tmp/imp918s.imp"
U_108c:;
                                                                //   9521  !%if USE MC = 1 %start
                                                                //   9522  !         *L_3,TRTABS
                                                                //   9523  !         *TRT_0(10,6),256(3)
                                                                //   9524  !         *BC_8,<3>;                    ! TOO LONG
                                                                //   9525  !         *LR_0,1;                       ! UPDATE Q
                                                                //   9526  !         *SR_1,6; *BC_8,<3>;           ! ZERO LENGTH->FAILURE
                                                                //   9527  !         *BCTR_1,0;  *EX_1,<PK>;       !PACK
                                                                //   9528  !         *OI_7(11),15;                 !POSITIVE SIGN
                                                                //   9529  !         *CVB_2,0(0,11);               ! BINARY IN R2
                                                                //   9530  !         *L_1,R;  *AR_1,1
                                                                //   9531  !         *LR_6,0;                      ! FINISH UPDATING Q
                                                                //   9532  !         *STH_2,A+30(1);                  ! A(R)=N
                                                                //   9533  !         *SRA_2,15;  *BC_8,<1>
                                                                //   9534  !%finish
                                                                //   9535           ->Label3
#line 9535 "regression-compile-tmp/imp918s.imp"
goto U_1072;
                                                                //   9536  !%if USE MC = 1 %start
                                                                //   9537  !PK:      *PACK_0(8,11),0(0,6)
                                                                //   9538  !%finish
                                                                //   9539  Label1004:                                  !BIP CONSTLIST
#line 9539 "regression-compile-tmp/imp918s.imp"
U_108d:;
                                                                //   9540           Q=QP; CONSTLIST; QP=Q; ->Label1
#line 9540 "regression-compile-tmp/imp918s.imp"
Q = QP;
#line 9540 "regression-compile-tmp/imp918s.imp"
CONSTLIST();
#line 9540 "regression-compile-tmp/imp918s.imp"
QP = Q;
#line 9540 "regression-compile-tmp/imp918s.imp"
goto U_107c;
                                                                //   9541  Label1006:                                  !BIP S
#line 9541 "regression-compile-tmp/imp918s.imp"
U_108e:;
                                                                //   9542  !%if USE MC = 1 %start
                                                                //   9543  !         *CLI_0(6),10; *BC_8,<2>;      ! ->Label2 %IF I='NL'
                                                                //   9544  !         *CLI_0(6),59; *BC_7,<3>;      ! -> 3 %UNLESS I=;
                                                                //   9545  !         *LA_6,1(0,6)
                                                                //   9546  !         *LA_1,4(0,1); *BC_15,<12>
                                                                //   9547  !%finish
                                                                //   9548  Label1007:                                  !BIP TEXT (=COMMENT TEXT)
#line 9548 "regression-compile-tmp/imp918s.imp"
U_108f:;
                                                                //   9549  !%if USE MC = 1 %start
                                                                //   9550  !         *L_3,TRTABS
                                                                //   9551  !31:      *TRT_0(255,6),512(3)
                                                                //   9552  !         *BC_8,<30>;                   ! TEXT LONGER THAN 255 CHARS
                                                                //   9553  !         *LR_6,1; ->Label2
                                                                //   9554  !30:      *LA_6,256(0,6); ->Label31
                                                                //   9555  !%finish
                                                                //   9556  Label1008:                                  !BIP TEXTTEXT
#line 9556 "regression-compile-tmp/imp918s.imp"
U_1090:;
                                                                //   9557           I=BYTE INTEGER(QP)
#line 9557 "regression-compile-tmp/imp918s.imp"
I = *_imp_BYTEINTEGER(QP);
                                                                //   9558           Q=QP; TEXTTEXT; QP=Q
#line 9558 "regression-compile-tmp/imp918s.imp"
Q = QP;
#line 9558 "regression-compile-tmp/imp918s.imp"
TEXTTEXT();
#line 9558 "regression-compile-tmp/imp918s.imp"
QP = Q;
                                                                //   9559           ->Label3 %IF HIT=0;->Label1
#line 9559 "regression-compile-tmp/imp918s.imp"
if (((HIT) != (0))) goto L_08ed;
#line 9559 "regression-compile-tmp/imp918s.imp"
goto U_1072;
#line 9559 "regression-compile-tmp/imp918s.imp"
L_08ed:;
#line 9559 "regression-compile-tmp/imp918s.imp"
goto U_107c;
                                                                //   9560  Label1009:                                  !BIP NAMELIST
#line 9560 "regression-compile-tmp/imp918s.imp"
U_1091:;
                                                                //   9561           ! GIVES AR IN FORM NNAMES,NAME1,....NAMEN
                                                                //   9562           ->Label3 %IF BYTEINTEGER(QP)<'A'
#line 9562 "regression-compile-tmp/imp918s.imp"
if (((*_imp_BYTEINTEGER(QP)) >= (65))) goto L_08ee;
#line 9562 "regression-compile-tmp/imp918s.imp"
goto U_1072;
#line 9562 "regression-compile-tmp/imp918s.imp"
L_08ee:;
                                                                //   9563           U=R; V=1; R=R+1
#line 9563 "regression-compile-tmp/imp918s.imp"
U = R;
#line 9563 "regression-compile-tmp/imp918s.imp"
V = 1;
#line 9563 "regression-compile-tmp/imp918s.imp"
R = (((int)(R)) + (1));
                                                                //   9564           Q=QP; PNAME; QP=Q; ->Label3 %IF HIT=0
#line 9564 "regression-compile-tmp/imp918s.imp"
Q = QP;
#line 9564 "regression-compile-tmp/imp918s.imp"
PNAME();
#line 9564 "regression-compile-tmp/imp918s.imp"
QP = Q;
#line 9564 "regression-compile-tmp/imp918s.imp"
if (((HIT) != (0))) goto L_08ef;
#line 9564 "regression-compile-tmp/imp918s.imp"
goto U_1072;
#line 9564 "regression-compile-tmp/imp918s.imp"
L_08ef:;
                                                                //   9565  Label90:      ->Label91 %UNLESS BYTE INTEGER(QP)=','
#line 9565 "regression-compile-tmp/imp918s.imp"
U_1092:;
#line 9565 "regression-compile-tmp/imp918s.imp"
if (((*_imp_BYTEINTEGER(QP)) == (44))) goto L_08f0;
#line 9565 "regression-compile-tmp/imp918s.imp"
goto U_1093;
#line 9565 "regression-compile-tmp/imp918s.imp"
L_08f0:;
                                                                //   9566           QP=QP+1; R=R+1
#line 9566 "regression-compile-tmp/imp918s.imp"
QP = (((int)(QP)) + (1));
#line 9566 "regression-compile-tmp/imp918s.imp"
R = (((int)(R)) + (1));
                                                                //   9567           ->U3 %IF BYTEINTEGER(QP)<'A'
#line 9567 "regression-compile-tmp/imp918s.imp"
if (((*_imp_BYTEINTEGER(QP)) >= (65))) goto L_08f1;
#line 9567 "regression-compile-tmp/imp918s.imp"
goto U_1071;
#line 9567 "regression-compile-tmp/imp918s.imp"
L_08f1:;
                                                                //   9568           Q=QP; PNAME; QP=Q
#line 9568 "regression-compile-tmp/imp918s.imp"
Q = QP;
#line 9568 "regression-compile-tmp/imp918s.imp"
PNAME();
#line 9568 "regression-compile-tmp/imp918s.imp"
QP = Q;
                                                                //   9569           ->Label92 %IF HIT=0; V=V+1; ->Label90
#line 9569 "regression-compile-tmp/imp918s.imp"
if (((HIT) != (0))) goto L_08f2;
#line 9569 "regression-compile-tmp/imp918s.imp"
goto U_1094;
#line 9569 "regression-compile-tmp/imp918s.imp"
L_08f2:;
#line 9569 "regression-compile-tmp/imp918s.imp"
V = (((int)(V)) + (1));
#line 9569 "regression-compile-tmp/imp918s.imp"
goto U_1092;
                                                                //   9570  Label92:      R=R-1; QP=QP-1
#line 9570 "regression-compile-tmp/imp918s.imp"
U_1094:;
#line 9570 "regression-compile-tmp/imp918s.imp"
R = (((int)(R)) - (1));
#line 9570 "regression-compile-tmp/imp918s.imp"
QP = (((int)(QP)) - (1));
                                                                //   9571  Label91:      A(U)=V; ->Label1
#line 9571 "regression-compile-tmp/imp918s.imp"
U_1093:;
#line 9571 "regression-compile-tmp/imp918s.imp"
A[((U) + ((int)(7)))] = V;
#line 9571 "regression-compile-tmp/imp918s.imp"
goto U_107c;
                                                                //   9572  Label1010:                        ! BIP HOLE
#line 9572 "regression-compile-tmp/imp918s.imp"
U_1095:;
                                                                //   9573  !%if USE MC = 1 %start
                                                                //   9574  !         *L_15,R
                                                                //   9575  !         *STH_15,MARKER;               ! MARKER=R
                                                                //   9576  !         *LA_15,1(0,15);*ST_15,R;      ! R=R+1
                                                                //   9577  !         *LA_1,4(0,1);                 ! ADVANCE POINTER TO SYMBOL
                                                                //   9578  !         *C_1,RA; *BC_8,<8>;           ! AS FOR SUCCESS
                                                                //   9579  !         *ST_1,RS; ->TESTP;            ! BACK INTO NORMAL PAT
                                                                //   9580  !%finish
                                                                //   9581  Label1011:                        !BIP MARK
#line 9581 "regression-compile-tmp/imp918s.imp"
U_1096:;
                                                                //   9582  !%if USE MC = 1 %start
                                                                //   9583  !         *LH_15,MARKER
                                                                //   9584  !         *L_14,R; *SR_14,15;           !  R-MARKER
                                                                //   9585  !         *AR_15,15
                                                                //   9586  !         *STH_14,A+30(15);                !  A(MARKER)=R-MARKER
                                                                //   9587  !         *LA_1,4(0,1);                 !  ADVANCE POINTER
                                                                //   9588  !         *C_1,RA; *BC_8,<8>;           !  ?END OF PHRASE
                                                                //   9589  !         *ST_1,RS; ->TESTP;            !  TO NORMAL PATH
                                                                //   9590  !%finish
                                                                //   9591  Label1012:                                  !BIP UCRR - RR FORMAT
#line 9591 "regression-compile-tmp/imp918s.imp"
U_1097:;
                                                                //   9592  !%if USE MC = 1 %start
                                                                //   9593  !         *CLI_S+3,'R';*BC_8,<124>
                                                                //   9594  !%finish
                                                                //   9595           %CYCLE I=0,1,2
#line 9595 "regression-compile-tmp/imp918s.imp"
I = (-1);
if ((((2)-(0)) % (1)) != 0) _imp_signal(5,1,0,"Illegal cycle I = 0, 1, 2");
L_08f3:;
if (I == 2) goto L_08f4;
I += 1;
                                                                //   9596           ->Label120 %IF S=NEM(I)
#line 9596 "regression-compile-tmp/imp918s.imp"
if (((S) != (NEM[I]))) goto L_08f6;
#line 9596 "regression-compile-tmp/imp918s.imp"
goto U_1098;
#line 9596 "regression-compile-tmp/imp918s.imp"
L_08f6:;
                                                                //   9597           %REPEAT; ->Label3
#line 9597 "regression-compile-tmp/imp918s.imp"
goto L_08f3;
#line 9597 "regression-compile-tmp/imp918s.imp"
L_08f4:;
#line 9597 "regression-compile-tmp/imp918s.imp"
goto U_1072;
                                                                //   9598  Label120:     A(R)=OPC(I)&63; ->Label1
#line 9598 "regression-compile-tmp/imp918s.imp"
U_1098:;
#line 9598 "regression-compile-tmp/imp918s.imp"
A[((R) + ((int)(7)))] = ((OPC[I]) & (63));
#line 9598 "regression-compile-tmp/imp918s.imp"
goto U_107c;
                                                                //   9599  Label124:       J=S>>8; %CYCLE I=2,1,48
#line 9599 "regression-compile-tmp/imp918s.imp"
U_1099:;
#line 9599 "regression-compile-tmp/imp918s.imp"
J = (int)((((unsigned int)(S)) >> (8)));
#line 9599 "regression-compile-tmp/imp918s.imp"
I = 1;
if ((((48)-(2)) % (1)) != 0) _imp_signal(5,1,0,"Illegal cycle I = 2, 1, 48");
L_08f7:;
if (I == 48) goto L_08f8;
I += 1;
                                                                //   9600           ->Label120 %IF J=NEM(I)
#line 9600 "regression-compile-tmp/imp918s.imp"
if (((J) != (NEM[I]))) goto L_08fa;
#line 9600 "regression-compile-tmp/imp918s.imp"
goto U_1098;
#line 9600 "regression-compile-tmp/imp918s.imp"
L_08fa:;
                                                                //   9601           %REPEAT; ->Label3
#line 9601 "regression-compile-tmp/imp918s.imp"
goto L_08f7;
#line 9601 "regression-compile-tmp/imp918s.imp"
L_08f8:;
#line 9601 "regression-compile-tmp/imp918s.imp"
goto U_1072;
                                                                //   9602  Label1013:                                  !BIP UCRX - RX FORMAT
#line 9602 "regression-compile-tmp/imp918s.imp"
U_109a:;
                                                                //   9603           J=18; K=64
#line 9603 "regression-compile-tmp/imp918s.imp"
J = 18;
#line 9603 "regression-compile-tmp/imp918s.imp"
K = 64;
                                                                //   9604  Label131:
#line 9604 "regression-compile-tmp/imp918s.imp"
U_109b:;
                                                                //   9605           %CYCLE I=J,1,K
#line 9605 "regression-compile-tmp/imp918s.imp"
{static int _initial, _increment, _final, _control;
_initial = J; _increment = 1; _final = K; I = _control = _initial;
if (((_final-_initial) % _increment) != 0) _imp_signal(5,1,0,"Illegal cycle I = J, 1, K");
I -= _increment; _control -= _increment;
L_08fb:;
if (I == _final) goto L_08fc;
I += _increment; _control += _increment;
if (I != _control) _imp_signal(4,2,0,"Corrupt control variable I"); /* FOR loop control variable corrupted */
}
                                                                //   9606           ->Label130 %IF S=NEM(I)
#line 9606 "regression-compile-tmp/imp918s.imp"
if (((S) != (NEM[I]))) goto L_08fe;
#line 9606 "regression-compile-tmp/imp918s.imp"
goto U_109c;
#line 9606 "regression-compile-tmp/imp918s.imp"
L_08fe:;
                                                                //   9607           %REPEAT; ->Label3
#line 9607 "regression-compile-tmp/imp918s.imp"
goto L_08fb;
#line 9607 "regression-compile-tmp/imp918s.imp"
L_08fc:;
#line 9607 "regression-compile-tmp/imp918s.imp"
goto U_1072;
                                                                //   9608  Label130:     A(R)=OPC(I); ->Label1
#line 9608 "regression-compile-tmp/imp918s.imp"
U_109c:;
#line 9608 "regression-compile-tmp/imp918s.imp"
A[((R) + ((int)(7)))] = OPC[I];
#line 9608 "regression-compile-tmp/imp918s.imp"
goto U_107c;
                                                                //   9609  Label1014:                                  !BIP UCRS    RRS FORMAT
#line 9609 "regression-compile-tmp/imp918s.imp"
U_109d:;
                                                                //   9610           J=66; K=69; ->Label131
#line 9610 "regression-compile-tmp/imp918s.imp"
J = 66;
#line 9610 "regression-compile-tmp/imp918s.imp"
K = 69;
#line 9610 "regression-compile-tmp/imp918s.imp"
goto U_109b;
                                                                //   9611  Label1015:                                  !PHRASE UCSI STORE IMMEDIATE
#line 9611 "regression-compile-tmp/imp918s.imp"
U_109e:;
                                                                //   9612           J=71; K=83; ->Label131
#line 9612 "regression-compile-tmp/imp918s.imp"
J = 71;
#line 9612 "regression-compile-tmp/imp918s.imp"
K = 83;
#line 9612 "regression-compile-tmp/imp918s.imp"
goto U_109b;
                                                                //   9613  Label1016:                                  !PHRASE UCSHIFT
#line 9613 "regression-compile-tmp/imp918s.imp"
U_109f:;
                                                                //   9614  !%if USE MC = 1 %start
                                                                //   9615  !         *CLI_S+3,'A';*BC_8,<161>
                                                                //   9616  !         *CLI_S+3,'L';*BC_7,<3>
                                                                //   9617  !%finish
                                                                //   9618  Label161:     J=85;K=92; ->Label131
#line 9618 "regression-compile-tmp/imp918s.imp"
U_10a0:;
#line 9618 "regression-compile-tmp/imp918s.imp"
J = 85;
#line 9618 "regression-compile-tmp/imp918s.imp"
K = 92;
#line 9618 "regression-compile-tmp/imp918s.imp"
goto U_109b;
                                                                //   9619  Label1017:                                  !PHRASE UCSS - STORE-TO-STORE
#line 9619 "regression-compile-tmp/imp918s.imp"
U_10a1:;
                                                                //   9620           J=94; K=106; ->Label131
#line 9620 "regression-compile-tmp/imp918s.imp"
J = 94;
#line 9620 "regression-compile-tmp/imp918s.imp"
K = 106;
#line 9620 "regression-compile-tmp/imp918s.imp"
goto U_109b;
                                                                //   9621  Label1018:                                  !PHRASE UCPD PACKED DECIMAL
#line 9621 "regression-compile-tmp/imp918s.imp"
U_10a2:;
                                                                //   9622           J=108; K=116; ->Label131
#line 9622 "regression-compile-tmp/imp918s.imp"
J = 108;
#line 9622 "regression-compile-tmp/imp918s.imp"
K = 116;
#line 9622 "regression-compile-tmp/imp918s.imp"
goto U_109b;
                                                                //   9623  Label1019:                                  !UCSPEC - THE FUNNIES.
#line 9623 "regression-compile-tmp/imp918s.imp"
U_10a3:;
                                                                //   9624           J=118; K=120; ->Label131
#line 9624 "regression-compile-tmp/imp918s.imp"
J = 118;
#line 9624 "regression-compile-tmp/imp918s.imp"
K = 120;
#line 9624 "regression-compile-tmp/imp918s.imp"
goto U_109b;
                                                                //   9625  Label1021:                                     ! P<CHKIMPS>
#line 9625 "regression-compile-tmp/imp918s.imp"
U_10a4:;
                                                                //   9626           ->Label3 %UNLESS IMPS=1; ->Label2
#line 9626 "regression-compile-tmp/imp918s.imp"
if (((IMPS) == (1))) goto L_08ff;
#line 9626 "regression-compile-tmp/imp918s.imp"
goto U_1072;
#line 9626 "regression-compile-tmp/imp918s.imp"
L_08ff:;
#line 9626 "regression-compile-tmp/imp918s.imp"
goto U_107d;
                                                                //   9627                
                                                                //   9628  Label1022:                                   ! P(+')=+,-,\,0;
#line 9628 "regression-compile-tmp/imp918s.imp"
U_10a5:;
                                                                //   9629  !         I=BYTEINTEGER(QP)
                                                                //   9630  !         %IF I='+' %THEN A(R)=1 %AND QP=QP+1 %AND ->Label1
                                                                //   9631  !         %IF I='-' %THEN A(R)=2 %AND QP=QP+1 %AND ->Label1
                                                                //   9632  !         %IF I='\' %THEN QP=QP+1 %AND A(R)=3 %AND ->Label1
                                                                //   9633  !         A(R)=4
                                                                //   9634  !         ->Label1
                                                                //   9635  !%if USE MC = 1 %start
                                                                //   9636  !         *CLI_0(6),'+'; *BC_8,<10221>
                                                                //   9637  !         *CLI_0(6),'-'; *BC_8,<10222>
                                                                //   9638  !         *CLI_0(6),'\'; *BC_8,<10223>
                                                                //   9639  !         *LA_3,4; *L_2,R; *LA_2,1(2); *ST_2,R
                                                                //   9640  !         *AR_2,2; *STH_3,A+28(2)
                                                                //   9641  !         *LA_1,4(1); *BC_15,<12>
                                                                //   9642  !%finish
                                                                //   9643  Label10221:   A(R)=1; QP=QP+1; ->Label1
#line 9643 "regression-compile-tmp/imp918s.imp"
U_10a6:;
#line 9643 "regression-compile-tmp/imp918s.imp"
A[((R) + ((int)(7)))] = 1;
#line 9643 "regression-compile-tmp/imp918s.imp"
QP = (((int)(QP)) + (1));
#line 9643 "regression-compile-tmp/imp918s.imp"
goto U_107c;
                                                                //   9644  Label10222:   A(R)=2; QP=QP+1; ->Label1
#line 9644 "regression-compile-tmp/imp918s.imp"
U_10a7:;
#line 9644 "regression-compile-tmp/imp918s.imp"
A[((R) + ((int)(7)))] = 2;
#line 9644 "regression-compile-tmp/imp918s.imp"
QP = (((int)(QP)) + (1));
#line 9644 "regression-compile-tmp/imp918s.imp"
goto U_107c;
                                                                //   9645  Label10223:   A(R)=3; QP=QP+1; ->Label1
#line 9645 "regression-compile-tmp/imp918s.imp"
U_10a8:;
#line 9645 "regression-compile-tmp/imp918s.imp"
A[((R) + ((int)(7)))] = 3;
#line 9645 "regression-compile-tmp/imp918s.imp"
QP = (((int)(QP)) + (1));
#line 9645 "regression-compile-tmp/imp918s.imp"
goto U_107c;
                                                                //   9646  Label1023:                                   ! P(OP)=**,+,-,!!,!,*,//,/,
#line 9646 "regression-compile-tmp/imp918s.imp"
U_10a9:;
                                                                //   9647                                          ! &,>>,<<,.;
                                                                //   9648           I=BYTEINTEGER(QP)
#line 9648 "regression-compile-tmp/imp918s.imp"
I = *_imp_BYTEINTEGER(QP);
                                                                //   9649           ->Label3 %UNLESS X'80000000'>>(I-32)&X'4237000A'#0
#line 9649 "regression-compile-tmp/imp918s.imp"
if ((((((int)((((unsigned int)((-2147483648))) >> ((((int)(I)) - (32)))))) & (1110900746))) != (0))) goto L_0900;
#line 9649 "regression-compile-tmp/imp918s.imp"
goto U_1072;
#line 9649 "regression-compile-tmp/imp918s.imp"
L_0900:;
                                                                //   9650           QP=QP+1
#line 9650 "regression-compile-tmp/imp918s.imp"
QP = (((int)(QP)) + (1));
                                                                //   9651           %IF I='+' %THEN A(R)=2 %AND ->Label1
#line 9651 "regression-compile-tmp/imp918s.imp"
if (((I) != (43))) goto L_0901;
#line 9651 "regression-compile-tmp/imp918s.imp"
A[((R) + ((int)(7)))] = 2;
#line 9651 "regression-compile-tmp/imp918s.imp"
goto U_107c;
#line 9651 "regression-compile-tmp/imp918s.imp"
L_0901:;
                                                                //   9652           %IF I='-' %THEN A(R)=3 %AND ->Label1
#line 9652 "regression-compile-tmp/imp918s.imp"
if (((I) != (45))) goto L_0902;
#line 9652 "regression-compile-tmp/imp918s.imp"
A[((R) + ((int)(7)))] = 3;
#line 9652 "regression-compile-tmp/imp918s.imp"
goto U_107c;
#line 9652 "regression-compile-tmp/imp918s.imp"
L_0902:;
                                                                //   9653           J=BYTEINTEGER(QP)
#line 9653 "regression-compile-tmp/imp918s.imp"
J = *_imp_BYTEINTEGER(QP);
                                                                //   9654           %IF I='*' %THEN %START
#line 9654 "regression-compile-tmp/imp918s.imp"
if (((I) != (42))) goto L_0903;
                                                                //   9655              %IF J#I %THEN A(R)=6 %AND ->Label1
#line 9655 "regression-compile-tmp/imp918s.imp"
if (((J) == (I))) goto L_0904;
#line 9655 "regression-compile-tmp/imp918s.imp"
A[((R) + ((int)(7)))] = 6;
#line 9655 "regression-compile-tmp/imp918s.imp"
goto U_107c;
#line 9655 "regression-compile-tmp/imp918s.imp"
L_0904:;
                                                                //   9656              A(R)=1; QP=QP+1; ->Label1
#line 9656 "regression-compile-tmp/imp918s.imp"
A[((R) + ((int)(7)))] = 1;
#line 9656 "regression-compile-tmp/imp918s.imp"
QP = (((int)(QP)) + (1));
#line 9656 "regression-compile-tmp/imp918s.imp"
goto U_107c;
                                                                //   9657           %FINISH
#line 9657 "regression-compile-tmp/imp918s.imp"
L_0903:;
                                                                //   9658           %IF I='/' %THEN %START
#line 9658 "regression-compile-tmp/imp918s.imp"
if (((I) != (47))) goto L_0905;
                                                                //   9659              %IF J#I %THEN A(R)=8 %AND ->Label1
#line 9659 "regression-compile-tmp/imp918s.imp"
if (((J) == (I))) goto L_0906;
#line 9659 "regression-compile-tmp/imp918s.imp"
A[((R) + ((int)(7)))] = 8;
#line 9659 "regression-compile-tmp/imp918s.imp"
goto U_107c;
#line 9659 "regression-compile-tmp/imp918s.imp"
L_0906:;
                                                                //   9660              A(R)=7; QP=QP+1; ->Label1
#line 9660 "regression-compile-tmp/imp918s.imp"
A[((R) + ((int)(7)))] = 7;
#line 9660 "regression-compile-tmp/imp918s.imp"
QP = (((int)(QP)) + (1));
#line 9660 "regression-compile-tmp/imp918s.imp"
goto U_107c;
                                                                //   9661           %FINISH
#line 9661 "regression-compile-tmp/imp918s.imp"
L_0905:;
                                                                //   9662           %IF I='!' %THEN %START
#line 9662 "regression-compile-tmp/imp918s.imp"
if (((I) != (33))) goto L_0907;
                                                                //   9663              %IF J#I %THEN A(R)=5 %AND ->Label1
#line 9663 "regression-compile-tmp/imp918s.imp"
if (((J) == (I))) goto L_0908;
#line 9663 "regression-compile-tmp/imp918s.imp"
A[((R) + ((int)(7)))] = 5;
#line 9663 "regression-compile-tmp/imp918s.imp"
goto U_107c;
#line 9663 "regression-compile-tmp/imp918s.imp"
L_0908:;
                                                                //   9664              A(R)=4; QP=QP+1; ->Label1
#line 9664 "regression-compile-tmp/imp918s.imp"
A[((R) + ((int)(7)))] = 4;
#line 9664 "regression-compile-tmp/imp918s.imp"
QP = (((int)(QP)) + (1));
#line 9664 "regression-compile-tmp/imp918s.imp"
goto U_107c;
                                                                //   9665           %FINISH
#line 9665 "regression-compile-tmp/imp918s.imp"
L_0907:;
                                                                //   9666           %IF I='&' %THEN A(R)=9 %AND ->Label1
#line 9666 "regression-compile-tmp/imp918s.imp"
if (((I) != (38))) goto L_0909;
#line 9666 "regression-compile-tmp/imp918s.imp"
A[((R) + ((int)(7)))] = 9;
#line 9666 "regression-compile-tmp/imp918s.imp"
goto U_107c;
#line 9666 "regression-compile-tmp/imp918s.imp"
L_0909:;
                                                                //   9667           %IF I='.' %THEN A(R)=12 %AND ->Label1
#line 9667 "regression-compile-tmp/imp918s.imp"
if (((I) != (46))) goto L_090a;
#line 9667 "regression-compile-tmp/imp918s.imp"
A[((R) + ((int)(7)))] = 12;
#line 9667 "regression-compile-tmp/imp918s.imp"
goto U_107c;
#line 9667 "regression-compile-tmp/imp918s.imp"
L_090a:;
                                                                //   9668           %IF I=J='<' %THEN A(R)=11 %AND QP=QP+1 %AND ->Label1
#line 9668 "regression-compile-tmp/imp918s.imp"
if ((((I) != (J))) || (((J) != (60)))) goto L_090b;
#line 9668 "regression-compile-tmp/imp918s.imp"
A[((R) + ((int)(7)))] = 11;
#line 9668 "regression-compile-tmp/imp918s.imp"
QP = (((int)(QP)) + (1));
#line 9668 "regression-compile-tmp/imp918s.imp"
goto U_107c;
#line 9668 "regression-compile-tmp/imp918s.imp"
L_090b:;
                                                                //   9669           %IF I=J='>' %THEN A(R)=10 %AND QP=QP+1 %AND ->Label1
#line 9669 "regression-compile-tmp/imp918s.imp"
if ((((I) != (J))) || (((J) != (62)))) goto L_090c;
#line 9669 "regression-compile-tmp/imp918s.imp"
A[((R) + ((int)(7)))] = 10;
#line 9669 "regression-compile-tmp/imp918s.imp"
QP = (((int)(QP)) + (1));
#line 9669 "regression-compile-tmp/imp918s.imp"
goto U_107c;
#line 9669 "regression-compile-tmp/imp918s.imp"
L_090c:;
                                                                //   9670           ->Label3
#line 9670 "regression-compile-tmp/imp918s.imp"
goto U_1072;
                                                                //   9671  Label1024:                                   ! P(ASSOP)='==','=','<-','->'
#line 9671 "regression-compile-tmp/imp918s.imp"
U_10aa:;
                                                                //   9672           I=BYTEINTEGER(QP)
#line 9672 "regression-compile-tmp/imp918s.imp"
I = *_imp_BYTEINTEGER(QP);
                                                                //   9673           ->Label3 %UNLESS X'80000000'>>(I-32)&X'4000C'#0
#line 9673 "regression-compile-tmp/imp918s.imp"
if ((((((int)((((unsigned int)((-2147483648))) >> ((((int)(I)) - (32)))))) & (262156))) != (0))) goto L_090d;
#line 9673 "regression-compile-tmp/imp918s.imp"
goto U_1072;
#line 9673 "regression-compile-tmp/imp918s.imp"
L_090d:;
                                                                //   9674           QP=QP+1; J=BYTEINTEGER(QP)
#line 9674 "regression-compile-tmp/imp918s.imp"
QP = (((int)(QP)) + (1));
#line 9674 "regression-compile-tmp/imp918s.imp"
J = *_imp_BYTEINTEGER(QP);
                                                                //   9675           %IF I='=' %THEN %START
#line 9675 "regression-compile-tmp/imp918s.imp"
if (((I) != (61))) goto L_090e;
                                                                //   9676              %IF J=I %THEN QP=QP+1 %AND  A(R)=1 %AND ->Label1
#line 9676 "regression-compile-tmp/imp918s.imp"
if (((J) != (I))) goto L_090f;
#line 9676 "regression-compile-tmp/imp918s.imp"
QP = (((int)(QP)) + (1));
#line 9676 "regression-compile-tmp/imp918s.imp"
A[((R) + ((int)(7)))] = 1;
#line 9676 "regression-compile-tmp/imp918s.imp"
goto U_107c;
#line 9676 "regression-compile-tmp/imp918s.imp"
L_090f:;
                                                                //   9677              A(R)=2; ->Label1
#line 9677 "regression-compile-tmp/imp918s.imp"
A[((R) + ((int)(7)))] = 2;
#line 9677 "regression-compile-tmp/imp918s.imp"
goto U_107c;
                                                                //   9678           %FINISH
#line 9678 "regression-compile-tmp/imp918s.imp"
L_090e:;
                                                                //   9679           %IF I='<' %AND J='-' %THEN A(R)=3 %AND QP=QP+1 %AND ->Label1
#line 9679 "regression-compile-tmp/imp918s.imp"
if (((I) != (60))) goto L_0910;
#line 9679 "regression-compile-tmp/imp918s.imp"
if (((J) != (45))) goto L_0910;
#line 9679 "regression-compile-tmp/imp918s.imp"
A[((R) + ((int)(7)))] = 3;
#line 9679 "regression-compile-tmp/imp918s.imp"
QP = (((int)(QP)) + (1));
#line 9679 "regression-compile-tmp/imp918s.imp"
goto U_107c;
#line 9679 "regression-compile-tmp/imp918s.imp"
L_0910:;
                                                                //   9680           %IF I='-' %AND J='>' %THEN A(R)=4 %AND QP=QP+1 %AND ->Label1
#line 9680 "regression-compile-tmp/imp918s.imp"
if (((I) != (45))) goto L_0911;
#line 9680 "regression-compile-tmp/imp918s.imp"
if (((J) != (62))) goto L_0911;
#line 9680 "regression-compile-tmp/imp918s.imp"
A[((R) + ((int)(7)))] = 4;
#line 9680 "regression-compile-tmp/imp918s.imp"
QP = (((int)(QP)) + (1));
#line 9680 "regression-compile-tmp/imp918s.imp"
goto U_107c;
#line 9680 "regression-compile-tmp/imp918s.imp"
L_0911:;
                                                                //   9681           ->Label3
#line 9681 "regression-compile-tmp/imp918s.imp"
goto U_1072;
                                                                //   9682  
                                                                //   9683  Label1025:                                   ! P(COMP)= =,>=,>,#,<=,<,\=,->
#line 9683 "regression-compile-tmp/imp918s.imp"
U_10ab:;
                                                                //   9684           I=BYTEINTEGER(QP)
#line 9684 "regression-compile-tmp/imp918s.imp"
I = *_imp_BYTEINTEGER(QP);
                                                                //   9685           ->Label3 %UNLESS I=92 %OR %C
#line 9685 "regression-compile-tmp/imp918s.imp"
if (((I) == (92))) goto L_0912;
#line 9685 "regression-compile-tmp/imp918s.imp"
if ((((((int)((((unsigned int)((-2147483648))) >> ((((int)(I)) - (32)))))) & (268697614))) != (0))) goto L_0912;
#line 9685 "regression-compile-tmp/imp918s.imp"
goto U_1072;
#line 9685 "regression-compile-tmp/imp918s.imp"
L_0912:;
                                                                //   9686              X'80000000'>>(I-32)&X'1004000E'#0
                                                                //   9687           QP=QP+1
#line 9687 "regression-compile-tmp/imp918s.imp"
QP = (((int)(QP)) + (1));
                                                                //   9688           %IF I='=' %THEN A(R)=1 %AND ->Label1
#line 9688 "regression-compile-tmp/imp918s.imp"
if (((I) != (61))) goto L_0913;
#line 9688 "regression-compile-tmp/imp918s.imp"
A[((R) + ((int)(7)))] = 1;
#line 9688 "regression-compile-tmp/imp918s.imp"
goto U_107c;
#line 9688 "regression-compile-tmp/imp918s.imp"
L_0913:;
                                                                //   9689           %IF I='#' %THEN A(R)=4 %AND ->Label1
#line 9689 "regression-compile-tmp/imp918s.imp"
if (((I) != (35))) goto L_0914;
#line 9689 "regression-compile-tmp/imp918s.imp"
A[((R) + ((int)(7)))] = 4;
#line 9689 "regression-compile-tmp/imp918s.imp"
goto U_107c;
#line 9689 "regression-compile-tmp/imp918s.imp"
L_0914:;
                                                                //   9690           J=BYTEINTEGER(QP)
#line 9690 "regression-compile-tmp/imp918s.imp"
J = *_imp_BYTEINTEGER(QP);
                                                                //   9691           %IF I='>' %THEN %START
#line 9691 "regression-compile-tmp/imp918s.imp"
if (((I) != (62))) goto L_0915;
                                                                //   9692              %IF J='=' %THEN QP=QP+1 %AND A(R)=2 %AND ->Label1
#line 9692 "regression-compile-tmp/imp918s.imp"
if (((J) != (61))) goto L_0916;
#line 9692 "regression-compile-tmp/imp918s.imp"
QP = (((int)(QP)) + (1));
#line 9692 "regression-compile-tmp/imp918s.imp"
A[((R) + ((int)(7)))] = 2;
#line 9692 "regression-compile-tmp/imp918s.imp"
goto U_107c;
#line 9692 "regression-compile-tmp/imp918s.imp"
L_0916:;
                                                                //   9693              A(R)=3; ->Label1
#line 9693 "regression-compile-tmp/imp918s.imp"
A[((R) + ((int)(7)))] = 3;
#line 9693 "regression-compile-tmp/imp918s.imp"
goto U_107c;
                                                                //   9694           %FINISH
#line 9694 "regression-compile-tmp/imp918s.imp"
L_0915:;
                                                                //   9695           %IF I='<' %THEN %START
#line 9695 "regression-compile-tmp/imp918s.imp"
if (((I) != (60))) goto L_0917;
                                                                //   9696              %IF J='=' %THEN QP=QP+1 %AND A(R)=5 %AND ->Label1
#line 9696 "regression-compile-tmp/imp918s.imp"
if (((J) != (61))) goto L_0918;
#line 9696 "regression-compile-tmp/imp918s.imp"
QP = (((int)(QP)) + (1));
#line 9696 "regression-compile-tmp/imp918s.imp"
A[((R) + ((int)(7)))] = 5;
#line 9696 "regression-compile-tmp/imp918s.imp"
goto U_107c;
#line 9696 "regression-compile-tmp/imp918s.imp"
L_0918:;
                                                                //   9697              A(R)=6; ->Label1
#line 9697 "regression-compile-tmp/imp918s.imp"
A[((R) + ((int)(7)))] = 6;
#line 9697 "regression-compile-tmp/imp918s.imp"
goto U_107c;
                                                                //   9698           %FINISH
#line 9698 "regression-compile-tmp/imp918s.imp"
L_0917:;
                                                                //   9699           %IF I=92 %AND J='=' %THEN QP=QP+1 %AND A(R)=7 %AND ->Label1
#line 9699 "regression-compile-tmp/imp918s.imp"
if (((I) != (92))) goto L_0919;
#line 9699 "regression-compile-tmp/imp918s.imp"
if (((J) != (61))) goto L_0919;
#line 9699 "regression-compile-tmp/imp918s.imp"
QP = (((int)(QP)) + (1));
#line 9699 "regression-compile-tmp/imp918s.imp"
A[((R) + ((int)(7)))] = 7;
#line 9699 "regression-compile-tmp/imp918s.imp"
goto U_107c;
#line 9699 "regression-compile-tmp/imp918s.imp"
L_0919:;
                                                                //   9700           %IF I='-' %AND J='>' %THEN QP=QP+1 %AND A(R)=8 %AND ->Label1
#line 9700 "regression-compile-tmp/imp918s.imp"
if (((I) != (45))) goto L_091a;
#line 9700 "regression-compile-tmp/imp918s.imp"
if (((J) != (62))) goto L_091a;
#line 9700 "regression-compile-tmp/imp918s.imp"
QP = (((int)(QP)) + (1));
#line 9700 "regression-compile-tmp/imp918s.imp"
A[((R) + ((int)(7)))] = 8;
#line 9700 "regression-compile-tmp/imp918s.imp"
goto U_107c;
#line 9700 "regression-compile-tmp/imp918s.imp"
L_091a:;
                                                                //   9701           ->Label3
#line 9701 "regression-compile-tmp/imp918s.imp"
goto U_1072;
                                                                //   9702  %END                    ;! OF ROUTINE 'COMPARE'
#line 9702 "regression-compile-tmp/imp918s.imp"
return;
} // End of block COMPARE at level 2
                                                                //   9703  !%finish
                                                                //   9704           %ENDOFPROGRAM
#line 9704 "regression-compile-tmp/imp918s.imp"
/* Remove %on %event handler here if present for this block */
return 0;
} // End of block _imp_main at level 1
#line 9704 "regression-compile-tmp/imp918s.imp"
// End of file
