#include "perms.h"

                                                                //      1  %begin
#line 1 "rttest.imp"
int main(int argc, char **argv) {
  __label__ _imp_endofblock;
  _imp_initialise(argc, argv);
/* Procedure parameter. probably no args given yet. */                                                                //      2    %integerfn sigma(%integerfn x(%integer param), %integer low, %integer high)
_imp_current_line = 2; _imp_current_file = "rttest.imp";
#line 2 "rttest.imp"
int SIGMA( int PARAM )
#line 2 "rttest.imp"
{
  __label__ _imp_endofblock;
#line 2 "rttest.imp"
                                                                //      3      %integer result = 0;
_imp_current_line = 3; _imp_current_file = "rttest.imp";
#line 3 "rttest.imp"
int RESULT;
#line 3 "rttest.imp"
RESULT = 0;
                                                                //      4      %cycle
_imp_current_line = 4; _imp_current_file = "rttest.imp";
#line 4 "rttest.imp"
L_0002:;
                                                                //      5        result = result + x(low)
_imp_current_line = 5; _imp_current_file = "rttest.imp";
#line 5 "rttest.imp"
RESULT = (((int)(RESULT)) + (X(LOW)));
                                                                //      6        low = low+1
_imp_current_line = 6; _imp_current_file = "rttest.imp";
#line 6 "rttest.imp"
LOW = (((int)(LOW)) + (1));
                                                                //      7      %repeat %until low>high
_imp_current_line = 7; _imp_current_file = "rttest.imp";
#line 7 "rttest.imp"
if (((LOW) > (HIGH))) goto L_0003;
#line 7 "rttest.imp"
goto L_0002;
#line 7 "rttest.imp"
L_0003:;
                                                                //      8      %result = result
_imp_current_line = 8; _imp_current_file = "rttest.imp";
#line 8 "rttest.imp"
return RESULT;
                                                                //      9    %end
_imp_current_line = 9; _imp_current_file = "rttest.imp";
#line 9 "rttest.imp"
_imp_endofblock: ;
} // End of block SIGMA at level 2
                                                                //     10  
                                                                //     11    %integerfn square(%integer n)
_imp_current_line = 11; _imp_current_file = "rttest.imp";
#line 11 "rttest.imp"
int SQUARE( int N )
#line 11 "rttest.imp"
{
  __label__ _imp_endofblock;
                                                                //     12      %result = n*n
_imp_current_line = 12; _imp_current_file = "rttest.imp";
#line 12 "rttest.imp"
return (((int)(N)) * (N));
                                                                //     13    %end
_imp_current_line = 13; _imp_current_file = "rttest.imp";
#line 13 "rttest.imp"
_imp_endofblock: ;
} // End of block SQUARE at level 2
                                                                //     14  
                                                                //     15    write(sigma(square, 1, 5), 0)
_imp_current_line = 15; _imp_current_file = "rttest.imp";
#line 15 "rttest.imp"
_imp_WRITE(SIGMA(SQUARE, 1, 5), 0);
                                                                //     16  
                                                                //     17  %endofprogram
_imp_current_line = 17; _imp_current_file = "rttest.imp";
#line 17 "rttest.imp"
return 0;
_imp_endofblock: ;
} // End of block _imp_main at level 1
#line 17 "rttest.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 rttest.o rttest.c -lm
