OSDN Git Service

2009-02-17 Richard Guenther <rguenther@suse.de>
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.c-torture / compile / 20020304-1.c
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 }