class sfg extends c2jrt
{
   private static String class_name = "sfg";


   static Class pcsfg_version[]=
   {
   
   }
   ;
   public static int csfg_version;
   static Class pcsfg_init[]=
   {
   
   }
   ;
   public static int csfg_init;
   static Class pcsfg_deinit[]=
   {
   
   }
   ;
   public static int csfg_deinit;
   static Class pcsfg_addnode[]=
   {
   java.lang.Integer.TYPE,java.lang.Integer.TYPE,java.lang.Integer.TYPE
   }
   ;
   public static int csfg_addnode;
   static Class pcsfg_addedge[]=
   {
   java.lang.Integer.TYPE,java.lang.Integer.TYPE,java.lang.Integer.TYPE,java.lang.Integer.TYPE,java.lang.Integer.TYPE
   }
   ;
   public static int csfg_addedge;
   static Class pcsfg_layout[]=
   {
   
   }
   ;
   public static int csfg_layout;
   static Class pcsfg_crossings[]=
   {
   
   }
   ;
   public static int csfg_crossings;
   static Class pcsfg_initialcrossings[]=
   {
   
   }
   ;
   public static int csfg_initialcrossings;
   static Class pcsfg_edgelabels[]=
   {
   java.lang.Integer.TYPE
   }
   ;
   public static int csfg_edgelabels;
   static Class pcsfg_nodexpos[]=
   {
   java.lang.Integer.TYPE
   }
   ;
   public static int csfg_nodexpos;
   static Class pcsfg_nodeypos[]=
   {
   java.lang.Integer.TYPE
   }
   ;
   public static int csfg_nodeypos;
   static Class pcsfg_noderelxpos[]=
   {
   java.lang.Integer.TYPE
   }
   ;
   public static int csfg_noderelxpos;
   static Class pcsfg_noderelypos[]=
   {
   java.lang.Integer.TYPE
   }
   ;
   public static int csfg_noderelypos;
   static Class pcsfg_nodely0[]=
   {
   java.lang.Integer.TYPE
   }
   ;
   public static int csfg_nodely0;
   static Class pcsfg_nodely1[]=
   {
   java.lang.Integer.TYPE
   }
   ;
   public static int csfg_nodely1;
   static Class pcsfg_nodexsize[]=
   {
   java.lang.Integer.TYPE
   }
   ;
   public static int csfg_nodexsize;
   static Class pcsfg_nodeysize[]=
   {
   java.lang.Integer.TYPE
   }
   ;
   public static int csfg_nodeysize;
   static Class pcsfg_xspacing[]=
   {
   java.lang.Integer.TYPE
   }
   ;
   public static int csfg_xspacing;
   static Class pcsfg_yspacing[]=
   {
   java.lang.Integer.TYPE
   }
   ;
   public static int csfg_yspacing;
   static Class pcsfg_maxx[]=
   {
   
   }
   ;
   public static int csfg_maxx;
   static Class pcsfg_maxy[]=
   {
   
   }
   ;
   public static int csfg_maxy;
   static Class pcsfg_nodemin[]=
   {
   
   }
   ;
   public static int csfg_nodemin;
   static Class pcsfg_nodemax[]=
   {
   
   }
   ;
   public static int csfg_nodemax;
   static Class pcsfg_edgemin[]=
   {
   
   }
   ;
   public static int csfg_edgemin;
   static Class pcsfg_edgemax[]=
   {
   
   }
   ;
   public static int csfg_edgemax;
   static Class pcsfg_nlevels[]=
   {
   
   }
   ;
   public static int csfg_nlevels;
   static Class pcsfg_nnodes[]=
   {
   
   }
   ;
   public static int csfg_nnodes;
   static Class pcsfg_nedges[]=
   {
   
   }
   ;
   public static int csfg_nedges;
   static Class pcsfg_nodetype[]=
   {
   java.lang.Integer.TYPE
   }
   ;
   public static int csfg_nodetype;
   static Class pcsfg_nodeselfedges[]=
   {
   java.lang.Integer.TYPE
   }
   ;
   public static int csfg_nodeselfedges;
   static Class pcsfg_nodeindegree[]=
   {
   java.lang.Integer.TYPE
   }
   ;
   public static int csfg_nodeindegree;
   static Class pcsfg_nodeoutdegree[]=
   {
   java.lang.Integer.TYPE
   }
   ;
   public static int csfg_nodeoutdegree;
   static Class pcsfg_nodeenum[]=
   {
   java.lang.Integer.TYPE
   }
   ;
   public static int csfg_nodeenum;
   static Class pcsfg_nodedata[]=
   {
   java.lang.Integer.TYPE
   }
   ;
   public static int csfg_nodedata;
   static Class pcsfg_setnodedata[]=
   {
   java.lang.Integer.TYPE,java.lang.Integer.TYPE
   }
   ;
   public static int csfg_setnodedata;
   static Class pcsfg_node_foreach[]=
   {
   java.lang.Integer.TYPE
   }
   ;
   public static int csfg_node_foreach;
   static Class pcsfg_edgefrom[]=
   {
   java.lang.Integer.TYPE
   }
   ;
   public static int csfg_edgefrom;
   static Class pcsfg_edgeto[]=
   {
   java.lang.Integer.TYPE
   }
   ;
   public static int csfg_edgeto;
   static Class pcsfg_edgetype[]=
   {
   java.lang.Integer.TYPE
   }
   ;
   public static int csfg_edgetype;
   static Class pcsfg_edgerev[]=
   {
   java.lang.Integer.TYPE
   }
   ;
   public static int csfg_edgerev;
   static Class pcsfg_edge_foreach[]=
   {
   java.lang.Integer.TYPE
   }
   ;
   public static int csfg_edge_foreach;
   static Class pcsplay_tree_delete_helper[]=
   {
   java.lang.Integer.TYPE,java.lang.Integer.TYPE
   }
   ;
   public static int csplay_tree_delete_helper;
   static Class pcsplay_tree_delete[]=
   {
   java.lang.Integer.TYPE
   }
   ;
   public static int csplay_tree_delete;
   static Class pcsplay_tree_new[]=
   {
   java.lang.Integer.TYPE,java.lang.Integer.TYPE,java.lang.Integer.TYPE
   }
   ;
   public static int csplay_tree_new;
   static Class pcsplay_tree_insert[]=
   {
   java.lang.Integer.TYPE,java.lang.Integer.TYPE,java.lang.Integer.TYPE
   }
   ;
   public static int csplay_tree_insert;
   static Class pcsplay_tree_lookup[]=
   {
   java.lang.Integer.TYPE,java.lang.Integer.TYPE
   }
   ;
   public static int csplay_tree_lookup;
   static Class pcsplay_tree_compare_ints[]=
   {
   java.lang.Integer.TYPE,java.lang.Integer.TYPE
   }
   ;
   public static int csplay_tree_compare_ints;
   static Class pcsplay[]=
   {
   java.lang.Integer.TYPE,java.lang.Integer.TYPE
   }
   ;
   public static int csplay;
   static Class pcuniqnode[]=
   {
   java.lang.Integer.TYPE,java.lang.Integer.TYPE
   }
   ;
   public static int cuniqnode;
   static Class pcuniqnode_add[]=
   {
   java.lang.Integer.TYPE,java.lang.Integer.TYPE
   }
   ;
   public static int cuniqnode_add;
   static Class pcclear_nodelist[]=
   {
   java.lang.Integer.TYPE
   }
   ;
   public static int cclear_nodelist;
   static Class pcclear_edgelist[]=
   {
   java.lang.Integer.TYPE
   }
   ;
   public static int cclear_edgelist;
   static Class pcprep[]=
   {
   java.lang.Integer.TYPE
   }
   ;
   public static int cprep;
   static Class pcreorg[]=
   {
   java.lang.Integer.TYPE
   }
   ;
   public static int creorg;
   static Class pcdecycle3[]=
   {
   java.lang.Integer.TYPE,java.lang.Integer.TYPE,java.lang.Integer.TYPE,java.lang.Integer.TYPE
   }
   ;
   public static int cdecycle3;
   static Class pcuncycle[]=
   {
   java.lang.Integer.TYPE
   }
   ;
   public static int cuncycle;
   static Class pcmake_stlist[]=
   {
   java.lang.Integer.TYPE
   }
   ;
   public static int cmake_stlist;
   static Class pcclear_stlist[]=
   {
   java.lang.Integer.TYPE
   }
   ;
   public static int cclear_stlist;
   static Class pcclear_stlist_all[]=
   {
   java.lang.Integer.TYPE
   }
   ;
   public static int cclear_stlist_all;
   static Class pcadd_singlenode[]=
   {
   java.lang.Integer.TYPE,java.lang.Integer.TYPE
   }
   ;
   public static int cadd_singlenode;
   static Class pcylevels[]=
   {
   java.lang.Integer.TYPE
   }
   ;
   public static int cylevels;
   static Class pcset_level2[]=
   {
   java.lang.Integer.TYPE,java.lang.Integer.TYPE,java.lang.Integer.TYPE,java.lang.Integer.TYPE
   }
   ;
   public static int cset_level2;
   static Class pcunrev[]=
   {
   java.lang.Integer.TYPE
   }
   ;
   public static int cunrev;
   static Class pcshorteredges[]=
   {
   java.lang.Integer.TYPE
   }
   ;
   public static int cshorteredges;
   static Class pcedgesdownwards[]=
   {
   java.lang.Integer.TYPE
   }
   ;
   public static int cedgesdownwards;
   static Class pcedgelen[]=
   {
   java.lang.Integer.TYPE
   }
   ;
   public static int cedgelen;
   static Class pcdoublespacey[]=
   {
   java.lang.Integer.TYPE
   }
   ;
   public static int cdoublespacey;
   static Class pcadd_new_dummynode[]=
   {
   java.lang.Integer.TYPE,java.lang.Integer.TYPE
   }
   ;
   public static int cadd_new_dummynode;
   static Class pcadd_new_dummyedge[]=
   {
   java.lang.Integer.TYPE,java.lang.Integer.TYPE,java.lang.Integer.TYPE,java.lang.Integer.TYPE
   }
   ;
   public static int cadd_new_dummyedge;
   static Class pcdel_edge[]=
   {
   java.lang.Integer.TYPE,java.lang.Integer.TYPE
   }
   ;
   public static int cdel_edge;
   static Class pcedgelabels[]=
   {
   java.lang.Integer.TYPE
   }
   ;
   public static int cedgelabels;
   static Class pcsplitedges[]=
   {
   java.lang.Integer.TYPE
   }
   ;
   public static int csplitedges;
   static Class pcnodecounts[]=
   {
   java.lang.Integer.TYPE
   }
   ;
   public static int cnodecounts;
   static Class pcsetbit[]=
   {
   java.lang.Integer.TYPE,java.lang.Integer.TYPE
   }
   ;
   public static int csetbit;
   static Class pcclearbit[]=
   {
   java.lang.Integer.TYPE,java.lang.Integer.TYPE
   }
   ;
   public static int cclearbit;
   static Class pctestbit[]=
   {
   java.lang.Integer.TYPE,java.lang.Integer.TYPE,java.lang.Integer.TYPE
   }
   ;
   public static int ctestbit;
   static Class pcmget[]=
   {
   java.lang.Integer.TYPE,java.lang.Integer.TYPE,java.lang.Integer.TYPE
   }
   ;
   public static int cmget;
   static Class pcmget_set[]=
   {
   java.lang.Integer.TYPE,java.lang.Integer.TYPE,java.lang.Integer.TYPE,java.lang.Integer.TYPE
   }
   ;
   public static int cmget_set;
   static Class pcnumber_of_crossings2[]=
   {
   java.lang.Integer.TYPE,java.lang.Integer.TYPE,java.lang.Integer.TYPE
   }
   ;
   public static int cnumber_of_crossings2;
   static Class pcnumber_of_crossings3[]=
   {
   java.lang.Integer.TYPE,java.lang.Integer.TYPE,java.lang.Integer.TYPE
   }
   ;
   public static int cnumber_of_crossings3;
   static Class pcnumber_of_crossings_a[]=
   {
   java.lang.Integer.TYPE,java.lang.Integer.TYPE
   }
   ;
   public static int cnumber_of_crossings_a;
   static Class pcmake_matrix[]=
   {
   java.lang.Integer.TYPE,java.lang.Integer.TYPE,java.lang.Integer.TYPE
   }
   ;
   public static int cmake_matrix;
   static Class pcsu_find_node_with_number[]=
   {
   java.lang.Integer.TYPE,java.lang.Integer.TYPE
   }
   ;
   public static int csu_find_node_with_number;
   static Class pcstore_new_positions[]=
   {
   java.lang.Integer.TYPE,java.lang.Integer.TYPE,java.lang.Integer.TYPE
   }
   ;
   public static int cstore_new_positions;
   static Class pcdo_memmove[]=
   {
   java.lang.Integer.TYPE,java.lang.Integer.TYPE,java.lang.Integer.TYPE
   }
   ;
   public static int cdo_memmove;
   static Class pccopy_m[]=
   {
   java.lang.Integer.TYPE,java.lang.Integer.TYPE
   }
   ;
   public static int ccopy_m;
   static Class pcequal_m[]=
   {
   java.lang.Integer.TYPE,java.lang.Integer.TYPE,java.lang.Integer.TYPE,java.lang.Integer.TYPE
   }
   ;
   public static int cequal_m;
   static Class pcequal_a[]=
   {
   java.lang.Integer.TYPE,java.lang.Integer.TYPE,java.lang.Integer.TYPE
   }
   ;
   public static int cequal_a;
   static Class pccopy_a[]=
   {
   java.lang.Integer.TYPE,java.lang.Integer.TYPE,java.lang.Integer.TYPE
   }
   ;
   public static int ccopy_a;
   static Class pcexch_rows[]=
   {
   java.lang.Integer.TYPE,java.lang.Integer.TYPE,java.lang.Integer.TYPE
   }
   ;
   public static int cexch_rows;
   static Class pcexch_columns[]=
   {
   java.lang.Integer.TYPE,java.lang.Integer.TYPE,java.lang.Integer.TYPE
   }
   ;
   public static int cexch_columns;
   static Class pcreverse_r[]=
   {
   java.lang.Integer.TYPE,java.lang.Integer.TYPE,java.lang.Integer.TYPE
   }
   ;
   public static int creverse_r;
   static Class pcreverse_c[]=
   {
   java.lang.Integer.TYPE,java.lang.Integer.TYPE,java.lang.Integer.TYPE
   }
   ;
   public static int creverse_c;
   static Class pcrow_barycenter[]=
   {
   java.lang.Integer.TYPE,java.lang.Integer.TYPE,java.lang.Integer.TYPE
   }
   ;
   public static int crow_barycenter;
   static Class pccolumn_barycenter[]=
   {
   java.lang.Integer.TYPE,java.lang.Integer.TYPE,java.lang.Integer.TYPE
   }
   ;
   public static int ccolumn_barycenter;
   static Class pcr_r[]=
   {
   java.lang.Integer.TYPE,java.lang.Integer.TYPE,java.lang.Integer.TYPE,java.lang.Integer.TYPE
   }
   ;
   public static int cr_r;
   static Class pcr_c[]=
   {
   java.lang.Integer.TYPE,java.lang.Integer.TYPE,java.lang.Integer.TYPE,java.lang.Integer.TYPE
   }
   ;
   public static int cr_c;
   static Class pcb_r[]=
   {
   java.lang.Integer.TYPE,java.lang.Integer.TYPE,java.lang.Integer.TYPE,java.lang.Integer.TYPE
   }
   ;
   public static int cb_r;
   static Class pcb_c[]=
   {
   java.lang.Integer.TYPE,java.lang.Integer.TYPE,java.lang.Integer.TYPE,java.lang.Integer.TYPE
   }
   ;
   public static int cb_c;
   static Class pcsorted[]=
   {
   java.lang.Integer.TYPE,java.lang.Integer.TYPE
   }
   ;
   public static int csorted;
   static Class pcphase1_down[]=
   {
   java.lang.Integer.TYPE,java.lang.Integer.TYPE
   }
   ;
   public static int cphase1_down;
   static Class pcphase1_up[]=
   {
   java.lang.Integer.TYPE,java.lang.Integer.TYPE
   }
   ;
   public static int cphase1_up;
   static Class pcphase2_down[]=
   {
   java.lang.Integer.TYPE,java.lang.Integer.TYPE
   }
   ;
   public static int cphase2_down;
   static Class pcphase2_up[]=
   {
   java.lang.Integer.TYPE,java.lang.Integer.TYPE
   }
   ;
   public static int cphase2_up;
   static Class pcbc_n[]=
   {
   java.lang.Integer.TYPE,java.lang.Integer.TYPE,java.lang.Integer.TYPE
   }
   ;
   public static int cbc_n;
   static Class pcbarycenter[]=
   {
   java.lang.Integer.TYPE,java.lang.Integer.TYPE,java.lang.Integer.TYPE
   }
   ;
   public static int cbarycenter;
   static Class pcis_dummy[]=
   {
   java.lang.Integer.TYPE
   }
   ;
   public static int cis_dummy;
   static Class pcupper_connectivity[]=
   {
   java.lang.Integer.TYPE
   }
   ;
   public static int cupper_connectivity;
   static Class pclower_connectivity[]=
   {
   java.lang.Integer.TYPE
   }
   ;
   public static int clower_connectivity;
   static Class pcdo_floor[]=
   {
   java.lang.Double.TYPE
   }
   ;
   public static int cdo_floor;
   static Class pcupper_barycenter[]=
   {
   java.lang.Integer.TYPE
   }
   ;
   public static int cupper_barycenter;
   static Class pclower_barycenter[]=
   {
   java.lang.Integer.TYPE
   }
   ;
   public static int clower_barycenter;
   static Class pcsort[]=
   {
   java.lang.Integer.TYPE
   }
   ;
   public static int csort;
   static Class pcmake_node_list_up[]=
   {
   java.lang.Integer.TYPE
   }
   ;
   public static int cmake_node_list_up;
   static Class pcmake_node_list_down[]=
   {
   java.lang.Integer.TYPE
   }
   ;
   public static int cmake_node_list_down;
   static Class pcfind_next[]=
   {
   java.lang.Integer.TYPE
   }
   ;
   public static int cfind_next;
   static Class pcdo_down[]=
   {
   java.lang.Integer.TYPE
   }
   ;
   public static int cdo_down;
   static Class pcdo_up[]=
   {
   java.lang.Integer.TYPE
   }
   ;
   public static int cdo_up;
   static Class pcimprove_positions2local[]=
   {
   java.lang.Integer.TYPE
   }
   ;
   public static int cimprove_positions2local;
   static Class pcmake_cnnodes_at_level[]=
   {
   java.lang.Integer.TYPE
   }
   ;
   public static int cmake_cnnodes_at_level;
   static Class pcclear_cnnodes_at_level[]=
   {
   
   }
   ;
   public static int cclear_cnnodes_at_level;
   static Class pcmake_cnodelist[]=
   {
   java.lang.Integer.TYPE
   }
   ;
   public static int cmake_cnodelist;
   static Class pcclear_cnodelist[]=
   {
   
   }
   ;
   public static int cclear_cnodelist;
   static Class pcmove0[]=
   {
   
   }
   ;
   public static int cmove0;
   static Class pcmake_cposnodes[]=
   {
   
   }
   ;
   public static int cmake_cposnodes;
   static Class pcclear_cposnodes[]=
   {
   
   }
   ;
   public static int cclear_cposnodes;
   static Class pcmake_clevelnodes[]=
   {
   java.lang.Integer.TYPE
   }
   ;
   public static int cmake_clevelnodes;
   static Class pcclear_clevelnodes[]=
   {
   java.lang.Integer.TYPE
   }
   ;
   public static int cclear_clevelnodes;
   static Class pccfinalxy[]=
   {
   java.lang.Integer.TYPE
   }
   ;
   public static int ccfinalxy;
   static Class pcmovefinal[]=
   {
   java.lang.Integer.TYPE
   }
   ;
   public static int cmovefinal;
   static Class pctunedummy[]=
   {
   java.lang.Integer.TYPE
   }
   ;
   public static int ctunedummy;
   static Class pctunenodes[]=
   {
   java.lang.Integer.TYPE
   }
   ;
   public static int ctunenodes;
   static Class pcimprove_positions[]=
   {
   java.lang.Integer.TYPE
   }
   ;
   public static int cimprove_positions;
   static Class pcfinalxy[]=
   {
   java.lang.Integer.TYPE
   }
   ;
   public static int cfinalxy;
   static Class pcfindedge[]=
   {
   java.lang.Integer.TYPE
   }
   ;
   public static int cfindedge;
   static Class pcsetminmax[]=
   {
   java.lang.Integer.TYPE
   }
   ;
   public static int csetminmax;

   static
   {
    try
   {
      csfg_version=getMethod(Class.forName(class_name),"csfg_version",pcsfg_version);
      csfg_init=getMethod(Class.forName(class_name),"csfg_init",pcsfg_init);
      csfg_deinit=getMethod(Class.forName(class_name),"csfg_deinit",pcsfg_deinit);
      csfg_addnode=getMethod(Class.forName(class_name),"csfg_addnode",pcsfg_addnode);
      csfg_addedge=getMethod(Class.forName(class_name),"csfg_addedge",pcsfg_addedge);
      csfg_layout=getMethod(Class.forName(class_name),"csfg_layout",pcsfg_layout);
      csfg_crossings=getMethod(Class.forName(class_name),"csfg_crossings",pcsfg_crossings);
      csfg_initialcrossings=getMethod(Class.forName(class_name),"csfg_initialcrossings",pcsfg_initialcrossings);
      csfg_edgelabels=getMethod(Class.forName(class_name),"csfg_edgelabels",pcsfg_edgelabels);
      csfg_nodexpos=getMethod(Class.forName(class_name),"csfg_nodexpos",pcsfg_nodexpos);
      csfg_nodeypos=getMethod(Class.forName(class_name),"csfg_nodeypos",pcsfg_nodeypos);
      csfg_noderelxpos=getMethod(Class.forName(class_name),"csfg_noderelxpos",pcsfg_noderelxpos);
      csfg_noderelypos=getMethod(Class.forName(class_name),"csfg_noderelypos",pcsfg_noderelypos);
      csfg_nodely0=getMethod(Class.forName(class_name),"csfg_nodely0",pcsfg_nodely0);
      csfg_nodely1=getMethod(Class.forName(class_name),"csfg_nodely1",pcsfg_nodely1);
      csfg_nodexsize=getMethod(Class.forName(class_name),"csfg_nodexsize",pcsfg_nodexsize);
      csfg_nodeysize=getMethod(Class.forName(class_name),"csfg_nodeysize",pcsfg_nodeysize);
      csfg_xspacing=getMethod(Class.forName(class_name),"csfg_xspacing",pcsfg_xspacing);
      csfg_yspacing=getMethod(Class.forName(class_name),"csfg_yspacing",pcsfg_yspacing);
      csfg_maxx=getMethod(Class.forName(class_name),"csfg_maxx",pcsfg_maxx);
      csfg_maxy=getMethod(Class.forName(class_name),"csfg_maxy",pcsfg_maxy);
      csfg_nodemin=getMethod(Class.forName(class_name),"csfg_nodemin",pcsfg_nodemin);
      csfg_nodemax=getMethod(Class.forName(class_name),"csfg_nodemax",pcsfg_nodemax);
      csfg_edgemin=getMethod(Class.forName(class_name),"csfg_edgemin",pcsfg_edgemin);
      csfg_edgemax=getMethod(Class.forName(class_name),"csfg_edgemax",pcsfg_edgemax);
      csfg_nlevels=getMethod(Class.forName(class_name),"csfg_nlevels",pcsfg_nlevels);
      csfg_nnodes=getMethod(Class.forName(class_name),"csfg_nnodes",pcsfg_nnodes);
      csfg_nedges=getMethod(Class.forName(class_name),"csfg_nedges",pcsfg_nedges);
      csfg_nodetype=getMethod(Class.forName(class_name),"csfg_nodetype",pcsfg_nodetype);
      csfg_nodeselfedges=getMethod(Class.forName(class_name),"csfg_nodeselfedges",pcsfg_nodeselfedges);
      csfg_nodeindegree=getMethod(Class.forName(class_name),"csfg_nodeindegree",pcsfg_nodeindegree);
      csfg_nodeoutdegree=getMethod(Class.forName(class_name),"csfg_nodeoutdegree",pcsfg_nodeoutdegree);
      csfg_nodeenum=getMethod(Class.forName(class_name),"csfg_nodeenum",pcsfg_nodeenum);
      csfg_nodedata=getMethod(Class.forName(class_name),"csfg_nodedata",pcsfg_nodedata);
      csfg_setnodedata=getMethod(Class.forName(class_name),"csfg_setnodedata",pcsfg_setnodedata);
      csfg_node_foreach=getMethod(Class.forName(class_name),"csfg_node_foreach",pcsfg_node_foreach);
      csfg_edgefrom=getMethod(Class.forName(class_name),"csfg_edgefrom",pcsfg_edgefrom);
      csfg_edgeto=getMethod(Class.forName(class_name),"csfg_edgeto",pcsfg_edgeto);
      csfg_edgetype=getMethod(Class.forName(class_name),"csfg_edgetype",pcsfg_edgetype);
      csfg_edgerev=getMethod(Class.forName(class_name),"csfg_edgerev",pcsfg_edgerev);
      csfg_edge_foreach=getMethod(Class.forName(class_name),"csfg_edge_foreach",pcsfg_edge_foreach);
      csplay_tree_delete_helper=getMethod(Class.forName(class_name),"csplay_tree_delete_helper",pcsplay_tree_delete_helper);
      csplay_tree_delete=getMethod(Class.forName(class_name),"csplay_tree_delete",pcsplay_tree_delete);
      csplay_tree_new=getMethod(Class.forName(class_name),"csplay_tree_new",pcsplay_tree_new);
      csplay_tree_insert=getMethod(Class.forName(class_name),"csplay_tree_insert",pcsplay_tree_insert);
      csplay_tree_lookup=getMethod(Class.forName(class_name),"csplay_tree_lookup",pcsplay_tree_lookup);
      csplay_tree_compare_ints=getMethod(Class.forName(class_name),"csplay_tree_compare_ints",pcsplay_tree_compare_ints);
      csplay=getMethod(Class.forName(class_name),"csplay",pcsplay);
      cuniqnode=getMethod(Class.forName(class_name),"cuniqnode",pcuniqnode);
      cuniqnode_add=getMethod(Class.forName(class_name),"cuniqnode_add",pcuniqnode_add);
      cclear_nodelist=getMethod(Class.forName(class_name),"cclear_nodelist",pcclear_nodelist);
      cclear_edgelist=getMethod(Class.forName(class_name),"cclear_edgelist",pcclear_edgelist);
      cprep=getMethod(Class.forName(class_name),"cprep",pcprep);
      creorg=getMethod(Class.forName(class_name),"creorg",pcreorg);
      cdecycle3=getMethod(Class.forName(class_name),"cdecycle3",pcdecycle3);
      cuncycle=getMethod(Class.forName(class_name),"cuncycle",pcuncycle);
      cmake_stlist=getMethod(Class.forName(class_name),"cmake_stlist",pcmake_stlist);
      cclear_stlist=getMethod(Class.forName(class_name),"cclear_stlist",pcclear_stlist);
      cclear_stlist_all=getMethod(Class.forName(class_name),"cclear_stlist_all",pcclear_stlist_all);
      cadd_singlenode=getMethod(Class.forName(class_name),"cadd_singlenode",pcadd_singlenode);
      cylevels=getMethod(Class.forName(class_name),"cylevels",pcylevels);
      cset_level2=getMethod(Class.forName(class_name),"cset_level2",pcset_level2);
      cunrev=getMethod(Class.forName(class_name),"cunrev",pcunrev);
      cshorteredges=getMethod(Class.forName(class_name),"cshorteredges",pcshorteredges);
      cedgesdownwards=getMethod(Class.forName(class_name),"cedgesdownwards",pcedgesdownwards);
      cedgelen=getMethod(Class.forName(class_name),"cedgelen",pcedgelen);
      cdoublespacey=getMethod(Class.forName(class_name),"cdoublespacey",pcdoublespacey);
      cadd_new_dummynode=getMethod(Class.forName(class_name),"cadd_new_dummynode",pcadd_new_dummynode);
      cadd_new_dummyedge=getMethod(Class.forName(class_name),"cadd_new_dummyedge",pcadd_new_dummyedge);
      cdel_edge=getMethod(Class.forName(class_name),"cdel_edge",pcdel_edge);
      cedgelabels=getMethod(Class.forName(class_name),"cedgelabels",pcedgelabels);
      csplitedges=getMethod(Class.forName(class_name),"csplitedges",pcsplitedges);
      cnodecounts=getMethod(Class.forName(class_name),"cnodecounts",pcnodecounts);
      csetbit=getMethod(Class.forName(class_name),"csetbit",pcsetbit);
      cclearbit=getMethod(Class.forName(class_name),"cclearbit",pcclearbit);
      ctestbit=getMethod(Class.forName(class_name),"ctestbit",pctestbit);
      cmget=getMethod(Class.forName(class_name),"cmget",pcmget);
      cmget_set=getMethod(Class.forName(class_name),"cmget_set",pcmget_set);
      cnumber_of_crossings2=getMethod(Class.forName(class_name),"cnumber_of_crossings2",pcnumber_of_crossings2);
      cnumber_of_crossings3=getMethod(Class.forName(class_name),"cnumber_of_crossings3",pcnumber_of_crossings3);
      cnumber_of_crossings_a=getMethod(Class.forName(class_name),"cnumber_of_crossings_a",pcnumber_of_crossings_a);
      cmake_matrix=getMethod(Class.forName(class_name),"cmake_matrix",pcmake_matrix);
      csu_find_node_with_number=getMethod(Class.forName(class_name),"csu_find_node_with_number",pcsu_find_node_with_number);
      cstore_new_positions=getMethod(Class.forName(class_name),"cstore_new_positions",pcstore_new_positions);
      cdo_memmove=getMethod(Class.forName(class_name),"cdo_memmove",pcdo_memmove);
      ccopy_m=getMethod(Class.forName(class_name),"ccopy_m",pccopy_m);
      cequal_m=getMethod(Class.forName(class_name),"cequal_m",pcequal_m);
      cequal_a=getMethod(Class.forName(class_name),"cequal_a",pcequal_a);
      ccopy_a=getMethod(Class.forName(class_name),"ccopy_a",pccopy_a);
      cexch_rows=getMethod(Class.forName(class_name),"cexch_rows",pcexch_rows);
      cexch_columns=getMethod(Class.forName(class_name),"cexch_columns",pcexch_columns);
      creverse_r=getMethod(Class.forName(class_name),"creverse_r",pcreverse_r);
      creverse_c=getMethod(Class.forName(class_name),"creverse_c",pcreverse_c);
      crow_barycenter=getMethod(Class.forName(class_name),"crow_barycenter",pcrow_barycenter);
      ccolumn_barycenter=getMethod(Class.forName(class_name),"ccolumn_barycenter",pccolumn_barycenter);
      cr_r=getMethod(Class.forName(class_name),"cr_r",pcr_r);
      cr_c=getMethod(Class.forName(class_name),"cr_c",pcr_c);
      cb_r=getMethod(Class.forName(class_name),"cb_r",pcb_r);
      cb_c=getMethod(Class.forName(class_name),"cb_c",pcb_c);
      csorted=getMethod(Class.forName(class_name),"csorted",pcsorted);
      cphase1_down=getMethod(Class.forName(class_name),"cphase1_down",pcphase1_down);
      cphase1_up=getMethod(Class.forName(class_name),"cphase1_up",pcphase1_up);
      cphase2_down=getMethod(Class.forName(class_name),"cphase2_down",pcphase2_down);
      cphase2_up=getMethod(Class.forName(class_name),"cphase2_up",pcphase2_up);
      cbc_n=getMethod(Class.forName(class_name),"cbc_n",pcbc_n);
      cbarycenter=getMethod(Class.forName(class_name),"cbarycenter",pcbarycenter);
      cis_dummy=getMethod(Class.forName(class_name),"cis_dummy",pcis_dummy);
      cupper_connectivity=getMethod(Class.forName(class_name),"cupper_connectivity",pcupper_connectivity);
      clower_connectivity=getMethod(Class.forName(class_name),"clower_connectivity",pclower_connectivity);
      cdo_floor=getMethod(Class.forName(class_name),"cdo_floor",pcdo_floor);
      cupper_barycenter=getMethod(Class.forName(class_name),"cupper_barycenter",pcupper_barycenter);
      clower_barycenter=getMethod(Class.forName(class_name),"clower_barycenter",pclower_barycenter);
      csort=getMethod(Class.forName(class_name),"csort",pcsort);
      cmake_node_list_up=getMethod(Class.forName(class_name),"cmake_node_list_up",pcmake_node_list_up);
      cmake_node_list_down=getMethod(Class.forName(class_name),"cmake_node_list_down",pcmake_node_list_down);
      cfind_next=getMethod(Class.forName(class_name),"cfind_next",pcfind_next);
      cdo_down=getMethod(Class.forName(class_name),"cdo_down",pcdo_down);
      cdo_up=getMethod(Class.forName(class_name),"cdo_up",pcdo_up);
      cimprove_positions2local=getMethod(Class.forName(class_name),"cimprove_positions2local",pcimprove_positions2local);
      cmake_cnnodes_at_level=getMethod(Class.forName(class_name),"cmake_cnnodes_at_level",pcmake_cnnodes_at_level);
      cclear_cnnodes_at_level=getMethod(Class.forName(class_name),"cclear_cnnodes_at_level",pcclear_cnnodes_at_level);
      cmake_cnodelist=getMethod(Class.forName(class_name),"cmake_cnodelist",pcmake_cnodelist);
      cclear_cnodelist=getMethod(Class.forName(class_name),"cclear_cnodelist",pcclear_cnodelist);
      cmove0=getMethod(Class.forName(class_name),"cmove0",pcmove0);
      cmake_cposnodes=getMethod(Class.forName(class_name),"cmake_cposnodes",pcmake_cposnodes);
      cclear_cposnodes=getMethod(Class.forName(class_name),"cclear_cposnodes",pcclear_cposnodes);
      cmake_clevelnodes=getMethod(Class.forName(class_name),"cmake_clevelnodes",pcmake_clevelnodes);
      cclear_clevelnodes=getMethod(Class.forName(class_name),"cclear_clevelnodes",pcclear_clevelnodes);
      ccfinalxy=getMethod(Class.forName(class_name),"ccfinalxy",pccfinalxy);
      cmovefinal=getMethod(Class.forName(class_name),"cmovefinal",pcmovefinal);
      ctunedummy=getMethod(Class.forName(class_name),"ctunedummy",pctunedummy);
      ctunenodes=getMethod(Class.forName(class_name),"ctunenodes",pctunenodes);
      cimprove_positions=getMethod(Class.forName(class_name),"cimprove_positions",pcimprove_positions);
      cfinalxy=getMethod(Class.forName(class_name),"cfinalxy",pcfinalxy);
      cfindedge=getMethod(Class.forName(class_name),"cfindedge",pcfindedge);
      csetminmax=getMethod(Class.forName(class_name),"csetminmax",pcsetminmax);
   }catch(Exception ex){
    ex.printStackTrace();
   }
   }
public static 	int  cmaingraph_1= (int)(0);
public static 	int  cuniqnode_splaytree_2= (int)(0);
   
   /* file sfg.c line 271*/
   
   public static int csfg_version()
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int retval= 0;
         
         {
         retval= 20;
         if(true)
         {
         prevlevel();
         return retval;
         };
         
         }
      };
      prevlevel();
      return 0;
   }
   
   /* file sfg.c line 281*/
   
   public static int csfg_init()
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int retval= 0;
         
         {
         
         /* file sfg.c line 282*/
         if( cmaingraph_1!=0)
         {
         	   
            {
            retval= (-(1));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         cmaingraph_1=
         /* file sfg.c line 285*/
         ccalloc(1,140);
         
         /* file sfg.c line 286*/
         if( (((cmaingraph_1)==((int)(0)))?1:0)!=0)
         {
         	   
            {
            retval= (-(2));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         cuniqnode_splaytree_2=
         /* file sfg.c line 289*/
         csplay_tree_new((int)(csplay_tree_compare_ints),(int)(0),(int)(0));
         
         /* file sfg.c line 290*/
         if( (((cuniqnode_splaytree_2)==((int)(0)))?1:0)!=0)
         {
         	   
            {
            retval= (-(2));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         setMEMINT((int)((cmaingraph_1 + 52)),(int)(5));
         setMEMINT((int)((cmaingraph_1 + 56)),(int)(15));
         setMEMINT((int)((cmaingraph_1 + 28)),(int)(1));
         retval= 0;
         if(true)
         {
         prevlevel();
         return retval;
         };
         
         }
      };
      prevlevel();
      return 0;
   }
   
   /* file sfg.c line 305*/
   
   public static int csfg_deinit()
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int retval= 0;
         
         {
         
         /* file sfg.c line 306*/
         if( (((cmaingraph_1)==((int)(0)))?1:0)!=0)
         {
         	   
            {
            retval= (-(1));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         
         /* file sfg.c line 309*/
         if( getMEMINT((int)((cmaingraph_1 + 108)))!=0)
         {
         	   
            {
            
            /* file sfg.c line 310*/
            cfree(getMEMINT((int)((cmaingraph_1 + 108))));
            setMEMINT((int)((cmaingraph_1 + 108)),(int)((int)(0)));
            
            }
         
         };
         
         /* file sfg.c line 313*/
         if( getMEMINT((int)((cmaingraph_1 + 84)))!=0)
         {
         	   
            {
            
            /* file sfg.c line 314*/
            cfree(getMEMINT((int)((cmaingraph_1 + 84))));
            setMEMINT((int)((cmaingraph_1 + 84)),(int)((int)(0)));
            
            }
         
         };
         
         /* file sfg.c line 317*/
         if( getMEMINT((int)((cmaingraph_1 + 48)))!=0)
         {
         	   
            {
            
            /* file sfg.c line 318*/
            cfree(getMEMINT((int)((cmaingraph_1 + 48))));
            setMEMINT((int)((cmaingraph_1 + 48)),(int)((int)(0)));
            
            }
         
         };
         
         /* file sfg.c line 321*/
         cclear_stlist_all(cmaingraph_1);
         
         /* file sfg.c line 322*/
         cclear_edgelist(cmaingraph_1);
         
         /* file sfg.c line 323*/
         cclear_nodelist(cmaingraph_1);
         cuniqnode_splaytree_2=
         /* file sfg.c line 324*/
         csplay_tree_delete(cuniqnode_splaytree_2);
         
         /* file sfg.c line 325*/
         cfree(cmaingraph_1);
         cmaingraph_1=(int)(0);
         retval= 0;
         if(true)
         {
         prevlevel();
         return retval;
         };
         
         }
      };
      prevlevel();
      return 0;
   }
   
   /* file sfg.c line 343*/
   
   public static int csfg_addnode(int  cnumber,int  ctx,int  cty)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int retval= 0;
      int  cnn_6= 0;
      int  cnl_7= 0;
         
         {
         cnn_6= (int)(0);
         cnl_7= (int)(0);
         
         /* file sfg.c line 346*/
         if( (((cmaingraph_1)==((int)(0)))?1:0)!=0)
         {
         	   
            {
            retval= (-(1));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         
         /* file sfg.c line 349*/
         if( (((cnumber)<(1))?1:0)!=0)
         {
         	   
            {
            retval= (-(2));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         
         /* file sfg.c line 352*/
         if( (((ctx)<(0))?1:0)!=0)
         {
         	   
            {
            retval= (-(3));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         
         /* file sfg.c line 355*/
         if( (((cty)<(0))?1:0)!=0)
         {
         	   
            {
            retval= (-(4));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         
         /* file sfg.c line 358*/
         if( getMEMINT((int)((cmaingraph_1 + 0)))!=0)
         {
         	   
            {
            retval= (-(5));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         
         /* file sfg.c line 362*/
         if( 
         /* file sfg.c line 362*/
         cuniqnode(cmaingraph_1,cnumber)!=0)
         {
         	   
            {
            retval= (-(6));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         cnn_6=
         /* file sfg.c line 366*/
         ccalloc(1,128);
         
         /* file sfg.c line 367*/
         if( (((cnn_6)==((int)(0)))?1:0)!=0)
         {
         	   
            {
            retval= (-(7));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         cnl_7=
         /* file sfg.c line 370*/
         ccalloc(1,8);
         
         /* file sfg.c line 371*/
         if( (((cnl_7)==((int)(0)))?1:0)!=0)
         {
         	   
            {
            
            /* file sfg.c line 372*/
            cfree(cnn_6);
            retval= (-(7));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         setMEMINT((int)((cnn_6 + 0)),(int)(cnumber));
         setMEMINT((int)((cnn_6 + 4)),(int)(ctx));
         setMEMINT((int)((cnn_6 + 8)),(int)(cty));
         setMEMINT((int)((cnl_7 + 0)),(int)(cnn_6));
         
         /* file sfg.c line 380*/
         if( (((getMEMINT((int)((cmaingraph_1 + 60))))==((int)(0)))?1:0)!=0)
         {
         	   
            {
            setMEMINT((int)((cmaingraph_1 + 60)),(int)(cnl_7));
            setMEMINT((int)((cmaingraph_1 + 64)),(int)(cnl_7));
            
            }
         
         }
         else
         {
         	   
            {
            setMEMINT((int)((getMEMINT((int)((cmaingraph_1 + 64))) + 4)),(int)(cnl_7));
            setMEMINT((int)((cmaingraph_1 + 64)),(int)(cnl_7));
            
            }
         
         };
         
         /* file sfg.c line 387*/
         if( (((cnumber)>(getMEMINT((int)((cmaingraph_1 + 4)))))?1:0)!=0)
         {
         	   
            {
            setMEMINT((int)((cmaingraph_1 + 4)),(int)(cnumber));
            
            }
         
         };
         
         /* file sfg.c line 391*/
         cuniqnode_add(cmaingraph_1,cnn_6);
         sincMEMINT((int)((cmaingraph_1 + 8)),+1);
         retval= 0;
         if(true)
         {
         prevlevel();
         return retval;
         };
         
         }
      };
      prevlevel();
      return 0;
   }
   
   /* file sfg.c line 413*/
   
   public static int csfg_addedge(int  cnumber,int  cfrom,int  cto,int  ctx,int  cty)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int retval= 0;
      int  cfn_8= 0;
      int  ctn_9= 0;
      int  ce_10= 0;
      int  cel_11= 0;
         
         {
         cfn_8= (int)(0);
         ctn_9= (int)(0);
         ce_10= (int)(0);
         cel_11= (int)(0);
         
         /* file sfg.c line 418*/
         if( (((cmaingraph_1)==((int)(0)))?1:0)!=0)
         {
         	   
            {
            retval= (-(1));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         
         /* file sfg.c line 421*/
         if( (((cnumber)<(1))?1:0)!=0)
         {
         	   
            {
            retval= (-(2));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         
         /* file sfg.c line 424*/
         if( (((ctx)<(0))?1:0)!=0)
         {
         	   
            {
            retval= (-(3));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         
         /* file sfg.c line 427*/
         if( (((cty)<(0))?1:0)!=0)
         {
         	   
            {
            retval= (-(4));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         
         /* file sfg.c line 430*/
         if( (((cfrom)<(1))?1:0)!=0)
         {
         	   
            {
            retval= (-(5));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         
         /* file sfg.c line 433*/
         if( (((cto)<(1))?1:0)!=0)
         {
         	   
            {
            retval= (-(6));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         
         /* file sfg.c line 436*/
         if( (((cfrom)==(cto))?1:0)!=0)
         {
         	   
            {
            
            /* file sfg.c line 437*/
            if( (((ctx)!=0)?1: (cty))!=0)
            {
            	   
               {
               retval= (-(7));
               if(true)
               {
               prevlevel();
               return retval;
               };
               
               }
            
            };
            
            }
         
         };
         
         /* file sfg.c line 441*/
         if( getMEMINT((int)((cmaingraph_1 + 0)))!=0)
         {
         	   
            {
            retval= (-(8));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         cfn_8=
         /* file sfg.c line 444*/
         cuniqnode(cmaingraph_1,cfrom);
         
         /* file sfg.c line 445*/
         if( (((cfn_8)==((int)(0)))?1:0)!=0)
         {
         	   
            {
            retval= (-(5));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         ctn_9=
         /* file sfg.c line 448*/
         cuniqnode(cmaingraph_1,cto);
         
         /* file sfg.c line 449*/
         if( (((ctn_9)==((int)(0)))?1:0)!=0)
         {
         	   
            {
            retval= (-(6));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         
         /* file sfg.c line 452*/
         if( (((cnumber)>(getMEMINT((int)((cmaingraph_1 + 12)))))?1:0)!=0)
         {
         	   
            {
            setMEMINT((int)((cmaingraph_1 + 12)),(int)(cnumber));
            
            }
         
         };
         sincMEMINT((int)((cmaingraph_1 + 16)),+1);
         
         /* file sfg.c line 456*/
         if( (((cfn_8)==(ctn_9))?1:0)!=0)
         {
         	   
            {
            sincMEMINT((int)((cfn_8 + 32)),+1);
            
            }
         
         }
         else
         {
         	   
            {
            ce_10=
            /* file sfg.c line 461*/
            ccalloc(1,32);
            
            /* file sfg.c line 462*/
            if( (((ce_10)==((int)(0)))?1:0)!=0)
            {
            	   
               {
               retval= (-(9));
               if(true)
               {
               prevlevel();
               return retval;
               };
               
               }
            
            };
            cel_11=
            /* file sfg.c line 465*/
            ccalloc(1,8);
            
            /* file sfg.c line 466*/
            if( (((cel_11)==((int)(0)))?1:0)!=0)
            {
            	   
               {
               
               /* file sfg.c line 467*/
               cfree(ce_10);
               retval= (-(9));
               if(true)
               {
               prevlevel();
               return retval;
               };
               
               }
            
            };
            setMEMINT((int)((ce_10 + 0)),(int)(cnumber));
            setMEMINT((int)((ce_10 + 4)),(int)(cfn_8));
            setMEMINT((int)((ce_10 + 8)),(int)(ctn_9));
            setMEMINT((int)((ce_10 + 12)),(int)(ctx));
            setMEMINT((int)((ce_10 + 16)),(int)(cty));
            
            /* file sfg.c line 475*/
            if( (((ctx)!=0)?1: (cty))!=0)
            {
            	   
               {
               setMEMINT((int)((ce_10 + 20)),(int)(1));
               sincMEMINT((int)((cmaingraph_1 + 24)),+1);
               
               }
            
            };
            setMEMINT((int)((cel_11 + 0)),(int)(ce_10));
            
            /* file sfg.c line 482*/
            if( (((getMEMINT((int)((cmaingraph_1 + 76))))==((int)(0)))?1:0)!=0)
            {
            	   
               {
               setMEMINT((int)((cmaingraph_1 + 76)),(int)(cel_11));
               setMEMINT((int)((cmaingraph_1 + 80)),(int)(cel_11));
               
               }
            
            }
            else
            {
            	   
               {
               setMEMINT((int)((getMEMINT((int)((cmaingraph_1 + 80))) + 4)),(int)(cel_11));
               setMEMINT((int)((cmaingraph_1 + 80)),(int)(cel_11));
               
               }
            
            };
            
            }
         
         };
         retval= 0;
         if(true)
         {
         prevlevel();
         return retval;
         };
         
         }
      };
      prevlevel();
      return 0;
   }
   
   /* file sfg.c line 500*/
   
   public static int csfg_layout()
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int retval= 0;
         
         {
         
         /* file sfg.c line 501*/
         if( (((cmaingraph_1)==((int)(0)))?1:0)!=0)
         {
         	   
            {
            retval= (-(1));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         
         /* file sfg.c line 504*/
         if( getMEMINT((int)((cmaingraph_1 + 0)))!=0)
         {
         	   
            {
            retval= (-(2));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         
         /* file sfg.c line 507*/
         if( (((getMEMINT((int)((cmaingraph_1 + 60))))==((int)(0)))?1:0)!=0)
         {
         	   
            {
            retval= (-(3));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         
         /* file sfg.c line 512*/
         cprep(cmaingraph_1);
         
         /* file sfg.c line 515*/
         creorg(cmaingraph_1);
         
         /* file sfg.c line 518*/
         cuncycle(cmaingraph_1);
         
         /* file sfg.c line 521*/
         creorg(cmaingraph_1);
         
         /* file sfg.c line 524*/
         cylevels(cmaingraph_1);
         
         /* file sfg.c line 527*/
         cshorteredges(cmaingraph_1);
         
         /* file sfg.c line 530*/
         cedgesdownwards(cmaingraph_1);
         
         /* file sfg.c line 533*/
         cedgelen(cmaingraph_1);
         
         /* file sfg.c line 536*/
         cdoublespacey(cmaingraph_1);
         
         /* file sfg.c line 539*/
         cedgelabels(cmaingraph_1);
         
         /* file sfg.c line 542*/
         csplitedges(cmaingraph_1);
         
         /* file sfg.c line 545*/
         cnodecounts(cmaingraph_1);
         
         /* file sfg.c line 548*/
         cbarycenter(cmaingraph_1,100,100);
         
         /* file sfg.c line 551*/
         cimprove_positions(cmaingraph_1);
         
         /* file sfg.c line 554*/
         cfinalxy(cmaingraph_1);
         
         /* file sfg.c line 557*/
         csetminmax(cmaingraph_1);
         setMEMINT((int)((cmaingraph_1 + 0)),(int)(1));
         retval= 0;
         if(true)
         {
         prevlevel();
         return retval;
         };
         
         }
      };
      prevlevel();
      return 0;
   }
   
   /* file sfg.c line 571*/
   
   public static int csfg_crossings()
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int retval= 0;
         
         {
         
         /* file sfg.c line 572*/
         if( (((cmaingraph_1)==((int)(0)))?1:0)!=0)
         {
         	   
            {
            retval= (-(1));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         
         /* file sfg.c line 575*/
         if( (((getMEMINT((int)((cmaingraph_1 + 0))))==(0))?1:0)!=0)
         {
         	   
            {
            retval= (-(22));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         retval= getMEMINT((int)((cmaingraph_1 + 100)));
         if(true)
         {
         prevlevel();
         return retval;
         };
         
         }
      };
      prevlevel();
      return 0;
   }
   
   /* file sfg.c line 587*/
   
   public static int csfg_initialcrossings()
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int retval= 0;
         
         {
         
         /* file sfg.c line 588*/
         if( (((cmaingraph_1)==((int)(0)))?1:0)!=0)
         {
         	   
            {
            retval= (-(1));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         
         /* file sfg.c line 591*/
         if( (((getMEMINT((int)((cmaingraph_1 + 0))))==(0))?1:0)!=0)
         {
         	   
            {
            retval= (-(2));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         retval= getMEMINT((int)((cmaingraph_1 + 96)));
         if(true)
         {
         prevlevel();
         return retval;
         };
         
         }
      };
      prevlevel();
      return 0;
   }
   
   /* file sfg.c line 603*/
   
   public static int csfg_edgelabels(int  cstatus)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int retval= 0;
         
         {
         
         /* file sfg.c line 604*/
         if( (((cmaingraph_1)==((int)(0)))?1:0)!=0)
         {
         	   
            {
            retval= (-(1));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         
         /* file sfg.c line 607*/
         if( getMEMINT((int)((cmaingraph_1 + 0)))!=0)
         {
         	   
            {
            retval= (-(2));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         
         /* file sfg.c line 610*/
         if( cstatus!=0)
         {
         	   
            {
            setMEMINT((int)((cmaingraph_1 + 28)),(int)(1));
            
            }
         
         }
         else
         {
         	   
            {
            setMEMINT((int)((cmaingraph_1 + 28)),(int)(1));
            
            }
         
         };
         retval= 0;
         if(true)
         {
         prevlevel();
         return retval;
         };
         
         }
      };
      prevlevel();
      return 0;
   }
   
   /* file sfg.c line 626*/
   
   public static int csfg_nodexpos(int  cnum)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int retval= 0;
      int  cn_4= 0;
         
         {
         cn_4= (int)(0);
         
         /* file sfg.c line 628*/
         if( (((cmaingraph_1)==((int)(0)))?1:0)!=0)
         {
         	   
            {
            retval= (-(1));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         
         /* file sfg.c line 631*/
         if( (((getMEMINT((int)((cmaingraph_1 + 0))))==(0))?1:0)!=0)
         {
         	   
            {
            retval= (-(2));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         
         /* file sfg.c line 634*/
         if( (((cnum)<(1))?1:0)!=0)
         {
         	   
            {
            retval= (-(3));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         cn_4=
         /* file sfg.c line 637*/
         cuniqnode(cmaingraph_1,cnum);
         
         /* file sfg.c line 638*/
         if( (((cn_4)==((int)(0)))?1:0)!=0)
         {
         	   
            {
            retval= (-(4));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         retval= getMEMINT((int)((cn_4 + 92)));
         if(true)
         {
         prevlevel();
         return retval;
         };
         
         }
      };
      prevlevel();
      return 0;
   }
   
   /* file sfg.c line 652*/
   
   public static int csfg_nodeypos(int  cnum)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int retval= 0;
      int  cn_4= 0;
         
         {
         cn_4= (int)(0);
         
         /* file sfg.c line 654*/
         if( (((cmaingraph_1)==((int)(0)))?1:0)!=0)
         {
         	   
            {
            retval= (-(1));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         
         /* file sfg.c line 657*/
         if( (((getMEMINT((int)((cmaingraph_1 + 0))))==(0))?1:0)!=0)
         {
         	   
            {
            retval= (-(2));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         
         /* file sfg.c line 660*/
         if( (((cnum)<(1))?1:0)!=0)
         {
         	   
            {
            retval= (-(3));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         cn_4=
         /* file sfg.c line 663*/
         cuniqnode(cmaingraph_1,cnum);
         
         /* file sfg.c line 664*/
         if( (((cn_4)==((int)(0)))?1:0)!=0)
         {
         	   
            {
            retval= (-(4));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         retval= getMEMINT((int)((cn_4 + 96)));
         if(true)
         {
         prevlevel();
         return retval;
         };
         
         }
      };
      prevlevel();
      return 0;
   }
   
   /* file sfg.c line 678*/
   
   public static int csfg_noderelxpos(int  cnum)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int retval= 0;
      int  cn_4= 0;
         
         {
         cn_4= (int)(0);
         
         /* file sfg.c line 680*/
         if( (((cmaingraph_1)==((int)(0)))?1:0)!=0)
         {
         	   
            {
            retval= (-(1));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         
         /* file sfg.c line 683*/
         if( (((getMEMINT((int)((cmaingraph_1 + 0))))==(0))?1:0)!=0)
         {
         	   
            {
            retval= (-(2));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         
         /* file sfg.c line 686*/
         if( (((cnum)<(1))?1:0)!=0)
         {
         	   
            {
            retval= (-(3));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         cn_4=
         /* file sfg.c line 689*/
         cuniqnode(cmaingraph_1,cnum);
         
         /* file sfg.c line 690*/
         if( (((cn_4)==((int)(0)))?1:0)!=0)
         {
         	   
            {
            retval= (-(4));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         retval= getMEMINT((int)((cn_4 + 60)));
         if(true)
         {
         prevlevel();
         return retval;
         };
         
         }
      };
      prevlevel();
      return 0;
   }
   
   /* file sfg.c line 704*/
   
   public static int csfg_noderelypos(int  cnum)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int retval= 0;
      int  cn_4= 0;
         
         {
         cn_4= (int)(0);
         
         /* file sfg.c line 706*/
         if( (((cmaingraph_1)==((int)(0)))?1:0)!=0)
         {
         	   
            {
            retval= (-(1));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         
         /* file sfg.c line 709*/
         if( (((getMEMINT((int)((cmaingraph_1 + 0))))==(0))?1:0)!=0)
         {
         	   
            {
            retval= (-(2));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         
         /* file sfg.c line 712*/
         if( (((cnum)<(1))?1:0)!=0)
         {
         	   
            {
            retval= (-(3));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         cn_4=
         /* file sfg.c line 715*/
         cuniqnode(cmaingraph_1,cnum);
         
         /* file sfg.c line 716*/
         if( (((cn_4)==((int)(0)))?1:0)!=0)
         {
         	   
            {
            retval= (-(4));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         retval= getMEMINT((int)((cn_4 + 64)));
         if(true)
         {
         prevlevel();
         return retval;
         };
         
         }
      };
      prevlevel();
      return 0;
   }
   
   /* file sfg.c line 730*/
   
   public static int csfg_nodely0(int  cnum)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int retval= 0;
      int  cn_4= 0;
         
         {
         cn_4= (int)(0);
         
         /* file sfg.c line 732*/
         if( (((cmaingraph_1)==((int)(0)))?1:0)!=0)
         {
         	   
            {
            retval= (-(1));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         
         /* file sfg.c line 735*/
         if( (((getMEMINT((int)((cmaingraph_1 + 0))))==(0))?1:0)!=0)
         {
         	   
            {
            retval= (-(2));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         
         /* file sfg.c line 738*/
         if( (((cnum)<(1))?1:0)!=0)
         {
         	   
            {
            retval= (-(3));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         cn_4=
         /* file sfg.c line 741*/
         cuniqnode(cmaingraph_1,cnum);
         
         /* file sfg.c line 742*/
         if( (((cn_4)==((int)(0)))?1:0)!=0)
         {
         	   
            {
            retval= (-(4));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         retval= getMEMINT((int)((cn_4 + 80)));
         if(true)
         {
         prevlevel();
         return retval;
         };
         
         }
      };
      prevlevel();
      return 0;
   }
   
   /* file sfg.c line 756*/
   
   public static int csfg_nodely1(int  cnum)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int retval= 0;
      int  cn_4= 0;
         
         {
         cn_4= (int)(0);
         
         /* file sfg.c line 758*/
         if( (((cmaingraph_1)==((int)(0)))?1:0)!=0)
         {
         	   
            {
            retval= (-(1));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         
         /* file sfg.c line 761*/
         if( (((getMEMINT((int)((cmaingraph_1 + 0))))==(0))?1:0)!=0)
         {
         	   
            {
            retval= (-(2));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         
         /* file sfg.c line 764*/
         if( (((cnum)<(1))?1:0)!=0)
         {
         	   
            {
            retval= (-(3));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         cn_4=
         /* file sfg.c line 767*/
         cuniqnode(cmaingraph_1,cnum);
         
         /* file sfg.c line 768*/
         if( (((cn_4)==((int)(0)))?1:0)!=0)
         {
         	   
            {
            retval= (-(4));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         retval= getMEMINT((int)((cn_4 + 88)));
         if(true)
         {
         prevlevel();
         return retval;
         };
         
         }
      };
      prevlevel();
      return 0;
   }
   
   /* file sfg.c line 782*/
   
   public static int csfg_nodexsize(int  cnum)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int retval= 0;
      int  cn_4= 0;
         
         {
         cn_4= (int)(0);
         
         /* file sfg.c line 784*/
         if( (((cmaingraph_1)==((int)(0)))?1:0)!=0)
         {
         	   
            {
            retval= (-(1));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         
         /* file sfg.c line 787*/
         if( (((getMEMINT((int)((cmaingraph_1 + 0))))==(0))?1:0)!=0)
         {
         	   
            {
            retval= (-(2));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         
         /* file sfg.c line 790*/
         if( (((cnum)<(1))?1:0)!=0)
         {
         	   
            {
            retval= (-(3));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         cn_4=
         /* file sfg.c line 793*/
         cuniqnode(cmaingraph_1,cnum);
         
         /* file sfg.c line 794*/
         if( (((cn_4)==((int)(0)))?1:0)!=0)
         {
         	   
            {
            retval= (-(4));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         retval= getMEMINT((int)((cn_4 + 4)));
         if(true)
         {
         prevlevel();
         return retval;
         };
         
         }
      };
      prevlevel();
      return 0;
   }
   
   /* file sfg.c line 808*/
   
   public static int csfg_nodeysize(int  cnum)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int retval= 0;
      int  cn_4= 0;
         
         {
         cn_4= (int)(0);
         
         /* file sfg.c line 810*/
         if( (((cmaingraph_1)==((int)(0)))?1:0)!=0)
         {
         	   
            {
            retval= (-(1));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         
         /* file sfg.c line 813*/
         if( (((getMEMINT((int)((cmaingraph_1 + 0))))==(0))?1:0)!=0)
         {
         	   
            {
            retval= (-(2));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         
         /* file sfg.c line 816*/
         if( (((cnum)<(1))?1:0)!=0)
         {
         	   
            {
            retval= (-(3));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         cn_4=
         /* file sfg.c line 819*/
         cuniqnode(cmaingraph_1,cnum);
         
         /* file sfg.c line 820*/
         if( (((cn_4)==((int)(0)))?1:0)!=0)
         {
         	   
            {
            retval= (-(4));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         retval= getMEMINT((int)((cn_4 + 8)));
         if(true)
         {
         prevlevel();
         return retval;
         };
         
         }
      };
      prevlevel();
      return 0;
   }
   
   /* file sfg.c line 833*/
   
   public static int csfg_xspacing(int  cnum)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int retval= 0;
         
         {
         
         /* file sfg.c line 834*/
         if( (((cmaingraph_1)==((int)(0)))?1:0)!=0)
         {
         	   
            {
            retval= (-(1));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         
         /* file sfg.c line 837*/
         if( (((cnum)<(1))?1:0)!=0)
         {
         	   
            {
            retval= (-(2));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         
         /* file sfg.c line 840*/
         if( getMEMINT((int)((cmaingraph_1 + 0)))!=0)
         {
         	   
            {
            retval= (-(3));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         setMEMINT((int)((cmaingraph_1 + 52)),(int)(cnum));
         retval= 0;
         if(true)
         {
         prevlevel();
         return retval;
         };
         
         }
      };
      prevlevel();
      return 0;
   }
   
   /* file sfg.c line 854*/
   
   public static int csfg_yspacing(int  cnum)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int retval= 0;
         
         {
         
         /* file sfg.c line 855*/
         if( (((cmaingraph_1)==((int)(0)))?1:0)!=0)
         {
         	   
            {
            retval= (-(1));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         
         /* file sfg.c line 858*/
         if( (((cnum)<(1))?1:0)!=0)
         {
         	   
            {
            retval= (-(2));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         
         /* file sfg.c line 861*/
         if( getMEMINT((int)((cmaingraph_1 + 0)))!=0)
         {
         	   
            {
            retval= (-(3));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         setMEMINT((int)((cmaingraph_1 + 56)),(int)(cnum));
         retval= 0;
         if(true)
         {
         prevlevel();
         return retval;
         };
         
         }
      };
      prevlevel();
      return 0;
   }
   
   /* file sfg.c line 874*/
   
   public static int csfg_maxx()
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int retval= 0;
         
         {
         
         /* file sfg.c line 875*/
         if( (((cmaingraph_1)==((int)(0)))?1:0)!=0)
         {
         	   
            {
            retval= (-(1));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         
         /* file sfg.c line 878*/
         if( (((getMEMINT((int)((cmaingraph_1 + 0))))==(0))?1:0)!=0)
         {
         	   
            {
            retval= (-(2));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         retval= getMEMINT((int)((cmaingraph_1 + 116)));
         if(true)
         {
         prevlevel();
         return retval;
         };
         
         }
      };
      prevlevel();
      return 0;
   }
   
   /* file sfg.c line 890*/
   
   public static int csfg_maxy()
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int retval= 0;
         
         {
         
         /* file sfg.c line 891*/
         if( (((cmaingraph_1)==((int)(0)))?1:0)!=0)
         {
         	   
            {
            retval= (-(1));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         
         /* file sfg.c line 894*/
         if( (((getMEMINT((int)((cmaingraph_1 + 0))))==(0))?1:0)!=0)
         {
         	   
            {
            retval= (-(2));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         retval= getMEMINT((int)((cmaingraph_1 + 120)));
         if(true)
         {
         prevlevel();
         return retval;
         };
         
         }
      };
      prevlevel();
      return 0;
   }
   
   /* file sfg.c line 907*/
   
   public static int csfg_nodemin()
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int retval= 0;
         
         {
         
         /* file sfg.c line 908*/
         if( (((cmaingraph_1)==((int)(0)))?1:0)!=0)
         {
         	   
            {
            retval= (-(1));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         
         /* file sfg.c line 911*/
         if( (((getMEMINT((int)((cmaingraph_1 + 0))))==(0))?1:0)!=0)
         {
         	   
            {
            retval= (-(2));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         
         /* file sfg.c line 914*/
         if( (((getMEMINT((int)((cmaingraph_1 + 60))))==((int)(0)))?1:0)!=0)
         {
         	   
            {
            retval= (-(3));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         retval= getMEMINT((int)((cmaingraph_1 + 124)));
         if(true)
         {
         prevlevel();
         return retval;
         };
         
         }
      };
      prevlevel();
      return 0;
   }
   
   /* file sfg.c line 927*/
   
   public static int csfg_nodemax()
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int retval= 0;
         
         {
         
         /* file sfg.c line 928*/
         if( (((cmaingraph_1)==((int)(0)))?1:0)!=0)
         {
         	   
            {
            retval= (-(1));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         
         /* file sfg.c line 931*/
         if( (((getMEMINT((int)((cmaingraph_1 + 0))))==(0))?1:0)!=0)
         {
         	   
            {
            retval= (-(2));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         
         /* file sfg.c line 934*/
         if( (((getMEMINT((int)((cmaingraph_1 + 60))))==((int)(0)))?1:0)!=0)
         {
         	   
            {
            retval= (-(3));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         retval= getMEMINT((int)((cmaingraph_1 + 128)));
         if(true)
         {
         prevlevel();
         return retval;
         };
         
         }
      };
      prevlevel();
      return 0;
   }
   
   /* file sfg.c line 947*/
   
   public static int csfg_edgemin()
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int retval= 0;
         
         {
         
         /* file sfg.c line 948*/
         if( (((cmaingraph_1)==((int)(0)))?1:0)!=0)
         {
         	   
            {
            retval= (-(1));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         
         /* file sfg.c line 951*/
         if( (((getMEMINT((int)((cmaingraph_1 + 0))))==(0))?1:0)!=0)
         {
         	   
            {
            retval= (-(2));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         
         /* file sfg.c line 954*/
         if( (((getMEMINT((int)((cmaingraph_1 + 76))))==((int)(0)))?1:0)!=0)
         {
         	   
            {
            retval= (-(3));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         retval= getMEMINT((int)((cmaingraph_1 + 132)));
         if(true)
         {
         prevlevel();
         return retval;
         };
         
         }
      };
      prevlevel();
      return 0;
   }
   
   /* file sfg.c line 967*/
   
   public static int csfg_edgemax()
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int retval= 0;
         
         {
         
         /* file sfg.c line 968*/
         if( (((cmaingraph_1)==((int)(0)))?1:0)!=0)
         {
         	   
            {
            retval= (-(1));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         
         /* file sfg.c line 971*/
         if( (((getMEMINT((int)((cmaingraph_1 + 0))))==(0))?1:0)!=0)
         {
         	   
            {
            retval= (-(2));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         
         /* file sfg.c line 974*/
         if( (((getMEMINT((int)((cmaingraph_1 + 76))))==((int)(0)))?1:0)!=0)
         {
         	   
            {
            retval= (-(3));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         retval= getMEMINT((int)((cmaingraph_1 + 136)));
         if(true)
         {
         prevlevel();
         return retval;
         };
         
         }
      };
      prevlevel();
      return 0;
   }
   
   /* file sfg.c line 986*/
   
   public static int csfg_nlevels()
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int retval= 0;
         
         {
         
         /* file sfg.c line 987*/
         if( (((cmaingraph_1)==((int)(0)))?1:0)!=0)
         {
         	   
            {
            retval= (-(1));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         
         /* file sfg.c line 990*/
         if( (((getMEMINT((int)((cmaingraph_1 + 0))))==(0))?1:0)!=0)
         {
         	   
            {
            retval= (-(2));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         retval= (getMEMINT((int)((cmaingraph_1 + 20))) + 1);
         if(true)
         {
         prevlevel();
         return retval;
         };
         
         }
      };
      prevlevel();
      return 0;
   }
   
   /* file sfg.c line 1002*/
   
   public static int csfg_nnodes()
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int retval= 0;
         
         {
         
         /* file sfg.c line 1003*/
         if( (((cmaingraph_1)==((int)(0)))?1:0)!=0)
         {
         	   
            {
            retval= (-(1));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         
         /* file sfg.c line 1006*/
         if( (((getMEMINT((int)((cmaingraph_1 + 0))))==(0))?1:0)!=0)
         {
         	   
            {
            retval= (-(2));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         retval= getMEMINT((int)((cmaingraph_1 + 8)));
         if(true)
         {
         prevlevel();
         return retval;
         };
         
         }
      };
      prevlevel();
      return 0;
   }
   
   /* file sfg.c line 1018*/
   
   public static int csfg_nedges()
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int retval= 0;
         
         {
         
         /* file sfg.c line 1019*/
         if( (((cmaingraph_1)==((int)(0)))?1:0)!=0)
         {
         	   
            {
            retval= (-(1));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         
         /* file sfg.c line 1022*/
         if( (((getMEMINT((int)((cmaingraph_1 + 0))))==(0))?1:0)!=0)
         {
         	   
            {
            retval= (-(2));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         retval= getMEMINT((int)((cmaingraph_1 + 16)));
         if(true)
         {
         prevlevel();
         return retval;
         };
         
         }
      };
      prevlevel();
      return 0;
   }
   
   /* file sfg.c line 1036*/
   
   public static int csfg_nodetype(int  cnum)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int retval= 0;
      int  cn_4= 0;
      int  ctype_5= 0;
         
         {
         cn_4= (int)(0);
         ctype_5= 0;
         
         /* file sfg.c line 1039*/
         if( (((cmaingraph_1)==((int)(0)))?1:0)!=0)
         {
         	   
            {
            retval= (-(1));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         
         /* file sfg.c line 1042*/
         if( (((getMEMINT((int)((cmaingraph_1 + 0))))==(0))?1:0)!=0)
         {
         	   
            {
            retval= (-(2));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         
         /* file sfg.c line 1045*/
         if( (((cnum)<(1))?1:0)!=0)
         {
         	   
            {
            retval= (-(3));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         cn_4=
         /* file sfg.c line 1048*/
         cuniqnode(cmaingraph_1,cnum);
         
         /* file sfg.c line 1049*/
         if( (((cn_4)==((int)(0)))?1:0)!=0)
         {
         	   
            {
            retval= (-(4));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         
         /* file sfg.c line 1052*/
         if( getMEMINT((int)((cn_4 + 20)))!=0)
         {
         	   
            {
            ctype_5=2;
            
            }
         
         }
         else
         {
         	
         /* file sfg.c line 1054*/
         if( getMEMINT((int)((cn_4 + 24)))!=0)
         {
         	   
            {
            ctype_5=3;
            
            }
         
         }
         else
         {
         	   
            {
            ctype_5=1;
            
            }
         
         };
         
         };
         retval= ctype_5;
         if(true)
         {
         prevlevel();
         return retval;
         };
         
         }
      };
      prevlevel();
      return 0;
   }
   
   /* file sfg.c line 1070*/
   
   public static int csfg_nodeselfedges(int  cnum)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int retval= 0;
      int  cn_4= 0;
         
         {
         cn_4= (int)(0);
         
         /* file sfg.c line 1072*/
         if( (((cmaingraph_1)==((int)(0)))?1:0)!=0)
         {
         	   
            {
            retval= (-(1));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         
         /* file sfg.c line 1075*/
         if( (((getMEMINT((int)((cmaingraph_1 + 0))))==(0))?1:0)!=0)
         {
         	   
            {
            retval= (-(2));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         
         /* file sfg.c line 1078*/
         if( (((cnum)<(1))?1:0)!=0)
         {
         	   
            {
            retval= (-(3));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         cn_4=
         /* file sfg.c line 1081*/
         cuniqnode(cmaingraph_1,cnum);
         
         /* file sfg.c line 1082*/
         if( (((cn_4)==((int)(0)))?1:0)!=0)
         {
         	   
            {
            retval= (-(4));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         retval= getMEMINT((int)((cn_4 + 32)));
         if(true)
         {
         prevlevel();
         return retval;
         };
         
         }
      };
      prevlevel();
      return 0;
   }
   
   /* file sfg.c line 1096*/
   
   public static int csfg_nodeindegree(int  cnum)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int retval= 0;
      int  cn_4= 0;
         
         {
         cn_4= (int)(0);
         
         /* file sfg.c line 1098*/
         if( (((cmaingraph_1)==((int)(0)))?1:0)!=0)
         {
         	   
            {
            retval= (-(1));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         
         /* file sfg.c line 1101*/
         if( (((getMEMINT((int)((cmaingraph_1 + 0))))==(0))?1:0)!=0)
         {
         	   
            {
            retval= (-(2));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         
         /* file sfg.c line 1104*/
         if( (((cnum)<(1))?1:0)!=0)
         {
         	   
            {
            retval= (-(3));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         cn_4=
         /* file sfg.c line 1107*/
         cuniqnode(cmaingraph_1,cnum);
         
         /* file sfg.c line 1108*/
         if( (((cn_4)==((int)(0)))?1:0)!=0)
         {
         	   
            {
            retval= (-(4));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         retval= getMEMINT((int)((cn_4 + 44)));
         if(true)
         {
         prevlevel();
         return retval;
         };
         
         }
      };
      prevlevel();
      return 0;
   }
   
   /* file sfg.c line 1122*/
   
   public static int csfg_nodeoutdegree(int  cnum)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int retval= 0;
      int  cn_4= 0;
         
         {
         cn_4= (int)(0);
         
         /* file sfg.c line 1124*/
         if( (((cmaingraph_1)==((int)(0)))?1:0)!=0)
         {
         	   
            {
            retval= (-(1));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         
         /* file sfg.c line 1127*/
         if( (((getMEMINT((int)((cmaingraph_1 + 0))))==(0))?1:0)!=0)
         {
         	   
            {
            retval= (-(2));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         
         /* file sfg.c line 1130*/
         if( (((cnum)<(1))?1:0)!=0)
         {
         	   
            {
            retval= (-(3));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         cn_4=
         /* file sfg.c line 1133*/
         cuniqnode(cmaingraph_1,cnum);
         
         /* file sfg.c line 1134*/
         if( (((cn_4)==((int)(0)))?1:0)!=0)
         {
         	   
            {
            retval= (-(4));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         retval= getMEMINT((int)((cn_4 + 48)));
         if(true)
         {
         prevlevel();
         return retval;
         };
         
         }
      };
      prevlevel();
      return 0;
   }
   
   /* file sfg.c line 1149*/
   
   public static int csfg_nodeenum(int  cnum)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int retval= 0;
      int  cn_4= 0;
         
         {
         cn_4= (int)(0);
         
         /* file sfg.c line 1151*/
         if( (((cmaingraph_1)==((int)(0)))?1:0)!=0)
         {
         	   
            {
            retval= (-(1));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         
         /* file sfg.c line 1154*/
         if( (((getMEMINT((int)((cmaingraph_1 + 0))))==(0))?1:0)!=0)
         {
         	   
            {
            retval= (-(2));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         
         /* file sfg.c line 1157*/
         if( (((cnum)<(1))?1:0)!=0)
         {
         	   
            {
            retval= (-(3));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         cn_4=
         /* file sfg.c line 1160*/
         cuniqnode(cmaingraph_1,cnum);
         
         /* file sfg.c line 1161*/
         if( (((cn_4)==((int)(0)))?1:0)!=0)
         {
         	   
            {
            retval= (-(4));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         
         /* file sfg.c line 1164*/
         if( (((getMEMINT((int)((cn_4 + 24))))==(0))?1:0)!=0)
         {
         	   
            {
            retval= (-(5));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         retval= getMEMINT((int)((cn_4 + 28)));
         if(true)
         {
         prevlevel();
         return retval;
         };
         
         }
      };
      prevlevel();
      return 0;
   }
   
   /* file sfg.c line 1178*/
   
   public static int csfg_nodedata(int  cnum)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int retval= 0;
      int  cn_4= 0;
         
         {
         cn_4= (int)(0);
         
         /* file sfg.c line 1180*/
         if( (((cmaingraph_1)==((int)(0)))?1:0)!=0)
         {
         	   
            {
            retval= (int)(0);
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         
         /* file sfg.c line 1183*/
         if( (((getMEMINT((int)((cmaingraph_1 + 0))))==(0))?1:0)!=0)
         {
         	   
            {
            retval= (int)(0);
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         
         /* file sfg.c line 1186*/
         if( (((cnum)<(1))?1:0)!=0)
         {
         	   
            {
            retval= (int)(0);
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         cn_4=
         /* file sfg.c line 1189*/
         cuniqnode(cmaingraph_1,cnum);
         
         /* file sfg.c line 1190*/
         if( (((cn_4)==((int)(0)))?1:0)!=0)
         {
         	   
            {
            retval= (int)(0);
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         retval= getMEMINT((int)((cn_4 + 56)));
         if(true)
         {
         prevlevel();
         return retval;
         };
         
         }
      };
      prevlevel();
      return 0;
   }
   
   /* file sfg.c line 1204*/
   
   public static int csfg_setnodedata(int  cnum,int  cdata)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int retval= 0;
      int  cn_5= 0;
         
         {
         cn_5= (int)(0);
         
         /* file sfg.c line 1206*/
         if( (((cmaingraph_1)==((int)(0)))?1:0)!=0)
         {
         	   
            {
            retval= (-(1));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         
         /* file sfg.c line 1209*/
         if( (((getMEMINT((int)((cmaingraph_1 + 0))))==(0))?1:0)!=0)
         {
         	   
            {
            retval= (-(2));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         
         /* file sfg.c line 1212*/
         if( (((cnum)<(1))?1:0)!=0)
         {
         	   
            {
            retval= (-(3));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         cn_5=
         /* file sfg.c line 1215*/
         cuniqnode(cmaingraph_1,cnum);
         
         /* file sfg.c line 1216*/
         if( (((cn_5)==((int)(0)))?1:0)!=0)
         {
         	   
            {
            retval= (-(4));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         setMEMINT((int)((cn_5 + 56)),(int)(cdata));
         retval= 0;
         if(true)
         {
         prevlevel();
         return retval;
         };
         
         }
      };
      prevlevel();
      return 0;
   }
   
   /* file sfg.c line 1255*/
   
   public static int csfg_node_foreach(int  cgetnodedata)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int retval= 0;
      int  cnl_4= 0;
      int  cn_5= 0;
      int  cstatus_6= 0;
      int  ctype_7= 0;
         
         {
         cnl_4= (int)(0);
         cn_5= (int)(0);
         cstatus_6= 0;
         ctype_7= 0;
         
         /* file sfg.c line 1260*/
         if( (((cmaingraph_1)==((int)(0)))?1:0)!=0)
         {
         	   
            {
            retval= (-(1));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         
         /* file sfg.c line 1263*/
         if( (((getMEMINT((int)((cmaingraph_1 + 0))))==(0))?1:0)!=0)
         {
         	   
            {
            retval= (-(2));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         
         /* file sfg.c line 1266*/
         if( (((cgetnodedata)==((int)(0)))?1:0)!=0)
         {
         	   
            {
            retval= (-(3));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         cnl_4=getMEMINT((int)((cmaingraph_1 + 60)));
         lab_sfg0 : while( (cnl_4) !=0 )
         {
         	   
            {
            cn_5=getMEMINT((int)((cnl_4 + 0)));
            ctype_7=0;
            Object[] y1= 
            {
            new java.lang.Integer((int)(getMEMINT((int)((cn_5 + 0))))),new java.lang.Integer((int)(getMEMINT((int)((cn_5 + 64))))),new java.lang.Integer((int)(getMEMINT((int)((cn_5 + 60))))),new java.lang.Integer((int)(getMEMINT((int)((cn_5 + 92))))),new java.lang.Integer((int)(getMEMINT((int)((cn_5 + 96))))),new java.lang.Integer((int)(getMEMINT((int)((cn_5 + 4))))),new java.lang.Integer((int)(getMEMINT((int)((cn_5 + 8))))),new java.lang.Integer((int)(getMEMINT((int)((cn_5 + 32))))),new java.lang.Integer((int)(ctype_7)),new java.lang.Integer((int)(getMEMINT((int)((cn_5 + 44))))),new java.lang.Integer((int)(getMEMINT((int)((cn_5 + 48))))),new java.lang.Integer((int)(getMEMINT((int)((cn_5 + 80))))),new java.lang.Integer((int)(getMEMINT((int)((cn_5 + 88)))))
            }
            ;
            cstatus_6=
            /* file sfg.c line 1276*/
            funcall(cgetnodedata,y1);
            
            /* file sfg.c line 1277*/
            if( (((cstatus_6)!=(0))?1:0)!=0)
            {
            	   
               {
               if(true)
               {
               break lab_sfg0;
               };
               
               }
            
            };
            cnl_4=getMEMINT((int)((cnl_4 + 4)));
            
            }
         
         }
         retval= 0;
         if(true)
         {
         prevlevel();
         return retval;
         };
         
         }
      };
      prevlevel();
      return 0;
   }
   
   /* file sfg.c line 1293*/
   
   public static int csfg_edgefrom(int  cnum)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int retval= 0;
      int  ce_4= 0;
         
         {
         ce_4= (int)(0);
         
         /* file sfg.c line 1295*/
         if( (((cmaingraph_1)==((int)(0)))?1:0)!=0)
         {
         	   
            {
            retval= (-(1));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         
         /* file sfg.c line 1298*/
         if( (((getMEMINT((int)((cmaingraph_1 + 0))))==(0))?1:0)!=0)
         {
         	   
            {
            retval= (-(2));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         
         /* file sfg.c line 1301*/
         if( (((cnum)<(1))?1:0)!=0)
         {
         	   
            {
            retval= (-(3));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         ce_4=
         /* file sfg.c line 1304*/
         cfindedge(cnum);
         
         /* file sfg.c line 1305*/
         if( (((ce_4)==((int)(0)))?1:0)!=0)
         {
         	   
            {
            retval= (-(4));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         retval= getMEMINT((int)((getMEMINT((int)((ce_4 + 4))) + 0)));
         if(true)
         {
         prevlevel();
         return retval;
         };
         
         }
      };
      prevlevel();
      return 0;
   }
   
   /* file sfg.c line 1319*/
   
   public static int csfg_edgeto(int  cnum)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int retval= 0;
      int  ce_4= 0;
         
         {
         ce_4= (int)(0);
         
         /* file sfg.c line 1321*/
         if( (((cmaingraph_1)==((int)(0)))?1:0)!=0)
         {
         	   
            {
            retval= (-(1));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         
         /* file sfg.c line 1324*/
         if( (((getMEMINT((int)((cmaingraph_1 + 0))))==(0))?1:0)!=0)
         {
         	   
            {
            retval= (-(2));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         
         /* file sfg.c line 1327*/
         if( (((cnum)<(1))?1:0)!=0)
         {
         	   
            {
            retval= (-(3));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         ce_4=
         /* file sfg.c line 1330*/
         cfindedge(cnum);
         
         /* file sfg.c line 1331*/
         if( (((ce_4)==((int)(0)))?1:0)!=0)
         {
         	   
            {
            retval= (-(4));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         retval= getMEMINT((int)((getMEMINT((int)((ce_4 + 8))) + 0)));
         if(true)
         {
         prevlevel();
         return retval;
         };
         
         }
      };
      prevlevel();
      return 0;
   }
   
   /* file sfg.c line 1345*/
   
   public static int csfg_edgetype(int  cnum)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int retval= 0;
      int  ce_4= 0;
      int  ctype_5= 0;
         
         {
         ce_4= (int)(0);
         ctype_5= 0;
         
         /* file sfg.c line 1348*/
         if( (((cmaingraph_1)==((int)(0)))?1:0)!=0)
         {
         	   
            {
            retval= (-(1));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         
         /* file sfg.c line 1351*/
         if( (((getMEMINT((int)((cmaingraph_1 + 0))))==(0))?1:0)!=0)
         {
         	   
            {
            retval= (-(2));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         
         /* file sfg.c line 1354*/
         if( (((cnum)<(1))?1:0)!=0)
         {
         	   
            {
            retval= (-(3));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         ce_4=
         /* file sfg.c line 1357*/
         cfindedge(cnum);
         
         /* file sfg.c line 1358*/
         if( (((ce_4)==((int)(0)))?1:0)!=0)
         {
         	   
            {
            retval= (-(4));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         
         /* file sfg.c line 1361*/
         if( (((getMEMINT((int)((getMEMINT((int)((ce_4 + 4))) + 0))))==(getMEMINT((int)((getMEMINT((int)((ce_4 + 8))) + 0)))))?1:0)!=0)
         {
         	   
            {
            ctype_5=2;
            
            }
         
         }
         else
         {
         	
         /* file sfg.c line 1363*/
         if( getMEMINT((int)((ce_4 + 28)))!=0)
         {
         	   
            {
            ctype_5=3;
            
            }
         
         }
         else
         {
         	   
            {
            ctype_5=1;
            
            }
         
         };
         
         };
         retval= ctype_5;
         if(true)
         {
         prevlevel();
         return retval;
         };
         
         }
      };
      prevlevel();
      return 0;
   }
   
   /* file sfg.c line 1379*/
   
   public static int csfg_edgerev(int  cnum)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int retval= 0;
      int  ce_4= 0;
         
         {
         ce_4= (int)(0);
         
         /* file sfg.c line 1381*/
         if( (((cmaingraph_1)==((int)(0)))?1:0)!=0)
         {
         	   
            {
            retval= (-(1));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         
         /* file sfg.c line 1384*/
         if( (((getMEMINT((int)((cmaingraph_1 + 0))))==(0))?1:0)!=0)
         {
         	   
            {
            retval= (-(2));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         
         /* file sfg.c line 1387*/
         if( (((cnum)<(1))?1:0)!=0)
         {
         	   
            {
            retval= (-(3));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         ce_4=
         /* file sfg.c line 1390*/
         cfindedge(cnum);
         
         /* file sfg.c line 1391*/
         if( (((ce_4)==((int)(0)))?1:0)!=0)
         {
         	   
            {
            retval= (-(4));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         retval= getMEMINT((int)((ce_4 + 24)));
         if(true)
         {
         prevlevel();
         return retval;
         };
         
         }
      };
      prevlevel();
      return 0;
   }
   
   /* file sfg.c line 1415*/
   
   public static int csfg_edge_foreach(int  cgetedgedata)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int retval= 0;
      int  cel_4= 0;
      int  ce_5= 0;
      int  cstatus_6= 0;
      int  ctype_7= 0;
         
         {
         cel_4= (int)(0);
         ce_5= (int)(0);
         cstatus_6= 0;
         ctype_7= 0;
         
         /* file sfg.c line 1420*/
         if( (((cmaingraph_1)==((int)(0)))?1:0)!=0)
         {
         	   
            {
            retval= (-(1));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         
         /* file sfg.c line 1423*/
         if( (((getMEMINT((int)((cmaingraph_1 + 0))))==(0))?1:0)!=0)
         {
         	   
            {
            retval= (-(2));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         
         /* file sfg.c line 1426*/
         if( (((cgetedgedata)==((int)(0)))?1:0)!=0)
         {
         	   
            {
            retval= (-(3));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         cel_4=getMEMINT((int)((cmaingraph_1 + 76)));
         lab_sfg1 : while( (cel_4) !=0 )
         {
         	   
            {
            ce_5=getMEMINT((int)((cel_4 + 0)));
            
            /* file sfg.c line 1433*/
            if( (((getMEMINT((int)((getMEMINT((int)((ce_5 + 4))) + 0))))==(getMEMINT((int)((getMEMINT((int)((ce_5 + 8))) + 0)))))?1:0)!=0)
            {
            	   
               {
               ctype_7=2;
               
               }
            
            }
            else
            {
            	
            /* file sfg.c line 1435*/
            if( getMEMINT((int)((ce_5 + 28)))!=0)
            {
            	   
               {
               ctype_7=3;
               
               }
            
            }
            else
            {
            	   
               {
               ctype_7=1;
               
               }
            
            };
            
            };
            Object[] y2= 
            {
            new java.lang.Integer((int)(getMEMINT((int)((ce_5 + 0))))),new java.lang.Integer((int)(getMEMINT((int)((getMEMINT((int)((ce_5 + 4))) + 0))))),new java.lang.Integer((int)(getMEMINT((int)((getMEMINT((int)((ce_5 + 8))) + 0))))),new java.lang.Integer((int)(ctype_7)),new java.lang.Integer((int)(getMEMINT((int)((ce_5 + 24)))))
            }
            ;
            cstatus_6=
            /* file sfg.c line 1440*/
            funcall(cgetedgedata,y2);
            
            /* file sfg.c line 1441*/
            if( (((cstatus_6)!=(0))?1:0)!=0)
            {
            	   
               {
               if(true)
               {
               break lab_sfg1;
               };
               
               }
            
            };
            cel_4=getMEMINT((int)((cel_4 + 4)));
            
            }
         
         }
         retval= 0;
         if(true)
         {
         prevlevel();
         return retval;
         };
         
         }
      };
      prevlevel();
      return 0;
   }
   
   /* file sfg.c line 1477*/
   
   public static void csplay_tree_delete_helper(int  csp,int  cnode)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
         
         {
         
         /* file sfg.c line 1479*/
         if( (((cnode)==((int)(0)))?1:0)!=0)
         {
         	   
            {
            if(true)
            {
            prevlevel();
            return ;
            };
            
            }
         
         };
         
         /* file sfg.c line 1484*/
         csplay_tree_delete_helper(csp,getMEMINT((int)((cnode + 8))));
         
         /* file sfg.c line 1485*/
         csplay_tree_delete_helper(csp,getMEMINT((int)((cnode + 12))));
         
         /* file sfg.c line 1488*/
         if( getMEMINT((int)((csp + 8)))!=0)
         {
         	   
            {
            Object[] y3= 
            {
            new java.lang.Integer((int)(getMEMINT((int)((cnode + 0)))))
            }
            ;
            
            /* file sfg.c line 1489*/
            funcall(getMEMINT((int)((csp + 8))),y3);
            setMEMINT((int)((cnode + 0)),(int)(0));
            
            }
         
         };
         
         /* file sfg.c line 1494*/
         if( getMEMINT((int)((csp + 12)))!=0)
         {
         	   
            {
            Object[] y4= 
            {
            new java.lang.Integer((int)(getMEMINT((int)((cnode + 4)))))
            }
            ;
            
            /* file sfg.c line 1495*/
            funcall(getMEMINT((int)((csp + 12))),y4);
            setMEMINT((int)((cnode + 4)),(int)(0));
            
            }
         
         };
         
         /* file sfg.c line 1499*/
         cfree((int)(cnode));
         if(true)
         {
         prevlevel();
         return ;
         };
         
         }
      };
      prevlevel();
   }
   
   /* file sfg.c line 1506*/
   
   public static int csplay_tree_delete(int  csp)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int retval= 0;
         
         {
         
         /* file sfg.c line 1507*/
         if( csp!=0)
         {
         	   
            {
            
            /* file sfg.c line 1508*/
            csplay_tree_delete_helper(csp,getMEMINT((int)((csp + 0))));
            
            /* file sfg.c line 1509*/
            cfree((int)(csp));
            
            }
         
         };
         retval= 0;
         if(true)
         {
         prevlevel();
         return retval;
         };
         
         }
      };
      prevlevel();
      return 0;
   }
   
   /* file sfg.c line 1520*/
   
   public static int csplay_tree_new(int  ccompare_fn,int  cdelete_key_fn,int  cdelete_value_fn)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int retval= 0;
      int  csp_6= 0;
         
         {
         csp_6= 0;
         
         /* file sfg.c line 1524*/
         if( (((ccompare_fn)==(0))?1:0)!=0)
         {
         	   
            {
            retval= 0;
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         csp_6=
         /* file sfg.c line 1528*/
         ccalloc(1,16);
         
         /* file sfg.c line 1530*/
         if( (((csp_6)==(0))?1:0)!=0)
         {
         	   
            {
            retval= 0;
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         setMEMINT((int)((csp_6 + 0)),(int)(0));
         setMEMINT((int)((csp_6 + 4)),(int)(ccompare_fn));
         setMEMINT((int)((csp_6 + 8)),(int)(cdelete_key_fn));
         setMEMINT((int)((csp_6 + 12)),(int)(cdelete_value_fn));
         retval= csp_6;
         if(true)
         {
         prevlevel();
         return retval;
         };
         
         }
      };
      prevlevel();
      return 0;
   }
   
   /* file sfg.c line 1548*/
   
   public static void csplay_tree_insert(int  csp,int  ckey,int  cvalue)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int  cspn_5= 0;
      int  ccomparison_6= 0;
         
         {
         cspn_5= 0;
         ccomparison_6= 0;
         
         /* file sfg.c line 1552*/
         if( (((csp)==(0))?1:0)!=0)
         {
         	   
            {
            if(true)
            {
            prevlevel();
            return ;
            };
            
            }
         
         };
         cspn_5=
         /* file sfg.c line 1557*/
         csplay_tree_lookup(csp,ckey);
         
         /* file sfg.c line 1559*/
         if( (((cspn_5)!=(0))?1:0)!=0)
         {
         	   
            {
            if(true)
            {
            prevlevel();
            return ;
            };
            
            }
         
         };
         cspn_5=
         /* file sfg.c line 1565*/
         ccalloc(1,16);
         
         /* file sfg.c line 1567*/
         if( (((cspn_5)==(0))?1:0)!=0)
         {
         	   
            {
            if(true)
            {
            prevlevel();
            return ;
            };
            
            }
         
         };
         setMEMINT((int)((cspn_5 + 0)),(int)(ckey));
         setMEMINT((int)((cspn_5 + 4)),(int)(cvalue));
         
         /* file sfg.c line 1576*/
         if( (((getMEMINT((int)((csp + 0))))==(0))?1:0)!=0)
         {
         	   
            {
            setMEMINT((int)((csp + 0)),(int)(cspn_5));
            if(true)
            {
            prevlevel();
            return ;
            };
            
            }
         
         };
         Object[] y5= 
         {
         new java.lang.Integer((int)(getMEMINT((int)((getMEMINT((int)((csp + 0))) + 0))))),new java.lang.Integer((int)(ckey))
         }
         ;
         ccomparison_6=
         /* file sfg.c line 1583*/
         funcall(getMEMINT((int)((csp + 4))),y5);
         
         /* file sfg.c line 1585*/
         if( (((ccomparison_6)<(0))?1:0)!=0)
         {
         	   
            {
            setMEMINT((int)((cspn_5 + 8)),(int)(getMEMINT((int)((csp + 0)))));
            setMEMINT((int)((cspn_5 + 12)),(int)(getMEMINT((int)((getMEMINT((int)((cspn_5 + 8))) + 12)))));
            setMEMINT((int)((getMEMINT((int)((cspn_5 + 8))) + 12)),(int)(0));
            
            }
         
         }
         else
         {
         	   
            {
            setMEMINT((int)((cspn_5 + 12)),(int)(getMEMINT((int)((csp + 0)))));
            setMEMINT((int)((cspn_5 + 8)),(int)(getMEMINT((int)((getMEMINT((int)((cspn_5 + 12))) + 8)))));
            setMEMINT((int)((getMEMINT((int)((cspn_5 + 12))) + 8)),(int)(0));
            
            }
         
         };
         setMEMINT((int)((csp + 0)),(int)(cspn_5));
         if(true)
         {
         prevlevel();
         return ;
         };
         
         }
      };
      prevlevel();
   }
   
   /* file sfg.c line 1604*/
   
   public static int csplay_tree_lookup(int  csp,int  ckey)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int retval= 0;
      int  cspn_5= 0;
         
         {
         cspn_5= 0;
         
         /* file sfg.c line 1607*/
         if( (((csp)==(0))?1:0)!=0)
         {
         	   
            {
            retval= 0;
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         
         /* file sfg.c line 1612*/
         if( (((getMEMINT((int)((csp + 0))))==(0))?1:0)!=0)
         {
         	   
            {
            retval= 0;
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         
         /* file sfg.c line 1617*/
         Object[] y6= 
         {
         new java.lang.Integer((int)(getMEMINT((int)((getMEMINT((int)((csp + 0))) + 0))))),new java.lang.Integer((int)(ckey))
         }
         ;
         if( (((
         /* file sfg.c line 1617*/
         funcall(getMEMINT((int)((csp + 4))),y6))==(0))?1:0)!=0)
         {
         	   
            {
            retval= getMEMINT((int)((csp + 0)));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         cspn_5=
         /* file sfg.c line 1622*/
         csplay(csp,ckey);
         
         /* file sfg.c line 1624*/
         if( cspn_5!=0)
         {
         	   
            {
            
            /* file sfg.c line 1626*/
            Object[] y7= 
            {
            new java.lang.Integer((int)(getMEMINT((int)((getMEMINT((int)((csp + 0))) + 0))))),new java.lang.Integer((int)(ckey))
            }
            ;
            if( (((
            /* file sfg.c line 1626*/
            funcall(getMEMINT((int)((csp + 4))),y7))==(0))?1:0)!=0)
            {
            	   
               {
               retval= getMEMINT((int)((csp + 0)));
               if(true)
               {
               prevlevel();
               return retval;
               };
               
               }
            
            };
            
            }
         
         };
         retval= 0;
         if(true)
         {
         prevlevel();
         return retval;
         };
         
         }
      };
      prevlevel();
      return 0;
   }
   
   /* file sfg.c line 1639*/
   
   public static int csplay_tree_compare_ints(int  ck1,int  ck2)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int retval= 0;
         
         {
         
         /* file sfg.c line 1640*/
         if( ((((int)(ck1))<((int)(ck2)))?1:0)!=0)
         {
         	   
            {
            retval= (int)((-(1)));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         }
         else
         {
         	
         /* file sfg.c line 1642*/
         if( ((((int)(ck1))>((int)(ck2)))?1:0)!=0)
         {
         	   
            {
            retval= 1;
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         }
         else
         {
         	   
            {
            retval= 0;
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         
         };
         
         }
      };
      prevlevel();
      return 0;
   }
   static int sfginit3(int size)
   {
   int initptr = calloca(size);
   int j=0;
   setMEMINT((int)(initptr +8),(int)((int)(0)));
   setMEMINT((int)(initptr +12),(int)((int)(0)));
   
   return initptr ;
   }
   
   /* file sfg.c line 1651*/
   
   public static int csplay(int  csp,int  ckey)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int retval= 0;
      int  ct_5= 0;
      int  cl_6= 0;
      int  cr_7= 0;
      int  cy_8= 0;
      int  ccomparevalue_9= 0;
      int  ccomparevalue2_10= 0;
      int  ctmp_11= 0;
      {
      label=0;do{
      
      labelstart : 
      labelend : switch(label){
      case 0:label=-1;
         ct_5= (int)(0);
         cl_6= (int)(0);
         cr_7= (int)(0);
         cy_8= (int)(0);
         ccomparevalue_9= 0;
         ccomparevalue2_10= 0;
         ctmp_11= calloca(16);
         cmemcpy((int)ctmp_11,(int)((int)(sfginit3(16))),16);
         
         /* file sfg.c line 1669*/
         if( (((csp)==(0))?1:0)!=0)
         {
         	   
            {
            retval= (int)(0);
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         
         /* file sfg.c line 1674*/
         if( (((getMEMINT((int)((csp + 0))))==((int)(0)))?1:0)!=0)
         {
         	   
            {
            retval= (int)(0);
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         ct_5=getMEMINT((int)((csp + 0)));
         setMEMINT((int)((ctmp_11 + 8)),(int)((int)(0)));
         setMEMINT((int)((ctmp_11 + 12)),(int)((int)(0)));
         cl_6=(int)(ctmp_11);
         cr_7=(int)(ctmp_11);
         case /*labelstart*/1 : label=-1;
         Object[] y8= 
         {
         new java.lang.Integer((int)(ckey)),new java.lang.Integer((int)(getMEMINT((int)((ct_5 + 0)))))
         }
         ;
         ccomparevalue_9=
         /* file sfg.c line 1690*/
         funcall(getMEMINT((int)((csp + 4))),y8);
         
         /* file sfg.c line 1692*/
         if( (((ccomparevalue_9)<(0))?1:0)!=0)
         {
         	   
            {
            
            /* file sfg.c line 1694*/
            if( (((getMEMINT((int)((ct_5 + 8))))==((int)(0)))?1:0)!=0)
            {
            	   
               {
               if(true)
               {
               label= 2;
               break labelend;
               };
               
               }
            
            };
            Object[] y9= 
            {
            new java.lang.Integer((int)(ckey)),new java.lang.Integer((int)(getMEMINT((int)((getMEMINT((int)((ct_5 + 8))) + 0)))))
            }
            ;
            ccomparevalue2_10=
            /* file sfg.c line 1699*/
            funcall(getMEMINT((int)((csp + 4))),y9);
            
            /* file sfg.c line 1701*/
            if( (((ccomparevalue2_10)<(0))?1:0)!=0)
            {
            	   
               {
               cy_8=getMEMINT((int)((ct_5 + 8)));
               setMEMINT((int)((ct_5 + 8)),(int)(getMEMINT((int)((cy_8 + 12)))));
               setMEMINT((int)((cy_8 + 12)),(int)(ct_5));
               ct_5=cy_8;
               
               /* file sfg.c line 1708*/
               if( (((getMEMINT((int)((ct_5 + 8))))==((int)(0)))?1:0)!=0)
               {
               	   
                  {
                  if(true)
                  {
                  label= 2;
                  break labelend;
                  };
                  
                  }
               
               };
               
               }
            
            };
            setMEMINT((int)((cr_7 + 8)),(int)(ct_5));
            cr_7=ct_5;
            ct_5=getMEMINT((int)((ct_5 + 8)));
            
            }
         
         }
         else
         {
         	
         /* file sfg.c line 1718*/
         if( (((ccomparevalue_9)>(0))?1:0)!=0)
         {
         	   
            {
            
            /* file sfg.c line 1720*/
            if( (((getMEMINT((int)((ct_5 + 12))))==((int)(0)))?1:0)!=0)
            {
            	   
               {
               if(true)
               {
               label= 2;
               break labelend;
               };
               
               }
            
            };
            Object[] y10= 
            {
            new java.lang.Integer((int)(ckey)),new java.lang.Integer((int)(getMEMINT((int)((getMEMINT((int)((ct_5 + 12))) + 0)))))
            }
            ;
            ccomparevalue2_10=
            /* file sfg.c line 1725*/
            funcall(getMEMINT((int)((csp + 4))),y10);
            
            /* file sfg.c line 1727*/
            if( (((ccomparevalue2_10)>(0))?1:0)!=0)
            {
            	   
               {
               cy_8=getMEMINT((int)((ct_5 + 12)));
               setMEMINT((int)((ct_5 + 12)),(int)(getMEMINT((int)((cy_8 + 8)))));
               setMEMINT((int)((cy_8 + 8)),(int)(ct_5));
               ct_5=cy_8;
               
               /* file sfg.c line 1735*/
               if( (((getMEMINT((int)((ct_5 + 12))))==((int)(0)))?1:0)!=0)
               {
               	   
                  {
                  if(true)
                  {
                  label= 2;
                  break labelend;
                  };
                  
                  }
               
               };
               
               }
            
            };
            setMEMINT((int)((cl_6 + 12)),(int)(ct_5));
            cl_6=ct_5;
            ct_5=getMEMINT((int)((ct_5 + 12)));
            
            }
         
         }
         else
         {
         	   
            {
            if(true)
            {
            label= 2;
            break labelend;
            };
            
            }
         
         };
         
         };
         if(true)
         {
         label= 1;
         break labelstart;
         };
         case /*labelend*/2 : label=-1;
         setMEMINT((int)((cl_6 + 12)),(int)(getMEMINT((int)((ct_5 + 8)))));
         setMEMINT((int)((cr_7 + 8)),(int)(getMEMINT((int)((ct_5 + 12)))));
         setMEMINT((int)((ct_5 + 8)),(int)(getMEMINT((int)((ctmp_11 + 12)))));
         setMEMINT((int)((ct_5 + 12)),(int)(getMEMINT((int)((ctmp_11 + 8)))));
         setMEMINT((int)((csp + 0)),(int)(ct_5));
         retval= (int)(ct_5);
         if(true)
         {
         prevlevel();
         return retval;
         };
      }
      }while(label!=-1);
      };
      };
      prevlevel();
      return 0;
   }
   
   /* file sfg.c line 1765*/
   
   public static int cuniqnode(int  cg,int  cnr)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int retval= 0;
      int  cspn_5= 0;
         
         {
         cspn_5= (int)(0);
         
         /* file sfg.c line 1767*/
         if( cg!=0)
         {
         	
         };
         
         /* file sfg.c line 1769*/
         if( (((cuniqnode_splaytree_2)==((int)(0)))?1:0)!=0)
         {
         	   
            {
            retval= (int)(0);
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         cspn_5=
         /* file sfg.c line 1772*/
         csplay_tree_lookup(cuniqnode_splaytree_2,cnr);
         
         /* file sfg.c line 1773*/
         if( cspn_5!=0)
         {
         	   
            {
            retval= (int)(getMEMINT((int)((cspn_5 + 4))));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         }
         else
         {
         	   
            {
            retval= (int)(0);
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         
         }
      };
      prevlevel();
      return 0;
   }
   
   /* file sfg.c line 1782*/
   
   public static void cuniqnode_add(int  cg,int  cnode)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int  cspn_4= 0;
         
         {
         cspn_4= (int)(0);
         
         /* file sfg.c line 1784*/
         if( cg!=0)
         {
         	
         };
         
         /* file sfg.c line 1786*/
         if( (((cnode)==((int)(0)))?1:0)!=0)
         {
         	   
            {
            if(true)
            {
            prevlevel();
            return ;
            };
            
            }
         
         };
         
         /* file sfg.c line 1790*/
         if( (((cuniqnode_splaytree_2)==((int)(0)))?1:0)!=0)
         {
         	   
            {
            cuniqnode_splaytree_2=
            /* file sfg.c line 1791*/
            csplay_tree_new((int)(csplay_tree_compare_ints),0,0);
            
            }
         
         };
         cspn_4=
         /* file sfg.c line 1793*/
         csplay_tree_lookup(cuniqnode_splaytree_2,getMEMINT((int)((cnode + 0))));
         
         /* file sfg.c line 1794*/
         if( cspn_4!=0)
         {
         	   
            {
            if(true)
            {
            prevlevel();
            return ;
            };
            
            }
         
         }
         else
         {
         	   
            {
            
            /* file sfg.c line 1798*/
            csplay_tree_insert(cuniqnode_splaytree_2,getMEMINT((int)((cnode + 0))),cnode);
            
            }
         
         };
         if(true)
         {
         prevlevel();
         return ;
         };
         
         }
      };
      prevlevel();
   }
   
   /* file sfg.c line 1805*/
   
   public static void cclear_nodelist(int  cg)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int  clnll_3= 0;
      int  cnlnext_4= 0;
         
         {
         clnll_3= (int)(0);
         cnlnext_4= (int)(0);
         clnll_3=getMEMINT((int)((cg + 60)));
         lab_sfg2 : while( (clnll_3) !=0 )
         {
         	   
            {
            cnlnext_4=getMEMINT((int)((clnll_3 + 4)));
            
            /* file sfg.c line 1811*/
            cfree(getMEMINT((int)((clnll_3 + 0))));
            setMEMINT((int)((clnll_3 + 0)),(int)((int)(0)));
            
            /* file sfg.c line 1813*/
            cfree(clnll_3);
            clnll_3=(int)(0);
            clnll_3=cnlnext_4;
            
            }
         
         }
         setMEMINT((int)((cg + 60)),(int)((int)(0)));
         setMEMINT((int)((cg + 64)),(int)((int)(0)));
         setMEMINT((int)((cg + 4)),(int)(0));
         setMEMINT((int)((cg + 8)),(int)(0));
         if(true)
         {
         prevlevel();
         return ;
         };
         
         }
      };
      prevlevel();
   }
   
   /* file sfg.c line 1826*/
   
   public static void cclear_edgelist(int  cg)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int  cel_3= 0;
      int  celnext_4= 0;
         
         {
         cel_3= (int)(0);
         celnext_4= (int)(0);
         cel_3=getMEMINT((int)((cg + 76)));
         lab_sfg3 : while( (cel_3) !=0 )
         {
         	   
            {
            celnext_4=getMEMINT((int)((cel_3 + 4)));
            
            /* file sfg.c line 1832*/
            cfree(getMEMINT((int)((cel_3 + 0))));
            setMEMINT((int)((cel_3 + 0)),(int)((int)(0)));
            
            /* file sfg.c line 1834*/
            cfree(cel_3);
            cel_3=(int)(0);
            cel_3=celnext_4;
            
            }
         
         }
         setMEMINT((int)((cg + 76)),(int)((int)(0)));
         setMEMINT((int)((cg + 80)),(int)((int)(0)));
         setMEMINT((int)((cg + 16)),(int)(0));
         setMEMINT((int)((cg + 12)),(int)(0));
         if(true)
         {
         prevlevel();
         return ;
         };
         
         }
      };
      prevlevel();
   }
   
   /* file sfg.c line 1847*/
   
   public static void cprep(int  cg)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int  cel_3= 0;
         
         {
         cel_3= (int)(0);
         cel_3=getMEMINT((int)((cg + 76)));
         lab_sfg4 : while( (cel_3) !=0 )
         {
         	   
            {
            sincMEMINT((int)((getMEMINT((int)((getMEMINT((int)((cel_3 + 0))) + 4))) + 48)),+1);
            sincMEMINT((int)((getMEMINT((int)((getMEMINT((int)((cel_3 + 0))) + 8))) + 44)),+1);
            cel_3=getMEMINT((int)((cel_3 + 4)));
            
            }
         
         }
         if(true)
         {
         prevlevel();
         return ;
         };
         
         }
      };
      prevlevel();
   }
   
   /* file sfg.c line 1862*/
   
   public static void creorg(int  cg)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int  cnl_3= 0;
      int  cnlnext_4= 0;
      int  cnn1_5= 0;
      int  cnn2_6= 0;
      int  cnn3_7= 0;
      int  cnn4_8= 0;
      int  cnnl_9= 0;
      int  cnnlend_10= 0;
         
         {
         cnl_3= (int)(0);
         cnlnext_4= (int)(0);
         cnn1_5= (int)(0);
         cnn2_6= (int)(0);
         cnn3_7= (int)(0);
         cnn4_8= (int)(0);
         cnnl_9= (int)(0);
         cnnlend_10= (int)(0);
         cnl_3=getMEMINT((int)((cg + 60)));
         
         /* file sfg.c line 1872*/
         if( (((cnl_3)==((int)(0)))?1:0)!=0)
         {
         	   
            {
            if(true)
            {
            prevlevel();
            return ;
            };
            
            }
         
         };
         lab_sfg5 : while( (cnl_3) !=0 )
         {
         	   
            {
            
            /* file sfg.c line 1878*/
            if( ((((((getMEMINT((int)((getMEMINT((int)((cnl_3 + 0))) + 44))))==(0))?1:0))!=0)? ((((getMEMINT((int)((getMEMINT((int)((cnl_3 + 0))) + 48))))==(0))?1:0)):0)!=0)
            {
            	   
               {
               cnn1_5=
               /* file sfg.c line 1879*/
               ccalloc(1,8);
               
               /* file sfg.c line 1880*/
               if( cnn1_5!=0)
               {
               	   
                  {
                  setMEMINT((int)((cnn1_5 + 0)),(int)(getMEMINT((int)((cnl_3 + 0)))));
                  
                  /* file sfg.c line 1882*/
                  if( (((cnnl_9)==((int)(0)))?1:0)!=0)
                  {
                  	   
                     {
                     cnnl_9=cnn1_5;
                     cnnlend_10=cnn1_5;
                     
                     }
                  
                  }
                  else
                  {
                  	   
                     {
                     setMEMINT((int)((cnnlend_10 + 4)),(int)(cnn1_5));
                     cnnlend_10=cnn1_5;
                     
                     }
                  
                  };
                  
                  }
               
               };
               
               }
            
            };
            cnl_3=getMEMINT((int)((cnl_3 + 4)));
            
            }
         
         }
         cnl_3=getMEMINT((int)((cg + 60)));
         lab_sfg6 : while( (cnl_3) !=0 )
         {
         	   
            {
            
            /* file sfg.c line 1897*/
            if( ((((((getMEMINT((int)((getMEMINT((int)((cnl_3 + 0))) + 44))))==(0))?1:0))!=0)? ((((getMEMINT((int)((getMEMINT((int)((cnl_3 + 0))) + 48))))!=(0))?1:0)):0)!=0)
            {
            	   
               {
               cnn2_6=
               /* file sfg.c line 1898*/
               ccalloc(1,8);
               
               /* file sfg.c line 1899*/
               if( cnn2_6!=0)
               {
               	   
                  {
                  setMEMINT((int)((cnn2_6 + 0)),(int)(getMEMINT((int)((cnl_3 + 0)))));
                  
                  /* file sfg.c line 1901*/
                  if( (((cnnl_9)==((int)(0)))?1:0)!=0)
                  {
                  	   
                     {
                     cnnl_9=cnn2_6;
                     cnnlend_10=cnn2_6;
                     
                     }
                  
                  }
                  else
                  {
                  	   
                     {
                     setMEMINT((int)((cnnlend_10 + 4)),(int)(cnn2_6));
                     cnnlend_10=cnn2_6;
                     
                     }
                  
                  };
                  
                  }
               
               };
               
               }
            
            };
            cnl_3=getMEMINT((int)((cnl_3 + 4)));
            
            }
         
         }
         cnl_3=getMEMINT((int)((cg + 60)));
         lab_sfg7 : while( (cnl_3) !=0 )
         {
         	   
            {
            
            /* file sfg.c line 1916*/
            if( ((((((getMEMINT((int)((getMEMINT((int)((cnl_3 + 0))) + 44))))!=(0))?1:0))!=0)? ((((getMEMINT((int)((getMEMINT((int)((cnl_3 + 0))) + 48))))!=(0))?1:0)):0)!=0)
            {
            	   
               {
               cnn3_7=
               /* file sfg.c line 1917*/
               ccalloc(1,8);
               
               /* file sfg.c line 1918*/
               if( cnn3_7!=0)
               {
               	   
                  {
                  setMEMINT((int)((cnn3_7 + 0)),(int)(getMEMINT((int)((cnl_3 + 0)))));
                  
                  /* file sfg.c line 1920*/
                  if( (((cnnl_9)==((int)(0)))?1:0)!=0)
                  {
                  	   
                     {
                     cnnl_9=cnn3_7;
                     cnnlend_10=cnn3_7;
                     
                     }
                  
                  }
                  else
                  {
                  	   
                     {
                     setMEMINT((int)((cnnlend_10 + 4)),(int)(cnn3_7));
                     cnnlend_10=cnn3_7;
                     
                     }
                  
                  };
                  
                  }
               
               };
               
               }
            
            };
            cnl_3=getMEMINT((int)((cnl_3 + 4)));
            
            }
         
         }
         cnl_3=getMEMINT((int)((cg + 60)));
         lab_sfg8 : while( (cnl_3) !=0 )
         {
         	   
            {
            
            /* file sfg.c line 1935*/
            if( ((((((getMEMINT((int)((getMEMINT((int)((cnl_3 + 0))) + 44))))!=(0))?1:0))!=0)? ((((getMEMINT((int)((getMEMINT((int)((cnl_3 + 0))) + 48))))==(0))?1:0)):0)!=0)
            {
            	   
               {
               cnn4_8=
               /* file sfg.c line 1936*/
               ccalloc(1,8);
               
               /* file sfg.c line 1937*/
               if( cnn4_8!=0)
               {
               	   
                  {
                  setMEMINT((int)((cnn4_8 + 0)),(int)(getMEMINT((int)((cnl_3 + 0)))));
                  
                  /* file sfg.c line 1939*/
                  if( (((cnnl_9)==((int)(0)))?1:0)!=0)
                  {
                  	   
                     {
                     cnnl_9=cnn4_8;
                     cnnlend_10=cnn4_8;
                     
                     }
                  
                  }
                  else
                  {
                  	   
                     {
                     setMEMINT((int)((cnnlend_10 + 4)),(int)(cnn4_8));
                     cnnlend_10=cnn4_8;
                     
                     }
                  
                  };
                  
                  }
               
               };
               
               }
            
            };
            cnl_3=getMEMINT((int)((cnl_3 + 4)));
            
            }
         
         }
         cnl_3=getMEMINT((int)((cg + 60)));
         lab_sfg9 : while( (cnl_3) !=0 )
         {
         	   
            {
            cnlnext_4=getMEMINT((int)((cnl_3 + 4)));
            
            /* file sfg.c line 1955*/
            cfree(cnl_3);
            cnl_3=(int)(0);
            cnl_3=cnlnext_4;
            
            }
         
         }
         setMEMINT((int)((cg + 60)),(int)(cnnl_9));
         setMEMINT((int)((cg + 64)),(int)(cnnlend_10));
         if(true)
         {
         prevlevel();
         return ;
         };
         
         }
      };
      prevlevel();
   }
   
   /* file sfg.c line 1969*/
   
   public static int cdecycle3(int  cg,int  cn,int  clevel,int  ce)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int retval= 0;
      int  ctmpnode_7= 0;
      int  csource_8= 0;
      int  ctarget_9= 0;
      int  cel_10= 0;
      int  cedge_11= 0;
      int  cchanged_12= 0;
         
         {
         ctmpnode_7= (int)(0);
         csource_8= (int)(0);
         ctarget_9= (int)(0);
         cel_10= (int)(0);
         cedge_11= (int)(0);
         cchanged_12= 0;
         
         /* file sfg.c line 1976*/
         if( ce!=0)
         {
         	
         };
         
         /* file sfg.c line 1979*/
         if( getMEMINT((int)((cn + 36)))!=0)
         {
         	   
            {
            
            /* file sfg.c line 1980*/
            if( (((clevel)>(getMEMINT((int)((cn + 64)))))?1:0)!=0)
            {
            	   
               {
               setMEMINT((int)((cn + 64)),(int)(clevel));
               
               }
            
            };
            retval= 0;
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         setMEMINT((int)((cn + 64)),(int)(clevel));
         setMEMINT((int)((cn + 36)),(int)(1));
         setMEMINT((int)((cn + 40)),(int)(1));
         csource_8=cn;
         cel_10=getMEMINT((int)((csource_8 + 100)));
         lab_sfg10 : while( (cel_10) !=0 )
         {
         	   
            {
            cedge_11=getMEMINT((int)((cel_10 + 0)));
            ctarget_9=getMEMINT((int)((cedge_11 + 8)));
            
            /* file sfg.c line 1997*/
            if( getMEMINT((int)((ctarget_9 + 40)))!=0)
            {
            	   
               {
               cchanged_12++;
               ctmpnode_7=getMEMINT((int)((cedge_11 + 8)));
               setMEMINT((int)((cedge_11 + 8)),(int)(getMEMINT((int)((cedge_11 + 4)))));
               setMEMINT((int)((cedge_11 + 4)),(int)(ctmpnode_7));
               
               /* file sfg.c line 2003*/
               if( getMEMINT((int)((cedge_11 + 24)))!=0)
               {
               	   
                  {
                  setMEMINT((int)((cedge_11 + 24)),(int)(0));
                  
                  }
               
               }
               else
               {
               	   
                  {
                  setMEMINT((int)((cedge_11 + 24)),(int)(1));
                  
                  }
               
               };
               
               }
            
            }
            else
            {
            	   
               {
               
               /* file sfg.c line 2009*/
               if( (((getMEMINT((int)((ctarget_9 + 36))))==(0))?1:0)!=0)
               {
               	   
                  {
                  cchanged_12+=
                  /* file sfg.c line 2010*/
                  cdecycle3(cg,ctarget_9,(clevel + 1),ce);
                  
                  }
               
               };
               
               }
            
            };
            cel_10=getMEMINT((int)((cel_10 + 4)));
            
            }
         
         }
         setMEMINT((int)((cn + 40)),(int)(0));
         retval= cchanged_12;
         if(true)
         {
         prevlevel();
         return retval;
         };
         
         }
      };
      prevlevel();
      return 0;
   }
   
   /* file sfg.c line 2023*/
   
   public static void cuncycle(int  cg)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int  clnll_3= 0;
      int  cchanged_4= 0;
         
         {
         clnll_3= (int)(0);
         cchanged_4= 0;
         
         /* file sfg.c line 2027*/
         cclear_stlist_all(cg);
         
         /* file sfg.c line 2028*/
         cmake_stlist(cg);
         setMEMINT((int)((cg + 20)),(int)(0));
         clnll_3=getMEMINT((int)((cg + 60)));
         lab_sfg11 : while( (clnll_3) !=0 )
         {
         	   
            {
            setMEMINT((int)((getMEMINT((int)((clnll_3 + 0))) + 64)),(int)((-(1))));
            setMEMINT((int)((getMEMINT((int)((clnll_3 + 0))) + 36)),(int)(0));
            setMEMINT((int)((getMEMINT((int)((clnll_3 + 0))) + 40)),(int)(0));
            clnll_3=getMEMINT((int)((clnll_3 + 4)));
            
            }
         
         }
         clnll_3=getMEMINT((int)((cg + 60)));
         cchanged_4=0;
         lab_sfg12 : while( (clnll_3) !=0 )
         {
         	   
            {
            
            /* file sfg.c line 2044*/
            if( ((((((getMEMINT((int)((getMEMINT((int)((clnll_3 + 0))) + 44))))==(0))?1:0))!=0)? ((((getMEMINT((int)((getMEMINT((int)((clnll_3 + 0))) + 48))))!=(0))?1:0)):0)!=0)
            {
            	   
               {
               
               /* file sfg.c line 2045*/
               if( (((getMEMINT((int)((getMEMINT((int)((clnll_3 + 0))) + 36))))==(0))?1:0)!=0)
               {
               	   
                  {
                  cchanged_4+=
                  /* file sfg.c line 2047*/
                  cdecycle3(cg,getMEMINT((int)((clnll_3 + 0))),0,(int)(0));
                  
                  }
               
               };
               
               }
            
            };
            clnll_3=getMEMINT((int)((clnll_3 + 4)));
            
            }
         
         }
         clnll_3=getMEMINT((int)((cg + 60)));
         lab_sfg13 : while( (clnll_3) !=0 )
         {
         	   
            {
            
            /* file sfg.c line 2057*/
            if( (((getMEMINT((int)((getMEMINT((int)((clnll_3 + 0))) + 64))))==((-(1))))?1:0)!=0)
            {
            	   
               {
               cchanged_4+=
               /* file sfg.c line 2059*/
               cdecycle3(cg,getMEMINT((int)((clnll_3 + 0))),0,(int)(0));
               
               }
            
            };
            clnll_3=getMEMINT((int)((clnll_3 + 4)));
            
            }
         
         }
         
         /* file sfg.c line 2063*/
         if( cchanged_4!=0)
         {
         	   
            {
            
            /* file sfg.c line 2065*/
            cclear_stlist_all(cg);
            
            /* file sfg.c line 2066*/
            cmake_stlist(cg);
            
            }
         
         };
         if(true)
         {
         prevlevel();
         return ;
         };
         
         }
      };
      prevlevel();
   }
   
   /* file sfg.c line 2074*/
   
   public static void cmake_stlist(int  cg)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int  cel_3= 0;
      int  cedge_4= 0;
      int  csn_5= 0;
      int  ctn_6= 0;
      int  cne_7= 0;
      int  clnll_8= 0;
         
         {
         cel_3= (int)(0);
         cedge_4= (int)(0);
         csn_5= (int)(0);
         ctn_6= (int)(0);
         cne_7= (int)(0);
         clnll_8= (int)(0);
         clnll_8=getMEMINT((int)((cg + 60)));
         lab_sfg14 : while( (clnll_8) !=0 )
         {
         	   
            {
            setMEMINT((int)((getMEMINT((int)((clnll_8 + 0))) + 100)),(int)((int)(0)));
            setMEMINT((int)((getMEMINT((int)((clnll_8 + 0))) + 104)),(int)((int)(0)));
            setMEMINT((int)((getMEMINT((int)((clnll_8 + 0))) + 108)),(int)((int)(0)));
            setMEMINT((int)((getMEMINT((int)((clnll_8 + 0))) + 112)),(int)((int)(0)));
            setMEMINT((int)((getMEMINT((int)((clnll_8 + 0))) + 44)),(int)(0));
            setMEMINT((int)((getMEMINT((int)((clnll_8 + 0))) + 48)),(int)(0));
            clnll_8=getMEMINT((int)((clnll_8 + 4)));
            
            }
         
         }
         cel_3=getMEMINT((int)((cg + 76)));
         lab_sfg15 : while( (cel_3) !=0 )
         {
         	   
            {
            cedge_4=getMEMINT((int)((cel_3 + 0)));
            csn_5=getMEMINT((int)((cedge_4 + 4)));
            ctn_6=getMEMINT((int)((cedge_4 + 8)));
            cne_7=
            /* file sfg.c line 2100*/
            ccalloc(1,8);
            
            /* file sfg.c line 2101*/
            if( (((cne_7)==((int)(0)))?1:0)!=0)
            {
            	   
               {
               if(true)
               {
               prevlevel();
               return ;
               };
               
               }
            
            };
            setMEMINT((int)((cne_7 + 0)),(int)(cedge_4));
            
            /* file sfg.c line 2107*/
            if( (((getMEMINT((int)((csn_5 + 100))))==((int)(0)))?1:0)!=0)
            {
            	   
               {
               setMEMINT((int)((csn_5 + 100)),(int)(cne_7));
               setMEMINT((int)((csn_5 + 104)),(int)(cne_7));
               
               }
            
            }
            else
            {
            	   
               {
               setMEMINT((int)((getMEMINT((int)((csn_5 + 104))) + 4)),(int)(cne_7));
               setMEMINT((int)((csn_5 + 104)),(int)(cne_7));
               
               }
            
            };
            sincMEMINT((int)((csn_5 + 48)),+1);
            cne_7=
            /* file sfg.c line 2116*/
            ccalloc(1,8);
            
            /* file sfg.c line 2117*/
            if( (((cne_7)==((int)(0)))?1:0)!=0)
            {
            	   
               {
               if(true)
               {
               prevlevel();
               return ;
               };
               
               }
            
            };
            setMEMINT((int)((cne_7 + 0)),(int)(cedge_4));
            
            /* file sfg.c line 2123*/
            if( (((getMEMINT((int)((ctn_6 + 108))))==((int)(0)))?1:0)!=0)
            {
            	   
               {
               setMEMINT((int)((ctn_6 + 108)),(int)(cne_7));
               setMEMINT((int)((ctn_6 + 112)),(int)(cne_7));
               
               }
            
            }
            else
            {
            	   
               {
               setMEMINT((int)((getMEMINT((int)((ctn_6 + 112))) + 4)),(int)(cne_7));
               setMEMINT((int)((ctn_6 + 112)),(int)(cne_7));
               
               }
            
            };
            sincMEMINT((int)((ctn_6 + 44)),+1);
            cel_3=getMEMINT((int)((cel_3 + 4)));
            
            }
         
         }
         if(true)
         {
         prevlevel();
         return ;
         };
         
         }
      };
      prevlevel();
   }
   
   /* file sfg.c line 2140*/
   
   public static void cclear_stlist(int  cnode)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int  cell_3= 0;
      int  cellnext_4= 0;
         
         {
         cell_3= (int)(0);
         cellnext_4= (int)(0);
         cell_3=getMEMINT((int)((cnode + 100)));
         lab_sfg16 : while( (cell_3) !=0 )
         {
         	   
            {
            cellnext_4=getMEMINT((int)((cell_3 + 4)));
            
            /* file sfg.c line 2147*/
            cfree(cell_3);
            cell_3=(int)(0);
            cell_3=cellnext_4;
            
            }
         
         }
         setMEMINT((int)((cnode + 100)),(int)((int)(0)));
         setMEMINT((int)((cnode + 104)),(int)((int)(0)));
         setMEMINT((int)((cnode + 48)),(int)(0));
         cell_3=getMEMINT((int)((cnode + 108)));
         lab_sfg17 : while( (cell_3) !=0 )
         {
         	   
            {
            cellnext_4=getMEMINT((int)((cell_3 + 4)));
            
            /* file sfg.c line 2159*/
            cfree(cell_3);
            cell_3=(int)(0);
            cell_3=cellnext_4;
            
            }
         
         }
         setMEMINT((int)((cnode + 108)),(int)((int)(0)));
         setMEMINT((int)((cnode + 112)),(int)((int)(0)));
         setMEMINT((int)((cnode + 44)),(int)(0));
         if(true)
         {
         prevlevel();
         return ;
         };
         
         }
      };
      prevlevel();
   }
   
   /* file sfg.c line 2172*/
   
   public static void cclear_stlist_all(int  cg)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int  clnll_3= 0;
         
         {
         clnll_3= (int)(0);
         clnll_3=getMEMINT((int)((cg + 60)));
         lab_sfg18 : while( (clnll_3) !=0 )
         {
         	   
            {
            
            /* file sfg.c line 2176*/
            cclear_stlist(getMEMINT((int)((clnll_3 + 0))));
            clnll_3=getMEMINT((int)((clnll_3 + 4)));
            
            }
         
         }
         if(true)
         {
         prevlevel();
         return ;
         };
         
         }
      };
      prevlevel();
   }
   
   /* file sfg.c line 2184*/
   
   public static void cadd_singlenode(int  cg,int  cnode)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int  clnll_4= 0;
         
         {
         clnll_4= (int)(0);
         clnll_4=(int)(
         /* file sfg.c line 2186*/
         ccalloc(1,8));
         
         /* file sfg.c line 2187*/
         if( clnll_4!=0)
         {
         	   
            {
            setMEMINT((int)((clnll_4 + 0)),(int)(cnode));
            
            /* file sfg.c line 2189*/
            if( (((getMEMINT((int)((cg + 68))))==((int)(0)))?1:0)!=0)
            {
            	   
               {
               setMEMINT((int)((cg + 68)),(int)(clnll_4));
               setMEMINT((int)((cg + 72)),(int)(clnll_4));
               
               }
            
            }
            else
            {
            	   
               {
               setMEMINT((int)((getMEMINT((int)((cg + 72))) + 4)),(int)(clnll_4));
               setMEMINT((int)((cg + 72)),(int)(clnll_4));
               
               }
            
            };
            
            }
         
         };
         if(true)
         {
         prevlevel();
         return ;
         };
         
         }
      };
      prevlevel();
   }
   
   /* file sfg.c line 2202*/
   
   public static void cylevels(int  cg)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int  clnll_3= 0;
      int  ci_4= 0;
      int  cstart2_5= 0;
      int  cspecial_6= 0;
      int  cnnodes_7= 0;
         
         {
         clnll_3= (int)(0);
         ci_4= 0;
         cstart2_5= 0;
         cspecial_6= 0;
         cnnodes_7= 0;
         
         /* file sfg.c line 2208*/
         if( (((getMEMINT((int)((cg + 60))))==((int)(0)))?1:0)!=0)
         {
         	   
            {
            if(true)
            {
            prevlevel();
            return ;
            };
            
            }
         
         };
         setMEMINT((int)((cg + 32)),(int)(0));
         clnll_3=getMEMINT((int)((cg + 60)));
         cnnodes_7=0;
         lab_sfg19 : while( (clnll_3) !=0 )
         {
         	   
            {
            cnnodes_7++;
            setMEMINT((int)((getMEMINT((int)((clnll_3 + 0))) + 64)),(int)((-(1))));
            setMEMINT((int)((getMEMINT((int)((clnll_3 + 0))) + 36)),(int)(0));
            setMEMINT((int)((getMEMINT((int)((clnll_3 + 0))) + 40)),(int)(0));
            setMEMINT((int)((getMEMINT((int)((clnll_3 + 0))) + 116)),(int)((-(1))));
            
            /* file sfg.c line 2226*/
            if( ((((((getMEMINT((int)((getMEMINT((int)((clnll_3 + 0))) + 100))))==((int)(0)))?1:0))!=0)? ((((getMEMINT((int)((getMEMINT((int)((clnll_3 + 0))) + 108))))==((int)(0)))?1:0)):0)!=0)
            {
            	   
               {
               setMEMINT((int)((getMEMINT((int)((clnll_3 + 0))) + 64)),(int)(0));
               setMEMINT((int)((getMEMINT((int)((clnll_3 + 0))) + 36)),(int)(1));
               setMEMINT((int)((getMEMINT((int)((clnll_3 + 0))) + 116)),(int)(0));
               setMEMINT((int)((cg + 32)),(int)((getMEMINT((int)((cg + 32))) + 1)));
               
               /* file sfg.c line 2233*/
               cadd_singlenode(cg,getMEMINT((int)((clnll_3 + 0))));
               
               }
            
            };
            clnll_3=getMEMINT((int)((clnll_3 + 4)));
            
            }
         
         }
         
         /* file sfg.c line 2239*/
         if( getMEMINT((int)((cg + 32)))!=0)
         {
         	   
            {
            cstart2_5=1;
            
            }
         
         }
         else
         {
         	   
            {
            cstart2_5=0;
            
            }
         
         };
         setMEMINT((int)((cg + 44)),(int)(0));
         setMEMINT((int)((cg + 40)),(int)(cstart2_5));
         cspecial_6=0;
         clnll_3=getMEMINT((int)((cg + 60)));
         lab_sfg20 : while( (clnll_3) !=0 )
         {
         	   
            {
            
            /* file sfg.c line 2253*/
            if( (((getMEMINT((int)((getMEMINT((int)((clnll_3 + 0))) + 64))))==((-(1))))?1:0)!=0)
            {
            	   
               {
               
               /* file sfg.c line 2255*/
               if( ((((((getMEMINT((int)((getMEMINT((int)((clnll_3 + 0))) + 44))))==(0))?1:0))!=0)? ((((getMEMINT((int)((getMEMINT((int)((clnll_3 + 0))) + 48))))!=(0))?1:0)):0)!=0)
               {
               	   
                  {
                  sincMEMINT((int)((cg + 44)),+1);
                  
                  /* file sfg.c line 2257*/
                  cset_level2(cg,getMEMINT((int)((clnll_3 + 0))),cstart2_5,getMEMINT((int)((getMEMINT((int)((clnll_3 + 0))) + 0))));
                  
                  }
               
               };
               
               }
            
            };
            clnll_3=getMEMINT((int)((clnll_3 + 4)));
            
            }
         
         }
         clnll_3=getMEMINT((int)((cg + 60)));
         lab_sfg21 : while( (clnll_3) !=0 )
         {
         	   
            {
            
            /* file sfg.c line 2266*/
            if( (((getMEMINT((int)((getMEMINT((int)((clnll_3 + 0))) + 64))))==((-(1))))?1:0)!=0)
            {
            	   
               {
               
               /* file sfg.c line 2267*/
               cset_level2(cg,getMEMINT((int)((clnll_3 + 0))),cstart2_5,getMEMINT((int)((getMEMINT((int)((clnll_3 + 0))) + 0))));
               
               }
            
            };
            clnll_3=getMEMINT((int)((clnll_3 + 4)));
            
            }
         
         }
         
         /* file sfg.c line 2275*/
         if( (((getMEMINT((int)((cg + 44))))==(0))?1:0)!=0)
         {
         	   
            {
            sincMEMINT((int)((cg + 44)),+1);
            
            /* file sfg.c line 2277*/
            if( getMEMINT((int)((cg + 60)))!=0)
            {
            	   
               {
               
               /* file sfg.c line 2278*/
               cset_level2(cg,getMEMINT((int)((getMEMINT((int)((cg + 60))) + 0))),cstart2_5,getMEMINT((int)((getMEMINT((int)((getMEMINT((int)((cg + 60))) + 0))) + 0))));
               
               }
            
            };
            cspecial_6=1;
            
            }
         
         };
         setMEMINT((int)((cg + 48)),(int)(
         /* file sfg.c line 2284*/
         ccalloc(1,(getMEMINT((int)((cg + 44)))*4))));
         
         /* file sfg.c line 2285*/
         if( (((getMEMINT((int)((cg + 48))))==((int)(0)))?1:0)!=0)
         {
         	   
            {
            if(true)
            {
            prevlevel();
            return ;
            };
            
            }
         
         };
         
         /* file sfg.c line 2290*/
         if( cspecial_6!=0)
         {
         	   
            {
            
            /* file sfg.c line 2292*/
            if( getMEMINT((int)((cg + 60)))!=0)
            {
            	   
               {
               setMEMINT((int)((getMEMINT((int)((cg + 48))) + (0*4))),(int)(getMEMINT((int)((getMEMINT((int)((getMEMINT((int)((cg + 60))) + 0))) + 0)))));
               
               }
            
            };
            
            }
         
         }
         else
         {
         	   
            {
            ci_4=0;
            clnll_3=getMEMINT((int)((cg + 60)));
            lab_sfg22 : while( (clnll_3) !=0 )
            {
            	   
               {
               
               /* file sfg.c line 2301*/
               if( ((((((getMEMINT((int)((getMEMINT((int)((clnll_3 + 0))) + 44))))==(0))?1:0))!=0)? ((((getMEMINT((int)((getMEMINT((int)((clnll_3 + 0))) + 48))))!=(0))?1:0)):0)!=0)
               {
               	   
                  {
                  setMEMINT((int)((getMEMINT((int)((cg + 48))) + (ci_4*4))),(int)(getMEMINT((int)((getMEMINT((int)((clnll_3 + 0))) + 0)))));
                  ci_4++;
                  
                  }
               
               };
               clnll_3=getMEMINT((int)((clnll_3 + 4)));
               
               }
            
            }
            
            }
         
         };
         if(true)
         {
         prevlevel();
         return ;
         };
         
         }
      };
      prevlevel();
   }
   
   /* file sfg.c line 2315*/
   
   public static void cset_level2(int  cg,int  cn,int  ci,int  cstartnode)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int  ctarget_6= 0;
      int  cedge_7= 0;
      int  cel_8= 0;
         
         {
         ctarget_6= (int)(0);
         cedge_7= (int)(0);
         cel_8= (int)(0);
         
         /* file sfg.c line 2319*/
         if( getMEMINT((int)((cn + 36)))!=0)
         {
         	   
            {
            
            /* file sfg.c line 2320*/
            if( ((((((ci)>(getMEMINT((int)((cn + 64)))))?1:0))!=0)? ((((getMEMINT((int)((cn + 40))))==(0))?1:0)):0)!=0)
            {
            	   
               {
               setMEMINT((int)((cn + 64)),(int)(ci));
               
               /* file sfg.c line 2322*/
               if( (((ci)>(getMEMINT((int)((cg + 20)))))?1:0)!=0)
               {
               	   
                  {
                  setMEMINT((int)((cg + 20)),(int)(ci));
                  
                  }
               
               };
               
               }
            
            };
            
            /* file sfg.c line 2326*/
            if( getMEMINT((int)((cn + 40)))!=0)
            {
            	   
               {
               if(true)
               {
               prevlevel();
               return ;
               };
               
               }
            
            };
            
            /* file sfg.c line 2329*/
            if( (((getMEMINT((int)((cn + 36))))>(1))?1:0)!=0)
            {
            	   
               {
               if(true)
               {
               prevlevel();
               return ;
               };
               
               }
            
            };
            
            }
         
         };
         sincMEMINT((int)((cn + 40)),+1);
         sincMEMINT((int)((cn + 36)),+1);
         setMEMINT((int)((cn + 64)),(int)(ci));
         setMEMINT((int)((cn + 116)),(int)(cstartnode));
         
         /* file sfg.c line 2339*/
         if( (((ci)>(getMEMINT((int)((cg + 20)))))?1:0)!=0)
         {
         	   
            {
            setMEMINT((int)((cg + 20)),(int)(ci));
            
            }
         
         };
         cel_8=getMEMINT((int)((cn + 100)));
         lab_sfg23 : while( (cel_8) !=0 )
         {
         	   
            {
            cedge_7=getMEMINT((int)((cel_8 + 0)));
            ctarget_6=getMEMINT((int)((cedge_7 + 8)));
            
            /* file sfg.c line 2348*/
            cset_level2(cg,ctarget_6,(ci + 1),cstartnode);
            cel_8=getMEMINT((int)((cel_8 + 4)));
            
            }
         
         }
         setMEMINT((int)((cn + 40)),(int)(0));
         if(true)
         {
         prevlevel();
         return ;
         };
         
         }
      };
      prevlevel();
   }
   
   /* file sfg.c line 2357*/
   
   public static void cunrev(int  cg)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int  cel_3= 0;
      int  ctmpnode_4= 0;
      int  csn_5= 0;
      int  ctn_6= 0;
      int  cedge_7= 0;
      int  cchanged_8= 0;
         
         {
         cel_3= (int)(0);
         ctmpnode_4= (int)(0);
         csn_5= (int)(0);
         ctn_6= (int)(0);
         cedge_7= (int)(0);
         cchanged_8= 0;
         cel_3=getMEMINT((int)((cg + 76)));
         lab_sfg24 : while( (cel_3) !=0 )
         {
         	   
            {
            cedge_7=getMEMINT((int)((cel_3 + 0)));
            
            /* file sfg.c line 2367*/
            if( getMEMINT((int)((getMEMINT((int)((cel_3 + 0))) + 24)))!=0)
            {
            	   
               {
               cchanged_8++;
               csn_5=getMEMINT((int)((cedge_7 + 4)));
               ctn_6=getMEMINT((int)((cedge_7 + 8)));
               ctmpnode_4=ctn_6;
               setMEMINT((int)((getMEMINT((int)((cel_3 + 0))) + 8)),(int)(csn_5));
               setMEMINT((int)((getMEMINT((int)((cel_3 + 0))) + 4)),(int)(ctmpnode_4));
               setMEMINT((int)((getMEMINT((int)((cel_3 + 0))) + 24)),(int)(0));
               
               }
            
            };
            cel_3=getMEMINT((int)((cel_3 + 4)));
            
            }
         
         }
         
         /* file sfg.c line 2379*/
         if( cchanged_8!=0)
         {
         	   
            {
            setMEMINT((int)((cg + 20)),(int)(0));
            
            /* file sfg.c line 2384*/
            cclear_stlist_all(cg);
            
            /* file sfg.c line 2385*/
            cmake_stlist(cg);
            
            }
         
         };
         if(true)
         {
         prevlevel();
         return ;
         };
         
         }
      };
      prevlevel();
   }
   
   /* file sfg.c line 2392*/
   
   public static void cshorteredges(int  cg)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int  clnll_3= 0;
      int  cine_4= 0;
      int  coute_5= 0;
      int  cetop_6= 0;
      int  cebot_7= 0;
      int  cntop_8= 0;
      int  cnbot_9= 0;
         
         {
         clnll_3= (int)(0);
         cine_4= (int)(0);
         coute_5= (int)(0);
         cetop_6= (int)(0);
         cebot_7= (int)(0);
         cntop_8= (int)(0);
         cnbot_9= (int)(0);
         
         /* file sfg.c line 2401*/
         cunrev(cg);
         clnll_3=getMEMINT((int)((cg + 60)));
         lab_sfg25 : while( (clnll_3) !=0 )
         {
         	   
            {
            
            /* file sfg.c line 2405*/
            if( ((((((getMEMINT((int)((getMEMINT((int)((clnll_3 + 0))) + 44))))==(1))?1:0))!=0)? ((((getMEMINT((int)((getMEMINT((int)((clnll_3 + 0))) + 48))))==(1))?1:0)):0)!=0)
            {
            	   
               {
               coute_5=getMEMINT((int)((getMEMINT((int)((clnll_3 + 0))) + 100)));
               cine_4=getMEMINT((int)((getMEMINT((int)((clnll_3 + 0))) + 108)));
               cetop_6=getMEMINT((int)((cine_4 + 0)));
               cebot_7=getMEMINT((int)((coute_5 + 0)));
               cntop_8=getMEMINT((int)((cetop_6 + 4)));
               cnbot_9=getMEMINT((int)((cebot_7 + 8)));
               
               /* file sfg.c line 2413*/
               if( ((((((
               /* file sfg.c line 2412*/
               cabs((getMEMINT((int)((cntop_8 + 64))) - getMEMINT((int)((getMEMINT((int)((clnll_3 + 0))) + 64))))))>(1))?1:0))!=0)?1: ((((
               /* file sfg.c line 2413*/
               cabs((getMEMINT((int)((cnbot_9 + 64))) - getMEMINT((int)((getMEMINT((int)((clnll_3 + 0))) + 64))))))>(1))?1:0)))!=0)
               {
               	   
                  {
                  setMEMINT((int)((getMEMINT((int)((clnll_3 + 0))) + 64)),(int)(((getMEMINT((int)((cntop_8 + 64))) + getMEMINT((int)((cnbot_9 + 64))))/2)));
                  
                  }
               
               };
               
               }
            
            };
            clnll_3=getMEMINT((int)((clnll_3 + 4)));
            
            }
         
         }
         if(true)
         {
         prevlevel();
         return ;
         };
         
         }
      };
      prevlevel();
   }
   
   /* file sfg.c line 2426*/
   
   public static void cedgesdownwards(int  cg)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int  cel_3= 0;
      int  ctmpnode_4= 0;
      int  csn_5= 0;
      int  ctn_6= 0;
      int  cedge_7= 0;
      int  cchanged1_8= 0;
         
         {
         cel_3= (int)(0);
         ctmpnode_4= (int)(0);
         csn_5= (int)(0);
         ctn_6= (int)(0);
         cedge_7= (int)(0);
         cchanged1_8= 0;
         cel_3=getMEMINT((int)((cg + 76)));
         lab_sfg26 : while( (cel_3) !=0 )
         {
         	   
            {
            cedge_7=getMEMINT((int)((cel_3 + 0)));
            csn_5=getMEMINT((int)((cedge_7 + 4)));
            ctn_6=getMEMINT((int)((cedge_7 + 8)));
            
            /* file sfg.c line 2439*/
            if( ((((getMEMINT((int)((ctn_6 + 64))) - getMEMINT((int)((csn_5 + 64)))))<(0))?1:0)!=0)
            {
            	   
               {
               ctmpnode_4=ctn_6;
               setMEMINT((int)((getMEMINT((int)((cel_3 + 0))) + 8)),(int)(getMEMINT((int)((getMEMINT((int)((cel_3 + 0))) + 4)))));
               setMEMINT((int)((getMEMINT((int)((cel_3 + 0))) + 4)),(int)(ctmpnode_4));
               
               /* file sfg.c line 2445*/
               if( getMEMINT((int)((getMEMINT((int)((cel_3 + 0))) + 24)))!=0)
               {
               	   
                  {
                  setMEMINT((int)((getMEMINT((int)((cel_3 + 0))) + 24)),(int)(0));
                  
                  }
               
               }
               else
               {
               	   
                  {
                  setMEMINT((int)((getMEMINT((int)((cel_3 + 0))) + 24)),(int)(1));
                  
                  }
               
               };
               cchanged1_8++;
               
               }
            
            };
            cel_3=getMEMINT((int)((cel_3 + 4)));
            
            }
         
         }
         
         /* file sfg.c line 2455*/
         if( cchanged1_8!=0)
         {
         	   
            {
            setMEMINT((int)((cg + 20)),(int)(0));
            
            /* file sfg.c line 2459*/
            cclear_stlist_all(cg);
            
            /* file sfg.c line 2460*/
            cmake_stlist(cg);
            
            }
         
         };
         if(true)
         {
         prevlevel();
         return ;
         };
         
         }
      };
      prevlevel();
   }
   
   /* file sfg.c line 2468*/
   
   public static void cedgelen(int  cg)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int  cel_3= 0;
      int  cedge_4= 0;
      int  csn_5= 0;
      int  ctn_6= 0;
      int  ctmpnode_7= 0;
      int  cchanged_8= 0;
         
         {
         cel_3= (int)(0);
         cedge_4= (int)(0);
         csn_5= (int)(0);
         ctn_6= (int)(0);
         ctmpnode_7= (int)(0);
         cchanged_8= 0;
         cel_3=getMEMINT((int)((cg + 76)));
         lab_sfg27 : while( (cel_3) !=0 )
         {
         	   
            {
            cedge_4=getMEMINT((int)((cel_3 + 0)));
            csn_5=getMEMINT((int)((cedge_4 + 4)));
            ctn_6=getMEMINT((int)((cedge_4 + 8)));
            
            /* file sfg.c line 2480*/
            if( ((((getMEMINT((int)((ctn_6 + 64))) - getMEMINT((int)((csn_5 + 64)))))<(0))?1:0)!=0)
            {
            	   
               {
               cchanged_8++;
               ctmpnode_7=ctn_6;
               setMEMINT((int)((getMEMINT((int)((cel_3 + 0))) + 8)),(int)(getMEMINT((int)((getMEMINT((int)((cel_3 + 0))) + 4)))));
               setMEMINT((int)((getMEMINT((int)((cel_3 + 0))) + 4)),(int)(ctmpnode_7));
               
               }
            
            };
            cel_3=getMEMINT((int)((cel_3 + 4)));
            
            }
         
         }
         
         /* file sfg.c line 2490*/
         if( cchanged_8!=0)
         {
         	   
            {
            
            /* file sfg.c line 2492*/
            cclear_stlist_all(cg);
            
            /* file sfg.c line 2493*/
            cmake_stlist(cg);
            
            }
         
         };
         if(true)
         {
         prevlevel();
         return ;
         };
         
         }
      };
      prevlevel();
   }
   
   /* file sfg.c line 2501*/
   
   public static void cdoublespacey(int  cg)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int  clnll_3= 0;
         
         {
         clnll_3= (int)(0);
         setMEMINT((int)((cg + 20)),(int)(0));
         clnll_3=getMEMINT((int)((cg + 60)));
         lab_sfg28 : while( (clnll_3) !=0 )
         {
         	   
            {
            setMEMINT((int)((getMEMINT((int)((clnll_3 + 0))) + 64)),(int)((2*getMEMINT((int)((getMEMINT((int)((clnll_3 + 0))) + 64))))));
            
            /* file sfg.c line 2509*/
            if( (((getMEMINT((int)((getMEMINT((int)((clnll_3 + 0))) + 64))))>(getMEMINT((int)((cg + 20)))))?1:0)!=0)
            {
            	   
               {
               setMEMINT((int)((cg + 20)),(int)(getMEMINT((int)((getMEMINT((int)((clnll_3 + 0))) + 64)))));
               
               }
            
            };
            clnll_3=getMEMINT((int)((clnll_3 + 4)));
            
            }
         
         }
         if(true)
         {
         prevlevel();
         return ;
         };
         
         }
      };
      prevlevel();
   }
   
   /* file sfg.c line 2520*/
   
   public static void cadd_new_dummynode(int  cg,int  cfoundid)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int  cnode_4= 0;
      int  clnll_5= 0;
         
         {
         cnode_4= (int)(0);
         clnll_5= (int)(0);
         
         /* file sfg.c line 2523*/
         if( 
         /* file sfg.c line 2523*/
         cuniqnode(cmaingraph_1,cfoundid)!=0)
         {
         	   
            {
            if(true)
            {
            prevlevel();
            return ;
            };
            
            }
         
         };
         cnode_4=
         /* file sfg.c line 2527*/
         ccalloc(1,128);
         
         /* file sfg.c line 2528*/
         if( (((cnode_4)==((int)(0)))?1:0)!=0)
         {
         	   
            {
            if(true)
            {
            prevlevel();
            return ;
            };
            
            }
         
         };
         setMEMINT((int)((cnode_4 + 0)),(int)(cfoundid));
         
         /* file sfg.c line 2532*/
         cuniqnode_add(cmaingraph_1,cnode_4);
         clnll_5=
         /* file sfg.c line 2533*/
         ccalloc(1,8);
         
         /* file sfg.c line 2534*/
         if( (((clnll_5)==((int)(0)))?1:0)!=0)
         {
         	   
            {
            
            /* file sfg.c line 2535*/
            cfree(cnode_4);
            if(true)
            {
            prevlevel();
            return ;
            };
            
            }
         
         };
         setMEMINT((int)((clnll_5 + 0)),(int)(cnode_4));
         
         /* file sfg.c line 2540*/
         if( (((getMEMINT((int)((cg + 60))))==((int)(0)))?1:0)!=0)
         {
         	   
            {
            setMEMINT((int)((cg + 60)),(int)(clnll_5));
            setMEMINT((int)((cg + 64)),(int)(clnll_5));
            
            }
         
         }
         else
         {
         	   
            {
            setMEMINT((int)((getMEMINT((int)((cg + 64))) + 4)),(int)(clnll_5));
            setMEMINT((int)((cg + 64)),(int)(clnll_5));
            
            }
         
         };
         if(true)
         {
         prevlevel();
         return ;
         };
         
         }
      };
      prevlevel();
   }
   
   /* file sfg.c line 2553*/
   
   public static void cadd_new_dummyedge(int  cg,int  cfoundsource,int  cfoundtarget,int  creversed)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int  csnode_6= 0;
      int  ctnode_7= 0;
      int  cedge_8= 0;
      int  cel_9= 0;
         
         {
         csnode_6= (int)(0);
         ctnode_7= (int)(0);
         cedge_8= (int)(0);
         cel_9= (int)(0);
         csnode_6=
         /* file sfg.c line 2558*/
         cuniqnode(cmaingraph_1,cfoundsource);
         
         /* file sfg.c line 2559*/
         if( (((csnode_6)==((int)(0)))?1:0)!=0)
         {
         	   
            {
            if(true)
            {
            prevlevel();
            return ;
            };
            
            }
         
         };
         ctnode_7=
         /* file sfg.c line 2563*/
         cuniqnode(cmaingraph_1,cfoundtarget);
         
         /* file sfg.c line 2564*/
         if( (((ctnode_7)==((int)(0)))?1:0)!=0)
         {
         	   
            {
            if(true)
            {
            prevlevel();
            return ;
            };
            
            }
         
         };
         cedge_8=
         /* file sfg.c line 2568*/
         ccalloc(1,32);
         
         /* file sfg.c line 2569*/
         if( (((cedge_8)==((int)(0)))?1:0)!=0)
         {
         	   
            {
            if(true)
            {
            prevlevel();
            return ;
            };
            
            }
         
         };
         sincMEMINT((int)((cg + 12)),+1);
         setMEMINT((int)((cedge_8 + 0)),(int)(getMEMINT((int)((cg + 12)))));
         setMEMINT((int)((cedge_8 + 4)),(int)(csnode_6));
         setMEMINT((int)((cedge_8 + 8)),(int)(ctnode_7));
         setMEMINT((int)((cedge_8 + 24)),(int)(creversed));
         cel_9=
         /* file sfg.c line 2577*/
         ccalloc(1,8);
         
         /* file sfg.c line 2578*/
         if( (((cel_9)==((int)(0)))?1:0)!=0)
         {
         	   
            {
            
            /* file sfg.c line 2579*/
            cfree(cedge_8);
            if(true)
            {
            prevlevel();
            return ;
            };
            
            }
         
         };
         setMEMINT((int)((cel_9 + 0)),(int)(cedge_8));
         
         /* file sfg.c line 2584*/
         if( (((getMEMINT((int)((cg + 76))))==((int)(0)))?1:0)!=0)
         {
         	   
            {
            setMEMINT((int)((cg + 76)),(int)(cel_9));
            setMEMINT((int)((cg + 80)),(int)(cel_9));
            
            }
         
         }
         else
         {
         	   
            {
            setMEMINT((int)((getMEMINT((int)((cg + 80))) + 4)),(int)(cel_9));
            setMEMINT((int)((cg + 80)),(int)(cel_9));
            
            }
         
         };
         if(true)
         {
         prevlevel();
         return ;
         };
         
         }
      };
      prevlevel();
   }
   
   /* file sfg.c line 2597*/
   
   public static void cdel_edge(int  cg,int  cedgeel)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int  celprev_4= 0;
      int  cel_5= 0;
      int  celto_6= 0;
         
         {
         celprev_4= (int)(0);
         cel_5= (int)(0);
         celto_6= (int)(0);
         
         /* file sfg.c line 2601*/
         if( (((getMEMINT((int)((cg + 76))))==((int)(0)))?1:0)!=0)
         {
         	   
            {
            if(true)
            {
            prevlevel();
            return ;
            };
            
            }
         
         };
         
         /* file sfg.c line 2605*/
         if( (((cedgeel)==(getMEMINT((int)((cg + 76)))))?1:0)!=0)
         {
         	   
            {
            setMEMINT((int)((cg + 76)),(int)(getMEMINT((int)((getMEMINT((int)((cg + 76))) + 4)))));
            
            /* file sfg.c line 2607*/
            if( (((getMEMINT((int)((cg + 80))))==(cedgeel))?1:0)!=0)
            {
            	   
               {
               setMEMINT((int)((cg + 80)),(int)((int)(0)));
               
               }
            
            }
            else
            {
            	   
               {
               cel_5=getMEMINT((int)((cg + 76)));
               celprev_4=cel_5;
               lab_sfg29 : while( (cel_5) !=0 )
               {
               	   
                  {
                  celprev_4=cel_5;
                  
                  /* file sfg.c line 2614*/
                  if( (((getMEMINT((int)((cel_5 + 4))))==(cedgeel))?1:0)!=0)
                  {
                  	   
                     {
                     if(true)
                     {
                     break lab_sfg29;
                     };
                     
                     }
                  
                  };
                  cel_5=getMEMINT((int)((cel_5 + 4)));
                  
                  }
               
               }
               setMEMINT((int)((cg + 80)),(int)(celprev_4));
               
               }
            
            };
            
            /* file sfg.c line 2622*/
            cfree(getMEMINT((int)((cedgeel + 0))));
            setMEMINT((int)((cedgeel + 0)),(int)((int)(0)));
            
            /* file sfg.c line 2624*/
            cfree(cedgeel);
            
            }
         
         }
         else
         {
         	   
            {
            celto_6=getMEMINT((int)((cedgeel + 4)));
            cel_5=getMEMINT((int)((cg + 76)));
            celprev_4=cel_5;
            lab_sfg30 : while( (cel_5) !=0 )
            {
            	   
               {
               celprev_4=cel_5;
               
               /* file sfg.c line 2632*/
               if( (((getMEMINT((int)((cel_5 + 4))))==(cedgeel))?1:0)!=0)
               {
               	   
                  {
                  if(true)
                  {
                  break lab_sfg30;
                  };
                  
                  }
               
               };
               cel_5=getMEMINT((int)((cel_5 + 4)));
               
               }
            
            }
            setMEMINT((int)((celprev_4 + 4)),(int)(celto_6));
            
            /* file sfg.c line 2639*/
            if( (((getMEMINT((int)((cg + 80))))==(cedgeel))?1:0)!=0)
            {
            	   
               {
               setMEMINT((int)((cg + 80)),(int)(celprev_4));
               
               }
            
            };
            
            /* file sfg.c line 2643*/
            cfree(getMEMINT((int)((cedgeel + 0))));
            setMEMINT((int)((cedgeel + 0)),(int)((int)(0)));
            
            /* file sfg.c line 2645*/
            cfree(cedgeel);
            
            }
         
         };
         if(true)
         {
         prevlevel();
         return ;
         };
         
         }
      };
      prevlevel();
   }
   
   /* file sfg.c line 2653*/
   
   public static void cedgelabels(int  cg)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int  cel_3= 0;
      int  celnext_4= 0;
      int  cln_5= 0;
      byte  crev_6= 0;
      int  cydiff_7= 0;
      int  cenumber_8= 0;
         
         {
         cel_3= (int)(0);
         celnext_4= (int)(0);
         cln_5= (int)(0);
         crev_6= (byte)(0);
         cydiff_7= 0;
         cenumber_8= 0;
         
         /* file sfg.c line 2661*/
         if( (((getMEMINT((int)((cg + 24))))==(0))?1:0)!=0)
         {
         	   
            {
            if(true)
            {
            prevlevel();
            return ;
            };
            
            }
         
         };
         
         /* file sfg.c line 2665*/
         if( (((getMEMINT((int)((cg + 28))))==(0))?1:0)!=0)
         {
         	   
            {
            if(true)
            {
            prevlevel();
            return ;
            };
            
            }
         
         };
         cel_3=getMEMINT((int)((cg + 76)));
         lab_sfg31 : while( (cel_3) !=0 )
         {
         	   
            {
            
            /* file sfg.c line 2674*/
            if( (((getMEMINT((int)((getMEMINT((int)((getMEMINT((int)((cel_3 + 0))) + 4))) + 64))))>(getMEMINT((int)((getMEMINT((int)((getMEMINT((int)((cel_3 + 0))) + 8))) + 64)))))?1:0)!=0)
            {
            	   
               {
               cln_5=getMEMINT((int)((getMEMINT((int)((cel_3 + 0))) + 4)));
               setMEMINT((int)((getMEMINT((int)((cel_3 + 0))) + 4)),(int)(getMEMINT((int)((getMEMINT((int)((cel_3 + 0))) + 8)))));
               setMEMINT((int)((getMEMINT((int)((cel_3 + 0))) + 8)),(int)(cln_5));
               
               /* file sfg.c line 2679*/
               if( getMEMINT((int)((getMEMINT((int)((cel_3 + 0))) + 24)))!=0)
               {
               	   
                  {
                  setMEMINT((int)((getMEMINT((int)((cel_3 + 0))) + 24)),(int)(0));
                  
                  }
               
               }
               else
               {
               	   
                  {
                  setMEMINT((int)((getMEMINT((int)((cel_3 + 0))) + 24)),(int)(1));
                  
                  }
               
               };
               
               }
            
            };
            cel_3=getMEMINT((int)((cel_3 + 4)));
            
            }
         
         }
         cel_3=getMEMINT((int)((cg + 76)));
         lab_sfg32 : while( (cel_3) !=0 )
         {
         	   
            {
            celnext_4=getMEMINT((int)((cel_3 + 4)));
            
            /* file sfg.c line 2693*/
            if( getMEMINT((int)((getMEMINT((int)((cel_3 + 0))) + 20)))!=0)
            {
            	   
               {
               cenumber_8=getMEMINT((int)((getMEMINT((int)((cel_3 + 0))) + 0)));
               crev_6=(byte)(getMEMINT((int)((getMEMINT((int)((cel_3 + 0))) + 24))));
               sincMEMINT((int)((cmaingraph_1 + 4)),+1);
               
               /* file sfg.c line 2700*/
               cadd_new_dummynode(cg,getMEMINT((int)((cmaingraph_1 + 4))));
               cln_5=
               /* file sfg.c line 2702*/
               cuniqnode(cmaingraph_1,getMEMINT((int)((cmaingraph_1 + 4))));
               setMEMINT((int)((cln_5 + 120)),(int)(getMEMINT((int)((getMEMINT((int)((cel_3 + 0))) + 4)))));
               setMEMINT((int)((cln_5 + 124)),(int)(getMEMINT((int)((getMEMINT((int)((cel_3 + 0))) + 8)))));
               cydiff_7=(getMEMINT((int)((getMEMINT((int)((cln_5 + 124))) + 64))) - getMEMINT((int)((getMEMINT((int)((cln_5 + 120))) + 64))));
               setMEMINT((int)((cln_5 + 64)),(int)((getMEMINT((int)((getMEMINT((int)((cln_5 + 120))) + 64))) + (cydiff_7/2))));
               setMEMINT((int)((cln_5 + 24)),(int)(1));
               setMEMINT((int)((cln_5 + 20)),(int)(0));
               setMEMINT((int)((cln_5 + 28)),(int)(cenumber_8));
               setMEMINT((int)((cln_5 + 4)),(int)(getMEMINT((int)((getMEMINT((int)((cel_3 + 0))) + 12)))));
               setMEMINT((int)((cln_5 + 8)),(int)(getMEMINT((int)((getMEMINT((int)((cel_3 + 0))) + 16)))));
               setMEMINT((int)((cln_5 + 116)),(int)(getMEMINT((int)((getMEMINT((int)((getMEMINT((int)((cel_3 + 0))) + 4))) + 116)))));
               
               /* file sfg.c line 2720*/
               cadd_new_dummyedge(cg,getMEMINT((int)((getMEMINT((int)((getMEMINT((int)((cel_3 + 0))) + 4))) + 0))),getMEMINT((int)((cmaingraph_1 + 4))),crev_6);
               
               /* file sfg.c line 2721*/
               cadd_new_dummyedge(cg,getMEMINT((int)((cmaingraph_1 + 4))),getMEMINT((int)((getMEMINT((int)((getMEMINT((int)((cel_3 + 0))) + 8))) + 0))),crev_6);
               
               /* file sfg.c line 2723*/
               cdel_edge(cg,cel_3);
               
               }
            
            };
            cel_3=celnext_4;
            
            }
         
         }
         
         /* file sfg.c line 2730*/
         cclear_stlist_all(cg);
         
         /* file sfg.c line 2731*/
         cmake_stlist(cg);
         if(true)
         {
         prevlevel();
         return ;
         };
         
         }
      };
      prevlevel();
   }
   
   /* file sfg.c line 2738*/
   
   public static void csplitedges(int  cg)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int  cel_3= 0;
      int  celnext_4= 0;
      int  cedge_5= 0;
      int  csn_6= 0;
      int  ctn_7= 0;
      int  cnlnode_8= 0;
      int  cedgelen_9= 0;
      int  cprevnodeid_10= 0;
      int  cnewid_11= 0;
      int  ci_12= 0;
      int  csny_13= 0;
      byte  crev_14= 0;
         
         {
         cel_3= (int)(0);
         celnext_4= (int)(0);
         cedge_5= (int)(0);
         csn_6= (int)(0);
         ctn_7= (int)(0);
         cnlnode_8= (int)(0);
         cedgelen_9= 0;
         cprevnodeid_10= 0;
         cnewid_11= 0;
         ci_12= 0;
         csny_13= 0;
         crev_14= (byte)(0);
         cel_3=getMEMINT((int)((cg + 76)));
         lab_sfg33 : while( (cel_3) !=0 )
         {
         	   
            {
            celnext_4=getMEMINT((int)((cel_3 + 4)));
            cedge_5=getMEMINT((int)((cel_3 + 0)));
            csn_6=getMEMINT((int)((cedge_5 + 4)));
            ctn_7=getMEMINT((int)((cedge_5 + 8)));
            crev_14=(byte)(getMEMINT((int)((cedge_5 + 24))));
            cedgelen_9=(getMEMINT((int)((ctn_7 + 64))) - getMEMINT((int)((csn_6 + 64))));
            
            /* file sfg.c line 2760*/
            if( (((cedgelen_9)==(0))?1:0)!=0)
            {
            	   
               {
               setMEMINT((int)((cedge_5 + 28)),(int)(1));
               sincMEMINT((int)((cg + 36)),+1);
               setMEMINT((int)((csn_6 + 52)),(int)(1));
               setMEMINT((int)((ctn_7 + 52)),(int)(1));
               
               }
            
            }
            else
            {
            	
            /* file sfg.c line 2767*/
            if( (((cedgelen_9)>(1))?1:0)!=0)
            {
            	   
               {
               cprevnodeid_10=getMEMINT((int)((csn_6 + 0)));
               csny_13=getMEMINT((int)((csn_6 + 64)));
               
               /* file sfg.c line 2783*/
               ci_12=1;
               lab_sfg34 : for( ; (((ci_12)<(cedgelen_9))?1:0)!=0 ; )
               {
                  
                  {
                  sincMEMINT((int)((cmaingraph_1 + 4)),+1);
                  cnewid_11=getMEMINT((int)((cmaingraph_1 + 4)));
                  
                  /* file sfg.c line 2775*/
                  cadd_new_dummynode(cmaingraph_1,cnewid_11);
                  cnlnode_8=
                  /* file sfg.c line 2776*/
                  cuniqnode(cmaingraph_1,cnewid_11);
                  setMEMINT((int)((cnlnode_8 + 20)),(int)(1));
                  setMEMINT((int)((cnlnode_8 + 24)),(int)(0));
                  setMEMINT((int)((cnlnode_8 + 64)),(int)((csny_13 + ci_12)));
                  setMEMINT((int)((cnlnode_8 + 116)),(int)(getMEMINT((int)((csn_6 + 116)))));
                  
                  /* file sfg.c line 2781*/
                  cadd_new_dummyedge(cg,cprevnodeid_10,cnewid_11,crev_14);
                  cprevnodeid_10=cnewid_11;
                  
                  }
               ci_12++;
               
               }
               
               /* file sfg.c line 2785*/
               cadd_new_dummyedge(cg,cprevnodeid_10,getMEMINT((int)((ctn_7 + 0))),crev_14);
               
               /* file sfg.c line 2786*/
               cdel_edge(cg,cel_3);
               
               }
            
            }
            else
            {
            	
            /* file sfg.c line 2787*/
            if( (((cedgelen_9)==(1))?1:0)!=0)
            {
            	
            }
            else
            {
            	
            };
            
            };
            
            };
            cel_3=celnext_4;
            
            }
         
         }
         if(true)
         {
         prevlevel();
         return ;
         };
         
         }
      };
      prevlevel();
   }
   
   /* file sfg.c line 2801*/
   
   public static void cnodecounts(int  cg)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int  clnll_3= 0;
         
         {
         clnll_3= (int)(0);
         
         /* file sfg.c line 2804*/
         cclear_stlist_all(cg);
         
         /* file sfg.c line 2805*/
         cmake_stlist(cg);
         setMEMINT((int)((cg + 84)),(int)(
         /* file sfg.c line 2807*/
         ccalloc((getMEMINT((int)((cg + 20))) + 1),4)));
         
         /* file sfg.c line 2808*/
         if( (((getMEMINT((int)((cg + 84))))==((int)(0)))?1:0)!=0)
         {
         	   
            {
            if(true)
            {
            prevlevel();
            return ;
            };
            
            }
         
         };
         setMEMINT((int)((cg + 92)),(int)(0));
         setMEMINT((int)((cg + 88)),(int)(0));
         clnll_3=getMEMINT((int)((cg + 60)));
         lab_sfg35 : while( (clnll_3) !=0 )
         {
         	   
            {
            setMEMINT((int)((getMEMINT((int)((cg + 84))) + (getMEMINT((int)((getMEMINT((int)((clnll_3 + 0))) + 64)))*4))),(int)((getMEMINT((int)((getMEMINT((int)((cg + 84))) + (getMEMINT((int)((getMEMINT((int)((clnll_3 + 0))) + 64)))*4)))) + 1)));
            setMEMINT((int)((getMEMINT((int)((clnll_3 + 0))) + 60)),(int)(getMEMINT((int)((getMEMINT((int)((cg + 84))) + (getMEMINT((int)((getMEMINT((int)((clnll_3 + 0))) + 64)))*4))))));
            
            /* file sfg.c line 2821*/
            if( (((getMEMINT((int)((getMEMINT((int)((cg + 84))) + (getMEMINT((int)((getMEMINT((int)((clnll_3 + 0))) + 64)))*4)))))>=(getMEMINT((int)((cg + 88)))))?1:0)!=0)
            {
            	   
               {
               setMEMINT((int)((cg + 88)),(int)(getMEMINT((int)((getMEMINT((int)((cg + 84))) + (getMEMINT((int)((getMEMINT((int)((clnll_3 + 0))) + 64)))*4))))));
               setMEMINT((int)((cg + 92)),(int)(getMEMINT((int)((getMEMINT((int)((clnll_3 + 0))) + 64)))));
               
               }
            
            };
            clnll_3=getMEMINT((int)((clnll_3 + 4)));
            
            }
         
         }
         if(true)
         {
         prevlevel();
         return ;
         };
         
         }
      };
      prevlevel();
   }
   
   /* file sfg.c line 2846*/
   
   public static void csetbit(int  ca,int  ck)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int y11= 0;
         
         {
         
         /* file sfg.c line 2847*/
         if( (((ck)==(0))?1:0)!=0)
         {
         	
         }
         else
         {
         	   
            {
            y11= (int)((ca + ((int)((ck/8))*1)));
            setMEMUBYTE((int)(y11),(((getMEMUBYTE((int)(y11))&0xff) | ((char)((1<<(ck%8)))&0xff))));
            
            }
         
         };
         if(true)
         {
         prevlevel();
         return ;
         };
         
         }
      };
      prevlevel();
   }
   
   /* file sfg.c line 2855*/
   
   public static void cclearbit(int  ca,int  ck)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int y12= 0;
         
         {
         
         /* file sfg.c line 2856*/
         if( (((ck)==(0))?1:0)!=0)
         {
         	
         }
         else
         {
         	   
            {
            y12= (int)((ca + ((int)((ck/8))*1)));
            setMEMUBYTE((int)(y12),(((getMEMUBYTE((int)(y12))&0xff) & ((char)((~(1<<(ck%8))))&0xff))));
            
            }
         
         };
         if(true)
         {
         prevlevel();
         return ;
         };
         
         }
      };
      prevlevel();
   }
   
   /* file sfg.c line 2864*/
   
   public static int ctestbit(int  cm,int  ca,int  ck)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int retval= 0;
      int  cret_6= 0;
      long  cmask_7= 0;
      long  cmask2_8= 0;
      long  ci_9= 0;
         
         {
         cret_6= 0;
         cmask_7= 0;
         cmask2_8= 0;
         ci_9= 0;
         
         /* file sfg.c line 2870*/
         if( (((ck)==(0))?1:0)!=0)
         {
         	
         };
         
         /* file sfg.c line 2874*/
         if( (((ck)>(((getMEMINT((int)((cm + 8))) + 1)*(getMEMINT((int)((cm + 4))) + 1))))?1:0)!=0)
         {
         	
         };
         cmask_7=(ck%8);
         cmask2_8=1;
         
         /* file sfg.c line 2885*/
         ci_9=0;
         lab_sfg36 : for( ; (((ci_9)<(cmask_7))?1:0)!=0 ; )
         {
            
            {
            cmask2_8=(cmask2_8*((long)(2)&0xffffffff));
            
            }
         ci_9++;
         
         }
         cret_6=(int)(((getMEMUBYTE((int)((ca + ((int)((ck/8))*1))))&0xff) & cmask2_8));
         retval= cret_6;
         if(true)
         {
         prevlevel();
         return retval;
         };
         
         }
      };
      prevlevel();
      return 0;
   }
   
   /* file sfg.c line 2893*/
   
   public static int cmget(int  cm,int  ci,int  cj)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int retval= 0;
         
         {
         retval= 
         /* file sfg.c line 2894*/
         ctestbit(cm,(int)(getMEMINT((int)((cm + 40)))),((ci*(getMEMINT((int)((cm + 8))) + 0)) + cj));
         if(true)
         {
         prevlevel();
         return retval;
         };
         
         }
      };
      prevlevel();
      return 0;
   }
   
   /* file sfg.c line 2899*/
   
   public static void cmget_set(int  cm,int  ci,int  cj,int  cvalue)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
         
         {
         
         /* file sfg.c line 2900*/
         if( cvalue!=0)
         {
         	   
            {
            
            /* file sfg.c line 2901*/
            csetbit((int)(getMEMINT((int)((cm + 40)))),((ci*(getMEMINT((int)((cm + 8))) + 0)) + cj));
            
            }
         
         }
         else
         {
         	   
            {
            
            /* file sfg.c line 2903*/
            cclearbit((int)(getMEMINT((int)((cm + 40)))),((ci*(getMEMINT((int)((cm + 8))) + 0)) + cj));
            
            }
         
         };
         if(true)
         {
         prevlevel();
         return ;
         };
         
         }
      };
      prevlevel();
   }
   
   /* file sfg.c line 2909*/
   
   public static int cnumber_of_crossings2(int  cm,int  cr,int  cc)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int retval= 0;
      int  cj_6= 0;
      int  ck_7= 0;
      int  calpha_8= 0;
      int  cbeta_9= 0;
      int  cresult_10= 0;
         
         {
         cj_6= 0;
         ck_7= 0;
         calpha_8= 0;
         cbeta_9= 1;
         cresult_10= 0;
         
         /* file sfg.c line 2925*/
         cj_6=1;
         lab_sfg37 : for( ; (((cj_6)<=((cr - 1)))?1:0)!=0 ; )
         {
            
            {
            
            /* file sfg.c line 2924*/
            ck_7=(cj_6 + 1);
            lab_sfg38 : for( ; (((ck_7)<=(cr))?1:0)!=0 ; )
            {
               
               {
               
               /* file sfg.c line 2923*/
               calpha_8=1;
               lab_sfg39 : for( ; (((calpha_8)<=((cc - 1)))?1:0)!=0 ; )
               {
                  
                  {
                  
                  /* file sfg.c line 2922*/
                  cbeta_9=(calpha_8 + 1);
                  lab_sfg40 : for( ; (((cbeta_9)<=(cc))?1:0)!=0 ; )
                  {
                     
                     {
                     cresult_10=(cresult_10 + (
                     /* file sfg.c line 2921*/
                     cmget(cm,cj_6,cbeta_9)*
                     /* file sfg.c line 2921*/
                     cmget(cm,ck_7,calpha_8)));
                     
                     }
                  cbeta_9++;
                  
                  }
                  
                  }
               calpha_8++;
               
               }
               
               }
            ck_7++;
            
            }
            
            }
         cj_6++;
         
         }
         retval= cresult_10;
         if(true)
         {
         prevlevel();
         return retval;
         };
         
         }
      };
      prevlevel();
      return 0;
   }
   
   /* file sfg.c line 2930*/
   
   public static int cnumber_of_crossings3(int  cm,int  cr,int  cc)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int retval= 0;
      int  cj_6= 0;
      int  ck_7= 0;
      int  calpha_8= 0;
      int  cbeta_9= 0;
      int  cresult2_10= 0;
         
         {
         cj_6= 0;
         ck_7= 0;
         calpha_8= 0;
         cbeta_9= 1;
         cresult2_10= 0;
         
         /* file sfg.c line 2937*/
         if( 0!=0)
         {
         	   
            {
            cresult2_10=
            /* file sfg.c line 2938*/
            cnumber_of_crossings2(cm,cr,cc);
            
            }
         
         };
         
         /* file sfg.c line 2958*/
         cj_6=1;
         lab_sfg41 : for( ; (((cj_6)<=((cr - 1)))?1:0)!=0 ; )
         {
            
            {
            
            /* file sfg.c line 2957*/
            ck_7=(cj_6 + 1);
            lab_sfg42 : for( ; (((ck_7)<=(cr))?1:0)!=0 ; )
            {
               
               {
               
               /* file sfg.c line 2956*/
               calpha_8=1;
               lab_sfg43 : for( ; (((calpha_8)<=((cc - 1)))?1:0)!=0 ; )
               {
                  
                  {
                  
                  /* file sfg.c line 2946*/
                  if( 
                  /* file sfg.c line 2946*/
                  cmget(cm,ck_7,calpha_8)!=0)
                  {
                  	   
                     {
                     
                     /* file sfg.c line 2952*/
                     cbeta_9=(calpha_8 + 1);
                     lab_sfg44 : for( ; (((cbeta_9)<=(cc))?1:0)!=0 ; )
                     {
                        
                        {
                        
                        /* file sfg.c line 2949*/
                        if( 
                        /* file sfg.c line 2949*/
                        cmget(cm,cj_6,cbeta_9)!=0)
                        {
                        	   
                           {
                           cresult2_10++;
                           
                           }
                        
                        };
                        
                        }
                     cbeta_9++;
                     
                     }
                     
                     }
                  
                  };
                  
                  }
               calpha_8++;
               
               }
               
               }
            ck_7++;
            
            }
            
            }
         cj_6++;
         
         }
         retval= cresult2_10;
         if(true)
         {
         prevlevel();
         return retval;
         };
         
         }
      };
      prevlevel();
      return 0;
   }
   
   /* file sfg.c line 2965*/
   
   public static int cnumber_of_crossings_a(int  cg,int  cmm)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int retval= 0;
      int  cktot_5= 0;
      int  ck_6= 0;
      int  ci_7= 0;
         
         {
         cktot_5= 0;
         ck_6= 0;
         ci_7= 0;
         
         /* file sfg.c line 2977*/
         ci_7=0;
         lab_sfg45 : for( ; (((ci_7)<(getMEMINT((int)((cg + 20)))))?1:0)!=0 ; )
         {
            
            {
            
            /* file sfg.c line 2971*/
            if( getMEMINT((int)((cmm + (ci_7*4))))!=0)
            {
            	   
               {
               ck_6=
               /* file sfg.c line 2972*/
               cnumber_of_crossings3(getMEMINT((int)((cmm + (ci_7*4)))),getMEMINT((int)((getMEMINT((int)((cmm + (ci_7*4)))) + 4))),getMEMINT((int)((getMEMINT((int)((cmm + (ci_7*4)))) + 8))));
               setMEMINT((int)((getMEMINT((int)((cg + 108))) + (ci_7*4))),(int)(ck_6));
               cktot_5=(cktot_5 + ck_6);
               
               }
            
            };
            
            }
         ci_7++;
         
         }
         retval= cktot_5;
         if(true)
         {
         prevlevel();
         return retval;
         };
         
         }
      };
      prevlevel();
      return 0;
   }
   
   /* file sfg.c line 2984*/
   
   public static void cmake_matrix(int  cg,int  cl,int  cm)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int  cnl_5= 0;
      int  cel_6= 0;
      int  ci_7= 0;
      int  cj_8= 0;
      int  cc_9= 0;
      int  cr_10= 0;
         
         {
         cnl_5= (int)(0);
         cel_6= (int)(0);
         ci_7= 0;
         cj_8= 0;
         cc_9= 0;
         cr_10= 0;
         cnl_5=getMEMINT((int)((cg + 60)));
         lab_sfg46 : while( (cnl_5) !=0 )
         {
         	   
            {
            
            /* file sfg.c line 2998*/
            if( (((getMEMINT((int)((getMEMINT((int)((cnl_5 + 0))) + 64))))==(cl))?1:0)!=0)
            {
            	   
               {
               ci_7=getMEMINT((int)((getMEMINT((int)((cnl_5 + 0))) + 60)));
               setMEMINT((int)((getMEMINT((int)((cm + 16))) + (ci_7*4))),(int)(getMEMINT((int)((getMEMINT((int)((cnl_5 + 0))) + 0)))));
               
               }
            
            }
            else
            {
            	
            /* file sfg.c line 3002*/
            if( (((getMEMINT((int)((getMEMINT((int)((cnl_5 + 0))) + 64))))==((cl + 1)))?1:0)!=0)
            {
            	   
               {
               cj_8=getMEMINT((int)((getMEMINT((int)((cnl_5 + 0))) + 60)));
               setMEMINT((int)((getMEMINT((int)((cm + 24))) + (cj_8*4))),(int)(getMEMINT((int)((getMEMINT((int)((cnl_5 + 0))) + 0)))));
               
               }
            
            };
            
            };
            cnl_5=getMEMINT((int)((cnl_5 + 4)));
            
            }
         
         }
         cr_10=getMEMINT((int)((cm + 4)));
         cc_9=getMEMINT((int)((cm + 8)));
         
         /* file sfg.c line 3018*/
         ci_7=1;
         lab_sfg47 : for( ; (((ci_7)<=(cr_10))?1:0)!=0 ; )
         {
            
            {
            
            /* file sfg.c line 3017*/
            cj_8=1;
            lab_sfg48 : for( ; (((cj_8)<=(cc_9))?1:0)!=0 ; )
            {
               
               {
               
               /* file sfg.c line 3016*/
               cmget_set(cm,ci_7,cj_8,0);
               
               }
            cj_8++;
            
            }
            
            }
         ci_7++;
         
         }
         cnl_5=getMEMINT((int)((cg + 60)));
         lab_sfg49 : while( (cnl_5) !=0 )
         {
         	   
            {
            
            /* file sfg.c line 3024*/
            if( (((getMEMINT((int)((getMEMINT((int)((cnl_5 + 0))) + 64))))==(cl))?1:0)!=0)
            {
            	   
               {
               cel_6=getMEMINT((int)((getMEMINT((int)((cnl_5 + 0))) + 100)));
               lab_sfg50 : while( (cel_6) !=0 )
               {
               	   
                  {
                  
                  /* file sfg.c line 3029*/
                  if( (((getMEMINT((int)((getMEMINT((int)((cel_6 + 0))) + 28))))==(0))?1:0)!=0)
                  {
                  	   
                     {
                     ci_7=getMEMINT((int)((getMEMINT((int)((cnl_5 + 0))) + 60)));
                     cj_8=getMEMINT((int)((getMEMINT((int)((getMEMINT((int)((cel_6 + 0))) + 8))) + 60)));
                     
                     /* file sfg.c line 3035*/
                     cmget_set(cm,ci_7,cj_8,1);
                     
                     }
                  
                  };
                  cel_6=getMEMINT((int)((cel_6 + 4)));
                  
                  }
               
               }
               
               }
            
            };
            cnl_5=getMEMINT((int)((cnl_5 + 4)));
            
            }
         
         }
         if(true)
         {
         prevlevel();
         return ;
         };
         
         }
      };
      prevlevel();
   }
   
   /* file sfg.c line 3048*/
   
   public static int csu_find_node_with_number(int  cg,int  cnr)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int retval= 0;
         
         {
         retval= 
         /* file sfg.c line 3049*/
         cuniqnode(cg,cnr);
         if(true)
         {
         prevlevel();
         return retval;
         };
         
         }
      };
      prevlevel();
      return 0;
   }
   
   /* file sfg.c line 3053*/
   
   public static void cstore_new_positions(int  cg,int  cm,int  clevel)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int  cn_5= 0;
      int  ci_6= 0;
         
         {
         cn_5= (int)(0);
         ci_6= 0;
         
         /* file sfg.c line 3057*/
         if( clevel!=0)
         {
         	
         };
         
         /* file sfg.c line 3060*/
         if( (((cm)==((int)(0)))?1:0)!=0)
         {
         	   
            {
            if(true)
            {
            prevlevel();
            return ;
            };
            
            }
         
         };
         
         /* file sfg.c line 3072*/
         ci_6=1;
         lab_sfg51 : for( ; (((ci_6)<=(getMEMINT((int)((cm + 4)))))?1:0)!=0 ; )
         {
            
            {
            cn_5=
            /* file sfg.c line 3066*/
            csu_find_node_with_number(cg,getMEMINT((int)((getMEMINT((int)((cm + 16))) + (ci_6*4)))));
            
            /* file sfg.c line 3067*/
            if( cn_5!=0)
            {
            	   
               {
               setMEMINT((int)((cn_5 + 60)),(int)((ci_6 - 1)));
               
               }
            
            }
            else
            {
            	
            };
            
            }
         ci_6++;
         
         }
         
         /* file sfg.c line 3082*/
         ci_6=1;
         lab_sfg52 : for( ; (((ci_6)<=(getMEMINT((int)((cm + 8)))))?1:0)!=0 ; )
         {
            
            {
            cn_5=
            /* file sfg.c line 3076*/
            csu_find_node_with_number(cg,getMEMINT((int)((getMEMINT((int)((cm + 24))) + (ci_6*4)))));
            
            /* file sfg.c line 3077*/
            if( cn_5!=0)
            {
            	   
               {
               setMEMINT((int)((cn_5 + 60)),(int)((ci_6 - 1)));
               
               }
            
            }
            else
            {
            	
            };
            
            }
         ci_6++;
         
         }
         if(true)
         {
         prevlevel();
         return ;
         };
         
         }
      };
      prevlevel();
   }
   
   /* file sfg.c line 3089*/
   
   public static int cdo_memmove(int  cdst,int  csrc,int  ccount)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int retval= 0;
      int  ca_6= 0;
      int  cb_7= 0;
         
         {
         ca_6= cdst;
         cb_7= csrc;
         
         /* file sfg.c line 3092*/
         if( (((csrc)!=(cdst))?1:0)!=0)
         {
         	   
            {
            
            /* file sfg.c line 3093*/
            if( (((csrc)>(cdst))?1:0)!=0)
            {
            	   
               {
               lab_sfg53 : while( (ccount--) !=0 )
               {
               	setMEMBYTE((int)(ca_6++),(byte)(getMEMBYTE((int)(cb_7++))));
               
               }
               
               }
            
            }
            else
            {
            	   
               {
               ca_6+=(ccount - 1);
               cb_7+=(ccount - 1);
               lab_sfg54 : while( (ccount--) !=0 )
               {
               	setMEMBYTE((int)(ca_6--),(byte)(getMEMBYTE((int)(cb_7--))));
               
               }
               
               }
            
            };
            
            }
         
         };
         retval= cdst;
         if(true)
         {
         prevlevel();
         return retval;
         };
         
         }
      };
      prevlevel();
      return 0;
   }
   
   /* file sfg.c line 3108*/
   
   public static void ccopy_m(int  cm1,int  cm2)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
         
         {
         
         /* file sfg.c line 3109*/
         if( (((cm1)!=0)? (cm2):0)!=0)
         {
         	   
            {
            setMEMINT((int)((cm2 + 0)),(int)(getMEMINT((int)((cm1 + 0)))));
            setMEMINT((int)((cm2 + 4)),(int)(getMEMINT((int)((cm1 + 4)))));
            setMEMINT((int)((cm2 + 8)),(int)(getMEMINT((int)((cm1 + 8)))));
            setMEMINT((int)((cm2 + 12)),(int)(getMEMINT((int)((cm1 + 12)))));
            
            /* file sfg.c line 3114*/
            cdo_memmove(getMEMINT((int)((cm2 + 40))),getMEMINT((int)((cm1 + 40))),getMEMINT((int)((cm1 + 12))));
            
            /* file sfg.c line 3115*/
            cdo_memmove(getMEMINT((int)((cm2 + 16))),getMEMINT((int)((cm1 + 16))),getMEMINT((int)((cm1 + 20))));
            setMEMINT((int)((cm2 + 20)),(int)(getMEMINT((int)((cm1 + 20)))));
            
            /* file sfg.c line 3117*/
            cdo_memmove(getMEMINT((int)((cm2 + 24))),getMEMINT((int)((cm1 + 24))),getMEMINT((int)((cm1 + 28))));
            setMEMINT((int)((cm2 + 28)),(int)(getMEMINT((int)((cm1 + 28)))));
            setMEMINT((int)((cm2 + 32)),(int)(getMEMINT((int)((cm1 + 32)))));
            
            /* file sfg.c line 3120*/
            cdo_memmove(getMEMINT((int)((cm2 + 36))),getMEMINT((int)((cm1 + 36))),getMEMINT((int)((cm1 + 32))));
            
            }
         
         };
         if(true)
         {
         prevlevel();
         return ;
         };
         
         }
      };
      prevlevel();
   }
   
   /* file sfg.c line 3127*/
   
   public static int cequal_m(int  cm1,int  cm2,int  cr,int  cc)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int retval= 0;
      int  ci_7= 0;
      int  cj_8= 0;
         
         {
         ci_7= 0;
         cj_8= 0;
         
         /* file sfg.c line 3137*/
         ci_7=1;
         lab_sfg55 : for( ; (((ci_7)<=(cr))?1:0)!=0 ; )
         {
            
            {
            
            /* file sfg.c line 3136*/
            cj_8=1;
            lab_sfg56 : for( ; (((cj_8)<=(cc))?1:0)!=0 ; )
            {
               
               {
               
               /* file sfg.c line 3133*/
               if( (((
               /* file sfg.c line 3133*/
               cmget(cm1,ci_7,cj_8))!=(
               /* file sfg.c line 3133*/
               cmget(cm2,ci_7,cj_8)))?1:0)!=0)
               {
               	   
                  {
                  retval= 0;
                  if(true)
                  {
                  prevlevel();
                  return retval;
                  };
                  
                  }
               
               };
               
               }
            cj_8++;
            
            }
            
            }
         ci_7++;
         
         }
         retval= 1;
         if(true)
         {
         prevlevel();
         return retval;
         };
         
         }
      };
      prevlevel();
      return 0;
   }
   
   /* file sfg.c line 3144*/
   
   public static int cequal_a(int  cg,int  cmm1,int  cmm2)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int retval= 0;
      int  cl_6= 0;
         
         {
         cl_6= 0;
         
         /* file sfg.c line 3147*/
         if( ((((((cmm1)==((int)(0)))?1:0))!=0)?1: ((((cmm2)==((int)(0)))?1:0)))!=0)
         {
         	   
            {
            retval= 0;
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         
         /* file sfg.c line 3157*/
         cl_6=0;
         lab_sfg57 : for( ; (((cl_6)<(getMEMINT((int)((cg + 20)))))?1:0)!=0 ; )
         {
            
            {
            
            /* file sfg.c line 3154*/
            if( (((
            /* file sfg.c line 3153*/
            cequal_m(getMEMINT((int)((cmm1 + (cl_6*4)))),getMEMINT((int)((cmm2 + (cl_6*4)))),getMEMINT((int)((getMEMINT((int)((cmm1 + (cl_6*4)))) + 4))),getMEMINT((int)((getMEMINT((int)((cmm1 + (cl_6*4)))) + 8)))))==(0))?1:0)!=0)
            {
            	   
               {
               retval= 0;
               if(true)
               {
               prevlevel();
               return retval;
               };
               
               }
            
            };
            
            }
         cl_6++;
         
         }
         retval= 1;
         if(true)
         {
         prevlevel();
         return retval;
         };
         
         }
      };
      prevlevel();
      return 0;
   }
   
   /* file sfg.c line 3164*/
   
   public static void ccopy_a(int  cg,int  cmm1,int  cmm2)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int  ci_5= 0;
         
         {
         ci_5= 0;
         
         /* file sfg.c line 3169*/
         ci_5=0;
         lab_sfg58 : for( ; (((ci_5)<(getMEMINT((int)((cg + 20)))))?1:0)!=0 ; )
         {
            
            {
            
            /* file sfg.c line 3168*/
            ccopy_m(getMEMINT((int)((cmm1 + (ci_5*4)))),getMEMINT((int)((cmm2 + (ci_5*4)))));
            
            }
         ci_5++;
         
         }
         if(true)
         {
         prevlevel();
         return ;
         };
         
         }
      };
      prevlevel();
   }
   
   /* file sfg.c line 3175*/
   
   public static void cexch_rows(int  cm,int  cr1,int  cr2)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int  cj_5= 0;
      int  cid1_6= 0;
      int  cid2_7= 0;
      int  cbit1_8= 0;
      int  cbit2_9= 0;
         
         {
         cj_5= 0;
         cid1_6= 0;
         cid2_7= 0;
         cbit1_8= 0;
         cbit2_9= 0;
         cid1_6=getMEMINT((int)((getMEMINT((int)((cm + 16))) + (cr1*4))));
         cid2_7=getMEMINT((int)((getMEMINT((int)((cm + 16))) + (cr2*4))));
         setMEMINT((int)((getMEMINT((int)((cm + 16))) + (cr1*4))),(int)(cid2_7));
         setMEMINT((int)((getMEMINT((int)((cm + 16))) + (cr2*4))),(int)(cid1_6));
         
         /* file sfg.c line 3200*/
         cj_5=1;
         lab_sfg59 : for( ; (((cj_5)<=(getMEMINT((int)((cm + 8)))))?1:0)!=0 ; )
         {
            
            {
            cbit1_8=
            /* file sfg.c line 3196*/
            cmget(cm,cr1,cj_5);
            cbit2_9=
            /* file sfg.c line 3197*/
            cmget(cm,cr2,cj_5);
            
            /* file sfg.c line 3198*/
            cmget_set(cm,cr1,cj_5,cbit2_9);
            
            /* file sfg.c line 3199*/
            cmget_set(cm,cr2,cj_5,cbit1_8);
            
            }
         cj_5++;
         
         }
         if(true)
         {
         prevlevel();
         return ;
         };
         
         }
      };
      prevlevel();
   }
   
   /* file sfg.c line 3206*/
   
   public static void cexch_columns(int  cm,int  cc1,int  cc2)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int  ci_5= 0;
      int  cid1_6= 0;
      int  cid2_7= 0;
      int  cbit1_8= 0;
      int  cbit2_9= 0;
         
         {
         ci_5= 0;
         cid1_6= 0;
         cid2_7= 0;
         cbit1_8= 0;
         cbit2_9= 0;
         cid1_6=getMEMINT((int)((getMEMINT((int)((cm + 24))) + (cc1*4))));
         cid2_7=getMEMINT((int)((getMEMINT((int)((cm + 24))) + (cc2*4))));
         setMEMINT((int)((getMEMINT((int)((cm + 24))) + (cc1*4))),(int)(cid2_7));
         setMEMINT((int)((getMEMINT((int)((cm + 24))) + (cc2*4))),(int)(cid1_6));
         
         /* file sfg.c line 3231*/
         ci_5=1;
         lab_sfg60 : for( ; (((ci_5)<=(getMEMINT((int)((cm + 4)))))?1:0)!=0 ; )
         {
            
            {
            cbit1_8=
            /* file sfg.c line 3227*/
            cmget(cm,ci_5,cc1);
            cbit2_9=
            /* file sfg.c line 3228*/
            cmget(cm,ci_5,cc2);
            
            /* file sfg.c line 3229*/
            cmget_set(cm,ci_5,cc1,cbit2_9);
            
            /* file sfg.c line 3230*/
            cmget_set(cm,ci_5,cc2,cbit1_8);
            
            }
         ci_5++;
         
         }
         if(true)
         {
         prevlevel();
         return ;
         };
         
         }
      };
      prevlevel();
   }
   
   /* file sfg.c line 3237*/
   
   public static int creverse_r(int  cm,int  cr1,int  cr2)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int retval= 0;
      int  ci_6= 0;
      int  cj_7= 0;
      int  cch_8= 0;
         
         {
         ci_6= 0;
         cj_7= 0;
         cch_8= 0;
         
         /* file sfg.c line 3245*/
         ci_6=cr1;
         cj_7=cr2;
         lab_sfg61 : for( ; (((ci_6)<(cj_7))?1:0)!=0 ; )
         {
            
            {
            cch_8++;
            
            /* file sfg.c line 3244*/
            cexch_rows(cm,ci_6,cj_7);
            
            }
         ci_6++;
         cj_7--;
         
         }
         retval= cch_8;
         if(true)
         {
         prevlevel();
         return retval;
         };
         
         }
      };
      prevlevel();
      return 0;
   }
   
   /* file sfg.c line 3251*/
   
   public static int creverse_c(int  cm,int  cc1,int  cc2)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int retval= 0;
      int  ci_6= 0;
      int  cj_7= 0;
      int  cch_8= 0;
         
         {
         ci_6= 0;
         cj_7= 0;
         cch_8= 0;
         
         /* file sfg.c line 3259*/
         ci_6=cc1;
         cj_7=cc2;
         lab_sfg62 : for( ; (((ci_6)<(cj_7))?1:0)!=0 ; )
         {
            
            {
            cch_8++;
            
            /* file sfg.c line 3258*/
            cexch_columns(cm,ci_6,cj_7);
            
            }
         ci_6++;
         cj_7--;
         
         }
         retval= cch_8;
         if(true)
         {
         prevlevel();
         return retval;
         };
         
         }
      };
      prevlevel();
      return 0;
   }
   
   /* file sfg.c line 3265*/
   
   public static double crow_barycenter(int  cm,int  ci,int  cmaxval)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      double retval= 0;
      int  cj_6= 0;
      int  cr1_7= 0;
      int  cr2_8= 0;
         
         {
         cj_6= 0;
         cr1_7= 0;
         cr2_8= 0;
         
         /* file sfg.c line 3275*/
         cj_6=1;
         lab_sfg63 : for( ; (((cj_6)<=(cmaxval))?1:0)!=0 ; )
         {
            
            {
            
            /* file sfg.c line 3271*/
            if( 
            /* file sfg.c line 3271*/
            cmget(cm,ci,cj_6)!=0)
            {
            	   
               {
               cr1_7=(cr1_7 + cj_6);
               cr2_8++;
               
               }
            
            };
            
            }
         cj_6++;
         
         }
         
         /* file sfg.c line 3277*/
         if( (((cr2_8)==(0))?1:0)!=0)
         {
         	   
            {
            retval= 0.0;
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         }
         else
         {
         	   
            {
            retval= ((double)(cr1_7)/(double)(cr2_8));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         
         }
      };
      prevlevel();
      return 0;
   }
   
   /* file sfg.c line 3285*/
   
   public static double ccolumn_barycenter(int  cm,int  cj,int  cmaxval)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      double retval= 0;
      int  ci_6= 0;
      int  cr1_7= 0;
      int  cr2_8= 0;
         
         {
         ci_6= 0;
         cr1_7= 0;
         cr2_8= 0;
         
         /* file sfg.c line 3295*/
         ci_6=1;
         lab_sfg64 : for( ; (((ci_6)<=(cmaxval))?1:0)!=0 ; )
         {
            
            {
            
            /* file sfg.c line 3291*/
            if( 
            /* file sfg.c line 3291*/
            cmget(cm,ci_6,cj)!=0)
            {
            	   
               {
               cr1_7=(cr1_7 + ci_6);
               cr2_8++;
               
               }
            
            };
            
            }
         ci_6++;
         
         }
         
         /* file sfg.c line 3297*/
         if( (((cr2_8)==(0))?1:0)!=0)
         {
         	   
            {
            retval= 0.0;
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         }
         else
         {
         	   
            {
            retval= ((double)(cr1_7)/(double)(cr2_8));
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         
         }
      };
      prevlevel();
      return 0;
   }
   
   /* file sfg.c line 3306*/
   
   public static int cr_r(int  cm1,int  cm2,int  cmax_r,int  cmax_c)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int retval= 0;
      int  ci_7= 0;
      int  cj_8= 0;
      int  cch_9= 0;
         
         {
         ci_7= 0;
         cj_8= 0;
         cch_9= 0;
         
         /* file sfg.c line 3313*/
         ci_7=1;
         lab_sfg65 : for( ; (((ci_7)<=(cmax_r))?1:0)!=0 ; )
         {
            
            {
            setMEMDOUBLE((int)((getMEMINT((int)((cm1 + 36))) + (ci_7*8))),(double)(
            /* file sfg.c line 3312*/
            crow_barycenter(cm1,ci_7,cmax_c)));
            
            }
         ci_7++;
         
         }
         
         /* file sfg.c line 3332*/
         ci_7=1;
         lab_sfg66 : for( ; (((ci_7)<(cmax_r))?1:0)!=0 ; )
         {
            
            {
            cj_8=ci_7;
            lab_sfg67 : while( (((((((cj_8)<(cmax_r))?1:0))!=0)? ((((getMEMDOUBLE((int)((getMEMINT((int)((cm1 + 36))) + ((cj_8 + 1)*8)))))==(getMEMDOUBLE((int)((getMEMINT((int)((cm1 + 36))) + (cj_8*8))))))?1:0)):0)) !=0 )
            {
            	   
               {
               cj_8++;
               
               }
            
            }
            
            /* file sfg.c line 3322*/
            if( (((cj_8)>(ci_7))?1:0)!=0)
            {
            	   
               {
               cch_9+=
               /* file sfg.c line 3323*/
               creverse_r(cm1,ci_7,cj_8);
               
               /* file sfg.c line 3325*/
               if( (((cm2)!=((int)(0)))?1:0)!=0)
               {
               	   
                  {
                  cch_9+=
                  /* file sfg.c line 3326*/
                  creverse_c(cm2,ci_7,cj_8);
                  
                  }
               
               };
               ci_7=cj_8;
               
               }
            
            };
            
            }
         ci_7++;
         
         }
         retval= cch_9;
         if(true)
         {
         prevlevel();
         return retval;
         };
         
         }
      };
      prevlevel();
      return 0;
   }
   
   /* file sfg.c line 3339*/
   
   public static int cr_c(int  cm1,int  cm2,int  cmax_r,int  cmax_c)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int retval= 0;
      int  ci_7= 0;
      int  cj_8= 0;
      int  cch_9= 0;
         
         {
         ci_7= 0;
         cj_8= 0;
         cch_9= 0;
         
         /* file sfg.c line 3346*/
         ci_7=1;
         lab_sfg68 : for( ; (((ci_7)<=(cmax_c))?1:0)!=0 ; )
         {
            
            {
            setMEMDOUBLE((int)((getMEMINT((int)((cm1 + 36))) + (ci_7*8))),(double)(
            /* file sfg.c line 3345*/
            ccolumn_barycenter(cm1,ci_7,cmax_r)));
            
            }
         ci_7++;
         
         }
         
         /* file sfg.c line 3365*/
         ci_7=1;
         lab_sfg69 : for( ; (((ci_7)<(cmax_c))?1:0)!=0 ; )
         {
            
            {
            cj_8=ci_7;
            lab_sfg70 : while( (((((((cj_8)<(cmax_c))?1:0))!=0)? ((((getMEMDOUBLE((int)((getMEMINT((int)((cm1 + 36))) + ((cj_8 + 1)*8)))))==(getMEMDOUBLE((int)((getMEMINT((int)((cm1 + 36))) + (cj_8*8))))))?1:0)):0)) !=0 )
            {
            	   
               {
               cj_8++;
               
               }
            
            }
            
            /* file sfg.c line 3355*/
            if( (((cj_8)>(ci_7))?1:0)!=0)
            {
            	   
               {
               cch_9+=
               /* file sfg.c line 3356*/
               creverse_c(cm1,ci_7,cj_8);
               
               /* file sfg.c line 3358*/
               if( (((cm2)!=((int)(0)))?1:0)!=0)
               {
               	   
                  {
                  cch_9+=
                  /* file sfg.c line 3359*/
                  creverse_r(cm2,ci_7,cj_8);
                  
                  }
               
               };
               ci_7=cj_8;
               
               }
            
            };
            
            }
         ci_7++;
         
         }
         retval= cch_9;
         if(true)
         {
         prevlevel();
         return retval;
         };
         
         }
      };
      prevlevel();
      return 0;
   }
   
   /* file sfg.c line 3372*/
   
   public static int cb_r(int  cm1,int  cm2,int  cmax_r,int  cmax_c)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int retval= 0;
      double  ctmpb_7= 0;
      int  ci_8= 0;
      int  cj_9= 0;
      int  ck_10= 0;
      int  cch_11= 0;
         
         {
         ctmpb_7= 0.0;
         ci_8= 0;
         cj_9= 0;
         ck_10= 0;
         cch_11= 0;
         
         /* file sfg.c line 3381*/
         ci_8=1;
         lab_sfg71 : for( ; (((ci_8)<=(cmax_r))?1:0)!=0 ; )
         {
            
            {
            setMEMDOUBLE((int)((getMEMINT((int)((cm1 + 36))) + (ci_8*8))),(double)(
            /* file sfg.c line 3380*/
            crow_barycenter(cm1,ci_8,cmax_c)));
            
            }
         ci_8++;
         
         }
         
         /* file sfg.c line 3407*/
         cj_9=cmax_r;
         lab_sfg72 : for( ; (((cj_9)>(1))?1:0)!=0 ; )
         {
            
            {
            
            /* file sfg.c line 3384*/
            if( (((getMEMDOUBLE((int)((getMEMINT((int)((cm1 + 36))) + (cj_9*8)))))!=(0.0))?1:0)!=0)
            {
            	   
               {
               
               /* file sfg.c line 3405*/
               ci_8=1;
               lab_sfg73 : for( ; (((ci_8)<(cj_9))?1:0)!=0 ; )
               {
                  
                  {
                  
                  /* file sfg.c line 3386*/
                  if( (((getMEMDOUBLE((int)((getMEMINT((int)((cm1 + 36))) + (ci_8*8)))))!=(0.0))?1:0)!=0)
                  {
                  	   
                     {
                     ck_10=(ci_8 + 1);
                     lab_sfg74 : while( ((((getMEMDOUBLE((int)((getMEMINT((int)((cm1 + 36))) + (ck_10*8)))))==(0.0))?1:0)) !=0 )
                     {
                     	   
                        {
                        ck_10++;
                        
                        }
                     
                     }
                     
                     /* file sfg.c line 3391*/
                     if( (((getMEMDOUBLE((int)((getMEMINT((int)((cm1 + 36))) + (ci_8*8)))))>(getMEMDOUBLE((int)((getMEMINT((int)((cm1 + 36))) + (ck_10*8))))))?1:0)!=0)
                     {
                     	   
                        {
                        cch_11++;
                        ctmpb_7=getMEMDOUBLE((int)((getMEMINT((int)((cm1 + 36))) + (ck_10*8))));
                        setMEMDOUBLE((int)((getMEMINT((int)((cm1 + 36))) + (ck_10*8))),(double)(getMEMDOUBLE((int)((getMEMINT((int)((cm1 + 36))) + (ci_8*8))))));
                        setMEMDOUBLE((int)((getMEMINT((int)((cm1 + 36))) + (ci_8*8))),(double)(ctmpb_7));
                        
                        /* file sfg.c line 3397*/
                        cexch_rows(cm1,ci_8,ck_10);
                        
                        /* file sfg.c line 3398*/
                        if( (((cm2)!=((int)(0)))?1:0)!=0)
                        {
                        	   
                           {
                           cch_11++;
                           
                           /* file sfg.c line 3401*/
                           cexch_columns(cm2,ci_8,ck_10);
                           
                           }
                        
                        };
                        
                        }
                     
                     };
                     
                     }
                  
                  };
                  
                  }
               ci_8++;
               
               }
               
               }
            
            };
            
            }
         cj_9--;
         
         }
         retval= cch_11;
         if(true)
         {
         prevlevel();
         return retval;
         };
         
         }
      };
      prevlevel();
      return 0;
   }
   
   /* file sfg.c line 3414*/
   
   public static int cb_c(int  cm1,int  cm2,int  cmax_r,int  cmax_c)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int retval= 0;
      double  ctmpb_7= 0;
      int  ci_8= 0;
      int  cj_9= 0;
      int  ck_10= 0;
      int  cch_11= 0;
         
         {
         ctmpb_7= 0.0;
         ci_8= 0;
         cj_9= 0;
         ck_10= 0;
         cch_11= 0;
         
         /* file sfg.c line 3423*/
         ci_8=1;
         lab_sfg75 : for( ; (((ci_8)<=(cmax_c))?1:0)!=0 ; )
         {
            
            {
            setMEMDOUBLE((int)((getMEMINT((int)((cm1 + 36))) + (ci_8*8))),(double)(
            /* file sfg.c line 3422*/
            ccolumn_barycenter(cm1,ci_8,cmax_r)));
            
            }
         ci_8++;
         
         }
         
         /* file sfg.c line 3451*/
         cj_9=cmax_c;
         lab_sfg76 : for( ; (((cj_9)>(1))?1:0)!=0 ; )
         {
            
            {
            
            /* file sfg.c line 3426*/
            if( (((getMEMDOUBLE((int)((getMEMINT((int)((cm1 + 36))) + (cj_9*8)))))!=(0.0))?1:0)!=0)
            {
            	   
               {
               
               /* file sfg.c line 3449*/
               ci_8=1;
               lab_sfg77 : for( ; (((ci_8)<(cj_9))?1:0)!=0 ; )
               {
                  
                  {
                  
                  /* file sfg.c line 3428*/
                  if( (((getMEMDOUBLE((int)((getMEMINT((int)((cm1 + 36))) + (ci_8*8)))))!=(0.0))?1:0)!=0)
                  {
                  	   
                     {
                     ck_10=(ci_8 + 1);
                     lab_sfg78 : while( ((((getMEMDOUBLE((int)((getMEMINT((int)((cm1 + 36))) + (ck_10*8)))))==(0.0))?1:0)) !=0 )
                     {
                     	   
                        {
                        ck_10++;
                        
                        }
                     
                     }
                     
                     /* file sfg.c line 3435*/
                     if( (((getMEMDOUBLE((int)((getMEMINT((int)((cm1 + 36))) + (ci_8*8)))))>(getMEMDOUBLE((int)((getMEMINT((int)((cm1 + 36))) + (ck_10*8))))))?1:0)!=0)
                     {
                     	   
                        {
                        cch_11++;
                        ctmpb_7=getMEMDOUBLE((int)((getMEMINT((int)((cm1 + 36))) + (ck_10*8))));
                        setMEMDOUBLE((int)((getMEMINT((int)((cm1 + 36))) + (ck_10*8))),(double)(getMEMDOUBLE((int)((getMEMINT((int)((cm1 + 36))) + (ci_8*8))))));
                        setMEMDOUBLE((int)((getMEMINT((int)((cm1 + 36))) + (ci_8*8))),(double)(ctmpb_7));
                        
                        /* file sfg.c line 3442*/
                        cexch_columns(cm1,ci_8,ck_10);
                        
                        /* file sfg.c line 3443*/
                        if( (((cm2)!=((int)(0)))?1:0)!=0)
                        {
                        	   
                           {
                           cch_11++;
                           
                           /* file sfg.c line 3445*/
                           cexch_rows(cm2,ci_8,ck_10);
                           
                           }
                        
                        };
                        
                        }
                     
                     };
                     
                     }
                  
                  };
                  
                  }
               ci_8++;
               
               }
               
               }
            
            };
            
            }
         cj_9--;
         
         }
         retval= cch_11;
         if(true)
         {
         prevlevel();
         return retval;
         };
         
         }
      };
      prevlevel();
      return 0;
   }
   
   /* file sfg.c line 3458*/
   
   public static int csorted(int  cvector,int  cmaxval)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int retval= 0;
      int  ci_5= 0;
         
         {
         ci_5= 0;
         
         /* file sfg.c line 3466*/
         ci_5=1;
         lab_sfg79 : for( ; (((ci_5)<(cmaxval))?1:0)!=0 ; )
         {
            
            {
            
            /* file sfg.c line 3463*/
            if( ((((((getMEMDOUBLE((int)((cvector + (ci_5*8)))))>(getMEMDOUBLE((int)((cvector + ((ci_5 + 1)*8))))))?1:0))!=0)? ((((getMEMDOUBLE((int)((cvector + ((ci_5 + 1)*8)))))!=(0.0))?1:0)):0)!=0)
            {
            	   
               {
               retval= 0;
               if(true)
               {
               prevlevel();
               return retval;
               };
               
               }
            
            };
            
            }
         ci_5++;
         
         }
         retval= 1;
         if(true)
         {
         prevlevel();
         return retval;
         };
         
         }
      };
      prevlevel();
      return 0;
   }
   
   /* file sfg.c line 3472*/
   
   public static int cphase1_down(int  cg,int  cmm)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int retval= 0;
      int  ci_5= 0;
      int  cch_6= 0;
         
         {
         ci_5= 0;
         cch_6= 0;
         
         /* file sfg.c line 3479*/
         ci_5=0;
         lab_sfg80 : for( ; (((ci_5)<((getMEMINT((int)((cg + 20))) - 1)))?1:0)!=0 ; )
         {
            
            {
            cch_6+=
            /* file sfg.c line 3478*/
            cb_c(getMEMINT((int)((cmm + (ci_5*4)))),getMEMINT((int)((cmm + ((ci_5 + 1)*4)))),getMEMINT((int)((getMEMINT((int)((cmm + (ci_5*4)))) + 4))),getMEMINT((int)((getMEMINT((int)((cmm + (ci_5*4)))) + 8))));
            
            }
         ci_5++;
         
         }
         cch_6+=
         /* file sfg.c line 3481*/
         cb_c(getMEMINT((int)((cmm + ((getMEMINT((int)((cg + 20))) - 1)*4)))),(int)(0),getMEMINT((int)((getMEMINT((int)((cmm + ((getMEMINT((int)((cg + 20))) - 1)*4)))) + 4))),getMEMINT((int)((getMEMINT((int)((cmm + ((getMEMINT((int)((cg + 20))) - 1)*4)))) + 8))));
         retval= cch_6;
         if(true)
         {
         prevlevel();
         return retval;
         };
         
         }
      };
      prevlevel();
      return 0;
   }
   
   /* file sfg.c line 3487*/
   
   public static int cphase1_up(int  cg,int  cmm)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int retval= 0;
      int  ci_5= 0;
      int  cch_6= 0;
         
         {
         ci_5= 0;
         cch_6= 0;
         
         /* file sfg.c line 3491*/
         if( (((cmm)==((int)(0)))?1:0)!=0)
         {
         	   
            {
            retval= 0;
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         
         /* file sfg.c line 3499*/
         ci_5=(getMEMINT((int)((cg + 20))) - 1);
         lab_sfg81 : for( ; (((ci_5)>(0))?1:0)!=0 ; )
         {
            
            {
            cch_6+=
            /* file sfg.c line 3498*/
            cb_r(getMEMINT((int)((cmm + (ci_5*4)))),getMEMINT((int)((cmm + ((ci_5 - 1)*4)))),getMEMINT((int)((getMEMINT((int)((cmm + (ci_5*4)))) + 4))),getMEMINT((int)((getMEMINT((int)((cmm + (ci_5*4)))) + 8))));
            
            }
         ci_5--;
         
         }
         cch_6+=
         /* file sfg.c line 3502*/
         cb_r(getMEMINT((int)((cmm + (0*4)))),(int)(0),getMEMINT((int)((getMEMINT((int)((cmm + (0*4)))) + 4))),getMEMINT((int)((getMEMINT((int)((cmm + (0*4)))) + 8))));
         retval= cch_6;
         if(true)
         {
         prevlevel();
         return retval;
         };
         
         }
      };
      prevlevel();
      return 0;
   }
   
   /* file sfg.c line 3509*/
   
   public static int cphase2_down(int  cg,int  cmm)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int retval= 0;
      int  cl_5= 0;
      int  ci_6= 0;
      int  cch_7= 0;
         
         {
         cl_5= 0;
         ci_6= 0;
         cch_7= 0;
         
         /* file sfg.c line 3529*/
         cl_5=0;
         lab_sfg82 : for( ; (((cl_5)<((getMEMINT((int)((cg + 20))) - 1)))?1:0)!=0 ; )
         {
            
            {
            
            /* file sfg.c line 3518*/
            ci_6=1;
            lab_sfg83 : for( ; (((ci_6)<=(getMEMINT((int)((getMEMINT((int)((cmm + (cl_5*4)))) + 8)))))?1:0)!=0 ; )
            {
               
               {
               setMEMDOUBLE((int)((getMEMINT((int)((getMEMINT((int)((cmm + (cl_5*4)))) + 36))) + (ci_6*8))),(double)(
               /* file sfg.c line 3517*/
               ccolumn_barycenter(getMEMINT((int)((cmm + (cl_5*4)))),ci_6,getMEMINT((int)((getMEMINT((int)((cmm + (cl_5*4)))) + 4))))));
               
               }
            ci_6++;
            
            }
            
            /* file sfg.c line 3521*/
            if( (((
            /* file sfg.c line 3520*/
            csorted(getMEMINT((int)((getMEMINT((int)((cmm + (cl_5*4)))) + 36))),getMEMINT((int)((getMEMINT((int)((cmm + (cl_5*4)))) + 8)))))==(1))?1:0)!=0)
            {
            	   
               {
               cch_7+=
               /* file sfg.c line 3524*/
               cr_c(getMEMINT((int)((cmm + (cl_5*4)))),getMEMINT((int)((cmm + ((cl_5 + 1)*4)))),getMEMINT((int)((getMEMINT((int)((cmm + (cl_5*4)))) + 4))),getMEMINT((int)((getMEMINT((int)((cmm + (cl_5*4)))) + 8))));
               
               }
            
            }
            else
            {
            	   
               {
               retval= cch_7;
               if(true)
               {
               prevlevel();
               return retval;
               };
               
               }
            
            };
            
            }
         cl_5++;
         
         }
         
         /* file sfg.c line 3534*/
         ci_6=1;
         lab_sfg84 : for( ; (((ci_6)<=(getMEMINT((int)((getMEMINT((int)((cg + 84))) + (getMEMINT((int)((cg + 20)))*4))))))?1:0)!=0 ; )
         {
            
            {
            setMEMDOUBLE((int)((getMEMINT((int)((getMEMINT((int)((cmm + ((getMEMINT((int)((cg + 20))) - 1)*4)))) + 36))) + (ci_6*8))),(double)(
            /* file sfg.c line 3533*/
            ccolumn_barycenter(getMEMINT((int)((cmm + ((getMEMINT((int)((cg + 20))) - 1)*4)))),ci_6,getMEMINT((int)((getMEMINT((int)((cmm + ((getMEMINT((int)((cg + 20))) - 1)*4)))) + 4))))));
            
            }
         ci_6++;
         
         }
         
         /* file sfg.c line 3537*/
         if( (((
         /* file sfg.c line 3536*/
         csorted(getMEMINT((int)((getMEMINT((int)((cmm + ((getMEMINT((int)((cg + 20))) - 1)*4)))) + 36))),getMEMINT((int)((getMEMINT((int)((cmm + ((getMEMINT((int)((cg + 20))) - 1)*4)))) + 8)))))==(1))?1:0)!=0)
         {
         	   
            {
            cch_7+=
            /* file sfg.c line 3540*/
            cr_c(getMEMINT((int)((cmm + ((getMEMINT((int)((cg + 20))) - 1)*4)))),(int)(0),getMEMINT((int)((getMEMINT((int)((cmm + ((getMEMINT((int)((cg + 20))) - 1)*4)))) + 4))),getMEMINT((int)((getMEMINT((int)((cmm + ((getMEMINT((int)((cg + 20))) - 1)*4)))) + 8))));
            
            }
         
         };
         retval= cch_7;
         if(true)
         {
         prevlevel();
         return retval;
         };
         
         }
      };
      prevlevel();
      return 0;
   }
   
   /* file sfg.c line 3548*/
   
   public static int cphase2_up(int  cg,int  cmm)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int retval= 0;
      int  cl_5= 0;
      int  ci_6= 0;
      int  cch_7= 0;
         
         {
         cl_5= 0;
         ci_6= 0;
         cch_7= 0;
         
         /* file sfg.c line 3553*/
         if( cg!=0)
         {
         	
         };
         
         /* file sfg.c line 3572*/
         cl_5=(getMEMINT((int)((cg + 20))) - 1);
         lab_sfg85 : for( ; (((cl_5)>(0))?1:0)!=0 ; )
         {
            
            {
            
            /* file sfg.c line 3561*/
            ci_6=1;
            lab_sfg86 : for( ; (((ci_6)<=(getMEMINT((int)((getMEMINT((int)((cmm + (cl_5*4)))) + 4)))))?1:0)!=0 ; )
            {
               
               {
               setMEMDOUBLE((int)((getMEMINT((int)((getMEMINT((int)((cmm + (cl_5*4)))) + 36))) + (ci_6*8))),(double)(
               /* file sfg.c line 3560*/
               crow_barycenter(getMEMINT((int)((cmm + (cl_5*4)))),ci_6,getMEMINT((int)((getMEMINT((int)((cmm + (cl_5*4)))) + 8))))));
               
               }
            ci_6++;
            
            }
            
            /* file sfg.c line 3564*/
            if( (((
            /* file sfg.c line 3563*/
            csorted(getMEMINT((int)((getMEMINT((int)((cmm + (cl_5*4)))) + 36))),getMEMINT((int)((getMEMINT((int)((cmm + (cl_5*4)))) + 4)))))==(1))?1:0)!=0)
            {
            	   
               {
               cch_7+=
               /* file sfg.c line 3567*/
               cr_r(getMEMINT((int)((cmm + (cl_5*4)))),getMEMINT((int)((cmm + ((cl_5 - 1)*4)))),getMEMINT((int)((getMEMINT((int)((cmm + (cl_5*4)))) + 4))),getMEMINT((int)((getMEMINT((int)((cmm + (cl_5*4)))) + 8))));
               
               }
            
            }
            else
            {
            	   
               {
               retval= cch_7;
               if(true)
               {
               prevlevel();
               return retval;
               };
               
               }
            
            };
            
            }
         cl_5--;
         
         }
         
         /* file sfg.c line 3576*/
         ci_6=1;
         lab_sfg87 : for( ; (((ci_6)<=(getMEMINT((int)((getMEMINT((int)((cmm + (0*4)))) + 4)))))?1:0)!=0 ; )
         {
            
            {
            setMEMDOUBLE((int)((getMEMINT((int)((getMEMINT((int)((cmm + (0*4)))) + 36))) + (ci_6*8))),(double)(
            /* file sfg.c line 3575*/
            crow_barycenter(getMEMINT((int)((cmm + (0*4)))),ci_6,getMEMINT((int)((getMEMINT((int)((cmm + (0*4)))) + 8))))));
            
            }
         ci_6++;
         
         }
         
         /* file sfg.c line 3580*/
         if( (((
         /* file sfg.c line 3579*/
         csorted(getMEMINT((int)((getMEMINT((int)((cmm + (0*4)))) + 36))),getMEMINT((int)((getMEMINT((int)((cmm + (0*4)))) + 4)))))==(1))?1:0)!=0)
         {
         	   
            {
            cch_7+=
            /* file sfg.c line 3583*/
            cr_r(getMEMINT((int)((cmm + (0*4)))),(int)(0),getMEMINT((int)((getMEMINT((int)((cmm + (0*4)))) + 4))),getMEMINT((int)((getMEMINT((int)((cmm + (0*4)))) + 8))));
            
            }
         
         };
         retval= cch_7;
         if(true)
         {
         prevlevel();
         return retval;
         };
         
         }
      };
      prevlevel();
      return 0;
   }
   
   /* file sfg.c line 3591*/
   
   public static void cbc_n(int  cg,int  cit1value,int  cit2value)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int  ca_5= 0;
      int  ca1_6= 0;
      int  ca2_7= 0;
      int  cas_8= 0;
      int  ci_9= 0;
      int  cks_10= 0;
      int  ck_11= 0;
      int  cn1_12= 0;
      int  cn2_13= 0;
      int  ccht_14= 0;
      int  cch1_15= 0;
      int  cch2_16= 0;
      int  cr1_17= 0;
      int  cr2_18= 0;
      int  cr3_19= 0;
      int  crr1_20= 0;
      int  crr2_21= 0;
      int  crr3_22= 0;
      int  cit1_23= 0;
      int  cit2_24= 0;
         
         {
         ca_5= (int)(0);
         ca1_6= (int)(0);
         ca2_7= (int)(0);
         cas_8= (int)(0);
         ci_9= 0;
         cks_10= 0;
         ck_11= 0;
         cn1_12= 0;
         cn2_13= 0;
         ccht_14= 0;
         cch1_15= 0;
         cch2_16= 0;
         cr1_17= 0;
         cr2_18= 0;
         cr3_19= 0;
         crr1_20= 0;
         crr2_21= 0;
         crr3_22= 0;
         cit1_23= 20;
         cit2_24= 40;
         
         /* file sfg.c line 3613*/
         if( (((cit1value)==(0))?1:0)!=0)
         {
         	   
            {
            cit1_23=20;
            
            }
         
         }
         else
         {
         	   
            {
            cit1_23=cit1value;
            
            }
         
         };
         
         /* file sfg.c line 3619*/
         if( (((cit2value)==(0))?1:0)!=0)
         {
         	   
            {
            cit2_24=40;
            
            }
         
         }
         else
         {
         	   
            {
            cit2_24=cit2value;
            
            }
         
         };
         ca_5=
         /* file sfg.c line 3626*/
         ccalloc(1,(getMEMINT((int)((cg + 20)))*4));
         ca1_6=
         /* file sfg.c line 3627*/
         ccalloc(1,(getMEMINT((int)((cg + 20)))*4));
         ca2_7=
         /* file sfg.c line 3628*/
         ccalloc(1,(getMEMINT((int)((cg + 20)))*4));
         cas_8=
         /* file sfg.c line 3629*/
         ccalloc(1,(getMEMINT((int)((cg + 20)))*4));
         
         /* file sfg.c line 3637*/
         ci_9=0;
         lab_sfg88 : for( ; (((ci_9)<(getMEMINT((int)((cg + 20)))))?1:0)!=0 ; )
         {
            
            {
            setMEMINT((int)((ca_5 + (ci_9*4))),(int)(
            /* file sfg.c line 3633*/
            ccalloc(1,44)));
            setMEMINT((int)((ca1_6 + (ci_9*4))),(int)(
            /* file sfg.c line 3634*/
            ccalloc(1,44)));
            setMEMINT((int)((ca2_7 + (ci_9*4))),(int)(
            /* file sfg.c line 3635*/
            ccalloc(1,44)));
            setMEMINT((int)((cas_8 + (ci_9*4))),(int)(
            /* file sfg.c line 3636*/
            ccalloc(1,44)));
            
            }
         ci_9++;
         
         }
         
         /* file sfg.c line 3711*/
         ci_9=0;
         lab_sfg89 : for( ; (((ci_9)<(getMEMINT((int)((cg + 20)))))?1:0)!=0 ; )
         {
            
            {
            setMEMINT((int)((getMEMINT((int)((ca_5 + (ci_9*4)))) + 0)),(int)(ci_9));
            setMEMINT((int)((getMEMINT((int)((ca1_6 + (ci_9*4)))) + 0)),(int)(ci_9));
            setMEMINT((int)((getMEMINT((int)((ca2_7 + (ci_9*4)))) + 0)),(int)(ci_9));
            setMEMINT((int)((getMEMINT((int)((cas_8 + (ci_9*4)))) + 0)),(int)(ci_9));
            setMEMINT((int)((getMEMINT((int)((ca_5 + (ci_9*4)))) + 4)),(int)(getMEMINT((int)((getMEMINT((int)((cg + 84))) + (ci_9*4))))));
            setMEMINT((int)((getMEMINT((int)((ca1_6 + (ci_9*4)))) + 4)),(int)(getMEMINT((int)((getMEMINT((int)((cg + 84))) + (ci_9*4))))));
            setMEMINT((int)((getMEMINT((int)((ca2_7 + (ci_9*4)))) + 4)),(int)(getMEMINT((int)((getMEMINT((int)((cg + 84))) + (ci_9*4))))));
            setMEMINT((int)((getMEMINT((int)((cas_8 + (ci_9*4)))) + 4)),(int)(getMEMINT((int)((getMEMINT((int)((cg + 84))) + (ci_9*4))))));
            setMEMINT((int)((getMEMINT((int)((ca_5 + (ci_9*4)))) + 8)),(int)(getMEMINT((int)((getMEMINT((int)((cg + 84))) + ((ci_9 + 1)*4))))));
            setMEMINT((int)((getMEMINT((int)((ca1_6 + (ci_9*4)))) + 8)),(int)(getMEMINT((int)((getMEMINT((int)((cg + 84))) + ((ci_9 + 1)*4))))));
            setMEMINT((int)((getMEMINT((int)((ca2_7 + (ci_9*4)))) + 8)),(int)(getMEMINT((int)((getMEMINT((int)((cg + 84))) + ((ci_9 + 1)*4))))));
            setMEMINT((int)((getMEMINT((int)((cas_8 + (ci_9*4)))) + 8)),(int)(getMEMINT((int)((getMEMINT((int)((cg + 84))) + ((ci_9 + 1)*4))))));
            
            /* file sfg.c line 3660*/
            if( (((getMEMINT((int)((getMEMINT((int)((ca_5 + (ci_9*4)))) + 4))))>(getMEMINT((int)((getMEMINT((int)((ca_5 + (ci_9*4)))) + 8)))))?1:0)!=0)
            {
            	   
               {
               setMEMINT((int)((getMEMINT((int)((ca_5 + (ci_9*4)))) + 32)),(int)(((getMEMINT((int)((getMEMINT((int)((ca_5 + (ci_9*4)))) + 4))) + 1)*8)));
               setMEMINT((int)((getMEMINT((int)((ca1_6 + (ci_9*4)))) + 32)),(int)(((getMEMINT((int)((getMEMINT((int)((ca1_6 + (ci_9*4)))) + 4))) + 1)*8)));
               setMEMINT((int)((getMEMINT((int)((ca2_7 + (ci_9*4)))) + 32)),(int)(((getMEMINT((int)((getMEMINT((int)((ca2_7 + (ci_9*4)))) + 4))) + 1)*8)));
               setMEMINT((int)((getMEMINT((int)((cas_8 + (ci_9*4)))) + 32)),(int)(((getMEMINT((int)((getMEMINT((int)((cas_8 + (ci_9*4)))) + 4))) + 1)*8)));
               
               }
            
            }
            else
            {
            	   
               {
               setMEMINT((int)((getMEMINT((int)((ca_5 + (ci_9*4)))) + 32)),(int)(((getMEMINT((int)((getMEMINT((int)((ca_5 + (ci_9*4)))) + 8))) + 1)*8)));
               setMEMINT((int)((getMEMINT((int)((ca1_6 + (ci_9*4)))) + 32)),(int)(((getMEMINT((int)((getMEMINT((int)((ca1_6 + (ci_9*4)))) + 8))) + 1)*8)));
               setMEMINT((int)((getMEMINT((int)((ca2_7 + (ci_9*4)))) + 32)),(int)(((getMEMINT((int)((getMEMINT((int)((ca2_7 + (ci_9*4)))) + 8))) + 1)*8)));
               setMEMINT((int)((getMEMINT((int)((cas_8 + (ci_9*4)))) + 32)),(int)(((getMEMINT((int)((getMEMINT((int)((cas_8 + (ci_9*4)))) + 8))) + 1)*8)));
               
               }
            
            };
            setMEMINT((int)((getMEMINT((int)((ca_5 + (ci_9*4)))) + 36)),(int)(
            /* file sfg.c line 3672*/
            ccalloc(1,getMEMINT((int)((getMEMINT((int)((ca_5 + (ci_9*4)))) + 32))))));
            setMEMINT((int)((getMEMINT((int)((ca1_6 + (ci_9*4)))) + 36)),(int)(
            /* file sfg.c line 3673*/
            ccalloc(1,getMEMINT((int)((getMEMINT((int)((ca1_6 + (ci_9*4)))) + 32))))));
            setMEMINT((int)((getMEMINT((int)((ca2_7 + (ci_9*4)))) + 36)),(int)(
            /* file sfg.c line 3674*/
            ccalloc(1,getMEMINT((int)((getMEMINT((int)((ca2_7 + (ci_9*4)))) + 32))))));
            setMEMINT((int)((getMEMINT((int)((cas_8 + (ci_9*4)))) + 36)),(int)(
            /* file sfg.c line 3675*/
            ccalloc(1,getMEMINT((int)((getMEMINT((int)((cas_8 + (ci_9*4)))) + 32))))));
            setMEMINT((int)((getMEMINT((int)((ca_5 + (ci_9*4)))) + 20)),(int)(((getMEMINT((int)((getMEMINT((int)((ca_5 + (ci_9*4)))) + 4))) + 1)*4)));
            setMEMINT((int)((getMEMINT((int)((ca1_6 + (ci_9*4)))) + 20)),(int)(((getMEMINT((int)((getMEMINT((int)((ca_5 + (ci_9*4)))) + 4))) + 1)*4)));
            setMEMINT((int)((getMEMINT((int)((ca2_7 + (ci_9*4)))) + 20)),(int)(((getMEMINT((int)((getMEMINT((int)((ca_5 + (ci_9*4)))) + 4))) + 1)*4)));
            setMEMINT((int)((getMEMINT((int)((cas_8 + (ci_9*4)))) + 20)),(int)(((getMEMINT((int)((getMEMINT((int)((ca_5 + (ci_9*4)))) + 4))) + 1)*4)));
            setMEMINT((int)((getMEMINT((int)((ca_5 + (ci_9*4)))) + 16)),(int)(
            /* file sfg.c line 3684*/
            ccalloc(1,getMEMINT((int)((getMEMINT((int)((ca_5 + (ci_9*4)))) + 20))))));
            setMEMINT((int)((getMEMINT((int)((ca1_6 + (ci_9*4)))) + 16)),(int)(
            /* file sfg.c line 3685*/
            ccalloc(1,getMEMINT((int)((getMEMINT((int)((ca1_6 + (ci_9*4)))) + 20))))));
            setMEMINT((int)((getMEMINT((int)((ca2_7 + (ci_9*4)))) + 16)),(int)(
            /* file sfg.c line 3686*/
            ccalloc(1,getMEMINT((int)((getMEMINT((int)((ca2_7 + (ci_9*4)))) + 20))))));
            setMEMINT((int)((getMEMINT((int)((cas_8 + (ci_9*4)))) + 16)),(int)(
            /* file sfg.c line 3687*/
            ccalloc(1,getMEMINT((int)((getMEMINT((int)((cas_8 + (ci_9*4)))) + 20))))));
            setMEMINT((int)((getMEMINT((int)((ca_5 + (ci_9*4)))) + 28)),(int)(((getMEMINT((int)((getMEMINT((int)((ca_5 + (ci_9*4)))) + 8))) + 1)*4)));
            setMEMINT((int)((getMEMINT((int)((ca1_6 + (ci_9*4)))) + 28)),(int)(((getMEMINT((int)((getMEMINT((int)((ca_5 + (ci_9*4)))) + 8))) + 1)*4)));
            setMEMINT((int)((getMEMINT((int)((ca2_7 + (ci_9*4)))) + 28)),(int)(((getMEMINT((int)((getMEMINT((int)((ca_5 + (ci_9*4)))) + 8))) + 1)*4)));
            setMEMINT((int)((getMEMINT((int)((cas_8 + (ci_9*4)))) + 28)),(int)(((getMEMINT((int)((getMEMINT((int)((ca_5 + (ci_9*4)))) + 8))) + 1)*4)));
            setMEMINT((int)((getMEMINT((int)((ca_5 + (ci_9*4)))) + 24)),(int)(
            /* file sfg.c line 3696*/
            ccalloc(1,getMEMINT((int)((getMEMINT((int)((ca_5 + (ci_9*4)))) + 28))))));
            setMEMINT((int)((getMEMINT((int)((ca1_6 + (ci_9*4)))) + 24)),(int)(
            /* file sfg.c line 3697*/
            ccalloc(1,getMEMINT((int)((getMEMINT((int)((ca1_6 + (ci_9*4)))) + 28))))));
            setMEMINT((int)((getMEMINT((int)((ca2_7 + (ci_9*4)))) + 24)),(int)(
            /* file sfg.c line 3698*/
            ccalloc(1,getMEMINT((int)((getMEMINT((int)((ca2_7 + (ci_9*4)))) + 28))))));
            setMEMINT((int)((getMEMINT((int)((cas_8 + (ci_9*4)))) + 24)),(int)(
            /* file sfg.c line 3699*/
            ccalloc(1,getMEMINT((int)((getMEMINT((int)((cas_8 + (ci_9*4)))) + 28))))));
            setMEMINT((int)((getMEMINT((int)((ca_5 + (ci_9*4)))) + 12)),(int)((1 + ((((getMEMINT((int)((getMEMINT((int)((ca_5 + (ci_9*4)))) + 4))) + 1)*(getMEMINT((int)((getMEMINT((int)((ca_5 + (ci_9*4)))) + 8))) + 1)) + 8)/8))));
            setMEMINT((int)((getMEMINT((int)((ca1_6 + (ci_9*4)))) + 12)),(int)((1 + ((((getMEMINT((int)((getMEMINT((int)((ca1_6 + (ci_9*4)))) + 4))) + 1)*(getMEMINT((int)((getMEMINT((int)((ca1_6 + (ci_9*4)))) + 8))) + 1)) + 8)/8))));
            setMEMINT((int)((getMEMINT((int)((ca2_7 + (ci_9*4)))) + 12)),(int)((1 + ((((getMEMINT((int)((getMEMINT((int)((ca2_7 + (ci_9*4)))) + 4))) + 1)*(getMEMINT((int)((getMEMINT((int)((ca2_7 + (ci_9*4)))) + 8))) + 1)) + 8)/8))));
            setMEMINT((int)((getMEMINT((int)((cas_8 + (ci_9*4)))) + 12)),(int)((1 + ((((getMEMINT((int)((getMEMINT((int)((cas_8 + (ci_9*4)))) + 4))) + 1)*(getMEMINT((int)((getMEMINT((int)((cas_8 + (ci_9*4)))) + 8))) + 1)) + 8)/8))));
            setMEMINT((int)((getMEMINT((int)((ca_5 + (ci_9*4)))) + 40)),(int)(
            /* file sfg.c line 3707*/
            ccalloc(1,getMEMINT((int)((getMEMINT((int)((ca_5 + (ci_9*4)))) + 12))))));
            setMEMINT((int)((getMEMINT((int)((ca1_6 + (ci_9*4)))) + 40)),(int)(
            /* file sfg.c line 3708*/
            ccalloc(1,getMEMINT((int)((getMEMINT((int)((ca1_6 + (ci_9*4)))) + 12))))));
            setMEMINT((int)((getMEMINT((int)((ca2_7 + (ci_9*4)))) + 40)),(int)(
            /* file sfg.c line 3709*/
            ccalloc(1,getMEMINT((int)((getMEMINT((int)((ca2_7 + (ci_9*4)))) + 12))))));
            setMEMINT((int)((getMEMINT((int)((cas_8 + (ci_9*4)))) + 40)),(int)(
            /* file sfg.c line 3710*/
            ccalloc(1,getMEMINT((int)((getMEMINT((int)((cas_8 + (ci_9*4)))) + 12))))));
            
            }
         ci_9++;
         
         }
         
         /* file sfg.c line 3716*/
         ci_9=0;
         lab_sfg90 : for( ; (((ci_9)<(getMEMINT((int)((cg + 20)))))?1:0)!=0 ; )
         {
            
            {
            
            /* file sfg.c line 3715*/
            cmake_matrix(cg,ci_9,getMEMINT((int)((ca_5 + (ci_9*4)))));
            
            }
         ci_9++;
         
         }
         
         /* file sfg.c line 3718*/
         ccopy_a(cg,ca_5,cas_8);
         cks_10=
         /* file sfg.c line 3719*/
         cnumber_of_crossings_a(cg,cas_8);
         setMEMINT((int)((cg + 96)),(int)(cks_10));
         
         /* file sfg.c line 3723*/
         if( (((cks_10)>(0))?1:0)!=0)
         {
         	   
            {
            cch1_15=0;
            cch1_15+=
            /* file sfg.c line 3729*/
            cphase1_down(cg,ca_5);
            
            /* file sfg.c line 3730*/
            ccopy_a(cg,ca_5,cas_8);
            cch1_15+=
            /* file sfg.c line 3731*/
            cphase1_up(cg,ca_5);
            
            /* file sfg.c line 3732*/
            ccopy_a(cg,ca_5,cas_8);
            cn1_12=0;
            
            lab_sfg91 : do{
               
               {
               
               /* file sfg.c line 3738*/
               ccopy_a(cg,ca_5,ca1_6);
               cch1_15+=
               /* file sfg.c line 3740*/
               cphase1_down(cg,ca_5);
               ck_11=
               /* file sfg.c line 3741*/
               cnumber_of_crossings_a(cg,ca_5);
               
               /* file sfg.c line 3743*/
               if( (((ck_11)<(cks_10))?1:0)!=0)
               {
               	   
                  {
                  cks_10=ck_11;
                  
                  /* file sfg.c line 3746*/
                  ccopy_a(cg,ca_5,cas_8);
                  
                  }
               
               };
               cch1_15+=
               /* file sfg.c line 3749*/
               cphase1_up(cg,ca_5);
               ck_11=
               /* file sfg.c line 3751*/
               cnumber_of_crossings_a(cg,ca_5);
               
               /* file sfg.c line 3753*/
               if( (((ck_11)<(cks_10))?1:0)!=0)
               {
               	   
                  {
                  cks_10=ck_11;
                  
                  /* file sfg.c line 3755*/
                  ccopy_a(cg,ca_5,cas_8);
                  
                  }
               
               };
               ccht_14+=cch1_15;
               
               /* file sfg.c line 3760*/
               if( (((cks_10)==(0))?1:0)!=0)
               {
               	   
                  {
                  if(true)
                  {
                  break lab_sfg91;
                  };
                  
                  }
               
               };
               cr1_17=cr2_18;
               cr2_18=cr3_19;
               cr3_19=cks_10;
               
               /* file sfg.c line 3768*/
               if( (((cr1_17)==(cr2_18))?1:0)!=0)
               {
               	   
                  {
                  
                  /* file sfg.c line 3769*/
                  if( (((cr2_18)==(cr3_19))?1:0)!=0)
                  {
                  	   
                     {
                     if(true)
                     {
                     break lab_sfg91;
                     };
                     
                     }
                  
                  };
                  
                  }
               
               };
               
               }
            
            }while ((((((((++cn1_12))<(cit1_23))?1:0))!=0)? ((((
            /* file sfg.c line 3775*/
            cequal_a(cg,ca_5,ca1_6))==(0))?1:0)):0)!=0);
            
            /* file sfg.c line 3778*/
            if( (((
            /* file sfg.c line 3778*/
            cequal_a(cg,ca_5,cas_8))==(0))?1:0)!=0)
            {
            	   
               {
               
               /* file sfg.c line 3779*/
               ccopy_a(cg,cas_8,ca_5);
               
               }
            
            };
            
            /* file sfg.c line 3782*/
            if( (((cks_10)>(0))?1:0)!=0)
            {
            	   
               {
               cn2_13=0;
               ccht_14+=cch1_15;
               
               lab_sfg92 : do{
                  
                  {
                  cch2_16=0;
                  
                  /* file sfg.c line 3790*/
                  ccopy_a(cg,ca_5,ca2_7);
                  cch2_16+=
                  /* file sfg.c line 3791*/
                  cphase2_down(cg,ca_5);
                  cn1_12=0;
                  
                  lab_sfg93 : do{
                     
                     {
                     cch1_15=0;
                     
                     /* file sfg.c line 3796*/
                     ccopy_a(cg,ca_5,ca1_6);
                     cch1_15+=
                     /* file sfg.c line 3797*/
                     cphase1_down(cg,ca_5);
                     ck_11=
                     /* file sfg.c line 3798*/
                     cnumber_of_crossings_a(cg,ca_5);
                     
                     /* file sfg.c line 3799*/
                     if( (((ck_11)<(cks_10))?1:0)!=0)
                     {
                     	   
                        {
                        cks_10=ck_11;
                        
                        /* file sfg.c line 3801*/
                        ccopy_a(cg,ca_5,cas_8);
                        
                        }
                     
                     };
                     cch1_15+=
                     /* file sfg.c line 3804*/
                     cphase1_up(cg,ca_5);
                     ck_11=
                     /* file sfg.c line 3805*/
                     cnumber_of_crossings_a(cg,ca_5);
                     
                     /* file sfg.c line 3806*/
                     if( (((ck_11)<(cks_10))?1:0)!=0)
                     {
                     	   
                        {
                        cks_10=ck_11;
                        
                        /* file sfg.c line 3808*/
                        ccopy_a(cg,ca_5,cas_8);
                        
                        }
                     
                     };
                     
                     /* file sfg.c line 3811*/
                     if( (((cks_10)==(0))?1:0)!=0)
                     {
                     	   
                        {
                        if(true)
                        {
                        break lab_sfg93;
                        };
                        
                        }
                     
                     };
                     crr1_20=crr2_21;
                     crr2_21=crr3_22;
                     crr3_22=cks_10;
                     
                     /* file sfg.c line 3819*/
                     if( (((crr1_20)==(crr2_21))?1:0)!=0)
                     {
                     	   
                        {
                        
                        /* file sfg.c line 3820*/
                        if( (((crr2_21)==(crr3_22))?1:0)!=0)
                        {
                        	   
                           {
                           if(true)
                           {
                           break lab_sfg93;
                           };
                           
                           }
                        
                        };
                        
                        }
                     
                     };
                     
                     }
                  
                  }while ((((((((++cn1_12))<(cit1_23))?1:0))!=0)? ((((
                  /* file sfg.c line 3826*/
                  cequal_a(cg,ca_5,ca1_6))==(0))?1:0)):0)!=0);
                  cch2_16+=
                  /* file sfg.c line 3828*/
                  cphase2_up(cg,ca_5);
                  cn1_12=0;
                  
                  lab_sfg94 : do{
                     
                     {
                     
                     /* file sfg.c line 3832*/
                     ccopy_a(cg,ca_5,ca1_6);
                     cch1_15+=
                     /* file sfg.c line 3833*/
                     cphase1_up(cg,ca_5);
                     ck_11=
                     /* file sfg.c line 3834*/
                     cnumber_of_crossings_a(cg,ca_5);
                     
                     /* file sfg.c line 3835*/
                     if( (((ck_11)<(cks_10))?1:0)!=0)
                     {
                     	   
                        {
                        cks_10=ck_11;
                        
                        /* file sfg.c line 3837*/
                        ccopy_a(cg,ca_5,cas_8);
                        
                        }
                     
                     };
                     cch1_15+=
                     /* file sfg.c line 3840*/
                     cphase1_down(cg,ca_5);
                     ck_11=
                     /* file sfg.c line 3841*/
                     cnumber_of_crossings_a(cg,ca_5);
                     
                     /* file sfg.c line 3842*/
                     if( (((ck_11)<(cks_10))?1:0)!=0)
                     {
                     	   
                        {
                        cks_10=ck_11;
                        
                        /* file sfg.c line 3844*/
                        ccopy_a(cg,ca_5,cas_8);
                        
                        }
                     
                     };
                     ccht_14+=cch1_15;
                     
                     /* file sfg.c line 3849*/
                     if( (((cks_10)==(0))?1:0)!=0)
                     {
                     	   
                        {
                        if(true)
                        {
                        break lab_sfg94;
                        };
                        
                        }
                     
                     };
                     crr1_20=crr2_21;
                     crr2_21=crr3_22;
                     crr3_22=cks_10;
                     
                     /* file sfg.c line 3857*/
                     if( (((crr1_20)==(crr2_21))?1:0)!=0)
                     {
                     	   
                        {
                        
                        /* file sfg.c line 3858*/
                        if( (((crr2_21)==(crr3_22))?1:0)!=0)
                        {
                        	   
                           {
                           if(true)
                           {
                           break lab_sfg94;
                           };
                           
                           }
                        
                        };
                        
                        }
                     
                     };
                     
                     }
                  
                  }while ((((((((++cn1_12))<(cit1_23))?1:0))!=0)? ((((
                  /* file sfg.c line 3864*/
                  cequal_a(cg,ca_5,ca1_6))==(0))?1:0)):0)!=0);
                  ccht_14+=cch1_15;
                  ccht_14+=cch2_16;
                  
                  /* file sfg.c line 3869*/
                  if( (((cks_10)==(0))?1:0)!=0)
                  {
                  	   
                     {
                     if(true)
                     {
                     break lab_sfg92;
                     };
                     
                     }
                  
                  };
                  cr1_17=cr2_18;
                  cr2_18=cr3_19;
                  cr3_19=cks_10;
                  
                  /* file sfg.c line 3877*/
                  if( (((cr1_17)==(cr2_18))?1:0)!=0)
                  {
                  	   
                     {
                     
                     /* file sfg.c line 3878*/
                     if( (((cr2_18)==(cr3_19))?1:0)!=0)
                     {
                     	   
                        {
                        if(true)
                        {
                        break lab_sfg92;
                        };
                        
                        }
                     
                     };
                     
                     }
                  
                  };
                  
                  }
               
               }while ((((((((++cn2_13))<(cit2_24))?1:0))!=0)? ((((
               /* file sfg.c line 3884*/
               cequal_a(cg,ca_5,ca2_7))==(0))?1:0)):0)!=0);
               
               }
            
            };
            
            }
         
         };
         setMEMINT((int)((cg + 100)),(int)(cks_10));
         setMEMINT((int)((cg + 104)),(int)(ccht_14));
         
         /* file sfg.c line 3897*/
         ci_9=0;
         lab_sfg95 : for( ; (((ci_9)<(getMEMINT((int)((cg + 20)))))?1:0)!=0 ; )
         {
            
            {
            
            /* file sfg.c line 3896*/
            cstore_new_positions(cg,getMEMINT((int)((cas_8 + (ci_9*4)))),ci_9);
            
            }
         ci_9+=2;
         
         }
         
         /* file sfg.c line 3899*/
         if( (((ci_9)==(getMEMINT((int)((cg + 20)))))?1:0)!=0)
         {
         	   
            {
            
            /* file sfg.c line 3900*/
            cstore_new_positions(cg,getMEMINT((int)((cas_8 + ((getMEMINT((int)((cg + 20))) - 1)*4)))),(getMEMINT((int)((cg + 20))) - 1));
            
            }
         
         };
         
         /* file sfg.c line 3931*/
         ci_9=0;
         lab_sfg96 : for( ; (((ci_9)<(getMEMINT((int)((cg + 20)))))?1:0)!=0 ; )
         {
            
            {
            
            /* file sfg.c line 3904*/
            if( getMEMINT((int)((ca_5 + (ci_9*4))))!=0)
            {
            	   
               {
               
               /* file sfg.c line 3905*/
               cfree(getMEMINT((int)((getMEMINT((int)((ca_5 + (ci_9*4)))) + 36))));
               
               /* file sfg.c line 3906*/
               cfree(getMEMINT((int)((getMEMINT((int)((ca_5 + (ci_9*4)))) + 16))));
               
               /* file sfg.c line 3907*/
               cfree(getMEMINT((int)((getMEMINT((int)((ca_5 + (ci_9*4)))) + 24))));
               
               /* file sfg.c line 3908*/
               cfree(getMEMINT((int)((getMEMINT((int)((ca_5 + (ci_9*4)))) + 40))));
               
               }
            
            };
            
            /* file sfg.c line 3910*/
            if( getMEMINT((int)((ca1_6 + (ci_9*4))))!=0)
            {
            	   
               {
               
               /* file sfg.c line 3911*/
               cfree(getMEMINT((int)((getMEMINT((int)((ca1_6 + (ci_9*4)))) + 36))));
               
               /* file sfg.c line 3912*/
               cfree(getMEMINT((int)((getMEMINT((int)((ca1_6 + (ci_9*4)))) + 16))));
               
               /* file sfg.c line 3913*/
               cfree(getMEMINT((int)((getMEMINT((int)((ca1_6 + (ci_9*4)))) + 24))));
               
               /* file sfg.c line 3914*/
               cfree(getMEMINT((int)((getMEMINT((int)((ca1_6 + (ci_9*4)))) + 40))));
               
               }
            
            };
            
            /* file sfg.c line 3916*/
            if( getMEMINT((int)((ca2_7 + (ci_9*4))))!=0)
            {
            	   
               {
               
               /* file sfg.c line 3917*/
               cfree(getMEMINT((int)((getMEMINT((int)((ca2_7 + (ci_9*4)))) + 36))));
               
               /* file sfg.c line 3918*/
               cfree(getMEMINT((int)((getMEMINT((int)((ca2_7 + (ci_9*4)))) + 16))));
               
               /* file sfg.c line 3919*/
               cfree(getMEMINT((int)((getMEMINT((int)((ca2_7 + (ci_9*4)))) + 24))));
               
               /* file sfg.c line 3920*/
               cfree(getMEMINT((int)((getMEMINT((int)((ca2_7 + (ci_9*4)))) + 40))));
               
               }
            
            };
            
            /* file sfg.c line 3922*/
            if( getMEMINT((int)((cas_8 + (ci_9*4))))!=0)
            {
            	   
               {
               
               /* file sfg.c line 3923*/
               cfree(getMEMINT((int)((getMEMINT((int)((cas_8 + (ci_9*4)))) + 36))));
               
               /* file sfg.c line 3925*/
               cfree(getMEMINT((int)((getMEMINT((int)((cas_8 + (ci_9*4)))) + 16))));
               
               /* file sfg.c line 3927*/
               cfree(getMEMINT((int)((getMEMINT((int)((cas_8 + (ci_9*4)))) + 24))));
               
               /* file sfg.c line 3929*/
               cfree(getMEMINT((int)((getMEMINT((int)((cas_8 + (ci_9*4)))) + 40))));
               
               }
            
            };
            
            }
         ci_9++;
         
         }
         
         /* file sfg.c line 3938*/
         ci_9=0;
         lab_sfg97 : for( ; (((ci_9)<(getMEMINT((int)((cg + 20)))))?1:0)!=0 ; )
         {
            
            {
            
            /* file sfg.c line 3934*/
            cfree(getMEMINT((int)((ca_5 + (ci_9*4)))));
            
            /* file sfg.c line 3935*/
            cfree(getMEMINT((int)((ca1_6 + (ci_9*4)))));
            
            /* file sfg.c line 3936*/
            cfree(getMEMINT((int)((ca2_7 + (ci_9*4)))));
            
            /* file sfg.c line 3937*/
            cfree(getMEMINT((int)((cas_8 + (ci_9*4)))));
            
            }
         ci_9++;
         
         }
         
         /* file sfg.c line 3940*/
         cfree(ca_5);
         
         /* file sfg.c line 3941*/
         cfree(ca1_6);
         
         /* file sfg.c line 3942*/
         cfree(ca2_7);
         
         /* file sfg.c line 3943*/
         cfree(cas_8);
         if(true)
         {
         prevlevel();
         return ;
         };
         
         }
      };
      prevlevel();
   }
   
   /* file sfg.c line 4210*/
   
   public static void cbarycenter(int  cg,int  cit1v,int  cit2v)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
         
         {
         
         /* file sfg.c line 4213*/
         if( (((getMEMINT((int)((cg + 108))))==((int)(0)))?1:0)!=0)
         {
         	   
            {
            setMEMINT((int)((cg + 108)),(int)((int)(
            /* file sfg.c line 4214*/
            ccalloc(1,((getMEMINT((int)((cg + 20))) + 1)*4)))));
            
            }
         
         };
         
         /* file sfg.c line 4217*/
         if( (((getMEMINT((int)((cg + 20))))==(0))?1:0)!=0)
         {
         	   
            {
            if(true)
            {
            prevlevel();
            return ;
            };
            
            }
         
         };
         
         /* file sfg.c line 4222*/
         if( (((getMEMINT((int)((cg + 8))))<(2))?1:0)!=0)
         {
         	   
            {
            if(true)
            {
            prevlevel();
            return ;
            };
            
            }
         
         };
         
         /* file sfg.c line 4226*/
         if( (((getMEMINT((int)((cg + 16))))<(2))?1:0)!=0)
         {
         	   
            {
            if(true)
            {
            prevlevel();
            return ;
            };
            
            }
         
         };
         
         /* file sfg.c line 4230*/
         cbc_n(cg,cit1v,cit2v);
         if(true)
         {
         prevlevel();
         return ;
         };
         
         }
      };
      prevlevel();
   }
public static 	int  cmindist_4= 1;
public static 	int  ccsn_5= 0;
public static 	int  ccnodelist_6= (int)(0);
public static 	int  ccnodelisttail_7= (int)(0);
public static 	int  ccnnodes_of_level_8= (int)(0);
public static 	int  ccmaxx_9= 0;
public static 	int  ccmaxy_10= 0;
public static 	int  ccwidestnnodes_11= 0;
public static 	int  ccwpos_12= (int)(0);
public static 	int  ccposnodes_13= (int)(0);
public static 	int  cchpos_14= (int)(0);
public static 	int  cclevelnodes_15= (int)(0);
public static 	int  cxspacing_16= 0;
public static 	int  cyspacing_17= 0;
public static 	int  cnl_18= (int)(0);
   
   /* file sfg.c line 4282*/
   
   public static int cis_dummy(int  cnode)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int retval= 0;
         
         {
         
         /* file sfg.c line 4283*/
         if( getMEMINT((int)((cnode + 20)))!=0)
         {
         	   
            {
            retval= 1;
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         }
         else
         {
         	   
            {
            retval= 0;
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         
         }
      };
      prevlevel();
      return 0;
   }
   
   /* file sfg.c line 4292*/
   
   public static int cupper_connectivity(int  cnode)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int retval= 0;
      int  cel_4= 0;
      int  cresult_5= 0;
         
         {
         cel_4= (int)(0);
         cresult_5= 0;
         cresult_5=0;
         
         /* file sfg.c line 4298*/
         if( (((cnode)==((int)(0)))?1:0)!=0)
         {
         	   
            {
            retval= 0;
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         cel_4=getMEMINT((int)((cnode + 108)));
         lab_sfg98 : while( (cel_4) !=0 )
         {
         	   
            {
            
            /* file sfg.c line 4308*/
            if( (((getMEMINT((int)((getMEMINT((int)((cel_4 + 0))) + 28))))==(0))?1:0)!=0)
            {
            	   
               {
               
               /* file sfg.c line 4310*/
               if( (((getMEMINT((int)((getMEMINT((int)((getMEMINT((int)((cel_4 + 0))) + 4))) + 116))))==(ccsn_5))?1:0)!=0)
               {
               	   
                  {
                  cresult_5++;
                  
                  }
               
               };
               
               }
            
            };
            cel_4=getMEMINT((int)((cel_4 + 4)));
            
            }
         
         }
         retval= cresult_5;
         if(true)
         {
         prevlevel();
         return retval;
         };
         
         }
      };
      prevlevel();
      return 0;
   }
   
   /* file sfg.c line 4322*/
   
   public static int clower_connectivity(int  cnode)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int retval= 0;
      int  cel_4= 0;
      int  cresult_5= 0;
         
         {
         cel_4= (int)(0);
         cresult_5= 0;
         cresult_5=0;
         
         /* file sfg.c line 4328*/
         if( (((cnode)==((int)(0)))?1:0)!=0)
         {
         	   
            {
            retval= 0;
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         cel_4=getMEMINT((int)((cnode + 100)));
         lab_sfg99 : while( (cel_4) !=0 )
         {
         	   
            {
            
            /* file sfg.c line 4338*/
            if( (((getMEMINT((int)((getMEMINT((int)((cel_4 + 0))) + 28))))==(0))?1:0)!=0)
            {
            	   
               {
               
               /* file sfg.c line 4340*/
               if( (((getMEMINT((int)((getMEMINT((int)((getMEMINT((int)((cel_4 + 0))) + 8))) + 116))))==(ccsn_5))?1:0)!=0)
               {
               	   
                  {
                  cresult_5++;
                  
                  }
               
               };
               
               }
            
            };
            cel_4=getMEMINT((int)((cel_4 + 4)));
            
            }
         
         }
         retval= cresult_5;
         if(true)
         {
         prevlevel();
         return retval;
         };
         
         }
      };
      prevlevel();
      return 0;
   }
   
   /* file sfg.c line 4352*/
   
   public static double cdo_floor(double  cnum)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      double retval= 0;
      double  cret_4= 0;
         
         {
         cret_4= 0.0;
         
         /* file sfg.c line 4354*/
         if( (((cnum)<(0))?1:0)!=0)
         {
         	   
            {
            cret_4=(int)((cnum - (double)(1)));
            
            }
         
         }
         else
         {
         	   
            {
            cret_4=(int)(cnum);
            
            }
         
         };
         retval= cret_4;
         if(true)
         {
         prevlevel();
         return retval;
         };
         
         }
      };
      prevlevel();
      return 0;
   }
   
   /* file sfg.c line 4364*/
   
   public static int cupper_barycenter(int  cnode)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int retval= 0;
      int  cel_4= 0;
      int  cresult_5= 0;
      double  cr_6= 0;
         
         {
         cel_4= (int)(0);
         cresult_5= 0;
         cr_6= 0.0;
         
         /* file sfg.c line 4369*/
         if( (((cnode)==((int)(0)))?1:0)!=0)
         {
         	   
            {
            retval= 0;
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         cel_4=getMEMINT((int)((cnode + 108)));
         lab_sfg100 : while( (cel_4) !=0 )
         {
         	   
            {
            
            /* file sfg.c line 4379*/
            if( (((getMEMINT((int)((getMEMINT((int)((cel_4 + 0))) + 28))))==(0))?1:0)!=0)
            {
            	   
               {
               
               /* file sfg.c line 4381*/
               if( (((getMEMINT((int)((getMEMINT((int)((getMEMINT((int)((cel_4 + 0))) + 4))) + 116))))==(ccsn_5))?1:0)!=0)
               {
               	   
                  {
                  cresult_5+=getMEMINT((int)((getMEMINT((int)((getMEMINT((int)((cel_4 + 0))) + 4))) + 68)));
                  
                  }
               
               };
               
               }
            
            };
            cel_4=getMEMINT((int)((cel_4 + 4)));
            
            }
         
         }
         
         /* file sfg.c line 4388*/
         if( (((cresult_5)==(0))?1:0)!=0)
         {
         	   
            {
            cr_6=0.0;
            
            }
         
         }
         else
         {
         	   
            {
            
            /* file sfg.c line 4391*/
            if( (((
            /* file sfg.c line 4391*/
            cupper_connectivity(cnode))==(0))?1:0)!=0)
            {
            	   
               {
               cr_6=0.0;
               
               }
            
            }
            else
            {
            	   
               {
               cr_6=(cresult_5/
               /* file sfg.c line 4394*/
               cupper_connectivity(cnode));
               
               }
            
            };
            
            }
         
         };
         cr_6=
         /* file sfg.c line 4398*/
         cdo_floor((cr_6 + 0.5));
         retval= (int)(cr_6);
         if(true)
         {
         prevlevel();
         return retval;
         };
         
         }
      };
      prevlevel();
      return 0;
   }
   
   /* file sfg.c line 4405*/
   
   public static int clower_barycenter(int  cnode)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int retval= 0;
      int  cel_4= 0;
      int  cresult_5= 0;
      double  cr_6= 0;
         
         {
         cel_4= (int)(0);
         cresult_5= 0;
         cr_6= 0.0;
         
         /* file sfg.c line 4410*/
         if( (((cnode)==((int)(0)))?1:0)!=0)
         {
         	   
            {
            retval= 0;
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         cel_4=getMEMINT((int)((cnode + 100)));
         lab_sfg101 : while( (cel_4) !=0 )
         {
         	   
            {
            
            /* file sfg.c line 4420*/
            if( (((getMEMINT((int)((getMEMINT((int)((cel_4 + 0))) + 28))))==(0))?1:0)!=0)
            {
            	   
               {
               
               /* file sfg.c line 4422*/
               if( (((getMEMINT((int)((getMEMINT((int)((getMEMINT((int)((cel_4 + 0))) + 8))) + 116))))==(ccsn_5))?1:0)!=0)
               {
               	   
                  {
                  cresult_5+=getMEMINT((int)((getMEMINT((int)((getMEMINT((int)((cel_4 + 0))) + 8))) + 68)));
                  
                  }
               
               };
               
               }
            
            };
            cel_4=getMEMINT((int)((cel_4 + 4)));
            
            }
         
         }
         
         /* file sfg.c line 4429*/
         if( (((cresult_5)==(0))?1:0)!=0)
         {
         	   
            {
            cr_6=0.0;
            
            }
         
         }
         else
         {
         	   
            {
            
            /* file sfg.c line 4432*/
            if( (((
            /* file sfg.c line 4432*/
            clower_connectivity(cnode))==(0))?1:0)!=0)
            {
            	   
               {
               cr_6=0.0;
               
               }
            
            }
            else
            {
            	   
               {
               cr_6=(cresult_5/
               /* file sfg.c line 4435*/
               clower_connectivity(cnode));
               
               }
            
            };
            
            }
         
         };
         cr_6=
         /* file sfg.c line 4439*/
         cdo_floor((cr_6 + 0.5));
         retval= (int)(cr_6);
         if(true)
         {
         prevlevel();
         return retval;
         };
         
         }
      };
      prevlevel();
      return 0;
   }
   
   /* file sfg.c line 4445*/
   
   public static void csort(int  cn)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int  ci_3= 0;
      int  cj_4= 0;
      int  ch_5= 0;
         
         {
         ci_3= 0;
         cj_4= 0;
         ch_5= calloca(12);
         
         /* file sfg.c line 4462*/
         cj_4=(cn - 1);
         lab_sfg102 : for( ; (((cj_4)>(0))?1:0)!=0 ; )
         {
            
            {
            
            /* file sfg.c line 4461*/
            ci_3=0;
            lab_sfg103 : for( ; (((ci_3)<(cj_4))?1:0)!=0 ; )
            {
               
               {
               
               /* file sfg.c line 4453*/
               if( (((getMEMINT((int)(((cnl_18 + (ci_3*12)) + 0))))!=0)? (getMEMINT((int)(((cnl_18 + ((ci_3 + 1)*12)) + 0)))):0)!=0)
               {
               	   
                  {
                  
                  /* file sfg.c line 4454*/
                  if( (((getMEMINT((int)((getMEMINT((int)(((cnl_18 + (ci_3*12)) + 0))) + 60))))>(getMEMINT((int)((getMEMINT((int)(((cnl_18 + ((ci_3 + 1)*12)) + 0))) + 60)))))?1:0)!=0)
                  {
                  	   
                     {
                     cmemcpy((int)ch_5,(int)((int)((cnl_18 + (ci_3*12)))),12);
                     cmemcpy((int)(cnl_18 + (ci_3*12)),(int)((int)((cnl_18 + ((ci_3 + 1)*12)))),12);
                     cmemcpy((int)(cnl_18 + ((ci_3 + 1)*12)),(int)((int)(ch_5)),12);
                     
                     }
                  
                  };
                  
                  }
               
               };
               
               }
            ci_3++;
            
            }
            
            }
         cj_4--;
         
         }
         if(true)
         {
         prevlevel();
         return ;
         };
         
         }
      };
      prevlevel();
   }
   
   /* file sfg.c line 4469*/
   
   public static void cmake_node_list_up(int  cl)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int  cgnl_3= 0;
      int  cn_4= 0;
      int  ci_5= 0;
         
         {
         cgnl_3= (int)(0);
         cn_4= (int)(0);
         ci_5= 0;
         cgnl_3=ccnodelist_6;
         ci_5=0;
         lab_sfg104 : while( (cgnl_3) !=0 )
         {
         	   
            {
            cn_4=getMEMINT((int)((cgnl_3 + 0)));
            
            /* file sfg.c line 4481*/
            if( (((getMEMINT((int)((cn_4 + 72))))==(cl))?1:0)!=0)
            {
            	   
               {
               setMEMINT((int)(((cnl_18 + (ci_5*12)) + 0)),(int)(cn_4));
               setMEMINT((int)(((cnl_18 + (ci_5*12)) + 8)),(int)(0));
               
               /* file sfg.c line 4484*/
               if( (((
               /* file sfg.c line 4484*/
               cis_dummy(cn_4))==(1))?1:0)!=0)
               {
               	   
                  {
                  setMEMINT((int)(((cnl_18 + (ci_5*12)) + 4)),(int)((100000 - getMEMINT((int)((cn_4 + 60))))));
                  
                  }
               
               }
               else
               {
               	   
                  {
                  setMEMINT((int)(((cnl_18 + (ci_5*12)) + 4)),(int)(
                  /* file sfg.c line 4489*/
                  clower_connectivity(cn_4)));
                  
                  }
               
               };
               ci_5++;
               
               }
            
            };
            cgnl_3=getMEMINT((int)((cgnl_3 + 4)));
            
            }
         
         }
         
         /* file sfg.c line 4496*/
         csort(getMEMINT((int)((ccnnodes_of_level_8 + (cl*4)))));
         if(true)
         {
         prevlevel();
         return ;
         };
         
         }
      };
      prevlevel();
   }
   
   /* file sfg.c line 4503*/
   
   public static void cmake_node_list_down(int  cl)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int  cgnl_3= 0;
      int  cn_4= 0;
      int  ci_5= 0;
         
         {
         cgnl_3= (int)(0);
         cn_4= (int)(0);
         ci_5= 0;
         cgnl_3=ccnodelist_6;
         lab_sfg105 : while( (cgnl_3) !=0 )
         {
         	   
            {
            cn_4=getMEMINT((int)((cgnl_3 + 0)));
            
            /* file sfg.c line 4513*/
            if( (((getMEMINT((int)((cn_4 + 72))))==(cl))?1:0)!=0)
            {
            	   
               {
               setMEMINT((int)(((cnl_18 + (ci_5*12)) + 0)),(int)(cn_4));
               setMEMINT((int)(((cnl_18 + (ci_5*12)) + 8)),(int)(0));
               
               /* file sfg.c line 4516*/
               if( (((
               /* file sfg.c line 4516*/
               cis_dummy(cn_4))==(1))?1:0)!=0)
               {
               	   
                  {
                  setMEMINT((int)(((cnl_18 + (ci_5*12)) + 4)),(int)((100000 - getMEMINT((int)((cn_4 + 60))))));
                  
                  }
               
               }
               else
               {
               	   
                  {
                  setMEMINT((int)(((cnl_18 + (ci_5*12)) + 4)),(int)(
                  /* file sfg.c line 4521*/
                  cupper_connectivity(cn_4)));
                  
                  }
               
               };
               ci_5++;
               
               }
            
            };
            cgnl_3=getMEMINT((int)((cgnl_3 + 4)));
            
            }
         
         }
         
         /* file sfg.c line 4528*/
         csort(getMEMINT((int)((ccnnodes_of_level_8 + (cl*4)))));
         if(true)
         {
         prevlevel();
         return ;
         };
         
         }
      };
      prevlevel();
   }
   
   /* file sfg.c line 4535*/
   
   public static int cfind_next(int  cn)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int retval= 0;
      int  cindex_4= 0;
      int  ci_5= 0;
      int  chighest_priority_6= 0;
         
         {
         cindex_4= 0;
         ci_5= 0;
         chighest_priority_6= 0;
         
         /* file sfg.c line 4546*/
         ci_5=0;
         lab_sfg106 : for( ; (((ci_5)<(cn))?1:0)!=0 ; )
         {
            
            {
            
            /* file sfg.c line 4542*/
            if( ((((((getMEMINT((int)(((cnl_18 + (ci_5*12)) + 4))))>=(chighest_priority_6))?1:0))!=0)? ((((getMEMINT((int)(((cnl_18 + (ci_5*12)) + 8))))==(0))?1:0)):0)!=0)
            {
            	   
               {
               cindex_4=ci_5;
               chighest_priority_6=getMEMINT((int)(((cnl_18 + (ci_5*12)) + 4)));
               
               }
            
            };
            
            }
         ci_5++;
         
         }
         retval= cindex_4;
         if(true)
         {
         prevlevel();
         return retval;
         };
         
         }
      };
      prevlevel();
      return 0;
   }
   
   /* file sfg.c line 4552*/
   
   public static void cdo_down(int  cl)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int  ci_3= 0;
      int  cindex_4= 0;
      int  cj_5= 0;
      int  coptimal_position_6= 0;
      int  cdistance_7= 0;
      int  cpossible_distance_8= 0;
      int  cd_9= 0;
      int  ck_10= 0;
      int  cd_11= 0;
      int  ck_12= 0;
      int y13= 0;
      int y14= 0;
         
         {
         ci_3= 0;
         cindex_4= 0;
         cj_5= 0;
         coptimal_position_6= 0;
         cdistance_7= 0;
         cpossible_distance_8= 0;
         
         /* file sfg.c line 4660*/
         ci_3=0;
         lab_sfg107 : for( ; (((ci_3)<(getMEMINT((int)((ccnnodes_of_level_8 + (cl*4))))))?1:0)!=0 ; )
         {
            
            {
            cindex_4=
            /* file sfg.c line 4561*/
            cfind_next(getMEMINT((int)((ccnnodes_of_level_8 + (cl*4)))));
            
            /* file sfg.c line 4563*/
            if( getMEMINT((int)(((cnl_18 + (cindex_4*12)) + 0)))!=0)
            {
            	   
               {
               coptimal_position_6=
               /* file sfg.c line 4565*/
               cupper_barycenter(getMEMINT((int)(((cnl_18 + (cindex_4*12)) + 0))));
               
               /* file sfg.c line 4567*/
               if( (((coptimal_position_6)==(0))?1:0)!=0)
               {
               	   
                  {
                  coptimal_position_6=getMEMINT((int)((getMEMINT((int)(((cnl_18 + (cindex_4*12)) + 0))) + 68)));
                  
                  }
               
               };
               
               /* file sfg.c line 4571*/
               if( (((coptimal_position_6)<(getMEMINT((int)((getMEMINT((int)(((cnl_18 + (cindex_4*12)) + 0))) + 68)))))?1:0)!=0)
               {
               	   
                  {
                  cdistance_7=(getMEMINT((int)((getMEMINT((int)(((cnl_18 + (cindex_4*12)) + 0))) + 68))) - coptimal_position_6);
                  cpossible_distance_8=0;
                  cj_5=cindex_4;
                  
                  lab_sfg108 : do{
                     
                     {
                     
                     /* file sfg.c line 4578*/
                     if( (((cj_5)>(0))?1:0)!=0)
                     {
                     	   
                        {
                        cpossible_distance_8+=((getMEMINT((int)((getMEMINT((int)(((cnl_18 + (cj_5*12)) + 0))) + 68))) - getMEMINT((int)((getMEMINT((int)(((cnl_18 + ((cj_5 - 1)*12)) + 0))) + 68)))) - cmindist_4);
                        
                        }
                     
                     }
                     else
                     {
                     	   
                        {
                        cpossible_distance_8+=(getMEMINT((int)((getMEMINT((int)(((cnl_18 + (cj_5*12)) + 0))) + 68))) - cmindist_4);
                        
                        }
                     
                     };
                     cj_5--;
                     
                     }
                  
                  }while (((((((cj_5)>=(0))?1:0))!=0)? (((getMEMINT((int)(((cnl_18 + (cj_5*12)) + 8)))==0)?1:0)):0)!=0);
                  
                  /* file sfg.c line 4588*/
                  if( (((cpossible_distance_8)<(cdistance_7))?1:0)!=0)
                  {
                  	   
                     {
                     cdistance_7=cpossible_distance_8;
                     
                     }
                  
                  };
                  cj_5=cindex_4;
                  lab_sfg109 : while( ((((cdistance_7)>(0))?1:0)) !=0 )
                  {
                  	   
                     {
                     cd_9= 0;
                     ck_10= 0;
                     
                     /* file sfg.c line 4597*/
                     if( (((cj_5)==(0))?1:0)!=0)
                     {
                     	   
                        {
                        cd_9=cdistance_7;
                        
                        }
                     
                     }
                     else
                     {
                     	   
                        {
                        
                        /* file sfg.c line 4600*/
                        if( (((((getMEMINT((int)((getMEMINT((int)(((cnl_18 + (cj_5*12)) + 0))) + 68))) - getMEMINT((int)((getMEMINT((int)(((cnl_18 + ((cj_5 - 1)*12)) + 0))) + 68)))) - cmindist_4))<(cdistance_7))?1:0)!=0)
                        {
                        	   
                           {
                           cd_9=((getMEMINT((int)((getMEMINT((int)(((cnl_18 + (cj_5*12)) + 0))) + 68))) - getMEMINT((int)((getMEMINT((int)(((cnl_18 + ((cj_5 - 1)*12)) + 0))) + 68)))) - cmindist_4);
                           
                           }
                        
                        }
                        else
                        {
                        	   
                           {
                           cd_9=cdistance_7;
                           
                           }
                        
                        };
                        
                        }
                     
                     };
                     
                     /* file sfg.c line 4609*/
                     ck_10=cj_5;
                     lab_sfg110 : for( ; (((ck_10)<=(cindex_4))?1:0)!=0 ; )
                     {
                        
                        {
                        y13= (int)((getMEMINT((int)(((cnl_18 + (ck_10*12)) + 0))) + 68));
                        setMEMINT((int)(y13),(int)((getMEMINT((int)(y13)) - cd_9)));
                        
                        }
                     ck_10++;
                     
                     }
                     cj_5--;
                     cdistance_7-=cd_9;
                     
                     }
                  
                  }
                  
                  }
               
               }
               else
               {
               	   
                  {
                  cdistance_7=(coptimal_position_6 - getMEMINT((int)((getMEMINT((int)(((cnl_18 + (cindex_4*12)) + 0))) + 68))));
                  cpossible_distance_8=0;
                  cj_5=cindex_4;
                  
                  lab_sfg111 : do{
                     
                     {
                     
                     /* file sfg.c line 4621*/
                     if( (((cj_5)<((getMEMINT((int)((ccnnodes_of_level_8 + (cl*4)))) - 1)))?1:0)!=0)
                     {
                     	   
                        {
                        cpossible_distance_8+=((getMEMINT((int)((getMEMINT((int)(((cnl_18 + ((cj_5 + 1)*12)) + 0))) + 68))) - getMEMINT((int)((getMEMINT((int)(((cnl_18 + (cj_5*12)) + 0))) + 68)))) - cmindist_4);
                        
                        }
                     
                     }
                     else
                     {
                     	   
                        {
                        cpossible_distance_8+=cdistance_7;
                        
                        }
                     
                     };
                     cj_5++;
                     
                     }
                  
                  }while (((((((cj_5)<(getMEMINT((int)((ccnnodes_of_level_8 + (cl*4))))))?1:0))!=0)? (((getMEMINT((int)(((cnl_18 + (cj_5*12)) + 8)))==0)?1:0)):0)!=0);
                  
                  /* file sfg.c line 4631*/
                  if( (((cpossible_distance_8)<(cdistance_7))?1:0)!=0)
                  {
                  	   
                     {
                     cdistance_7=cpossible_distance_8;
                     
                     }
                  
                  };
                  cj_5=cindex_4;
                  lab_sfg112 : while( ((((cdistance_7)>(0))?1:0)) !=0 )
                  {
                  	   
                     {
                     cd_11= 0;
                     ck_12= 0;
                     
                     /* file sfg.c line 4640*/
                     if( (((cj_5)==((getMEMINT((int)((ccnnodes_of_level_8 + (cl*4)))) - 1)))?1:0)!=0)
                     {
                     	   
                        {
                        cd_11=cdistance_7;
                        
                        }
                     
                     }
                     else
                     {
                     	   
                        {
                        
                        /* file sfg.c line 4643*/
                        if( (((((getMEMINT((int)((getMEMINT((int)(((cnl_18 + ((cj_5 + 1)*12)) + 0))) + 68))) - getMEMINT((int)((getMEMINT((int)(((cnl_18 + (cj_5*12)) + 0))) + 68)))) - cmindist_4))<(cdistance_7))?1:0)!=0)
                        {
                        	   
                           {
                           cd_11=((getMEMINT((int)((getMEMINT((int)(((cnl_18 + ((cj_5 + 1)*12)) + 0))) + 68))) - getMEMINT((int)((getMEMINT((int)(((cnl_18 + (cj_5*12)) + 0))) + 68)))) - cmindist_4);
                           
                           }
                        
                        }
                        else
                        {
                        	   
                           {
                           cd_11=cdistance_7;
                           
                           }
                        
                        };
                        
                        }
                     
                     };
                     
                     /* file sfg.c line 4652*/
                     ck_12=cindex_4;
                     lab_sfg113 : for( ; (((ck_12)<=(cj_5))?1:0)!=0 ; )
                     {
                        
                        {
                        y14= (int)((getMEMINT((int)(((cnl_18 + (ck_12*12)) + 0))) + 68));
                        setMEMINT((int)(y14),(int)((getMEMINT((int)(y14)) + cd_11)));
                        
                        }
                     ck_12++;
                     
                     }
                     cj_5++;
                     cdistance_7-=cd_11;
                     
                     }
                  
                  }
                  
                  }
               
               };
               setMEMINT((int)(((cnl_18 + (cindex_4*12)) + 8)),(int)(1));
               
               }
            
            };
            
            }
         ci_3++;
         
         }
         if(true)
         {
         prevlevel();
         return ;
         };
         
         }
      };
      prevlevel();
   }
   
   /* file sfg.c line 4666*/
   
   public static void cdo_up(int  cl)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int  ci_3= 0;
      int  cindex_4= 0;
      int  cj_5= 0;
      int  coptimal_position_6= 0;
      int  cdistance_7= 0;
      int  cpossible_distance_8= 0;
      int  cd_9= 0;
      int  ck_10= 0;
      int  cd_11= 0;
      int  ck_12= 0;
      int y15= 0;
      int y16= 0;
         
         {
         ci_3= 0;
         cindex_4= 0;
         cj_5= 0;
         coptimal_position_6= 0;
         cdistance_7= 0;
         cpossible_distance_8= 0;
         
         /* file sfg.c line 4772*/
         ci_3=0;
         lab_sfg114 : for( ; (((ci_3)<(getMEMINT((int)((ccnnodes_of_level_8 + (cl*4))))))?1:0)!=0 ; )
         {
            
            {
            cindex_4=
            /* file sfg.c line 4675*/
            cfind_next(getMEMINT((int)((ccnnodes_of_level_8 + (cl*4)))));
            
            /* file sfg.c line 4677*/
            if( getMEMINT((int)(((cnl_18 + (cindex_4*12)) + 0)))!=0)
            {
            	   
               {
               coptimal_position_6=
               /* file sfg.c line 4678*/
               clower_barycenter(getMEMINT((int)(((cnl_18 + (cindex_4*12)) + 0))));
               
               /* file sfg.c line 4680*/
               if( (((coptimal_position_6)==(0))?1:0)!=0)
               {
               	   
                  {
                  coptimal_position_6=getMEMINT((int)((getMEMINT((int)(((cnl_18 + (cindex_4*12)) + 0))) + 68)));
                  
                  }
               
               };
               
               /* file sfg.c line 4684*/
               if( (((coptimal_position_6)<(getMEMINT((int)((getMEMINT((int)(((cnl_18 + (cindex_4*12)) + 0))) + 68)))))?1:0)!=0)
               {
               	   
                  {
                  cdistance_7=(getMEMINT((int)((getMEMINT((int)(((cnl_18 + (cindex_4*12)) + 0))) + 68))) - coptimal_position_6);
                  cpossible_distance_8=0;
                  cj_5=cindex_4;
                  
                  lab_sfg115 : do{
                     
                     {
                     
                     /* file sfg.c line 4690*/
                     if( (((cj_5)>(0))?1:0)!=0)
                     {
                     	   
                        {
                        cpossible_distance_8+=((getMEMINT((int)((getMEMINT((int)(((cnl_18 + (cj_5*12)) + 0))) + 68))) - getMEMINT((int)((getMEMINT((int)(((cnl_18 + ((cj_5 - 1)*12)) + 0))) + 68)))) - cmindist_4);
                        
                        }
                     
                     }
                     else
                     {
                     	   
                        {
                        cpossible_distance_8+=(getMEMINT((int)((getMEMINT((int)(((cnl_18 + (0*12)) + 0))) + 68))) - cmindist_4);
                        
                        }
                     
                     };
                     cj_5--;
                     
                     }
                  
                  }while (((((((cj_5)>=(0))?1:0))!=0)? (((getMEMINT((int)(((cnl_18 + (cj_5*12)) + 8)))==0)?1:0)):0)!=0);
                  
                  /* file sfg.c line 4700*/
                  if( (((cpossible_distance_8)<(cdistance_7))?1:0)!=0)
                  {
                  	   
                     {
                     cdistance_7=cpossible_distance_8;
                     
                     }
                  
                  };
                  cj_5=cindex_4;
                  lab_sfg116 : while( ((((cdistance_7)>(0))?1:0)) !=0 )
                  {
                  	   
                     {
                     cd_9= 0;
                     ck_10= 0;
                     
                     /* file sfg.c line 4709*/
                     if( (((cj_5)==(0))?1:0)!=0)
                     {
                     	   
                        {
                        cd_9=cdistance_7;
                        
                        }
                     
                     }
                     else
                     {
                     	   
                        {
                        
                        /* file sfg.c line 4712*/
                        if( (((((getMEMINT((int)((getMEMINT((int)(((cnl_18 + (cj_5*12)) + 0))) + 68))) - getMEMINT((int)((getMEMINT((int)(((cnl_18 + ((cj_5 - 1)*12)) + 0))) + 68)))) - cmindist_4))<(cdistance_7))?1:0)!=0)
                        {
                        	   
                           {
                           cd_9=((getMEMINT((int)((getMEMINT((int)(((cnl_18 + (cj_5*12)) + 0))) + 68))) - getMEMINT((int)((getMEMINT((int)(((cnl_18 + ((cj_5 - 1)*12)) + 0))) + 68)))) - cmindist_4);
                           
                           }
                        
                        }
                        else
                        {
                        	   
                           {
                           cd_9=cdistance_7;
                           
                           }
                        
                        };
                        
                        }
                     
                     };
                     
                     /* file sfg.c line 4721*/
                     ck_10=cj_5;
                     lab_sfg117 : for( ; (((ck_10)<=(cindex_4))?1:0)!=0 ; )
                     {
                        
                        {
                        y15= (int)((getMEMINT((int)(((cnl_18 + (ck_10*12)) + 0))) + 68));
                        setMEMINT((int)(y15),(int)((getMEMINT((int)(y15)) - cd_9)));
                        
                        }
                     ck_10++;
                     
                     }
                     cj_5--;
                     cdistance_7-=cd_9;
                     
                     }
                  
                  }
                  
                  }
               
               }
               else
               {
               	   
                  {
                  cdistance_7=(coptimal_position_6 - getMEMINT((int)((getMEMINT((int)(((cnl_18 + (cindex_4*12)) + 0))) + 68))));
                  cpossible_distance_8=0;
                  cj_5=cindex_4;
                  
                  lab_sfg118 : do{
                     
                     {
                     
                     /* file sfg.c line 4733*/
                     if( (((cj_5)<((getMEMINT((int)((ccnnodes_of_level_8 + (cl*4)))) - 1)))?1:0)!=0)
                     {
                     	   
                        {
                        cpossible_distance_8+=((getMEMINT((int)((getMEMINT((int)(((cnl_18 + ((cj_5 + 1)*12)) + 0))) + 68))) - getMEMINT((int)((getMEMINT((int)(((cnl_18 + (cj_5*12)) + 0))) + 68)))) - cmindist_4);
                        
                        }
                     
                     }
                     else
                     {
                     	   
                        {
                        cpossible_distance_8+=cdistance_7;
                        
                        }
                     
                     };
                     cj_5++;
                     
                     }
                  
                  }while (((((((cj_5)<(getMEMINT((int)((ccnnodes_of_level_8 + (cl*4))))))?1:0))!=0)? (((getMEMINT((int)(((cnl_18 + (cj_5*12)) + 8)))==0)?1:0)):0)!=0);
                  
                  /* file sfg.c line 4743*/
                  if( (((cpossible_distance_8)<(cdistance_7))?1:0)!=0)
                  {
                  	   
                     {
                     cdistance_7=cpossible_distance_8;
                     
                     }
                  
                  };
                  cj_5=cindex_4;
                  lab_sfg119 : while( ((((cdistance_7)>(0))?1:0)) !=0 )
                  {
                  	   
                     {
                     cd_11= 0;
                     ck_12= 0;
                     
                     /* file sfg.c line 4752*/
                     if( (((cj_5)==((getMEMINT((int)((ccnnodes_of_level_8 + (cl*4)))) - 1)))?1:0)!=0)
                     {
                     	   
                        {
                        cd_11=cdistance_7;
                        
                        }
                     
                     }
                     else
                     {
                     	   
                        {
                        
                        /* file sfg.c line 4755*/
                        if( (((((getMEMINT((int)((getMEMINT((int)(((cnl_18 + ((cj_5 + 1)*12)) + 0))) + 68))) - getMEMINT((int)((getMEMINT((int)(((cnl_18 + (cj_5*12)) + 0))) + 68)))) - cmindist_4))<(cdistance_7))?1:0)!=0)
                        {
                        	   
                           {
                           cd_11=((getMEMINT((int)((getMEMINT((int)(((cnl_18 + ((cj_5 + 1)*12)) + 0))) + 68))) - getMEMINT((int)((getMEMINT((int)(((cnl_18 + (cj_5*12)) + 0))) + 68)))) - cmindist_4);
                           
                           }
                        
                        }
                        else
                        {
                        	   
                           {
                           cd_11=cdistance_7;
                           
                           }
                        
                        };
                        
                        }
                     
                     };
                     
                     /* file sfg.c line 4764*/
                     ck_12=cindex_4;
                     lab_sfg120 : for( ; (((ck_12)<=(cj_5))?1:0)!=0 ; )
                     {
                        
                        {
                        y16= (int)((getMEMINT((int)(((cnl_18 + (ck_12*12)) + 0))) + 68));
                        setMEMINT((int)(y16),(int)((getMEMINT((int)(y16)) + cd_11)));
                        
                        }
                     ck_12++;
                     
                     }
                     cj_5++;
                     cdistance_7-=cd_11;
                     
                     }
                  
                  }
                  
                  }
               
               };
               setMEMINT((int)(((cnl_18 + (cindex_4*12)) + 8)),(int)(1));
               
               }
            
            };
            
            }
         ci_3++;
         
         }
         if(true)
         {
         prevlevel();
         return ;
         };
         
         }
      };
      prevlevel();
   }
   
   /* file sfg.c line 4779*/
   
   public static void cimprove_positions2local(int  cg)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int  ci_3= 0;
      int  ccount_4= 0;
      int  cii_5= 0;
      int  csl_6= 0;
         
         {
         ci_3= 0;
         ccount_4= 0;
         cii_5= 0;
         csl_6= 0;
         csl_6=0;
         cmindist_4=1;
         ccount_4=1;
         
         /* file sfg.c line 4818*/
         cii_5=0;
         lab_sfg121 : for( ; (((cii_5)<(ccount_4))?1:0)!=0 ; )
         {
            
            {
            
            /* file sfg.c line 4805*/
            ci_3=csl_6;
            lab_sfg122 : for( ; (((ci_3)<(getMEMINT((int)((cg + 20)))))?1:0)!=0 ; )
            {
               
               {
               
               /* file sfg.c line 4798*/
               if( getMEMINT((int)((ccnnodes_of_level_8 + (ci_3*4))))!=0)
               {
               	   
                  {
                  cnl_18=(int)(
                  /* file sfg.c line 4799*/
                  ccalloc(1,(getMEMINT((int)((ccnnodes_of_level_8 + (ci_3*4))))*12)));
                  
                  /* file sfg.c line 4800*/
                  cmake_node_list_down(ci_3);
                  
                  /* file sfg.c line 4801*/
                  cdo_down(ci_3);
                  
                  /* file sfg.c line 4802*/
                  cfree(cnl_18);
                  cnl_18=(int)(0);
                  
                  }
               
               };
               
               }
            ci_3++;
            
            }
            
            /* file sfg.c line 4816*/
            ci_3=(getMEMINT((int)((cg + 20))) - 1);
            lab_sfg123 : for( ; (((ci_3)>=(csl_6))?1:0)!=0 ; )
            {
               
               {
               
               /* file sfg.c line 4809*/
               if( getMEMINT((int)((ccnnodes_of_level_8 + (ci_3*4))))!=0)
               {
               	   
                  {
                  cnl_18=(int)(
                  /* file sfg.c line 4810*/
                  ccalloc(1,(getMEMINT((int)((ccnnodes_of_level_8 + (ci_3*4))))*12)));
                  
                  /* file sfg.c line 4811*/
                  cmake_node_list_up(ci_3);
                  
                  /* file sfg.c line 4812*/
                  cdo_up(ci_3);
                  
                  /* file sfg.c line 4813*/
                  cfree(cnl_18);
                  cnl_18=(int)(0);
                  
                  }
               
               };
               
               }
            ci_3--;
            
            }
            
            }
         cii_5++;
         
         }
         
         /* file sfg.c line 4821*/
         if( ((((csl_6 + 2))<(getMEMINT((int)((cg + 20)))))?1:0)!=0)
         {
         	   
            {
            
            /* file sfg.c line 4831*/
            ci_3=(csl_6 + 2);
            lab_sfg124 : for( ; (((ci_3)>=(csl_6))?1:0)!=0 ; )
            {
               
               {
               
               /* file sfg.c line 4824*/
               if( getMEMINT((int)((ccnnodes_of_level_8 + (ci_3*4))))!=0)
               {
               	   
                  {
                  cnl_18=(int)(
                  /* file sfg.c line 4825*/
                  ccalloc(1,(getMEMINT((int)((ccnnodes_of_level_8 + (ci_3*4))))*12)));
                  
                  /* file sfg.c line 4826*/
                  cmake_node_list_up(ci_3);
                  
                  /* file sfg.c line 4827*/
                  cdo_up(ci_3);
                  
                  /* file sfg.c line 4828*/
                  cfree(cnl_18);
                  cnl_18=(int)(0);
                  
                  }
               
               };
               
               }
            ci_3--;
            
            }
            
            }
         
         };
         
         /* file sfg.c line 4844*/
         ci_3=(getMEMINT((int)((cg + 20))) - 2);
         lab_sfg125 : for( ; (((ci_3)<=(getMEMINT((int)((cg + 20)))))?1:0)!=0 ; )
         {
            
            {
            
            /* file sfg.c line 4835*/
            if( (((ci_3)>=(0))?1:0)!=0)
            {
            	   
               {
               
               /* file sfg.c line 4836*/
               if( getMEMINT((int)((ccnnodes_of_level_8 + (ci_3*4))))!=0)
               {
               	   
                  {
                  cnl_18=(int)(
                  /* file sfg.c line 4837*/
                  ccalloc(1,(getMEMINT((int)((ccnnodes_of_level_8 + (ci_3*4))))*12)));
                  
                  /* file sfg.c line 4838*/
                  cmake_node_list_down(ci_3);
                  
                  /* file sfg.c line 4839*/
                  cdo_down(ci_3);
                  
                  /* file sfg.c line 4840*/
                  cfree(cnl_18);
                  cnl_18=(int)(0);
                  
                  }
               
               };
               
               }
            
            };
            
            }
         ci_3++;
         
         }
         if(true)
         {
         prevlevel();
         return ;
         };
         
         }
      };
      prevlevel();
   }
   
   /* file sfg.c line 4851*/
   
   public static void cmake_cnnodes_at_level(int  cg)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int  cgnl_3= 0;
         
         {
         cgnl_3= (int)(0);
         ccnnodes_of_level_8=(int)(
         /* file sfg.c line 4854*/
         ccalloc(1,((getMEMINT((int)((cg + 20))) + 1)*4)));
         cgnl_3=ccnodelist_6;
         lab_sfg126 : while( (cgnl_3) !=0 )
         {
         	   
            {
            setMEMINT((int)((ccnnodes_of_level_8 + (getMEMINT((int)((getMEMINT((int)((cgnl_3 + 0))) + 64)))*4))),(int)((getMEMINT((int)((ccnnodes_of_level_8 + (getMEMINT((int)((getMEMINT((int)((cgnl_3 + 0))) + 64)))*4)))) + 1)));
            cgnl_3=getMEMINT((int)((cgnl_3 + 4)));
            
            }
         
         }
         if(true)
         {
         prevlevel();
         return ;
         };
         
         }
      };
      prevlevel();
   }
   
   /* file sfg.c line 4868*/
   
   public static void cclear_cnnodes_at_level()
   {
      nextlevel();
      if(true)
      {
      int label= 0;
         
         {
         
         /* file sfg.c line 4871*/
         if( ccnnodes_of_level_8!=0)
         {
         	   
            {
            
            /* file sfg.c line 4872*/
            cfree(ccnnodes_of_level_8);
            
            }
         
         };
         ccnnodes_of_level_8=(int)(0);
         if(true)
         {
         prevlevel();
         return ;
         };
         
         }
      };
      prevlevel();
   }
   
   /* file sfg.c line 4883*/
   
   public static void cmake_cnodelist(int  cg)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int  cgnl_3= 0;
      int  cnewnl_4= 0;
         
         {
         cgnl_3= (int)(0);
         cnewnl_4= (int)(0);
         cgnl_3=getMEMINT((int)((cg + 60)));
         lab_sfg127 : while( (cgnl_3) !=0 )
         {
         	   
            {
            
            /* file sfg.c line 4892*/
            if( (((getMEMINT((int)((getMEMINT((int)((cgnl_3 + 0))) + 116))))==(ccsn_5))?1:0)!=0)
            {
            	   
               {
               cnewnl_4=(int)(
               /* file sfg.c line 4894*/
               ccalloc(1,8));
               setMEMINT((int)((cnewnl_4 + 0)),(int)(getMEMINT((int)((cgnl_3 + 0)))));
               
               /* file sfg.c line 4896*/
               if( (((ccnodelist_6)==((int)(0)))?1:0)!=0)
               {
               	   
                  {
                  ccnodelist_6=cnewnl_4;
                  ccnodelisttail_7=cnewnl_4;
                  
                  }
               
               }
               else
               {
               	   
                  {
                  setMEMINT((int)((ccnodelisttail_7 + 4)),(int)(cnewnl_4));
                  ccnodelisttail_7=cnewnl_4;
                  
                  }
               
               };
               
               }
            
            };
            cgnl_3=getMEMINT((int)((cgnl_3 + 4)));
            
            }
         
         }
         if(true)
         {
         prevlevel();
         return ;
         };
         
         }
      };
      prevlevel();
   }
   
   /* file sfg.c line 4913*/
   
   public static void cclear_cnodelist()
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int  cgnl_2= 0;
      int  cgnlnext_3= 0;
         
         {
         cgnl_2= (int)(0);
         cgnlnext_3= (int)(0);
         cgnl_2=ccnodelist_6;
         lab_sfg128 : while( (cgnl_2) !=0 )
         {
         	   
            {
            cgnlnext_3=getMEMINT((int)((cgnl_2 + 4)));
            
            /* file sfg.c line 4921*/
            cfree(cgnl_2);
            cgnl_2=cgnlnext_3;
            
            }
         
         }
         ccnodelist_6=(int)(0);
         ccnodelisttail_7=(int)(0);
         if(true)
         {
         prevlevel();
         return ;
         };
         
         }
      };
      prevlevel();
   }
   
   /* file sfg.c line 4934*/
   
   public static void cmove0()
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int  cgnl_2= 0;
      int  cmx_3= 0;
         
         {
         cgnl_2= (int)(0);
         cmx_3= 0;
         cmx_3=(1000*1000);
         cgnl_2=ccnodelist_6;
         lab_sfg129 : while( (cgnl_2) !=0 )
         {
         	   
            {
            
            /* file sfg.c line 4944*/
            if( (((getMEMINT((int)((getMEMINT((int)((cgnl_2 + 0))) + 68))))<(cmx_3))?1:0)!=0)
            {
            	   
               {
               cmx_3=getMEMINT((int)((getMEMINT((int)((cgnl_2 + 0))) + 68)));
               
               }
            
            };
            cgnl_2=getMEMINT((int)((cgnl_2 + 4)));
            
            }
         
         }
         cgnl_2=ccnodelist_6;
         lab_sfg130 : while( (cgnl_2) !=0 )
         {
         	   
            {
            setMEMINT((int)((getMEMINT((int)((cgnl_2 + 0))) + 68)),(int)((getMEMINT((int)((getMEMINT((int)((cgnl_2 + 0))) + 68))) - cmx_3)));
            cgnl_2=getMEMINT((int)((cgnl_2 + 4)));
            
            }
         
         }
         if(true)
         {
         prevlevel();
         return ;
         };
         
         }
      };
      prevlevel();
   }
   
   /* file sfg.c line 4963*/
   
   public static void cmake_cposnodes()
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int  clnl_2= 0;
      int  cnewl_3= 0;
      int  ci_4= 0;
      int  clmaxw_5= 0;
      int  cmaxrx_6= 0;
         
         {
         clnl_2= (int)(0);
         cnewl_3= (int)(0);
         ci_4= 0;
         clmaxw_5= 0;
         cmaxrx_6= 0;
         ccwidestnnodes_11=0;
         ccwpos_12=(int)(0);
         ccposnodes_13=(int)(0);
         clnl_2=ccnodelist_6;
         lab_sfg131 : while( (clnl_2) !=0 )
         {
         	   
            {
            
            /* file sfg.c line 4983*/
            if( (((getMEMINT((int)((getMEMINT((int)((clnl_2 + 0))) + 68))))>(cmaxrx_6))?1:0)!=0)
            {
            	   
               {
               cmaxrx_6=getMEMINT((int)((getMEMINT((int)((clnl_2 + 0))) + 68)));
               
               }
            
            };
            clnl_2=getMEMINT((int)((clnl_2 + 4)));
            
            }
         
         }
         ccwidestnnodes_11=cmaxrx_6;
         ccwpos_12=(int)(
         /* file sfg.c line 4993*/
         ccalloc(1,((ccwidestnnodes_11 + 1)*4)));
         
         /* file sfg.c line 4995*/
         if( (((ccwpos_12)==((int)(0)))?1:0)!=0)
         {
         	   
            {
            if(true)
            {
            prevlevel();
            return ;
            };
            
            }
         
         };
         ccposnodes_13=(int)(
         /* file sfg.c line 5000*/
         ccalloc(1,((ccwidestnnodes_11 + 1)*4)));
         
         /* file sfg.c line 5002*/
         if( (((ccposnodes_13)==((int)(0)))?1:0)!=0)
         {
         	   
            {
            if(true)
            {
            prevlevel();
            return ;
            };
            
            }
         
         };
         clnl_2=ccnodelist_6;
         lab_sfg132 : while( (clnl_2) !=0 )
         {
         	   
            {
            ci_4=getMEMINT((int)((getMEMINT((int)((clnl_2 + 0))) + 68)));
            cnewl_3=(int)(
            /* file sfg.c line 5012*/
            ccalloc(1,8));
            
            /* file sfg.c line 5014*/
            if( (((cnewl_3)==((int)(0)))?1:0)!=0)
            {
            	   
               {
               if(true)
               {
               prevlevel();
               return ;
               };
               
               }
            
            };
            setMEMINT((int)((cnewl_3 + 0)),(int)(getMEMINT((int)((clnl_2 + 0)))));
            
            /* file sfg.c line 5020*/
            if( (((getMEMINT((int)((ccposnodes_13 + (ci_4*4)))))==((int)(0)))?1:0)!=0)
            {
            	   
               {
               setMEMINT((int)((ccposnodes_13 + (ci_4*4))),(int)(cnewl_3));
               setMEMINT((int)((cnewl_3 + 4)),(int)((int)(0)));
               
               }
            
            }
            else
            {
            	   
               {
               setMEMINT((int)((cnewl_3 + 4)),(int)(getMEMINT((int)((ccposnodes_13 + (ci_4*4))))));
               setMEMINT((int)((ccposnodes_13 + (ci_4*4))),(int)(cnewl_3));
               
               }
            
            };
            clnl_2=getMEMINT((int)((clnl_2 + 4)));
            
            }
         
         }
         
         /* file sfg.c line 5046*/
         ci_4=0;
         lab_sfg133 : for( ; (((ci_4)<((ccwidestnnodes_11 + 1)))?1:0)!=0 ; )
         {
            
            {
            clmaxw_5=0;
            clnl_2=getMEMINT((int)((ccposnodes_13 + (ci_4*4))));
            lab_sfg134 : while( (clnl_2) !=0 )
            {
            	   
               {
               
               /* file sfg.c line 5039*/
               if( (((getMEMINT((int)((getMEMINT((int)((clnl_2 + 0))) + 12))))>(clmaxw_5))?1:0)!=0)
               {
               	   
                  {
                  clmaxw_5=getMEMINT((int)((getMEMINT((int)((clnl_2 + 0))) + 12)));
                  
                  }
               
               };
               clnl_2=getMEMINT((int)((clnl_2 + 4)));
               
               }
            
            }
            setMEMINT((int)((ccwpos_12 + (ci_4*4))),(int)(clmaxw_5));
            
            }
         ci_4++;
         
         }
         if(true)
         {
         prevlevel();
         return ;
         };
         
         }
      };
      prevlevel();
   }
   
   /* file sfg.c line 5053*/
   
   public static void cclear_cposnodes()
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int  ci_2= 0;
      int  clnl_3= 0;
      int  cnlnext_4= 0;
         
         {
         ci_2= 0;
         clnl_3= (int)(0);
         cnlnext_4= (int)(0);
         
         /* file sfg.c line 5059*/
         if( ccwpos_12!=0)
         {
         	   
            {
            
            /* file sfg.c line 5060*/
            cfree(ccwpos_12);
            ccwpos_12=(int)(0);
            
            }
         
         };
         
         /* file sfg.c line 5075*/
         ci_2=0;
         lab_sfg135 : for( ; (((ci_2)<((ccwidestnnodes_11 + 1)))?1:0)!=0 ; )
         {
            
            {
            clnl_3=getMEMINT((int)((ccposnodes_13 + (ci_2*4))));
            lab_sfg136 : while( (clnl_3) !=0 )
            {
            	   
               {
               cnlnext_4=getMEMINT((int)((clnl_3 + 4)));
               
               /* file sfg.c line 5070*/
               cfree(clnl_3);
               clnl_3=cnlnext_4;
               
               }
            
            }
            setMEMINT((int)((ccposnodes_13 + (ci_2*4))),(int)((int)(0)));
            
            }
         ci_2++;
         
         }
         
         /* file sfg.c line 5077*/
         cfree(ccposnodes_13);
         ccposnodes_13=(int)(0);
         if(true)
         {
         prevlevel();
         return ;
         };
         
         }
      };
      prevlevel();
   }
   
   /* file sfg.c line 5085*/
   
   public static void cmake_clevelnodes(int  cg)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int  clnl_3= 0;
      int  cnewl_4= 0;
      int  ci_5= 0;
      int  clmaxh_6= 0;
         
         {
         clnl_3= (int)(0);
         cnewl_4= (int)(0);
         ci_5= 0;
         clmaxh_6= 0;
         cchpos_14=(int)(
         /* file sfg.c line 5091*/
         ccalloc(1,((getMEMINT((int)((cg + 20))) + 1)*4)));
         
         /* file sfg.c line 5093*/
         if( (((cchpos_14)==((int)(0)))?1:0)!=0)
         {
         	   
            {
            if(true)
            {
            prevlevel();
            return ;
            };
            
            }
         
         };
         cclevelnodes_15=
         /* file sfg.c line 5097*/
         ccalloc(1,((getMEMINT((int)((cg + 20))) + 1)*4));
         
         /* file sfg.c line 5099*/
         if( (((cclevelnodes_15)==((int)(0)))?1:0)!=0)
         {
         	   
            {
            if(true)
            {
            prevlevel();
            return ;
            };
            
            }
         
         };
         clnl_3=ccnodelist_6;
         lab_sfg137 : while( (clnl_3) !=0 )
         {
         	   
            {
            ci_5=getMEMINT((int)((getMEMINT((int)((clnl_3 + 0))) + 72)));
            cnewl_4=
            /* file sfg.c line 5108*/
            ccalloc(1,8);
            
            /* file sfg.c line 5110*/
            if( (((cnewl_4)==((int)(0)))?1:0)!=0)
            {
            	   
               {
               if(true)
               {
               prevlevel();
               return ;
               };
               
               }
            
            };
            setMEMINT((int)((cnewl_4 + 0)),(int)(getMEMINT((int)((clnl_3 + 0)))));
            
            /* file sfg.c line 5116*/
            if( (((getMEMINT((int)((cclevelnodes_15 + (ci_5*4)))))==((int)(0)))?1:0)!=0)
            {
            	   
               {
               setMEMINT((int)((cclevelnodes_15 + (ci_5*4))),(int)(cnewl_4));
               setMEMINT((int)((cnewl_4 + 4)),(int)((int)(0)));
               
               }
            
            }
            else
            {
            	   
               {
               setMEMINT((int)((cnewl_4 + 4)),(int)(getMEMINT((int)((cclevelnodes_15 + (ci_5*4))))));
               setMEMINT((int)((cclevelnodes_15 + (ci_5*4))),(int)(cnewl_4));
               
               }
            
            };
            clnl_3=getMEMINT((int)((clnl_3 + 4)));
            
            }
         
         }
         
         /* file sfg.c line 5143*/
         ci_5=0;
         lab_sfg138 : for( ; (((ci_5)<((getMEMINT((int)((cg + 20))) + 1)))?1:0)!=0 ; )
         {
            
            {
            clmaxh_6=0;
            clnl_3=getMEMINT((int)((cclevelnodes_15 + (ci_5*4))));
            lab_sfg139 : while( (clnl_3) !=0 )
            {
            	   
               {
               
               /* file sfg.c line 5136*/
               if( (((getMEMINT((int)((getMEMINT((int)((clnl_3 + 0))) + 16))))>(clmaxh_6))?1:0)!=0)
               {
               	   
                  {
                  clmaxh_6=getMEMINT((int)((getMEMINT((int)((clnl_3 + 0))) + 16)));
                  
                  }
               
               };
               clnl_3=getMEMINT((int)((clnl_3 + 4)));
               
               }
            
            }
            setMEMINT((int)((cchpos_14 + (ci_5*4))),(int)(clmaxh_6));
            
            }
         ci_5++;
         
         }
         if(true)
         {
         prevlevel();
         return ;
         };
         
         }
      };
      prevlevel();
   }
   
   /* file sfg.c line 5149*/
   
   public static void cclear_clevelnodes(int  cg)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int  ci_3= 0;
      int  clnl_4= 0;
      int  cnlnext_5= 0;
         
         {
         ci_3= 0;
         clnl_4= (int)(0);
         cnlnext_5= (int)(0);
         
         /* file sfg.c line 5155*/
         if( cchpos_14!=0)
         {
         	   
            {
            
            /* file sfg.c line 5156*/
            cfree(cchpos_14);
            cchpos_14=(int)(0);
            
            }
         
         };
         
         /* file sfg.c line 5171*/
         ci_3=0;
         lab_sfg140 : for( ; (((ci_3)<((getMEMINT((int)((cg + 20))) + 1)))?1:0)!=0 ; )
         {
            
            {
            clnl_4=getMEMINT((int)((cclevelnodes_15 + (ci_3*4))));
            lab_sfg141 : while( (clnl_4) !=0 )
            {
            	   
               {
               cnlnext_5=getMEMINT((int)((clnl_4 + 4)));
               
               /* file sfg.c line 5166*/
               cfree(clnl_4);
               clnl_4=cnlnext_5;
               
               }
            
            }
            setMEMINT((int)((cclevelnodes_15 + (ci_3*4))),(int)((int)(0)));
            
            }
         ci_3++;
         
         }
         
         /* file sfg.c line 5173*/
         cfree(cclevelnodes_15);
         cclevelnodes_15=(int)(0);
         if(true)
         {
         prevlevel();
         return ;
         };
         
         }
      };
      prevlevel();
   }
   
   /* file sfg.c line 5181*/
   
   public static void ccfinalxy(int  cg)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int  clnl_3= 0;
      int  chw_4= 0;
      int  cxoff_5= 0;
      int  cyoff_6= 0;
      int  ci_7= 0;
      int  cecount_8= 0;
         
         {
         clnl_3= (int)(0);
         chw_4= 0;
         cxoff_5= 0;
         cyoff_6= 0;
         ci_7= 0;
         cecount_8= 0;
         
         /* file sfg.c line 5190*/
         cmake_cposnodes();
         ccmaxx_9=0;
         cxoff_5=0;
         
         /* file sfg.c line 5243*/
         ci_7=0;
         lab_sfg142 : for( ; (((ci_7)<((ccwidestnnodes_11 + 1)))?1:0)!=0 ; )
         {
            
            {
            
            /* file sfg.c line 5198*/
            if( 0!=0)
            {
            	   
               {
               cxoff_5=(cxoff_5 + cxspacing_16);
               
               }
            
            };
            
            /* file sfg.c line 5203*/
            if( (((getMEMINT((int)((ccwpos_12 + (ci_7*4)))))==(0))?1:0)!=0)
            {
            	   
               {
               chw_4=(cxspacing_16/2);
               
               }
            
            }
            else
            {
            	   
               {
               chw_4=(getMEMINT((int)((ccwpos_12 + (ci_7*4))))/2);
               
               }
            
            };
            chw_4=(chw_4 + cxoff_5);
            clnl_3=getMEMINT((int)((ccposnodes_13 + (ci_7*4))));
            lab_sfg143 : while( (clnl_3) !=0 )
            {
            	   
               {
               setMEMINT((int)((getMEMINT((int)((clnl_3 + 0))) + 92)),(int)((chw_4 - (getMEMINT((int)((getMEMINT((int)((clnl_3 + 0))) + 12)))/2))));
               
               /* file sfg.c line 5220*/
               if( ((((getMEMINT((int)((getMEMINT((int)((clnl_3 + 0))) + 92))) + getMEMINT((int)((getMEMINT((int)((clnl_3 + 0))) + 12)))))>(ccmaxx_9))?1:0)!=0)
               {
               	   
                  {
                  ccmaxx_9=(getMEMINT((int)((getMEMINT((int)((clnl_3 + 0))) + 92))) + getMEMINT((int)((getMEMINT((int)((clnl_3 + 0))) + 12))));
                  
                  }
               
               };
               clnl_3=getMEMINT((int)((clnl_3 + 4)));
               
               }
            
            }
            clnl_3=getMEMINT((int)((ccposnodes_13 + (ci_7*4))));
            lab_sfg144 : while( (clnl_3) !=0 )
            {
            	   
               {
               setMEMINT((int)((getMEMINT((int)((clnl_3 + 0))) + 76)),(int)(cxoff_5));
               setMEMINT((int)((getMEMINT((int)((clnl_3 + 0))) + 84)),(int)((cxoff_5 + getMEMINT((int)((ccwpos_12 + (ci_7*4)))))));
               clnl_3=getMEMINT((int)((clnl_3 + 4)));
               
               }
            
            }
            cxoff_5=(cxoff_5 + cxspacing_16);
            cxoff_5=(cxoff_5 + getMEMINT((int)((ccwpos_12 + (ci_7*4)))));
            
            }
         ci_7++;
         
         }
         
         /* file sfg.c line 5246*/
         cclear_cposnodes();
         
         /* file sfg.c line 5249*/
         cmake_clevelnodes(cg);
         ccmaxy_10=0;
         cyoff_6=0;
         setMEMINT((int)((cg + 112)),(int)((int)(
         /* file sfg.c line 5255*/
         ccalloc(1,((getMEMINT((int)((cg + 20))) + 1)*4)))));
         
         /* file sfg.c line 5324*/
         ci_7=0;
         lab_sfg145 : for( ; (((ci_7)<((getMEMINT((int)((cg + 20))) + 1)))?1:0)!=0 ; )
         {
            
            {
            
            /* file sfg.c line 5260*/
            if( 0!=0)
            {
            	   
               {
               cyoff_6=(cyoff_6 + cyspacing_17);
               
               }
            
            };
            
            /* file sfg.c line 5265*/
            if( (((getMEMINT((int)((cchpos_14 + (ci_7*4)))))==(0))?1:0)!=0)
            {
            	   
               {
               chw_4=(cyspacing_17/2);
               
               }
            
            }
            else
            {
            	   
               {
               chw_4=(getMEMINT((int)((cchpos_14 + (ci_7*4))))/2);
               
               }
            
            };
            chw_4=(chw_4 + cyoff_6);
            clnl_3=getMEMINT((int)((cclevelnodes_15 + (ci_7*4))));
            cecount_8=0;
            lab_sfg146 : while( (clnl_3) !=0 )
            {
            	   
               {
               setMEMINT((int)((getMEMINT((int)((clnl_3 + 0))) + 80)),(int)(cyoff_6));
               setMEMINT((int)((getMEMINT((int)((clnl_3 + 0))) + 88)),(int)((cyoff_6 + getMEMINT((int)((cchpos_14 + (ci_7*4)))))));
               setMEMINT((int)((getMEMINT((int)((clnl_3 + 0))) + 96)),(int)((chw_4 - (getMEMINT((int)((getMEMINT((int)((clnl_3 + 0))) + 16)))/2))));
               
               /* file sfg.c line 5289*/
               if( ((((getMEMINT((int)((getMEMINT((int)((clnl_3 + 0))) + 96))) + getMEMINT((int)((getMEMINT((int)((clnl_3 + 0))) + 16)))))>(ccmaxy_10))?1:0)!=0)
               {
               	   
                  {
                  ccmaxy_10=(getMEMINT((int)((getMEMINT((int)((clnl_3 + 0))) + 96))) + getMEMINT((int)((getMEMINT((int)((clnl_3 + 0))) + 16))));
                  
                  }
               
               };
               
               /* file sfg.c line 5294*/
               if( getMEMINT((int)((getMEMINT((int)((clnl_3 + 0))) + 20)))!=0)
               {
               	   
                  {
                  setMEMINT((int)((getMEMINT((int)((clnl_3 + 0))) + 16)),(int)(getMEMINT((int)((cchpos_14 + (ci_7*4))))));
                  
                  /* file sfg.c line 5297*/
                  if( (((getMEMINT((int)((cchpos_14 + (ci_7*4)))))==(0))?1:0)!=0)
                  {
                  	   
                     {
                     setMEMINT((int)((getMEMINT((int)((clnl_3 + 0))) + 16)),(int)(cyspacing_17));
                     
                     }
                  
                  };
                  
                  }
               
               };
               cecount_8=(cecount_8 + getMEMINT((int)((getMEMINT((int)((clnl_3 + 0))) + 48))));
               clnl_3=getMEMINT((int)((clnl_3 + 4)));
               
               }
            
            }
            setMEMINT((int)((getMEMINT((int)((cg + 112))) + (ci_7*4))),(int)(cecount_8));
            cyoff_6=(cyoff_6 + cyspacing_17);
            cyoff_6=(cyoff_6 + (1*(getMEMINT((int)((getMEMINT((int)((cg + 108))) + (ci_7*4))))/16)));
            cyoff_6=(cyoff_6 + getMEMINT((int)((cchpos_14 + (ci_7*4)))));
            
            }
         ci_7++;
         
         }
         
         /* file sfg.c line 5326*/
         cclear_clevelnodes(cg);
         
         /* file sfg.c line 5329*/
         if( getMEMINT((int)((cg + 112)))!=0)
         {
         	   
            {
            
            /* file sfg.c line 5330*/
            cfree(getMEMINT((int)((cg + 112))));
            setMEMINT((int)((cg + 112)),(int)((int)(0)));
            
            }
         
         };
         if(true)
         {
         prevlevel();
         return ;
         };
         
         }
      };
      prevlevel();
   }
   
   /* file sfg.c line 5338*/
   
   public static void cmovefinal(int  cxoffset)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int  cgnl_3= 0;
         
         {
         cgnl_3= (int)(0);
         cgnl_3=ccnodelist_6;
         lab_sfg147 : while( (cgnl_3) !=0 )
         {
         	   
            {
            setMEMINT((int)((getMEMINT((int)((cgnl_3 + 0))) + 92)),(int)((getMEMINT((int)((getMEMINT((int)((cgnl_3 + 0))) + 92))) + cxoffset)));
            setMEMINT((int)((getMEMINT((int)((cgnl_3 + 0))) + 76)),(int)((getMEMINT((int)((getMEMINT((int)((cgnl_3 + 0))) + 76))) + cxoffset)));
            setMEMINT((int)((getMEMINT((int)((cgnl_3 + 0))) + 84)),(int)((getMEMINT((int)((getMEMINT((int)((cgnl_3 + 0))) + 84))) + cxoffset)));
            cgnl_3=getMEMINT((int)((cgnl_3 + 4)));
            
            }
         
         }
         if(true)
         {
         prevlevel();
         return ;
         };
         
         }
      };
      prevlevel();
   }
   
   /* file sfg.c line 5355*/
   
   public static void ctunedummy(int  cg)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int  cgnl_3= 0;
      int  cx1_4= 0;
      int  cx2_5= 0;
      int  cx3_6= 0;
         
         {
         cgnl_3= (int)(0);
         cx1_4= 0;
         cx2_5= 0;
         cx3_6= 0;
         cgnl_3=getMEMINT((int)((cg + 60)));
         lab_sfg148 : while( (cgnl_3) !=0 )
         {
         	   
            {
            
            /* file sfg.c line 5364*/
            if( getMEMINT((int)((getMEMINT((int)((cgnl_3 + 0))) + 20)))!=0)
            {
            	   
               {
               cx1_4=getMEMINT((int)((getMEMINT((int)((cgnl_3 + 0))) + 92)));
               cx2_5=(getMEMINT((int)((getMEMINT((int)((getMEMINT((int)((getMEMINT((int)((getMEMINT((int)((cgnl_3 + 0))) + 108))) + 0))) + 4))) + 92))) + (getMEMINT((int)((getMEMINT((int)((getMEMINT((int)((getMEMINT((int)((getMEMINT((int)((cgnl_3 + 0))) + 108))) + 0))) + 4))) + 12)))/2));
               cx3_6=(getMEMINT((int)((getMEMINT((int)((getMEMINT((int)((getMEMINT((int)((getMEMINT((int)((cgnl_3 + 0))) + 100))) + 0))) + 8))) + 92))) + (getMEMINT((int)((getMEMINT((int)((getMEMINT((int)((getMEMINT((int)((getMEMINT((int)((cgnl_3 + 0))) + 100))) + 0))) + 8))) + 12)))/2));
               
               /* file sfg.c line 5368*/
               if( ((((((cx1_4)==(cx2_5))?1:0))!=0)? ((((cx1_4)==(cx3_6))?1:0)):0)!=0)
               {
               	
               }
               else
               {
               	   
                  {
                  
                  /* file sfg.c line 5371*/
                  if( ((((((cx2_5)<(cx1_4))?1:0))!=0)? ((((cx3_6)<(cx1_4))?1:0)):0)!=0)
                  {
                  	   
                     {
                     setMEMINT((int)((getMEMINT((int)((cgnl_3 + 0))) + 92)),(int)(getMEMINT((int)((getMEMINT((int)((cgnl_3 + 0))) + 76)))));
                     
                     }
                  
                  };
                  
                  /* file sfg.c line 5375*/
                  if( ((((((cx2_5)>(cx1_4))?1:0))!=0)? ((((cx3_6)>(cx1_4))?1:0)):0)!=0)
                  {
                  	   
                     {
                     setMEMINT((int)((getMEMINT((int)((cgnl_3 + 0))) + 92)),(int)(getMEMINT((int)((getMEMINT((int)((cgnl_3 + 0))) + 84)))));
                     
                     }
                  
                  };
                  
                  }
               
               };
               
               }
            
            };
            cgnl_3=getMEMINT((int)((cgnl_3 + 4)));
            
            }
         
         }
         if(true)
         {
         prevlevel();
         return ;
         };
         
         }
      };
      prevlevel();
   }
   
   /* file sfg.c line 5389*/
   
   public static void ctunenodes(int  cg)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int  cgnl_3= 0;
         
         {
         cgnl_3= (int)(0);
         cgnl_3=getMEMINT((int)((cg + 60)));
         lab_sfg149 : while( (cgnl_3) !=0 )
         {
         	   
            {
            
            /* file sfg.c line 5396*/
            if( (((getMEMINT((int)((getMEMINT((int)((cgnl_3 + 0))) + 20))))==(0))?1:0)!=0)
            {
            	   
               {
               
               /* file sfg.c line 5397*/
               if( getMEMINT((int)((getMEMINT((int)((cgnl_3 + 0))) + 52)))!=0)
               {
               	
               }
               else
               {
               	   
                  {
                  
                  /* file sfg.c line 5400*/
                  if( ((((((getMEMINT((int)((getMEMINT((int)((cgnl_3 + 0))) + 44))))>(0))?1:0))!=0)? ((((getMEMINT((int)((getMEMINT((int)((cgnl_3 + 0))) + 48))))==(0))?1:0)):0)!=0)
                  {
                  	   
                     {
                     setMEMINT((int)((getMEMINT((int)((cgnl_3 + 0))) + 96)),(int)(getMEMINT((int)((getMEMINT((int)((cgnl_3 + 0))) + 80)))));
                     
                     }
                  
                  };
                  
                  /* file sfg.c line 5404*/
                  if( ((((((getMEMINT((int)((getMEMINT((int)((cgnl_3 + 0))) + 44))))==(0))?1:0))!=0)? ((((getMEMINT((int)((getMEMINT((int)((cgnl_3 + 0))) + 48))))>(0))?1:0)):0)!=0)
                  {
                  	   
                     {
                     setMEMINT((int)((getMEMINT((int)((cgnl_3 + 0))) + 96)),(int)((getMEMINT((int)((getMEMINT((int)((cgnl_3 + 0))) + 88))) - getMEMINT((int)((getMEMINT((int)((cgnl_3 + 0))) + 16))))));
                     
                     }
                  
                  };
                  
                  /* file sfg.c line 5408*/
                  if( ((((((getMEMINT((int)((getMEMINT((int)((cgnl_3 + 0))) + 44))))>(0))?1:0))!=0)? ((((getMEMINT((int)((getMEMINT((int)((cgnl_3 + 0))) + 48))))>(0))?1:0)):0)!=0)
                  {
                  	   
                     {
                     
                     /* file sfg.c line 5409*/
                     if( (((getMEMINT((int)((getMEMINT((int)((cgnl_3 + 0))) + 44))))==(getMEMINT((int)((getMEMINT((int)((cgnl_3 + 0))) + 48)))))?1:0)!=0)
                     {
                     	
                     }
                     else
                     {
                     	   
                        {
                        
                        /* file sfg.c line 5414*/
                        if( (((getMEMINT((int)((getMEMINT((int)((cgnl_3 + 0))) + 44))))>(getMEMINT((int)((getMEMINT((int)((cgnl_3 + 0))) + 48)))))?1:0)!=0)
                        {
                        	   
                           {
                           setMEMINT((int)((getMEMINT((int)((cgnl_3 + 0))) + 96)),(int)(getMEMINT((int)((getMEMINT((int)((cgnl_3 + 0))) + 80)))));
                           
                           }
                        
                        };
                        
                        /* file sfg.c line 5418*/
                        if( (((getMEMINT((int)((getMEMINT((int)((cgnl_3 + 0))) + 48))))>(getMEMINT((int)((getMEMINT((int)((cgnl_3 + 0))) + 44)))))?1:0)!=0)
                        {
                        	   
                           {
                           setMEMINT((int)((getMEMINT((int)((cgnl_3 + 0))) + 96)),(int)((getMEMINT((int)((getMEMINT((int)((cgnl_3 + 0))) + 88))) - getMEMINT((int)((getMEMINT((int)((cgnl_3 + 0))) + 16))))));
                           
                           }
                        
                        };
                        
                        }
                     
                     };
                     
                     }
                  
                  };
                  
                  }
               
               };
               
               }
            
            };
            cgnl_3=getMEMINT((int)((cgnl_3 + 4)));
            
            }
         
         }
         if(true)
         {
         prevlevel();
         return ;
         };
         
         }
      };
      prevlevel();
   }
   
   /* file sfg.c line 5434*/
   
   public static void cimprove_positions(int  cg)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int  cgnl_3= 0;
      int  ci_4= 0;
      int  cxoffset_5= 0;
         
         {
         cgnl_3= (int)(0);
         ci_4= 0;
         cxoffset_5= 0;
         cxspacing_16=getMEMINT((int)((cg + 52)));
         cyspacing_17=getMEMINT((int)((cg + 56)));
         cgnl_3=getMEMINT((int)((cg + 60)));
         lab_sfg150 : while( (cgnl_3) !=0 )
         {
         	   
            {
            setMEMINT((int)((getMEMINT((int)((cgnl_3 + 0))) + 12)),(int)(getMEMINT((int)((getMEMINT((int)((cgnl_3 + 0))) + 4)))));
            setMEMINT((int)((getMEMINT((int)((cgnl_3 + 0))) + 16)),(int)(getMEMINT((int)((getMEMINT((int)((cgnl_3 + 0))) + 8)))));
            setMEMINT((int)((getMEMINT((int)((cgnl_3 + 0))) + 68)),(int)(getMEMINT((int)((getMEMINT((int)((cgnl_3 + 0))) + 60)))));
            setMEMINT((int)((getMEMINT((int)((cgnl_3 + 0))) + 72)),(int)(getMEMINT((int)((getMEMINT((int)((cgnl_3 + 0))) + 64)))));
            setMEMINT((int)((getMEMINT((int)((cgnl_3 + 0))) + 92)),(int)(0));
            setMEMINT((int)((getMEMINT((int)((cgnl_3 + 0))) + 96)),(int)(0));
            cgnl_3=getMEMINT((int)((cgnl_3 + 4)));
            
            }
         
         }
         cxoffset_5=0;
         
         /* file sfg.c line 5501*/
         ci_4=0;
         lab_sfg151 : for( ; (((ci_4)<(getMEMINT((int)((cg + 44)))))?1:0)!=0 ; )
         {
            
            {
            ccsn_5=getMEMINT((int)((getMEMINT((int)((cg + 48))) + (ci_4*4))));
            
            /* file sfg.c line 5463*/
            if( (((((((((ci_4)==(0))?1:0))!=0)?1: ((((ci_4)==((getMEMINT((int)((cg + 44)))/2)))?1:0))))!=0)?1: ((((ci_4)==((getMEMINT((int)((cg + 44))) - 1)))?1:0)))!=0)
            {
            	
            };
            ccmaxx_9=0;
            
            /* file sfg.c line 5470*/
            cmake_cnodelist(cg);
            
            /* file sfg.c line 5473*/
            cmake_cnnodes_at_level(cg);
            
            /* file sfg.c line 5476*/
            cimprove_positions2local(cg);
            
            /* file sfg.c line 5479*/
            cmove0();
            
            /* file sfg.c line 5482*/
            ccfinalxy(cg);
            
            /* file sfg.c line 5485*/
            ctunedummy(cg);
            
            /* file sfg.c line 5488*/
            ctunenodes(cg);
            
            /* file sfg.c line 5491*/
            cmovefinal(cxoffset_5);
            cxoffset_5=((cxoffset_5 + ccmaxx_9) + cxspacing_16);
            
            /* file sfg.c line 5497*/
            cclear_cnnodes_at_level();
            
            /* file sfg.c line 5500*/
            cclear_cnodelist();
            
            }
         ci_4++;
         
         }
         
         /* file sfg.c line 5504*/
         if( getMEMINT((int)((cg + 32)))!=0)
         {
         	
         };
         if(true)
         {
         prevlevel();
         return ;
         };
         
         }
      };
      prevlevel();
   }
   
   /* file sfg.c line 5513*/
   
   public static void cfinalxy(int  cg)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int  clnl_3= 0;
      int  cmaxx_4= 0;
      int  cmaxy_5= 0;
      int  ccurx_6= 0;
      int  cmy_7= 0;
         
         {
         clnl_3= (int)(0);
         cmaxx_4= 0;
         cmaxy_5= 0;
         ccurx_6= 0;
         cmy_7= 0;
         
         /* file sfg.c line 5521*/
         if( getMEMINT((int)((cg + 32)))!=0)
         {
         	   
            {
            clnl_3=getMEMINT((int)((cmaingraph_1 + 68)));
            lab_sfg152 : while( (clnl_3) !=0 )
            {
            	   
               {
               setMEMINT((int)((getMEMINT((int)((clnl_3 + 0))) + 92)),(int)(ccurx_6));
               ccurx_6=((ccurx_6 + getMEMINT((int)((cg + 52)))) + getMEMINT((int)((getMEMINT((int)((clnl_3 + 0))) + 12))));
               
               /* file sfg.c line 5526*/
               if( (((getMEMINT((int)((getMEMINT((int)((clnl_3 + 0))) + 16))))>(cmy_7))?1:0)!=0)
               {
               	   
                  {
                  cmy_7=getMEMINT((int)((getMEMINT((int)((clnl_3 + 0))) + 16)));
                  
                  }
               
               };
               clnl_3=getMEMINT((int)((clnl_3 + 4)));
               
               }
            
            }
            cmy_7=(cmy_7 + getMEMINT((int)((cg + 56))));
            clnl_3=getMEMINT((int)((cmaingraph_1 + 68)));
            lab_sfg153 : while( (clnl_3) !=0 )
            {
            	   
               {
               setMEMINT((int)((getMEMINT((int)((clnl_3 + 0))) + 80)),(int)(0));
               setMEMINT((int)((getMEMINT((int)((clnl_3 + 0))) + 88)),(int)(cmy_7));
               clnl_3=getMEMINT((int)((clnl_3 + 4)));
               
               }
            
            }
            
            }
         
         };
         clnl_3=getMEMINT((int)((cmaingraph_1 + 60)));
         lab_sfg154 : while( (clnl_3) !=0 )
         {
         	   
            {
            
            /* file sfg.c line 5545*/
            if( ((((getMEMINT((int)((getMEMINT((int)((clnl_3 + 0))) + 92))) + getMEMINT((int)((getMEMINT((int)((clnl_3 + 0))) + 12)))))>(cmaxx_4))?1:0)!=0)
            {
            	   
               {
               cmaxx_4=(getMEMINT((int)((getMEMINT((int)((clnl_3 + 0))) + 92))) + getMEMINT((int)((getMEMINT((int)((clnl_3 + 0))) + 12))));
               
               }
            
            };
            
            /* file sfg.c line 5550*/
            if( (((getMEMINT((int)((getMEMINT((int)((clnl_3 + 0))) + 44))))!=0)?1: (getMEMINT((int)((getMEMINT((int)((clnl_3 + 0))) + 48)))))!=0)
            {
            	   
               {
               setMEMINT((int)((getMEMINT((int)((clnl_3 + 0))) + 96)),(int)((getMEMINT((int)((getMEMINT((int)((clnl_3 + 0))) + 96))) + cmy_7)));
               
               }
            
            };
            
            /* file sfg.c line 5555*/
            if( ((((getMEMINT((int)((getMEMINT((int)((clnl_3 + 0))) + 96))) + getMEMINT((int)((getMEMINT((int)((clnl_3 + 0))) + 16)))))>(cmaxy_5))?1:0)!=0)
            {
            	   
               {
               cmaxy_5=(getMEMINT((int)((getMEMINT((int)((clnl_3 + 0))) + 96))) + getMEMINT((int)((getMEMINT((int)((clnl_3 + 0))) + 16))));
               
               }
            
            };
            clnl_3=getMEMINT((int)((clnl_3 + 4)));
            
            }
         
         }
         setMEMINT((int)((cg + 116)),(int)(cmaxx_4));
         setMEMINT((int)((cg + 120)),(int)(cmaxy_5));
         if(true)
         {
         prevlevel();
         return ;
         };
         
         }
      };
      prevlevel();
   }
   
   /* file sfg.c line 5569*/
   
   public static int cfindedge(int  cnum)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int retval= 0;
      int  cel_4= 0;
      int  ce_5= 0;
         
         {
         cel_4= (int)(0);
         ce_5= (int)(0);
         
         /* file sfg.c line 5572*/
         if( (((cmaingraph_1)==((int)(0)))?1:0)!=0)
         {
         	   
            {
            retval= (int)(0);
            if(true)
            {
            prevlevel();
            return retval;
            };
            
            }
         
         };
         cel_4=getMEMINT((int)((cmaingraph_1 + 76)));
         lab_sfg155 : while( (cel_4) !=0 )
         {
         	   
            {
            ce_5=getMEMINT((int)((cel_4 + 0)));
            
            /* file sfg.c line 5578*/
            if( (((getMEMINT((int)((ce_5 + 0))))==(cnum))?1:0)!=0)
            {
            	   
               {
               if(true)
               {
               break lab_sfg155;
               };
               
               }
            
            };
            cel_4=getMEMINT((int)((cel_4 + 4)));
            
            }
         
         }
         retval= ce_5;
         if(true)
         {
         prevlevel();
         return retval;
         };
         
         }
      };
      prevlevel();
      return 0;
   }
   
   /* file sfg.c line 5588*/
   
   public static void csetminmax(int  cg)
   {
      nextlevel();
      if(true)
      {
      int label= 0;
      int  cnl_3= 0;
      int  cel_4= 0;
      int  ccount_5= 0;
         
         {
         cnl_3= (int)(0);
         cel_4= (int)(0);
         ccount_5= 0;
         setMEMINT((int)((cg + 124)),(int)(0));
         setMEMINT((int)((cg + 128)),(int)(0));
         setMEMINT((int)((cg + 132)),(int)(0));
         setMEMINT((int)((cg + 136)),(int)(0));
         cnl_3=getMEMINT((int)((cg + 60)));
         ccount_5=0;
         lab_sfg156 : while( (cnl_3) !=0 )
         {
         	   
            {
            
            /* file sfg.c line 5601*/
            if( (((ccount_5)==(0))?1:0)!=0)
            {
            	   
               {
               setMEMINT((int)((cg + 124)),(int)(getMEMINT((int)((getMEMINT((int)((cnl_3 + 0))) + 0)))));
               setMEMINT((int)((cg + 128)),(int)(getMEMINT((int)((getMEMINT((int)((cnl_3 + 0))) + 0)))));
               
               }
            
            }
            else
            {
            	   
               {
               
               /* file sfg.c line 5605*/
               if( (((getMEMINT((int)((getMEMINT((int)((cnl_3 + 0))) + 0))))<(getMEMINT((int)((cg + 124)))))?1:0)!=0)
               {
               	   
                  {
                  setMEMINT((int)((cg + 124)),(int)(getMEMINT((int)((getMEMINT((int)((cnl_3 + 0))) + 0)))));
                  
                  }
               
               };
               
               /* file sfg.c line 5608*/
               if( (((getMEMINT((int)((getMEMINT((int)((cnl_3 + 0))) + 0))))>(getMEMINT((int)((cg + 128)))))?1:0)!=0)
               {
               	   
                  {
                  setMEMINT((int)((cg + 128)),(int)(getMEMINT((int)((getMEMINT((int)((cnl_3 + 0))) + 0)))));
                  
                  }
               
               };
               
               }
            
            };
            ccount_5++;
            cnl_3=getMEMINT((int)((cnl_3 + 4)));
            
            }
         
         }
         cel_4=getMEMINT((int)((cg + 76)));
         ccount_5=0;
         lab_sfg157 : while( (cel_4) !=0 )
         {
         	   
            {
            
            /* file sfg.c line 5619*/
            if( (((ccount_5)==(0))?1:0)!=0)
            {
            	   
               {
               setMEMINT((int)((cg + 132)),(int)(getMEMINT((int)((getMEMINT((int)((cel_4 + 0))) + 0)))));
               setMEMINT((int)((cg + 136)),(int)(getMEMINT((int)((getMEMINT((int)((cel_4 + 0))) + 0)))));
               
               }
            
            }
            else
            {
            	   
               {
               
               /* file sfg.c line 5623*/
               if( (((getMEMINT((int)((getMEMINT((int)((cel_4 + 0))) + 0))))<(getMEMINT((int)((cg + 132)))))?1:0)!=0)
               {
               	   
                  {
                  setMEMINT((int)((cg + 132)),(int)(getMEMINT((int)((getMEMINT((int)((cel_4 + 0))) + 0)))));
                  
                  }
               
               };
               
               /* file sfg.c line 5626*/
               if( (((getMEMINT((int)((getMEMINT((int)((cel_4 + 0))) + 0))))>(getMEMINT((int)((cg + 136)))))?1:0)!=0)
               {
               	   
                  {
                  setMEMINT((int)((cg + 136)),(int)(getMEMINT((int)((getMEMINT((int)((cel_4 + 0))) + 0)))));
                  
                  }
               
               };
               
               }
            
            };
            ccount_5++;
            cel_4=getMEMINT((int)((cel_4 + 4)));
            
            }
         
         }
         if(true)
         {
         prevlevel();
         return ;
         };
         
         }
      };
      prevlevel();
   }

}
