GAP 4.8.9 installation with standard packages -- copy to your CoCalc project to get it
#include "defs.h"12# define PSP 10000003# define SPACE 10000004# define SVSP 1000005# define NPT 327676# define MP 5007# define MB 808# define MREL 163839# define DNWDS MREL/3210/* SPACE is space available for coset enumeration.11MREL is max no of relations allowed.12We will be using a boolean array done on the relator set, so DNWDS is the13max no. of 32 bit words we need for the relator set.14*/1516char inf[80],outf[80],outfg[80],firstnew,gap;17/* Default inf=gpname.sg18outf=inf.rel anyway.19*/20int imsp[SPACE],*done[DNWDS],*imcos[MP];21short perm[PSP],sv[SVSP],cp[5*NPT],orb[NPT+1],22base[MB],lorb[MB],pno[MP/2],*pptr[MP],*svptr[MB],23inv[MP],rno[MB],mp=MP,mrel=MREL,24dnwds=DNWDS,mpt=NPT,mb=MB;25int psp=PSP,space=SPACE,svsp=SVSP;2627int28main (int argc, char *argv[])29{ short arg; char c,err;30err=0; firstnew=0; arg=1; gap=0;31if (argc<=arg) {err=1; goto error;}32while (argv[arg][0]=='-')33{ c=argv[arg][1];34if (c=='g') gap=1;35else if (c=='f') firstnew=1;36else {err=1; goto error;}37arg++; if (argc<=arg) {err=1; goto error;}38}39strcpy(inf,argv[arg]); strcat(inf,".");40if (gap) {strcpy(outfg,inf); strcat(outfg,"relg");}41arg++; if (argc<=arg) strcat(inf,"sg"); else strcat(inf,argv[arg]);42strcpy(outf,inf); strcat(outf,".rel");43if (grprog()== -1) exit(1);44error: if (err)45{ fprintf(stderr,"Usage: grrun [-f] [-g] gpname [inf]\n");46exit(1);47}48exit(0);49}505152