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
7typedef 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
19extern obj_t create_vector (int);
20extern obj_t make_pair (obj_t, obj_t);
21extern long bgl_list_length (obj_t);
22extern int BGl_equalzf3zf3zz__r4_equivalence_6_2z00 (obj_t, obj_t);
23extern 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
31obj_t
32BGl_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}
778