#include <perms.h>

                                                                //      1  %begin
#line 1 "regression-compile-tmp/precedence-rainer.imp"
int main(int argc, char **argv) {
  _imp_initialise(argc, argv);
                                                                //      2  %realfn eval    {evaluate sub-expression}
#line 2 "regression-compile-tmp/precedence-rainer.imp"
float EVAL( void )
#line 2 "regression-compile-tmp/precedence-rainer.imp"
{
                                                                //      3  %routinespec pushopd(%real val)
#line 3 "regression-compile-tmp/precedence-rainer.imp"
auto void PUSHOPD( float VAL );
                                                                //      4  %routinespec pushop(%integer op)
#line 4 "regression-compile-tmp/precedence-rainer.imp"
auto void PUSHOP( int OP );
                                                                //      5  %realfnspec popopd
#line 5 "regression-compile-tmp/precedence-rainer.imp"
auto float POPOPD( void );
                                                                //      6  %integerfnspec popop
#line 6 "regression-compile-tmp/precedence-rainer.imp"
auto int POPOP( void );
                                                                //      7  %realfnspec nextopd
#line 7 "regression-compile-tmp/precedence-rainer.imp"
auto float NEXTOPD( void );
                                                                //      8  %integerfnspec nextop
#line 8 "regression-compile-tmp/precedence-rainer.imp"
auto int NEXTOP( void );
                                                                //      9  %routinespec operate
#line 9 "regression-compile-tmp/precedence-rainer.imp"
auto void OPERATE( void );
                                                                //     10  %constinteger plus=1,minus=2,times=3,divide=4,exp=5,assign=6,end=7,space=' '
                                                                //     11  %constintegerarray prec(plus:assign)=1,1,2,2,3,0
#line 11 "regression-compile-tmp/precedence-rainer.imp"
const int PREC[6] = { 1, 1, 2, 2, 3, 0,  };
                                                                //     12  %realarray opds(0:4)    {operand stack}
#line 12 "regression-compile-tmp/precedence-rainer.imp"
float OPDS[5];
                                                                //     13  %integerarray ops(0:3)    {operator stack}
#line 13 "regression-compile-tmp/precedence-rainer.imp"
int OPS[4];
                                                                //     14  %ownrealarray vars('a':'z')=0(*)
#line 14 "regression-compile-tmp/precedence-rainer.imp"
static float VARS[26] = { [0 ... 25] = 0 };
                                                                //     15  %ownintegerarray vara('a':'z')=0(*)
#line 15 "regression-compile-tmp/precedence-rainer.imp"
static int VARA[26] = { [0 ... 25] = 0 };
                                                                //     16  %integer op,opdsp,opsp,var
#line 16 "regression-compile-tmp/precedence-rainer.imp"
int OP;
#line 16 "regression-compile-tmp/precedence-rainer.imp"
int OPDSP;
#line 16 "regression-compile-tmp/precedence-rainer.imp"
int OPSP;
#line 16 "regression-compile-tmp/precedence-rainer.imp"
int VAR;
                                                                //     17    opdsp=0 ; opsp=0    {init stack pointers}
#line 17 "regression-compile-tmp/precedence-rainer.imp"
OPDSP = 0;
#line 17 "regression-compile-tmp/precedence-rainer.imp"
OPSP = 0;
                                                                //     18    pushopd(nextopd)    {first operand}
#line 18 "regression-compile-tmp/precedence-rainer.imp"
PUSHOPD(NEXTOPD());
                                                                //     19    %cycle    {for each operator}
#line 19 "regression-compile-tmp/precedence-rainer.imp"
L_0002:;
                                                                //     20      op=nextop
#line 20 "regression-compile-tmp/precedence-rainer.imp"
OP = NEXTOP();
                                                                //     21      %if op=end %then %exit
#line 21 "regression-compile-tmp/precedence-rainer.imp"
if (((OP) != (7))) goto L_0005;
#line 21 "regression-compile-tmp/precedence-rainer.imp"
goto L_0003;
#line 21 "regression-compile-tmp/precedence-rainer.imp"
L_0005:;
                                                                //     22      operate %while opsp>0 %and prec(ops(opsp))>=prec(op)
#line 22 "regression-compile-tmp/precedence-rainer.imp"
L_0006:;
#line 22 "regression-compile-tmp/precedence-rainer.imp"
if (((OPSP) <= (0))) goto L_0007;
#line 22 "regression-compile-tmp/precedence-rainer.imp"
if ((((PREC-1)[OPS[OPSP]]) < ((PREC-1)[OP]))) goto L_0007;
#line 22 "regression-compile-tmp/precedence-rainer.imp"
OPERATE();
#line 22 "regression-compile-tmp/precedence-rainer.imp"
goto L_0006;
#line 22 "regression-compile-tmp/precedence-rainer.imp"
L_0007:;
                                                                //     23      %if op=assign %then %start
#line 23 "regression-compile-tmp/precedence-rainer.imp"
if (((OP) != (6))) goto L_0009;
                                                                //     24        read symbol(var)
#line 24 "regression-compile-tmp/precedence-rainer.imp"
_imp_READSYMBOL(&VAR);
                                                                //     25        %unless 'a'<=var<='z' %or 'A'<=var<='Z' %then print symbol(var) %c
#line 25 "regression-compile-tmp/precedence-rainer.imp"
if ((((97) > (VAR))) || (((VAR) <= (122)))) goto L_000b;
#line 25 "regression-compile-tmp/precedence-rainer.imp"
L_000a:;
#line 25 "regression-compile-tmp/precedence-rainer.imp"
if ((((65) > (VAR))) || (((VAR) <= (90)))) goto L_000b;
#line 25 "regression-compile-tmp/precedence-rainer.imp"
L_000c:;
#line 25 "regression-compile-tmp/precedence-rainer.imp"
_imp_PRINTSYMBOL(VAR);
#line 25 "regression-compile-tmp/precedence-rainer.imp"
_imp_PRINTSTRING(_imp_str_literal(" variable"));
#line 25 "regression-compile-tmp/precedence-rainer.imp"
_imp_signal(15, 0, 0, "");
#line 25 "regression-compile-tmp/precedence-rainer.imp"
L_000b:;
                                                                //     26          %and print string(" variable") %and %signal 15
                                                                //     27        %if 'A'<=var<='Z' %then var=var-'A'+'a'
#line 27 "regression-compile-tmp/precedence-rainer.imp"
if ((((65) > (VAR))) || (((VAR) > (90)))) goto L_000d;
#line 27 "regression-compile-tmp/precedence-rainer.imp"
VAR = (((int)((((int)(VAR)) - (65)))) + (97));
#line 27 "regression-compile-tmp/precedence-rainer.imp"
L_000d:;
                                                                //     28        vars(var)=opds(opdsp)
#line 28 "regression-compile-tmp/precedence-rainer.imp"
(VARS-97)[VAR] = OPDS[OPDSP];
                                                                //     29        vara(var)=1    {assigned}
#line 29 "regression-compile-tmp/precedence-rainer.imp"
(VARA-97)[VAR] = 1;
                                                                //     30        %continue
#line 30 "regression-compile-tmp/precedence-rainer.imp"
goto L_0004;
                                                                //     31      %finish
#line 31 "regression-compile-tmp/precedence-rainer.imp"
L_0009:;
                                                                //     32      pushop(op)
#line 32 "regression-compile-tmp/precedence-rainer.imp"
PUSHOP(OP);
                                                                //     33      pushopd(nextopd)
#line 33 "regression-compile-tmp/precedence-rainer.imp"
PUSHOPD(NEXTOPD());
                                                                //     34    %repeat
#line 34 "regression-compile-tmp/precedence-rainer.imp"
L_0004:;
#line 34 "regression-compile-tmp/precedence-rainer.imp"
goto L_0002;
#line 34 "regression-compile-tmp/precedence-rainer.imp"
L_0003:;
                                                                //     35    operate %while opsp>0
#line 35 "regression-compile-tmp/precedence-rainer.imp"
L_000e:;
#line 35 "regression-compile-tmp/precedence-rainer.imp"
if (((OPSP) <= (0))) goto L_000f;
#line 35 "regression-compile-tmp/precedence-rainer.imp"
OPERATE();
#line 35 "regression-compile-tmp/precedence-rainer.imp"
goto L_000e;
#line 35 "regression-compile-tmp/precedence-rainer.imp"
L_000f:;
                                                                //     36    %result=popopd
#line 36 "regression-compile-tmp/precedence-rainer.imp"
/* Remove %on %event handler here if present for this block */
return POPOPD();
                                                                //     37  !
                                                                //     38  %routine pushopd(%real val)
#line 38 "regression-compile-tmp/precedence-rainer.imp"
void PUSHOPD( float VAL )
#line 38 "regression-compile-tmp/precedence-rainer.imp"
{
                                                                //     39    opdsp=opdsp+1
#line 39 "regression-compile-tmp/precedence-rainer.imp"
OPDSP = (((int)(OPDSP)) + (1));
                                                                //     40    opds(opdsp)=val
#line 40 "regression-compile-tmp/precedence-rainer.imp"
OPDS[OPDSP] = VAL;
                                                                //     41  %end
#line 41 "regression-compile-tmp/precedence-rainer.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block PUSHOPD at level 3
                                                                //     42  !
                                                                //     43  %routine pushop(%integer op)
#line 43 "regression-compile-tmp/precedence-rainer.imp"
void PUSHOP( int OP )
#line 43 "regression-compile-tmp/precedence-rainer.imp"
{
                                                                //     44    opsp=opsp+1
#line 44 "regression-compile-tmp/precedence-rainer.imp"
OPSP = (((int)(OPSP)) + (1));
                                                                //     45    ops(opsp)=op
#line 45 "regression-compile-tmp/precedence-rainer.imp"
OPS[OPSP] = OP;
                                                                //     46  %end
#line 46 "regression-compile-tmp/precedence-rainer.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block PUSHOP at level 3
                                                                //     47  !
                                                                //     48  %realfn popopd
#line 48 "regression-compile-tmp/precedence-rainer.imp"
float POPOPD( void )
#line 48 "regression-compile-tmp/precedence-rainer.imp"
{
                                                                //     49  %real val
#line 49 "regression-compile-tmp/precedence-rainer.imp"
float VAL;
                                                                //     50    val=opds(opdsp)
#line 50 "regression-compile-tmp/precedence-rainer.imp"
VAL = OPDS[OPDSP];
                                                                //     51    opdsp=opdsp-1
#line 51 "regression-compile-tmp/precedence-rainer.imp"
OPDSP = (((int)(OPDSP)) - (1));
                                                                //     52    %result=val
#line 52 "regression-compile-tmp/precedence-rainer.imp"
/* Remove %on %event handler here if present for this block */
return VAL;
                                                                //     53  %end
#line 53 "regression-compile-tmp/precedence-rainer.imp"
} // End of block POPOPD at level 3
                                                                //     54  !
                                                                //     55  %integerfn popop
#line 55 "regression-compile-tmp/precedence-rainer.imp"
int POPOP( void )
#line 55 "regression-compile-tmp/precedence-rainer.imp"
{
                                                                //     56  %integer op
#line 56 "regression-compile-tmp/precedence-rainer.imp"
int OP;
                                                                //     57    op=ops(opsp)
#line 57 "regression-compile-tmp/precedence-rainer.imp"
OP = OPS[OPSP];
                                                                //     58    opsp=opsp-1
#line 58 "regression-compile-tmp/precedence-rainer.imp"
OPSP = (((int)(OPSP)) - (1));
                                                                //     59    %result=op
#line 59 "regression-compile-tmp/precedence-rainer.imp"
/* Remove %on %event handler here if present for this block */
return OP;
                                                                //     60  %end
#line 60 "regression-compile-tmp/precedence-rainer.imp"
} // End of block POPOP at level 3
                                                                //     61  !
                                                                //     62  %realfn nextopd
#line 62 "regression-compile-tmp/precedence-rainer.imp"
float NEXTOPD( void )
#line 62 "regression-compile-tmp/precedence-rainer.imp"
{
                                                                //     63  %integer var
#line 63 "regression-compile-tmp/precedence-rainer.imp"
int VAR;
                                                                //     64  %real opd
#line 64 "regression-compile-tmp/precedence-rainer.imp"
float OPD;
                                                                //     65    skip symbol %while next symbol=space %or next symbol=nl
#line 65 "regression-compile-tmp/precedence-rainer.imp"
L_0011:;
#line 65 "regression-compile-tmp/precedence-rainer.imp"
if (((_imp_NEXTSYMBOL()) == (32))) goto L_0013;
#line 65 "regression-compile-tmp/precedence-rainer.imp"
if (((_imp_NEXTSYMBOL()) != (10))) goto L_0012;
#line 65 "regression-compile-tmp/precedence-rainer.imp"
L_0013:;
#line 65 "regression-compile-tmp/precedence-rainer.imp"
_imp_SKIPSYMBOL();
#line 65 "regression-compile-tmp/precedence-rainer.imp"
goto L_0011;
#line 65 "regression-compile-tmp/precedence-rainer.imp"
L_0012:;
                                                                //     66    %if '0'<=next symbol<='9' %or next symbol='-' %or next symbol='.' %c
#line 66 "regression-compile-tmp/precedence-rainer.imp"
if (({int tmp1 = 48, tmp2 = _imp_NEXTSYMBOL(), tmp3 = 57; (tmp1 > tmp2) || (tmp2 <= tmp3);})) goto L_0015;
#line 66 "regression-compile-tmp/precedence-rainer.imp"
L_0014:;
#line 66 "regression-compile-tmp/precedence-rainer.imp"
if (((_imp_NEXTSYMBOL()) == (45))) goto L_0015;
#line 66 "regression-compile-tmp/precedence-rainer.imp"
if (((_imp_NEXTSYMBOL()) != (46))) goto L_0016;
#line 66 "regression-compile-tmp/precedence-rainer.imp"
L_0015:;
#line 66 "regression-compile-tmp/precedence-rainer.imp"
_imp_READ(&OPD);
#line 66 "regression-compile-tmp/precedence-rainer.imp"
/* Remove %on %event handler here if present for this block */
return OPD;
#line 66 "regression-compile-tmp/precedence-rainer.imp"
L_0016:;
                                                                //     67       %then read(opd) %and %result=opd
                                                                //     68    %if next symbol='(' %then skip symbol %and %result=eval
#line 68 "regression-compile-tmp/precedence-rainer.imp"
if (((_imp_NEXTSYMBOL()) != (40))) goto L_0017;
#line 68 "regression-compile-tmp/precedence-rainer.imp"
_imp_SKIPSYMBOL();
#line 68 "regression-compile-tmp/precedence-rainer.imp"
/* Remove %on %event handler here if present for this block */
return EVAL();
#line 68 "regression-compile-tmp/precedence-rainer.imp"
L_0017:;
                                                                //     69    %if 'a'<=next symbol<='z' %or 'A'<=next symbol<='Z' %then %start
#line 69 "regression-compile-tmp/precedence-rainer.imp"
if (({int tmp1 = 97, tmp2 = _imp_NEXTSYMBOL(), tmp3 = 122; (tmp1 > tmp2) || (tmp2 <= tmp3);})) goto L_0019;
#line 69 "regression-compile-tmp/precedence-rainer.imp"
L_0018:;
#line 69 "regression-compile-tmp/precedence-rainer.imp"
if (({int tmp1 = 65, tmp2 = _imp_NEXTSYMBOL(), tmp3 = 90; (tmp1 > tmp2) || (tmp2 > tmp3);})) goto L_001a;
#line 69 "regression-compile-tmp/precedence-rainer.imp"
L_0019:;
                                                                //     70      read symbol(var)
#line 70 "regression-compile-tmp/precedence-rainer.imp"
_imp_READSYMBOL(&VAR);
                                                                //     71      %if 'A'<=var<='Z' %then var=var-'A'+'a'
#line 71 "regression-compile-tmp/precedence-rainer.imp"
if ((((65) > (VAR))) || (((VAR) > (90)))) goto L_001b;
#line 71 "regression-compile-tmp/precedence-rainer.imp"
VAR = (((int)((((int)(VAR)) - (65)))) + (97));
#line 71 "regression-compile-tmp/precedence-rainer.imp"
L_001b:;
                                                                //     72      %if vara(var)=0 %then print symbol(var) %and %c
#line 72 "regression-compile-tmp/precedence-rainer.imp"
if ((((VARA-97)[VAR]) != (0))) goto L_001c;
#line 72 "regression-compile-tmp/precedence-rainer.imp"
_imp_PRINTSYMBOL(VAR);
#line 72 "regression-compile-tmp/precedence-rainer.imp"
_imp_PRINTSTRING(_imp_str_literal(" unassigned"));
#line 72 "regression-compile-tmp/precedence-rainer.imp"
_imp_signal(15, 0, 0, "");
#line 72 "regression-compile-tmp/precedence-rainer.imp"
L_001c:;
                                                                //     73        print string(" unassigned") %and %signal 15
                                                                //     74      %result=vars(var)
#line 74 "regression-compile-tmp/precedence-rainer.imp"
/* Remove %on %event handler here if present for this block */
return (VARS-97)[VAR];
                                                                //     75    %finish
#line 75 "regression-compile-tmp/precedence-rainer.imp"
L_001a:;
                                                                //     76    read symbol(var)
#line 76 "regression-compile-tmp/precedence-rainer.imp"
_imp_READSYMBOL(&VAR);
                                                                //     77    print symbol(var)
#line 77 "regression-compile-tmp/precedence-rainer.imp"
_imp_PRINTSYMBOL(VAR);
                                                                //     78    print string(" operand")
#line 78 "regression-compile-tmp/precedence-rainer.imp"
_imp_PRINTSTRING(_imp_str_literal(" operand"));
                                                                //     79    %signal 15
#line 79 "regression-compile-tmp/precedence-rainer.imp"
_imp_signal(15, 0, 0, "");
                                                                //     80  %end
#line 80 "regression-compile-tmp/precedence-rainer.imp"
/*_imp_signal(8, 4, 0, "");*/
fprintf(stderr, "%%RESULT missing in %s in file %s:%d\n", __PRETTY_FUNCTION__, (_imp_current_file != 0 ? _imp_current_file : __FILE__), (_imp_current_line != 0 ? _imp_current_line : __LINE__));
exit(1);
} // End of block NEXTOPD at level 3
                                                                //     81  !
                                                                //     82  %integerfn nextop
#line 82 "regression-compile-tmp/precedence-rainer.imp"
int NEXTOP( void )
#line 82 "regression-compile-tmp/precedence-rainer.imp"
{
                                                                //     83  %integer sym
#line 83 "regression-compile-tmp/precedence-rainer.imp"
int SYM;
                                                                //     84    skip symbol %while next symbol=space
#line 84 "regression-compile-tmp/precedence-rainer.imp"
L_001d:;
#line 84 "regression-compile-tmp/precedence-rainer.imp"
if (((_imp_NEXTSYMBOL()) != (32))) goto L_001e;
#line 84 "regression-compile-tmp/precedence-rainer.imp"
_imp_SKIPSYMBOL();
#line 84 "regression-compile-tmp/precedence-rainer.imp"
goto L_001d;
#line 84 "regression-compile-tmp/precedence-rainer.imp"
L_001e:;
                                                                //     85    read symbol(sym)
#line 85 "regression-compile-tmp/precedence-rainer.imp"
_imp_READSYMBOL(&SYM);
                                                                //     86    %if sym='+' %then %result=plus
#line 86 "regression-compile-tmp/precedence-rainer.imp"
if (((SYM) != (43))) goto L_0020;
#line 86 "regression-compile-tmp/precedence-rainer.imp"
/* Remove %on %event handler here if present for this block */
return 1;
#line 86 "regression-compile-tmp/precedence-rainer.imp"
L_0020:;
                                                                //     87    %if sym='-' %then %result=minus
#line 87 "regression-compile-tmp/precedence-rainer.imp"
if (((SYM) != (45))) goto L_0021;
#line 87 "regression-compile-tmp/precedence-rainer.imp"
/* Remove %on %event handler here if present for this block */
return 2;
#line 87 "regression-compile-tmp/precedence-rainer.imp"
L_0021:;
                                                                //     88    %if sym='*' %then %result=times
#line 88 "regression-compile-tmp/precedence-rainer.imp"
if (((SYM) != (42))) goto L_0022;
#line 88 "regression-compile-tmp/precedence-rainer.imp"
/* Remove %on %event handler here if present for this block */
return 3;
#line 88 "regression-compile-tmp/precedence-rainer.imp"
L_0022:;
                                                                //     89    %if sym='/' %then %result=divide
#line 89 "regression-compile-tmp/precedence-rainer.imp"
if (((SYM) != (47))) goto L_0023;
#line 89 "regression-compile-tmp/precedence-rainer.imp"
/* Remove %on %event handler here if present for this block */
return 4;
#line 89 "regression-compile-tmp/precedence-rainer.imp"
L_0023:;
                                                                //     90    %if sym='^' %then %result=exp
#line 90 "regression-compile-tmp/precedence-rainer.imp"
if (((SYM) != (94))) goto L_0024;
#line 90 "regression-compile-tmp/precedence-rainer.imp"
/* Remove %on %event handler here if present for this block */
return 5;
#line 90 "regression-compile-tmp/precedence-rainer.imp"
L_0024:;
                                                                //     91    %if sym=':' %then %result=assign
#line 91 "regression-compile-tmp/precedence-rainer.imp"
if (((SYM) != (58))) goto L_0025;
#line 91 "regression-compile-tmp/precedence-rainer.imp"
/* Remove %on %event handler here if present for this block */
return 6;
#line 91 "regression-compile-tmp/precedence-rainer.imp"
L_0025:;
                                                                //     92    %if sym=')' %or sym=nl %then %result=end
#line 92 "regression-compile-tmp/precedence-rainer.imp"
if (((SYM) == (41))) goto L_001f;
#line 92 "regression-compile-tmp/precedence-rainer.imp"
if (((SYM) != (10))) goto L_0026;
#line 92 "regression-compile-tmp/precedence-rainer.imp"
L_001f:;
#line 92 "regression-compile-tmp/precedence-rainer.imp"
/* Remove %on %event handler here if present for this block */
return 7;
#line 92 "regression-compile-tmp/precedence-rainer.imp"
L_0026:;
                                                                //     93    print symbol(sym)
#line 93 "regression-compile-tmp/precedence-rainer.imp"
_imp_PRINTSYMBOL(SYM);
                                                                //     94    print string(" operator")
#line 94 "regression-compile-tmp/precedence-rainer.imp"
_imp_PRINTSTRING(_imp_str_literal(" operator"));
                                                                //     95    %signal 15
#line 95 "regression-compile-tmp/precedence-rainer.imp"
_imp_signal(15, 0, 0, "");
                                                                //     96  %end
#line 96 "regression-compile-tmp/precedence-rainer.imp"
/*_imp_signal(8, 4, 0, "");*/
fprintf(stderr, "%%RESULT missing in %s in file %s:%d\n", __PRETTY_FUNCTION__, (_imp_current_file != 0 ? _imp_current_file : __FILE__), (_imp_current_line != 0 ? _imp_current_line : __LINE__));
exit(1);
} // End of block NEXTOP at level 3
                                                                //     97  !
                                                                //     98  %routine operate
#line 98 "regression-compile-tmp/precedence-rainer.imp"
void OPERATE( void )
#line 98 "regression-compile-tmp/precedence-rainer.imp"
{
                                                                //     99  %real opd1,opd2
#line 99 "regression-compile-tmp/precedence-rainer.imp"
float OPD1;
#line 99 "regression-compile-tmp/precedence-rainer.imp"
float OPD2;
                                                                //    100  %switch opn(plus:exp)
#line 100 "regression-compile-tmp/precedence-rainer.imp"
static int sw1_OPN_idx;
static const void * /*SWITCH*/ sw1_OPN[5] = { &&sw1_OPN_1, &&sw1_OPN_2, &&sw1_OPN_3, &&sw1_OPN_4, &&sw1_OPN_5,  };
                                                                //    101    opd2=popopd
#line 101 "regression-compile-tmp/precedence-rainer.imp"
OPD2 = POPOPD();
                                                                //    102    opd1=popopd
#line 102 "regression-compile-tmp/precedence-rainer.imp"
OPD1 = POPOPD();
                                                                //    103    ->opn(popop)
#line 103 "regression-compile-tmp/precedence-rainer.imp"
sw1_OPN_idx = POPOP(); if ((1 <= sw1_OPN_idx) && (sw1_OPN_idx <= 5)) goto *(sw1_OPN-1)[sw1_OPN_idx];  /* Bounds=1:5 */ else {
   /*_imp_signal(8, 2, sw1_OPN_idx);*/
   fprintf(stderr, "%%SWITCH index OPN(%d) not in range 1:5 at %s:%d\n",
           sw1_OPN_idx, (_imp_current_file != 0 ? _imp_current_file : __FILE__),
           (_imp_current_line != 0 ? _imp_current_line : __LINE__));
           exit(1);
}
                                                                //    104  opn(plus):pushopd(opd1+opd2) ; %return
#line 104 "regression-compile-tmp/precedence-rainer.imp"
sw1_OPN_1:;
#line 104 "regression-compile-tmp/precedence-rainer.imp"
PUSHOPD((((float)(OPD1)) + (OPD2)));
#line 104 "regression-compile-tmp/precedence-rainer.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //    105  opn(minus):pushopd(opd1-opd2) ; %return
#line 105 "regression-compile-tmp/precedence-rainer.imp"
sw1_OPN_2:;
#line 105 "regression-compile-tmp/precedence-rainer.imp"
PUSHOPD((((float)(OPD1)) - (OPD2)));
#line 105 "regression-compile-tmp/precedence-rainer.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //    106  opn(times):pushopd(opd1*opd2) ; %return
#line 106 "regression-compile-tmp/precedence-rainer.imp"
sw1_OPN_3:;
#line 106 "regression-compile-tmp/precedence-rainer.imp"
PUSHOPD((((float)(OPD1)) * (OPD2)));
#line 106 "regression-compile-tmp/precedence-rainer.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //    107  opn(divide):%if opd2=0 %then print string("divide by zero") %and %signal 15
#line 107 "regression-compile-tmp/precedence-rainer.imp"
sw1_OPN_4:;
#line 107 "regression-compile-tmp/precedence-rainer.imp"
if (((OPD2) != (0))) goto L_0027;
#line 107 "regression-compile-tmp/precedence-rainer.imp"
_imp_PRINTSTRING(_imp_str_literal("divide by zero"));
#line 107 "regression-compile-tmp/precedence-rainer.imp"
_imp_signal(15, 0, 0, "");
#line 107 "regression-compile-tmp/precedence-rainer.imp"
L_0027:;
                                                                //    108              pushopd(opd1/opd2) ; %return
#line 108 "regression-compile-tmp/precedence-rainer.imp"
PUSHOPD(((double)((double)((float)(OPD1)) / (double)((float)(OPD2)))));
#line 108 "regression-compile-tmp/precedence-rainer.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //    109  opn(exp):pushopd(opd1^int(opd2))
#line 109 "regression-compile-tmp/precedence-rainer.imp"
sw1_OPN_5:;
#line 109 "regression-compile-tmp/precedence-rainer.imp"
PUSHOPD(_imp_REXP(OPD1, _imp_INT(OPD2)));
                                                                //    110  %end
#line 110 "regression-compile-tmp/precedence-rainer.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block OPERATE at level 3
                                                                //    111  !
                                                                //    112  %end  {of eval}
#line 112 "regression-compile-tmp/precedence-rainer.imp"
/*_imp_signal(8, 4, 0, "");*/
fprintf(stderr, "%%RESULT missing in %s in file %s:%d\n", __PRETTY_FUNCTION__, (_imp_current_file != 0 ? _imp_current_file : __FILE__), (_imp_current_line != 0 ? _imp_current_line : __LINE__));
exit(1);
} // End of block EVAL at level 2
                                                                //    113  %real val
#line 113 "regression-compile-tmp/precedence-rainer.imp"
float VAL;
                                                                //    114  
                                                                //    115    %on %event 9,15 %start    {to trap everything}
#line 115 "regression-compile-tmp/precedence-rainer.imp"
if (!_imp_on_event(9, 15)) goto L_0028;  /* TO DO: Remove %on %event handler just before L_0028: if present for this block */
                                                                //    116  {*} %stop %if Event_Event = 9
#line 116 "regression-compile-tmp/precedence-rainer.imp"
if (((_imp_EVENT().EVENT) != (9))) goto L_0029;
#line 116 "regression-compile-tmp/precedence-rainer.imp"
exit(0);
#line 116 "regression-compile-tmp/precedence-rainer.imp"
L_0029:;
                                                                //    117      print string("?
#line 117 "regression-compile-tmp/precedence-rainer.imp"
_imp_PRINTSTRING(_imp_str_literal("?\n"));
                                                                //    118  ")
                                                                //    119     ->again ; %finish
#line 119 "regression-compile-tmp/precedence-rainer.imp"
goto U_1000;
#line 119 "regression-compile-tmp/precedence-rainer.imp"
L_0028:;
                                                                //    120  
                                                                //    121  select input(0); select output(0)
#line 121 "regression-compile-tmp/precedence-rainer.imp"
_imp_SELECTINPUT(0);
#line 121 "regression-compile-tmp/precedence-rainer.imp"
_imp_SELECTOUTPUT(0);
                                                                //    122        prompt("eval:")
#line 122 "regression-compile-tmp/precedence-rainer.imp"
_imp_PROMPT(_imp_str_literal("eval:"));
                                                                //    123  again:val=eval
#line 123 "regression-compile-tmp/precedence-rainer.imp"
U_1000:;
#line 123 "regression-compile-tmp/precedence-rainer.imp"
VAL = EVAL();
                                                                //    124        %if val=int(val) %then write(int(val),0) { imp77 perms missing} {%else print(val,0,4)}
#line 124 "regression-compile-tmp/precedence-rainer.imp"
if (((VAL) != (_imp_INT(VAL)))) goto L_002a;
#line 124 "regression-compile-tmp/precedence-rainer.imp"
_imp_WRITE(_imp_INT(VAL), 0);
#line 124 "regression-compile-tmp/precedence-rainer.imp"
L_002a:;
                                                                //    125        newline
#line 125 "regression-compile-tmp/precedence-rainer.imp"
_imp_NEWLINE();
                                                                //    126        ->again
#line 126 "regression-compile-tmp/precedence-rainer.imp"
goto U_1000;
                                                                //    127  
                                                                //    128  %endofprogram
#line 128 "regression-compile-tmp/precedence-rainer.imp"
return 0;
} // End of block _imp_main at level 1
#line 128 "regression-compile-tmp/precedence-rainer.imp"
// End of file
