#include <perms.h>

                                                                //      1  %EXTERNALROUTINE BACKGAMMON (%STRING(255) ST)
#line 1 "regression-compile-tmp/gammon.imp"
void BACKGAMMON( _imp_string /*%string(255)*/ ST )
#line 1 "regression-compile-tmp/gammon.imp"
{
                                                                //      2   %OWNINTEGER BBOFF,WBOFF,DICE1,DICE2,BARFL,BRDVAL,BSTVAL,COMPVAL
#line 2 "regression-compile-tmp/gammon.imp"
static int BBOFF;
#line 2 "regression-compile-tmp/gammon.imp"
static int WBOFF;
#line 2 "regression-compile-tmp/gammon.imp"
static int DICE1;
#line 2 "regression-compile-tmp/gammon.imp"
static int DICE2;
#line 2 "regression-compile-tmp/gammon.imp"
static int BARFL;
#line 2 "regression-compile-tmp/gammon.imp"
static int BRDVAL;
#line 2 "regression-compile-tmp/gammon.imp"
static int BSTVAL;
#line 2 "regression-compile-tmp/gammon.imp"
static int COMPVAL;
                                                                //      3   %OWNINTEGER M1,M2,M3,M4,V1,V2,V3,V4,V5,V6,V7,V8,V9,V10,I,J,K,RUNNING
#line 3 "regression-compile-tmp/gammon.imp"
static int M1;
#line 3 "regression-compile-tmp/gammon.imp"
static int M2;
#line 3 "regression-compile-tmp/gammon.imp"
static int M3;
#line 3 "regression-compile-tmp/gammon.imp"
static int M4;
#line 3 "regression-compile-tmp/gammon.imp"
static int V1;
#line 3 "regression-compile-tmp/gammon.imp"
static int V2;
#line 3 "regression-compile-tmp/gammon.imp"
static int V3;
#line 3 "regression-compile-tmp/gammon.imp"
static int V4;
#line 3 "regression-compile-tmp/gammon.imp"
static int V5;
#line 3 "regression-compile-tmp/gammon.imp"
static int V6;
#line 3 "regression-compile-tmp/gammon.imp"
static int V7;
#line 3 "regression-compile-tmp/gammon.imp"
static int V8;
#line 3 "regression-compile-tmp/gammon.imp"
static int V9;
#line 3 "regression-compile-tmp/gammon.imp"
static int V10;
#line 3 "regression-compile-tmp/gammon.imp"
static int I;
#line 3 "regression-compile-tmp/gammon.imp"
static int J;
#line 3 "regression-compile-tmp/gammon.imp"
static int K;
#line 3 "regression-compile-tmp/gammon.imp"
static int RUNNING;
                                                                //      4   %OWNINTEGER NOMOV,BARPT1,BARPT2,PT1,PT2,L,M,N,TEMP,BSTMOV1,BSTMOV2
#line 4 "regression-compile-tmp/gammon.imp"
static int NOMOV;
#line 4 "regression-compile-tmp/gammon.imp"
static int BARPT1;
#line 4 "regression-compile-tmp/gammon.imp"
static int BARPT2;
#line 4 "regression-compile-tmp/gammon.imp"
static int PT1;
#line 4 "regression-compile-tmp/gammon.imp"
static int PT2;
#line 4 "regression-compile-tmp/gammon.imp"
static int L;
#line 4 "regression-compile-tmp/gammon.imp"
static int M;
#line 4 "regression-compile-tmp/gammon.imp"
static int N;
#line 4 "regression-compile-tmp/gammon.imp"
static int TEMP;
#line 4 "regression-compile-tmp/gammon.imp"
static int BSTMOV1;
#line 4 "regression-compile-tmp/gammon.imp"
static int BSTMOV2;
                                                                //      5   %OWNINTEGER BSTPT1,BSTPT2,W1,W2,W3,W4,W5,W6,W7,W8,W9,W10
#line 5 "regression-compile-tmp/gammon.imp"
static int BSTPT1;
#line 5 "regression-compile-tmp/gammon.imp"
static int BSTPT2;
#line 5 "regression-compile-tmp/gammon.imp"
static int W1;
#line 5 "regression-compile-tmp/gammon.imp"
static int W2;
#line 5 "regression-compile-tmp/gammon.imp"
static int W3;
#line 5 "regression-compile-tmp/gammon.imp"
static int W4;
#line 5 "regression-compile-tmp/gammon.imp"
static int W5;
#line 5 "regression-compile-tmp/gammon.imp"
static int W6;
#line 5 "regression-compile-tmp/gammon.imp"
static int W7;
#line 5 "regression-compile-tmp/gammon.imp"
static int W8;
#line 5 "regression-compile-tmp/gammon.imp"
static int W9;
#line 5 "regression-compile-tmp/gammon.imp"
static int W10;
                                                                //      6   %OWNINTEGER SECOND,BV1,BV2,BV3,BV4,BV5,BV6,BV7,BV8,BV9,BV10
#line 6 "regression-compile-tmp/gammon.imp"
static int SECOND;
#line 6 "regression-compile-tmp/gammon.imp"
static int BV1;
#line 6 "regression-compile-tmp/gammon.imp"
static int BV2;
#line 6 "regression-compile-tmp/gammon.imp"
static int BV3;
#line 6 "regression-compile-tmp/gammon.imp"
static int BV4;
#line 6 "regression-compile-tmp/gammon.imp"
static int BV5;
#line 6 "regression-compile-tmp/gammon.imp"
static int BV6;
#line 6 "regression-compile-tmp/gammon.imp"
static int BV7;
#line 6 "regression-compile-tmp/gammon.imp"
static int BV8;
#line 6 "regression-compile-tmp/gammon.imp"
static int BV9;
#line 6 "regression-compile-tmp/gammon.imp"
static int BV10;
                                                                //      7   %CONSTINTEGERARRAY ODDS(1:12)=35,38,44,47,47,53,18,21,15,12,6,9
#line 7 "regression-compile-tmp/gammon.imp"
const int ODDS[12] = { 35, 38, 44, 47, 47, 53, 18, 21, 15, 12, 6, 9,  };
                                                                //      8   %RECORDFORMAT F(%INTEGER WS,BS)
#line 8 "regression-compile-tmp/gammon.imp"
typedef struct F F;
struct F {
  int WS;
  int BS;
};
                                                                //      9   %OWNRECORD(f)%ARRAY BOARD(0:25){(F)}
#line 9 "regression-compile-tmp/gammon.imp"
static  F BOARD[26];
                                                                //     10   %OWNINTEGER G,H,PT3,PT4,DICE3,DICE4,BSTPT3,BSTPT4,BARPT3,BARPT4
#line 10 "regression-compile-tmp/gammon.imp"
static int G;
#line 10 "regression-compile-tmp/gammon.imp"
static int H;
#line 10 "regression-compile-tmp/gammon.imp"
static int PT3;
#line 10 "regression-compile-tmp/gammon.imp"
static int PT4;
#line 10 "regression-compile-tmp/gammon.imp"
static int DICE3;
#line 10 "regression-compile-tmp/gammon.imp"
static int DICE4;
#line 10 "regression-compile-tmp/gammon.imp"
static int BSTPT3;
#line 10 "regression-compile-tmp/gammon.imp"
static int BSTPT4;
#line 10 "regression-compile-tmp/gammon.imp"
static int BARPT3;
#line 10 "regression-compile-tmp/gammon.imp"
static int BARPT4;
                                                                //     11   %INTEGERFN HOMEB
#line 11 "regression-compile-tmp/gammon.imp"
int HOMEB( void )
#line 11 "regression-compile-tmp/gammon.imp"
{
                                                                //     12   %INTEGER NO,I
#line 12 "regression-compile-tmp/gammon.imp"
int NO;
#line 12 "regression-compile-tmp/gammon.imp"
int I;
                                                                //     13   NO=BBOFF
#line 13 "regression-compile-tmp/gammon.imp"
NO = BBOFF;
                                                                //     14   %CYCLE I=1,1,6
#line 14 "regression-compile-tmp/gammon.imp"
I = 0;
if ((((6)-(1)) % (1)) != 0) _imp_signal(5,1,0,"Illegal cycle I = 1, 1, 6");
L_0002:;
if (I == 6) goto L_0003;
I += 1;
                                                                //     15       NO=NO+BOARD(I)_BS
#line 15 "regression-compile-tmp/gammon.imp"
NO = (((int)(NO)) + (BOARD[I].BS));
                                                                //     16   %REPEAT
#line 16 "regression-compile-tmp/gammon.imp"
goto L_0002;
#line 16 "regression-compile-tmp/gammon.imp"
L_0003:;
                                                                //     17   %IF NO=15 %THENRESULT = 1 %ELSERESULT = 0
#line 17 "regression-compile-tmp/gammon.imp"
if (((NO) != (15))) goto L_0005;
#line 17 "regression-compile-tmp/gammon.imp"
/* Remove %on %event handler here if present for this block */
return 1;
#line 17 "regression-compile-tmp/gammon.imp"
L_0005:;
#line 17 "regression-compile-tmp/gammon.imp"
/* Remove %on %event handler here if present for this block */
return 0;
                                                                //     18   %END
#line 18 "regression-compile-tmp/gammon.imp"
} // End of block HOMEB at level 2
                                                                //     19  
                                                                //     20   %ROUTINE DOBLACK
#line 20 "regression-compile-tmp/gammon.imp"
void DOBLACK( void )
#line 20 "regression-compile-tmp/gammon.imp"
{
                                                                //     21   %INTEGER PT,NO,M,D1,D2,D3,D4,TOT
#line 21 "regression-compile-tmp/gammon.imp"
int PT;
#line 21 "regression-compile-tmp/gammon.imp"
int NO;
#line 21 "regression-compile-tmp/gammon.imp"
int M;
#line 21 "regression-compile-tmp/gammon.imp"
int D1;
#line 21 "regression-compile-tmp/gammon.imp"
int D2;
#line 21 "regression-compile-tmp/gammon.imp"
int D3;
#line 21 "regression-compile-tmp/gammon.imp"
int D4;
#line 21 "regression-compile-tmp/gammon.imp"
int TOT;
                                                                //     22     PROMPT ("Point:")
#line 22 "regression-compile-tmp/gammon.imp"
_imp_PROMPT(_imp_str_literal("Point:"));
                                                                //     23   %CYCLE
#line 23 "regression-compile-tmp/gammon.imp"
L_0006:;
                                                                //     24      READ(D1); READ(D2)
#line 24 "regression-compile-tmp/gammon.imp"
_imp_READ(&D1);
#line 24 "regression-compile-tmp/gammon.imp"
_imp_READ(&D2);
                                                                //     25      %IF D1>6 %OR D2>6 %THEN PRINTSTRING("No way") %AND NEWLINE %ELSEEXIT
#line 25 "regression-compile-tmp/gammon.imp"
if (((D1) > (6))) goto L_0009;
#line 25 "regression-compile-tmp/gammon.imp"
if (((D2) <= (6))) goto L_000a;
#line 25 "regression-compile-tmp/gammon.imp"
L_0009:;
#line 25 "regression-compile-tmp/gammon.imp"
_imp_PRINTSTRING(_imp_str_literal("No way"));
#line 25 "regression-compile-tmp/gammon.imp"
_imp_NEWLINE();
#line 25 "regression-compile-tmp/gammon.imp"
goto L_000b;
#line 25 "regression-compile-tmp/gammon.imp"
L_000a:;
#line 25 "regression-compile-tmp/gammon.imp"
goto L_0007;
#line 25 "regression-compile-tmp/gammon.imp"
L_000b:;
                                                                //     26   %REPEAT
#line 26 "regression-compile-tmp/gammon.imp"
goto L_0006;
#line 26 "regression-compile-tmp/gammon.imp"
L_0007:;
                                                                //     27   %IF D1=D2 %THEN D3=D1 %AND D4=D2 %ELSE D3=0 %AND D4=0
#line 27 "regression-compile-tmp/gammon.imp"
if (((D1) != (D2))) goto L_000c;
#line 27 "regression-compile-tmp/gammon.imp"
D3 = D1;
#line 27 "regression-compile-tmp/gammon.imp"
D4 = D2;
#line 27 "regression-compile-tmp/gammon.imp"
goto L_000d;
#line 27 "regression-compile-tmp/gammon.imp"
L_000c:;
#line 27 "regression-compile-tmp/gammon.imp"
D3 = 0;
#line 27 "regression-compile-tmp/gammon.imp"
D4 = 0;
#line 27 "regression-compile-tmp/gammon.imp"
L_000d:;
                                                                //     28   PRINTSTRING("Your throw was")
#line 28 "regression-compile-tmp/gammon.imp"
_imp_PRINTSTRING(_imp_str_literal("Your throw was"));
                                                                //     29   WRITE(D1,2); WRITE(D2,2)
#line 29 "regression-compile-tmp/gammon.imp"
_imp_WRITE(D1, 2);
#line 29 "regression-compile-tmp/gammon.imp"
_imp_WRITE(D2, 2);
                                                                //     30   NEWLINE
#line 30 "regression-compile-tmp/gammon.imp"
_imp_NEWLINE();
                                                                //     31   %IF BOARD(25)_BS>0 %THENSTART
#line 31 "regression-compile-tmp/gammon.imp"
if (((BOARD[25].BS) <= (0))) goto L_000e;
                                                                //     32      %IF BOARD(25-D1)_WS>1 %AND BOARD(25-D2)_WS>1 %C
#line 32 "regression-compile-tmp/gammon.imp"
if (((BOARD[(((int)(25)) - (D1))].WS) <= (1))) goto L_000f;
#line 32 "regression-compile-tmp/gammon.imp"
if (((BOARD[(((int)(25)) - (D2))].WS) <= (1))) goto L_000f;
#line 32 "regression-compile-tmp/gammon.imp"
_imp_PRINTSTRING(_imp_str_literal("You cannot move"));
#line 32 "regression-compile-tmp/gammon.imp"
_imp_NEWLINE();
#line 32 "regression-compile-tmp/gammon.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 32 "regression-compile-tmp/gammon.imp"
L_000f:;
                                                                //     33         %THEN PRINTSTRING("You cannot move") %AND NEWLINE %ANDRETURN
                                                                //     34      %IF BOARD(25)_BS#1 %THENSTART
#line 34 "regression-compile-tmp/gammon.imp"
if (((BOARD[25].BS) == (1))) goto L_0010;
                                                                //     35         %IF D1#D2 %THENSTART
#line 35 "regression-compile-tmp/gammon.imp"
if (((D1) == (D2))) goto L_0011;
                                                                //     36            %IF BOARD(25-D1)_WS>1 %THENSTART
#line 36 "regression-compile-tmp/gammon.imp"
if (((BOARD[(((int)(25)) - (D1))].WS) <= (1))) goto L_0012;
                                                                //     37               BOARD(25-D2)_BS=BOARD(25-D2)_BS+1
#line 37 "regression-compile-tmp/gammon.imp"
BOARD[(((int)(25)) - (D2))].BS = (((int)(BOARD[(((int)(25)) - (D2))].BS)) + (1));
                                                                //     38               BOARD(25)_BS=BOARD(25)_BS-1
#line 38 "regression-compile-tmp/gammon.imp"
BOARD[25].BS = (((int)(BOARD[25].BS)) - (1));
                                                                //     39               BOARD(25-D2)_WS=0
#line 39 "regression-compile-tmp/gammon.imp"
BOARD[(((int)(25)) - (D2))].WS = 0;
                                                                //     40               BOARD(0)_WS=BOARD(0)_WS+1
#line 40 "regression-compile-tmp/gammon.imp"
BOARD[0].WS = (((int)(BOARD[0].WS)) + (1));
                                                                //     41               PRINTSTRING("I have made your move")
#line 41 "regression-compile-tmp/gammon.imp"
_imp_PRINTSTRING(_imp_str_literal("I have made your move"));
                                                                //     42               NEWLINE
#line 42 "regression-compile-tmp/gammon.imp"
_imp_NEWLINE();
                                                                //     43               %RETURN
#line 43 "regression-compile-tmp/gammon.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //     44            %FINISH
#line 44 "regression-compile-tmp/gammon.imp"
L_0012:;
                                                                //     45            %IF BOARD(25-D2)_WS>1 %THENSTART
#line 45 "regression-compile-tmp/gammon.imp"
if (((BOARD[(((int)(25)) - (D2))].WS) <= (1))) goto L_0013;
                                                                //     46               BOARD(25-D1)_BS=BOARD(25-D1)_BS+1
#line 46 "regression-compile-tmp/gammon.imp"
BOARD[(((int)(25)) - (D1))].BS = (((int)(BOARD[(((int)(25)) - (D1))].BS)) + (1));
                                                                //     47               BOARD(25)_BS=BOARD(25)_BS-1
#line 47 "regression-compile-tmp/gammon.imp"
BOARD[25].BS = (((int)(BOARD[25].BS)) - (1));
                                                                //     48               BOARD(25-D1)_WS=0
#line 48 "regression-compile-tmp/gammon.imp"
BOARD[(((int)(25)) - (D1))].WS = 0;
                                                                //     49               BOARD(0)_WS=BOARD(0)_WS+1
#line 49 "regression-compile-tmp/gammon.imp"
BOARD[0].WS = (((int)(BOARD[0].WS)) + (1));
                                                                //     50               PRINTSTRING("I have made your move")
#line 50 "regression-compile-tmp/gammon.imp"
_imp_PRINTSTRING(_imp_str_literal("I have made your move"));
                                                                //     51               NEWLINE
#line 51 "regression-compile-tmp/gammon.imp"
_imp_NEWLINE();
                                                                //     52               %RETURN
#line 52 "regression-compile-tmp/gammon.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //     53            %FINISH
#line 53 "regression-compile-tmp/gammon.imp"
L_0013:;
                                                                //     54         %FINISH
#line 54 "regression-compile-tmp/gammon.imp"
L_0011:;
                                                                //     55      %FINISH
#line 55 "regression-compile-tmp/gammon.imp"
L_0010:;
                                                                //     56   %FINISH
#line 56 "regression-compile-tmp/gammon.imp"
L_000e:;
                                                                //     57   PRINTSTRING("Make your move"); NEWLINE
#line 57 "regression-compile-tmp/gammon.imp"
_imp_PRINTSTRING(_imp_str_literal("Make your move"));
#line 57 "regression-compile-tmp/gammon.imp"
_imp_NEWLINE();
                                                                //     58   %CYCLE M=1,1,4
#line 58 "regression-compile-tmp/gammon.imp"
M = 0;
if ((((4)-(1)) % (1)) != 0) _imp_signal(5,1,0,"Illegal cycle M = 1, 1, 4");
L_0014:;
if (M == 4) goto L_0015;
M += 1;
                                                                //     59  AGN: TOT=D1+D2+D3+D4
#line 59 "regression-compile-tmp/gammon.imp"
U_1000:;
#line 59 "regression-compile-tmp/gammon.imp"
TOT = (((int)((((int)((((int)(D1)) + (D2)))) + (D3)))) + (D4));
                                                                //     60   %IF TOT=0 %THENRETURN
#line 60 "regression-compile-tmp/gammon.imp"
if (((TOT) != (0))) goto L_0017;
#line 60 "regression-compile-tmp/gammon.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 60 "regression-compile-tmp/gammon.imp"
L_0017:;
                                                                //     61   READ(PT); %IF PT=100 %THENRETURN; READ(NO)
#line 61 "regression-compile-tmp/gammon.imp"
_imp_READ(&PT);
#line 61 "regression-compile-tmp/gammon.imp"
if (((PT) != (100))) goto L_0018;
#line 61 "regression-compile-tmp/gammon.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 61 "regression-compile-tmp/gammon.imp"
L_0018:;
#line 61 "regression-compile-tmp/gammon.imp"
_imp_READ(&NO);
                                                                //     62   %IF BOARD(PT)_BS=0 %THEN PRINTSTRING("No blacks on point") %C
#line 62 "regression-compile-tmp/gammon.imp"
if (((BOARD[PT].BS) != (0))) goto L_0019;
#line 62 "regression-compile-tmp/gammon.imp"
_imp_PRINTSTRING(_imp_str_literal("No blacks on point"));
#line 62 "regression-compile-tmp/gammon.imp"
_imp_NEWLINE();
#line 62 "regression-compile-tmp/gammon.imp"
goto U_1000;
#line 62 "regression-compile-tmp/gammon.imp"
L_0019:;
                                                                //     63      %AND NEWLINE %AND ->AGN
                                                                //     64   %IF BOARD(25)_BS#0 %AND PT#25 %THEN %C
#line 64 "regression-compile-tmp/gammon.imp"
if (((BOARD[25].BS) == (0))) goto L_001a;
#line 64 "regression-compile-tmp/gammon.imp"
if (((PT) == (25))) goto L_001a;
#line 64 "regression-compile-tmp/gammon.imp"
_imp_PRINTSTRING(_imp_str_literal("You have pieces on the bar"));
#line 64 "regression-compile-tmp/gammon.imp"
_imp_NEWLINE();
#line 64 "regression-compile-tmp/gammon.imp"
goto U_1000;
#line 64 "regression-compile-tmp/gammon.imp"
L_001a:;
                                                                //     65      PRINTSTRING("You have pieces on the bar") %AND NEWLINE %AND ->AGN
                                                                //     66   %IF PT-NO<=0 %THENSTART
#line 66 "regression-compile-tmp/gammon.imp"
if ((((((int)(PT)) - (NO))) > (0))) goto L_001b;
                                                                //     67      %IF HOMEB=0 %THEN PRINTSTRING("Not all home") %AND %C
#line 67 "regression-compile-tmp/gammon.imp"
if (((HOMEB()) != (0))) goto L_001c;
#line 67 "regression-compile-tmp/gammon.imp"
_imp_PRINTSTRING(_imp_str_literal("Not all home"));
#line 67 "regression-compile-tmp/gammon.imp"
_imp_NEWLINE();
#line 67 "regression-compile-tmp/gammon.imp"
goto U_1000;
#line 67 "regression-compile-tmp/gammon.imp"
L_001c:;
                                                                //     68         NEWLINE %AND ->AGN; ->LEGMOV
#line 68 "regression-compile-tmp/gammon.imp"
goto U_1001;
                                                                //     69   %FINISH
#line 69 "regression-compile-tmp/gammon.imp"
L_001b:;
                                                                //     70   %IF BOARD(PT-NO)_WS>1 %THEN PRINTSTRING("White has point") %C
#line 70 "regression-compile-tmp/gammon.imp"
if (((BOARD[(((int)(PT)) - (NO))].WS) <= (1))) goto L_001d;
#line 70 "regression-compile-tmp/gammon.imp"
_imp_PRINTSTRING(_imp_str_literal("White has point"));
#line 70 "regression-compile-tmp/gammon.imp"
_imp_NEWLINE();
#line 70 "regression-compile-tmp/gammon.imp"
goto U_1000;
#line 70 "regression-compile-tmp/gammon.imp"
L_001d:;
                                                                //     71      %AND NEWLINE %AND ->AGN
                                                                //     72  LEGMOV: %IF NO=D1 %THEN D1=0 %ELSESTART
#line 72 "regression-compile-tmp/gammon.imp"
U_1001:;
#line 72 "regression-compile-tmp/gammon.imp"
if (((NO) != (D1))) goto L_001e;
#line 72 "regression-compile-tmp/gammon.imp"
D1 = 0;
#line 72 "regression-compile-tmp/gammon.imp"
goto L_001f;
#line 72 "regression-compile-tmp/gammon.imp"
L_001e:;
                                                                //     73      %IF NO=D2 %THEN D2=0 %ELSESTART
#line 73 "regression-compile-tmp/gammon.imp"
if (((NO) != (D2))) goto L_0020;
#line 73 "regression-compile-tmp/gammon.imp"
D2 = 0;
#line 73 "regression-compile-tmp/gammon.imp"
goto L_0021;
#line 73 "regression-compile-tmp/gammon.imp"
L_0020:;
                                                                //     74         %IF NO=D3 %THEN D3=0 %ELSESTART
#line 74 "regression-compile-tmp/gammon.imp"
if (((NO) != (D3))) goto L_0022;
#line 74 "regression-compile-tmp/gammon.imp"
D3 = 0;
#line 74 "regression-compile-tmp/gammon.imp"
goto L_0023;
#line 74 "regression-compile-tmp/gammon.imp"
L_0022:;
                                                                //     75            %IF NO=D4 %THEN D4=0 %ELSESTART
#line 75 "regression-compile-tmp/gammon.imp"
if (((NO) != (D4))) goto L_0024;
#line 75 "regression-compile-tmp/gammon.imp"
D4 = 0;
#line 75 "regression-compile-tmp/gammon.imp"
goto L_0025;
#line 75 "regression-compile-tmp/gammon.imp"
L_0024:;
                                                                //     76               PRINTSTRING("Illegal move"); NEWLINE; ->AGN
#line 76 "regression-compile-tmp/gammon.imp"
_imp_PRINTSTRING(_imp_str_literal("Illegal move"));
#line 76 "regression-compile-tmp/gammon.imp"
_imp_NEWLINE();
#line 76 "regression-compile-tmp/gammon.imp"
goto U_1000;
                                                                //     77            %FINISH
#line 77 "regression-compile-tmp/gammon.imp"
L_0025:;
                                                                //     78         %FINISH
#line 78 "regression-compile-tmp/gammon.imp"
L_0023:;
                                                                //     79      %FINISH
#line 79 "regression-compile-tmp/gammon.imp"
L_0021:;
                                                                //     80   %FINISH
#line 80 "regression-compile-tmp/gammon.imp"
L_001f:;
                                                                //     81   %IF PT-NO <=0 %THEN ->BBEARO
#line 81 "regression-compile-tmp/gammon.imp"
if ((((((int)(PT)) - (NO))) > (0))) goto L_0026;
#line 81 "regression-compile-tmp/gammon.imp"
goto U_1002;
#line 81 "regression-compile-tmp/gammon.imp"
L_0026:;
                                                                //     82   BOARD(PT)_BS=BOARD(PT)_BS-1
#line 82 "regression-compile-tmp/gammon.imp"
BOARD[PT].BS = (((int)(BOARD[PT].BS)) - (1));
                                                                //     83   BOARD(PT-NO)_BS=BOARD(PT-NO)_BS+1
#line 83 "regression-compile-tmp/gammon.imp"
BOARD[(((int)(PT)) - (NO))].BS = (((int)(BOARD[(((int)(PT)) - (NO))].BS)) + (1));
                                                                //     84   %IF BOARD(PT-NO)_WS=1 %THEN BOARD(PT-NO)_WS=0 %C
#line 84 "regression-compile-tmp/gammon.imp"
if (((BOARD[(((int)(PT)) - (NO))].WS) != (1))) goto L_0027;
#line 84 "regression-compile-tmp/gammon.imp"
BOARD[(((int)(PT)) - (NO))].WS = 0;
#line 84 "regression-compile-tmp/gammon.imp"
BOARD[0].WS = (((int)(BOARD[0].WS)) + (1));
#line 84 "regression-compile-tmp/gammon.imp"
L_0027:;
                                                                //     85      %AND BOARD(0)_WS=BOARD(0)_WS+1
                                                                //     86   ->SKP
#line 86 "regression-compile-tmp/gammon.imp"
goto U_1003;
                                                                //     87  BBEARO: BBOFF=BBOFF+1
#line 87 "regression-compile-tmp/gammon.imp"
U_1002:;
#line 87 "regression-compile-tmp/gammon.imp"
BBOFF = (((int)(BBOFF)) + (1));
                                                                //     88   BOARD(PT)_BS=BOARD(PT)_BS-1
#line 88 "regression-compile-tmp/gammon.imp"
BOARD[PT].BS = (((int)(BOARD[PT].BS)) - (1));
                                                                //     89   %IF BBOFF=15 %THENRETURN
#line 89 "regression-compile-tmp/gammon.imp"
if (((BBOFF) != (15))) goto L_0028;
#line 89 "regression-compile-tmp/gammon.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 89 "regression-compile-tmp/gammon.imp"
L_0028:;
                                                                //     90  SKP: %REPEAT
#line 90 "regression-compile-tmp/gammon.imp"
U_1003:;
#line 90 "regression-compile-tmp/gammon.imp"
goto L_0014;
#line 90 "regression-compile-tmp/gammon.imp"
L_0015:;
                                                                //     91   %END
#line 91 "regression-compile-tmp/gammon.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block DOBLACK at level 2
                                                                //     92  
                                                                //     93   %ROUTINE INITIALIZE
#line 93 "regression-compile-tmp/gammon.imp"
void INITIALIZE( void )
#line 93 "regression-compile-tmp/gammon.imp"
{
                                                                //     94   WBOFF=0
#line 94 "regression-compile-tmp/gammon.imp"
WBOFF = 0;
                                                                //     95   BBOFF=0
#line 95 "regression-compile-tmp/gammon.imp"
BBOFF = 0;
                                                                //     96   BOARD(1)_WS=2
#line 96 "regression-compile-tmp/gammon.imp"
BOARD[1].WS = 2;
                                                                //     97   BOARD(6)_BS=5
#line 97 "regression-compile-tmp/gammon.imp"
BOARD[6].BS = 5;
                                                                //     98   BOARD(8)_BS=3
#line 98 "regression-compile-tmp/gammon.imp"
BOARD[8].BS = 3;
                                                                //     99   BOARD(12)_WS=5
#line 99 "regression-compile-tmp/gammon.imp"
BOARD[12].WS = 5;
                                                                //    100   BOARD(13)_BS=5
#line 100 "regression-compile-tmp/gammon.imp"
BOARD[13].BS = 5;
                                                                //    101   BOARD(17)_WS=3
#line 101 "regression-compile-tmp/gammon.imp"
BOARD[17].WS = 3;
                                                                //    102   BOARD(19)_WS=5
#line 102 "regression-compile-tmp/gammon.imp"
BOARD[19].WS = 5;
                                                                //    103   BOARD(24)_BS=2
#line 103 "regression-compile-tmp/gammon.imp"
BOARD[24].BS = 2;
                                                                //    104   %END
#line 104 "regression-compile-tmp/gammon.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block INITIALIZE at level 2
                                                                //    105  
                                                                //    106   %ROUTINE PRINTSTATE
#line 106 "regression-compile-tmp/gammon.imp"
void PRINTSTATE( void )
#line 106 "regression-compile-tmp/gammon.imp"
{
                                                                //    107   %INTEGER I,J,K,M
#line 107 "regression-compile-tmp/gammon.imp"
int I;
#line 107 "regression-compile-tmp/gammon.imp"
int J;
#line 107 "regression-compile-tmp/gammon.imp"
int K;
#line 107 "regression-compile-tmp/gammon.imp"
int M;
                                                                //    108   NEWLINES(2)
#line 108 "regression-compile-tmp/gammon.imp"
_imp_NEWLINES(2);
                                                                //    109   PRINTSTRING(" 12  11  10   9   8   7      6   5   4   3   2   1")
#line 109 "regression-compile-tmp/gammon.imp"
_imp_PRINTSTRING(_imp_str_literal(" 12  11  10   9   8   7      6   5   4   3   2   1"));
                                                                //    110   NEWLINE
#line 110 "regression-compile-tmp/gammon.imp"
_imp_NEWLINE();
                                                                //    111   PRINTSTRING("___________________________________________________")
#line 111 "regression-compile-tmp/gammon.imp"
_imp_PRINTSTRING(_imp_str_literal("___________________________________________________"));
                                                                //    112   %CYCLE I=0,1,6
#line 112 "regression-compile-tmp/gammon.imp"
I = (-1);
if ((((6)-(0)) % (1)) != 0) _imp_signal(5,1,0,"Illegal cycle I = 0, 1, 6");
L_0029:;
if (I == 6) goto L_002a;
I += 1;
                                                                //    113      NEWLINE
#line 113 "regression-compile-tmp/gammon.imp"
_imp_NEWLINE();
                                                                //    114      SPACES(2)
#line 114 "regression-compile-tmp/gammon.imp"
_imp_SPACES(2);
                                                                //    115      %CYCLE J=12,-1,1
#line 115 "regression-compile-tmp/gammon.imp"
J = 13;
if ((((1)-(12)) % ((-1))) != 0) _imp_signal(5,1,0,"Illegal cycle J = 12, (-1), 1");
L_002c:;
if (J == 1) goto L_002d;
J += (-1);
                                                                //    116         %IF BOARD(J)_WS>I %THEN PRINTSYMBOL('W') %AND ->RPT
#line 116 "regression-compile-tmp/gammon.imp"
if (((BOARD[J].WS) <= (I))) goto L_002f;
#line 116 "regression-compile-tmp/gammon.imp"
_imp_PRINTSYMBOL(87);
#line 116 "regression-compile-tmp/gammon.imp"
goto U_1004;
#line 116 "regression-compile-tmp/gammon.imp"
L_002f:;
                                                                //    117         %IF BOARD(J)_BS>I %THEN PRINTSYMBOL('B') %AND ->RPT
#line 117 "regression-compile-tmp/gammon.imp"
if (((BOARD[J].BS) <= (I))) goto L_0030;
#line 117 "regression-compile-tmp/gammon.imp"
_imp_PRINTSYMBOL(66);
#line 117 "regression-compile-tmp/gammon.imp"
goto U_1004;
#line 117 "regression-compile-tmp/gammon.imp"
L_0030:;
                                                                //    118         SPACE
#line 118 "regression-compile-tmp/gammon.imp"
_imp_SPACE();
                                                                //    119  RPT:   %IF J=7 %THEN PRINTSTRING("  **  ") %ELSE SPACES(3)
#line 119 "regression-compile-tmp/gammon.imp"
U_1004:;
#line 119 "regression-compile-tmp/gammon.imp"
if (((J) != (7))) goto L_0031;
#line 119 "regression-compile-tmp/gammon.imp"
_imp_PRINTSTRING(_imp_str_literal("  **  "));
#line 119 "regression-compile-tmp/gammon.imp"
goto L_0032;
#line 119 "regression-compile-tmp/gammon.imp"
L_0031:;
#line 119 "regression-compile-tmp/gammon.imp"
_imp_SPACES(3);
#line 119 "regression-compile-tmp/gammon.imp"
L_0032:;
                                                                //    120      %REPEAT
#line 120 "regression-compile-tmp/gammon.imp"
goto L_002c;
#line 120 "regression-compile-tmp/gammon.imp"
L_002d:;
                                                                //    121   %REPEAT
#line 121 "regression-compile-tmp/gammon.imp"
goto L_0029;
#line 121 "regression-compile-tmp/gammon.imp"
L_002a:;
                                                                //    122   %CYCLE K=6,-1,0
#line 122 "regression-compile-tmp/gammon.imp"
K = 7;
if ((((0)-(6)) % ((-1))) != 0) _imp_signal(5,1,0,"Illegal cycle K = 6, (-1), 0");
L_0033:;
if (K == 0) goto L_0034;
K += (-1);
                                                                //    123      NEWLINE
#line 123 "regression-compile-tmp/gammon.imp"
_imp_NEWLINE();
                                                                //    124      SPACES(2)
#line 124 "regression-compile-tmp/gammon.imp"
_imp_SPACES(2);
                                                                //    125      %CYCLE M=13,1,24
#line 125 "regression-compile-tmp/gammon.imp"
M = 12;
if ((((24)-(13)) % (1)) != 0) _imp_signal(5,1,0,"Illegal cycle M = 13, 1, 24");
L_0036:;
if (M == 24) goto L_0037;
M += 1;
                                                                //    126         %IF BOARD(M)_WS>K %THEN PRINTSYMBOL('W') %AND ->RPT2
#line 126 "regression-compile-tmp/gammon.imp"
if (((BOARD[M].WS) <= (K))) goto L_0039;
#line 126 "regression-compile-tmp/gammon.imp"
_imp_PRINTSYMBOL(87);
#line 126 "regression-compile-tmp/gammon.imp"
goto U_1005;
#line 126 "regression-compile-tmp/gammon.imp"
L_0039:;
                                                                //    127         %IF BOARD(M)_BS>K %THEN PRINTSYMBOL('B') %AND ->RPT2
#line 127 "regression-compile-tmp/gammon.imp"
if (((BOARD[M].BS) <= (K))) goto L_003a;
#line 127 "regression-compile-tmp/gammon.imp"
_imp_PRINTSYMBOL(66);
#line 127 "regression-compile-tmp/gammon.imp"
goto U_1005;
#line 127 "regression-compile-tmp/gammon.imp"
L_003a:;
                                                                //    128         SPACE
#line 128 "regression-compile-tmp/gammon.imp"
_imp_SPACE();
                                                                //    129  RPT2:  %IF M=18 %THEN PRINTSTRING("  **  ") %ELSE SPACES(3)
#line 129 "regression-compile-tmp/gammon.imp"
U_1005:;
#line 129 "regression-compile-tmp/gammon.imp"
if (((M) != (18))) goto L_003b;
#line 129 "regression-compile-tmp/gammon.imp"
_imp_PRINTSTRING(_imp_str_literal("  **  "));
#line 129 "regression-compile-tmp/gammon.imp"
goto L_003c;
#line 129 "regression-compile-tmp/gammon.imp"
L_003b:;
#line 129 "regression-compile-tmp/gammon.imp"
_imp_SPACES(3);
#line 129 "regression-compile-tmp/gammon.imp"
L_003c:;
                                                                //    130      %REPEAT
#line 130 "regression-compile-tmp/gammon.imp"
goto L_0036;
#line 130 "regression-compile-tmp/gammon.imp"
L_0037:;
                                                                //    131   %REPEAT
#line 131 "regression-compile-tmp/gammon.imp"
goto L_0033;
#line 131 "regression-compile-tmp/gammon.imp"
L_0034:;
                                                                //    132   NEWLINE
#line 132 "regression-compile-tmp/gammon.imp"
_imp_NEWLINE();
                                                                //    133   PRINTSTRING("____________________________________________________")
#line 133 "regression-compile-tmp/gammon.imp"
_imp_PRINTSTRING(_imp_str_literal("____________________________________________________"));
                                                                //    134   NEWLINE
#line 134 "regression-compile-tmp/gammon.imp"
_imp_NEWLINE();
                                                                //    135   PRINTSTRING(" 13  14  15  16  17  18      19  20  21  22  23  24")
#line 135 "regression-compile-tmp/gammon.imp"
_imp_PRINTSTRING(_imp_str_literal(" 13  14  15  16  17  18      19  20  21  22  23  24"));
                                                                //    136   NEWLINE
#line 136 "regression-compile-tmp/gammon.imp"
_imp_NEWLINE();
                                                                //    137   %IF BOARD(0)_WS>0 %THENSTART
#line 137 "regression-compile-tmp/gammon.imp"
if (((BOARD[0].WS) <= (0))) goto L_003d;
                                                                //    138      NEWLINE
#line 138 "regression-compile-tmp/gammon.imp"
_imp_NEWLINE();
                                                                //    139      PRINTSTRING("There are")
#line 139 "regression-compile-tmp/gammon.imp"
_imp_PRINTSTRING(_imp_str_literal("There are"));
                                                                //    140      WRITE(BOARD(0)_WS,2)
#line 140 "regression-compile-tmp/gammon.imp"
_imp_WRITE(BOARD[0].WS, 2);
                                                                //    141      PRINTSTRING(" whites on the bar")
#line 141 "regression-compile-tmp/gammon.imp"
_imp_PRINTSTRING(_imp_str_literal(" whites on the bar"));
                                                                //    142   %FINISH
#line 142 "regression-compile-tmp/gammon.imp"
L_003d:;
                                                                //    143   %IF BOARD(25)_BS>0 %THENSTART
#line 143 "regression-compile-tmp/gammon.imp"
if (((BOARD[25].BS) <= (0))) goto L_003e;
                                                                //    144      NEWLINE
#line 144 "regression-compile-tmp/gammon.imp"
_imp_NEWLINE();
                                                                //    145      PRINTSTRING("there are")
#line 145 "regression-compile-tmp/gammon.imp"
_imp_PRINTSTRING(_imp_str_literal("there are"));
                                                                //    146      WRITE(BOARD(25)_BS,2)
#line 146 "regression-compile-tmp/gammon.imp"
_imp_WRITE(BOARD[25].BS, 2);
                                                                //    147      PRINTSTRING(" blacks on the bar")
#line 147 "regression-compile-tmp/gammon.imp"
_imp_PRINTSTRING(_imp_str_literal(" blacks on the bar"));
                                                                //    148   %FINISH
#line 148 "regression-compile-tmp/gammon.imp"
L_003e:;
                                                                //    149   %IF WBOFF>0 %THENSTART
#line 149 "regression-compile-tmp/gammon.imp"
if (((WBOFF) <= (0))) goto L_003f;
                                                                //    150      NEWLINE
#line 150 "regression-compile-tmp/gammon.imp"
_imp_NEWLINE();
                                                                //    151      PRINTSTRING("white has born off")
#line 151 "regression-compile-tmp/gammon.imp"
_imp_PRINTSTRING(_imp_str_literal("white has born off"));
                                                                //    152      WRITE(WBOFF,3)
#line 152 "regression-compile-tmp/gammon.imp"
_imp_WRITE(WBOFF, 3);
                                                                //    153   %FINISH
#line 153 "regression-compile-tmp/gammon.imp"
L_003f:;
                                                                //    154   %IF BBOFF>0 %THENSTART
#line 154 "regression-compile-tmp/gammon.imp"
if (((BBOFF) <= (0))) goto L_0040;
                                                                //    155      NEWLINE
#line 155 "regression-compile-tmp/gammon.imp"
_imp_NEWLINE();
                                                                //    156      PRINTSTRING("black has born off")
#line 156 "regression-compile-tmp/gammon.imp"
_imp_PRINTSTRING(_imp_str_literal("black has born off"));
                                                                //    157      WRITE(BBOFF,3)
#line 157 "regression-compile-tmp/gammon.imp"
_imp_WRITE(BBOFF, 3);
                                                                //    158   %FINISH
#line 158 "regression-compile-tmp/gammon.imp"
L_0040:;
                                                                //    159   NEWLINE
#line 159 "regression-compile-tmp/gammon.imp"
_imp_NEWLINE();
                                                                //    160   %END
#line 160 "regression-compile-tmp/gammon.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block PRINTSTATE at level 2
                                                                //    161  
                                                                //    162   %INTEGERFN BBAR
#line 162 "regression-compile-tmp/gammon.imp"
int BBAR( void )
#line 162 "regression-compile-tmp/gammon.imp"
{
                                                                //    163   %RESULT = BOARD(25)_BS
#line 163 "regression-compile-tmp/gammon.imp"
/* Remove %on %event handler here if present for this block */
return BOARD[25].BS;
                                                                //    164   %END
#line 164 "regression-compile-tmp/gammon.imp"
} // End of block BBAR at level 2
                                                                //    165  
                                                                //    166   %INTEGERFN WBAR
#line 166 "regression-compile-tmp/gammon.imp"
int WBAR( void )
#line 166 "regression-compile-tmp/gammon.imp"
{
                                                                //    167   %RESULT = BOARD(0)_WS
#line 167 "regression-compile-tmp/gammon.imp"
/* Remove %on %event handler here if present for this block */
return BOARD[0].WS;
                                                                //    168   %END
#line 168 "regression-compile-tmp/gammon.imp"
} // End of block WBAR at level 2
                                                                //    169  
                                                                //    170   %INTEGERFN BSIN
#line 170 "regression-compile-tmp/gammon.imp"
int BSIN( void )
#line 170 "regression-compile-tmp/gammon.imp"
{
                                                                //    171   %INTEGER I,J; J=0
#line 171 "regression-compile-tmp/gammon.imp"
int I;
#line 171 "regression-compile-tmp/gammon.imp"
int J;
#line 171 "regression-compile-tmp/gammon.imp"
J = 0;
                                                                //    172   %CYCLE I=1,1,25
#line 172 "regression-compile-tmp/gammon.imp"
I = 0;
if ((((25)-(1)) % (1)) != 0) _imp_signal(5,1,0,"Illegal cycle I = 1, 1, 25");
L_0041:;
if (I == 25) goto L_0042;
I += 1;
                                                                //    173      %IF BOARD(I)_BS=1 %THEN J=J+1
#line 173 "regression-compile-tmp/gammon.imp"
if (((BOARD[I].BS) != (1))) goto L_0044;
#line 173 "regression-compile-tmp/gammon.imp"
J = (((int)(J)) + (1));
#line 173 "regression-compile-tmp/gammon.imp"
L_0044:;
                                                                //    174   %REPEAT
#line 174 "regression-compile-tmp/gammon.imp"
goto L_0041;
#line 174 "regression-compile-tmp/gammon.imp"
L_0042:;
                                                                //    175   %RESULT = J
#line 175 "regression-compile-tmp/gammon.imp"
/* Remove %on %event handler here if present for this block */
return J;
                                                                //    176   %END
#line 176 "regression-compile-tmp/gammon.imp"
} // End of block BSIN at level 2
                                                                //    177  
                                                                //    178   %INTEGERFN WSIN
#line 178 "regression-compile-tmp/gammon.imp"
int WSIN( void )
#line 178 "regression-compile-tmp/gammon.imp"
{
                                                                //    179   %INTEGER I,J; J=0
#line 179 "regression-compile-tmp/gammon.imp"
int I;
#line 179 "regression-compile-tmp/gammon.imp"
int J;
#line 179 "regression-compile-tmp/gammon.imp"
J = 0;
                                                                //    180   %CYCLE I=0,1,24
#line 180 "regression-compile-tmp/gammon.imp"
I = (-1);
if ((((24)-(0)) % (1)) != 0) _imp_signal(5,1,0,"Illegal cycle I = 0, 1, 24");
L_0045:;
if (I == 24) goto L_0046;
I += 1;
                                                                //    181      %IF BOARD(I)_WS=1 %THEN J=J+1
#line 181 "regression-compile-tmp/gammon.imp"
if (((BOARD[I].WS) != (1))) goto L_0048;
#line 181 "regression-compile-tmp/gammon.imp"
J = (((int)(J)) + (1));
#line 181 "regression-compile-tmp/gammon.imp"
L_0048:;
                                                                //    182   %REPEAT
#line 182 "regression-compile-tmp/gammon.imp"
goto L_0045;
#line 182 "regression-compile-tmp/gammon.imp"
L_0046:;
                                                                //    183   %RESULT = J
#line 183 "regression-compile-tmp/gammon.imp"
/* Remove %on %event handler here if present for this block */
return J;
                                                                //    184   %END
#line 184 "regression-compile-tmp/gammon.imp"
} // End of block WSIN at level 2
                                                                //    185  
                                                                //    186   %INTEGERFN BSINCL
#line 186 "regression-compile-tmp/gammon.imp"
int BSINCL( void )
#line 186 "regression-compile-tmp/gammon.imp"
{
                                                                //    187   %INTEGER I,J,K,SUM; SUM=0
#line 187 "regression-compile-tmp/gammon.imp"
int I;
#line 187 "regression-compile-tmp/gammon.imp"
int J;
#line 187 "regression-compile-tmp/gammon.imp"
int K;
#line 187 "regression-compile-tmp/gammon.imp"
int SUM;
#line 187 "regression-compile-tmp/gammon.imp"
SUM = 0;
                                                                //    188   %CYCLE I=25,-1,1
#line 188 "regression-compile-tmp/gammon.imp"
I = 26;
if ((((1)-(25)) % ((-1))) != 0) _imp_signal(5,1,0,"Illegal cycle I = 25, (-1), 1");
L_0049:;
if (I == 1) goto L_004a;
I += (-1);
                                                                //    189      %IF BOARD(I)_BS=1 %THENSTART
#line 189 "regression-compile-tmp/gammon.imp"
if (((BOARD[I].BS) != (1))) goto L_004c;
                                                                //    190      %IF I-12<0 %THEN J=0 %ELSE J=I-12
#line 190 "regression-compile-tmp/gammon.imp"
if ((((((int)(I)) - (12))) >= (0))) goto L_004d;
#line 190 "regression-compile-tmp/gammon.imp"
J = 0;
#line 190 "regression-compile-tmp/gammon.imp"
goto L_004e;
#line 190 "regression-compile-tmp/gammon.imp"
L_004d:;
#line 190 "regression-compile-tmp/gammon.imp"
J = (((int)(I)) - (12));
#line 190 "regression-compile-tmp/gammon.imp"
L_004e:;
                                                                //    191      %CYCLE K=I-1,-1,J
#line 191 "regression-compile-tmp/gammon.imp"
{static int _initial, _increment, _final, _control;
_initial = (((int)(I)) - (1)); _increment = (-1); _final = J; K = _control = _initial;
if (((_final-_initial) % _increment) != 0) _imp_signal(5,1,0,"Illegal cycle K = (((int)(I)) - (1)), (-1), J");
K -= _increment; _control -= _increment;
L_004f:;
if (K == _final) goto L_0050;
K += _increment; _control += _increment;
if (K != _control) _imp_signal(4,2,0,"Corrupt control variable K"); /* FOR loop control variable corrupted */
}
                                                                //    192         %IF BOARD(K)_WS>0 %THEN SUM=SUM+ODDS(I-K)
#line 192 "regression-compile-tmp/gammon.imp"
if (((BOARD[K].WS) <= (0))) goto L_0052;
#line 192 "regression-compile-tmp/gammon.imp"
SUM = (((int)(SUM)) + ((ODDS-1)[(((int)(I)) - (K))]));
#line 192 "regression-compile-tmp/gammon.imp"
L_0052:;
                                                                //    193      %REPEAT
#line 193 "regression-compile-tmp/gammon.imp"
goto L_004f;
#line 193 "regression-compile-tmp/gammon.imp"
L_0050:;
                                                                //    194      %FINISH
#line 194 "regression-compile-tmp/gammon.imp"
L_004c:;
                                                                //    195   %REPEAT
#line 195 "regression-compile-tmp/gammon.imp"
goto L_0049;
#line 195 "regression-compile-tmp/gammon.imp"
L_004a:;
                                                                //    196   %RESULT = SUM
#line 196 "regression-compile-tmp/gammon.imp"
/* Remove %on %event handler here if present for this block */
return SUM;
                                                                //    197   %END
#line 197 "regression-compile-tmp/gammon.imp"
} // End of block BSINCL at level 2
                                                                //    198  
                                                                //    199   %INTEGERFN WSINCL
#line 199 "regression-compile-tmp/gammon.imp"
int WSINCL( void )
#line 199 "regression-compile-tmp/gammon.imp"
{
                                                                //    200   %INTEGER I,J,K,SUM; SUM=0
#line 200 "regression-compile-tmp/gammon.imp"
int I;
#line 200 "regression-compile-tmp/gammon.imp"
int J;
#line 200 "regression-compile-tmp/gammon.imp"
int K;
#line 200 "regression-compile-tmp/gammon.imp"
int SUM;
#line 200 "regression-compile-tmp/gammon.imp"
SUM = 0;
                                                                //    201   %CYCLE I=0,1,24
#line 201 "regression-compile-tmp/gammon.imp"
I = (-1);
if ((((24)-(0)) % (1)) != 0) _imp_signal(5,1,0,"Illegal cycle I = 0, 1, 24");
L_0053:;
if (I == 24) goto L_0054;
I += 1;
                                                                //    202      %IF BOARD(I)_WS=1 %THENSTART
#line 202 "regression-compile-tmp/gammon.imp"
if (((BOARD[I].WS) != (1))) goto L_0056;
                                                                //    203      %IF I+12>25 %THEN J=25 %ELSE J=I+12
#line 203 "regression-compile-tmp/gammon.imp"
if ((((((int)(I)) + (12))) <= (25))) goto L_0057;
#line 203 "regression-compile-tmp/gammon.imp"
J = 25;
#line 203 "regression-compile-tmp/gammon.imp"
goto L_0058;
#line 203 "regression-compile-tmp/gammon.imp"
L_0057:;
#line 203 "regression-compile-tmp/gammon.imp"
J = (((int)(I)) + (12));
#line 203 "regression-compile-tmp/gammon.imp"
L_0058:;
                                                                //    204      %CYCLE K=I+1,1,J
#line 204 "regression-compile-tmp/gammon.imp"
{static int _initial, _increment, _final, _control;
_initial = (((int)(I)) + (1)); _increment = 1; _final = J; K = _control = _initial;
if (((_final-_initial) % _increment) != 0) _imp_signal(5,1,0,"Illegal cycle K = (((int)(I)) + (1)), 1, J");
K -= _increment; _control -= _increment;
L_0059:;
if (K == _final) goto L_005a;
K += _increment; _control += _increment;
if (K != _control) _imp_signal(4,2,0,"Corrupt control variable K"); /* FOR loop control variable corrupted */
}
                                                                //    205         %IF BOARD(K)_BS>0 %THEN SUM=SUM+ODDS(K-I)
#line 205 "regression-compile-tmp/gammon.imp"
if (((BOARD[K].BS) <= (0))) goto L_005c;
#line 205 "regression-compile-tmp/gammon.imp"
SUM = (((int)(SUM)) + ((ODDS-1)[(((int)(K)) - (I))]));
#line 205 "regression-compile-tmp/gammon.imp"
L_005c:;
                                                                //    206      %REPEAT
#line 206 "regression-compile-tmp/gammon.imp"
goto L_0059;
#line 206 "regression-compile-tmp/gammon.imp"
L_005a:;
                                                                //    207      %FINISH
#line 207 "regression-compile-tmp/gammon.imp"
L_0056:;
                                                                //    208   %REPEAT
#line 208 "regression-compile-tmp/gammon.imp"
goto L_0053;
#line 208 "regression-compile-tmp/gammon.imp"
L_0054:;
                                                                //    209   %RESULT = SUM
#line 209 "regression-compile-tmp/gammon.imp"
/* Remove %on %event handler here if present for this block */
return SUM;
                                                                //    210   %END
#line 210 "regression-compile-tmp/gammon.imp"
} // End of block WSINCL at level 2
                                                                //    211  
                                                                //    212   %INTEGERFN WPTSHOME
#line 212 "regression-compile-tmp/gammon.imp"
int WPTSHOME( void )
#line 212 "regression-compile-tmp/gammon.imp"
{
                                                                //    213   %INTEGER I,J; J=0
#line 213 "regression-compile-tmp/gammon.imp"
int I;
#line 213 "regression-compile-tmp/gammon.imp"
int J;
#line 213 "regression-compile-tmp/gammon.imp"
J = 0;
                                                                //    214   %CYCLE I=19,1,24
#line 214 "regression-compile-tmp/gammon.imp"
I = 18;
if ((((24)-(19)) % (1)) != 0) _imp_signal(5,1,0,"Illegal cycle I = 19, 1, 24");
L_005d:;
if (I == 24) goto L_005e;
I += 1;
                                                                //    215      %IF BOARD(I)_WS>1 %THEN J=J+1
#line 215 "regression-compile-tmp/gammon.imp"
if (((BOARD[I].WS) <= (1))) goto L_0060;
#line 215 "regression-compile-tmp/gammon.imp"
J = (((int)(J)) + (1));
#line 215 "regression-compile-tmp/gammon.imp"
L_0060:;
                                                                //    216   %REPEAT
#line 216 "regression-compile-tmp/gammon.imp"
goto L_005d;
#line 216 "regression-compile-tmp/gammon.imp"
L_005e:;
                                                                //    217   %RESULT = J
#line 217 "regression-compile-tmp/gammon.imp"
/* Remove %on %event handler here if present for this block */
return J;
                                                                //    218   %END
#line 218 "regression-compile-tmp/gammon.imp"
} // End of block WPTSHOME at level 2
                                                                //    219  
                                                                //    220   %INTEGERFN BPTSHOME
#line 220 "regression-compile-tmp/gammon.imp"
int BPTSHOME( void )
#line 220 "regression-compile-tmp/gammon.imp"
{
                                                                //    221   %INTEGER I,J; J=0
#line 221 "regression-compile-tmp/gammon.imp"
int I;
#line 221 "regression-compile-tmp/gammon.imp"
int J;
#line 221 "regression-compile-tmp/gammon.imp"
J = 0;
                                                                //    222   %CYCLE I=1,1,6
#line 222 "regression-compile-tmp/gammon.imp"
I = 0;
if ((((6)-(1)) % (1)) != 0) _imp_signal(5,1,0,"Illegal cycle I = 1, 1, 6");
L_0061:;
if (I == 6) goto L_0062;
I += 1;
                                                                //    223      %IF BOARD(I)_BS>1 %THEN J=J+1
#line 223 "regression-compile-tmp/gammon.imp"
if (((BOARD[I].BS) <= (1))) goto L_0064;
#line 223 "regression-compile-tmp/gammon.imp"
J = (((int)(J)) + (1));
#line 223 "regression-compile-tmp/gammon.imp"
L_0064:;
                                                                //    224   %REPEAT
#line 224 "regression-compile-tmp/gammon.imp"
goto L_0061;
#line 224 "regression-compile-tmp/gammon.imp"
L_0062:;
                                                                //    225   %RESULT = J
#line 225 "regression-compile-tmp/gammon.imp"
/* Remove %on %event handler here if present for this block */
return J;
                                                                //    226   %END
#line 226 "regression-compile-tmp/gammon.imp"
} // End of block BPTSHOME at level 2
                                                                //    227  
                                                                //    228   %INTEGERFN WPTS
#line 228 "regression-compile-tmp/gammon.imp"
int WPTS( void )
#line 228 "regression-compile-tmp/gammon.imp"
{
                                                                //    229   %INTEGER I,J; J=0
#line 229 "regression-compile-tmp/gammon.imp"
int I;
#line 229 "regression-compile-tmp/gammon.imp"
int J;
#line 229 "regression-compile-tmp/gammon.imp"
J = 0;
                                                                //    230   %CYCLE I=1,1,24
#line 230 "regression-compile-tmp/gammon.imp"
I = 0;
if ((((24)-(1)) % (1)) != 0) _imp_signal(5,1,0,"Illegal cycle I = 1, 1, 24");
L_0065:;
if (I == 24) goto L_0066;
I += 1;
                                                                //    231      %IF BOARD(I)_WS>1 %THEN J=J+1
#line 231 "regression-compile-tmp/gammon.imp"
if (((BOARD[I].WS) <= (1))) goto L_0068;
#line 231 "regression-compile-tmp/gammon.imp"
J = (((int)(J)) + (1));
#line 231 "regression-compile-tmp/gammon.imp"
L_0068:;
                                                                //    232   %REPEAT
#line 232 "regression-compile-tmp/gammon.imp"
goto L_0065;
#line 232 "regression-compile-tmp/gammon.imp"
L_0066:;
                                                                //    233   %RESULT = J
#line 233 "regression-compile-tmp/gammon.imp"
/* Remove %on %event handler here if present for this block */
return J;
                                                                //    234   %END
#line 234 "regression-compile-tmp/gammon.imp"
} // End of block WPTS at level 2
                                                                //    235  
                                                                //    236   %INTEGERFN BPTS
#line 236 "regression-compile-tmp/gammon.imp"
int BPTS( void )
#line 236 "regression-compile-tmp/gammon.imp"
{
                                                                //    237   %INTEGER I,J;J=0
#line 237 "regression-compile-tmp/gammon.imp"
int I;
#line 237 "regression-compile-tmp/gammon.imp"
int J;
#line 237 "regression-compile-tmp/gammon.imp"
J = 0;
                                                                //    238   %CYCLE I=1,1,24
#line 238 "regression-compile-tmp/gammon.imp"
I = 0;
if ((((24)-(1)) % (1)) != 0) _imp_signal(5,1,0,"Illegal cycle I = 1, 1, 24");
L_0069:;
if (I == 24) goto L_006a;
I += 1;
                                                                //    239      %IF BOARD(K)_BS>1 %THEN J=J+1
#line 239 "regression-compile-tmp/gammon.imp"
if (((BOARD[K].BS) <= (1))) goto L_006c;
#line 239 "regression-compile-tmp/gammon.imp"
J = (((int)(J)) + (1));
#line 239 "regression-compile-tmp/gammon.imp"
L_006c:;
                                                                //    240   %REPEAT 
#line 240 "regression-compile-tmp/gammon.imp"
goto L_0069;
#line 240 "regression-compile-tmp/gammon.imp"
L_006a:;
                                                                //    241   %RESULT = J
#line 241 "regression-compile-tmp/gammon.imp"
/* Remove %on %event handler here if present for this block */
return J;
                                                                //    242   %END
#line 242 "regression-compile-tmp/gammon.imp"
} // End of block BPTS at level 2
                                                                //    243  
                                                                //    244   %INTEGERFN WPTSSUCC
#line 244 "regression-compile-tmp/gammon.imp"
int WPTSSUCC( void )
#line 244 "regression-compile-tmp/gammon.imp"
{
                                                                //    245   %INTEGER I,J,K; K=0
#line 245 "regression-compile-tmp/gammon.imp"
int I;
#line 245 "regression-compile-tmp/gammon.imp"
int J;
#line 245 "regression-compile-tmp/gammon.imp"
int K;
#line 245 "regression-compile-tmp/gammon.imp"
K = 0;
                                                                //    246   %CYCLE J=1,1,22
#line 246 "regression-compile-tmp/gammon.imp"
J = 0;
if ((((22)-(1)) % (1)) != 0) _imp_signal(5,1,0,"Illegal cycle J = 1, 1, 22");
L_006d:;
if (J == 22) goto L_006e;
J += 1;
                                                                //    247      %IF BOARD(J)_BS>0 %THENSTART
#line 247 "regression-compile-tmp/gammon.imp"
if (((BOARD[J].BS) <= (0))) goto L_0070;
                                                                //    248         %CYCLE I=J+1,1,23
#line 248 "regression-compile-tmp/gammon.imp"
I = (((int)((((int)(J)) + (1)))) - (1));
if ((((23)-((((int)(J)) + (1)))) % (1)) != 0) _imp_signal(5,1,0,"Illegal cycle I = (((int)(J)) + (1)), 1, 23");
L_0071:;
if (I == 23) goto L_0072;
I += 1;
                                                                //    249            %IF BOARD(I)_WS>1 %THENSTART
#line 249 "regression-compile-tmp/gammon.imp"
if (((BOARD[I].WS) <= (1))) goto L_0074;
                                                                //    250               %IF BOARD(I+1)_WS>1 %THEN K=K+1
#line 250 "regression-compile-tmp/gammon.imp"
if (((BOARD[(((int)(I)) + (1))].WS) <= (1))) goto L_0075;
#line 250 "regression-compile-tmp/gammon.imp"
K = (((int)(K)) + (1));
#line 250 "regression-compile-tmp/gammon.imp"
L_0075:;
                                                                //    251            %FINISH
#line 251 "regression-compile-tmp/gammon.imp"
L_0074:;
                                                                //    252         %REPEAT
#line 252 "regression-compile-tmp/gammon.imp"
goto L_0071;
#line 252 "regression-compile-tmp/gammon.imp"
L_0072:;
                                                                //    253         %EXIT
#line 253 "regression-compile-tmp/gammon.imp"
goto L_006e;
                                                                //    254      %FINISH
#line 254 "regression-compile-tmp/gammon.imp"
L_0070:;
                                                                //    255   %REPEAT
#line 255 "regression-compile-tmp/gammon.imp"
goto L_006d;
#line 255 "regression-compile-tmp/gammon.imp"
L_006e:;
                                                                //    256   %RESULT = K
#line 256 "regression-compile-tmp/gammon.imp"
/* Remove %on %event handler here if present for this block */
return K;
                                                                //    257   %END
#line 257 "regression-compile-tmp/gammon.imp"
} // End of block WPTSSUCC at level 2
                                                                //    258  
                                                                //    259   %INTEGERFN BPTSSUCC
#line 259 "regression-compile-tmp/gammon.imp"
int BPTSSUCC( void )
#line 259 "regression-compile-tmp/gammon.imp"
{
                                                                //    260   %INTEGER I,J,K; K=0   
#line 260 "regression-compile-tmp/gammon.imp"
int I;
#line 260 "regression-compile-tmp/gammon.imp"
int J;
#line 260 "regression-compile-tmp/gammon.imp"
int K;
#line 260 "regression-compile-tmp/gammon.imp"
K = 0;
                                                                //    261   %CYCLE J=24,-1,3
#line 261 "regression-compile-tmp/gammon.imp"
J = 25;
if ((((3)-(24)) % ((-1))) != 0) _imp_signal(5,1,0,"Illegal cycle J = 24, (-1), 3");
L_0076:;
if (J == 3) goto L_0077;
J += (-1);
                                                                //    262      %IF BOARD(J)_WS>0 %THENSTART
#line 262 "regression-compile-tmp/gammon.imp"
if (((BOARD[J].WS) <= (0))) goto L_0079;
                                                                //    263         %CYCLE I=J-1,-1,2
#line 263 "regression-compile-tmp/gammon.imp"
I = (((unsigned char)((((int)(J)) - (1)))) + (1));
if ((((2)-((((int)(J)) - (1)))) % ((-1))) != 0) _imp_signal(5,1,0,"Illegal cycle I = (((int)(J)) - (1)), (-1), 2");
L_007a:;
if (I == 2) goto L_007b;
I += (-1);
                                                                //    264            %IF BOARD(I)_BS>1 %THENSTART
#line 264 "regression-compile-tmp/gammon.imp"
if (((BOARD[I].BS) <= (1))) goto L_007d;
                                                                //    265               %IF BOARD(I-1)_BS>1 %THEN K=K+1
#line 265 "regression-compile-tmp/gammon.imp"
if (((BOARD[(((int)(I)) - (1))].BS) <= (1))) goto L_007e;
#line 265 "regression-compile-tmp/gammon.imp"
K = (((int)(K)) + (1));
#line 265 "regression-compile-tmp/gammon.imp"
L_007e:;
                                                                //    266            %FINISH
#line 266 "regression-compile-tmp/gammon.imp"
L_007d:;
                                                                //    267         %REPEAT
#line 267 "regression-compile-tmp/gammon.imp"
goto L_007a;
#line 267 "regression-compile-tmp/gammon.imp"
L_007b:;
                                                                //    268         %EXIT
#line 268 "regression-compile-tmp/gammon.imp"
goto L_0077;
                                                                //    269      %FINISH
#line 269 "regression-compile-tmp/gammon.imp"
L_0079:;
                                                                //    270   %REPEAT
#line 270 "regression-compile-tmp/gammon.imp"
goto L_0076;
#line 270 "regression-compile-tmp/gammon.imp"
L_0077:;
                                                                //    271   %RESULT = K
#line 271 "regression-compile-tmp/gammon.imp"
/* Remove %on %event handler here if present for this block */
return K;
                                                                //    272   %END
#line 272 "regression-compile-tmp/gammon.imp"
} // End of block BPTSSUCC at level 2
                                                                //    273  
                                                                //    274   %INTEGERFN BFST3
#line 274 "regression-compile-tmp/gammon.imp"
int BFST3( void )
#line 274 "regression-compile-tmp/gammon.imp"
{
                                                                //    275   %INTEGER I,J; J=0
#line 275 "regression-compile-tmp/gammon.imp"
int I;
#line 275 "regression-compile-tmp/gammon.imp"
int J;
#line 275 "regression-compile-tmp/gammon.imp"
J = 0;
                                                                //    276   %CYCLE I=22,1,25
#line 276 "regression-compile-tmp/gammon.imp"
I = 21;
if ((((25)-(22)) % (1)) != 0) _imp_signal(5,1,0,"Illegal cycle I = 22, 1, 25");
L_007f:;
if (I == 25) goto L_0080;
I += 1;
                                                                //    277      J=J+BOARD(I)_BS
#line 277 "regression-compile-tmp/gammon.imp"
J = (((int)(J)) + (BOARD[I].BS));
                                                                //    278   %REPEAT
#line 278 "regression-compile-tmp/gammon.imp"
goto L_007f;
#line 278 "regression-compile-tmp/gammon.imp"
L_0080:;
                                                                //    279   %RESULT = J
#line 279 "regression-compile-tmp/gammon.imp"
/* Remove %on %event handler here if present for this block */
return J;
                                                                //    280   %END
#line 280 "regression-compile-tmp/gammon.imp"
} // End of block BFST3 at level 2
                                                                //    281  
                                                                //    282   %INTEGERFN WFST3
#line 282 "regression-compile-tmp/gammon.imp"
int WFST3( void )
#line 282 "regression-compile-tmp/gammon.imp"
{
                                                                //    283   %INTEGER I,J; J=0
#line 283 "regression-compile-tmp/gammon.imp"
int I;
#line 283 "regression-compile-tmp/gammon.imp"
int J;
#line 283 "regression-compile-tmp/gammon.imp"
J = 0;
                                                                //    284   %CYCLE I=0,1,3
#line 284 "regression-compile-tmp/gammon.imp"
I = (-1);
if ((((3)-(0)) % (1)) != 0) _imp_signal(5,1,0,"Illegal cycle I = 0, 1, 3");
L_0082:;
if (I == 3) goto L_0083;
I += 1;
                                                                //    285      J=J+BOARD(I)_WS
#line 285 "regression-compile-tmp/gammon.imp"
J = (((int)(J)) + (BOARD[I].WS));
                                                                //    286   %REPEAT
#line 286 "regression-compile-tmp/gammon.imp"
goto L_0082;
#line 286 "regression-compile-tmp/gammon.imp"
L_0083:;
                                                                //    287   %RESULT = J
#line 287 "regression-compile-tmp/gammon.imp"
/* Remove %on %event handler here if present for this block */
return J;
                                                                //    288   %END
#line 288 "regression-compile-tmp/gammon.imp"
} // End of block WFST3 at level 2
                                                                //    289  
                                                                //    290   %INTEGERFN BFST6
#line 290 "regression-compile-tmp/gammon.imp"
int BFST6( void )
#line 290 "regression-compile-tmp/gammon.imp"
{
                                                                //    291   %INTEGER I,J; J=0
#line 291 "regression-compile-tmp/gammon.imp"
int I;
#line 291 "regression-compile-tmp/gammon.imp"
int J;
#line 291 "regression-compile-tmp/gammon.imp"
J = 0;
                                                                //    292   %CYCLE I=19,1,25
#line 292 "regression-compile-tmp/gammon.imp"
I = 18;
if ((((25)-(19)) % (1)) != 0) _imp_signal(5,1,0,"Illegal cycle I = 19, 1, 25");
L_0085:;
if (I == 25) goto L_0086;
I += 1;
                                                                //    293      J=J+BOARD(I)_BS
#line 293 "regression-compile-tmp/gammon.imp"
J = (((int)(J)) + (BOARD[I].BS));
                                                                //    294   %REPEAT
#line 294 "regression-compile-tmp/gammon.imp"
goto L_0085;
#line 294 "regression-compile-tmp/gammon.imp"
L_0086:;
                                                                //    295   %RESULT = J
#line 295 "regression-compile-tmp/gammon.imp"
/* Remove %on %event handler here if present for this block */
return J;
                                                                //    296   %END
#line 296 "regression-compile-tmp/gammon.imp"
} // End of block BFST6 at level 2
                                                                //    297  
                                                                //    298   %INTEGERFN WFST6
#line 298 "regression-compile-tmp/gammon.imp"
int WFST6( void )
#line 298 "regression-compile-tmp/gammon.imp"
{
                                                                //    299   %INTEGER I,J; J=0
#line 299 "regression-compile-tmp/gammon.imp"
int I;
#line 299 "regression-compile-tmp/gammon.imp"
int J;
#line 299 "regression-compile-tmp/gammon.imp"
J = 0;
                                                                //    300   %CYCLE I=0,1,6
#line 300 "regression-compile-tmp/gammon.imp"
I = (-1);
if ((((6)-(0)) % (1)) != 0) _imp_signal(5,1,0,"Illegal cycle I = 0, 1, 6");
L_0088:;
if (I == 6) goto L_0089;
I += 1;
                                                                //    301      J=J+BOARD(I)_WS
#line 301 "regression-compile-tmp/gammon.imp"
J = (((int)(J)) + (BOARD[I].WS));
                                                                //    302   %REPEAT
#line 302 "regression-compile-tmp/gammon.imp"
goto L_0088;
#line 302 "regression-compile-tmp/gammon.imp"
L_0089:;
                                                                //    303   %RESULT = J
#line 303 "regression-compile-tmp/gammon.imp"
/* Remove %on %event handler here if present for this block */
return J;
                                                                //    304   %END
#line 304 "regression-compile-tmp/gammon.imp"
} // End of block WFST6 at level 2
                                                                //    305  
                                                                //    306   %INTEGERFN BFST12
#line 306 "regression-compile-tmp/gammon.imp"
int BFST12( void )
#line 306 "regression-compile-tmp/gammon.imp"
{
                                                                //    307   %INTEGER I,J
#line 307 "regression-compile-tmp/gammon.imp"
int I;
#line 307 "regression-compile-tmp/gammon.imp"
int J;
                                                                //    308   J=BFST6
#line 308 "regression-compile-tmp/gammon.imp"
J = BFST6();
                                                                //    309   %CYCLE I=13,1,18
#line 309 "regression-compile-tmp/gammon.imp"
I = 12;
if ((((18)-(13)) % (1)) != 0) _imp_signal(5,1,0,"Illegal cycle I = 13, 1, 18");
L_008b:;
if (I == 18) goto L_008c;
I += 1;
                                                                //    310      J=J+BOARD(I)_BS
#line 310 "regression-compile-tmp/gammon.imp"
J = (((int)(J)) + (BOARD[I].BS));
                                                                //    311   %REPEAT
#line 311 "regression-compile-tmp/gammon.imp"
goto L_008b;
#line 311 "regression-compile-tmp/gammon.imp"
L_008c:;
                                                                //    312   %RESULT = J
#line 312 "regression-compile-tmp/gammon.imp"
/* Remove %on %event handler here if present for this block */
return J;
                                                                //    313   %END
#line 313 "regression-compile-tmp/gammon.imp"
} // End of block BFST12 at level 2
                                                                //    314  
                                                                //    315   %INTEGERFN WFST12
#line 315 "regression-compile-tmp/gammon.imp"
int WFST12( void )
#line 315 "regression-compile-tmp/gammon.imp"
{
                                                                //    316   %INTEGER I,J
#line 316 "regression-compile-tmp/gammon.imp"
int I;
#line 316 "regression-compile-tmp/gammon.imp"
int J;
                                                                //    317   J=WFST6
#line 317 "regression-compile-tmp/gammon.imp"
J = WFST6();
                                                                //    318   %CYCLE I=7,1,12
#line 318 "regression-compile-tmp/gammon.imp"
I = 6;
if ((((12)-(7)) % (1)) != 0) _imp_signal(5,1,0,"Illegal cycle I = 7, 1, 12");
L_008e:;
if (I == 12) goto L_008f;
I += 1;
                                                                //    319      J=BOARD(I)_WS+J
#line 319 "regression-compile-tmp/gammon.imp"
J = (((int)(BOARD[I].WS)) + (J));
                                                                //    320   %REPEAT
#line 320 "regression-compile-tmp/gammon.imp"
goto L_008e;
#line 320 "regression-compile-tmp/gammon.imp"
L_008f:;
                                                                //    321   %RESULT = J
#line 321 "regression-compile-tmp/gammon.imp"
/* Remove %on %event handler here if present for this block */
return J;
                                                                //    322   %END
#line 322 "regression-compile-tmp/gammon.imp"
} // End of block WFST12 at level 2
                                                                //    323  
                                                                //    324   %INTEGERFN WHOME
#line 324 "regression-compile-tmp/gammon.imp"
int WHOME( void )
#line 324 "regression-compile-tmp/gammon.imp"
{
                                                                //    325   %INTEGER I,J; J=0
#line 325 "regression-compile-tmp/gammon.imp"
int I;
#line 325 "regression-compile-tmp/gammon.imp"
int J;
#line 325 "regression-compile-tmp/gammon.imp"
J = 0;
                                                                //    326   %CYCLE I=19,1,24
#line 326 "regression-compile-tmp/gammon.imp"
I = 18;
if ((((24)-(19)) % (1)) != 0) _imp_signal(5,1,0,"Illegal cycle I = 19, 1, 24");
L_0091:;
if (I == 24) goto L_0092;
I += 1;
                                                                //    327      J=J+BOARD(I)_WS
#line 327 "regression-compile-tmp/gammon.imp"
J = (((int)(J)) + (BOARD[I].WS));
                                                                //    328   %REPEAT
#line 328 "regression-compile-tmp/gammon.imp"
goto L_0091;
#line 328 "regression-compile-tmp/gammon.imp"
L_0092:;
                                                                //    329   %RESULT = J
#line 329 "regression-compile-tmp/gammon.imp"
/* Remove %on %event handler here if present for this block */
return J;
                                                                //    330   %END
#line 330 "regression-compile-tmp/gammon.imp"
} // End of block WHOME at level 2
                                                                //    331  
                                                                //    332   %INTEGERFN BHOME
#line 332 "regression-compile-tmp/gammon.imp"
int BHOME( void )
#line 332 "regression-compile-tmp/gammon.imp"
{
                                                                //    333   %INTEGER I,J; J=0
#line 333 "regression-compile-tmp/gammon.imp"
int I;
#line 333 "regression-compile-tmp/gammon.imp"
int J;
#line 333 "regression-compile-tmp/gammon.imp"
J = 0;
                                                                //    334   %CYCLE I=1,1,6
#line 334 "regression-compile-tmp/gammon.imp"
I = 0;
if ((((6)-(1)) % (1)) != 0) _imp_signal(5,1,0,"Illegal cycle I = 1, 1, 6");
L_0094:;
if (I == 6) goto L_0095;
I += 1;
                                                                //    335      J=J+BOARD(I)_BS
#line 335 "regression-compile-tmp/gammon.imp"
J = (((int)(J)) + (BOARD[I].BS));
                                                                //    336   %REPEAT
#line 336 "regression-compile-tmp/gammon.imp"
goto L_0094;
#line 336 "regression-compile-tmp/gammon.imp"
L_0095:;
                                                                //    337   %RESULT = J
#line 337 "regression-compile-tmp/gammon.imp"
/* Remove %on %event handler here if present for this block */
return J;
                                                                //    338   %END
#line 338 "regression-compile-tmp/gammon.imp"
} // End of block BHOME at level 2
                                                                //    339  
                                                                //    340   %INTEGERFN WTOGO
#line 340 "regression-compile-tmp/gammon.imp"
int WTOGO( void )
#line 340 "regression-compile-tmp/gammon.imp"
{
                                                                //    341   %INTEGER I,J,K,SUM; SUM=0
#line 341 "regression-compile-tmp/gammon.imp"
int I;
#line 341 "regression-compile-tmp/gammon.imp"
int J;
#line 341 "regression-compile-tmp/gammon.imp"
int K;
#line 341 "regression-compile-tmp/gammon.imp"
int SUM;
#line 341 "regression-compile-tmp/gammon.imp"
SUM = 0;
                                                                //    342   %CYCLE I=0,1,18
#line 342 "regression-compile-tmp/gammon.imp"
I = (-1);
if ((((18)-(0)) % (1)) != 0) _imp_signal(5,1,0,"Illegal cycle I = 0, 1, 18");
L_0097:;
if (I == 18) goto L_0098;
I += 1;
                                                                //    343      J=BOARD(I)_WS
#line 343 "regression-compile-tmp/gammon.imp"
J = BOARD[I].WS;
                                                                //    344      %IF J>0 %THENSTART
#line 344 "regression-compile-tmp/gammon.imp"
if (((J) <= (0))) goto L_009a;
                                                                //    345         %CYCLE K=1,1,J
#line 345 "regression-compile-tmp/gammon.imp"
{static int _initial, _increment, _final, _control;
_initial = 1; _increment = 1; _final = J; K = _control = _initial;
if (((_final-_initial) % _increment) != 0) _imp_signal(5,1,0,"Illegal cycle K = 1, 1, J");
K -= _increment; _control -= _increment;
L_009b:;
if (K == _final) goto L_009c;
K += _increment; _control += _increment;
if (K != _control) _imp_signal(4,2,0,"Corrupt control variable K"); /* FOR loop control variable corrupted */
}
                                                                //    346            SUM=SUM+19-I
#line 346 "regression-compile-tmp/gammon.imp"
SUM = (((int)((((int)(SUM)) + (19)))) - (I));
                                                                //    347         %REPEAT
#line 347 "regression-compile-tmp/gammon.imp"
goto L_009b;
#line 347 "regression-compile-tmp/gammon.imp"
L_009c:;
                                                                //    348      %FINISH
#line 348 "regression-compile-tmp/gammon.imp"
L_009a:;
                                                                //    349   %REPEAT
#line 349 "regression-compile-tmp/gammon.imp"
goto L_0097;
#line 349 "regression-compile-tmp/gammon.imp"
L_0098:;
                                                                //    350   %RESULT = SUM
#line 350 "regression-compile-tmp/gammon.imp"
/* Remove %on %event handler here if present for this block */
return SUM;
                                                                //    351   %END
#line 351 "regression-compile-tmp/gammon.imp"
} // End of block WTOGO at level 2
                                                                //    352  
                                                                //    353   %INTEGERFN BTOGO
#line 353 "regression-compile-tmp/gammon.imp"
int BTOGO( void )
#line 353 "regression-compile-tmp/gammon.imp"
{
                                                                //    354   %INTEGER I,J,K,SUM; SUM=0
#line 354 "regression-compile-tmp/gammon.imp"
int I;
#line 354 "regression-compile-tmp/gammon.imp"
int J;
#line 354 "regression-compile-tmp/gammon.imp"
int K;
#line 354 "regression-compile-tmp/gammon.imp"
int SUM;
#line 354 "regression-compile-tmp/gammon.imp"
SUM = 0;
                                                                //    355   %CYCLE I=7,1,25
#line 355 "regression-compile-tmp/gammon.imp"
I = 6;
if ((((25)-(7)) % (1)) != 0) _imp_signal(5,1,0,"Illegal cycle I = 7, 1, 25");
L_009e:;
if (I == 25) goto L_009f;
I += 1;
                                                                //    356      J=BOARD(I)_BS
#line 356 "regression-compile-tmp/gammon.imp"
J = BOARD[I].BS;
                                                                //    357      %IF J>0 %THENSTART
#line 357 "regression-compile-tmp/gammon.imp"
if (((J) <= (0))) goto L_00a1;
                                                                //    358         %CYCLE K=1,1,J
#line 358 "regression-compile-tmp/gammon.imp"
{static int _initial, _increment, _final, _control;
_initial = 1; _increment = 1; _final = J; K = _control = _initial;
if (((_final-_initial) % _increment) != 0) _imp_signal(5,1,0,"Illegal cycle K = 1, 1, J");
K -= _increment; _control -= _increment;
L_00a2:;
if (K == _final) goto L_00a3;
K += _increment; _control += _increment;
if (K != _control) _imp_signal(4,2,0,"Corrupt control variable K"); /* FOR loop control variable corrupted */
}
                                                                //    359            SUM=SUM+I-6
#line 359 "regression-compile-tmp/gammon.imp"
SUM = (((int)((((int)(SUM)) + (I)))) - (6));
                                                                //    360         %REPEAT
#line 360 "regression-compile-tmp/gammon.imp"
goto L_00a2;
#line 360 "regression-compile-tmp/gammon.imp"
L_00a3:;
                                                                //    361      %FINISH
#line 361 "regression-compile-tmp/gammon.imp"
L_00a1:;
                                                                //    362   %REPEAT
#line 362 "regression-compile-tmp/gammon.imp"
goto L_009e;
#line 362 "regression-compile-tmp/gammon.imp"
L_009f:;
                                                                //    363   %RESULT = SUM
#line 363 "regression-compile-tmp/gammon.imp"
/* Remove %on %event handler here if present for this block */
return SUM;
                                                                //    364   %END
#line 364 "regression-compile-tmp/gammon.imp"
} // End of block BTOGO at level 2
                                                                //    365  
                                                                //    366   %ROUTINE GBRDVAL
#line 366 "regression-compile-tmp/gammon.imp"
void GBRDVAL( void )
#line 366 "regression-compile-tmp/gammon.imp"
{
                                                                //    367   V1=W1*(BBAR-WBAR)
#line 367 "regression-compile-tmp/gammon.imp"
V1 = ((W1) * ((int)((((int)(BBAR())) - (WBAR())))));
                                                                //    368   V2=W2*(BSIN-WSIN)
#line 368 "regression-compile-tmp/gammon.imp"
V2 = ((W2) * ((int)((((int)(BSIN())) - (WSIN())))));
                                                                //    369   V3=W3*(BSINCL-WSINCL)//10
#line 369 "regression-compile-tmp/gammon.imp"
V3 = (long)((long)((((W3) * ((int)((((int)(BSINCL())) - (WSINCL()))))))) / (long)((int)(10)));
                                                                //    370   V4=W4*(WPTSHOME-BPTSHOME)
#line 370 "regression-compile-tmp/gammon.imp"
V4 = ((W4) * ((int)((((int)(WPTSHOME())) - (BPTSHOME())))));
                                                                //    371   V5=W5*(WPTS-BPTS)
#line 371 "regression-compile-tmp/gammon.imp"
V5 = ((W5) * ((int)((((int)(WPTS())) - (BPTS())))));
                                                                //    372   V6=W6*(WPTSSUCC-BPTSSUCC)
#line 372 "regression-compile-tmp/gammon.imp"
V6 = ((W6) * ((int)((((int)(WPTSSUCC())) - (BPTSSUCC())))));
                                                                //    373   V7=W7*(BFST6-WFST6)
#line 373 "regression-compile-tmp/gammon.imp"
V7 = ((W7) * ((int)((((int)(BFST6())) - (WFST6())))));
                                                                //    374   V8=W8*(BTOGO//6-WTOGO//6)
#line 374 "regression-compile-tmp/gammon.imp"
V8 = ((W8) * ((((((long)((long)((int)(BTOGO())) / (long)((int)(6)))))) - (((long)((long)((int)(WTOGO())) / (long)((int)(6))))))));
                                                                //    375   V9=W9*(BFST3-WFST3)
#line 375 "regression-compile-tmp/gammon.imp"
V9 = ((W9) * ((int)((((int)(BFST3())) - (WFST3())))));
                                                                //    376   V10=W10*(WHOME-BHOME)
#line 376 "regression-compile-tmp/gammon.imp"
V10 = ((W10) * ((int)((((int)(WHOME())) - (BHOME())))));
                                                                //    377   BRDVAL=V1+V2+V3+V4+V5+V6+V7+V8+V9+V10
#line 377 "regression-compile-tmp/gammon.imp"
BRDVAL = (((int)((((int)((((int)((((int)((((int)((((int)((((int)((((int)((((int)(V1)) + (V2)))) + (V3)))) + (V4)))) + (V5)))) + (V6)))) + (V7)))) + (V8)))) + (V9)))) + (V10));
                                                                //    378   %END
#line 378 "regression-compile-tmp/gammon.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block GBRDVAL at level 2
                                                                //    379  
                                                                //    380   %ROUTINE GBRD
#line 380 "regression-compile-tmp/gammon.imp"
void GBRD( void )
#line 380 "regression-compile-tmp/gammon.imp"
{
                                                                //    381   V1=W1*(BBAR)
#line 381 "regression-compile-tmp/gammon.imp"
V1 = (((int)(W1)) * (BBAR()));
                                                                //    382   V2=W2*(-WSIN)
#line 382 "regression-compile-tmp/gammon.imp"
V2 = ((W2) * ((-(WSIN()))));
                                                                //    383   V3=W3*(-WSINCL)//10
#line 383 "regression-compile-tmp/gammon.imp"
V3 = (long)((long)((((W3) * ((-(WSINCL())))))) / (long)((int)(10)));
                                                                //    384   V4=W4*(WPTSHOME)
#line 384 "regression-compile-tmp/gammon.imp"
V4 = (((int)(W4)) * (WPTSHOME()));
                                                                //    385   V5=W5*(WPTS)
#line 385 "regression-compile-tmp/gammon.imp"
V5 = (((int)(W5)) * (WPTS()));
                                                                //    386   V6=W6*(WPTSSUCC)
#line 386 "regression-compile-tmp/gammon.imp"
V6 = (((int)(W6)) * (WPTSSUCC()));
                                                                //    387   V7=W7*(-WFST6)
#line 387 "regression-compile-tmp/gammon.imp"
V7 = ((W7) * ((-(WFST6()))));
                                                                //    388   V8=W8*(-WTOGO)//6
#line 388 "regression-compile-tmp/gammon.imp"
V8 = (long)((long)((((W8) * ((-(WTOGO())))))) / (long)((int)(6)));
                                                                //    389   V9=W9*(-WFST3)
#line 389 "regression-compile-tmp/gammon.imp"
V9 = ((W9) * ((-(WFST3()))));
                                                                //    390   V10=W10*(WHOME)
#line 390 "regression-compile-tmp/gammon.imp"
V10 = (((int)(W10)) * (WHOME()));
                                                                //    391   BRDVAL=V1+V2+V3+V4+V5+V6+V7+V8+V9+V10
#line 391 "regression-compile-tmp/gammon.imp"
BRDVAL = (((int)((((int)((((int)((((int)((((int)((((int)((((int)((((int)((((int)(V1)) + (V2)))) + (V3)))) + (V4)))) + (V5)))) + (V6)))) + (V7)))) + (V8)))) + (V9)))) + (V10));
                                                                //    392   %IF BRDVAL>BSTVAL %THENSTART
#line 392 "regression-compile-tmp/gammon.imp"
if (((BRDVAL) <= (BSTVAL))) goto L_00a5;
                                                                //    393      BV1=V1; BV2=V2; BV3=V3; BV4=V4; BV5=V5; BV6=V6; BV7=V7; BV8=V8
#line 393 "regression-compile-tmp/gammon.imp"
BV1 = V1;
#line 393 "regression-compile-tmp/gammon.imp"
BV2 = V2;
#line 393 "regression-compile-tmp/gammon.imp"
BV3 = V3;
#line 393 "regression-compile-tmp/gammon.imp"
BV4 = V4;
#line 393 "regression-compile-tmp/gammon.imp"
BV5 = V5;
#line 393 "regression-compile-tmp/gammon.imp"
BV6 = V6;
#line 393 "regression-compile-tmp/gammon.imp"
BV7 = V7;
#line 393 "regression-compile-tmp/gammon.imp"
BV8 = V8;
                                                                //    394      BV9=V9; BV10=V10; BSTVAL=BRDVAL; BSTMOV1=DICE1; BSTPT1=PT1
#line 394 "regression-compile-tmp/gammon.imp"
BV9 = V9;
#line 394 "regression-compile-tmp/gammon.imp"
BV10 = V10;
#line 394 "regression-compile-tmp/gammon.imp"
BSTVAL = BRDVAL;
#line 394 "regression-compile-tmp/gammon.imp"
BSTMOV1 = DICE1;
#line 394 "regression-compile-tmp/gammon.imp"
BSTPT1 = PT1;
                                                                //    395      BSTMOV2=DICE2; BSTPT2=PT2; BSTPT3=PT3; BSTPT4=PT4
#line 395 "regression-compile-tmp/gammon.imp"
BSTMOV2 = DICE2;
#line 395 "regression-compile-tmp/gammon.imp"
BSTPT2 = PT2;
#line 395 "regression-compile-tmp/gammon.imp"
BSTPT3 = PT3;
#line 395 "regression-compile-tmp/gammon.imp"
BSTPT4 = PT4;
                                                                //    396   %FINISH
#line 396 "regression-compile-tmp/gammon.imp"
L_00a5:;
                                                                //    397   %END
#line 397 "regression-compile-tmp/gammon.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block GBRD at level 2
                                                                //    398  
                                                                //    399  
                                                                //    400   %ROUTINE MTSTMOV (%INTEGER P,D,%INTEGERNAME BP)
#line 400 "regression-compile-tmp/gammon.imp"
void MTSTMOV( int P, int D, int /*name*/*BP )
#line 400 "regression-compile-tmp/gammon.imp"
{
                                                                //    401   BOARD(P)_WS=BOARD(P)_WS-1
#line 401 "regression-compile-tmp/gammon.imp"
BOARD[P].WS = (((int)(BOARD[P].WS)) - (1));
                                                                //    402   BOARD(P+D)_WS=BOARD(P+D)_WS+1
#line 402 "regression-compile-tmp/gammon.imp"
BOARD[(((int)(P)) + (D))].WS = (((int)(BOARD[(((int)(P)) + (D))].WS)) + (1));
                                                                //    403   %IF BOARD(P+D)_BS=1 %THEN BOARD(P+D)_BS=0 %C
#line 403 "regression-compile-tmp/gammon.imp"
if (((BOARD[(((int)(P)) + (D))].BS) != (1))) goto L_00a6;
#line 403 "regression-compile-tmp/gammon.imp"
BOARD[(((int)(P)) + (D))].BS = 0;
#line 403 "regression-compile-tmp/gammon.imp"
BOARD[25].BS = (((int)(BOARD[25].BS)) + (1));
#line 403 "regression-compile-tmp/gammon.imp"
*BP = 1;
#line 403 "regression-compile-tmp/gammon.imp"
L_00a6:;
                                                                //    404      %AND BOARD(25)_BS=BOARD(25)_BS+1 %AND BP=1
                                                                //    405   %END
#line 405 "regression-compile-tmp/gammon.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block MTSTMOV at level 2
                                                                //    406  
                                                                //    407   %ROUTINE CLTSTMOV (%INTEGER P,D,%INTEGERNAME BP)
#line 407 "regression-compile-tmp/gammon.imp"
void CLTSTMOV( int P, int D, int /*name*/*BP )
#line 407 "regression-compile-tmp/gammon.imp"
{
                                                                //    408   BOARD(P)_WS=BOARD(P)_WS+1
#line 408 "regression-compile-tmp/gammon.imp"
BOARD[P].WS = (((int)(BOARD[P].WS)) + (1));
                                                                //    409   BOARD(P+D)_WS=BOARD(P+D)_WS-1
#line 409 "regression-compile-tmp/gammon.imp"
BOARD[(((int)(P)) + (D))].WS = (((int)(BOARD[(((int)(P)) + (D))].WS)) - (1));
                                                                //    410   %IF BP=1 %THEN BOARD(P+D)_BS=1 %AND BOARD(25)_BS=BOARD(25)_BS-1 %C
#line 410 "regression-compile-tmp/gammon.imp"
if (((*BP) != (1))) goto L_00a7;
#line 410 "regression-compile-tmp/gammon.imp"
BOARD[(((int)(P)) + (D))].BS = 1;
#line 410 "regression-compile-tmp/gammon.imp"
BOARD[25].BS = (((int)(BOARD[25].BS)) - (1));
#line 410 "regression-compile-tmp/gammon.imp"
*BP = 0;
#line 410 "regression-compile-tmp/gammon.imp"
L_00a7:;
                                                                //    411      %AND BP=0
                                                                //    412   %END
#line 412 "regression-compile-tmp/gammon.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block CLTSTMOV at level 2
                                                                //    413  
                                                                //    414   %ROUTINE MMOVE (%INTEGER P,D)
#line 414 "regression-compile-tmp/gammon.imp"
void MMOVE( int P, int D )
#line 414 "regression-compile-tmp/gammon.imp"
{
                                                                //    415   BOARD(P)_WS=BOARD(P)_WS-1
#line 415 "regression-compile-tmp/gammon.imp"
BOARD[P].WS = (((int)(BOARD[P].WS)) - (1));
                                                                //    416   BOARD(P+D)_WS=BOARD(P+D)_WS+1
#line 416 "regression-compile-tmp/gammon.imp"
BOARD[(((int)(P)) + (D))].WS = (((int)(BOARD[(((int)(P)) + (D))].WS)) + (1));
                                                                //    417   BOARD(25)_BS=BOARD(25)_BS+BOARD(P+D)_BS
#line 417 "regression-compile-tmp/gammon.imp"
BOARD[25].BS = (((int)(BOARD[25].BS)) + (BOARD[(((int)(P)) + (D))].BS));
                                                                //    418   BOARD(P+D)_BS=0
#line 418 "regression-compile-tmp/gammon.imp"
BOARD[(((int)(P)) + (D))].BS = 0;
                                                                //    419   %END
#line 419 "regression-compile-tmp/gammon.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block MMOVE at level 2
                                                                //    420  
                                                                //    421   %ROUTINE GOOD (%INTEGERNAME S,WT)
#line 421 "regression-compile-tmp/gammon.imp"
void GOOD( int /*name*/*S, int /*name*/*WT )
#line 421 "regression-compile-tmp/gammon.imp"
{
                                                                //    422   %IF S=0 %THENRETURN
#line 422 "regression-compile-tmp/gammon.imp"
if (((*S) != (0))) goto L_00a8;
#line 422 "regression-compile-tmp/gammon.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 422 "regression-compile-tmp/gammon.imp"
L_00a8:;
                                                                //    423   %IF S<0 %THEN WT=WT-1 %ELSE WT=WT+1
#line 423 "regression-compile-tmp/gammon.imp"
if (((*S) >= (0))) goto L_00a9;
#line 423 "regression-compile-tmp/gammon.imp"
*WT = ((*(int *)(WT)) - (1));
#line 423 "regression-compile-tmp/gammon.imp"
goto L_00aa;
#line 423 "regression-compile-tmp/gammon.imp"
L_00a9:;
#line 423 "regression-compile-tmp/gammon.imp"
*WT = ((*(int *)(WT)) + (1));
#line 423 "regression-compile-tmp/gammon.imp"
L_00aa:;
                                                                //    424   %END
#line 424 "regression-compile-tmp/gammon.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block GOOD at level 2
                                                                //    425  
                                                                //    426   %ROUTINE BAD (%INTEGERNAME S,WT)
#line 426 "regression-compile-tmp/gammon.imp"
void BAD( int /*name*/*S, int /*name*/*WT )
#line 426 "regression-compile-tmp/gammon.imp"
{
                                                                //    427   %IF S=0 %THENRETURN
#line 427 "regression-compile-tmp/gammon.imp"
if (((*S) != (0))) goto L_00ab;
#line 427 "regression-compile-tmp/gammon.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 427 "regression-compile-tmp/gammon.imp"
L_00ab:;
                                                                //    428   %IF S>0 %THEN WT=WT-1 %ELSE WT=WT+1
#line 428 "regression-compile-tmp/gammon.imp"
if (((*S) <= (0))) goto L_00ac;
#line 428 "regression-compile-tmp/gammon.imp"
*WT = ((*(int *)(WT)) - (1));
#line 428 "regression-compile-tmp/gammon.imp"
goto L_00ad;
#line 428 "regression-compile-tmp/gammon.imp"
L_00ac:;
#line 428 "regression-compile-tmp/gammon.imp"
*WT = ((*(int *)(WT)) + (1));
#line 428 "regression-compile-tmp/gammon.imp"
L_00ad:;
                                                                //    429   %END
#line 429 "regression-compile-tmp/gammon.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block BAD at level 2
                                                                //    430  
                                                                //    431   %ROUTINE LOADWTS
#line 431 "regression-compile-tmp/gammon.imp"
void LOADWTS( void )
#line 431 "regression-compile-tmp/gammon.imp"
{
                                                                //    432     W1 = 19
#line 432 "regression-compile-tmp/gammon.imp"
W1 = 19;
                                                                //    433     W2 = 117
#line 433 "regression-compile-tmp/gammon.imp"
W2 = 117;
                                                                //    434     W3 = 102
#line 434 "regression-compile-tmp/gammon.imp"
W3 = 102;
                                                                //    435     W4 = 15
#line 435 "regression-compile-tmp/gammon.imp"
W4 = 15;
                                                                //    436     W5 = 15
#line 436 "regression-compile-tmp/gammon.imp"
W5 = 15;
                                                                //    437     W6 = 12
#line 437 "regression-compile-tmp/gammon.imp"
W6 = 12;
                                                                //    438     W7 = 64
#line 438 "regression-compile-tmp/gammon.imp"
W7 = 64;
                                                                //    439     W8 = 43
#line 439 "regression-compile-tmp/gammon.imp"
W8 = 43;
                                                                //    440     W9 = 62
#line 440 "regression-compile-tmp/gammon.imp"
W9 = 62;
                                                                //    441     W10 = 15
#line 441 "regression-compile-tmp/gammon.imp"
W10 = 15;
                                                                //    442   %END
#line 442 "regression-compile-tmp/gammon.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block LOADWTS at level 2
                                                                //    443  
                                                                //    444   %ROUTINE DUMPWTS
#line 444 "regression-compile-tmp/gammon.imp"
void DUMPWTS( void )
#line 444 "regression-compile-tmp/gammon.imp"
{
                                                                //    445   SELECTOUTPUT(2)
#line 445 "regression-compile-tmp/gammon.imp"
_imp_SELECTOUTPUT(2);
                                                                //    446   NEWLINES(3); WRITE(W1,1); NEWLINE; WRITE(W2,1)
#line 446 "regression-compile-tmp/gammon.imp"
_imp_NEWLINES(3);
#line 446 "regression-compile-tmp/gammon.imp"
_imp_WRITE(W1, 1);
#line 446 "regression-compile-tmp/gammon.imp"
_imp_NEWLINE();
#line 446 "regression-compile-tmp/gammon.imp"
_imp_WRITE(W2, 1);
                                                                //    447   NEWLINE; WRITE(W3,1); NEWLINE; WRITE(W4,1)
#line 447 "regression-compile-tmp/gammon.imp"
_imp_NEWLINE();
#line 447 "regression-compile-tmp/gammon.imp"
_imp_WRITE(W3, 1);
#line 447 "regression-compile-tmp/gammon.imp"
_imp_NEWLINE();
#line 447 "regression-compile-tmp/gammon.imp"
_imp_WRITE(W4, 1);
                                                                //    448   NEWLINE; WRITE(W5,1); NEWLINE; WRITE(W6,1)
#line 448 "regression-compile-tmp/gammon.imp"
_imp_NEWLINE();
#line 448 "regression-compile-tmp/gammon.imp"
_imp_WRITE(W5, 1);
#line 448 "regression-compile-tmp/gammon.imp"
_imp_NEWLINE();
#line 448 "regression-compile-tmp/gammon.imp"
_imp_WRITE(W6, 1);
                                                                //    449   NEWLINE; WRITE(W7,1); NEWLINE; WRITE(W8,1)
#line 449 "regression-compile-tmp/gammon.imp"
_imp_NEWLINE();
#line 449 "regression-compile-tmp/gammon.imp"
_imp_WRITE(W7, 1);
#line 449 "regression-compile-tmp/gammon.imp"
_imp_NEWLINE();
#line 449 "regression-compile-tmp/gammon.imp"
_imp_WRITE(W8, 1);
                                                                //    450   NEWLINE; WRITE(W9,1); NEWLINE; WRITE(W10,1)
#line 450 "regression-compile-tmp/gammon.imp"
_imp_NEWLINE();
#line 450 "regression-compile-tmp/gammon.imp"
_imp_WRITE(W9, 1);
#line 450 "regression-compile-tmp/gammon.imp"
_imp_NEWLINE();
#line 450 "regression-compile-tmp/gammon.imp"
_imp_WRITE(W10, 1);
                                                                //    451   %END
#line 451 "regression-compile-tmp/gammon.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block DUMPWTS at level 2
                                                                //    452  
                                                                //    453   %INTEGERFN WBEARO
#line 453 "regression-compile-tmp/gammon.imp"
int WBEARO( void )
#line 453 "regression-compile-tmp/gammon.imp"
{
                                                                //    454   %INTEGER I,J; J=WBOFF
#line 454 "regression-compile-tmp/gammon.imp"
int I;
#line 454 "regression-compile-tmp/gammon.imp"
int J;
#line 454 "regression-compile-tmp/gammon.imp"
J = WBOFF;
                                                                //    455   %CYCLE I=19,1,24
#line 455 "regression-compile-tmp/gammon.imp"
I = 18;
if ((((24)-(19)) % (1)) != 0) _imp_signal(5,1,0,"Illegal cycle I = 19, 1, 24");
L_00ae:;
if (I == 24) goto L_00af;
I += 1;
                                                                //    456      J=J+BOARD(I)_WS
#line 456 "regression-compile-tmp/gammon.imp"
J = (((int)(J)) + (BOARD[I].WS));
                                                                //    457   %REPEAT
#line 457 "regression-compile-tmp/gammon.imp"
goto L_00ae;
#line 457 "regression-compile-tmp/gammon.imp"
L_00af:;
                                                                //    458   %RESULT = J
#line 458 "regression-compile-tmp/gammon.imp"
/* Remove %on %event handler here if present for this block */
return J;
                                                                //    459   %END
#line 459 "regression-compile-tmp/gammon.imp"
} // End of block WBEARO at level 2
                                                                //    460  
                                                                //    461   %ROUTINE DOBEST(%INTEGER D)
#line 461 "regression-compile-tmp/gammon.imp"
void DOBEST( int D )
#line 461 "regression-compile-tmp/gammon.imp"
{
                                                                //    462   %IF D#0 %THENSTART
#line 462 "regression-compile-tmp/gammon.imp"
if (((D) == (0))) goto L_00b1;
                                                                //    463      %IF BOARD(25-D)_WS>0 %THENSTART
#line 463 "regression-compile-tmp/gammon.imp"
if (((BOARD[(((int)(25)) - (D))].WS) <= (0))) goto L_00b2;
                                                                //    464         BOARD(25-D)_WS=BOARD(25-D)_WS-1
#line 464 "regression-compile-tmp/gammon.imp"
BOARD[(((int)(25)) - (D))].WS = (((int)(BOARD[(((int)(25)) - (D))].WS)) - (1));
                                                                //    465         WBOFF=WBOFF+1
#line 465 "regression-compile-tmp/gammon.imp"
WBOFF = (((int)(WBOFF)) + (1));
                                                                //    466      %FINISHELSESTART
#line 466 "regression-compile-tmp/gammon.imp"
goto L_00b3;
#line 466 "regression-compile-tmp/gammon.imp"
L_00b2:;
                                                                //    467         %IF BOARD(25-D+1)_WS>0 %THENSTART
#line 467 "regression-compile-tmp/gammon.imp"
if (((BOARD[(((int)((((int)(25)) - (D)))) + (1))].WS) <= (0))) goto L_00b4;
                                                                //    468            BOARD(25-D+1)_WS=BOARD(25-D+1)_WS-1
#line 468 "regression-compile-tmp/gammon.imp"
BOARD[(((int)((((int)(25)) - (D)))) + (1))].WS = (((int)(BOARD[(((int)((((int)(25)) - (D)))) + (1))].WS)) - (1));
                                                                //    469            WBOFF=WBOFF+1
#line 469 "regression-compile-tmp/gammon.imp"
WBOFF = (((int)(WBOFF)) + (1));
                                                                //    470         %FINISHELSESTART
#line 470 "regression-compile-tmp/gammon.imp"
goto L_00b5;
#line 470 "regression-compile-tmp/gammon.imp"
L_00b4:;
                                                                //    471            %CYCLE M=19,1,25-D
#line 471 "regression-compile-tmp/gammon.imp"
{static int _initial, _increment, _final, _control;
_initial = 19; _increment = 1; _final = (((int)(25)) - (D)); M = _control = _initial;
if (((_final-_initial) % _increment) != 0) _imp_signal(5,1,0,"Illegal cycle M = 19, 1, (((int)(25)) - (D))");
M -= _increment; _control -= _increment;
L_00b6:;
if (M == _final) goto L_00b7;
M += _increment; _control += _increment;
if (M != _control) _imp_signal(4,2,0,"Corrupt control variable M"); /* FOR loop control variable corrupted */
}
                                                                //    472               %IF WBOFF<8 %THENSTART
#line 472 "regression-compile-tmp/gammon.imp"
if (((WBOFF) >= (8))) goto L_00b9;
                                                                //    473                  %IF BOARD(M)_WS>2 %THEN MMOVE(M,D) %ANDRETURN
#line 473 "regression-compile-tmp/gammon.imp"
if (((BOARD[M].WS) <= (2))) goto L_00ba;
#line 473 "regression-compile-tmp/gammon.imp"
MMOVE(M, D);
#line 473 "regression-compile-tmp/gammon.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 473 "regression-compile-tmp/gammon.imp"
L_00ba:;
                                                                //    474               %FINISHELSESTART
#line 474 "regression-compile-tmp/gammon.imp"
goto L_00bb;
#line 474 "regression-compile-tmp/gammon.imp"
L_00b9:;
                                                                //    475                  %IF BOARD(M)_WS>1 %THEN MMOVE(M,D) %ANDRETURN
#line 475 "regression-compile-tmp/gammon.imp"
if (((BOARD[M].WS) <= (1))) goto L_00bc;
#line 475 "regression-compile-tmp/gammon.imp"
MMOVE(M, D);
#line 475 "regression-compile-tmp/gammon.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 475 "regression-compile-tmp/gammon.imp"
L_00bc:;
                                                                //    476               %FINISH
#line 476 "regression-compile-tmp/gammon.imp"
L_00bb:;
                                                                //    477            %REPEAT
#line 477 "regression-compile-tmp/gammon.imp"
goto L_00b6;
#line 477 "regression-compile-tmp/gammon.imp"
L_00b7:;
                                                                //    478             %CYCLE M=19,1,24
#line 478 "regression-compile-tmp/gammon.imp"
M = 18;
if ((((24)-(19)) % (1)) != 0) _imp_signal(5,1,0,"Illegal cycle M = 19, 1, 24");
L_00bd:;
if (M == 24) goto L_00be;
M += 1;
                                                                //    479                %IF DICE2+M<25 %THENSTART
#line 479 "regression-compile-tmp/gammon.imp"
if ((((((int)(DICE2)) + (M))) >= (25))) goto L_00c0;
                                                                //    480                   %IF BOARD(M)_WS>0 %THEN MMOVE(M,DICE2) %ANDRETURN
#line 480 "regression-compile-tmp/gammon.imp"
if (((BOARD[M].WS) <= (0))) goto L_00c1;
#line 480 "regression-compile-tmp/gammon.imp"
MMOVE(M, DICE2);
#line 480 "regression-compile-tmp/gammon.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 480 "regression-compile-tmp/gammon.imp"
L_00c1:;
                                                                //    481                %FINISHELSESTART
#line 481 "regression-compile-tmp/gammon.imp"
goto L_00c2;
#line 481 "regression-compile-tmp/gammon.imp"
L_00c0:;
                                                                //    482                   %IF BOARD(M)_WS>0 %THENSTART
#line 482 "regression-compile-tmp/gammon.imp"
if (((BOARD[M].WS) <= (0))) goto L_00c3;
                                                                //    483                      BOARD(M)_WS=BOARD(M)_WS-1
#line 483 "regression-compile-tmp/gammon.imp"
BOARD[M].WS = (((int)(BOARD[M].WS)) - (1));
                                                                //    484                      WBOFF=WBOFF+1; %RETURN
#line 484 "regression-compile-tmp/gammon.imp"
WBOFF = (((int)(WBOFF)) + (1));
#line 484 "regression-compile-tmp/gammon.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //    485                   %FINISH
#line 485 "regression-compile-tmp/gammon.imp"
L_00c3:;
                                                                //    486                %FINISH
#line 486 "regression-compile-tmp/gammon.imp"
L_00c2:;
                                                                //    487             %REPEAT
#line 487 "regression-compile-tmp/gammon.imp"
goto L_00bd;
#line 487 "regression-compile-tmp/gammon.imp"
L_00be:;
                                                                //    488         %FINISH
#line 488 "regression-compile-tmp/gammon.imp"
L_00b5:;
                                                                //    489      %FINISH
#line 489 "regression-compile-tmp/gammon.imp"
L_00b3:;
                                                                //    490   %FINISH
#line 490 "regression-compile-tmp/gammon.imp"
L_00b1:;
                                                                //    491   %END
#line 491 "regression-compile-tmp/gammon.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block DOBEST at level 2
                                                                //    492  
                                                                //    493   %ROUTINE MTSTBOFF(%INTEGER NUM,DIE)
#line 493 "regression-compile-tmp/gammon.imp"
void MTSTBOFF( int NUM, int DIE )
#line 493 "regression-compile-tmp/gammon.imp"
{
                                                                //    494   %IF NUM+DIE<25 %THENSTART
#line 494 "regression-compile-tmp/gammon.imp"
if ((((((int)(NUM)) + (DIE))) >= (25))) goto L_00c4;
                                                                //    495      %IF BOARD(NUM+DIE)_BS=0 %THEN MMOVE(NUM,DIE) %ELSE NOMOV=1
#line 495 "regression-compile-tmp/gammon.imp"
if (((BOARD[(((int)(NUM)) + (DIE))].BS) != (0))) goto L_00c5;
#line 495 "regression-compile-tmp/gammon.imp"
MMOVE(NUM, DIE);
#line 495 "regression-compile-tmp/gammon.imp"
goto L_00c6;
#line 495 "regression-compile-tmp/gammon.imp"
L_00c5:;
#line 495 "regression-compile-tmp/gammon.imp"
NOMOV = 1;
#line 495 "regression-compile-tmp/gammon.imp"
L_00c6:;
                                                                //    496   %FINISHELSESTART
#line 496 "regression-compile-tmp/gammon.imp"
goto L_00c7;
#line 496 "regression-compile-tmp/gammon.imp"
L_00c4:;
                                                                //    497      BOARD(NUM)_WS=BOARD(NUM)_WS-1
#line 497 "regression-compile-tmp/gammon.imp"
BOARD[NUM].WS = (((int)(BOARD[NUM].WS)) - (1));
                                                                //    498      WBOFF=WBOFF+1
#line 498 "regression-compile-tmp/gammon.imp"
WBOFF = (((int)(WBOFF)) + (1));
                                                                //    499   %FINISH
#line 499 "regression-compile-tmp/gammon.imp"
L_00c7:;
                                                                //    500   %END
#line 500 "regression-compile-tmp/gammon.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block MTSTBOFF at level 2
                                                                //    501  
                                                                //    502   %ROUTINE CLTSTBOFF(%INTEGER NUM,DIE)
#line 502 "regression-compile-tmp/gammon.imp"
void CLTSTBOFF( int NUM, int DIE )
#line 502 "regression-compile-tmp/gammon.imp"
{
                                                                //    503   TEMP=0
#line 503 "regression-compile-tmp/gammon.imp"
TEMP = 0;
                                                                //    504   %IF NUM+DIE<25 %THEN CLTSTMOV(NUM,DIE,TEMP) %ELSESTART
#line 504 "regression-compile-tmp/gammon.imp"
if ((((((int)(NUM)) + (DIE))) >= (25))) goto L_00c8;
#line 504 "regression-compile-tmp/gammon.imp"
CLTSTMOV(NUM, DIE, &TEMP);
#line 504 "regression-compile-tmp/gammon.imp"
goto L_00c9;
#line 504 "regression-compile-tmp/gammon.imp"
L_00c8:;
                                                                //    505      BOARD(NUM)_WS=BOARD(NUM)_WS+1
#line 505 "regression-compile-tmp/gammon.imp"
BOARD[NUM].WS = (((int)(BOARD[NUM].WS)) + (1));
                                                                //    506      WBOFF=WBOFF-1
#line 506 "regression-compile-tmp/gammon.imp"
WBOFF = (((int)(WBOFF)) - (1));
                                                                //    507   %FINISH
#line 507 "regression-compile-tmp/gammon.imp"
L_00c9:;
                                                                //    508   %END
#line 508 "regression-compile-tmp/gammon.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block CLTSTBOFF at level 2
                                                                //    509  
                                                                //    510   !
                                                                //    511   !
                                                                //    512   !
                                                                //    513   LOADWTS
#line 513 "regression-compile-tmp/gammon.imp"
LOADWTS();
                                                                //    514   SELECTINPUT(0)
#line 514 "regression-compile-tmp/gammon.imp"
_imp_SELECTINPUT(0);
                                                                //    515   CLOSESTREAM(1)
#line 515 "regression-compile-tmp/gammon.imp"
_imp_CLOSESTREAM(1);
                                                                //    516   INITIALIZE
#line 516 "regression-compile-tmp/gammon.imp"
INITIALIZE();
                                                                //    517   PRINTSTATE
#line 517 "regression-compile-tmp/gammon.imp"
PRINTSTATE();
                                                                //    518  STRT: %CYCLE
#line 518 "regression-compile-tmp/gammon.imp"
U_1006:;
#line 518 "regression-compile-tmp/gammon.imp"
L_00ca:;
                                                                //    519   READ(DICE1); READ(DICE2); BSTVAL=X'80000000'
#line 519 "regression-compile-tmp/gammon.imp"
_imp_READ(&DICE1);
#line 519 "regression-compile-tmp/gammon.imp"
_imp_READ(&DICE2);
#line 519 "regression-compile-tmp/gammon.imp"
BSTVAL = (-2147483648);
                                                                //    520   %IF DICE1=DICE2 %THEN DICE3=DICE1 %AND DICE4=DICE2 %C
#line 520 "regression-compile-tmp/gammon.imp"
if (((DICE1) != (DICE2))) goto L_00cd;
#line 520 "regression-compile-tmp/gammon.imp"
DICE3 = DICE1;
#line 520 "regression-compile-tmp/gammon.imp"
DICE4 = DICE2;
#line 520 "regression-compile-tmp/gammon.imp"
goto L_00ce;
#line 520 "regression-compile-tmp/gammon.imp"
L_00cd:;
#line 520 "regression-compile-tmp/gammon.imp"
DICE3 = 0;
#line 520 "regression-compile-tmp/gammon.imp"
DICE4 = 0;
#line 520 "regression-compile-tmp/gammon.imp"
L_00ce:;
                                                                //    521      %ELSE DICE3=0 %AND DICE4=0
                                                                //    522   RUNNING=0
#line 522 "regression-compile-tmp/gammon.imp"
RUNNING = 0;
                                                                //    523   %IF WBEARO=15 %THEN -> BEAROFF
#line 523 "regression-compile-tmp/gammon.imp"
if (((WBEARO()) != (15))) goto L_00cf;
#line 523 "regression-compile-tmp/gammon.imp"
goto U_1007;
#line 523 "regression-compile-tmp/gammon.imp"
L_00cf:;
                                                                //    524   TEMP=BBOFF
#line 524 "regression-compile-tmp/gammon.imp"
TEMP = BBOFF;
                                                                //    525   %CYCLE L=0,1,24
#line 525 "regression-compile-tmp/gammon.imp"
L = (-1);
if ((((24)-(0)) % (1)) != 0) _imp_signal(5,1,0,"Illegal cycle L = 0, 1, 24");
L_00d0:;
if (L == 24) goto L_00d1;
L += 1;
                                                                //    526      %IF BOARD(L)_WS>0 %THENEXIT
#line 526 "regression-compile-tmp/gammon.imp"
if (((BOARD[L].WS) <= (0))) goto L_00d3;
#line 526 "regression-compile-tmp/gammon.imp"
goto L_00d1;
#line 526 "regression-compile-tmp/gammon.imp"
L_00d3:;
                                                                //    527      TEMP=TEMP+BOARD(L)_BS
#line 527 "regression-compile-tmp/gammon.imp"
TEMP = (((int)(TEMP)) + (BOARD[L].BS));
                                                                //    528   %REPEAT
#line 528 "regression-compile-tmp/gammon.imp"
goto L_00d0;
#line 528 "regression-compile-tmp/gammon.imp"
L_00d1:;
                                                                //    529   %IF TEMP=15 %THEN RUNNING=1 %AND -> RUN
#line 529 "regression-compile-tmp/gammon.imp"
if (((TEMP) != (15))) goto L_00d4;
#line 529 "regression-compile-tmp/gammon.imp"
RUNNING = 1;
#line 529 "regression-compile-tmp/gammon.imp"
goto U_1008;
#line 529 "regression-compile-tmp/gammon.imp"
L_00d4:;
                                                                //    530   M1=0;M2=0;M3=0;M4=0;BARFL=0
#line 530 "regression-compile-tmp/gammon.imp"
M1 = 0;
#line 530 "regression-compile-tmp/gammon.imp"
M2 = 0;
#line 530 "regression-compile-tmp/gammon.imp"
M3 = 0;
#line 530 "regression-compile-tmp/gammon.imp"
M4 = 0;
#line 530 "regression-compile-tmp/gammon.imp"
BARFL = 0;
                                                                //    531   %IF WBAR>0 %THENSTART
#line 531 "regression-compile-tmp/gammon.imp"
if (((WBAR()) <= (0))) goto L_00d5;
                                                                //    532      %IF WBAR>1 %THENSTART
#line 532 "regression-compile-tmp/gammon.imp"
if (((WBAR()) <= (1))) goto L_00d6;
                                                                //    533         %IF BOARD(DICE1)_BS<2 %THEN MMOVE(0,DICE1)
#line 533 "regression-compile-tmp/gammon.imp"
if (((BOARD[DICE1].BS) >= (2))) goto L_00d7;
#line 533 "regression-compile-tmp/gammon.imp"
MMOVE(0, DICE1);
#line 533 "regression-compile-tmp/gammon.imp"
L_00d7:;
                                                                //    534         %IF BOARD(DICE2)_BS<2 %THEN MMOVE(0,DICE2)
#line 534 "regression-compile-tmp/gammon.imp"
if (((BOARD[DICE2].BS) >= (2))) goto L_00d8;
#line 534 "regression-compile-tmp/gammon.imp"
MMOVE(0, DICE2);
#line 534 "regression-compile-tmp/gammon.imp"
L_00d8:;
                                                                //    535         -> DONE
#line 535 "regression-compile-tmp/gammon.imp"
goto U_1009;
                                                                //    536      %FINISH
#line 536 "regression-compile-tmp/gammon.imp"
L_00d6:;
                                                                //    537      %IF BOARD(DICE1)_BS>1 %AND BOARD(DICE2)_BS>1 %THEN -> DONE
#line 537 "regression-compile-tmp/gammon.imp"
if (((BOARD[DICE1].BS) <= (1))) goto L_00d9;
#line 537 "regression-compile-tmp/gammon.imp"
if (((BOARD[DICE2].BS) <= (1))) goto L_00d9;
#line 537 "regression-compile-tmp/gammon.imp"
goto U_1009;
#line 537 "regression-compile-tmp/gammon.imp"
L_00d9:;
                                                                //    538      BARFL=1
#line 538 "regression-compile-tmp/gammon.imp"
BARFL = 1;
                                                                //    539   %FINISH
#line 539 "regression-compile-tmp/gammon.imp"
L_00d5:;
                                                                //    540   %CYCLE K=1,1,2
#line 540 "regression-compile-tmp/gammon.imp"
K = 0;
if ((((2)-(1)) % (1)) != 0) _imp_signal(5,1,0,"Illegal cycle K = 1, 1, 2");
L_00da:;
if (K == 2) goto L_00db;
K += 1;
                                                                //    541   %IF K=1 %THEN SECOND=0 %ELSESTART
#line 541 "regression-compile-tmp/gammon.imp"
if (((K) != (1))) goto L_00dd;
#line 541 "regression-compile-tmp/gammon.imp"
SECOND = 0;
#line 541 "regression-compile-tmp/gammon.imp"
goto L_00de;
#line 541 "regression-compile-tmp/gammon.imp"
L_00dd:;
                                                                //    542      TEMP=DICE1; DICE1=DICE2; DICE2=TEMP; SECOND=1
#line 542 "regression-compile-tmp/gammon.imp"
TEMP = DICE1;
#line 542 "regression-compile-tmp/gammon.imp"
DICE1 = DICE2;
#line 542 "regression-compile-tmp/gammon.imp"
DICE2 = TEMP;
#line 542 "regression-compile-tmp/gammon.imp"
SECOND = 1;
                                                                //    543   %FINISH
#line 543 "regression-compile-tmp/gammon.imp"
L_00de:;
                                                                //    544   %CYCLE I=0,1,23
#line 544 "regression-compile-tmp/gammon.imp"
I = (-1);
if ((((23)-(0)) % (1)) != 0) _imp_signal(5,1,0,"Illegal cycle I = 0, 1, 23");
L_00df:;
if (I == 23) goto L_00e0;
I += 1;
                                                                //    545      %IF BOARD(I)_WS>0 %THEN PT1=I %ELSE -> CYC1
#line 545 "regression-compile-tmp/gammon.imp"
if (((BOARD[I].WS) <= (0))) goto L_00e2;
#line 545 "regression-compile-tmp/gammon.imp"
PT1 = I;
#line 545 "regression-compile-tmp/gammon.imp"
goto L_00e3;
#line 545 "regression-compile-tmp/gammon.imp"
L_00e2:;
#line 545 "regression-compile-tmp/gammon.imp"
goto U_100a;
#line 545 "regression-compile-tmp/gammon.imp"
L_00e3:;
                                                                //    546      %IF PT1+DICE1<25 %AND BOARD(PT1+DICE1)_BS<2 %THENSTART
#line 546 "regression-compile-tmp/gammon.imp"
if ((((((int)(PT1)) + (DICE1))) >= (25))) goto L_00e4;
#line 546 "regression-compile-tmp/gammon.imp"
if (((BOARD[(((int)(PT1)) + (DICE1))].BS) >= (2))) goto L_00e4;
                                                                //    547         MTSTMOV(PT1,DICE1,BARPT1); M1=1
#line 547 "regression-compile-tmp/gammon.imp"
MTSTMOV(PT1, DICE1, &BARPT1);
#line 547 "regression-compile-tmp/gammon.imp"
M1 = 1;
                                                                //    548         %IF WBEARO=15 %THEN DICE1=0 %AND -> BEAROFF
#line 548 "regression-compile-tmp/gammon.imp"
if (((WBEARO()) != (15))) goto L_00e5;
#line 548 "regression-compile-tmp/gammon.imp"
DICE1 = 0;
#line 548 "regression-compile-tmp/gammon.imp"
goto U_1007;
#line 548 "regression-compile-tmp/gammon.imp"
L_00e5:;
                                                                //    549         %IF SECOND=1 %THEN N=I+1 %ELSE N=I
#line 549 "regression-compile-tmp/gammon.imp"
if (((SECOND) != (1))) goto L_00e6;
#line 549 "regression-compile-tmp/gammon.imp"
N = (((int)(I)) + (1));
#line 549 "regression-compile-tmp/gammon.imp"
goto L_00e7;
#line 549 "regression-compile-tmp/gammon.imp"
L_00e6:;
#line 549 "regression-compile-tmp/gammon.imp"
N = I;
#line 549 "regression-compile-tmp/gammon.imp"
L_00e7:;
                                                                //    550         %CYCLE J=N,1,24
#line 550 "regression-compile-tmp/gammon.imp"
J = (((int)(N)) - (1));
if ((((24)-(N)) % (1)) != 0) _imp_signal(5,1,0,"Illegal cycle J = N, 1, 24");
L_00e8:;
if (J == 24) goto L_00e9;
J += 1;
                                                                //    551            %IF BOARD(J)_WS>0 %THEN PT2=J %ELSE -> CYC2
#line 551 "regression-compile-tmp/gammon.imp"
if (((BOARD[J].WS) <= (0))) goto L_00eb;
#line 551 "regression-compile-tmp/gammon.imp"
PT2 = J;
#line 551 "regression-compile-tmp/gammon.imp"
goto L_00ec;
#line 551 "regression-compile-tmp/gammon.imp"
L_00eb:;
#line 551 "regression-compile-tmp/gammon.imp"
goto U_100b;
#line 551 "regression-compile-tmp/gammon.imp"
L_00ec:;
                                                                //    552            %IF PT2+DICE2<25 %AND BOARD(PT2+DICE2)_BS<2 %THENSTART
#line 552 "regression-compile-tmp/gammon.imp"
if ((((((int)(PT2)) + (DICE2))) >= (25))) goto L_00ed;
#line 552 "regression-compile-tmp/gammon.imp"
if (((BOARD[(((int)(PT2)) + (DICE2))].BS) >= (2))) goto L_00ed;
                                                                //    553               MTSTMOV(PT2,DICE2,BARPT2); M2=1
#line 553 "regression-compile-tmp/gammon.imp"
MTSTMOV(PT2, DICE2, &BARPT2);
#line 553 "regression-compile-tmp/gammon.imp"
M2 = 1;
                                                                //    554               %IF DICE1=DICE2 %THENSTART
#line 554 "regression-compile-tmp/gammon.imp"
if (((DICE1) != (DICE2))) goto L_00ee;
                                                                //    555                  %IF WBEARO=15 %THEN DICE2=0 %AND DICE1=0 %AND -> BEAROFF
#line 555 "regression-compile-tmp/gammon.imp"
if (((WBEARO()) != (15))) goto L_00ef;
#line 555 "regression-compile-tmp/gammon.imp"
DICE2 = 0;
#line 555 "regression-compile-tmp/gammon.imp"
DICE1 = 0;
#line 555 "regression-compile-tmp/gammon.imp"
goto U_1007;
#line 555 "regression-compile-tmp/gammon.imp"
L_00ef:;
                                                                //    556                  %CYCLE G=J,1,23
#line 556 "regression-compile-tmp/gammon.imp"
G = (((int)(J)) - (1));
if ((((23)-(J)) % (1)) != 0) _imp_signal(5,1,0,"Illegal cycle G = J, 1, 23");
L_00f0:;
if (G == 23) goto L_00f1;
G += 1;
                                                                //    557                     %IF BOARD(G)_WS>0 %THEN PT3=G %ELSE -> CYC3
#line 557 "regression-compile-tmp/gammon.imp"
if (((BOARD[G].WS) <= (0))) goto L_00f3;
#line 557 "regression-compile-tmp/gammon.imp"
PT3 = G;
#line 557 "regression-compile-tmp/gammon.imp"
goto L_00f4;
#line 557 "regression-compile-tmp/gammon.imp"
L_00f3:;
#line 557 "regression-compile-tmp/gammon.imp"
goto U_100c;
#line 557 "regression-compile-tmp/gammon.imp"
L_00f4:;
                                                                //    558                     %IF PT3+DICE1<25 %AND BOARD(PT3+DICE1)_BS<2 %C
#line 558 "regression-compile-tmp/gammon.imp"
if ((((((int)(PT3)) + (DICE1))) >= (25))) goto L_00f5;
#line 558 "regression-compile-tmp/gammon.imp"
if (((BOARD[(((int)(PT3)) + (DICE1))].BS) >= (2))) goto L_00f5;
                                                                //    559                        %THENSTART
                                                                //    560                        MTSTMOV(PT3,DICE1,BARPT3); M3=1
#line 560 "regression-compile-tmp/gammon.imp"
MTSTMOV(PT3, DICE1, &BARPT3);
#line 560 "regression-compile-tmp/gammon.imp"
M3 = 1;
                                                                //    561                        %IF WBEARO=15 %THEN DICE1=0 %AND DICE2=0 %C
#line 561 "regression-compile-tmp/gammon.imp"
if (((WBEARO()) != (15))) goto L_00f6;
#line 561 "regression-compile-tmp/gammon.imp"
DICE1 = 0;
#line 561 "regression-compile-tmp/gammon.imp"
DICE2 = 0;
#line 561 "regression-compile-tmp/gammon.imp"
DICE3 = 0;
#line 561 "regression-compile-tmp/gammon.imp"
goto U_1007;
#line 561 "regression-compile-tmp/gammon.imp"
L_00f6:;
                                                                //    562                           %AND DICE3=0 %AND -> BEAROFF
                                                                //    563                        %CYCLE H=G,1,23
#line 563 "regression-compile-tmp/gammon.imp"
H = (((int)(G)) - (1));
if ((((23)-(G)) % (1)) != 0) _imp_signal(5,1,0,"Illegal cycle H = G, 1, 23");
L_00f7:;
if (H == 23) goto L_00f8;
H += 1;
                                                                //    564                           %IF BOARD(H)_WS>0 %THEN PT4=H %ELSE -> CYC4
#line 564 "regression-compile-tmp/gammon.imp"
if (((BOARD[H].WS) <= (0))) goto L_00fa;
#line 564 "regression-compile-tmp/gammon.imp"
PT4 = H;
#line 564 "regression-compile-tmp/gammon.imp"
goto L_00fb;
#line 564 "regression-compile-tmp/gammon.imp"
L_00fa:;
#line 564 "regression-compile-tmp/gammon.imp"
goto U_100d;
#line 564 "regression-compile-tmp/gammon.imp"
L_00fb:;
                                                                //    565                           %IF PT4+DICE2<25 %AND BOARD(PT4+DICE2)_BS<2 %C
#line 565 "regression-compile-tmp/gammon.imp"
if ((((((int)(PT4)) + (DICE2))) >= (25))) goto L_00fc;
#line 565 "regression-compile-tmp/gammon.imp"
if (((BOARD[(((int)(PT4)) + (DICE2))].BS) >= (2))) goto L_00fc;
                                                                //    566                              %THENSTART
                                                                //    567                              MTSTMOV(PT4,DICE2,BARPT4); M4=1
#line 567 "regression-compile-tmp/gammon.imp"
MTSTMOV(PT4, DICE2, &BARPT4);
#line 567 "regression-compile-tmp/gammon.imp"
M4 = 1;
                                                                //    568                              GBRD
#line 568 "regression-compile-tmp/gammon.imp"
GBRD();
                                                                //    569                              CLTSTMOV(PT4,DICE2,BARPT4)
#line 569 "regression-compile-tmp/gammon.imp"
CLTSTMOV(PT4, DICE2, &BARPT4);
                                                                //    570                           %FINISH
#line 570 "regression-compile-tmp/gammon.imp"
L_00fc:;
                                                                //    571  CYC4:                 %REPEAT
#line 571 "regression-compile-tmp/gammon.imp"
U_100d:;
#line 571 "regression-compile-tmp/gammon.imp"
goto L_00f7;
#line 571 "regression-compile-tmp/gammon.imp"
L_00f8:;
                                                                //    572                        %IF M4=0 %THEN GBRD %AND BSTVAL=X'80000000'
#line 572 "regression-compile-tmp/gammon.imp"
if (((M4) != (0))) goto L_00fd;
#line 572 "regression-compile-tmp/gammon.imp"
GBRD();
#line 572 "regression-compile-tmp/gammon.imp"
BSTVAL = (-2147483648);
#line 572 "regression-compile-tmp/gammon.imp"
L_00fd:;
                                                                //    573                        CLTSTMOV(PT3,DICE1,BARPT3)
#line 573 "regression-compile-tmp/gammon.imp"
CLTSTMOV(PT3, DICE1, &BARPT3);
                                                                //    574                     %FINISH
#line 574 "regression-compile-tmp/gammon.imp"
L_00f5:;
                                                                //    575  CYC3:           %REPEAT
#line 575 "regression-compile-tmp/gammon.imp"
U_100c:;
#line 575 "regression-compile-tmp/gammon.imp"
goto L_00f0;
#line 575 "regression-compile-tmp/gammon.imp"
L_00f1:;
                                                                //    576                  %IF M3=0 %THEN GBRD %AND BSTVAL=X'80000000'
#line 576 "regression-compile-tmp/gammon.imp"
if (((M3) != (0))) goto L_00fe;
#line 576 "regression-compile-tmp/gammon.imp"
GBRD();
#line 576 "regression-compile-tmp/gammon.imp"
BSTVAL = (-2147483648);
#line 576 "regression-compile-tmp/gammon.imp"
L_00fe:;
                                                                //    577               %FINISHELSE GBRD
#line 577 "regression-compile-tmp/gammon.imp"
goto L_00ff;
#line 577 "regression-compile-tmp/gammon.imp"
L_00ee:;
#line 577 "regression-compile-tmp/gammon.imp"
GBRD();
#line 577 "regression-compile-tmp/gammon.imp"
L_00ff:;
                                                                //    578               CLTSTMOV(PT2,DICE2,BARPT2)
#line 578 "regression-compile-tmp/gammon.imp"
CLTSTMOV(PT2, DICE2, &BARPT2);
                                                                //    579            %FINISH
#line 579 "regression-compile-tmp/gammon.imp"
L_00ed:;
                                                                //    580  CYC2:  %REPEAT
#line 580 "regression-compile-tmp/gammon.imp"
U_100b:;
#line 580 "regression-compile-tmp/gammon.imp"
goto L_00e8;
#line 580 "regression-compile-tmp/gammon.imp"
L_00e9:;
                                                                //    581         %IF M2=0 %THEN GBRD %AND BSTVAL=X'80000000'
#line 581 "regression-compile-tmp/gammon.imp"
if (((M2) != (0))) goto L_0100;
#line 581 "regression-compile-tmp/gammon.imp"
GBRD();
#line 581 "regression-compile-tmp/gammon.imp"
BSTVAL = (-2147483648);
#line 581 "regression-compile-tmp/gammon.imp"
L_0100:;
                                                                //    582         CLTSTMOV(PT1,DICE1,BARPT1)
#line 582 "regression-compile-tmp/gammon.imp"
CLTSTMOV(PT1, DICE1, &BARPT1);
                                                                //    583      %FINISH
#line 583 "regression-compile-tmp/gammon.imp"
L_00e4:;
                                                                //    584      %EXITIF BARFL=1
#line 584 "regression-compile-tmp/gammon.imp"
if (((BARFL) != (1))) goto L_0101;
#line 584 "regression-compile-tmp/gammon.imp"
goto L_00e0;
#line 584 "regression-compile-tmp/gammon.imp"
L_0101:;
                                                                //    585  CYC1: %REPEAT
#line 585 "regression-compile-tmp/gammon.imp"
U_100a:;
#line 585 "regression-compile-tmp/gammon.imp"
goto L_00df;
#line 585 "regression-compile-tmp/gammon.imp"
L_00e0:;
                                                                //    586   %EXITIF DICE1=DICE2
#line 586 "regression-compile-tmp/gammon.imp"
if (((DICE1) != (DICE2))) goto L_0102;
#line 586 "regression-compile-tmp/gammon.imp"
goto L_00db;
#line 586 "regression-compile-tmp/gammon.imp"
L_0102:;
                                                                //    587   %REPEAT
#line 587 "regression-compile-tmp/gammon.imp"
goto L_00da;
#line 587 "regression-compile-tmp/gammon.imp"
L_00db:;
                                                                //    588   %IF M1=1 %THEN MMOVE(BSTPT1,BSTMOV1)
#line 588 "regression-compile-tmp/gammon.imp"
if (((M1) != (1))) goto L_0103;
#line 588 "regression-compile-tmp/gammon.imp"
MMOVE(BSTPT1, BSTMOV1);
#line 588 "regression-compile-tmp/gammon.imp"
L_0103:;
                                                                //    589   %IF M2=1 %THEN MMOVE(BSTPT2,BSTMOV2)
#line 589 "regression-compile-tmp/gammon.imp"
if (((M2) != (1))) goto L_0104;
#line 589 "regression-compile-tmp/gammon.imp"
MMOVE(BSTPT2, BSTMOV2);
#line 589 "regression-compile-tmp/gammon.imp"
L_0104:;
                                                                //    590   %IF DICE1=DICE2 %THENSTART
#line 590 "regression-compile-tmp/gammon.imp"
if (((DICE1) != (DICE2))) goto L_0105;
                                                                //    591      %IF M3=1 %THEN MMOVE(BSTPT3,BSTMOV1)
#line 591 "regression-compile-tmp/gammon.imp"
if (((M3) != (1))) goto L_0106;
#line 591 "regression-compile-tmp/gammon.imp"
MMOVE(BSTPT3, BSTMOV1);
#line 591 "regression-compile-tmp/gammon.imp"
L_0106:;
                                                                //    592      %IF M4=1 %THEN MMOVE(BSTPT4,BSTMOV2)
#line 592 "regression-compile-tmp/gammon.imp"
if (((M4) != (1))) goto L_0107;
#line 592 "regression-compile-tmp/gammon.imp"
MMOVE(BSTPT4, BSTMOV2);
#line 592 "regression-compile-tmp/gammon.imp"
L_0107:;
                                                                //    593   %FINISH
#line 593 "regression-compile-tmp/gammon.imp"
L_0105:;
                                                                //    594  DONE: %IF WBOFF=15 %THEN PRINTSTRING("yeah") %AND NEWLINE %ANDEXIT
#line 594 "regression-compile-tmp/gammon.imp"
U_1009:;
#line 594 "regression-compile-tmp/gammon.imp"
if (((WBOFF) != (15))) goto L_0108;
#line 594 "regression-compile-tmp/gammon.imp"
_imp_PRINTSTRING(_imp_str_literal("yeah"));
#line 594 "regression-compile-tmp/gammon.imp"
_imp_NEWLINE();
#line 594 "regression-compile-tmp/gammon.imp"
goto L_00cb;
#line 594 "regression-compile-tmp/gammon.imp"
L_0108:;
                                                                //    595   PRINTSTATE; DOBLACK
#line 595 "regression-compile-tmp/gammon.imp"
PRINTSTATE();
#line 595 "regression-compile-tmp/gammon.imp"
DOBLACK();
                                                                //    596   %IF BBOFF=15 %THEN PRINTSTRING("pity") %AND NEWLINE %ANDEXIT
#line 596 "regression-compile-tmp/gammon.imp"
if (((BBOFF) != (15))) goto L_0109;
#line 596 "regression-compile-tmp/gammon.imp"
_imp_PRINTSTRING(_imp_str_literal("pity"));
#line 596 "regression-compile-tmp/gammon.imp"
_imp_NEWLINE();
#line 596 "regression-compile-tmp/gammon.imp"
goto L_00cb;
#line 596 "regression-compile-tmp/gammon.imp"
L_0109:;
                                                                //    597   %IF RUNNING=1 %THEN -> STRT
#line 597 "regression-compile-tmp/gammon.imp"
if (((RUNNING) != (1))) goto L_010a;
#line 597 "regression-compile-tmp/gammon.imp"
goto U_1006;
#line 597 "regression-compile-tmp/gammon.imp"
L_010a:;
                                                                //    598   GBRDVAL
#line 598 "regression-compile-tmp/gammon.imp"
GBRDVAL();
                                                                //    599   %IF BRDVAL=COMPVAL %THEN -> STRT
#line 599 "regression-compile-tmp/gammon.imp"
if (((BRDVAL) != (COMPVAL))) goto L_010b;
#line 599 "regression-compile-tmp/gammon.imp"
goto U_1006;
#line 599 "regression-compile-tmp/gammon.imp"
L_010b:;
                                                                //    600   %IF COMPVAL<BRDVAL %THENSTART
#line 600 "regression-compile-tmp/gammon.imp"
if (((COMPVAL) >= (BRDVAL))) goto L_010c;
                                                                //    601      GOOD(BV1,W1); GOOD(BV2,W2); GOOD(BV3,W3); GOOD(BV4,W4)
#line 601 "regression-compile-tmp/gammon.imp"
GOOD(&BV1, &W1);
#line 601 "regression-compile-tmp/gammon.imp"
GOOD(&BV2, &W2);
#line 601 "regression-compile-tmp/gammon.imp"
GOOD(&BV3, &W3);
#line 601 "regression-compile-tmp/gammon.imp"
GOOD(&BV4, &W4);
                                                                //    602      GOOD(BV5,W5); GOOD(BV6,W6); GOOD(BV7,W7); GOOD(BV8,W8)
#line 602 "regression-compile-tmp/gammon.imp"
GOOD(&BV5, &W5);
#line 602 "regression-compile-tmp/gammon.imp"
GOOD(&BV6, &W6);
#line 602 "regression-compile-tmp/gammon.imp"
GOOD(&BV7, &W7);
#line 602 "regression-compile-tmp/gammon.imp"
GOOD(&BV8, &W8);
                                                                //    603      GOOD(BV9,W9); GOOD(BV10,W10)
#line 603 "regression-compile-tmp/gammon.imp"
GOOD(&BV9, &W9);
#line 603 "regression-compile-tmp/gammon.imp"
GOOD(&BV10, &W10);
                                                                //    604   %FINISHELSESTART
#line 604 "regression-compile-tmp/gammon.imp"
goto L_010d;
#line 604 "regression-compile-tmp/gammon.imp"
L_010c:;
                                                                //    605      BAD(BV1,W1); BAD(BV2,W2); BAD(BV3,W3); BAD(BV4,W4); BAD(BV5,W5)       
#line 605 "regression-compile-tmp/gammon.imp"
BAD(&BV1, &W1);
#line 605 "regression-compile-tmp/gammon.imp"
BAD(&BV2, &W2);
#line 605 "regression-compile-tmp/gammon.imp"
BAD(&BV3, &W3);
#line 605 "regression-compile-tmp/gammon.imp"
BAD(&BV4, &W4);
#line 605 "regression-compile-tmp/gammon.imp"
BAD(&BV5, &W5);
                                                                //    606      BAD(BV6,W6); BAD(BV7,W7); BAD(BV8,W8); BAD(BV9,W9); BAD(BV10,W10)
#line 606 "regression-compile-tmp/gammon.imp"
BAD(&BV6, &W6);
#line 606 "regression-compile-tmp/gammon.imp"
BAD(&BV7, &W7);
#line 606 "regression-compile-tmp/gammon.imp"
BAD(&BV8, &W8);
#line 606 "regression-compile-tmp/gammon.imp"
BAD(&BV9, &W9);
#line 606 "regression-compile-tmp/gammon.imp"
BAD(&BV10, &W10);
                                                                //    607   %FINISH
#line 607 "regression-compile-tmp/gammon.imp"
L_010d:;
                                                                //    608   COMPVAL=BRDVAL; -> STRT
#line 608 "regression-compile-tmp/gammon.imp"
COMPVAL = BRDVAL;
#line 608 "regression-compile-tmp/gammon.imp"
goto U_1006;
                                                                //    609  RUN: %IF DICE2>DICE1 %THENSTART
#line 609 "regression-compile-tmp/gammon.imp"
U_1008:;
#line 609 "regression-compile-tmp/gammon.imp"
if (((DICE2) <= (DICE1))) goto L_010e;
                                                                //    610      TEMP=DICE2; DICE2=DICE1; DICE1=TEMP
#line 610 "regression-compile-tmp/gammon.imp"
TEMP = DICE2;
#line 610 "regression-compile-tmp/gammon.imp"
DICE2 = DICE1;
#line 610 "regression-compile-tmp/gammon.imp"
DICE1 = TEMP;
                                                                //    611   %FINISH
#line 611 "regression-compile-tmp/gammon.imp"
L_010e:;
                                                                //    612   TEMP=0
#line 612 "regression-compile-tmp/gammon.imp"
TEMP = 0;
                                                                //    613   %CYCLE I=1,1,18
#line 613 "regression-compile-tmp/gammon.imp"
I = 0;
if ((((18)-(1)) % (1)) != 0) _imp_signal(5,1,0,"Illegal cycle I = 1, 1, 18");
L_010f:;
if (I == 18) goto L_0110;
I += 1;
                                                                //    614      %IF BOARD(I)_WS>0 %THENSTART
#line 614 "regression-compile-tmp/gammon.imp"
if (((BOARD[I].WS) <= (0))) goto L_0112;
                                                                //    615         MMOVE(I,DICE1); TEMP=1
#line 615 "regression-compile-tmp/gammon.imp"
MMOVE(I, DICE1);
#line 615 "regression-compile-tmp/gammon.imp"
TEMP = 1;
                                                                //    616         %CYCLE J=I,1,18
#line 616 "regression-compile-tmp/gammon.imp"
J = (((int)(I)) - (1));
if ((((18)-(I)) % (1)) != 0) _imp_signal(5,1,0,"Illegal cycle J = I, 1, 18");
L_0113:;
if (J == 18) goto L_0114;
J += 1;
                                                                //    617            %IF BOARD(J)_WS>0 %THENSTART
#line 617 "regression-compile-tmp/gammon.imp"
if (((BOARD[J].WS) <= (0))) goto L_0116;
                                                                //    618               %IF DICE1#DICE2 %THEN MMOVE(J,DICE2) %C
#line 618 "regression-compile-tmp/gammon.imp"
if (((DICE1) == (DICE2))) goto L_0117;
#line 618 "regression-compile-tmp/gammon.imp"
MMOVE(J, DICE2);
#line 618 "regression-compile-tmp/gammon.imp"
goto L_0118;
#line 618 "regression-compile-tmp/gammon.imp"
L_0117:;
#line 618 "regression-compile-tmp/gammon.imp"
MMOVE(J, DICE1);
#line 618 "regression-compile-tmp/gammon.imp"
L_0118:;
                                                                //    619                  %ELSE MMOVE(J,DICE1); TEMP=2
#line 619 "regression-compile-tmp/gammon.imp"
TEMP = 2;
                                                                //    620               %IF DICE1=DICE2 %THENSTART
#line 620 "regression-compile-tmp/gammon.imp"
if (((DICE1) != (DICE2))) goto L_0119;
                                                                //    621                  %CYCLE G=J,1,18
#line 621 "regression-compile-tmp/gammon.imp"
G = (((int)(J)) - (1));
if ((((18)-(J)) % (1)) != 0) _imp_signal(5,1,0,"Illegal cycle G = J, 1, 18");
L_011a:;
if (G == 18) goto L_011b;
G += 1;
                                                                //    622                     %IF BOARD(G)_WS>0 %THENSTART
#line 622 "regression-compile-tmp/gammon.imp"
if (((BOARD[G].WS) <= (0))) goto L_011d;
                                                                //    623                        MMOVE(G,DICE1); TEMP=3
#line 623 "regression-compile-tmp/gammon.imp"
MMOVE(G, DICE1);
#line 623 "regression-compile-tmp/gammon.imp"
TEMP = 3;
                                                                //    624                        %CYCLE H=G,1,18
#line 624 "regression-compile-tmp/gammon.imp"
H = (((int)(G)) - (1));
if ((((18)-(G)) % (1)) != 0) _imp_signal(5,1,0,"Illegal cycle H = G, 1, 18");
L_011e:;
if (H == 18) goto L_011f;
H += 1;
                                                                //    625                           %IF BOARD(H)_WS>0 %THENSTART
#line 625 "regression-compile-tmp/gammon.imp"
if (((BOARD[H].WS) <= (0))) goto L_0121;
                                                                //    626                              MMOVE(H,DICE2); TEMP=4
#line 626 "regression-compile-tmp/gammon.imp"
MMOVE(H, DICE2);
#line 626 "regression-compile-tmp/gammon.imp"
TEMP = 4;
                                                                //    627                              %EXIT
#line 627 "regression-compile-tmp/gammon.imp"
goto L_011f;
                                                                //    628                           %FINISH
#line 628 "regression-compile-tmp/gammon.imp"
L_0121:;
                                                                //    629                        %REPEAT
#line 629 "regression-compile-tmp/gammon.imp"
goto L_011e;
#line 629 "regression-compile-tmp/gammon.imp"
L_011f:;
                                                                //    630                        %EXIT
#line 630 "regression-compile-tmp/gammon.imp"
goto L_011b;
                                                                //    631                     %FINISH
#line 631 "regression-compile-tmp/gammon.imp"
L_011d:;
                                                                //    632                  %REPEAT
#line 632 "regression-compile-tmp/gammon.imp"
goto L_011a;
#line 632 "regression-compile-tmp/gammon.imp"
L_011b:;
                                                                //    633               %FINISH
#line 633 "regression-compile-tmp/gammon.imp"
L_0119:;
                                                                //    634               %EXIT
#line 634 "regression-compile-tmp/gammon.imp"
goto L_0114;
                                                                //    635            %FINISH
#line 635 "regression-compile-tmp/gammon.imp"
L_0116:;
                                                                //    636         %REPEAT
#line 636 "regression-compile-tmp/gammon.imp"
goto L_0113;
#line 636 "regression-compile-tmp/gammon.imp"
L_0114:;
                                                                //    637         %EXIT
#line 637 "regression-compile-tmp/gammon.imp"
goto L_0110;
                                                                //    638      %FINISH
#line 638 "regression-compile-tmp/gammon.imp"
L_0112:;
                                                                //    639   %REPEAT
#line 639 "regression-compile-tmp/gammon.imp"
goto L_010f;
#line 639 "regression-compile-tmp/gammon.imp"
L_0110:;
                                                                //    640   %IF DICE1=DICE2 %AND TEMP=4 %THEN -> DONE
#line 640 "regression-compile-tmp/gammon.imp"
if (((DICE1) != (DICE2))) goto L_0122;
#line 640 "regression-compile-tmp/gammon.imp"
if (((TEMP) != (4))) goto L_0122;
#line 640 "regression-compile-tmp/gammon.imp"
goto U_1009;
#line 640 "regression-compile-tmp/gammon.imp"
L_0122:;
                                                                //    641   %IF DICE1#DICE2 %AND TEMP=2 %THEN -> DONE
#line 641 "regression-compile-tmp/gammon.imp"
if (((DICE1) == (DICE2))) goto L_0123;
#line 641 "regression-compile-tmp/gammon.imp"
if (((TEMP) != (2))) goto L_0123;
#line 641 "regression-compile-tmp/gammon.imp"
goto U_1009;
#line 641 "regression-compile-tmp/gammon.imp"
L_0123:;
                                                                //    642   %IF DICE1#DICE2 %THEN DICE1=0 %AND -> BEAROFF
#line 642 "regression-compile-tmp/gammon.imp"
if (((DICE1) == (DICE2))) goto L_0124;
#line 642 "regression-compile-tmp/gammon.imp"
DICE1 = 0;
#line 642 "regression-compile-tmp/gammon.imp"
goto U_1007;
#line 642 "regression-compile-tmp/gammon.imp"
L_0124:;
                                                                //    643   DICE1=0
#line 643 "regression-compile-tmp/gammon.imp"
DICE1 = 0;
                                                                //    644   %IF TEMP>1 %THEN DICE2=0
#line 644 "regression-compile-tmp/gammon.imp"
if (((TEMP) <= (1))) goto L_0125;
#line 644 "regression-compile-tmp/gammon.imp"
DICE2 = 0;
#line 644 "regression-compile-tmp/gammon.imp"
L_0125:;
                                                                //    645   %IF TEMP>2 %THEN DICE3=0
#line 645 "regression-compile-tmp/gammon.imp"
if (((TEMP) <= (2))) goto L_0126;
#line 645 "regression-compile-tmp/gammon.imp"
DICE3 = 0;
#line 645 "regression-compile-tmp/gammon.imp"
L_0126:;
                                                                //    646  BEAROFF: RUNNING=1
#line 646 "regression-compile-tmp/gammon.imp"
U_1007:;
#line 646 "regression-compile-tmp/gammon.imp"
RUNNING = 1;
                                                                //    647   TEMP=WBOFF
#line 647 "regression-compile-tmp/gammon.imp"
TEMP = WBOFF;
                                                                //    648   %CYCLE M=24,-1,19
#line 648 "regression-compile-tmp/gammon.imp"
M = 25;
if ((((19)-(24)) % ((-1))) != 0) _imp_signal(5,1,0,"Illegal cycle M = 24, (-1), 19");
L_0127:;
if (M == 19) goto L_0128;
M += (-1);
                                                                //    649      %IF BOARD(M)_BS>0 %THEN -> SAFETY
#line 649 "regression-compile-tmp/gammon.imp"
if (((BOARD[M].BS) <= (0))) goto L_012a;
#line 649 "regression-compile-tmp/gammon.imp"
goto U_100e;
#line 649 "regression-compile-tmp/gammon.imp"
L_012a:;
                                                                //    650      TEMP=TEMP+BOARD(M)_WS
#line 650 "regression-compile-tmp/gammon.imp"
TEMP = (((int)(TEMP)) + (BOARD[M].WS));
                                                                //    651      %IF TEMP=15 %THENEXIT
#line 651 "regression-compile-tmp/gammon.imp"
if (((TEMP) != (15))) goto L_012b;
#line 651 "regression-compile-tmp/gammon.imp"
goto L_0128;
#line 651 "regression-compile-tmp/gammon.imp"
L_012b:;
                                                                //    652   %REPEAT
#line 652 "regression-compile-tmp/gammon.imp"
goto L_0127;
#line 652 "regression-compile-tmp/gammon.imp"
L_0128:;
                                                                //    653   %IF DICE1>DICE2 %THENSTART
#line 653 "regression-compile-tmp/gammon.imp"
if (((DICE1) <= (DICE2))) goto L_012c;
                                                                //    654      TEMP=DICE2; DICE2=DICE1; DICE1=TEMP
#line 654 "regression-compile-tmp/gammon.imp"
TEMP = DICE2;
#line 654 "regression-compile-tmp/gammon.imp"
DICE2 = DICE1;
#line 654 "regression-compile-tmp/gammon.imp"
DICE1 = TEMP;
                                                                //    655   %FINISH
#line 655 "regression-compile-tmp/gammon.imp"
L_012c:;
                                                                //    656   %IF DICE1#0 %THENSTART
#line 656 "regression-compile-tmp/gammon.imp"
if (((DICE1) == (0))) goto L_012d;
                                                                //    657      %IF BOARD(25-DICE1)_WS>0 %THENSTART
#line 657 "regression-compile-tmp/gammon.imp"
if (((BOARD[(((int)(25)) - (DICE1))].WS) <= (0))) goto L_012e;
                                                                //    658         BOARD(25-DICE1)_WS=BOARD(25-DICE1)_WS-1
#line 658 "regression-compile-tmp/gammon.imp"
BOARD[(((int)(25)) - (DICE1))].WS = (((int)(BOARD[(((int)(25)) - (DICE1))].WS)) - (1));
                                                                //    659         WBOFF=WBOFF+1
#line 659 "regression-compile-tmp/gammon.imp"
WBOFF = (((int)(WBOFF)) + (1));
                                                                //    660      %FINISHELSESTART
#line 660 "regression-compile-tmp/gammon.imp"
goto L_012f;
#line 660 "regression-compile-tmp/gammon.imp"
L_012e:;
                                                                //    661         %IF BOARD(25-DICE1+1)_WS>0 %THENSTART
#line 661 "regression-compile-tmp/gammon.imp"
if (((BOARD[(((int)((((int)(25)) - (DICE1)))) + (1))].WS) <= (0))) goto L_0130;
                                                                //    662            BOARD(25-DICE1+1)_WS=BOARD(25-DICE1+1)_WS-1
#line 662 "regression-compile-tmp/gammon.imp"
BOARD[(((int)((((int)(25)) - (DICE1)))) + (1))].WS = (((int)(BOARD[(((int)((((int)(25)) - (DICE1)))) + (1))].WS)) - (1));
                                                                //    663            WBOFF=WBOFF+1
#line 663 "regression-compile-tmp/gammon.imp"
WBOFF = (((int)(WBOFF)) + (1));
                                                                //    664         %FINISHELSESTART
#line 664 "regression-compile-tmp/gammon.imp"
goto L_0131;
#line 664 "regression-compile-tmp/gammon.imp"
L_0130:;
                                                                //    665            %CYCLE M=19,1,25-DICE1
#line 665 "regression-compile-tmp/gammon.imp"
{static int _initial, _increment, _final, _control;
_initial = 19; _increment = 1; _final = (((int)(25)) - (DICE1)); M = _control = _initial;
if (((_final-_initial) % _increment) != 0) _imp_signal(5,1,0,"Illegal cycle M = 19, 1, (((int)(25)) - (DICE1))");
M -= _increment; _control -= _increment;
L_0132:;
if (M == _final) goto L_0133;
M += _increment; _control += _increment;
if (M != _control) _imp_signal(4,2,0,"Corrupt control variable M"); /* FOR loop control variable corrupted */
}
                                                                //    666               %IF WBOFF<8 %THENSTART
#line 666 "regression-compile-tmp/gammon.imp"
if (((WBOFF) >= (8))) goto L_0135;
                                                                //    667                  %IF BOARD(M)_WS>2 %THEN MMOVE(M,DICE1) %AND -> SEC
#line 667 "regression-compile-tmp/gammon.imp"
if (((BOARD[M].WS) <= (2))) goto L_0136;
#line 667 "regression-compile-tmp/gammon.imp"
MMOVE(M, DICE1);
#line 667 "regression-compile-tmp/gammon.imp"
goto U_100f;
#line 667 "regression-compile-tmp/gammon.imp"
L_0136:;
                                                                //    668               %FINISHELSESTART
#line 668 "regression-compile-tmp/gammon.imp"
goto L_0137;
#line 668 "regression-compile-tmp/gammon.imp"
L_0135:;
                                                                //    669                  %IF BOARD(M)_WS>1 %THEN MMOVE(M,DICE1) %AND -> SEC
#line 669 "regression-compile-tmp/gammon.imp"
if (((BOARD[M].WS) <= (1))) goto L_0138;
#line 669 "regression-compile-tmp/gammon.imp"
MMOVE(M, DICE1);
#line 669 "regression-compile-tmp/gammon.imp"
goto U_100f;
#line 669 "regression-compile-tmp/gammon.imp"
L_0138:;
                                                                //    670               %FINISH
#line 670 "regression-compile-tmp/gammon.imp"
L_0137:;
                                                                //    671            %REPEAT
#line 671 "regression-compile-tmp/gammon.imp"
goto L_0132;
#line 671 "regression-compile-tmp/gammon.imp"
L_0133:;
                                                                //    672            %CYCLE M=19,1,24
#line 672 "regression-compile-tmp/gammon.imp"
M = 18;
if ((((24)-(19)) % (1)) != 0) _imp_signal(5,1,0,"Illegal cycle M = 19, 1, 24");
L_0139:;
if (M == 24) goto L_013a;
M += 1;
                                                                //    673               %IF DICE2+M<25 %THENSTART
#line 673 "regression-compile-tmp/gammon.imp"
if ((((((int)(DICE2)) + (M))) >= (25))) goto L_013c;
                                                                //    674                  %IF BOARD(M)_WS>0 %THEN MMOVE(M,DICE1) %ANDEXIT
#line 674 "regression-compile-tmp/gammon.imp"
if (((BOARD[M].WS) <= (0))) goto L_013d;
#line 674 "regression-compile-tmp/gammon.imp"
MMOVE(M, DICE1);
#line 674 "regression-compile-tmp/gammon.imp"
goto L_013a;
#line 674 "regression-compile-tmp/gammon.imp"
L_013d:;
                                                                //    675               %FINISH
#line 675 "regression-compile-tmp/gammon.imp"
L_013c:;
                                                                //    676               %IF M+DICE2=25 %THENSTART
#line 676 "regression-compile-tmp/gammon.imp"
if ((((((int)(M)) + (DICE2))) != (25))) goto L_013e;
                                                                //    677                  %IF BOARD(M)_WS>1 %THEN MMOVE(M,DICE1) %ANDEXIT
#line 677 "regression-compile-tmp/gammon.imp"
if (((BOARD[M].WS) <= (1))) goto L_013f;
#line 677 "regression-compile-tmp/gammon.imp"
MMOVE(M, DICE1);
#line 677 "regression-compile-tmp/gammon.imp"
goto L_013a;
#line 677 "regression-compile-tmp/gammon.imp"
L_013f:;
                                                                //    678               %FINISH
#line 678 "regression-compile-tmp/gammon.imp"
L_013e:;
                                                                //    679               %IF DICE2+M>25 %THENSTART
#line 679 "regression-compile-tmp/gammon.imp"
if ((((((int)(DICE2)) + (M))) <= (25))) goto L_0140;
                                                                //    680                  %IF BOARD(M)_WS>0 %THENSTART
#line 680 "regression-compile-tmp/gammon.imp"
if (((BOARD[M].WS) <= (0))) goto L_0141;
                                                                //    681                     %IF M+DICE1<25 %THEN MMOVE(M,DICE1) %ELSE %C
#line 681 "regression-compile-tmp/gammon.imp"
if ((((((int)(M)) + (DICE1))) >= (25))) goto L_0142;
#line 681 "regression-compile-tmp/gammon.imp"
MMOVE(M, DICE1);
#line 681 "regression-compile-tmp/gammon.imp"
goto L_0143;
#line 681 "regression-compile-tmp/gammon.imp"
L_0142:;
#line 681 "regression-compile-tmp/gammon.imp"
WBOFF = (((int)(WBOFF)) + (1));
#line 681 "regression-compile-tmp/gammon.imp"
BOARD[M].WS = (((int)(BOARD[M].WS)) - (1));
#line 681 "regression-compile-tmp/gammon.imp"
L_0143:;
                                                                //    682                       WBOFF=WBOFF+1 %AND BOARD(M)_WS=BOARD(M)_WS-1
                                                                //    683                     %EXIT
#line 683 "regression-compile-tmp/gammon.imp"
goto L_013a;
                                                                //    684                  %FINISH
#line 684 "regression-compile-tmp/gammon.imp"
L_0141:;
                                                                //    685               %FINISH
#line 685 "regression-compile-tmp/gammon.imp"
L_0140:;
                                                                //    686            %REPEAT
#line 686 "regression-compile-tmp/gammon.imp"
goto L_0139;
#line 686 "regression-compile-tmp/gammon.imp"
L_013a:;
                                                                //    687         %FINISH
#line 687 "regression-compile-tmp/gammon.imp"
L_0131:;
                                                                //    688      %FINISH
#line 688 "regression-compile-tmp/gammon.imp"
L_012f:;
                                                                //    689   %FINISH
#line 689 "regression-compile-tmp/gammon.imp"
L_012d:;
                                                                //    690  SEC: DOBEST(DICE2)
#line 690 "regression-compile-tmp/gammon.imp"
U_100f:;
#line 690 "regression-compile-tmp/gammon.imp"
DOBEST(DICE2);
                                                                //    691   %IF DICE4=0 %THEN ->DONE
#line 691 "regression-compile-tmp/gammon.imp"
if (((DICE4) != (0))) goto L_0144;
#line 691 "regression-compile-tmp/gammon.imp"
goto U_1009;
#line 691 "regression-compile-tmp/gammon.imp"
L_0144:;
                                                                //    692   DOBEST(DICE3)
#line 692 "regression-compile-tmp/gammon.imp"
DOBEST(DICE3);
                                                                //    693   DOBEST(DICE4)
#line 693 "regression-compile-tmp/gammon.imp"
DOBEST(DICE4);
                                                                //    694   ->DONE
#line 694 "regression-compile-tmp/gammon.imp"
goto U_1009;
                                                                //    695  SAFETY: %IF DICE4#0 %THENSTART
#line 695 "regression-compile-tmp/gammon.imp"
U_100e:;
#line 695 "regression-compile-tmp/gammon.imp"
if (((DICE4) == (0))) goto L_0145;
                                                                //    696      %IF DICE3=0 %THEN DICE1=DICE4 %AND DICE4=0 %ELSESTART
#line 696 "regression-compile-tmp/gammon.imp"
if (((DICE3) != (0))) goto L_0146;
#line 696 "regression-compile-tmp/gammon.imp"
DICE1 = DICE4;
#line 696 "regression-compile-tmp/gammon.imp"
DICE4 = 0;
#line 696 "regression-compile-tmp/gammon.imp"
goto L_0147;
#line 696 "regression-compile-tmp/gammon.imp"
L_0146:;
                                                                //    697         %IF DICE2=0 %THENSTART
#line 697 "regression-compile-tmp/gammon.imp"
if (((DICE2) != (0))) goto L_0148;
                                                                //    698            DICE1=DICE4; DICE4=0; DICE2=DICE3; DICE3=0
#line 698 "regression-compile-tmp/gammon.imp"
DICE1 = DICE4;
#line 698 "regression-compile-tmp/gammon.imp"
DICE4 = 0;
#line 698 "regression-compile-tmp/gammon.imp"
DICE2 = DICE3;
#line 698 "regression-compile-tmp/gammon.imp"
DICE3 = 0;
                                                                //    699         %FINISHELSESTART
#line 699 "regression-compile-tmp/gammon.imp"
goto L_0149;
#line 699 "regression-compile-tmp/gammon.imp"
L_0148:;
                                                                //    700            %IF DICE1=0 %THEN DICE1=DICE4 %AND DICE4=0
#line 700 "regression-compile-tmp/gammon.imp"
if (((DICE1) != (0))) goto L_014a;
#line 700 "regression-compile-tmp/gammon.imp"
DICE1 = DICE4;
#line 700 "regression-compile-tmp/gammon.imp"
DICE4 = 0;
#line 700 "regression-compile-tmp/gammon.imp"
L_014a:;
                                                                //    701         %FINISH
#line 701 "regression-compile-tmp/gammon.imp"
L_0149:;
                                                                //    702      %FINISH
#line 702 "regression-compile-tmp/gammon.imp"
L_0147:;
                                                                //    703   %FINISHELSESTART
#line 703 "regression-compile-tmp/gammon.imp"
goto L_014b;
#line 703 "regression-compile-tmp/gammon.imp"
L_0145:;
                                                                //    704      %IF DICE1=0 %THEN DICE1=DICE2 %AND DICE2=0
#line 704 "regression-compile-tmp/gammon.imp"
if (((DICE1) != (0))) goto L_014c;
#line 704 "regression-compile-tmp/gammon.imp"
DICE1 = DICE2;
#line 704 "regression-compile-tmp/gammon.imp"
DICE2 = 0;
#line 704 "regression-compile-tmp/gammon.imp"
L_014c:;
                                                                //    705   %FINISH
#line 705 "regression-compile-tmp/gammon.imp"
L_014b:;
                                                                //    706   %IF DICE1<DICE2 %THENSTART
#line 706 "regression-compile-tmp/gammon.imp"
if (((DICE1) >= (DICE2))) goto L_014d;
                                                                //    707      TEMP=DICE2; DICE2=DICE1; DICE1=TEMP
#line 707 "regression-compile-tmp/gammon.imp"
TEMP = DICE2;
#line 707 "regression-compile-tmp/gammon.imp"
DICE2 = DICE1;
#line 707 "regression-compile-tmp/gammon.imp"
DICE1 = TEMP;
                                                                //    708   %FINISH
#line 708 "regression-compile-tmp/gammon.imp"
L_014d:;
                                                                //    709   %CYCLE K=35,3,56
#line 709 "regression-compile-tmp/gammon.imp"
K = 32;
if ((((56)-(35)) % (3)) != 0) _imp_signal(5,1,0,"Illegal cycle K = 35, 3, 56");
L_014e:;
if (K == 56) goto L_014f;
K += 3;
                                                                //    710   %CYCLE I=19,1,24
#line 710 "regression-compile-tmp/gammon.imp"
I = 18;
if ((((24)-(19)) % (1)) != 0) _imp_signal(5,1,0,"Illegal cycle I = 19, 1, 24");
L_0151:;
if (I == 24) goto L_0152;
I += 1;
                                                                //    711      %IF BOARD(I)_WS>0 %THENSTART
#line 711 "regression-compile-tmp/gammon.imp"
if (((BOARD[I].WS) <= (0))) goto L_0154;
                                                                //    712         NOMOV=0; MTSTBOFF(I,DICE1)
#line 712 "regression-compile-tmp/gammon.imp"
NOMOV = 0;
#line 712 "regression-compile-tmp/gammon.imp"
MTSTBOFF(I, DICE1);
                                                                //    713         %IF NOMOV=1 %THEN ->REP1
#line 713 "regression-compile-tmp/gammon.imp"
if (((NOMOV) != (1))) goto L_0155;
#line 713 "regression-compile-tmp/gammon.imp"
goto U_1010;
#line 713 "regression-compile-tmp/gammon.imp"
L_0155:;
                                                                //    714         %IF DICE2=0 %THENSTART
#line 714 "regression-compile-tmp/gammon.imp"
if (((DICE2) != (0))) goto L_0156;
                                                                //    715            %IF WSINCL<K %THEN ->DONE
#line 715 "regression-compile-tmp/gammon.imp"
if (((WSINCL()) >= (K))) goto L_0157;
#line 715 "regression-compile-tmp/gammon.imp"
goto U_1009;
#line 715 "regression-compile-tmp/gammon.imp"
L_0157:;
                                                                //    716         %FINISHELSESTART
#line 716 "regression-compile-tmp/gammon.imp"
goto L_0158;
#line 716 "regression-compile-tmp/gammon.imp"
L_0156:;
                                                                //    717            %CYCLE J=19,1,24
#line 717 "regression-compile-tmp/gammon.imp"
J = 18;
if ((((24)-(19)) % (1)) != 0) _imp_signal(5,1,0,"Illegal cycle J = 19, 1, 24");
L_0159:;
if (J == 24) goto L_015a;
J += 1;
                                                                //    718               %IF BOARD(J)_WS>0 %THENSTART
#line 718 "regression-compile-tmp/gammon.imp"
if (((BOARD[J].WS) <= (0))) goto L_015c;
                                                                //    719                  NOMOV=0; MTSTBOFF(J,DICE2)
#line 719 "regression-compile-tmp/gammon.imp"
NOMOV = 0;
#line 719 "regression-compile-tmp/gammon.imp"
MTSTBOFF(J, DICE2);
                                                                //    720                  %IF NOMOV=1 %THEN ->REP2
#line 720 "regression-compile-tmp/gammon.imp"
if (((NOMOV) != (1))) goto L_015d;
#line 720 "regression-compile-tmp/gammon.imp"
goto U_1011;
#line 720 "regression-compile-tmp/gammon.imp"
L_015d:;
                                                                //    721                  %IF DICE3=0 %THENSTART
#line 721 "regression-compile-tmp/gammon.imp"
if (((DICE3) != (0))) goto L_015e;
                                                                //    722                     %IF WSINCL<K %THEN ->DONE
#line 722 "regression-compile-tmp/gammon.imp"
if (((WSINCL()) >= (K))) goto L_015f;
#line 722 "regression-compile-tmp/gammon.imp"
goto U_1009;
#line 722 "regression-compile-tmp/gammon.imp"
L_015f:;
                                                                //    723                  %FINISHELSESTART
#line 723 "regression-compile-tmp/gammon.imp"
goto L_0160;
#line 723 "regression-compile-tmp/gammon.imp"
L_015e:;
                                                                //    724                     %CYCLE G=19,1,24
#line 724 "regression-compile-tmp/gammon.imp"
G = 18;
if ((((24)-(19)) % (1)) != 0) _imp_signal(5,1,0,"Illegal cycle G = 19, 1, 24");
L_0161:;
if (G == 24) goto L_0162;
G += 1;
                                                                //    725                        %IF BOARD(G)_WS>0 %THENSTART
#line 725 "regression-compile-tmp/gammon.imp"
if (((BOARD[G].WS) <= (0))) goto L_0164;
                                                                //    726                           NOMOV=0; MTSTBOFF(G,DICE3)
#line 726 "regression-compile-tmp/gammon.imp"
NOMOV = 0;
#line 726 "regression-compile-tmp/gammon.imp"
MTSTBOFF(G, DICE3);
                                                                //    727                           %IF NOMOV=1 %THEN ->REP3
#line 727 "regression-compile-tmp/gammon.imp"
if (((NOMOV) != (1))) goto L_0165;
#line 727 "regression-compile-tmp/gammon.imp"
goto U_1012;
#line 727 "regression-compile-tmp/gammon.imp"
L_0165:;
                                                                //    728                           %IF DICE4=0 %THENSTART
#line 728 "regression-compile-tmp/gammon.imp"
if (((DICE4) != (0))) goto L_0166;
                                                                //    729                              %IF WSINCL<K %THEN ->DONE
#line 729 "regression-compile-tmp/gammon.imp"
if (((WSINCL()) >= (K))) goto L_0167;
#line 729 "regression-compile-tmp/gammon.imp"
goto U_1009;
#line 729 "regression-compile-tmp/gammon.imp"
L_0167:;
                                                                //    730                           %FINISHELSESTART
#line 730 "regression-compile-tmp/gammon.imp"
goto L_0168;
#line 730 "regression-compile-tmp/gammon.imp"
L_0166:;
                                                                //    731                              %CYCLE H=19,1,24
#line 731 "regression-compile-tmp/gammon.imp"
H = 18;
if ((((24)-(19)) % (1)) != 0) _imp_signal(5,1,0,"Illegal cycle H = 19, 1, 24");
L_0169:;
if (H == 24) goto L_016a;
H += 1;
                                                                //    732                                 %IF BOARD(H)_WS>0 %THENSTART
#line 732 "regression-compile-tmp/gammon.imp"
if (((BOARD[H].WS) <= (0))) goto L_016c;
                                                                //    733                                    NOMOV=0; MTSTBOFF(H,DICE4)
#line 733 "regression-compile-tmp/gammon.imp"
NOMOV = 0;
#line 733 "regression-compile-tmp/gammon.imp"
MTSTBOFF(H, DICE4);
                                                                //    734                                    %IF NOMOV=1 %THEN ->REP4
#line 734 "regression-compile-tmp/gammon.imp"
if (((NOMOV) != (1))) goto L_016d;
#line 734 "regression-compile-tmp/gammon.imp"
goto U_1013;
#line 734 "regression-compile-tmp/gammon.imp"
L_016d:;
                                                                //    735                                    %IF WSINCL<K %THEN ->DONE
#line 735 "regression-compile-tmp/gammon.imp"
if (((WSINCL()) >= (K))) goto L_016e;
#line 735 "regression-compile-tmp/gammon.imp"
goto U_1009;
#line 735 "regression-compile-tmp/gammon.imp"
L_016e:;
                                                                //    736                                    CLTSTBOFF(H,DICE4)
#line 736 "regression-compile-tmp/gammon.imp"
CLTSTBOFF(H, DICE4);
                                                                //    737                                 %FINISH
#line 737 "regression-compile-tmp/gammon.imp"
L_016c:;
                                                                //    738  REP4:                       %REPEAT
#line 738 "regression-compile-tmp/gammon.imp"
U_1013:;
#line 738 "regression-compile-tmp/gammon.imp"
goto L_0169;
#line 738 "regression-compile-tmp/gammon.imp"
L_016a:;
                                                                //    739                           %FINISH
#line 739 "regression-compile-tmp/gammon.imp"
L_0168:;
                                                                //    740                           CLTSTBOFF(G,DICE3)
#line 740 "regression-compile-tmp/gammon.imp"
CLTSTBOFF(G, DICE3);
                                                                //    741                        %FINISH
#line 741 "regression-compile-tmp/gammon.imp"
L_0164:;
                                                                //    742  REP3:              %REPEAT
#line 742 "regression-compile-tmp/gammon.imp"
U_1012:;
#line 742 "regression-compile-tmp/gammon.imp"
goto L_0161;
#line 742 "regression-compile-tmp/gammon.imp"
L_0162:;
                                                                //    743                  %FINISH
#line 743 "regression-compile-tmp/gammon.imp"
L_0160:;
                                                                //    744                  CLTSTBOFF(J,DICE2)
#line 744 "regression-compile-tmp/gammon.imp"
CLTSTBOFF(J, DICE2);
                                                                //    745               %FINISH
#line 745 "regression-compile-tmp/gammon.imp"
L_015c:;
                                                                //    746  REP2:     %REPEAT
#line 746 "regression-compile-tmp/gammon.imp"
U_1011:;
#line 746 "regression-compile-tmp/gammon.imp"
goto L_0159;
#line 746 "regression-compile-tmp/gammon.imp"
L_015a:;
                                                                //    747         %FINISH
#line 747 "regression-compile-tmp/gammon.imp"
L_0158:;
                                                                //    748         CLTSTBOFF(I,DICE1)
#line 748 "regression-compile-tmp/gammon.imp"
CLTSTBOFF(I, DICE1);
                                                                //    749      %FINISH
#line 749 "regression-compile-tmp/gammon.imp"
L_0154:;
                                                                //    750  REP1: %REPEAT
#line 750 "regression-compile-tmp/gammon.imp"
U_1010:;
#line 750 "regression-compile-tmp/gammon.imp"
goto L_0151;
#line 750 "regression-compile-tmp/gammon.imp"
L_0152:;
                                                                //    751   %REPEAT
#line 751 "regression-compile-tmp/gammon.imp"
goto L_014e;
#line 751 "regression-compile-tmp/gammon.imp"
L_014f:;
                                                                //    752   %REPEAT
#line 752 "regression-compile-tmp/gammon.imp"
goto L_00ca;
#line 752 "regression-compile-tmp/gammon.imp"
L_00cb:;
                                                                //    753   DUMPWTS
#line 753 "regression-compile-tmp/gammon.imp"
DUMPWTS();
                                                                //    754  %END
#line 754 "regression-compile-tmp/gammon.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block BACKGAMMON at level 1
                                                                //    755  
                                                                //    756  %begin
#line 756 "regression-compile-tmp/gammon.imp"
int main(int argc, char **argv) {
  _imp_initialise(argc, argv);
                                                                //    757    backgammon("")
#line 757 "regression-compile-tmp/gammon.imp"
BACKGAMMON(_imp_str_literal(""));
                                                                //    758  %end
#line 758 "regression-compile-tmp/gammon.imp"
/* Remove %on %event handler here if present for this block */
return 0;
} // End of block _imp_main at level 1
                                                                //    759  
                                                                //    760  %ENDOFFILE
#line 760 "regression-compile-tmp/gammon.imp"
// End of file
