#include "perms.h"

                                                                //      1  %begin
#line 1 "30.imp"
int main(int argc, char **argv) {
  __label__ _imp_endofblock;
  _imp_initialise(argc, argv);
                                                                //      2    %integer sheila, sheila2
_imp_current_line = 2; _imp_current_file = "30.imp";
#line 2 "30.imp"
int SHEILA;
#line 2 "30.imp"
int SHEILA2;
                                                                //      3    %integername bert, bert2
_imp_current_line = 3; _imp_current_file = "30.imp";
#line 3 "30.imp"
int /*name*/*BERT;
#line 3 "30.imp"
int /*name*/*BERT2;
                                                                //      4    %integermap fred
_imp_current_line = 4; _imp_current_file = "30.imp";
#line 4 "30.imp"
int /*map*/*FRED( void )
#line 4 "30.imp"
{
  __label__ _imp_endofblock;
                                                                //      5      %result == sheila2
_imp_current_line = 5; _imp_current_file = "30.imp";
#line 5 "30.imp"
return &SHEILA2;
                                                                //      6    %end
_imp_current_line = 6; _imp_current_file = "30.imp";
#line 6 "30.imp"
_imp_endofblock: ;
} // End of block FRED at level 2
                                                                //      7    %integermap fred2(%integer i)
_imp_current_line = 7; _imp_current_file = "30.imp";
#line 7 "30.imp"
int /*map*/*FRED2( int I )
#line 7 "30.imp"
{
  __label__ _imp_endofblock;
                                                                //      8      %result == sheila2
_imp_current_line = 8; _imp_current_file = "30.imp";
#line 8 "30.imp"
return &SHEILA2;
                                                                //      9    %end
_imp_current_line = 9; _imp_current_file = "30.imp";
#line 9 "30.imp"
_imp_endofblock: ;
} // End of block FRED2 at level 2
                                                                //     10  
                                                                //     11    sheila = 21
_imp_current_line = 11; _imp_current_file = "30.imp";
#line 11 "30.imp"
SHEILA = 21;
                                                                //     12    sheila = bert
_imp_current_line = 12; _imp_current_file = "30.imp";
#line 12 "30.imp"
SHEILA = *BERT;
                                                                //     13    sheila = fred
_imp_current_line = 13; _imp_current_file = "30.imp";
#line 13 "30.imp"
SHEILA = *FRED();
                                                                //     14    sheila = fred2(44)
_imp_current_line = 14; _imp_current_file = "30.imp";
#line 14 "30.imp"
SHEILA = *FRED2(44);
                                                                //     15  
                                                                //     16    bert == sheila
_imp_current_line = 16; _imp_current_file = "30.imp";
#line 16 "30.imp"
BERT = &SHEILA;
                                                                //     17    bert == fred
_imp_current_line = 17; _imp_current_file = "30.imp";
#line 17 "30.imp"
BERT = FRED();
                                                                //     18    bert == fred2(55)
_imp_current_line = 18; _imp_current_file = "30.imp";
#line 18 "30.imp"
BERT = FRED2(55);
                                                                //     19    bert == bert
_imp_current_line = 19; _imp_current_file = "30.imp";
#line 19 "30.imp"
BERT = BERT;
                                                                //     20    bert = 42
_imp_current_line = 20; _imp_current_file = "30.imp";
#line 20 "30.imp"
*BERT = 42;
                                                                //     21  
                                                                //     22    fred = 63
_imp_current_line = 22; _imp_current_file = "30.imp";
#line 22 "30.imp"
*FRED() = 63;
                                                                //     23    fred2(88) = 63
_imp_current_line = 23; _imp_current_file = "30.imp";
#line 23 "30.imp"
*FRED2(88) = 63;
                                                                //     24    
                                                                //     25    %if sheila2 = sheila %then %stop
_imp_current_line = 25; _imp_current_file = "30.imp";
#line 25 "30.imp"
if (((SHEILA2) != (SHEILA))) goto L_0002;
#line 25 "30.imp"
exit(0);
#line 25 "30.imp"
L_0002:;
                                                                //     26    %if fred = sheila %then %stop
_imp_current_line = 26; _imp_current_file = "30.imp";
#line 26 "30.imp"
if (((*FRED()) != (SHEILA))) goto L_0003;
#line 26 "30.imp"
exit(0);
#line 26 "30.imp"
L_0003:;
                                                                //     27    %if fred2(99) = sheila %then %stop
_imp_current_line = 27; _imp_current_file = "30.imp";
#line 27 "30.imp"
if (((*FRED2(99)) != (SHEILA))) goto L_0004;
#line 27 "30.imp"
exit(0);
#line 27 "30.imp"
L_0004:;
                                                                //     28    %if bert = sheila %then %stop
_imp_current_line = 28; _imp_current_file = "30.imp";
#line 28 "30.imp"
if (((*BERT) != (SHEILA))) goto L_0005;
#line 28 "30.imp"
exit(0);
#line 28 "30.imp"
L_0005:;
                                                                //     29    %if fred == bert %then %stop
_imp_current_line = 29; _imp_current_file = "30.imp";
#line 29 "30.imp"
if (((FRED()) != (BERT))) goto L_0006;
#line 29 "30.imp"
exit(0);
#line 29 "30.imp"
L_0006:;
                                                                //     30    %if fred2(11) == bert %then %stop
_imp_current_line = 30; _imp_current_file = "30.imp";
#line 30 "30.imp"
if (((FRED2(11)) != (BERT))) goto L_0007;
#line 30 "30.imp"
exit(0);
#line 30 "30.imp"
L_0007:;
                                                                //     31    %if bert == bert2 %then %stop
_imp_current_line = 31; _imp_current_file = "30.imp";
#line 31 "30.imp"
if (((BERT) != (BERT2))) goto L_0008;
#line 31 "30.imp"
exit(0);
#line 31 "30.imp"
L_0008:;
                                                                //     32  
                                                                //     33  %endofprogram
_imp_current_line = 33; _imp_current_file = "30.imp";
#line 33 "30.imp"
return 0;
_imp_endofblock: ;
} // End of block _imp_main at level 1
#line 33 "30.imp"
// End of file
// COMPILE WITH: gcc12 -DVALGRIND_AVAILABLE -UPARM_OPT -DPARM_UNASS -DPARM_CHECK -O -g -ftrivial-auto-var-init=pattern -fmerge-constants -fno-strict-aliasing -Wall -Wno-unused-but-set-variable -Wno-unused-variable -Wno-unused-label -Wno-unused-function -Wno-maybe-uninitialized -Wno-uninitialized -frecord-gcc-switches -fsanitize=undefined -fsanitize=float-divide-by-zero -fsanitize-undefined-trap-on-error -fsanitize=float-cast-overflow -fno-sanitize-recover=all -fstack-protector -Wno-frame-address -fno-omit-frame-pointer -Wno-return-type -Wno-comment -ftrapv -ggdb3 -gdwarf-4 -I. -I.. -c -o 30.o 30.c -lm
