#include <perms.h>

                                                                //      1  %control 0
                                                                //      2  %externalroutine printstring(%string(255) text)
#line 2 "regression-bugs-tmp/ioprocs.imp"
void PRINTSTRING( _imp_string /*%string(255)*/ TEXT )
#line 2 "regression-bugs-tmp/ioprocs.imp"
{
                                                                //      3     %integer p, l
#line 3 "regression-bugs-tmp/ioprocs.imp"
int P;
#line 3 "regression-bugs-tmp/ioprocs.imp"
int L;
                                                                //      4     p = 0;  l = length(text)
#line 4 "regression-bugs-tmp/ioprocs.imp"
P = 0;
#line 4 "regression-bugs-tmp/ioprocs.imp"
L = *_imp_LENGTH(&TEXT);
                                                                //      5     %while p # l %cycle
#line 5 "regression-bugs-tmp/ioprocs.imp"
L_0002:;
#line 5 "regression-bugs-tmp/ioprocs.imp"
if (((P) == (L))) goto L_0003;
                                                                //      6        p = p+1;  printsymbol(charno(text, p))
#line 6 "regression-bugs-tmp/ioprocs.imp"
P = (((int)(P)) + (1));
#line 6 "regression-bugs-tmp/ioprocs.imp"
_imp_PRINTSYMBOL(*_imp_CHARNO(&TEXT, P));
                                                                //      7     %repeat
#line 7 "regression-bugs-tmp/ioprocs.imp"
goto L_0002;
#line 7 "regression-bugs-tmp/ioprocs.imp"
L_0003:;
                                                                //      8  %end
#line 8 "regression-bugs-tmp/ioprocs.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block PRINTSTRING at level 1
                                                                //      9  %externalroutine read string(%string(255)%name s)
#line 9 "regression-bugs-tmp/ioprocs.imp"
void READSTRING( _imp_string /*%string(255)*/ /*name*/*S )
#line 9 "regression-bugs-tmp/ioprocs.imp"
{
                                                                //     10     %integer sym, qu
#line 10 "regression-bugs-tmp/ioprocs.imp"
int SYM;
#line 10 "regression-bugs-tmp/ioprocs.imp"
int QU;
                                                                //     11     s = ""
#line 11 "regression-bugs-tmp/ioprocs.imp"
*S = _imp_str_literal("");
                                                                //     12     %cycle
#line 12 "regression-bugs-tmp/ioprocs.imp"
L_0005:;
                                                                //     13        readsymbol(sym)
#line 13 "regression-bugs-tmp/ioprocs.imp"
_imp_READSYMBOL(&SYM);
                                                                //     14     %repeat %until sym # nl %and sym # ' '
#line 14 "regression-bugs-tmp/ioprocs.imp"
if (((SYM) == (10))) goto L_0007;
#line 14 "regression-bugs-tmp/ioprocs.imp"
if (((SYM) != (32))) goto L_0006;
#line 14 "regression-bugs-tmp/ioprocs.imp"
L_0007:;
#line 14 "regression-bugs-tmp/ioprocs.imp"
goto L_0005;
#line 14 "regression-bugs-tmp/ioprocs.imp"
L_0006:;
                                                                //     15     %signal 3,2,sym %unless sym='"' %or sym = ''''
#line 15 "regression-bugs-tmp/ioprocs.imp"
if (((SYM) == (34))) goto L_0008;
#line 15 "regression-bugs-tmp/ioprocs.imp"
if (((SYM) == (39))) goto L_0008;
#line 15 "regression-bugs-tmp/ioprocs.imp"
_imp_signal(3, 2, SYM, "");
#line 15 "regression-bugs-tmp/ioprocs.imp"
L_0008:;
                                                                //     16     qu = sym
#line 16 "regression-bugs-tmp/ioprocs.imp"
QU = SYM;
                                                                //     17     %cycle
#line 17 "regression-bugs-tmp/ioprocs.imp"
L_0009:;
                                                                //     18        readsymbol(sym)
#line 18 "regression-bugs-tmp/ioprocs.imp"
_imp_READSYMBOL(&SYM);
                                                                //     19        %if sym = qu %start
#line 19 "regression-bugs-tmp/ioprocs.imp"
if (((SYM) != (QU))) goto L_000c;
                                                                //     20           %exit %if nextsymbol # qu
#line 20 "regression-bugs-tmp/ioprocs.imp"
if (((_imp_NEXTSYMBOL()) == (QU))) goto L_000d;
#line 20 "regression-bugs-tmp/ioprocs.imp"
goto L_000a;
#line 20 "regression-bugs-tmp/ioprocs.imp"
L_000d:;
                                                                //     21           readsymbol(sym)
#line 21 "regression-bugs-tmp/ioprocs.imp"
_imp_READSYMBOL(&SYM);
                                                                //     22           %finish
#line 22 "regression-bugs-tmp/ioprocs.imp"
L_000c:;
                                                                //     23        s=s.tostring(sym)
#line 23 "regression-bugs-tmp/ioprocs.imp"
*S = _imp_join((_imp_string)*S,(_imp_string)_imp_TOSTRING(SYM));
                                                                //     24     %repeat
#line 24 "regression-bugs-tmp/ioprocs.imp"
goto L_0009;
#line 24 "regression-bugs-tmp/ioprocs.imp"
L_000a:;
                                                                //     25  %end
#line 25 "regression-bugs-tmp/ioprocs.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block READSTRING at level 1
                                                                //     26  
                                                                //     27  %externalstring(1)%fn nextitem
#line 27 "regression-bugs-tmp/ioprocs.imp"
_imp_string /*%string(1)*/ NEXTITEM( void )
#line 27 "regression-bugs-tmp/ioprocs.imp"
{
                                                                //     28    %result=tostring(nextsymbol)
#line 28 "regression-bugs-tmp/ioprocs.imp"
/* Remove %on %event handler here if present for this block */
return _imp_TOSTRING(_imp_NEXTSYMBOL());
                                                                //     29  %end
#line 29 "regression-bugs-tmp/ioprocs.imp"
} // End of block NEXTITEM at level 1
                                                                //     30  
                                                                //     31  %externalroutine skipitem
#line 31 "regression-bugs-tmp/ioprocs.imp"
void SKIPITEM( void )
#line 31 "regression-bugs-tmp/ioprocs.imp"
{
                                                                //     32     %integer s
#line 32 "regression-bugs-tmp/ioprocs.imp"
int S;
                                                                //     33     readsymbol(s)
#line 33 "regression-bugs-tmp/ioprocs.imp"
_imp_READSYMBOL(&S);
                                                                //     34  %end
#line 34 "regression-bugs-tmp/ioprocs.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block SKIPITEM at level 1
                                                                //     35  
                                                                //     36  %externalroutine readitem(%string(1)%name s)
#line 36 "regression-bugs-tmp/ioprocs.imp"
void READITEM( _imp_string /*%string(1)*/ /*name*/*S )
#line 36 "regression-bugs-tmp/ioprocs.imp"
{
                                                                //     37  %integer k
#line 37 "regression-bugs-tmp/ioprocs.imp"
int K;
                                                                //     38   readsymbol(K); s=tostring(k)
#line 38 "regression-bugs-tmp/ioprocs.imp"
_imp_READSYMBOL(&K);
#line 38 "regression-bugs-tmp/ioprocs.imp"
*S = _imp_TOSTRING(K);
                                                                //     39  %end
#line 39 "regression-bugs-tmp/ioprocs.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block READITEM at level 1
                                                                //     40  
                                                                //     41  %externalstring(63)%fn itos(%integer n, p)
#line 41 "regression-bugs-tmp/ioprocs.imp"
_imp_string /*%string(63)*/ ITOS( int N, int P )
#line 41 "regression-bugs-tmp/ioprocs.imp"
{
                                                                //     42     %string(255) answer
#line 42 "regression-bugs-tmp/ioprocs.imp"
_imp_string /*%string(255)*/ ANSWER;
                                                                //     43     %byteintegerarray a(0:64)
#line 43 "regression-bugs-tmp/ioprocs.imp"
unsigned char A[65];
                                                                //     44     %integer sign, sym, pt, val
#line 44 "regression-bugs-tmp/ioprocs.imp"
int SIGN;
#line 44 "regression-bugs-tmp/ioprocs.imp"
int SYM;
#line 44 "regression-bugs-tmp/ioprocs.imp"
int PT;
#line 44 "regression-bugs-tmp/ioprocs.imp"
int VAL;
                                                                //     45     val = p
#line 45 "regression-bugs-tmp/ioprocs.imp"
VAL = P;
                                                                //     46     %if p > 0 %then p = p+1 %else p = -p
#line 46 "regression-bugs-tmp/ioprocs.imp"
if (((P) <= (0))) goto L_000e;
#line 46 "regression-bugs-tmp/ioprocs.imp"
P = (((int)(P)) + (1));
#line 46 "regression-bugs-tmp/ioprocs.imp"
goto L_000f;
#line 46 "regression-bugs-tmp/ioprocs.imp"
L_000e:;
#line 46 "regression-bugs-tmp/ioprocs.imp"
P = (-(P));
#line 46 "regression-bugs-tmp/ioprocs.imp"
L_000f:;
                                                                //     47     p = 63 %if p > 63
#line 47 "regression-bugs-tmp/ioprocs.imp"
if (((P) <= (63))) goto L_0010;
#line 47 "regression-bugs-tmp/ioprocs.imp"
P = 63;
#line 47 "regression-bugs-tmp/ioprocs.imp"
L_0010:;
                                                                //     48     sign = ' '
#line 48 "regression-bugs-tmp/ioprocs.imp"
SIGN = 32;
                                                                //     49     sign = 0 %if val <= 0
#line 49 "regression-bugs-tmp/ioprocs.imp"
if (((VAL) > (0))) goto L_0011;
#line 49 "regression-bugs-tmp/ioprocs.imp"
SIGN = 0;
#line 49 "regression-bugs-tmp/ioprocs.imp"
L_0011:;
                                                                //     50     pt = 0
#line 50 "regression-bugs-tmp/ioprocs.imp"
PT = 0;
                                                                //     51     %if n < 0 %start
#line 51 "regression-bugs-tmp/ioprocs.imp"
if (((N) >= (0))) goto L_0012;
                                                                //     52        sign = '-'
#line 52 "regression-bugs-tmp/ioprocs.imp"
SIGN = 45;
                                                                //     53        %if n = 16_80000000 %start
#line 53 "regression-bugs-tmp/ioprocs.imp"
if (((N) != ((-2147483648)))) goto L_0013;
                                                                //     54           string(addr(a(pt))) = "8463847412"
#line 54 "regression-bugs-tmp/ioprocs.imp"
*_imp_STRING(_imp_ADDR(&A[PT])) = _imp_str_literal("8463847412");
                                                                //     55           pt = pt + 10
#line 55 "regression-bugs-tmp/ioprocs.imp"
PT = (((int)(PT)) + (10));
                                                                //     56           -> set
#line 56 "regression-bugs-tmp/ioprocs.imp"
goto U_1000;
                                                                //     57           %finish
#line 57 "regression-bugs-tmp/ioprocs.imp"
L_0013:;
                                                                //     58        n = -n
#line 58 "regression-bugs-tmp/ioprocs.imp"
N = (-(N));
                                                                //     59        %finish
#line 59 "regression-bugs-tmp/ioprocs.imp"
L_0012:;
                                                                //     60     %cycle
#line 60 "regression-bugs-tmp/ioprocs.imp"
L_0014:;
                                                                //     61        sym = n-n//10*10
#line 61 "regression-bugs-tmp/ioprocs.imp"
SYM = ((N) - (((((long)((long)((int)(N)) / (long)((int)(10))))) * (10))));
                                                                //     62        pt = pt+1
#line 62 "regression-bugs-tmp/ioprocs.imp"
PT = (((int)(PT)) + (1));
                                                                //     63        a(pt) = sym+'0'
#line 63 "regression-bugs-tmp/ioprocs.imp"
A[PT] = (((int)(SYM)) + (48));
                                                                //     64        n = n//10
#line 64 "regression-bugs-tmp/ioprocs.imp"
N = (long)((long)((int)(N)) / (long)((int)(10)));
                                                                //     65     %repeat %until n = 0
#line 65 "regression-bugs-tmp/ioprocs.imp"
if (((N) == (0))) goto L_0015;
#line 65 "regression-bugs-tmp/ioprocs.imp"
goto L_0014;
#line 65 "regression-bugs-tmp/ioprocs.imp"
L_0015:;
                                                                //     66    set:
#line 66 "regression-bugs-tmp/ioprocs.imp"
U_1000:;
                                                                //     67     %if sign # 0 %start
#line 67 "regression-bugs-tmp/ioprocs.imp"
if (((SIGN) == (0))) goto L_0017;
                                                                //     68        pt = pt+1;  a(pt) = sign
#line 68 "regression-bugs-tmp/ioprocs.imp"
PT = (((int)(PT)) + (1));
#line 68 "regression-bugs-tmp/ioprocs.imp"
A[PT] = SIGN;
                                                                //     69     %finish
#line 69 "regression-bugs-tmp/ioprocs.imp"
L_0017:;
                                                                //     70     %while pt < p %cycle
#line 70 "regression-bugs-tmp/ioprocs.imp"
L_0018:;
#line 70 "regression-bugs-tmp/ioprocs.imp"
if (((PT) >= (P))) goto L_0019;
                                                                //     71        pt = pt+1;  a(pt) = ' '
#line 71 "regression-bugs-tmp/ioprocs.imp"
PT = (((int)(PT)) + (1));
#line 71 "regression-bugs-tmp/ioprocs.imp"
A[PT] = 32;
                                                                //     72     %repeat
#line 72 "regression-bugs-tmp/ioprocs.imp"
goto L_0018;
#line 72 "regression-bugs-tmp/ioprocs.imp"
L_0019:;
                                                                //     73     answer = ""
#line 73 "regression-bugs-tmp/ioprocs.imp"
ANSWER = _imp_str_literal("");
                                                                //     74     %cycle
#line 74 "regression-bugs-tmp/ioprocs.imp"
L_001b:;
                                                                //     75        answer = answer.tostring(a(pt))
#line 75 "regression-bugs-tmp/ioprocs.imp"
ANSWER = _imp_join((_imp_string)ANSWER,(_imp_string)_imp_TOSTRING(A[PT]));
                                                                //     76        pt = pt-1
#line 76 "regression-bugs-tmp/ioprocs.imp"
PT = (((int)(PT)) - (1));
                                                                //     77     %repeat %until pt = 0
#line 77 "regression-bugs-tmp/ioprocs.imp"
if (((PT) == (0))) goto L_001c;
#line 77 "regression-bugs-tmp/ioprocs.imp"
goto L_001b;
#line 77 "regression-bugs-tmp/ioprocs.imp"
L_001c:;
                                                                //     78     %result = answer
#line 78 "regression-bugs-tmp/ioprocs.imp"
/* Remove %on %event handler here if present for this block */
return ANSWER;
                                                                //     79  %end
#line 79 "regression-bugs-tmp/ioprocs.imp"
} // End of block ITOS at level 1
                                                                //     80  %externalroutine write(%integer n, p)
#line 80 "regression-bugs-tmp/ioprocs.imp"
void WRITE( int N, int P )
#line 80 "regression-bugs-tmp/ioprocs.imp"
{
                                                                //     81     space %and p = p-1 %while p > 62
#line 81 "regression-bugs-tmp/ioprocs.imp"
L_001e:;
#line 81 "regression-bugs-tmp/ioprocs.imp"
if (((P) <= (62))) goto L_001f;
#line 81 "regression-bugs-tmp/ioprocs.imp"
_imp_SPACE();
#line 81 "regression-bugs-tmp/ioprocs.imp"
P = (((int)(P)) - (1));
#line 81 "regression-bugs-tmp/ioprocs.imp"
goto L_001e;
#line 81 "regression-bugs-tmp/ioprocs.imp"
L_001f:;
                                                                //     82     printstring(itos(n, p))
#line 82 "regression-bugs-tmp/ioprocs.imp"
PRINTSTRING(ITOS(N, P));
                                                                //     83  %end
#line 83 "regression-bugs-tmp/ioprocs.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block WRITE at level 1
                                                                //     84  %externalroutine poctal(%integer n)
#line 84 "regression-bugs-tmp/ioprocs.imp"
void POCTAL( int N )
#line 84 "regression-bugs-tmp/ioprocs.imp"
{
                                                                //     85     %integer j
#line 85 "regression-bugs-tmp/ioprocs.imp"
int J;
                                                                //     86     %for j = 30, -3, 0 %cycle
#line 86 "regression-bugs-tmp/ioprocs.imp"
J = 33;
if ((((0)-(30)) % ((-3))) != 0) _imp_signal(5,1,0,"Illegal cycle J = 30, (-3), 0");
L_0021:;
if (J == 0) goto L_0022;
J += (-3);
                                                                //     87        printsymbol(n>>j&7+'0')
#line 87 "regression-bugs-tmp/ioprocs.imp"
_imp_PRINTSYMBOL((((int)((((int)((((unsigned int)(N)) >> (J)))) & (7)))) + (48)));
                                                                //     88     %repeat
#line 88 "regression-bugs-tmp/ioprocs.imp"
goto L_0021;
#line 88 "regression-bugs-tmp/ioprocs.imp"
L_0022:;
                                                                //     89  %end
#line 89 "regression-bugs-tmp/ioprocs.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block POCTAL at level 1
                                                                //     90  
                                                                //     91  %externalroutine read(%integer address, parm)
#line 91 "regression-bugs-tmp/ioprocs.imp"
void READ( int ADDRESS, int PARM )
#line 91 "regression-bugs-tmp/ioprocs.imp"
{
                                                                //     92     %integer type, sign, sym, limit, digit
#line 92 "regression-bugs-tmp/ioprocs.imp"
int TYPE;
#line 92 "regression-bugs-tmp/ioprocs.imp"
int SIGN;
#line 92 "regression-bugs-tmp/ioprocs.imp"
int SYM;
#line 92 "regression-bugs-tmp/ioprocs.imp"
int LIMIT;
#line 92 "regression-bugs-tmp/ioprocs.imp"
int DIGIT;
                                                                //     93     %longreal value, exp, base
#line 93 "regression-bugs-tmp/ioprocs.imp"
double VALUE;
#line 93 "regression-bugs-tmp/ioprocs.imp"
double EXP;
#line 93 "regression-bugs-tmp/ioprocs.imp"
double BASE;
                                                                //     94     %string(255) s
#line 94 "regression-bugs-tmp/ioprocs.imp"
_imp_string /*%string(255)*/ S;
                                                                //     95     base = 10.0
#line 95 "regression-bugs-tmp/ioprocs.imp"
BASE = 10.0;
                                                                //     96     type = parm>>24
#line 96 "regression-bugs-tmp/ioprocs.imp"
TYPE = (int)((((unsigned int)(PARM)) >> (24)));
                                                                //     97     %if type # 16_10 %and type#64 %and type # 16_23 %andc
#line 97 "regression-bugs-tmp/ioprocs.imp"
if (((TYPE) == (16))) goto L_0024;
#line 97 "regression-bugs-tmp/ioprocs.imp"
if (((TYPE) == (64))) goto L_0024;
#line 97 "regression-bugs-tmp/ioprocs.imp"
if (((TYPE) == (35))) goto L_0024;
#line 97 "regression-bugs-tmp/ioprocs.imp"
if (((TYPE) == (36))) goto L_0024;
                                                                //     98                                        type # 16_24 %start
                                                                //     99        %signal  5,5,type %unless type = 16_11 %or type = 16_12
#line 99 "regression-bugs-tmp/ioprocs.imp"
if (((TYPE) == (17))) goto L_0025;
#line 99 "regression-bugs-tmp/ioprocs.imp"
if (((TYPE) == (18))) goto L_0025;
#line 99 "regression-bugs-tmp/ioprocs.imp"
_imp_signal(5, 5, TYPE, "");
#line 99 "regression-bugs-tmp/ioprocs.imp"
L_0025:;
                                                                //    100     %finish
#line 100 "regression-bugs-tmp/ioprocs.imp"
L_0024:;
                                                                //    101     %if type = 64 %start; ! string
#line 101 "regression-bugs-tmp/ioprocs.imp"
if (((TYPE) != (64))) goto L_0026;
                                                                //    102        limit = parm&16_00ffffff -1;    ! max length
#line 102 "regression-bugs-tmp/ioprocs.imp"
LIMIT = (((int)(((PARM) & (16777215)))) - (1));
                                                                //    103        s="";  digit = 0
#line 103 "regression-bugs-tmp/ioprocs.imp"
S = _imp_str_literal("");
#line 103 "regression-bugs-tmp/ioprocs.imp"
DIGIT = 0;
                                                                //    104        %cycle
#line 104 "regression-bugs-tmp/ioprocs.imp"
L_0027:;
                                                                //    105           readsymbol(sym)
#line 105 "regression-bugs-tmp/ioprocs.imp"
_imp_READSYMBOL(&SYM);
                                                                //    106        %repeat %until sym#' ' %and sym # nl
#line 106 "regression-bugs-tmp/ioprocs.imp"
if (((SYM) == (32))) goto L_0029;
#line 106 "regression-bugs-tmp/ioprocs.imp"
if (((SYM) != (10))) goto L_0028;
#line 106 "regression-bugs-tmp/ioprocs.imp"
L_0029:;
#line 106 "regression-bugs-tmp/ioprocs.imp"
goto L_0027;
#line 106 "regression-bugs-tmp/ioprocs.imp"
L_0028:;
                                                                //    107        %cycle
#line 107 "regression-bugs-tmp/ioprocs.imp"
L_002a:;
                                                                //    108           s = s.tostring(sym)
#line 108 "regression-bugs-tmp/ioprocs.imp"
S = _imp_join((_imp_string)S,(_imp_string)_imp_TOSTRING(SYM));
                                                                //    109           digit=digit+1
#line 109 "regression-bugs-tmp/ioprocs.imp"
DIGIT = (((int)(DIGIT)) + (1));
                                                                //    110           sym = nextsymbol
#line 110 "regression-bugs-tmp/ioprocs.imp"
SYM = _imp_NEXTSYMBOL();
                                                                //    111           %exit %if sym = ' ' %or sym = nl
#line 111 "regression-bugs-tmp/ioprocs.imp"
if (((SYM) == (32))) goto L_002d;
#line 111 "regression-bugs-tmp/ioprocs.imp"
if (((SYM) != (10))) goto L_002e;
#line 111 "regression-bugs-tmp/ioprocs.imp"
L_002d:;
#line 111 "regression-bugs-tmp/ioprocs.imp"
goto L_002b;
#line 111 "regression-bugs-tmp/ioprocs.imp"
L_002e:;
                                                                //    112           skipsymbol
#line 112 "regression-bugs-tmp/ioprocs.imp"
_imp_SKIPSYMBOL();
                                                                //    113        %repeat
#line 113 "regression-bugs-tmp/ioprocs.imp"
goto L_002a;
#line 113 "regression-bugs-tmp/ioprocs.imp"
L_002b:;
                                                                //    114        %signal 1,3 %if digit > limit
#line 114 "regression-bugs-tmp/ioprocs.imp"
if (((DIGIT) <= (LIMIT))) goto L_002f;
#line 114 "regression-bugs-tmp/ioprocs.imp"
_imp_signal(1, 3, 0, "");
#line 114 "regression-bugs-tmp/ioprocs.imp"
L_002f:;
                                                                //    115        string(address) = s
#line 115 "regression-bugs-tmp/ioprocs.imp"
*_imp_STRING(ADDRESS) = S;
                                                                //    116        %return
#line 116 "regression-bugs-tmp/ioprocs.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //    117        %finish
#line 117 "regression-bugs-tmp/ioprocs.imp"
L_0026:;
                                                                //    118  
                                                                //    119     sign = 1
#line 119 "regression-bugs-tmp/ioprocs.imp"
SIGN = 1;
                                                                //    120     %cycle
#line 120 "regression-bugs-tmp/ioprocs.imp"
L_0030:;
                                                                //    121        sym = nextsymbol
#line 121 "regression-bugs-tmp/ioprocs.imp"
SYM = _imp_NEXTSYMBOL();
                                                                //    122        %if sym = '-' %start
#line 122 "regression-bugs-tmp/ioprocs.imp"
if (((SYM) != (45))) goto L_0033;
                                                                //    123           %signal 3,1,sym %if sign < 0
#line 123 "regression-bugs-tmp/ioprocs.imp"
if (((SIGN) >= (0))) goto L_0034;
#line 123 "regression-bugs-tmp/ioprocs.imp"
_imp_signal(3, 1, SYM, "");
#line 123 "regression-bugs-tmp/ioprocs.imp"
L_0034:;
                                                                //    124           sign = -1
#line 124 "regression-bugs-tmp/ioprocs.imp"
SIGN = (-1);
                                                                //    125           skipsymbol;  sym = nextsymbol
#line 125 "regression-bugs-tmp/ioprocs.imp"
_imp_SKIPSYMBOL();
#line 125 "regression-bugs-tmp/ioprocs.imp"
SYM = _imp_NEXTSYMBOL();
                                                                //    126           %exit
#line 126 "regression-bugs-tmp/ioprocs.imp"
goto L_0031;
                                                                //    127        %finish
#line 127 "regression-bugs-tmp/ioprocs.imp"
L_0033:;
                                                                //    128        %exit %if sym # ' ' %and sym # nl
#line 128 "regression-bugs-tmp/ioprocs.imp"
if (((SYM) == (32))) goto L_0035;
#line 128 "regression-bugs-tmp/ioprocs.imp"
if (((SYM) == (10))) goto L_0035;
#line 128 "regression-bugs-tmp/ioprocs.imp"
goto L_0031;
#line 128 "regression-bugs-tmp/ioprocs.imp"
L_0035:;
                                                                //    129        skipsymbol
#line 129 "regression-bugs-tmp/ioprocs.imp"
_imp_SKIPSYMBOL();
                                                                //    130     %repeat
#line 130 "regression-bugs-tmp/ioprocs.imp"
goto L_0030;
#line 130 "regression-bugs-tmp/ioprocs.imp"
L_0031:;
                                                                //    131  more:
#line 131 "regression-bugs-tmp/ioprocs.imp"
U_1001:;
                                                                //    132     value = 0
#line 132 "regression-bugs-tmp/ioprocs.imp"
VALUE = 0;
                                                                //    133     limit = int(base)
#line 133 "regression-bugs-tmp/ioprocs.imp"
LIMIT = _imp_INT(BASE);
                                                                //    134     digit = -1; sym = sym - 32 %if 'a'<= sym <= 'z'
#line 134 "regression-bugs-tmp/ioprocs.imp"
DIGIT = (-1);
#line 134 "regression-bugs-tmp/ioprocs.imp"
if ((((97) > (SYM))) || (((SYM) > (122)))) goto L_0036;
#line 134 "regression-bugs-tmp/ioprocs.imp"
SYM = (((int)(SYM)) - (32));
#line 134 "regression-bugs-tmp/ioprocs.imp"
L_0036:;
                                                                //    135     digit = sym-'0' %if '0' <= sym <= '9'
#line 135 "regression-bugs-tmp/ioprocs.imp"
if ((((48) > (SYM))) || (((SYM) > (57)))) goto L_0037;
#line 135 "regression-bugs-tmp/ioprocs.imp"
DIGIT = (((int)(SYM)) - (48));
#line 135 "regression-bugs-tmp/ioprocs.imp"
L_0037:;
                                                                //    136     digit = sym -'A'+10 %if 'A'<=sym<='Z'
#line 136 "regression-bugs-tmp/ioprocs.imp"
if ((((65) > (SYM))) || (((SYM) > (90)))) goto L_0038;
#line 136 "regression-bugs-tmp/ioprocs.imp"
DIGIT = (((int)((((int)(SYM)) - (65)))) + (10));
#line 136 "regression-bugs-tmp/ioprocs.imp"
L_0038:;
                                                                //    137     %signal 3,1,sym %unless 0 <= digit < limit %or
#line 137 "regression-bugs-tmp/ioprocs.imp"
if ((((0) > (DIGIT))) || (((DIGIT) < (LIMIT)))) goto L_0039;
#line 137 "regression-bugs-tmp/ioprocs.imp"
L_0032:;
#line 137 "regression-bugs-tmp/ioprocs.imp"
if (((SYM) != (46))) goto L_003a;
#line 137 "regression-bugs-tmp/ioprocs.imp"
if (((((TYPE) & (32))) != (0))) goto L_0039;
#line 137 "regression-bugs-tmp/ioprocs.imp"
L_003a:;
#line 137 "regression-bugs-tmp/ioprocs.imp"
_imp_signal(3, 1, SYM, "");
#line 137 "regression-bugs-tmp/ioprocs.imp"
L_0039:;
                                                                //    138                                (sym = '.' %and type&16_20 # 0)
                                                                //    139     %while 0 <= digit < limit %cycle
#line 139 "regression-bugs-tmp/ioprocs.imp"
L_003b:;
#line 139 "regression-bugs-tmp/ioprocs.imp"
if ((((0) > (DIGIT))) || (((DIGIT) >= (LIMIT)))) goto L_003c;
                                                                //    140        skipsymbol
#line 140 "regression-bugs-tmp/ioprocs.imp"
_imp_SKIPSYMBOL();
/*Warning: potential loss of precision converting from integer AST_VAR (DIGIT - 4 bytes) to real AST_BINOP ((((double)(VALUE)) * (BASE)) - 0 bytes) detected at ast.c line 108 */
                                                                //    141        value = value*base+digit
#line 141 "regression-bugs-tmp/ioprocs.imp"
VALUE = (((((double)(VALUE)) * (BASE))) + ((DIGIT)));
                                                                //    142        sym = nextsymbol
#line 142 "regression-bugs-tmp/ioprocs.imp"
SYM = _imp_NEXTSYMBOL();
                                                                //    143        digit = -1; sym=sym-32 %if 'a'<=sym<='z'
#line 143 "regression-bugs-tmp/ioprocs.imp"
DIGIT = (-1);
#line 143 "regression-bugs-tmp/ioprocs.imp"
if ((((97) > (SYM))) || (((SYM) > (122)))) goto L_003e;
#line 143 "regression-bugs-tmp/ioprocs.imp"
SYM = (((int)(SYM)) - (32));
#line 143 "regression-bugs-tmp/ioprocs.imp"
L_003e:;
                                                                //    144        digit = sym-'0' %if '0'<=sym<='9'
#line 144 "regression-bugs-tmp/ioprocs.imp"
if ((((48) > (SYM))) || (((SYM) > (57)))) goto L_003f;
#line 144 "regression-bugs-tmp/ioprocs.imp"
DIGIT = (((int)(SYM)) - (48));
#line 144 "regression-bugs-tmp/ioprocs.imp"
L_003f:;
                                                                //    145        digit = sym-'A'+10 %if 'A'<=sym<='Z'
#line 145 "regression-bugs-tmp/ioprocs.imp"
if ((((65) > (SYM))) || (((SYM) > (90)))) goto L_0040;
#line 145 "regression-bugs-tmp/ioprocs.imp"
DIGIT = (((int)((((int)(SYM)) - (65)))) + (10));
#line 145 "regression-bugs-tmp/ioprocs.imp"
L_0040:;
                                                                //    146     %repeat
#line 146 "regression-bugs-tmp/ioprocs.imp"
goto L_003b;
#line 146 "regression-bugs-tmp/ioprocs.imp"
L_003c:;
                                                                //    147     %if sym = '_' %start
#line 147 "regression-bugs-tmp/ioprocs.imp"
if (((SYM) != (95))) goto L_0041;
                                                                //    148        base = value
#line 148 "regression-bugs-tmp/ioprocs.imp"
BASE = VALUE;
                                                                //    149        skipsymbol
#line 149 "regression-bugs-tmp/ioprocs.imp"
_imp_SKIPSYMBOL();
                                                                //    150        sym = nextsymbol
#line 150 "regression-bugs-tmp/ioprocs.imp"
SYM = _imp_NEXTSYMBOL();
                                                                //    151        ->more
#line 151 "regression-bugs-tmp/ioprocs.imp"
goto U_1001;
                                                                //    152     %finish
#line 152 "regression-bugs-tmp/ioprocs.imp"
L_0041:;
                                                                //    153     %if sym = '.' %and limit = 10  %and type&16_20 # 0 %start
#line 153 "regression-bugs-tmp/ioprocs.imp"
if (((SYM) != (46))) goto L_0042;
#line 153 "regression-bugs-tmp/ioprocs.imp"
if (((LIMIT) != (10))) goto L_0042;
#line 153 "regression-bugs-tmp/ioprocs.imp"
if (((((TYPE) & (32))) == (0))) goto L_0042;
                                                                //    154        skipsymbol
#line 154 "regression-bugs-tmp/ioprocs.imp"
_imp_SKIPSYMBOL();
                                                                //    155        exp = 0.1
#line 155 "regression-bugs-tmp/ioprocs.imp"
EXP = 0.1;
                                                                //    156        %cycle
#line 156 "regression-bugs-tmp/ioprocs.imp"
L_0043:;
                                                                //    157           sym = nextsymbol
#line 157 "regression-bugs-tmp/ioprocs.imp"
SYM = _imp_NEXTSYMBOL();
                                                                //    158           %exit %unless '0' <= sym <= '9'
#line 158 "regression-bugs-tmp/ioprocs.imp"
if ((((48) > (SYM))) || (((SYM) <= (57)))) goto L_0047;
#line 158 "regression-bugs-tmp/ioprocs.imp"
L_0046:;
#line 158 "regression-bugs-tmp/ioprocs.imp"
goto L_0044;
#line 158 "regression-bugs-tmp/ioprocs.imp"
L_0047:;
/*promote*//*promote*/                                                                //    159           value = value+(sym-'0')*exp
#line 159 "regression-bugs-tmp/ioprocs.imp"
VALUE = ((VALUE) + ((double)((((double)((((int)(SYM)) - (48)))) * (EXP)))));
                                                                //    160           exp = exp*0.1
#line 160 "regression-bugs-tmp/ioprocs.imp"
EXP = (((double)(EXP)) * (0.1));
                                                                //    161           skipsymbol
#line 161 "regression-bugs-tmp/ioprocs.imp"
_imp_SKIPSYMBOL();
                                                                //    162        %repeat
#line 162 "regression-bugs-tmp/ioprocs.imp"
goto L_0043;
#line 162 "regression-bugs-tmp/ioprocs.imp"
L_0044:;
                                                                //    163     %finish
#line 163 "regression-bugs-tmp/ioprocs.imp"
L_0042:;
                                                                //    164     %if sym = '@' %and limit = 10 %and type&16_20 # 0 %start
#line 164 "regression-bugs-tmp/ioprocs.imp"
if (((SYM) != (64))) goto L_0048;
#line 164 "regression-bugs-tmp/ioprocs.imp"
if (((LIMIT) != (10))) goto L_0048;
#line 164 "regression-bugs-tmp/ioprocs.imp"
if (((((TYPE) & (32))) == (0))) goto L_0048;
                                                                //    165        skipsymbol
#line 165 "regression-bugs-tmp/ioprocs.imp"
_imp_SKIPSYMBOL();
                                                                //    166        read(addr(sym), 16_10<<24)
#line 166 "regression-bugs-tmp/ioprocs.imp"
READ(_imp_ADDR(&SYM), ((16) << (24)));
                                                                //    167        value = value*10.0^sym
#line 167 "regression-bugs-tmp/ioprocs.imp"
VALUE = ((VALUE) * ((double)(_imp_REXP(10.0, SYM))));
                                                                //    168     %finish
#line 168 "regression-bugs-tmp/ioprocs.imp"
L_0048:;
                                                                //    169     value = -value %if sign < 0
#line 169 "regression-bugs-tmp/ioprocs.imp"
if (((SIGN) >= (0))) goto L_0049;
#line 169 "regression-bugs-tmp/ioprocs.imp"
VALUE = (-(VALUE));
#line 169 "regression-bugs-tmp/ioprocs.imp"
L_0049:;
                                                                //    170     %if type&16_10 # 0 %start;       !integral
#line 170 "regression-bugs-tmp/ioprocs.imp"
if (((((TYPE) & (16))) == (0))) goto L_004a;
                                                                //    171        sym = int(value)
#line 171 "regression-bugs-tmp/ioprocs.imp"
SYM = _imp_INT(VALUE);
                                                                //    172        %if type = 16_10 %start
#line 172 "regression-bugs-tmp/ioprocs.imp"
if (((TYPE) != (16))) goto L_004b;
                                                                //    173           integer(address) = sym
#line 173 "regression-bugs-tmp/ioprocs.imp"
*_imp_INTEGER(ADDRESS) = SYM;
                                                                //    174        %else %if type = 16_12
#line 174 "regression-bugs-tmp/ioprocs.imp"
goto L_004c;
#line 174 "regression-bugs-tmp/ioprocs.imp"
L_004b:;
#line 174 "regression-bugs-tmp/ioprocs.imp"
if (((TYPE) != (18))) goto L_004d;
                                                                //    175           byteinteger(address) = sym
#line 175 "regression-bugs-tmp/ioprocs.imp"
*_imp_BYTEINTEGER(ADDRESS) = SYM;
                                                                //    176        %else
#line 176 "regression-bugs-tmp/ioprocs.imp"
goto L_004c;
#line 176 "regression-bugs-tmp/ioprocs.imp"
L_004d:;
                                                                //    177           shortinteger(address) = sym
#line 177 "regression-bugs-tmp/ioprocs.imp"
*_imp_SHORTINTEGER(ADDRESS) = SYM;
                                                                //    178        %finish
#line 178 "regression-bugs-tmp/ioprocs.imp"
L_004c:;
                                                                //    179     %else %if type = 16_23
#line 179 "regression-bugs-tmp/ioprocs.imp"
goto L_004e;
#line 179 "regression-bugs-tmp/ioprocs.imp"
L_004a:;
#line 179 "regression-bugs-tmp/ioprocs.imp"
if (((TYPE) != (35))) goto L_004f;
                                                                //    180        real(address) = value
#line 180 "regression-bugs-tmp/ioprocs.imp"
*_imp_REAL(ADDRESS) = VALUE;
                                                                //    181     %else
#line 181 "regression-bugs-tmp/ioprocs.imp"
goto L_004e;
#line 181 "regression-bugs-tmp/ioprocs.imp"
L_004f:;
                                                                //    182        longreal(address) = value
#line 182 "regression-bugs-tmp/ioprocs.imp"
*_imp_LONGREAL(ADDRESS) = VALUE;
                                                                //    183     %finish
#line 183 "regression-bugs-tmp/ioprocs.imp"
L_004e:;
                                                                //    184  %end
#line 184 "regression-bugs-tmp/ioprocs.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block READ at level 1
                                                                //    185  
                                                                //    186  %externalroutine  phex(%integer n)
#line 186 "regression-bugs-tmp/ioprocs.imp"
void PHEX( int N )
#line 186 "regression-bugs-tmp/ioprocs.imp"
{
                                                                //    187     %integer j,k
#line 187 "regression-bugs-tmp/ioprocs.imp"
int J;
#line 187 "regression-bugs-tmp/ioprocs.imp"
int K;
                                                                //    188     %for j = 1, 1, 8 %cycle
#line 188 "regression-bugs-tmp/ioprocs.imp"
J = 0;
if ((((8)-(1)) % (1)) != 0) _imp_signal(5,1,0,"Illegal cycle J = 1, 1, 8");
L_0050:;
if (J == 8) goto L_0051;
J += 1;
                                                                //    189        k = (n>>28)&15;  n = n<<4
#line 189 "regression-bugs-tmp/ioprocs.imp"
K = (((int)((((unsigned int)(N)) >> (28)))) & (15));
#line 189 "regression-bugs-tmp/ioprocs.imp"
N = ((N) << (4));
                                                                //    190        %if k > 9 %then k = k-10+'A' %else k = k+'0'
#line 190 "regression-bugs-tmp/ioprocs.imp"
if (((K) <= (9))) goto L_0053;
#line 190 "regression-bugs-tmp/ioprocs.imp"
K = (((int)((((int)(K)) - (10)))) + (65));
#line 190 "regression-bugs-tmp/ioprocs.imp"
goto L_0054;
#line 190 "regression-bugs-tmp/ioprocs.imp"
L_0053:;
#line 190 "regression-bugs-tmp/ioprocs.imp"
K = (((int)(K)) + (48));
#line 190 "regression-bugs-tmp/ioprocs.imp"
L_0054:;
                                                                //    191        printsymbol(k)
#line 191 "regression-bugs-tmp/ioprocs.imp"
_imp_PRINTSYMBOL(K);
                                                                //    192     %repeat
#line 192 "regression-bugs-tmp/ioprocs.imp"
goto L_0050;
#line 192 "regression-bugs-tmp/ioprocs.imp"
L_0051:;
                                                                //    193  %end
#line 193 "regression-bugs-tmp/ioprocs.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block PHEX at level 1
                                                                //    194  
                                                                //    195  %begin
#line 195 "regression-bugs-tmp/ioprocs.imp"
int main(int argc, char **argv) {
  _imp_initialise(argc, argv);
                                                                //    196  %end
#line 196 "regression-bugs-tmp/ioprocs.imp"
/* Remove %on %event handler here if present for this block */
return 0;
} // End of block _imp_main at level 1
                                                                //    197  
                                                                //    198  %endoffile
#line 198 "regression-bugs-tmp/ioprocs.imp"
// End of file
