modernc.org/ccgo/v3@v3.16.14/lib/testdata/gcc-9.1.0/gcc/testsuite/gcc.c-torture/compile/20020304-1.c (about)

     1  /* In 3.0, this test case (extracted from Bigloo) crashes the compiler in
     2     bb-reorder.c.  This is a regression from 2.95, already fixed in 3.1.
     3  
     4     Original bug report is c/5830 by Manuel Serrano <Manuel.Serrano@inria.fr>.
     5   */
     6  
     7  typedef union scmobj {
     8    struct pair {
     9      union scmobj *car;
    10      union scmobj *cdr;
    11    } pair_t;
    12    struct vector {
    13      long header;
    14      int length;
    15      union scmobj *obj0;
    16    } vector_t;
    17  } *obj_t;
    18  
    19  extern obj_t create_vector (int);
    20  extern obj_t make_pair (obj_t, obj_t);
    21  extern long bgl_list_length (obj_t);
    22  extern int BGl_equalzf3zf3zz__r4_equivalence_6_2z00 (obj_t, obj_t);
    23  extern obj_t BGl_evcompilezd2lambdazd2zz__evcompilez00 (obj_t
    24  							BgL_formalsz00_39,
    25  							obj_t BgL_bodyz00_40,
    26  							obj_t BgL_wherez00_41,
    27  							obj_t
    28  							BgL_namedzf3zf3_42,
    29  							obj_t BgL_locz00_43);
    30  
    31  obj_t
    32  BGl_evcompilezd2lambdazd2zz__evcompilez00 (obj_t BgL_formalsz00_39,
    33  					   obj_t BgL_bodyz00_40,
    34  					   obj_t BgL_wherez00_41,
    35  					   obj_t BgL_namedzf3zf3_42,
    36  					   obj_t BgL_locz00_43)
    37  {
    38    if (BGl_equalzf3zf3zz__r4_equivalence_6_2z00
    39        (BgL_formalsz00_39,
    40         ((obj_t) (obj_t) ((long) (((long) (0) << 2) | 2))))) {
    41    BgL_tagzd21966zd2_943:
    42      if ((BgL_namedzf3zf3_42 !=
    43  	 ((obj_t) (obj_t) ((long) (((long) (1) << 2) | 2))))) {
    44        obj_t BgL_v1042z00_998;
    45        {
    46  	int BgL_auxz00_4066;
    47  	BgL_auxz00_4066 = (int) (((long) 3));
    48  	BgL_v1042z00_998 = create_vector (BgL_auxz00_4066);
    49        }
    50        {
    51  	obj_t BgL_arg1586z00_1000;
    52  	BgL_arg1586z00_1000 = make_pair (BgL_wherez00_41, BgL_bodyz00_40);
    53  	{
    54  	  int BgL_auxz00_4070;
    55  	  BgL_auxz00_4070 = (int) (((long) 2));
    56  	  ((&(((obj_t) (BgL_v1042z00_998))->vector_t.obj0))[BgL_auxz00_4070] =
    57  	   BgL_arg1586z00_1000,
    58  	   ((obj_t) (obj_t) ((long) (((long) (3) << 2) | 2))));
    59  	}
    60        }
    61        {
    62  	int BgL_auxz00_4073;
    63  	BgL_auxz00_4073 = (int) (((long) 1));
    64  	((&(((obj_t) (BgL_v1042z00_998))->vector_t.obj0))[BgL_auxz00_4073] =
    65  	 BgL_locz00_43, ((obj_t) (obj_t) ((long) (((long) (3) << 2) | 2))));
    66        }
    67        {
    68  	obj_t BgL_auxz00_4078;
    69  	int BgL_auxz00_4076;
    70  	{
    71  	  long BgL_auxz00_4079;
    72  	  {
    73  	    long BgL_auxz00_4080;
    74  	    BgL_auxz00_4080 = bgl_list_length (BgL_formalsz00_39);
    75  	    BgL_auxz00_4079 = (BgL_auxz00_4080 + ((long) 37));
    76  	  }
    77  	  BgL_auxz00_4078 =
    78  	    (obj_t) ((long) (((long) (BgL_auxz00_4079) << 2) | 1));
    79  	}
    80  	BgL_auxz00_4076 = (int) (((long) 0));
    81  	((&(((obj_t) (BgL_v1042z00_998))->vector_t.obj0))[BgL_auxz00_4076] =
    82  	 BgL_auxz00_4078, ((obj_t) (obj_t) ((long) (((long) (3) << 2) | 2))));
    83        }
    84        return BgL_v1042z00_998;
    85      } else {
    86        obj_t BgL_v1043z00_1005;
    87        {
    88  	int BgL_auxz00_4085;
    89  	BgL_auxz00_4085 = (int) (((long) 3));
    90  	BgL_v1043z00_1005 = create_vector (BgL_auxz00_4085);
    91        }
    92        {
    93  	int BgL_auxz00_4088;
    94  	BgL_auxz00_4088 = (int) (((long) 2));
    95  	((&(((obj_t) (BgL_v1043z00_1005))->vector_t.obj0))[BgL_auxz00_4088] =
    96  	 BgL_bodyz00_40, ((obj_t) (obj_t) ((long) (((long) (3) << 2) | 2))));
    97        }
    98        {
    99  	int BgL_auxz00_4091;
   100  	BgL_auxz00_4091 = (int) (((long) 1));
   101  	((&(((obj_t) (BgL_v1043z00_1005))->vector_t.obj0))[BgL_auxz00_4091] =
   102  	 BgL_locz00_43, ((obj_t) (obj_t) ((long) (((long) (3) << 2) | 2))));
   103        }
   104        {
   105  	obj_t BgL_auxz00_4096;
   106  	int BgL_auxz00_4094;
   107  	{
   108  	  long BgL_auxz00_4097;
   109  	  {
   110  	    long BgL_auxz00_4098;
   111  	    BgL_auxz00_4098 = bgl_list_length (BgL_formalsz00_39);
   112  	    BgL_auxz00_4097 = (BgL_auxz00_4098 + ((long) 42));
   113  	  }
   114  	  BgL_auxz00_4096 =
   115  	    (obj_t) ((long) (((long) (BgL_auxz00_4097) << 2) | 1));
   116  	}
   117  	BgL_auxz00_4094 = (int) (((long) 0));
   118  	((&(((obj_t) (BgL_v1043z00_1005))->vector_t.obj0))[BgL_auxz00_4094] =
   119  	 BgL_auxz00_4096, ((obj_t) (obj_t) ((long) (((long) (3) << 2) | 2))));
   120        }
   121        return BgL_v1043z00_1005;
   122      }
   123    } else {
   124      if (((((long) BgL_formalsz00_39) & ((1 << 2) - 1)) == 3)) {
   125        if (BGl_equalzf3zf3zz__r4_equivalence_6_2z00
   126  	  (((((obj_t) ((long) BgL_formalsz00_39 - 3))->pair_t).cdr),
   127  	   ((obj_t) (obj_t) ((long) (((long) (0) << 2) | 2))))) {
   128  	goto BgL_tagzd21966zd2_943;
   129        } else {
   130  	obj_t BgL_cdrzd21979zd2_953;
   131  	BgL_cdrzd21979zd2_953 =
   132  	  ((((obj_t) ((long) BgL_formalsz00_39 - 3))->pair_t).cdr);
   133  	if (((((long) BgL_cdrzd21979zd2_953) & ((1 << 2) - 1)) == 3)) {
   134  	  if (BGl_equalzf3zf3zz__r4_equivalence_6_2z00
   135  	      (((((obj_t) ((long) BgL_cdrzd21979zd2_953 - 3))->pair_t).cdr),
   136  	       ((obj_t) (obj_t) ((long) (((long) (0) << 2) | 2))))) {
   137  	    goto BgL_tagzd21966zd2_943;
   138  	  } else {
   139  	    obj_t BgL_cdrzd21986zd2_956;
   140  	    BgL_cdrzd21986zd2_956 =
   141  	      ((((obj_t) ((long) BgL_cdrzd21979zd2_953 - 3))->pair_t).cdr);
   142  	    if (((((long) BgL_cdrzd21986zd2_956) & ((1 << 2) - 1)) == 3)) {
   143  	      if (BGl_equalzf3zf3zz__r4_equivalence_6_2z00
   144  		  (((((obj_t) ((long) BgL_cdrzd21986zd2_956 - 3))->pair_t).
   145  		    cdr),
   146  		   ((obj_t) (obj_t) ((long) (((long) (0) << 2) | 2))))) {
   147  		goto BgL_tagzd21966zd2_943;
   148  	      } else {
   149  		obj_t BgL_cdrzd21994zd2_959;
   150  		{
   151  		  obj_t BgL_auxz00_4120;
   152  		  BgL_auxz00_4120 =
   153  		    ((((obj_t) ((long) BgL_cdrzd21979zd2_953 - 3))->pair_t).
   154  		     cdr);
   155  		  BgL_cdrzd21994zd2_959 =
   156  		    ((((obj_t) ((long) BgL_auxz00_4120 - 3))->pair_t).cdr);
   157  		}
   158  		if (((((long) BgL_cdrzd21994zd2_959) & ((1 << 2) - 1)) == 3)) {
   159  		  if (BGl_equalzf3zf3zz__r4_equivalence_6_2z00
   160  		      (((((obj_t) ((long) BgL_cdrzd21994zd2_959 - 3))->
   161  			 pair_t).cdr),
   162  		       ((obj_t) (obj_t) ((long) (((long) (0) << 2) | 2))))) {
   163  		    goto BgL_tagzd21966zd2_943;
   164  		  } else {
   165  		    int BgL_testz00_4128;
   166  		    {
   167  		      obj_t BgL_auxz00_4129;
   168  		      BgL_auxz00_4129 =
   169  			((((obj_t) ((long) BgL_formalsz00_39 - 3))->pair_t).
   170  			 car);
   171  		      BgL_testz00_4128 =
   172  			((((long) BgL_auxz00_4129) & ((1 << 2) - 1)) == 3);
   173  		    }
   174  		    if (BgL_testz00_4128) {
   175  		    BgL_tagzd21971zd2_948:
   176  		      if ((BgL_namedzf3zf3_42 !=
   177  			   ((obj_t) (obj_t)
   178  			    ((long) (((long) (1) << 2) | 2))))) {
   179  			obj_t BgL_v1052z00_1026;
   180  			{
   181  			  int BgL_auxz00_4134;
   182  			  BgL_auxz00_4134 = (int) (((long) 3));
   183  			  BgL_v1052z00_1026 = create_vector (BgL_auxz00_4134);
   184  			}
   185  			{
   186  			  obj_t BgL_arg1606z00_1028;
   187  			  {
   188  			    obj_t BgL_v1053z00_1029;
   189  			    {
   190  			      int BgL_auxz00_4137;
   191  			      BgL_auxz00_4137 = (int) (((long) 3));
   192  			      BgL_v1053z00_1029 =
   193  				create_vector (BgL_auxz00_4137);
   194  			    }
   195  			    {
   196  			      int BgL_auxz00_4140;
   197  			      BgL_auxz00_4140 = (int) (((long) 2));
   198  			      ((&
   199  				(((obj_t) (BgL_v1053z00_1029))->vector_t.
   200  				 obj0))[BgL_auxz00_4140] =
   201  			       BgL_formalsz00_39,
   202  			       ((obj_t) (obj_t)
   203  				((long) (((long) (3) << 2) | 2))));
   204  			    }
   205  			    {
   206  			      int BgL_auxz00_4143;
   207  			      BgL_auxz00_4143 = (int) (((long) 1));
   208  			      ((&
   209  				(((obj_t) (BgL_v1053z00_1029))->vector_t.
   210  				 obj0))[BgL_auxz00_4143] =
   211  			       BgL_bodyz00_40,
   212  			       ((obj_t) (obj_t)
   213  				((long) (((long) (3) << 2) | 2))));
   214  			    }
   215  			    {
   216  			      int BgL_auxz00_4146;
   217  			      BgL_auxz00_4146 = (int) (((long) 0));
   218  			      ((&
   219  				(((obj_t) (BgL_v1053z00_1029))->vector_t.
   220  				 obj0))[BgL_auxz00_4146] =
   221  			       BgL_wherez00_41,
   222  			       ((obj_t) (obj_t)
   223  				((long) (((long) (3) << 2) | 2))));
   224  			    }
   225  			    BgL_arg1606z00_1028 = BgL_v1053z00_1029;
   226  			  }
   227  			  {
   228  			    int BgL_auxz00_4149;
   229  			    BgL_auxz00_4149 = (int) (((long) 2));
   230  			    ((&(((obj_t) (BgL_v1052z00_1026))->vector_t.obj0))
   231  			     [BgL_auxz00_4149] =
   232  			     BgL_arg1606z00_1028,
   233  			     ((obj_t) (obj_t)
   234  			      ((long) (((long) (3) << 2) | 2))));
   235  			  }
   236  			}
   237  			{
   238  			  int BgL_auxz00_4152;
   239  			  BgL_auxz00_4152 = (int) (((long) 1));
   240  			  ((&(((obj_t) (BgL_v1052z00_1026))->vector_t.obj0))
   241  			   [BgL_auxz00_4152] =
   242  			   BgL_locz00_43,
   243  			   ((obj_t) (obj_t)
   244  			    ((long) (((long) (3) << 2) | 2))));
   245  			}
   246  			{
   247  			  obj_t BgL_auxz00_4157;
   248  			  int BgL_auxz00_4155;
   249  			  BgL_auxz00_4157 =
   250  			    (obj_t) ((long)
   251  				     (((long) (((long) 55)) << 2) | 1));
   252  			  BgL_auxz00_4155 = (int) (((long) 0));
   253  			  ((&(((obj_t) (BgL_v1052z00_1026))->vector_t.obj0))
   254  			   [BgL_auxz00_4155] =
   255  			   BgL_auxz00_4157,
   256  			   ((obj_t) (obj_t)
   257  			    ((long) (((long) (3) << 2) | 2))));
   258  			}
   259  			return BgL_v1052z00_1026;
   260  		      } else {
   261  			obj_t BgL_v1054z00_1030;
   262  			{
   263  			  int BgL_auxz00_4160;
   264  			  BgL_auxz00_4160 = (int) (((long) 3));
   265  			  BgL_v1054z00_1030 = create_vector (BgL_auxz00_4160);
   266  			}
   267  			{
   268  			  obj_t BgL_arg1608z00_1032;
   269  			  BgL_arg1608z00_1032 =
   270  			    make_pair (BgL_bodyz00_40, BgL_formalsz00_39);
   271  			  {
   272  			    int BgL_auxz00_4164;
   273  			    BgL_auxz00_4164 = (int) (((long) 2));
   274  			    ((&(((obj_t) (BgL_v1054z00_1030))->vector_t.obj0))
   275  			     [BgL_auxz00_4164] =
   276  			     BgL_arg1608z00_1032,
   277  			     ((obj_t) (obj_t)
   278  			      ((long) (((long) (3) << 2) | 2))));
   279  			  }
   280  			}
   281  			{
   282  			  int BgL_auxz00_4167;
   283  			  BgL_auxz00_4167 = (int) (((long) 1));
   284  			  ((&(((obj_t) (BgL_v1054z00_1030))->vector_t.obj0))
   285  			   [BgL_auxz00_4167] =
   286  			   BgL_locz00_43,
   287  			   ((obj_t) (obj_t)
   288  			    ((long) (((long) (3) << 2) | 2))));
   289  			}
   290  			{
   291  			  obj_t BgL_auxz00_4172;
   292  			  int BgL_auxz00_4170;
   293  			  BgL_auxz00_4172 =
   294  			    (obj_t) ((long)
   295  				     (((long) (((long) 56)) << 2) | 1));
   296  			  BgL_auxz00_4170 = (int) (((long) 0));
   297  			  ((&(((obj_t) (BgL_v1054z00_1030))->vector_t.obj0))
   298  			   [BgL_auxz00_4170] =
   299  			   BgL_auxz00_4172,
   300  			   ((obj_t) (obj_t)
   301  			    ((long) (((long) (3) << 2) | 2))));
   302  			}
   303  			return BgL_v1054z00_1030;
   304  		      }
   305  		    } else {
   306  		      int BgL_testz00_4175;
   307  		      {
   308  			obj_t BgL_auxz00_4176;
   309  			{
   310  			  obj_t BgL_auxz00_4177;
   311  			  BgL_auxz00_4177 =
   312  			    ((((obj_t) ((long) BgL_formalsz00_39 - 3))->
   313  			      pair_t).cdr);
   314  			  BgL_auxz00_4176 =
   315  			    ((((obj_t) ((long) BgL_auxz00_4177 - 3))->pair_t).
   316  			     car);
   317  			}
   318  			BgL_testz00_4175 =
   319  			  ((((long) BgL_auxz00_4176) & ((1 << 2) - 1)) == 3);
   320  		      }
   321  		      if (BgL_testz00_4175) {
   322  			goto BgL_tagzd21971zd2_948;
   323  		      } else {
   324  			int BgL_testz00_4181;
   325  			{
   326  			  obj_t BgL_auxz00_4182;
   327  			  {
   328  			    obj_t BgL_auxz00_4183;
   329  			    {
   330  			      obj_t BgL_auxz00_4184;
   331  			      BgL_auxz00_4184 =
   332  				((((obj_t) ((long) BgL_formalsz00_39 - 3))->
   333  				  pair_t).cdr);
   334  			      BgL_auxz00_4183 =
   335  				((((obj_t) ((long) BgL_auxz00_4184 - 3))->
   336  				  pair_t).cdr);
   337  			    }
   338  			    BgL_auxz00_4182 =
   339  			      ((((obj_t) ((long) BgL_auxz00_4183 - 3))->
   340  				pair_t).car);
   341  			  }
   342  			  BgL_testz00_4181 =
   343  			    ((((long) BgL_auxz00_4182) & ((1 << 2) - 1)) ==
   344  			     3);
   345  			}
   346  			if (BgL_testz00_4181) {
   347  			  goto BgL_tagzd21971zd2_948;
   348  			} else {
   349  			  goto BgL_tagzd21971zd2_948;
   350  			}
   351  		      }
   352  		    }
   353  		  }
   354  		} else {
   355  		  int BgL_testz00_4189;
   356  		  {
   357  		    obj_t BgL_auxz00_4190;
   358  		    BgL_auxz00_4190 =
   359  		      ((((obj_t) ((long) BgL_formalsz00_39 - 3))->pair_t).
   360  		       car);
   361  		    BgL_testz00_4189 =
   362  		      ((((long) BgL_auxz00_4190) & ((1 << 2) - 1)) == 3);
   363  		  }
   364  		  if (BgL_testz00_4189) {
   365  		    goto BgL_tagzd21971zd2_948;
   366  		  } else {
   367  		    int BgL_testz00_4193;
   368  		    {
   369  		      obj_t BgL_auxz00_4194;
   370  		      {
   371  			obj_t BgL_auxz00_4195;
   372  			BgL_auxz00_4195 =
   373  			  ((((obj_t) ((long) BgL_formalsz00_39 - 3))->pair_t).
   374  			   cdr);
   375  			BgL_auxz00_4194 =
   376  			  ((((obj_t) ((long) BgL_auxz00_4195 - 3))->pair_t).
   377  			   car);
   378  		      }
   379  		      BgL_testz00_4193 =
   380  			((((long) BgL_auxz00_4194) & ((1 << 2) - 1)) == 3);
   381  		    }
   382  		    if (BgL_testz00_4193) {
   383  		      goto BgL_tagzd21971zd2_948;
   384  		    } else {
   385  		      int BgL_testz00_4199;
   386  		      {
   387  			obj_t BgL_auxz00_4200;
   388  			{
   389  			  obj_t BgL_auxz00_4201;
   390  			  {
   391  			    obj_t BgL_auxz00_4202;
   392  			    BgL_auxz00_4202 =
   393  			      ((((obj_t) ((long) BgL_formalsz00_39 - 3))->
   394  				pair_t).cdr);
   395  			    BgL_auxz00_4201 =
   396  			      ((((obj_t) ((long) BgL_auxz00_4202 - 3))->
   397  				pair_t).cdr);
   398  			  }
   399  			  BgL_auxz00_4200 =
   400  			    ((((obj_t) ((long) BgL_auxz00_4201 - 3))->pair_t).
   401  			     car);
   402  			}
   403  			BgL_testz00_4199 =
   404  			  ((((long) BgL_auxz00_4200) & ((1 << 2) - 1)) == 3);
   405  		      }
   406  		      if (BgL_testz00_4199) {
   407  			goto BgL_tagzd21971zd2_948;
   408  		      } else {
   409  			if ((BgL_namedzf3zf3_42 !=
   410  			     ((obj_t) (obj_t)
   411  			      ((long) (((long) (1) << 2) | 2))))) {
   412  			  obj_t BgL_v1050z00_1022;
   413  			  {
   414  			    int BgL_auxz00_4209;
   415  			    BgL_auxz00_4209 = (int) (((long) 3));
   416  			    BgL_v1050z00_1022 =
   417  			      create_vector (BgL_auxz00_4209);
   418  			  }
   419  			  {
   420  			    obj_t BgL_arg1604z00_1024;
   421  			    BgL_arg1604z00_1024 =
   422  			      make_pair (BgL_wherez00_41, BgL_bodyz00_40);
   423  			    {
   424  			      int BgL_auxz00_4213;
   425  			      BgL_auxz00_4213 = (int) (((long) 2));
   426  			      ((&
   427  				(((obj_t) (BgL_v1050z00_1022))->vector_t.
   428  				 obj0))[BgL_auxz00_4213] =
   429  			       BgL_arg1604z00_1024,
   430  			       ((obj_t) (obj_t)
   431  				((long) (((long) (3) << 2) | 2))));
   432  			    }
   433  			  }
   434  			  {
   435  			    int BgL_auxz00_4216;
   436  			    BgL_auxz00_4216 = (int) (((long) 1));
   437  			    ((&(((obj_t) (BgL_v1050z00_1022))->vector_t.obj0))
   438  			     [BgL_auxz00_4216] =
   439  			     BgL_locz00_43,
   440  			     ((obj_t) (obj_t)
   441  			      ((long) (((long) (3) << 2) | 2))));
   442  			  }
   443  			  {
   444  			    obj_t BgL_auxz00_4221;
   445  			    int BgL_auxz00_4219;
   446  			    BgL_auxz00_4221 =
   447  			      (obj_t) ((long)
   448  				       (((long) (((long) 50)) << 2) | 1));
   449  			    BgL_auxz00_4219 = (int) (((long) 0));
   450  			    ((&(((obj_t) (BgL_v1050z00_1022))->vector_t.obj0))
   451  			     [BgL_auxz00_4219] =
   452  			     BgL_auxz00_4221,
   453  			     ((obj_t) (obj_t)
   454  			      ((long) (((long) (3) << 2) | 2))));
   455  			  }
   456  			  return BgL_v1050z00_1022;
   457  			} else {
   458  			  obj_t BgL_v1051z00_1025;
   459  			  {
   460  			    int BgL_auxz00_4224;
   461  			    BgL_auxz00_4224 = (int) (((long) 3));
   462  			    BgL_v1051z00_1025 =
   463  			      create_vector (BgL_auxz00_4224);
   464  			  }
   465  			  {
   466  			    int BgL_auxz00_4227;
   467  			    BgL_auxz00_4227 = (int) (((long) 2));
   468  			    ((&(((obj_t) (BgL_v1051z00_1025))->vector_t.obj0))
   469  			     [BgL_auxz00_4227] =
   470  			     BgL_bodyz00_40,
   471  			     ((obj_t) (obj_t)
   472  			      ((long) (((long) (3) << 2) | 2))));
   473  			  }
   474  			  {
   475  			    int BgL_auxz00_4230;
   476  			    BgL_auxz00_4230 = (int) (((long) 1));
   477  			    ((&(((obj_t) (BgL_v1051z00_1025))->vector_t.obj0))
   478  			     [BgL_auxz00_4230] =
   479  			     BgL_locz00_43,
   480  			     ((obj_t) (obj_t)
   481  			      ((long) (((long) (3) << 2) | 2))));
   482  			  }
   483  			  {
   484  			    obj_t BgL_auxz00_4235;
   485  			    int BgL_auxz00_4233;
   486  			    BgL_auxz00_4235 =
   487  			      (obj_t) ((long)
   488  				       (((long) (((long) 54)) << 2) | 1));
   489  			    BgL_auxz00_4233 = (int) (((long) 0));
   490  			    ((&(((obj_t) (BgL_v1051z00_1025))->vector_t.obj0))
   491  			     [BgL_auxz00_4233] =
   492  			     BgL_auxz00_4235,
   493  			     ((obj_t) (obj_t)
   494  			      ((long) (((long) (3) << 2) | 2))));
   495  			  }
   496  			  return BgL_v1051z00_1025;
   497  			}
   498  		      }
   499  		    }
   500  		  }
   501  		}
   502  	      }
   503  	    } else {
   504  	      int BgL_testz00_4238;
   505  	      {
   506  		obj_t BgL_auxz00_4239;
   507  		BgL_auxz00_4239 =
   508  		  ((((obj_t) ((long) BgL_formalsz00_39 - 3))->pair_t).car);
   509  		BgL_testz00_4238 =
   510  		  ((((long) BgL_auxz00_4239) & ((1 << 2) - 1)) == 3);
   511  	      }
   512  	      if (BgL_testz00_4238) {
   513  		goto BgL_tagzd21971zd2_948;
   514  	      } else {
   515  		int BgL_testz00_4242;
   516  		{
   517  		  obj_t BgL_auxz00_4243;
   518  		  BgL_auxz00_4243 =
   519  		    ((((obj_t) ((long) BgL_cdrzd21979zd2_953 - 3))->pair_t).
   520  		     car);
   521  		  BgL_testz00_4242 =
   522  		    ((((long) BgL_auxz00_4243) & ((1 << 2) - 1)) == 3);
   523  		}
   524  		if (BgL_testz00_4242) {
   525  		  goto BgL_tagzd21971zd2_948;
   526  		} else {
   527  		  if ((BgL_namedzf3zf3_42 !=
   528  		       ((obj_t) (obj_t) ((long) (((long) (1) << 2) | 2))))) {
   529  		    obj_t BgL_v1048z00_1018;
   530  		    {
   531  		      int BgL_auxz00_4248;
   532  		      BgL_auxz00_4248 = (int) (((long) 3));
   533  		      BgL_v1048z00_1018 = create_vector (BgL_auxz00_4248);
   534  		    }
   535  		    {
   536  		      obj_t BgL_arg1602z00_1020;
   537  		      BgL_arg1602z00_1020 =
   538  			make_pair (BgL_wherez00_41, BgL_bodyz00_40);
   539  		      {
   540  			int BgL_auxz00_4252;
   541  			BgL_auxz00_4252 = (int) (((long) 2));
   542  			((&(((obj_t) (BgL_v1048z00_1018))->vector_t.obj0))
   543  			 [BgL_auxz00_4252] =
   544  			 BgL_arg1602z00_1020,
   545  			 ((obj_t) (obj_t) ((long) (((long) (3) << 2) | 2))));
   546  		      }
   547  		    }
   548  		    {
   549  		      int BgL_auxz00_4255;
   550  		      BgL_auxz00_4255 = (int) (((long) 1));
   551  		      ((&(((obj_t) (BgL_v1048z00_1018))->vector_t.obj0))
   552  		       [BgL_auxz00_4255] =
   553  		       BgL_locz00_43,
   554  		       ((obj_t) (obj_t) ((long) (((long) (3) << 2) | 2))));
   555  		    }
   556  		    {
   557  		      obj_t BgL_auxz00_4260;
   558  		      int BgL_auxz00_4258;
   559  		      BgL_auxz00_4260 =
   560  			(obj_t) ((long) (((long) (((long) 49)) << 2) | 1));
   561  		      BgL_auxz00_4258 = (int) (((long) 0));
   562  		      ((&(((obj_t) (BgL_v1048z00_1018))->vector_t.obj0))
   563  		       [BgL_auxz00_4258] =
   564  		       BgL_auxz00_4260,
   565  		       ((obj_t) (obj_t) ((long) (((long) (3) << 2) | 2))));
   566  		    }
   567  		    return BgL_v1048z00_1018;
   568  		  } else {
   569  		    obj_t BgL_v1049z00_1021;
   570  		    {
   571  		      int BgL_auxz00_4263;
   572  		      BgL_auxz00_4263 = (int) (((long) 3));
   573  		      BgL_v1049z00_1021 = create_vector (BgL_auxz00_4263);
   574  		    }
   575  		    {
   576  		      int BgL_auxz00_4266;
   577  		      BgL_auxz00_4266 = (int) (((long) 2));
   578  		      ((&(((obj_t) (BgL_v1049z00_1021))->vector_t.obj0))
   579  		       [BgL_auxz00_4266] =
   580  		       BgL_bodyz00_40,
   581  		       ((obj_t) (obj_t) ((long) (((long) (3) << 2) | 2))));
   582  		    }
   583  		    {
   584  		      int BgL_auxz00_4269;
   585  		      BgL_auxz00_4269 = (int) (((long) 1));
   586  		      ((&(((obj_t) (BgL_v1049z00_1021))->vector_t.obj0))
   587  		       [BgL_auxz00_4269] =
   588  		       BgL_locz00_43,
   589  		       ((obj_t) (obj_t) ((long) (((long) (3) << 2) | 2))));
   590  		    }
   591  		    {
   592  		      obj_t BgL_auxz00_4274;
   593  		      int BgL_auxz00_4272;
   594  		      BgL_auxz00_4274 =
   595  			(obj_t) ((long) (((long) (((long) 53)) << 2) | 1));
   596  		      BgL_auxz00_4272 = (int) (((long) 0));
   597  		      ((&(((obj_t) (BgL_v1049z00_1021))->vector_t.obj0))
   598  		       [BgL_auxz00_4272] =
   599  		       BgL_auxz00_4274,
   600  		       ((obj_t) (obj_t) ((long) (((long) (3) << 2) | 2))));
   601  		    }
   602  		    return BgL_v1049z00_1021;
   603  		  }
   604  		}
   605  	      }
   606  	    }
   607  	  }
   608  	} else {
   609  	  int BgL_testz00_4277;
   610  	  {
   611  	    obj_t BgL_auxz00_4278;
   612  	    BgL_auxz00_4278 =
   613  	      ((((obj_t) ((long) BgL_formalsz00_39 - 3))->pair_t).car);
   614  	    BgL_testz00_4277 =
   615  	      ((((long) BgL_auxz00_4278) & ((1 << 2) - 1)) == 3);
   616  	  }
   617  	  if (BgL_testz00_4277) {
   618  	    goto BgL_tagzd21971zd2_948;
   619  	  } else {
   620  	    if ((BgL_namedzf3zf3_42 !=
   621  		 ((obj_t) (obj_t) ((long) (((long) (1) << 2) | 2))))) {
   622  	      obj_t BgL_v1046z00_1014;
   623  	      {
   624  		int BgL_auxz00_4283;
   625  		BgL_auxz00_4283 = (int) (((long) 3));
   626  		BgL_v1046z00_1014 = create_vector (BgL_auxz00_4283);
   627  	      }
   628  	      {
   629  		obj_t BgL_arg1600z00_1016;
   630  		BgL_arg1600z00_1016 =
   631  		  make_pair (BgL_wherez00_41, BgL_bodyz00_40);
   632  		{
   633  		  int BgL_auxz00_4287;
   634  		  BgL_auxz00_4287 = (int) (((long) 2));
   635  		  ((&(((obj_t) (BgL_v1046z00_1014))->vector_t.obj0))
   636  		   [BgL_auxz00_4287] =
   637  		   BgL_arg1600z00_1016,
   638  		   ((obj_t) (obj_t) ((long) (((long) (3) << 2) | 2))));
   639  		}
   640  	      }
   641  	      {
   642  		int BgL_auxz00_4290;
   643  		BgL_auxz00_4290 = (int) (((long) 1));
   644  		((&(((obj_t) (BgL_v1046z00_1014))->vector_t.obj0))
   645  		 [BgL_auxz00_4290] =
   646  		 BgL_locz00_43,
   647  		 ((obj_t) (obj_t) ((long) (((long) (3) << 2) | 2))));
   648  	      }
   649  	      {
   650  		obj_t BgL_auxz00_4295;
   651  		int BgL_auxz00_4293;
   652  		BgL_auxz00_4295 =
   653  		  (obj_t) ((long) (((long) (((long) 48)) << 2) | 1));
   654  		BgL_auxz00_4293 = (int) (((long) 0));
   655  		((&(((obj_t) (BgL_v1046z00_1014))->vector_t.obj0))
   656  		 [BgL_auxz00_4293] =
   657  		 BgL_auxz00_4295,
   658  		 ((obj_t) (obj_t) ((long) (((long) (3) << 2) | 2))));
   659  	      }
   660  	      return BgL_v1046z00_1014;
   661  	    } else {
   662  	      obj_t BgL_v1047z00_1017;
   663  	      {
   664  		int BgL_auxz00_4298;
   665  		BgL_auxz00_4298 = (int) (((long) 3));
   666  		BgL_v1047z00_1017 = create_vector (BgL_auxz00_4298);
   667  	      }
   668  	      {
   669  		int BgL_auxz00_4301;
   670  		BgL_auxz00_4301 = (int) (((long) 2));
   671  		((&(((obj_t) (BgL_v1047z00_1017))->vector_t.obj0))
   672  		 [BgL_auxz00_4301] =
   673  		 BgL_bodyz00_40,
   674  		 ((obj_t) (obj_t) ((long) (((long) (3) << 2) | 2))));
   675  	      }
   676  	      {
   677  		int BgL_auxz00_4304;
   678  		BgL_auxz00_4304 = (int) (((long) 1));
   679  		((&(((obj_t) (BgL_v1047z00_1017))->vector_t.obj0))
   680  		 [BgL_auxz00_4304] =
   681  		 BgL_locz00_43,
   682  		 ((obj_t) (obj_t) ((long) (((long) (3) << 2) | 2))));
   683  	      }
   684  	      {
   685  		obj_t BgL_auxz00_4309;
   686  		int BgL_auxz00_4307;
   687  		BgL_auxz00_4309 =
   688  		  (obj_t) ((long) (((long) (((long) 52)) << 2) | 1));
   689  		BgL_auxz00_4307 = (int) (((long) 0));
   690  		((&(((obj_t) (BgL_v1047z00_1017))->vector_t.obj0))
   691  		 [BgL_auxz00_4307] =
   692  		 BgL_auxz00_4309,
   693  		 ((obj_t) (obj_t) ((long) (((long) (3) << 2) | 2))));
   694  	      }
   695  	      return BgL_v1047z00_1017;
   696  	    }
   697  	  }
   698  	}
   699        }
   700      } else {
   701        if ((BgL_namedzf3zf3_42 !=
   702  	   ((obj_t) (obj_t) ((long) (((long) (1) << 2) | 2))))) {
   703  	obj_t BgL_v1044z00_1010;
   704  	{
   705  	  int BgL_auxz00_4314;
   706  	  BgL_auxz00_4314 = (int) (((long) 3));
   707  	  BgL_v1044z00_1010 = create_vector (BgL_auxz00_4314);
   708  	}
   709  	{
   710  	  obj_t BgL_arg1598z00_1012;
   711  	  BgL_arg1598z00_1012 = make_pair (BgL_wherez00_41, BgL_bodyz00_40);
   712  	  {
   713  	    int BgL_auxz00_4318;
   714  	    BgL_auxz00_4318 = (int) (((long) 2));
   715  	    ((&(((obj_t) (BgL_v1044z00_1010))->vector_t.obj0))
   716  	     [BgL_auxz00_4318] =
   717  	     BgL_arg1598z00_1012,
   718  	     ((obj_t) (obj_t) ((long) (((long) (3) << 2) | 2))));
   719  	  }
   720  	}
   721  	{
   722  	  int BgL_auxz00_4321;
   723  	  BgL_auxz00_4321 = (int) (((long) 1));
   724  	  ((&(((obj_t) (BgL_v1044z00_1010))->vector_t.obj0))[BgL_auxz00_4321]
   725  	   =
   726  	   BgL_locz00_43, ((obj_t) (obj_t) ((long) (((long) (3) << 2) | 2))));
   727  	}
   728  	{
   729  	  obj_t BgL_auxz00_4326;
   730  	  int BgL_auxz00_4324;
   731  	  BgL_auxz00_4326 =
   732  	    (obj_t) ((long) (((long) (((long) 47)) << 2) | 1));
   733  	  BgL_auxz00_4324 = (int) (((long) 0));
   734  	  ((&(((obj_t) (BgL_v1044z00_1010))->vector_t.obj0))[BgL_auxz00_4324]
   735  	   =
   736  	   BgL_auxz00_4326,
   737  	   ((obj_t) (obj_t) ((long) (((long) (3) << 2) | 2))));
   738  	}
   739  	return BgL_v1044z00_1010;
   740        } else {
   741  	obj_t BgL_v1045z00_1013;
   742  	{
   743  	  int BgL_auxz00_4329;
   744  	  BgL_auxz00_4329 = (int) (((long) 3));
   745  	  BgL_v1045z00_1013 = create_vector (BgL_auxz00_4329);
   746  	}
   747  	{
   748  	  int BgL_auxz00_4332;
   749  	  BgL_auxz00_4332 = (int) (((long) 2));
   750  	  ((&(((obj_t) (BgL_v1045z00_1013))->vector_t.obj0))[BgL_auxz00_4332]
   751  	   =
   752  	   BgL_bodyz00_40,
   753  	   ((obj_t) (obj_t) ((long) (((long) (3) << 2) | 2))));
   754  	}
   755  	{
   756  	  int BgL_auxz00_4335;
   757  	  BgL_auxz00_4335 = (int) (((long) 1));
   758  	  ((&(((obj_t) (BgL_v1045z00_1013))->vector_t.obj0))[BgL_auxz00_4335]
   759  	   =
   760  	   BgL_locz00_43, ((obj_t) (obj_t) ((long) (((long) (3) << 2) | 2))));
   761  	}
   762  	{
   763  	  obj_t BgL_auxz00_4340;
   764  	  int BgL_auxz00_4338;
   765  	  BgL_auxz00_4340 =
   766  	    (obj_t) ((long) (((long) (((long) 51)) << 2) | 1));
   767  	  BgL_auxz00_4338 = (int) (((long) 0));
   768  	  ((&(((obj_t) (BgL_v1045z00_1013))->vector_t.obj0))[BgL_auxz00_4338]
   769  	   =
   770  	   BgL_auxz00_4340,
   771  	   ((obj_t) (obj_t) ((long) (((long) (3) << 2) | 2))));
   772  	}
   773  	return BgL_v1045z00_1013;
   774        }
   775      }
   776    }
   777  }