1 /* This is AGAST and OAST, an optimal and accelerated corner detector
2               based on the accelerated segment tests
3    Below is the original copyright and the references */
4 
5 /*
6 Copyright (C) 2010  Elmar Mair
7 All rights reserved.
8 
9 Redistribution and use in source and binary forms, with or without
10 modification, are permitted provided that the following conditions
11 are met:
12 
13     *Redistributions of source code must retain the above copyright
14      notice, this list of conditions and the following disclaimer.
15 
16     *Redistributions in binary form must reproduce the above copyright
17      notice, this list of conditions and the following disclaimer in the
18      documentation and/or other materials provided with the distribution.
19 
20     *Neither the name of the University of Cambridge nor the names of
21      its contributors may be used to endorse or promote products derived
22      from this software without specific prior written permission.
23 
24 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
25 "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
26 LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
27 A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
28 CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
29 EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
30 PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
31 PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
32 LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
33 NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
34 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
35 */
36 
37 /*
38 The references are:
39  * Adaptive and Generic Corner Detection Based on the Accelerated Segment Test,
40    Elmar Mair and Gregory D. Hager and Darius Burschka
41    and Michael Suppa and Gerhard Hirzinger ECCV 2010
42    URL: http://www6.in.tum.de/Main/ResearchAgast
43 */
44 
45 #include "agast_score.hpp"
46 
47 #ifdef _WIN32
48 #pragma warning( disable : 4127 )
49 #endif
50 
51 namespace cv
52 {
53 
makeAgastOffsets(int pixel[16],int rowStride,int type)54 void makeAgastOffsets(int pixel[16], int rowStride, int type)
55 {
56     static const int offsets16[][2] =
57     {
58         {-3,  0}, {-3, -1}, {-2, -2}, {-1, -3}, {0, -3}, { 1, -3}, { 2, -2}, { 3, -1},
59         { 3,  0}, { 3,  1}, { 2,  2}, { 1,  3}, {0,  3}, {-1,  3}, {-2,  2}, {-3,  1}
60     };
61 
62     static const int offsets12d[][2] =
63     {
64         {-3,  0}, {-2, -1}, {-1, -2}, {0, -3}, { 1, -2}, { 2, -1},
65         { 3,  0}, { 2,  1}, { 1,  2}, {0,  3}, {-1,  2}, {-2,  1}
66     };
67 
68     static const int offsets12s[][2] =
69     {
70         {-2,  0}, {-2, -1}, {-1, -2}, {0, -2}, { 1, -2}, { 2, -1},
71         { 2,  0}, { 2,  1}, { 1,  2}, {0,  2}, {-1,  2}, {-2,  1}
72     };
73 
74     static const int offsets8[][2] =
75     {
76         {-1,  0}, {-1, -1}, {0, -1}, { 1, -1},
77         { 1,  0}, { 1,  1}, {0,  1}, {-1,  1}
78     };
79 
80     const int (*offsets)[2] = type == AgastFeatureDetector::OAST_9_16 ? offsets16 :
81                               type == AgastFeatureDetector::AGAST_7_12d ? offsets12d :
82                               type == AgastFeatureDetector::AGAST_7_12s ? offsets12s :
83                               type == AgastFeatureDetector::AGAST_5_8 ? offsets8  : 0;
84 
85     CV_Assert(pixel && offsets);
86 
87     int k = 0;
88     for( ; k < 16; k++ )
89         pixel[k] = offsets[k][0] + offsets[k][1] * rowStride;
90 }
91 
92 // 16 pixel mask
93 template<>
agast_cornerScore(const uchar * ptr,const int pixel[],int threshold)94 int agast_cornerScore<AgastFeatureDetector::OAST_9_16>(const uchar* ptr, const int pixel[], int threshold)
95 {
96     int bmin = threshold;
97     int bmax = 255;
98     int b_test = (bmax + bmin) / 2;
99 
100     register short offset0 = (short) pixel[0];
101     register short offset1 = (short) pixel[1];
102     register short offset2 = (short) pixel[2];
103     register short offset3 = (short) pixel[3];
104     register short offset4 = (short) pixel[4];
105     register short offset5 = (short) pixel[5];
106     register short offset6 = (short) pixel[6];
107     register short offset7 = (short) pixel[7];
108     register short offset8 = (short) pixel[8];
109     register short offset9 = (short) pixel[9];
110     register short offset10 = (short) pixel[10];
111     register short offset11 = (short) pixel[11];
112     register short offset12 = (short) pixel[12];
113     register short offset13 = (short) pixel[13];
114     register short offset14 = (short) pixel[14];
115     register short offset15 = (short) pixel[15];
116 
117     while(true)
118     {
119         register const int cb = *ptr + b_test;
120         register const int c_b = *ptr - b_test;
121         if(ptr[offset0] > cb)
122           if(ptr[offset2] > cb)
123             if(ptr[offset4] > cb)
124               if(ptr[offset5] > cb)
125                 if(ptr[offset7] > cb)
126                   if(ptr[offset3] > cb)
127                     if(ptr[offset1] > cb)
128                       if(ptr[offset6] > cb)
129                         if(ptr[offset8] > cb)
130                           goto is_a_corner;
131                         else
132                           if(ptr[offset15] > cb)
133                             goto is_a_corner;
134                           else
135                             goto is_not_a_corner;
136                       else
137                         if(ptr[offset13] > cb)
138                           if(ptr[offset14] > cb)
139                             if(ptr[offset15] > cb)
140                               goto is_a_corner;
141                             else
142                               goto is_not_a_corner;
143                           else
144                             goto is_not_a_corner;
145                         else
146                           goto is_not_a_corner;
147                     else
148                       if(ptr[offset8] > cb)
149                         if(ptr[offset9] > cb)
150                           if(ptr[offset10] > cb)
151                             if(ptr[offset6] > cb)
152                               goto is_a_corner;
153                             else
154                               if(ptr[offset11] > cb)
155                                 if(ptr[offset12] > cb)
156                                   if(ptr[offset13] > cb)
157                                     if(ptr[offset14] > cb)
158                                       if(ptr[offset15] > cb)
159                                         goto is_a_corner;
160                                       else
161                                         goto is_not_a_corner;
162                                     else
163                                       goto is_not_a_corner;
164                                   else
165                                     goto is_not_a_corner;
166                                 else
167                                   goto is_not_a_corner;
168                               else
169                                 goto is_not_a_corner;
170                           else
171                             goto is_not_a_corner;
172                         else
173                           goto is_not_a_corner;
174                       else
175                         goto is_not_a_corner;
176                   else
177                     if(ptr[offset10] > cb)
178                       if(ptr[offset11] > cb)
179                         if(ptr[offset12] > cb)
180                           if(ptr[offset8] > cb)
181                             if(ptr[offset9] > cb)
182                               if(ptr[offset6] > cb)
183                                 goto is_a_corner;
184                               else
185                                 if(ptr[offset13] > cb)
186                                   if(ptr[offset14] > cb)
187                                     if(ptr[offset15] > cb)
188                                       goto is_a_corner;
189                                     else
190                                       goto is_not_a_corner;
191                                   else
192                                     goto is_not_a_corner;
193                                 else
194                                   goto is_not_a_corner;
195                             else
196                               if(ptr[offset1] > cb)
197                                 if(ptr[offset13] > cb)
198                                   if(ptr[offset14] > cb)
199                                     if(ptr[offset15] > cb)
200                                       goto is_a_corner;
201                                     else
202                                       goto is_not_a_corner;
203                                   else
204                                     goto is_not_a_corner;
205                                 else
206                                   goto is_not_a_corner;
207                               else
208                                 goto is_not_a_corner;
209                           else
210                             if(ptr[offset1] > cb)
211                               if(ptr[offset13] > cb)
212                                 if(ptr[offset14] > cb)
213                                   if(ptr[offset15] > cb)
214                                     goto is_a_corner;
215                                   else
216                                     goto is_not_a_corner;
217                                 else
218                                   goto is_not_a_corner;
219                               else
220                                 goto is_not_a_corner;
221                             else
222                               goto is_not_a_corner;
223                         else
224                           goto is_not_a_corner;
225                       else
226                         goto is_not_a_corner;
227                     else
228                       goto is_not_a_corner;
229                 else if(ptr[offset7] < c_b)
230                   if(ptr[offset14] > cb)
231                     if(ptr[offset15] > cb)
232                       if(ptr[offset1] > cb)
233                         if(ptr[offset3] > cb)
234                           if(ptr[offset6] > cb)
235                             goto is_a_corner;
236                           else
237                             if(ptr[offset13] > cb)
238                               goto is_a_corner;
239                             else
240                               goto is_not_a_corner;
241                         else
242                           if(ptr[offset10] > cb)
243                             if(ptr[offset11] > cb)
244                               if(ptr[offset12] > cb)
245                                 if(ptr[offset13] > cb)
246                                   goto is_a_corner;
247                                 else
248                                   goto is_not_a_corner;
249                               else
250                                 goto is_not_a_corner;
251                             else
252                               goto is_not_a_corner;
253                           else
254                             goto is_not_a_corner;
255                       else
256                         if(ptr[offset8] > cb)
257                           if(ptr[offset9] > cb)
258                             if(ptr[offset10] > cb)
259                               if(ptr[offset11] > cb)
260                                 if(ptr[offset12] > cb)
261                                   if(ptr[offset13] > cb)
262                                     goto is_a_corner;
263                                   else
264                                     goto is_not_a_corner;
265                                 else
266                                   goto is_not_a_corner;
267                               else
268                                 goto is_not_a_corner;
269                             else
270                               goto is_not_a_corner;
271                           else
272                             goto is_not_a_corner;
273                         else
274                           goto is_not_a_corner;
275                     else
276                       goto is_not_a_corner;
277                   else if(ptr[offset14] < c_b)
278                     if(ptr[offset8] < c_b)
279                       if(ptr[offset9] < c_b)
280                         if(ptr[offset10] < c_b)
281                           if(ptr[offset11] < c_b)
282                             if(ptr[offset12] < c_b)
283                               if(ptr[offset13] < c_b)
284                                 if(ptr[offset6] < c_b)
285                                   goto is_a_corner;
286                                 else
287                                   if(ptr[offset15] < c_b)
288                                     goto is_a_corner;
289                                   else
290                                     goto is_not_a_corner;
291                               else
292                                 goto is_not_a_corner;
293                             else
294                               goto is_not_a_corner;
295                           else
296                             goto is_not_a_corner;
297                         else
298                           goto is_not_a_corner;
299                       else
300                         goto is_not_a_corner;
301                     else
302                       goto is_not_a_corner;
303                   else
304                     goto is_not_a_corner;
305                 else
306                   if(ptr[offset14] > cb)
307                     if(ptr[offset15] > cb)
308                       if(ptr[offset1] > cb)
309                         if(ptr[offset3] > cb)
310                           if(ptr[offset6] > cb)
311                             goto is_a_corner;
312                           else
313                             if(ptr[offset13] > cb)
314                               goto is_a_corner;
315                             else
316                               goto is_not_a_corner;
317                         else
318                           if(ptr[offset10] > cb)
319                             if(ptr[offset11] > cb)
320                               if(ptr[offset12] > cb)
321                                 if(ptr[offset13] > cb)
322                                   goto is_a_corner;
323                                 else
324                                   goto is_not_a_corner;
325                               else
326                                 goto is_not_a_corner;
327                             else
328                               goto is_not_a_corner;
329                           else
330                             goto is_not_a_corner;
331                       else
332                         if(ptr[offset8] > cb)
333                           if(ptr[offset9] > cb)
334                             if(ptr[offset10] > cb)
335                               if(ptr[offset11] > cb)
336                                 if(ptr[offset12] > cb)
337                                   if(ptr[offset13] > cb)
338                                     goto is_a_corner;
339                                   else
340                                     goto is_not_a_corner;
341                                 else
342                                   goto is_not_a_corner;
343                               else
344                                 goto is_not_a_corner;
345                             else
346                               goto is_not_a_corner;
347                           else
348                             goto is_not_a_corner;
349                         else
350                           goto is_not_a_corner;
351                     else
352                       goto is_not_a_corner;
353                   else
354                     goto is_not_a_corner;
355               else if(ptr[offset5] < c_b)
356                 if(ptr[offset12] > cb)
357                   if(ptr[offset13] > cb)
358                     if(ptr[offset14] > cb)
359                       if(ptr[offset15] > cb)
360                         if(ptr[offset1] > cb)
361                           if(ptr[offset3] > cb)
362                             goto is_a_corner;
363                           else
364                             if(ptr[offset10] > cb)
365                               if(ptr[offset11] > cb)
366                                 goto is_a_corner;
367                               else
368                                 goto is_not_a_corner;
369                             else
370                               goto is_not_a_corner;
371                         else
372                           if(ptr[offset8] > cb)
373                             if(ptr[offset9] > cb)
374                               if(ptr[offset10] > cb)
375                                 if(ptr[offset11] > cb)
376                                   goto is_a_corner;
377                                 else
378                                   goto is_not_a_corner;
379                               else
380                                 goto is_not_a_corner;
381                             else
382                               goto is_not_a_corner;
383                           else
384                             goto is_not_a_corner;
385                       else
386                         if(ptr[offset6] > cb)
387                           if(ptr[offset7] > cb)
388                             if(ptr[offset8] > cb)
389                               if(ptr[offset9] > cb)
390                                 if(ptr[offset10] > cb)
391                                   if(ptr[offset11] > cb)
392                                     goto is_a_corner;
393                                   else
394                                     goto is_not_a_corner;
395                                 else
396                                   goto is_not_a_corner;
397                               else
398                                 goto is_not_a_corner;
399                             else
400                               goto is_not_a_corner;
401                           else
402                             goto is_not_a_corner;
403                         else
404                           goto is_not_a_corner;
405                     else
406                       goto is_not_a_corner;
407                   else
408                     goto is_not_a_corner;
409                 else if(ptr[offset12] < c_b)
410                   if(ptr[offset7] < c_b)
411                     if(ptr[offset8] < c_b)
412                       if(ptr[offset9] < c_b)
413                         if(ptr[offset10] < c_b)
414                           if(ptr[offset11] < c_b)
415                             if(ptr[offset13] < c_b)
416                               if(ptr[offset6] < c_b)
417                                 goto is_a_corner;
418                               else
419                                 if(ptr[offset14] < c_b)
420                                   if(ptr[offset15] < c_b)
421                                     goto is_a_corner;
422                                   else
423                                     goto is_not_a_corner;
424                                 else
425                                   goto is_not_a_corner;
426                             else
427                               goto is_not_a_corner;
428                           else
429                             goto is_not_a_corner;
430                         else
431                           goto is_not_a_corner;
432                       else
433                         goto is_not_a_corner;
434                     else
435                       goto is_not_a_corner;
436                   else
437                     goto is_not_a_corner;
438                 else
439                   goto is_not_a_corner;
440               else
441                 if(ptr[offset12] > cb)
442                   if(ptr[offset13] > cb)
443                     if(ptr[offset14] > cb)
444                       if(ptr[offset15] > cb)
445                         if(ptr[offset1] > cb)
446                           if(ptr[offset3] > cb)
447                             goto is_a_corner;
448                           else
449                             if(ptr[offset10] > cb)
450                               if(ptr[offset11] > cb)
451                                 goto is_a_corner;
452                               else
453                                 goto is_not_a_corner;
454                             else
455                               goto is_not_a_corner;
456                         else
457                           if(ptr[offset8] > cb)
458                             if(ptr[offset9] > cb)
459                               if(ptr[offset10] > cb)
460                                 if(ptr[offset11] > cb)
461                                   goto is_a_corner;
462                                 else
463                                   goto is_not_a_corner;
464                               else
465                                 goto is_not_a_corner;
466                             else
467                               goto is_not_a_corner;
468                           else
469                             goto is_not_a_corner;
470                       else
471                         if(ptr[offset6] > cb)
472                           if(ptr[offset7] > cb)
473                             if(ptr[offset8] > cb)
474                               if(ptr[offset9] > cb)
475                                 if(ptr[offset10] > cb)
476                                   if(ptr[offset11] > cb)
477                                     goto is_a_corner;
478                                   else
479                                     goto is_not_a_corner;
480                                 else
481                                   goto is_not_a_corner;
482                               else
483                                 goto is_not_a_corner;
484                             else
485                               goto is_not_a_corner;
486                           else
487                             goto is_not_a_corner;
488                         else
489                           goto is_not_a_corner;
490                     else
491                       goto is_not_a_corner;
492                   else
493                     goto is_not_a_corner;
494                 else if(ptr[offset12] < c_b)
495                   if(ptr[offset7] < c_b)
496                     if(ptr[offset8] < c_b)
497                       if(ptr[offset9] < c_b)
498                         if(ptr[offset10] < c_b)
499                           if(ptr[offset11] < c_b)
500                             if(ptr[offset13] < c_b)
501                               if(ptr[offset14] < c_b)
502                                 if(ptr[offset6] < c_b)
503                                   goto is_a_corner;
504                                 else
505                                   if(ptr[offset15] < c_b)
506                                     goto is_a_corner;
507                                   else
508                                     goto is_not_a_corner;
509                               else
510                                 goto is_not_a_corner;
511                             else
512                               goto is_not_a_corner;
513                           else
514                             goto is_not_a_corner;
515                         else
516                           goto is_not_a_corner;
517                       else
518                         goto is_not_a_corner;
519                     else
520                       goto is_not_a_corner;
521                   else
522                     goto is_not_a_corner;
523                 else
524                   goto is_not_a_corner;
525             else if(ptr[offset4] < c_b)
526               if(ptr[offset11] > cb)
527                 if(ptr[offset12] > cb)
528                   if(ptr[offset13] > cb)
529                     if(ptr[offset10] > cb)
530                       if(ptr[offset14] > cb)
531                         if(ptr[offset15] > cb)
532                           if(ptr[offset1] > cb)
533                             goto is_a_corner;
534                           else
535                             if(ptr[offset8] > cb)
536                               if(ptr[offset9] > cb)
537                                 goto is_a_corner;
538                               else
539                                 goto is_not_a_corner;
540                             else
541                               goto is_not_a_corner;
542                         else
543                           if(ptr[offset6] > cb)
544                             if(ptr[offset7] > cb)
545                               if(ptr[offset8] > cb)
546                                 if(ptr[offset9] > cb)
547                                   goto is_a_corner;
548                                 else
549                                   goto is_not_a_corner;
550                               else
551                                 goto is_not_a_corner;
552                             else
553                               goto is_not_a_corner;
554                           else
555                             goto is_not_a_corner;
556                       else
557                         if(ptr[offset5] > cb)
558                           if(ptr[offset6] > cb)
559                             if(ptr[offset7] > cb)
560                               if(ptr[offset8] > cb)
561                                 if(ptr[offset9] > cb)
562                                   goto is_a_corner;
563                                 else
564                                   goto is_not_a_corner;
565                               else
566                                 goto is_not_a_corner;
567                             else
568                               goto is_not_a_corner;
569                           else
570                             goto is_not_a_corner;
571                         else
572                           goto is_not_a_corner;
573                     else
574                       if(ptr[offset1] > cb)
575                         if(ptr[offset3] > cb)
576                           if(ptr[offset14] > cb)
577                             if(ptr[offset15] > cb)
578                               goto is_a_corner;
579                             else
580                               goto is_not_a_corner;
581                           else
582                             goto is_not_a_corner;
583                         else
584                           goto is_not_a_corner;
585                       else
586                         goto is_not_a_corner;
587                   else
588                     goto is_not_a_corner;
589                 else
590                   goto is_not_a_corner;
591               else if(ptr[offset11] < c_b)
592                 if(ptr[offset7] < c_b)
593                   if(ptr[offset8] < c_b)
594                     if(ptr[offset9] < c_b)
595                       if(ptr[offset10] < c_b)
596                         if(ptr[offset6] < c_b)
597                           if(ptr[offset5] < c_b)
598                             if(ptr[offset3] < c_b)
599                               goto is_a_corner;
600                             else
601                               if(ptr[offset12] < c_b)
602                                 goto is_a_corner;
603                               else
604                                 goto is_not_a_corner;
605                           else
606                             if(ptr[offset12] < c_b)
607                               if(ptr[offset13] < c_b)
608                                 if(ptr[offset14] < c_b)
609                                   goto is_a_corner;
610                                 else
611                                   goto is_not_a_corner;
612                               else
613                                 goto is_not_a_corner;
614                             else
615                               goto is_not_a_corner;
616                         else
617                           if(ptr[offset12] < c_b)
618                             if(ptr[offset13] < c_b)
619                               if(ptr[offset14] < c_b)
620                                 if(ptr[offset15] < c_b)
621                                   goto is_a_corner;
622                                 else
623                                   goto is_not_a_corner;
624                               else
625                                 goto is_not_a_corner;
626                             else
627                               goto is_not_a_corner;
628                           else
629                             goto is_not_a_corner;
630                       else
631                         goto is_not_a_corner;
632                     else
633                       goto is_not_a_corner;
634                   else
635                     goto is_not_a_corner;
636                 else
637                   goto is_not_a_corner;
638               else
639                 goto is_not_a_corner;
640             else
641               if(ptr[offset11] > cb)
642                 if(ptr[offset12] > cb)
643                   if(ptr[offset13] > cb)
644                     if(ptr[offset10] > cb)
645                       if(ptr[offset14] > cb)
646                         if(ptr[offset15] > cb)
647                           if(ptr[offset1] > cb)
648                             goto is_a_corner;
649                           else
650                             if(ptr[offset8] > cb)
651                               if(ptr[offset9] > cb)
652                                 goto is_a_corner;
653                               else
654                                 goto is_not_a_corner;
655                             else
656                               goto is_not_a_corner;
657                         else
658                           if(ptr[offset6] > cb)
659                             if(ptr[offset7] > cb)
660                               if(ptr[offset8] > cb)
661                                 if(ptr[offset9] > cb)
662                                   goto is_a_corner;
663                                 else
664                                   goto is_not_a_corner;
665                               else
666                                 goto is_not_a_corner;
667                             else
668                               goto is_not_a_corner;
669                           else
670                             goto is_not_a_corner;
671                       else
672                         if(ptr[offset5] > cb)
673                           if(ptr[offset6] > cb)
674                             if(ptr[offset7] > cb)
675                               if(ptr[offset8] > cb)
676                                 if(ptr[offset9] > cb)
677                                   goto is_a_corner;
678                                 else
679                                   goto is_not_a_corner;
680                               else
681                                 goto is_not_a_corner;
682                             else
683                               goto is_not_a_corner;
684                           else
685                             goto is_not_a_corner;
686                         else
687                           goto is_not_a_corner;
688                     else
689                       if(ptr[offset1] > cb)
690                         if(ptr[offset3] > cb)
691                           if(ptr[offset14] > cb)
692                             if(ptr[offset15] > cb)
693                               goto is_a_corner;
694                             else
695                               goto is_not_a_corner;
696                           else
697                             goto is_not_a_corner;
698                         else
699                           goto is_not_a_corner;
700                       else
701                         goto is_not_a_corner;
702                   else
703                     goto is_not_a_corner;
704                 else
705                   goto is_not_a_corner;
706               else if(ptr[offset11] < c_b)
707                 if(ptr[offset7] < c_b)
708                   if(ptr[offset8] < c_b)
709                     if(ptr[offset9] < c_b)
710                       if(ptr[offset10] < c_b)
711                         if(ptr[offset12] < c_b)
712                           if(ptr[offset13] < c_b)
713                             if(ptr[offset6] < c_b)
714                               if(ptr[offset5] < c_b)
715                                 goto is_a_corner;
716                               else
717                                 if(ptr[offset14] < c_b)
718                                   goto is_a_corner;
719                                 else
720                                   goto is_not_a_corner;
721                             else
722                               if(ptr[offset14] < c_b)
723                                 if(ptr[offset15] < c_b)
724                                   goto is_a_corner;
725                                 else
726                                   goto is_not_a_corner;
727                               else
728                                 goto is_not_a_corner;
729                           else
730                             goto is_not_a_corner;
731                         else
732                           goto is_not_a_corner;
733                       else
734                         goto is_not_a_corner;
735                     else
736                       goto is_not_a_corner;
737                   else
738                     goto is_not_a_corner;
739                 else
740                   goto is_not_a_corner;
741               else
742                 goto is_not_a_corner;
743           else if(ptr[offset2] < c_b)
744             if(ptr[offset9] > cb)
745               if(ptr[offset10] > cb)
746                 if(ptr[offset11] > cb)
747                   if(ptr[offset8] > cb)
748                     if(ptr[offset12] > cb)
749                       if(ptr[offset13] > cb)
750                         if(ptr[offset14] > cb)
751                           if(ptr[offset15] > cb)
752                             goto is_a_corner;
753                           else
754                             if(ptr[offset6] > cb)
755                               if(ptr[offset7] > cb)
756                                 goto is_a_corner;
757                               else
758                                 goto is_not_a_corner;
759                             else
760                               goto is_not_a_corner;
761                         else
762                           if(ptr[offset5] > cb)
763                             if(ptr[offset6] > cb)
764                               if(ptr[offset7] > cb)
765                                 goto is_a_corner;
766                               else
767                                 goto is_not_a_corner;
768                             else
769                               goto is_not_a_corner;
770                           else
771                             goto is_not_a_corner;
772                       else
773                         if(ptr[offset4] > cb)
774                           if(ptr[offset5] > cb)
775                             if(ptr[offset6] > cb)
776                               if(ptr[offset7] > cb)
777                                 goto is_a_corner;
778                               else
779                                 goto is_not_a_corner;
780                             else
781                               goto is_not_a_corner;
782                           else
783                             goto is_not_a_corner;
784                         else
785                           goto is_not_a_corner;
786                     else
787                       if(ptr[offset3] > cb)
788                         if(ptr[offset4] > cb)
789                           if(ptr[offset5] > cb)
790                             if(ptr[offset6] > cb)
791                               if(ptr[offset7] > cb)
792                                 goto is_a_corner;
793                               else
794                                 goto is_not_a_corner;
795                             else
796                               goto is_not_a_corner;
797                           else
798                             goto is_not_a_corner;
799                         else
800                           goto is_not_a_corner;
801                       else
802                         goto is_not_a_corner;
803                   else
804                     if(ptr[offset1] > cb)
805                       if(ptr[offset12] > cb)
806                         if(ptr[offset13] > cb)
807                           if(ptr[offset14] > cb)
808                             if(ptr[offset15] > cb)
809                               goto is_a_corner;
810                             else
811                               goto is_not_a_corner;
812                           else
813                             goto is_not_a_corner;
814                         else
815                           goto is_not_a_corner;
816                       else
817                         goto is_not_a_corner;
818                     else
819                       goto is_not_a_corner;
820                 else
821                   goto is_not_a_corner;
822               else
823                 goto is_not_a_corner;
824             else if(ptr[offset9] < c_b)
825               if(ptr[offset7] < c_b)
826                 if(ptr[offset8] < c_b)
827                   if(ptr[offset6] < c_b)
828                     if(ptr[offset5] < c_b)
829                       if(ptr[offset4] < c_b)
830                         if(ptr[offset3] < c_b)
831                           if(ptr[offset1] < c_b)
832                             goto is_a_corner;
833                           else
834                             if(ptr[offset10] < c_b)
835                               goto is_a_corner;
836                             else
837                               goto is_not_a_corner;
838                         else
839                           if(ptr[offset10] < c_b)
840                             if(ptr[offset11] < c_b)
841                               if(ptr[offset12] < c_b)
842                                 goto is_a_corner;
843                               else
844                                 goto is_not_a_corner;
845                             else
846                               goto is_not_a_corner;
847                           else
848                             goto is_not_a_corner;
849                       else
850                         if(ptr[offset10] < c_b)
851                           if(ptr[offset11] < c_b)
852                             if(ptr[offset12] < c_b)
853                               if(ptr[offset13] < c_b)
854                                 goto is_a_corner;
855                               else
856                                 goto is_not_a_corner;
857                             else
858                               goto is_not_a_corner;
859                           else
860                             goto is_not_a_corner;
861                         else
862                           goto is_not_a_corner;
863                     else
864                       if(ptr[offset10] < c_b)
865                         if(ptr[offset11] < c_b)
866                           if(ptr[offset12] < c_b)
867                             if(ptr[offset13] < c_b)
868                               if(ptr[offset14] < c_b)
869                                 goto is_a_corner;
870                               else
871                                 goto is_not_a_corner;
872                             else
873                               goto is_not_a_corner;
874                           else
875                             goto is_not_a_corner;
876                         else
877                           goto is_not_a_corner;
878                       else
879                         goto is_not_a_corner;
880                   else
881                     if(ptr[offset10] < c_b)
882                       if(ptr[offset11] < c_b)
883                         if(ptr[offset12] < c_b)
884                           if(ptr[offset13] < c_b)
885                             if(ptr[offset14] < c_b)
886                               if(ptr[offset15] < c_b)
887                                 goto is_a_corner;
888                               else
889                                 goto is_not_a_corner;
890                             else
891                               goto is_not_a_corner;
892                           else
893                             goto is_not_a_corner;
894                         else
895                           goto is_not_a_corner;
896                       else
897                         goto is_not_a_corner;
898                     else
899                       goto is_not_a_corner;
900                 else
901                   goto is_not_a_corner;
902               else
903                 goto is_not_a_corner;
904             else
905               goto is_not_a_corner;
906           else
907             if(ptr[offset9] > cb)
908               if(ptr[offset10] > cb)
909                 if(ptr[offset11] > cb)
910                   if(ptr[offset8] > cb)
911                     if(ptr[offset12] > cb)
912                       if(ptr[offset13] > cb)
913                         if(ptr[offset14] > cb)
914                           if(ptr[offset15] > cb)
915                             goto is_a_corner;
916                           else
917                             if(ptr[offset6] > cb)
918                               if(ptr[offset7] > cb)
919                                 goto is_a_corner;
920                               else
921                                 goto is_not_a_corner;
922                             else
923                               goto is_not_a_corner;
924                         else
925                           if(ptr[offset5] > cb)
926                             if(ptr[offset6] > cb)
927                               if(ptr[offset7] > cb)
928                                 goto is_a_corner;
929                               else
930                                 goto is_not_a_corner;
931                             else
932                               goto is_not_a_corner;
933                           else
934                             goto is_not_a_corner;
935                       else
936                         if(ptr[offset4] > cb)
937                           if(ptr[offset5] > cb)
938                             if(ptr[offset6] > cb)
939                               if(ptr[offset7] > cb)
940                                 goto is_a_corner;
941                               else
942                                 goto is_not_a_corner;
943                             else
944                               goto is_not_a_corner;
945                           else
946                             goto is_not_a_corner;
947                         else
948                           goto is_not_a_corner;
949                     else
950                       if(ptr[offset3] > cb)
951                         if(ptr[offset4] > cb)
952                           if(ptr[offset5] > cb)
953                             if(ptr[offset6] > cb)
954                               if(ptr[offset7] > cb)
955                                 goto is_a_corner;
956                               else
957                                 goto is_not_a_corner;
958                             else
959                               goto is_not_a_corner;
960                           else
961                             goto is_not_a_corner;
962                         else
963                           goto is_not_a_corner;
964                       else
965                         goto is_not_a_corner;
966                   else
967                     if(ptr[offset1] > cb)
968                       if(ptr[offset12] > cb)
969                         if(ptr[offset13] > cb)
970                           if(ptr[offset14] > cb)
971                             if(ptr[offset15] > cb)
972                               goto is_a_corner;
973                             else
974                               goto is_not_a_corner;
975                           else
976                             goto is_not_a_corner;
977                         else
978                           goto is_not_a_corner;
979                       else
980                         goto is_not_a_corner;
981                     else
982                       goto is_not_a_corner;
983                 else
984                   goto is_not_a_corner;
985               else
986                 goto is_not_a_corner;
987             else if(ptr[offset9] < c_b)
988               if(ptr[offset7] < c_b)
989                 if(ptr[offset8] < c_b)
990                   if(ptr[offset10] < c_b)
991                     if(ptr[offset11] < c_b)
992                       if(ptr[offset6] < c_b)
993                         if(ptr[offset5] < c_b)
994                           if(ptr[offset4] < c_b)
995                             if(ptr[offset3] < c_b)
996                               goto is_a_corner;
997                             else
998                               if(ptr[offset12] < c_b)
999                                 goto is_a_corner;
1000                               else
1001                                 goto is_not_a_corner;
1002                           else
1003                             if(ptr[offset12] < c_b)
1004                               if(ptr[offset13] < c_b)
1005                                 goto is_a_corner;
1006                               else
1007                                 goto is_not_a_corner;
1008                             else
1009                               goto is_not_a_corner;
1010                         else
1011                           if(ptr[offset12] < c_b)
1012                             if(ptr[offset13] < c_b)
1013                               if(ptr[offset14] < c_b)
1014                                 goto is_a_corner;
1015                               else
1016                                 goto is_not_a_corner;
1017                             else
1018                               goto is_not_a_corner;
1019                           else
1020                             goto is_not_a_corner;
1021                       else
1022                         if(ptr[offset12] < c_b)
1023                           if(ptr[offset13] < c_b)
1024                             if(ptr[offset14] < c_b)
1025                               if(ptr[offset15] < c_b)
1026                                 goto is_a_corner;
1027                               else
1028                                 goto is_not_a_corner;
1029                             else
1030                               goto is_not_a_corner;
1031                           else
1032                             goto is_not_a_corner;
1033                         else
1034                           goto is_not_a_corner;
1035                     else
1036                       goto is_not_a_corner;
1037                   else
1038                     goto is_not_a_corner;
1039                 else
1040                   goto is_not_a_corner;
1041               else
1042                 goto is_not_a_corner;
1043             else
1044               goto is_not_a_corner;
1045         else if(ptr[offset0] < c_b)
1046           if(ptr[offset2] > cb)
1047             if(ptr[offset9] > cb)
1048               if(ptr[offset7] > cb)
1049                 if(ptr[offset8] > cb)
1050                   if(ptr[offset6] > cb)
1051                     if(ptr[offset5] > cb)
1052                       if(ptr[offset4] > cb)
1053                         if(ptr[offset3] > cb)
1054                           if(ptr[offset1] > cb)
1055                             goto is_a_corner;
1056                           else
1057                             if(ptr[offset10] > cb)
1058                               goto is_a_corner;
1059                             else
1060                               goto is_not_a_corner;
1061                         else
1062                           if(ptr[offset10] > cb)
1063                             if(ptr[offset11] > cb)
1064                               if(ptr[offset12] > cb)
1065                                 goto is_a_corner;
1066                               else
1067                                 goto is_not_a_corner;
1068                             else
1069                               goto is_not_a_corner;
1070                           else
1071                             goto is_not_a_corner;
1072                       else
1073                         if(ptr[offset10] > cb)
1074                           if(ptr[offset11] > cb)
1075                             if(ptr[offset12] > cb)
1076                               if(ptr[offset13] > cb)
1077                                 goto is_a_corner;
1078                               else
1079                                 goto is_not_a_corner;
1080                             else
1081                               goto is_not_a_corner;
1082                           else
1083                             goto is_not_a_corner;
1084                         else
1085                           goto is_not_a_corner;
1086                     else
1087                       if(ptr[offset10] > cb)
1088                         if(ptr[offset11] > cb)
1089                           if(ptr[offset12] > cb)
1090                             if(ptr[offset13] > cb)
1091                               if(ptr[offset14] > cb)
1092                                 goto is_a_corner;
1093                               else
1094                                 goto is_not_a_corner;
1095                             else
1096                               goto is_not_a_corner;
1097                           else
1098                             goto is_not_a_corner;
1099                         else
1100                           goto is_not_a_corner;
1101                       else
1102                         goto is_not_a_corner;
1103                   else
1104                     if(ptr[offset10] > cb)
1105                       if(ptr[offset11] > cb)
1106                         if(ptr[offset12] > cb)
1107                           if(ptr[offset13] > cb)
1108                             if(ptr[offset14] > cb)
1109                               if(ptr[offset15] > cb)
1110                                 goto is_a_corner;
1111                               else
1112                                 goto is_not_a_corner;
1113                             else
1114                               goto is_not_a_corner;
1115                           else
1116                             goto is_not_a_corner;
1117                         else
1118                           goto is_not_a_corner;
1119                       else
1120                         goto is_not_a_corner;
1121                     else
1122                       goto is_not_a_corner;
1123                 else
1124                   goto is_not_a_corner;
1125               else
1126                 goto is_not_a_corner;
1127             else if(ptr[offset9] < c_b)
1128               if(ptr[offset10] < c_b)
1129                 if(ptr[offset11] < c_b)
1130                   if(ptr[offset8] < c_b)
1131                     if(ptr[offset12] < c_b)
1132                       if(ptr[offset13] < c_b)
1133                         if(ptr[offset14] < c_b)
1134                           if(ptr[offset15] < c_b)
1135                             goto is_a_corner;
1136                           else
1137                             if(ptr[offset6] < c_b)
1138                               if(ptr[offset7] < c_b)
1139                                 goto is_a_corner;
1140                               else
1141                                 goto is_not_a_corner;
1142                             else
1143                               goto is_not_a_corner;
1144                         else
1145                           if(ptr[offset5] < c_b)
1146                             if(ptr[offset6] < c_b)
1147                               if(ptr[offset7] < c_b)
1148                                 goto is_a_corner;
1149                               else
1150                                 goto is_not_a_corner;
1151                             else
1152                               goto is_not_a_corner;
1153                           else
1154                             goto is_not_a_corner;
1155                       else
1156                         if(ptr[offset4] < c_b)
1157                           if(ptr[offset5] < c_b)
1158                             if(ptr[offset6] < c_b)
1159                               if(ptr[offset7] < c_b)
1160                                 goto is_a_corner;
1161                               else
1162                                 goto is_not_a_corner;
1163                             else
1164                               goto is_not_a_corner;
1165                           else
1166                             goto is_not_a_corner;
1167                         else
1168                           goto is_not_a_corner;
1169                     else
1170                       if(ptr[offset3] < c_b)
1171                         if(ptr[offset4] < c_b)
1172                           if(ptr[offset5] < c_b)
1173                             if(ptr[offset6] < c_b)
1174                               if(ptr[offset7] < c_b)
1175                                 goto is_a_corner;
1176                               else
1177                                 goto is_not_a_corner;
1178                             else
1179                               goto is_not_a_corner;
1180                           else
1181                             goto is_not_a_corner;
1182                         else
1183                           goto is_not_a_corner;
1184                       else
1185                         goto is_not_a_corner;
1186                   else
1187                     if(ptr[offset1] < c_b)
1188                       if(ptr[offset12] < c_b)
1189                         if(ptr[offset13] < c_b)
1190                           if(ptr[offset14] < c_b)
1191                             if(ptr[offset15] < c_b)
1192                               goto is_a_corner;
1193                             else
1194                               goto is_not_a_corner;
1195                           else
1196                             goto is_not_a_corner;
1197                         else
1198                           goto is_not_a_corner;
1199                       else
1200                         goto is_not_a_corner;
1201                     else
1202                       goto is_not_a_corner;
1203                 else
1204                   goto is_not_a_corner;
1205               else
1206                 goto is_not_a_corner;
1207             else
1208               goto is_not_a_corner;
1209           else if(ptr[offset2] < c_b)
1210             if(ptr[offset4] > cb)
1211               if(ptr[offset11] > cb)
1212                 if(ptr[offset7] > cb)
1213                   if(ptr[offset8] > cb)
1214                     if(ptr[offset9] > cb)
1215                       if(ptr[offset10] > cb)
1216                         if(ptr[offset6] > cb)
1217                           if(ptr[offset5] > cb)
1218                             if(ptr[offset3] > cb)
1219                               goto is_a_corner;
1220                             else
1221                               if(ptr[offset12] > cb)
1222                                 goto is_a_corner;
1223                               else
1224                                 goto is_not_a_corner;
1225                           else
1226                             if(ptr[offset12] > cb)
1227                               if(ptr[offset13] > cb)
1228                                 if(ptr[offset14] > cb)
1229                                   goto is_a_corner;
1230                                 else
1231                                   goto is_not_a_corner;
1232                               else
1233                                 goto is_not_a_corner;
1234                             else
1235                               goto is_not_a_corner;
1236                         else
1237                           if(ptr[offset12] > cb)
1238                             if(ptr[offset13] > cb)
1239                               if(ptr[offset14] > cb)
1240                                 if(ptr[offset15] > cb)
1241                                   goto is_a_corner;
1242                                 else
1243                                   goto is_not_a_corner;
1244                               else
1245                                 goto is_not_a_corner;
1246                             else
1247                               goto is_not_a_corner;
1248                           else
1249                             goto is_not_a_corner;
1250                       else
1251                         goto is_not_a_corner;
1252                     else
1253                       goto is_not_a_corner;
1254                   else
1255                     goto is_not_a_corner;
1256                 else
1257                   goto is_not_a_corner;
1258               else if(ptr[offset11] < c_b)
1259                 if(ptr[offset12] < c_b)
1260                   if(ptr[offset13] < c_b)
1261                     if(ptr[offset10] < c_b)
1262                       if(ptr[offset14] < c_b)
1263                         if(ptr[offset15] < c_b)
1264                           if(ptr[offset1] < c_b)
1265                             goto is_a_corner;
1266                           else
1267                             if(ptr[offset8] < c_b)
1268                               if(ptr[offset9] < c_b)
1269                                 goto is_a_corner;
1270                               else
1271                                 goto is_not_a_corner;
1272                             else
1273                               goto is_not_a_corner;
1274                         else
1275                           if(ptr[offset6] < c_b)
1276                             if(ptr[offset7] < c_b)
1277                               if(ptr[offset8] < c_b)
1278                                 if(ptr[offset9] < c_b)
1279                                   goto is_a_corner;
1280                                 else
1281                                   goto is_not_a_corner;
1282                               else
1283                                 goto is_not_a_corner;
1284                             else
1285                               goto is_not_a_corner;
1286                           else
1287                             goto is_not_a_corner;
1288                       else
1289                         if(ptr[offset5] < c_b)
1290                           if(ptr[offset6] < c_b)
1291                             if(ptr[offset7] < c_b)
1292                               if(ptr[offset8] < c_b)
1293                                 if(ptr[offset9] < c_b)
1294                                   goto is_a_corner;
1295                                 else
1296                                   goto is_not_a_corner;
1297                               else
1298                                 goto is_not_a_corner;
1299                             else
1300                               goto is_not_a_corner;
1301                           else
1302                             goto is_not_a_corner;
1303                         else
1304                           goto is_not_a_corner;
1305                     else
1306                       if(ptr[offset1] < c_b)
1307                         if(ptr[offset3] < c_b)
1308                           if(ptr[offset14] < c_b)
1309                             if(ptr[offset15] < c_b)
1310                               goto is_a_corner;
1311                             else
1312                               goto is_not_a_corner;
1313                           else
1314                             goto is_not_a_corner;
1315                         else
1316                           goto is_not_a_corner;
1317                       else
1318                         goto is_not_a_corner;
1319                   else
1320                     goto is_not_a_corner;
1321                 else
1322                   goto is_not_a_corner;
1323               else
1324                 goto is_not_a_corner;
1325             else if(ptr[offset4] < c_b)
1326               if(ptr[offset5] > cb)
1327                 if(ptr[offset12] > cb)
1328                   if(ptr[offset7] > cb)
1329                     if(ptr[offset8] > cb)
1330                       if(ptr[offset9] > cb)
1331                         if(ptr[offset10] > cb)
1332                           if(ptr[offset11] > cb)
1333                             if(ptr[offset13] > cb)
1334                               if(ptr[offset6] > cb)
1335                                 goto is_a_corner;
1336                               else
1337                                 if(ptr[offset14] > cb)
1338                                   if(ptr[offset15] > cb)
1339                                     goto is_a_corner;
1340                                   else
1341                                     goto is_not_a_corner;
1342                                 else
1343                                   goto is_not_a_corner;
1344                             else
1345                               goto is_not_a_corner;
1346                           else
1347                             goto is_not_a_corner;
1348                         else
1349                           goto is_not_a_corner;
1350                       else
1351                         goto is_not_a_corner;
1352                     else
1353                       goto is_not_a_corner;
1354                   else
1355                     goto is_not_a_corner;
1356                 else if(ptr[offset12] < c_b)
1357                   if(ptr[offset13] < c_b)
1358                     if(ptr[offset14] < c_b)
1359                       if(ptr[offset15] < c_b)
1360                         if(ptr[offset1] < c_b)
1361                           if(ptr[offset3] < c_b)
1362                             goto is_a_corner;
1363                           else
1364                             if(ptr[offset10] < c_b)
1365                               if(ptr[offset11] < c_b)
1366                                 goto is_a_corner;
1367                               else
1368                                 goto is_not_a_corner;
1369                             else
1370                               goto is_not_a_corner;
1371                         else
1372                           if(ptr[offset8] < c_b)
1373                             if(ptr[offset9] < c_b)
1374                               if(ptr[offset10] < c_b)
1375                                 if(ptr[offset11] < c_b)
1376                                   goto is_a_corner;
1377                                 else
1378                                   goto is_not_a_corner;
1379                               else
1380                                 goto is_not_a_corner;
1381                             else
1382                               goto is_not_a_corner;
1383                           else
1384                             goto is_not_a_corner;
1385                       else
1386                         if(ptr[offset6] < c_b)
1387                           if(ptr[offset7] < c_b)
1388                             if(ptr[offset8] < c_b)
1389                               if(ptr[offset9] < c_b)
1390                                 if(ptr[offset10] < c_b)
1391                                   if(ptr[offset11] < c_b)
1392                                     goto is_a_corner;
1393                                   else
1394                                     goto is_not_a_corner;
1395                                 else
1396                                   goto is_not_a_corner;
1397                               else
1398                                 goto is_not_a_corner;
1399                             else
1400                               goto is_not_a_corner;
1401                           else
1402                             goto is_not_a_corner;
1403                         else
1404                           goto is_not_a_corner;
1405                     else
1406                       goto is_not_a_corner;
1407                   else
1408                     goto is_not_a_corner;
1409                 else
1410                   goto is_not_a_corner;
1411               else if(ptr[offset5] < c_b)
1412                 if(ptr[offset7] > cb)
1413                   if(ptr[offset14] > cb)
1414                     if(ptr[offset8] > cb)
1415                       if(ptr[offset9] > cb)
1416                         if(ptr[offset10] > cb)
1417                           if(ptr[offset11] > cb)
1418                             if(ptr[offset12] > cb)
1419                               if(ptr[offset13] > cb)
1420                                 if(ptr[offset6] > cb)
1421                                   goto is_a_corner;
1422                                 else
1423                                   if(ptr[offset15] > cb)
1424                                     goto is_a_corner;
1425                                   else
1426                                     goto is_not_a_corner;
1427                               else
1428                                 goto is_not_a_corner;
1429                             else
1430                               goto is_not_a_corner;
1431                           else
1432                             goto is_not_a_corner;
1433                         else
1434                           goto is_not_a_corner;
1435                       else
1436                         goto is_not_a_corner;
1437                     else
1438                       goto is_not_a_corner;
1439                   else if(ptr[offset14] < c_b)
1440                     if(ptr[offset15] < c_b)
1441                       if(ptr[offset1] < c_b)
1442                         if(ptr[offset3] < c_b)
1443                           if(ptr[offset6] < c_b)
1444                             goto is_a_corner;
1445                           else
1446                             if(ptr[offset13] < c_b)
1447                               goto is_a_corner;
1448                             else
1449                               goto is_not_a_corner;
1450                         else
1451                           if(ptr[offset10] < c_b)
1452                             if(ptr[offset11] < c_b)
1453                               if(ptr[offset12] < c_b)
1454                                 if(ptr[offset13] < c_b)
1455                                   goto is_a_corner;
1456                                 else
1457                                   goto is_not_a_corner;
1458                               else
1459                                 goto is_not_a_corner;
1460                             else
1461                               goto is_not_a_corner;
1462                           else
1463                             goto is_not_a_corner;
1464                       else
1465                         if(ptr[offset8] < c_b)
1466                           if(ptr[offset9] < c_b)
1467                             if(ptr[offset10] < c_b)
1468                               if(ptr[offset11] < c_b)
1469                                 if(ptr[offset12] < c_b)
1470                                   if(ptr[offset13] < c_b)
1471                                     goto is_a_corner;
1472                                   else
1473                                     goto is_not_a_corner;
1474                                 else
1475                                   goto is_not_a_corner;
1476                               else
1477                                 goto is_not_a_corner;
1478                             else
1479                               goto is_not_a_corner;
1480                           else
1481                             goto is_not_a_corner;
1482                         else
1483                           goto is_not_a_corner;
1484                     else
1485                       goto is_not_a_corner;
1486                   else
1487                     goto is_not_a_corner;
1488                 else if(ptr[offset7] < c_b)
1489                   if(ptr[offset3] < c_b)
1490                     if(ptr[offset1] < c_b)
1491                       if(ptr[offset6] < c_b)
1492                         if(ptr[offset8] < c_b)
1493                           goto is_a_corner;
1494                         else
1495                           if(ptr[offset15] < c_b)
1496                             goto is_a_corner;
1497                           else
1498                             goto is_not_a_corner;
1499                       else
1500                         if(ptr[offset13] < c_b)
1501                           if(ptr[offset14] < c_b)
1502                             if(ptr[offset15] < c_b)
1503                               goto is_a_corner;
1504                             else
1505                               goto is_not_a_corner;
1506                           else
1507                             goto is_not_a_corner;
1508                         else
1509                           goto is_not_a_corner;
1510                     else
1511                       if(ptr[offset8] < c_b)
1512                         if(ptr[offset9] < c_b)
1513                           if(ptr[offset10] < c_b)
1514                             if(ptr[offset6] < c_b)
1515                               goto is_a_corner;
1516                             else
1517                               if(ptr[offset11] < c_b)
1518                                 if(ptr[offset12] < c_b)
1519                                   if(ptr[offset13] < c_b)
1520                                     if(ptr[offset14] < c_b)
1521                                       if(ptr[offset15] < c_b)
1522                                         goto is_a_corner;
1523                                       else
1524                                         goto is_not_a_corner;
1525                                     else
1526                                       goto is_not_a_corner;
1527                                   else
1528                                     goto is_not_a_corner;
1529                                 else
1530                                   goto is_not_a_corner;
1531                               else
1532                                 goto is_not_a_corner;
1533                           else
1534                             goto is_not_a_corner;
1535                         else
1536                           goto is_not_a_corner;
1537                       else
1538                         goto is_not_a_corner;
1539                   else
1540                     if(ptr[offset10] < c_b)
1541                       if(ptr[offset11] < c_b)
1542                         if(ptr[offset12] < c_b)
1543                           if(ptr[offset8] < c_b)
1544                             if(ptr[offset9] < c_b)
1545                               if(ptr[offset6] < c_b)
1546                                 goto is_a_corner;
1547                               else
1548                                 if(ptr[offset13] < c_b)
1549                                   if(ptr[offset14] < c_b)
1550                                     if(ptr[offset15] < c_b)
1551                                       goto is_a_corner;
1552                                     else
1553                                       goto is_not_a_corner;
1554                                   else
1555                                     goto is_not_a_corner;
1556                                 else
1557                                   goto is_not_a_corner;
1558                             else
1559                               if(ptr[offset1] < c_b)
1560                                 if(ptr[offset13] < c_b)
1561                                   if(ptr[offset14] < c_b)
1562                                     if(ptr[offset15] < c_b)
1563                                       goto is_a_corner;
1564                                     else
1565                                       goto is_not_a_corner;
1566                                   else
1567                                     goto is_not_a_corner;
1568                                 else
1569                                   goto is_not_a_corner;
1570                               else
1571                                 goto is_not_a_corner;
1572                           else
1573                             if(ptr[offset1] < c_b)
1574                               if(ptr[offset13] < c_b)
1575                                 if(ptr[offset14] < c_b)
1576                                   if(ptr[offset15] < c_b)
1577                                     goto is_a_corner;
1578                                   else
1579                                     goto is_not_a_corner;
1580                                 else
1581                                   goto is_not_a_corner;
1582                               else
1583                                 goto is_not_a_corner;
1584                             else
1585                               goto is_not_a_corner;
1586                         else
1587                           goto is_not_a_corner;
1588                       else
1589                         goto is_not_a_corner;
1590                     else
1591                       goto is_not_a_corner;
1592                 else
1593                   if(ptr[offset14] < c_b)
1594                     if(ptr[offset15] < c_b)
1595                       if(ptr[offset1] < c_b)
1596                         if(ptr[offset3] < c_b)
1597                           if(ptr[offset6] < c_b)
1598                             goto is_a_corner;
1599                           else
1600                             if(ptr[offset13] < c_b)
1601                               goto is_a_corner;
1602                             else
1603                               goto is_not_a_corner;
1604                         else
1605                           if(ptr[offset10] < c_b)
1606                             if(ptr[offset11] < c_b)
1607                               if(ptr[offset12] < c_b)
1608                                 if(ptr[offset13] < c_b)
1609                                   goto is_a_corner;
1610                                 else
1611                                   goto is_not_a_corner;
1612                               else
1613                                 goto is_not_a_corner;
1614                             else
1615                               goto is_not_a_corner;
1616                           else
1617                             goto is_not_a_corner;
1618                       else
1619                         if(ptr[offset8] < c_b)
1620                           if(ptr[offset9] < c_b)
1621                             if(ptr[offset10] < c_b)
1622                               if(ptr[offset11] < c_b)
1623                                 if(ptr[offset12] < c_b)
1624                                   if(ptr[offset13] < c_b)
1625                                     goto is_a_corner;
1626                                   else
1627                                     goto is_not_a_corner;
1628                                 else
1629                                   goto is_not_a_corner;
1630                               else
1631                                 goto is_not_a_corner;
1632                             else
1633                               goto is_not_a_corner;
1634                           else
1635                             goto is_not_a_corner;
1636                         else
1637                           goto is_not_a_corner;
1638                     else
1639                       goto is_not_a_corner;
1640                   else
1641                     goto is_not_a_corner;
1642               else
1643                 if(ptr[offset12] > cb)
1644                   if(ptr[offset7] > cb)
1645                     if(ptr[offset8] > cb)
1646                       if(ptr[offset9] > cb)
1647                         if(ptr[offset10] > cb)
1648                           if(ptr[offset11] > cb)
1649                             if(ptr[offset13] > cb)
1650                               if(ptr[offset14] > cb)
1651                                 if(ptr[offset6] > cb)
1652                                   goto is_a_corner;
1653                                 else
1654                                   if(ptr[offset15] > cb)
1655                                     goto is_a_corner;
1656                                   else
1657                                     goto is_not_a_corner;
1658                               else
1659                                 goto is_not_a_corner;
1660                             else
1661                               goto is_not_a_corner;
1662                           else
1663                             goto is_not_a_corner;
1664                         else
1665                           goto is_not_a_corner;
1666                       else
1667                         goto is_not_a_corner;
1668                     else
1669                       goto is_not_a_corner;
1670                   else
1671                     goto is_not_a_corner;
1672                 else if(ptr[offset12] < c_b)
1673                   if(ptr[offset13] < c_b)
1674                     if(ptr[offset14] < c_b)
1675                       if(ptr[offset15] < c_b)
1676                         if(ptr[offset1] < c_b)
1677                           if(ptr[offset3] < c_b)
1678                             goto is_a_corner;
1679                           else
1680                             if(ptr[offset10] < c_b)
1681                               if(ptr[offset11] < c_b)
1682                                 goto is_a_corner;
1683                               else
1684                                 goto is_not_a_corner;
1685                             else
1686                               goto is_not_a_corner;
1687                         else
1688                           if(ptr[offset8] < c_b)
1689                             if(ptr[offset9] < c_b)
1690                               if(ptr[offset10] < c_b)
1691                                 if(ptr[offset11] < c_b)
1692                                   goto is_a_corner;
1693                                 else
1694                                   goto is_not_a_corner;
1695                               else
1696                                 goto is_not_a_corner;
1697                             else
1698                               goto is_not_a_corner;
1699                           else
1700                             goto is_not_a_corner;
1701                       else
1702                         if(ptr[offset6] < c_b)
1703                           if(ptr[offset7] < c_b)
1704                             if(ptr[offset8] < c_b)
1705                               if(ptr[offset9] < c_b)
1706                                 if(ptr[offset10] < c_b)
1707                                   if(ptr[offset11] < c_b)
1708                                     goto is_a_corner;
1709                                   else
1710                                     goto is_not_a_corner;
1711                                 else
1712                                   goto is_not_a_corner;
1713                               else
1714                                 goto is_not_a_corner;
1715                             else
1716                               goto is_not_a_corner;
1717                           else
1718                             goto is_not_a_corner;
1719                         else
1720                           goto is_not_a_corner;
1721                     else
1722                       goto is_not_a_corner;
1723                   else
1724                     goto is_not_a_corner;
1725                 else
1726                   goto is_not_a_corner;
1727             else
1728               if(ptr[offset11] > cb)
1729                 if(ptr[offset7] > cb)
1730                   if(ptr[offset8] > cb)
1731                     if(ptr[offset9] > cb)
1732                       if(ptr[offset10] > cb)
1733                         if(ptr[offset12] > cb)
1734                           if(ptr[offset13] > cb)
1735                             if(ptr[offset6] > cb)
1736                               if(ptr[offset5] > cb)
1737                                 goto is_a_corner;
1738                               else
1739                                 if(ptr[offset14] > cb)
1740                                   goto is_a_corner;
1741                                 else
1742                                   goto is_not_a_corner;
1743                             else
1744                               if(ptr[offset14] > cb)
1745                                 if(ptr[offset15] > cb)
1746                                   goto is_a_corner;
1747                                 else
1748                                   goto is_not_a_corner;
1749                               else
1750                                 goto is_not_a_corner;
1751                           else
1752                             goto is_not_a_corner;
1753                         else
1754                           goto is_not_a_corner;
1755                       else
1756                         goto is_not_a_corner;
1757                     else
1758                       goto is_not_a_corner;
1759                   else
1760                     goto is_not_a_corner;
1761                 else
1762                   goto is_not_a_corner;
1763               else if(ptr[offset11] < c_b)
1764                 if(ptr[offset12] < c_b)
1765                   if(ptr[offset13] < c_b)
1766                     if(ptr[offset10] < c_b)
1767                       if(ptr[offset14] < c_b)
1768                         if(ptr[offset15] < c_b)
1769                           if(ptr[offset1] < c_b)
1770                             goto is_a_corner;
1771                           else
1772                             if(ptr[offset8] < c_b)
1773                               if(ptr[offset9] < c_b)
1774                                 goto is_a_corner;
1775                               else
1776                                 goto is_not_a_corner;
1777                             else
1778                               goto is_not_a_corner;
1779                         else
1780                           if(ptr[offset6] < c_b)
1781                             if(ptr[offset7] < c_b)
1782                               if(ptr[offset8] < c_b)
1783                                 if(ptr[offset9] < c_b)
1784                                   goto is_a_corner;
1785                                 else
1786                                   goto is_not_a_corner;
1787                               else
1788                                 goto is_not_a_corner;
1789                             else
1790                               goto is_not_a_corner;
1791                           else
1792                             goto is_not_a_corner;
1793                       else
1794                         if(ptr[offset5] < c_b)
1795                           if(ptr[offset6] < c_b)
1796                             if(ptr[offset7] < c_b)
1797                               if(ptr[offset8] < c_b)
1798                                 if(ptr[offset9] < c_b)
1799                                   goto is_a_corner;
1800                                 else
1801                                   goto is_not_a_corner;
1802                               else
1803                                 goto is_not_a_corner;
1804                             else
1805                               goto is_not_a_corner;
1806                           else
1807                             goto is_not_a_corner;
1808                         else
1809                           goto is_not_a_corner;
1810                     else
1811                       if(ptr[offset1] < c_b)
1812                         if(ptr[offset3] < c_b)
1813                           if(ptr[offset14] < c_b)
1814                             if(ptr[offset15] < c_b)
1815                               goto is_a_corner;
1816                             else
1817                               goto is_not_a_corner;
1818                           else
1819                             goto is_not_a_corner;
1820                         else
1821                           goto is_not_a_corner;
1822                       else
1823                         goto is_not_a_corner;
1824                   else
1825                     goto is_not_a_corner;
1826                 else
1827                   goto is_not_a_corner;
1828               else
1829                 goto is_not_a_corner;
1830           else
1831             if(ptr[offset9] > cb)
1832               if(ptr[offset7] > cb)
1833                 if(ptr[offset8] > cb)
1834                   if(ptr[offset10] > cb)
1835                     if(ptr[offset11] > cb)
1836                       if(ptr[offset6] > cb)
1837                         if(ptr[offset5] > cb)
1838                           if(ptr[offset4] > cb)
1839                             if(ptr[offset3] > cb)
1840                               goto is_a_corner;
1841                             else
1842                               if(ptr[offset12] > cb)
1843                                 goto is_a_corner;
1844                               else
1845                                 goto is_not_a_corner;
1846                           else
1847                             if(ptr[offset12] > cb)
1848                               if(ptr[offset13] > cb)
1849                                 goto is_a_corner;
1850                               else
1851                                 goto is_not_a_corner;
1852                             else
1853                               goto is_not_a_corner;
1854                         else
1855                           if(ptr[offset12] > cb)
1856                             if(ptr[offset13] > cb)
1857                               if(ptr[offset14] > cb)
1858                                 goto is_a_corner;
1859                               else
1860                                 goto is_not_a_corner;
1861                             else
1862                               goto is_not_a_corner;
1863                           else
1864                             goto is_not_a_corner;
1865                       else
1866                         if(ptr[offset12] > cb)
1867                           if(ptr[offset13] > cb)
1868                             if(ptr[offset14] > cb)
1869                               if(ptr[offset15] > cb)
1870                                 goto is_a_corner;
1871                               else
1872                                 goto is_not_a_corner;
1873                             else
1874                               goto is_not_a_corner;
1875                           else
1876                             goto is_not_a_corner;
1877                         else
1878                           goto is_not_a_corner;
1879                     else
1880                       goto is_not_a_corner;
1881                   else
1882                     goto is_not_a_corner;
1883                 else
1884                   goto is_not_a_corner;
1885               else
1886                 goto is_not_a_corner;
1887             else if(ptr[offset9] < c_b)
1888               if(ptr[offset10] < c_b)
1889                 if(ptr[offset11] < c_b)
1890                   if(ptr[offset8] < c_b)
1891                     if(ptr[offset12] < c_b)
1892                       if(ptr[offset13] < c_b)
1893                         if(ptr[offset14] < c_b)
1894                           if(ptr[offset15] < c_b)
1895                             goto is_a_corner;
1896                           else
1897                             if(ptr[offset6] < c_b)
1898                               if(ptr[offset7] < c_b)
1899                                 goto is_a_corner;
1900                               else
1901                                 goto is_not_a_corner;
1902                             else
1903                               goto is_not_a_corner;
1904                         else
1905                           if(ptr[offset5] < c_b)
1906                             if(ptr[offset6] < c_b)
1907                               if(ptr[offset7] < c_b)
1908                                 goto is_a_corner;
1909                               else
1910                                 goto is_not_a_corner;
1911                             else
1912                               goto is_not_a_corner;
1913                           else
1914                             goto is_not_a_corner;
1915                       else
1916                         if(ptr[offset4] < c_b)
1917                           if(ptr[offset5] < c_b)
1918                             if(ptr[offset6] < c_b)
1919                               if(ptr[offset7] < c_b)
1920                                 goto is_a_corner;
1921                               else
1922                                 goto is_not_a_corner;
1923                             else
1924                               goto is_not_a_corner;
1925                           else
1926                             goto is_not_a_corner;
1927                         else
1928                           goto is_not_a_corner;
1929                     else
1930                       if(ptr[offset3] < c_b)
1931                         if(ptr[offset4] < c_b)
1932                           if(ptr[offset5] < c_b)
1933                             if(ptr[offset6] < c_b)
1934                               if(ptr[offset7] < c_b)
1935                                 goto is_a_corner;
1936                               else
1937                                 goto is_not_a_corner;
1938                             else
1939                               goto is_not_a_corner;
1940                           else
1941                             goto is_not_a_corner;
1942                         else
1943                           goto is_not_a_corner;
1944                       else
1945                         goto is_not_a_corner;
1946                   else
1947                     if(ptr[offset1] < c_b)
1948                       if(ptr[offset12] < c_b)
1949                         if(ptr[offset13] < c_b)
1950                           if(ptr[offset14] < c_b)
1951                             if(ptr[offset15] < c_b)
1952                               goto is_a_corner;
1953                             else
1954                               goto is_not_a_corner;
1955                           else
1956                             goto is_not_a_corner;
1957                         else
1958                           goto is_not_a_corner;
1959                       else
1960                         goto is_not_a_corner;
1961                     else
1962                       goto is_not_a_corner;
1963                 else
1964                   goto is_not_a_corner;
1965               else
1966                 goto is_not_a_corner;
1967             else
1968               goto is_not_a_corner;
1969         else
1970           if(ptr[offset7] > cb)
1971             if(ptr[offset8] > cb)
1972               if(ptr[offset9] > cb)
1973                 if(ptr[offset6] > cb)
1974                   if(ptr[offset5] > cb)
1975                     if(ptr[offset4] > cb)
1976                       if(ptr[offset3] > cb)
1977                         if(ptr[offset2] > cb)
1978                           if(ptr[offset1] > cb)
1979                             goto is_a_corner;
1980                           else
1981                             if(ptr[offset10] > cb)
1982                               goto is_a_corner;
1983                             else
1984                               goto is_not_a_corner;
1985                         else
1986                           if(ptr[offset10] > cb)
1987                             if(ptr[offset11] > cb)
1988                               goto is_a_corner;
1989                             else
1990                               goto is_not_a_corner;
1991                           else
1992                             goto is_not_a_corner;
1993                       else
1994                         if(ptr[offset10] > cb)
1995                           if(ptr[offset11] > cb)
1996                             if(ptr[offset12] > cb)
1997                               goto is_a_corner;
1998                             else
1999                               goto is_not_a_corner;
2000                           else
2001                             goto is_not_a_corner;
2002                         else
2003                           goto is_not_a_corner;
2004                     else
2005                       if(ptr[offset10] > cb)
2006                         if(ptr[offset11] > cb)
2007                           if(ptr[offset12] > cb)
2008                             if(ptr[offset13] > cb)
2009                               goto is_a_corner;
2010                             else
2011                               goto is_not_a_corner;
2012                           else
2013                             goto is_not_a_corner;
2014                         else
2015                           goto is_not_a_corner;
2016                       else
2017                         goto is_not_a_corner;
2018                   else
2019                     if(ptr[offset10] > cb)
2020                       if(ptr[offset11] > cb)
2021                         if(ptr[offset12] > cb)
2022                           if(ptr[offset13] > cb)
2023                             if(ptr[offset14] > cb)
2024                               goto is_a_corner;
2025                             else
2026                               goto is_not_a_corner;
2027                           else
2028                             goto is_not_a_corner;
2029                         else
2030                           goto is_not_a_corner;
2031                       else
2032                         goto is_not_a_corner;
2033                     else
2034                       goto is_not_a_corner;
2035                 else
2036                   if(ptr[offset10] > cb)
2037                     if(ptr[offset11] > cb)
2038                       if(ptr[offset12] > cb)
2039                         if(ptr[offset13] > cb)
2040                           if(ptr[offset14] > cb)
2041                             if(ptr[offset15] > cb)
2042                               goto is_a_corner;
2043                             else
2044                               goto is_not_a_corner;
2045                           else
2046                             goto is_not_a_corner;
2047                         else
2048                           goto is_not_a_corner;
2049                       else
2050                         goto is_not_a_corner;
2051                     else
2052                       goto is_not_a_corner;
2053                   else
2054                     goto is_not_a_corner;
2055               else
2056                 goto is_not_a_corner;
2057             else
2058               goto is_not_a_corner;
2059           else if(ptr[offset7] < c_b)
2060             if(ptr[offset8] < c_b)
2061               if(ptr[offset9] < c_b)
2062                 if(ptr[offset6] < c_b)
2063                   if(ptr[offset5] < c_b)
2064                     if(ptr[offset4] < c_b)
2065                       if(ptr[offset3] < c_b)
2066                         if(ptr[offset2] < c_b)
2067                           if(ptr[offset1] < c_b)
2068                             goto is_a_corner;
2069                           else
2070                             if(ptr[offset10] < c_b)
2071                               goto is_a_corner;
2072                             else
2073                               goto is_not_a_corner;
2074                         else
2075                           if(ptr[offset10] < c_b)
2076                             if(ptr[offset11] < c_b)
2077                               goto is_a_corner;
2078                             else
2079                               goto is_not_a_corner;
2080                           else
2081                             goto is_not_a_corner;
2082                       else
2083                         if(ptr[offset10] < c_b)
2084                           if(ptr[offset11] < c_b)
2085                             if(ptr[offset12] < c_b)
2086                               goto is_a_corner;
2087                             else
2088                               goto is_not_a_corner;
2089                           else
2090                             goto is_not_a_corner;
2091                         else
2092                           goto is_not_a_corner;
2093                     else
2094                       if(ptr[offset10] < c_b)
2095                         if(ptr[offset11] < c_b)
2096                           if(ptr[offset12] < c_b)
2097                             if(ptr[offset13] < c_b)
2098                               goto is_a_corner;
2099                             else
2100                               goto is_not_a_corner;
2101                           else
2102                             goto is_not_a_corner;
2103                         else
2104                           goto is_not_a_corner;
2105                       else
2106                         goto is_not_a_corner;
2107                   else
2108                     if(ptr[offset10] < c_b)
2109                       if(ptr[offset11] < c_b)
2110                         if(ptr[offset12] < c_b)
2111                           if(ptr[offset13] < c_b)
2112                             if(ptr[offset14] < c_b)
2113                               goto is_a_corner;
2114                             else
2115                               goto is_not_a_corner;
2116                           else
2117                             goto is_not_a_corner;
2118                         else
2119                           goto is_not_a_corner;
2120                       else
2121                         goto is_not_a_corner;
2122                     else
2123                       goto is_not_a_corner;
2124                 else
2125                   if(ptr[offset10] < c_b)
2126                     if(ptr[offset11] < c_b)
2127                       if(ptr[offset12] < c_b)
2128                         if(ptr[offset13] < c_b)
2129                           if(ptr[offset14] < c_b)
2130                             if(ptr[offset15] < c_b)
2131                               goto is_a_corner;
2132                             else
2133                               goto is_not_a_corner;
2134                           else
2135                             goto is_not_a_corner;
2136                         else
2137                           goto is_not_a_corner;
2138                       else
2139                         goto is_not_a_corner;
2140                     else
2141                       goto is_not_a_corner;
2142                   else
2143                     goto is_not_a_corner;
2144               else
2145                 goto is_not_a_corner;
2146             else
2147               goto is_not_a_corner;
2148           else
2149             goto is_not_a_corner;
2150 
2151         is_a_corner:
2152             bmin = b_test;
2153             goto end;
2154 
2155         is_not_a_corner:
2156             bmax = b_test;
2157             goto end;
2158 
2159         end:
2160 
2161         if(bmin == bmax - 1 || bmin == bmax)
2162             return bmin;
2163         b_test = (bmin + bmax) / 2;
2164     }
2165 }
2166 
2167 // 12 pixel mask in diamond format
2168 template<>
agast_cornerScore(const uchar * ptr,const int pixel[],int threshold)2169 int agast_cornerScore<AgastFeatureDetector::AGAST_7_12d>(const uchar* ptr, const int pixel[], int threshold)
2170 {
2171     int bmin = threshold;
2172     int bmax = 255;
2173     int b_test = (bmax + bmin)/2;
2174 
2175     register short offset0 = (short) pixel[0];
2176     register short offset1 = (short) pixel[1];
2177     register short offset2 = (short) pixel[2];
2178     register short offset3 = (short) pixel[3];
2179     register short offset4 = (short) pixel[4];
2180     register short offset5 = (short) pixel[5];
2181     register short offset6 = (short) pixel[6];
2182     register short offset7 = (short) pixel[7];
2183     register short offset8 = (short) pixel[8];
2184     register short offset9 = (short) pixel[9];
2185     register short offset10 = (short) pixel[10];
2186     register short offset11 = (short) pixel[11];
2187 
2188     while(true)
2189     {
2190         register const int cb = *ptr + b_test;
2191         register const int c_b = *ptr - b_test;
2192         if(ptr[offset0] > cb)
2193           if(ptr[offset5] > cb)
2194             if(ptr[offset2] > cb)
2195               if(ptr[offset9] > cb)
2196                 if(ptr[offset1] > cb)
2197                   if(ptr[offset6] > cb)
2198                     if(ptr[offset3] > cb)
2199                       if(ptr[offset4] > cb)
2200                         goto is_a_corner;
2201                       else
2202                         if(ptr[offset10] > cb)
2203                           if(ptr[offset11] > cb)
2204                             goto is_a_corner;
2205                           else
2206                             goto is_not_a_corner;
2207                         else
2208                           goto is_not_a_corner;
2209                     else
2210                       if(ptr[offset8] > cb)
2211                         if(ptr[offset10] > cb)
2212                           if(ptr[offset11] > cb)
2213                             goto is_a_corner;
2214                           else
2215                             if(ptr[offset4] > cb)
2216                               if(ptr[offset7] > cb)
2217                                 goto is_a_corner;
2218                               else
2219                                 goto is_not_a_corner;
2220                             else
2221                               goto is_not_a_corner;
2222                         else
2223                           goto is_not_a_corner;
2224                       else
2225                         goto is_not_a_corner;
2226                   else
2227                     if(ptr[offset11] > cb)
2228                       if(ptr[offset3] > cb)
2229                         if(ptr[offset4] > cb)
2230                           goto is_a_corner;
2231                         else
2232                           if(ptr[offset10] > cb)
2233                             goto is_a_corner;
2234                           else
2235                             goto is_not_a_corner;
2236                       else
2237                         if(ptr[offset8] > cb)
2238                           if(ptr[offset10] > cb)
2239                             goto is_a_corner;
2240                           else
2241                             goto is_not_a_corner;
2242                         else
2243                           goto is_not_a_corner;
2244                     else
2245                       goto is_not_a_corner;
2246                 else
2247                   if(ptr[offset6] > cb)
2248                     if(ptr[offset7] > cb)
2249                       if(ptr[offset8] > cb)
2250                         if(ptr[offset4] > cb)
2251                           if(ptr[offset3] > cb)
2252                             goto is_a_corner;
2253                           else
2254                             if(ptr[offset10] > cb)
2255                               goto is_a_corner;
2256                             else
2257                               goto is_not_a_corner;
2258                         else
2259                           if(ptr[offset10] > cb)
2260                             if(ptr[offset11] > cb)
2261                               goto is_a_corner;
2262                             else
2263                               goto is_not_a_corner;
2264                           else
2265                             goto is_not_a_corner;
2266                       else
2267                         goto is_not_a_corner;
2268                     else
2269                       goto is_not_a_corner;
2270                   else
2271                     goto is_not_a_corner;
2272               else
2273                 if(ptr[offset3] > cb)
2274                   if(ptr[offset4] > cb)
2275                     if(ptr[offset1] > cb)
2276                       if(ptr[offset6] > cb)
2277                         goto is_a_corner;
2278                       else
2279                         if(ptr[offset11] > cb)
2280                           goto is_a_corner;
2281                         else
2282                           goto is_not_a_corner;
2283                     else
2284                       if(ptr[offset6] > cb)
2285                         if(ptr[offset7] > cb)
2286                           if(ptr[offset8] > cb)
2287                             goto is_a_corner;
2288                           else
2289                             goto is_not_a_corner;
2290                         else
2291                           goto is_not_a_corner;
2292                       else
2293                         goto is_not_a_corner;
2294                   else
2295                     goto is_not_a_corner;
2296                 else
2297                   goto is_not_a_corner;
2298             else
2299               if(ptr[offset9] > cb)
2300                 if(ptr[offset7] > cb)
2301                   if(ptr[offset8] > cb)
2302                     if(ptr[offset1] > cb)
2303                       if(ptr[offset10] > cb)
2304                         if(ptr[offset11] > cb)
2305                           goto is_a_corner;
2306                         else
2307                           if(ptr[offset6] > cb)
2308                             if(ptr[offset4] > cb)
2309                               goto is_a_corner;
2310                             else
2311                               goto is_not_a_corner;
2312                           else
2313                             goto is_not_a_corner;
2314                       else
2315                         if(ptr[offset6] > cb)
2316                           if(ptr[offset3] > cb)
2317                             if(ptr[offset4] > cb)
2318                               goto is_a_corner;
2319                             else
2320                               goto is_not_a_corner;
2321                           else
2322                             goto is_not_a_corner;
2323                         else
2324                           goto is_not_a_corner;
2325                     else
2326                       if(ptr[offset6] > cb)
2327                         if(ptr[offset4] > cb)
2328                           if(ptr[offset3] > cb)
2329                             goto is_a_corner;
2330                           else
2331                             if(ptr[offset10] > cb)
2332                               goto is_a_corner;
2333                             else
2334                               goto is_not_a_corner;
2335                         else
2336                           if(ptr[offset10] > cb)
2337                             if(ptr[offset11] > cb)
2338                               goto is_a_corner;
2339                             else
2340                               goto is_not_a_corner;
2341                           else
2342                             goto is_not_a_corner;
2343                       else
2344                         goto is_not_a_corner;
2345                   else
2346                     goto is_not_a_corner;
2347                 else
2348                   goto is_not_a_corner;
2349               else
2350                 goto is_not_a_corner;
2351           else
2352             if(ptr[offset5] < c_b)
2353               if(ptr[offset9] > cb)
2354                 if(ptr[offset3] < c_b)
2355                   if(ptr[offset4] < c_b)
2356                     if(ptr[offset11] > cb)
2357                       if(ptr[offset1] > cb)
2358                         if(ptr[offset8] > cb)
2359                           if(ptr[offset10] > cb)
2360                             if(ptr[offset2] > cb)
2361                               goto is_a_corner;
2362                             else
2363                               if(ptr[offset7] > cb)
2364                                 goto is_a_corner;
2365                               else
2366                                 goto is_not_a_corner;
2367                           else
2368                             goto is_not_a_corner;
2369                         else
2370                           if(ptr[offset6] < c_b)
2371                             if(ptr[offset2] < c_b)
2372                               if(ptr[offset7] < c_b)
2373                                 if(ptr[offset8] < c_b)
2374                                   goto is_a_corner;
2375                                 else
2376                                   goto is_not_a_corner;
2377                               else
2378                                 goto is_not_a_corner;
2379                             else
2380                               goto is_not_a_corner;
2381                           else
2382                             goto is_not_a_corner;
2383                       else
2384                         if(ptr[offset6] > cb)
2385                           if(ptr[offset7] > cb)
2386                             if(ptr[offset8] > cb)
2387                               if(ptr[offset10] > cb)
2388                                 goto is_a_corner;
2389                               else
2390                                 goto is_not_a_corner;
2391                             else
2392                               goto is_not_a_corner;
2393                           else
2394                             goto is_not_a_corner;
2395                         else
2396                           if(ptr[offset6] < c_b)
2397                             if(ptr[offset2] < c_b)
2398                               if(ptr[offset7] < c_b)
2399                                 if(ptr[offset1] < c_b)
2400                                   goto is_a_corner;
2401                                 else
2402                                   if(ptr[offset8] < c_b)
2403                                     goto is_a_corner;
2404                                   else
2405                                     goto is_not_a_corner;
2406                               else
2407                                 goto is_not_a_corner;
2408                             else
2409                               goto is_not_a_corner;
2410                           else
2411                             goto is_not_a_corner;
2412                     else
2413                       if(ptr[offset2] < c_b)
2414                         if(ptr[offset7] < c_b)
2415                           if(ptr[offset1] < c_b)
2416                             if(ptr[offset6] < c_b)
2417                               goto is_a_corner;
2418                             else
2419                               goto is_not_a_corner;
2420                           else
2421                             if(ptr[offset6] < c_b)
2422                               if(ptr[offset8] < c_b)
2423                                 goto is_a_corner;
2424                               else
2425                                 goto is_not_a_corner;
2426                             else
2427                               goto is_not_a_corner;
2428                         else
2429                           goto is_not_a_corner;
2430                       else
2431                         goto is_not_a_corner;
2432                   else
2433                     if(ptr[offset11] > cb)
2434                       if(ptr[offset8] > cb)
2435                         if(ptr[offset10] > cb)
2436                           if(ptr[offset1] > cb)
2437                             if(ptr[offset2] > cb)
2438                               goto is_a_corner;
2439                             else
2440                               if(ptr[offset7] > cb)
2441                                 goto is_a_corner;
2442                               else
2443                                 goto is_not_a_corner;
2444                           else
2445                             if(ptr[offset6] > cb)
2446                               if(ptr[offset7] > cb)
2447                                 goto is_a_corner;
2448                               else
2449                                 goto is_not_a_corner;
2450                             else
2451                               goto is_not_a_corner;
2452                         else
2453                           goto is_not_a_corner;
2454                       else
2455                         goto is_not_a_corner;
2456                     else
2457                       goto is_not_a_corner;
2458                 else
2459                   if(ptr[offset11] > cb)
2460                     if(ptr[offset10] > cb)
2461                       if(ptr[offset3] > cb)
2462                         if(ptr[offset1] > cb)
2463                           if(ptr[offset2] > cb)
2464                             goto is_a_corner;
2465                           else
2466                             if(ptr[offset7] > cb)
2467                               if(ptr[offset8] > cb)
2468                                 goto is_a_corner;
2469                               else
2470                                 goto is_not_a_corner;
2471                             else
2472                               goto is_not_a_corner;
2473                         else
2474                           if(ptr[offset6] > cb)
2475                             if(ptr[offset7] > cb)
2476                               if(ptr[offset8] > cb)
2477                                 goto is_a_corner;
2478                               else
2479                                 goto is_not_a_corner;
2480                             else
2481                               goto is_not_a_corner;
2482                           else
2483                             goto is_not_a_corner;
2484                       else
2485                         if(ptr[offset8] > cb)
2486                           if(ptr[offset1] > cb)
2487                             if(ptr[offset2] > cb)
2488                               goto is_a_corner;
2489                             else
2490                               if(ptr[offset7] > cb)
2491                                 goto is_a_corner;
2492                               else
2493                                 goto is_not_a_corner;
2494                           else
2495                             if(ptr[offset6] > cb)
2496                               if(ptr[offset7] > cb)
2497                                 goto is_a_corner;
2498                               else
2499                                 goto is_not_a_corner;
2500                             else
2501                               goto is_not_a_corner;
2502                         else
2503                           goto is_not_a_corner;
2504                     else
2505                       goto is_not_a_corner;
2506                   else
2507                     goto is_not_a_corner;
2508               else
2509                 if(ptr[offset9] < c_b)
2510                   if(ptr[offset2] > cb)
2511                     if(ptr[offset1] > cb)
2512                       if(ptr[offset4] > cb)
2513                         if(ptr[offset10] > cb)
2514                           if(ptr[offset3] > cb)
2515                             if(ptr[offset11] > cb)
2516                               goto is_a_corner;
2517                             else
2518                               goto is_not_a_corner;
2519                           else
2520                             goto is_not_a_corner;
2521                         else
2522                           if(ptr[offset6] < c_b)
2523                             if(ptr[offset7] < c_b)
2524                               if(ptr[offset8] < c_b)
2525                                 if(ptr[offset11] < c_b)
2526                                   if(ptr[offset10] < c_b)
2527                                     goto is_a_corner;
2528                                   else
2529                                     goto is_not_a_corner;
2530                                 else
2531                                   goto is_not_a_corner;
2532                               else
2533                                 goto is_not_a_corner;
2534                             else
2535                               goto is_not_a_corner;
2536                           else
2537                             goto is_not_a_corner;
2538                       else
2539                         if(ptr[offset6] < c_b)
2540                           if(ptr[offset7] < c_b)
2541                             if(ptr[offset8] < c_b)
2542                               if(ptr[offset10] < c_b)
2543                                 if(ptr[offset4] < c_b)
2544                                   goto is_a_corner;
2545                                 else
2546                                   if(ptr[offset11] < c_b)
2547                                     goto is_a_corner;
2548                                   else
2549                                     goto is_not_a_corner;
2550                               else
2551                                 if(ptr[offset3] < c_b)
2552                                   if(ptr[offset4] < c_b)
2553                                     goto is_a_corner;
2554                                   else
2555                                     goto is_not_a_corner;
2556                                 else
2557                                   goto is_not_a_corner;
2558                             else
2559                               goto is_not_a_corner;
2560                           else
2561                             goto is_not_a_corner;
2562                         else
2563                           goto is_not_a_corner;
2564                     else
2565                       if(ptr[offset6] < c_b)
2566                         if(ptr[offset7] < c_b)
2567                           if(ptr[offset8] < c_b)
2568                             if(ptr[offset4] < c_b)
2569                               if(ptr[offset3] < c_b)
2570                                 goto is_a_corner;
2571                               else
2572                                 if(ptr[offset10] < c_b)
2573                                   goto is_a_corner;
2574                                 else
2575                                   goto is_not_a_corner;
2576                             else
2577                               if(ptr[offset10] < c_b)
2578                                 if(ptr[offset11] < c_b)
2579                                   goto is_a_corner;
2580                                 else
2581                                   goto is_not_a_corner;
2582                               else
2583                                 goto is_not_a_corner;
2584                           else
2585                             goto is_not_a_corner;
2586                         else
2587                           goto is_not_a_corner;
2588                       else
2589                         goto is_not_a_corner;
2590                   else
2591                     if(ptr[offset6] < c_b)
2592                       if(ptr[offset7] < c_b)
2593                         if(ptr[offset8] < c_b)
2594                           if(ptr[offset4] < c_b)
2595                             if(ptr[offset3] < c_b)
2596                               goto is_a_corner;
2597                             else
2598                               if(ptr[offset10] < c_b)
2599                                 goto is_a_corner;
2600                               else
2601                                 goto is_not_a_corner;
2602                           else
2603                             if(ptr[offset10] < c_b)
2604                               if(ptr[offset11] < c_b)
2605                                 goto is_a_corner;
2606                               else
2607                                 goto is_not_a_corner;
2608                             else
2609                               goto is_not_a_corner;
2610                         else
2611                           if(ptr[offset2] < c_b)
2612                             if(ptr[offset1] < c_b)
2613                               if(ptr[offset3] < c_b)
2614                                 if(ptr[offset4] < c_b)
2615                                   goto is_a_corner;
2616                                 else
2617                                   goto is_not_a_corner;
2618                               else
2619                                 goto is_not_a_corner;
2620                             else
2621                               goto is_not_a_corner;
2622                           else
2623                             goto is_not_a_corner;
2624                       else
2625                         goto is_not_a_corner;
2626                     else
2627                       goto is_not_a_corner;
2628                 else
2629                   if(ptr[offset2] > cb)
2630                     if(ptr[offset1] > cb)
2631                       if(ptr[offset3] > cb)
2632                         if(ptr[offset4] > cb)
2633                           if(ptr[offset10] > cb)
2634                             if(ptr[offset11] > cb)
2635                               goto is_a_corner;
2636                             else
2637                               goto is_not_a_corner;
2638                           else
2639                             goto is_not_a_corner;
2640                         else
2641                           goto is_not_a_corner;
2642                       else
2643                         goto is_not_a_corner;
2644                     else
2645                       goto is_not_a_corner;
2646                   else
2647                     if(ptr[offset2] < c_b)
2648                       if(ptr[offset3] < c_b)
2649                         if(ptr[offset4] < c_b)
2650                           if(ptr[offset7] < c_b)
2651                             if(ptr[offset1] < c_b)
2652                               if(ptr[offset6] < c_b)
2653                                 goto is_a_corner;
2654                               else
2655                                 goto is_not_a_corner;
2656                             else
2657                               if(ptr[offset6] < c_b)
2658                                 if(ptr[offset8] < c_b)
2659                                   goto is_a_corner;
2660                                 else
2661                                   goto is_not_a_corner;
2662                               else
2663                                 goto is_not_a_corner;
2664                           else
2665                             goto is_not_a_corner;
2666                         else
2667                           goto is_not_a_corner;
2668                       else
2669                         goto is_not_a_corner;
2670                     else
2671                       goto is_not_a_corner;
2672             else
2673               if(ptr[offset2] > cb)
2674                 if(ptr[offset10] > cb)
2675                   if(ptr[offset11] > cb)
2676                     if(ptr[offset9] > cb)
2677                       if(ptr[offset1] > cb)
2678                         if(ptr[offset3] > cb)
2679                           goto is_a_corner;
2680                         else
2681                           if(ptr[offset8] > cb)
2682                             goto is_a_corner;
2683                           else
2684                             goto is_not_a_corner;
2685                       else
2686                         if(ptr[offset6] > cb)
2687                           if(ptr[offset7] > cb)
2688                             if(ptr[offset8] > cb)
2689                               goto is_a_corner;
2690                             else
2691                               goto is_not_a_corner;
2692                           else
2693                             goto is_not_a_corner;
2694                         else
2695                           goto is_not_a_corner;
2696                     else
2697                       if(ptr[offset1] > cb)
2698                         if(ptr[offset3] > cb)
2699                           if(ptr[offset4] > cb)
2700                             goto is_a_corner;
2701                           else
2702                             goto is_not_a_corner;
2703                         else
2704                           goto is_not_a_corner;
2705                       else
2706                         goto is_not_a_corner;
2707                   else
2708                     goto is_not_a_corner;
2709                 else
2710                   goto is_not_a_corner;
2711               else
2712                 if(ptr[offset9] > cb)
2713                   if(ptr[offset7] > cb)
2714                     if(ptr[offset8] > cb)
2715                       if(ptr[offset10] > cb)
2716                         if(ptr[offset11] > cb)
2717                           if(ptr[offset1] > cb)
2718                             goto is_a_corner;
2719                           else
2720                             if(ptr[offset6] > cb)
2721                               goto is_a_corner;
2722                             else
2723                               goto is_not_a_corner;
2724                         else
2725                           goto is_not_a_corner;
2726                       else
2727                         goto is_not_a_corner;
2728                     else
2729                       goto is_not_a_corner;
2730                   else
2731                     goto is_not_a_corner;
2732                 else
2733                   goto is_not_a_corner;
2734         else if(ptr[offset0] < c_b)
2735           if(ptr[offset2] > cb)
2736             if(ptr[offset5] > cb)
2737               if(ptr[offset7] > cb)
2738                 if(ptr[offset6] > cb)
2739                   if(ptr[offset4] > cb)
2740                     if(ptr[offset3] > cb)
2741                       if(ptr[offset1] > cb)
2742                         goto is_a_corner;
2743                       else
2744                         if(ptr[offset8] > cb)
2745                           goto is_a_corner;
2746                         else
2747                           goto is_not_a_corner;
2748                     else
2749                       if(ptr[offset9] > cb)
2750                         if(ptr[offset8] > cb)
2751                           if(ptr[offset10] > cb)
2752                             goto is_a_corner;
2753                           else
2754                             goto is_not_a_corner;
2755                         else
2756                           goto is_not_a_corner;
2757                       else
2758                         goto is_not_a_corner;
2759                   else
2760                     if(ptr[offset9] > cb)
2761                       if(ptr[offset8] > cb)
2762                         if(ptr[offset10] > cb)
2763                           if(ptr[offset11] > cb)
2764                             goto is_a_corner;
2765                           else
2766                             goto is_not_a_corner;
2767                         else
2768                           goto is_not_a_corner;
2769                       else
2770                         goto is_not_a_corner;
2771                     else
2772                       goto is_not_a_corner;
2773                 else
2774                   goto is_not_a_corner;
2775               else
2776                 if(ptr[offset9] < c_b)
2777                   if(ptr[offset8] < c_b)
2778                     if(ptr[offset10] < c_b)
2779                       if(ptr[offset11] < c_b)
2780                         if(ptr[offset7] < c_b)
2781                           if(ptr[offset1] < c_b)
2782                             goto is_a_corner;
2783                           else
2784                             if(ptr[offset6] < c_b)
2785                               goto is_a_corner;
2786                             else
2787                               goto is_not_a_corner;
2788                         else
2789                           goto is_not_a_corner;
2790                       else
2791                         goto is_not_a_corner;
2792                     else
2793                       goto is_not_a_corner;
2794                   else
2795                     goto is_not_a_corner;
2796                 else
2797                   goto is_not_a_corner;
2798             else
2799               if(ptr[offset9] < c_b)
2800                 if(ptr[offset7] < c_b)
2801                   if(ptr[offset8] < c_b)
2802                     if(ptr[offset5] < c_b)
2803                       if(ptr[offset1] < c_b)
2804                         if(ptr[offset10] < c_b)
2805                           if(ptr[offset11] < c_b)
2806                             goto is_a_corner;
2807                           else
2808                             if(ptr[offset6] < c_b)
2809                               if(ptr[offset4] < c_b)
2810                                 goto is_a_corner;
2811                               else
2812                                 goto is_not_a_corner;
2813                             else
2814                               goto is_not_a_corner;
2815                         else
2816                           if(ptr[offset6] < c_b)
2817                             if(ptr[offset3] < c_b)
2818                               if(ptr[offset4] < c_b)
2819                                 goto is_a_corner;
2820                               else
2821                                 goto is_not_a_corner;
2822                             else
2823                               goto is_not_a_corner;
2824                           else
2825                             goto is_not_a_corner;
2826                       else
2827                         if(ptr[offset6] < c_b)
2828                           if(ptr[offset4] < c_b)
2829                             if(ptr[offset3] < c_b)
2830                               goto is_a_corner;
2831                             else
2832                               if(ptr[offset10] < c_b)
2833                                 goto is_a_corner;
2834                               else
2835                                 goto is_not_a_corner;
2836                           else
2837                             if(ptr[offset10] < c_b)
2838                               if(ptr[offset11] < c_b)
2839                                 goto is_a_corner;
2840                               else
2841                                 goto is_not_a_corner;
2842                             else
2843                               goto is_not_a_corner;
2844                         else
2845                           goto is_not_a_corner;
2846                     else
2847                       if(ptr[offset10] < c_b)
2848                         if(ptr[offset11] < c_b)
2849                           if(ptr[offset1] < c_b)
2850                             goto is_a_corner;
2851                           else
2852                             if(ptr[offset6] < c_b)
2853                               goto is_a_corner;
2854                             else
2855                               goto is_not_a_corner;
2856                         else
2857                           goto is_not_a_corner;
2858                       else
2859                         goto is_not_a_corner;
2860                   else
2861                     goto is_not_a_corner;
2862                 else
2863                   goto is_not_a_corner;
2864               else
2865                 goto is_not_a_corner;
2866           else
2867             if(ptr[offset2] < c_b)
2868               if(ptr[offset9] > cb)
2869                 if(ptr[offset5] > cb)
2870                   if(ptr[offset1] < c_b)
2871                     if(ptr[offset4] < c_b)
2872                       if(ptr[offset10] < c_b)
2873                         if(ptr[offset3] < c_b)
2874                           if(ptr[offset11] < c_b)
2875                             goto is_a_corner;
2876                           else
2877                             goto is_not_a_corner;
2878                         else
2879                           goto is_not_a_corner;
2880                       else
2881                         if(ptr[offset6] > cb)
2882                           if(ptr[offset7] > cb)
2883                             if(ptr[offset8] > cb)
2884                               if(ptr[offset11] > cb)
2885                                 if(ptr[offset10] > cb)
2886                                   goto is_a_corner;
2887                                 else
2888                                   goto is_not_a_corner;
2889                               else
2890                                 goto is_not_a_corner;
2891                             else
2892                               goto is_not_a_corner;
2893                           else
2894                             goto is_not_a_corner;
2895                         else
2896                           goto is_not_a_corner;
2897                     else
2898                       if(ptr[offset6] > cb)
2899                         if(ptr[offset7] > cb)
2900                           if(ptr[offset8] > cb)
2901                             if(ptr[offset10] > cb)
2902                               if(ptr[offset4] > cb)
2903                                 goto is_a_corner;
2904                               else
2905                                 if(ptr[offset11] > cb)
2906                                   goto is_a_corner;
2907                                 else
2908                                   goto is_not_a_corner;
2909                             else
2910                               if(ptr[offset3] > cb)
2911                                 if(ptr[offset4] > cb)
2912                                   goto is_a_corner;
2913                                 else
2914                                   goto is_not_a_corner;
2915                               else
2916                                 goto is_not_a_corner;
2917                           else
2918                             goto is_not_a_corner;
2919                         else
2920                           goto is_not_a_corner;
2921                       else
2922                         goto is_not_a_corner;
2923                   else
2924                     if(ptr[offset6] > cb)
2925                       if(ptr[offset7] > cb)
2926                         if(ptr[offset8] > cb)
2927                           if(ptr[offset4] > cb)
2928                             if(ptr[offset3] > cb)
2929                               goto is_a_corner;
2930                             else
2931                               if(ptr[offset10] > cb)
2932                                 goto is_a_corner;
2933                               else
2934                                 goto is_not_a_corner;
2935                           else
2936                             if(ptr[offset10] > cb)
2937                               if(ptr[offset11] > cb)
2938                                 goto is_a_corner;
2939                               else
2940                                 goto is_not_a_corner;
2941                             else
2942                               goto is_not_a_corner;
2943                         else
2944                           goto is_not_a_corner;
2945                       else
2946                         goto is_not_a_corner;
2947                     else
2948                       goto is_not_a_corner;
2949                 else
2950                   if(ptr[offset3] < c_b)
2951                     if(ptr[offset4] < c_b)
2952                       if(ptr[offset5] < c_b)
2953                         if(ptr[offset1] < c_b)
2954                           if(ptr[offset6] < c_b)
2955                             goto is_a_corner;
2956                           else
2957                             if(ptr[offset11] < c_b)
2958                               goto is_a_corner;
2959                             else
2960                               goto is_not_a_corner;
2961                         else
2962                           if(ptr[offset6] < c_b)
2963                             if(ptr[offset7] < c_b)
2964                               if(ptr[offset8] < c_b)
2965                                 goto is_a_corner;
2966                               else
2967                                 goto is_not_a_corner;
2968                             else
2969                               goto is_not_a_corner;
2970                           else
2971                             goto is_not_a_corner;
2972                       else
2973                         if(ptr[offset1] < c_b)
2974                           if(ptr[offset10] < c_b)
2975                             if(ptr[offset11] < c_b)
2976                               goto is_a_corner;
2977                             else
2978                               goto is_not_a_corner;
2979                           else
2980                             goto is_not_a_corner;
2981                         else
2982                           goto is_not_a_corner;
2983                     else
2984                       goto is_not_a_corner;
2985                   else
2986                     goto is_not_a_corner;
2987               else
2988                 if(ptr[offset9] < c_b)
2989                   if(ptr[offset5] < c_b)
2990                     if(ptr[offset1] < c_b)
2991                       if(ptr[offset6] < c_b)
2992                         if(ptr[offset3] < c_b)
2993                           if(ptr[offset4] < c_b)
2994                             goto is_a_corner;
2995                           else
2996                             if(ptr[offset10] < c_b)
2997                               if(ptr[offset11] < c_b)
2998                                 goto is_a_corner;
2999                               else
3000                                 goto is_not_a_corner;
3001                             else
3002                               goto is_not_a_corner;
3003                         else
3004                           if(ptr[offset8] < c_b)
3005                             if(ptr[offset10] < c_b)
3006                               if(ptr[offset11] < c_b)
3007                                 goto is_a_corner;
3008                               else
3009                                 if(ptr[offset4] < c_b)
3010                                   if(ptr[offset7] < c_b)
3011                                     goto is_a_corner;
3012                                   else
3013                                     goto is_not_a_corner;
3014                                 else
3015                                   goto is_not_a_corner;
3016                             else
3017                               goto is_not_a_corner;
3018                           else
3019                             goto is_not_a_corner;
3020                       else
3021                         if(ptr[offset11] < c_b)
3022                           if(ptr[offset3] < c_b)
3023                             if(ptr[offset4] < c_b)
3024                               goto is_a_corner;
3025                             else
3026                               if(ptr[offset10] < c_b)
3027                                 goto is_a_corner;
3028                               else
3029                                 goto is_not_a_corner;
3030                           else
3031                             if(ptr[offset8] < c_b)
3032                               if(ptr[offset10] < c_b)
3033                                 goto is_a_corner;
3034                               else
3035                                 goto is_not_a_corner;
3036                             else
3037                               goto is_not_a_corner;
3038                         else
3039                           goto is_not_a_corner;
3040                     else
3041                       if(ptr[offset6] < c_b)
3042                         if(ptr[offset7] < c_b)
3043                           if(ptr[offset8] < c_b)
3044                             if(ptr[offset4] < c_b)
3045                               if(ptr[offset3] < c_b)
3046                                 goto is_a_corner;
3047                               else
3048                                 if(ptr[offset10] < c_b)
3049                                   goto is_a_corner;
3050                                 else
3051                                   goto is_not_a_corner;
3052                             else
3053                               if(ptr[offset10] < c_b)
3054                                 if(ptr[offset11] < c_b)
3055                                   goto is_a_corner;
3056                                 else
3057                                   goto is_not_a_corner;
3058                               else
3059                                 goto is_not_a_corner;
3060                           else
3061                             goto is_not_a_corner;
3062                         else
3063                           goto is_not_a_corner;
3064                       else
3065                         goto is_not_a_corner;
3066                   else
3067                     if(ptr[offset10] < c_b)
3068                       if(ptr[offset11] < c_b)
3069                         if(ptr[offset1] < c_b)
3070                           if(ptr[offset3] < c_b)
3071                             goto is_a_corner;
3072                           else
3073                             if(ptr[offset8] < c_b)
3074                               goto is_a_corner;
3075                             else
3076                               goto is_not_a_corner;
3077                         else
3078                           if(ptr[offset6] < c_b)
3079                             if(ptr[offset7] < c_b)
3080                               if(ptr[offset8] < c_b)
3081                                 goto is_a_corner;
3082                               else
3083                                 goto is_not_a_corner;
3084                             else
3085                               goto is_not_a_corner;
3086                           else
3087                             goto is_not_a_corner;
3088                       else
3089                         goto is_not_a_corner;
3090                     else
3091                       goto is_not_a_corner;
3092                 else
3093                   if(ptr[offset3] < c_b)
3094                     if(ptr[offset4] < c_b)
3095                       if(ptr[offset5] < c_b)
3096                         if(ptr[offset1] < c_b)
3097                           if(ptr[offset6] < c_b)
3098                             goto is_a_corner;
3099                           else
3100                             if(ptr[offset11] < c_b)
3101                               goto is_a_corner;
3102                             else
3103                               goto is_not_a_corner;
3104                         else
3105                           if(ptr[offset6] < c_b)
3106                             if(ptr[offset7] < c_b)
3107                               if(ptr[offset8] < c_b)
3108                                 goto is_a_corner;
3109                               else
3110                                 goto is_not_a_corner;
3111                             else
3112                               goto is_not_a_corner;
3113                           else
3114                             goto is_not_a_corner;
3115                       else
3116                         if(ptr[offset1] < c_b)
3117                           if(ptr[offset10] < c_b)
3118                             if(ptr[offset11] < c_b)
3119                               goto is_a_corner;
3120                             else
3121                               goto is_not_a_corner;
3122                           else
3123                             goto is_not_a_corner;
3124                         else
3125                           goto is_not_a_corner;
3126                     else
3127                       goto is_not_a_corner;
3128                   else
3129                     goto is_not_a_corner;
3130             else
3131               if(ptr[offset9] < c_b)
3132                 if(ptr[offset7] < c_b)
3133                   if(ptr[offset8] < c_b)
3134                     if(ptr[offset5] < c_b)
3135                       if(ptr[offset1] < c_b)
3136                         if(ptr[offset10] < c_b)
3137                           if(ptr[offset11] < c_b)
3138                             goto is_a_corner;
3139                           else
3140                             if(ptr[offset6] < c_b)
3141                               if(ptr[offset4] < c_b)
3142                                 goto is_a_corner;
3143                               else
3144                                 goto is_not_a_corner;
3145                             else
3146                               goto is_not_a_corner;
3147                         else
3148                           if(ptr[offset6] < c_b)
3149                             if(ptr[offset3] < c_b)
3150                               if(ptr[offset4] < c_b)
3151                                 goto is_a_corner;
3152                               else
3153                                 goto is_not_a_corner;
3154                             else
3155                               goto is_not_a_corner;
3156                           else
3157                             goto is_not_a_corner;
3158                       else
3159                         if(ptr[offset6] < c_b)
3160                           if(ptr[offset4] < c_b)
3161                             if(ptr[offset3] < c_b)
3162                               goto is_a_corner;
3163                             else
3164                               if(ptr[offset10] < c_b)
3165                                 goto is_a_corner;
3166                               else
3167                                 goto is_not_a_corner;
3168                           else
3169                             if(ptr[offset10] < c_b)
3170                               if(ptr[offset11] < c_b)
3171                                 goto is_a_corner;
3172                               else
3173                                 goto is_not_a_corner;
3174                             else
3175                               goto is_not_a_corner;
3176                         else
3177                           goto is_not_a_corner;
3178                     else
3179                       if(ptr[offset10] < c_b)
3180                         if(ptr[offset11] < c_b)
3181                           if(ptr[offset1] < c_b)
3182                             goto is_a_corner;
3183                           else
3184                             if(ptr[offset6] < c_b)
3185                               goto is_a_corner;
3186                             else
3187                               goto is_not_a_corner;
3188                         else
3189                           goto is_not_a_corner;
3190                       else
3191                         goto is_not_a_corner;
3192                   else
3193                     goto is_not_a_corner;
3194                 else
3195                   goto is_not_a_corner;
3196               else
3197                 if(ptr[offset5] > cb)
3198                   if(ptr[offset9] > cb)
3199                     if(ptr[offset6] > cb)
3200                       if(ptr[offset7] > cb)
3201                         if(ptr[offset8] > cb)
3202                           if(ptr[offset4] > cb)
3203                             if(ptr[offset3] > cb)
3204                               goto is_a_corner;
3205                             else
3206                               if(ptr[offset10] > cb)
3207                                 goto is_a_corner;
3208                               else
3209                                 goto is_not_a_corner;
3210                           else
3211                             if(ptr[offset10] > cb)
3212                               if(ptr[offset11] > cb)
3213                                 goto is_a_corner;
3214                               else
3215                                 goto is_not_a_corner;
3216                             else
3217                               goto is_not_a_corner;
3218                         else
3219                           goto is_not_a_corner;
3220                       else
3221                         goto is_not_a_corner;
3222                     else
3223                       goto is_not_a_corner;
3224                   else
3225                     goto is_not_a_corner;
3226                 else
3227                   goto is_not_a_corner;
3228         else
3229           if(ptr[offset5] > cb)
3230             if(ptr[offset9] > cb)
3231               if(ptr[offset6] > cb)
3232                 if(ptr[offset7] > cb)
3233                   if(ptr[offset4] > cb)
3234                     if(ptr[offset3] > cb)
3235                       if(ptr[offset8] > cb)
3236                         goto is_a_corner;
3237                       else
3238                         if(ptr[offset1] > cb)
3239                           if(ptr[offset2] > cb)
3240                             goto is_a_corner;
3241                           else
3242                             goto is_not_a_corner;
3243                         else
3244                           goto is_not_a_corner;
3245                     else
3246                       if(ptr[offset8] > cb)
3247                         if(ptr[offset10] > cb)
3248                           goto is_a_corner;
3249                         else
3250                           goto is_not_a_corner;
3251                       else
3252                         goto is_not_a_corner;
3253                   else
3254                     if(ptr[offset11] > cb)
3255                       if(ptr[offset8] > cb)
3256                         if(ptr[offset10] > cb)
3257                           goto is_a_corner;
3258                         else
3259                           goto is_not_a_corner;
3260                       else
3261                         goto is_not_a_corner;
3262                     else
3263                       goto is_not_a_corner;
3264                 else
3265                   goto is_not_a_corner;
3266               else
3267                 goto is_not_a_corner;
3268             else
3269               if(ptr[offset2] > cb)
3270                 if(ptr[offset3] > cb)
3271                   if(ptr[offset4] > cb)
3272                     if(ptr[offset7] > cb)
3273                       if(ptr[offset1] > cb)
3274                         if(ptr[offset6] > cb)
3275                           goto is_a_corner;
3276                         else
3277                           goto is_not_a_corner;
3278                       else
3279                         if(ptr[offset6] > cb)
3280                           if(ptr[offset8] > cb)
3281                             goto is_a_corner;
3282                           else
3283                             goto is_not_a_corner;
3284                         else
3285                           goto is_not_a_corner;
3286                     else
3287                       goto is_not_a_corner;
3288                   else
3289                     goto is_not_a_corner;
3290                 else
3291                   goto is_not_a_corner;
3292               else
3293                 goto is_not_a_corner;
3294           else
3295             if(ptr[offset5] < c_b)
3296               if(ptr[offset9] < c_b)
3297                 if(ptr[offset6] < c_b)
3298                   if(ptr[offset7] < c_b)
3299                     if(ptr[offset4] < c_b)
3300                       if(ptr[offset3] < c_b)
3301                         if(ptr[offset8] < c_b)
3302                           goto is_a_corner;
3303                         else
3304                           if(ptr[offset1] < c_b)
3305                             if(ptr[offset2] < c_b)
3306                               goto is_a_corner;
3307                             else
3308                               goto is_not_a_corner;
3309                           else
3310                             goto is_not_a_corner;
3311                       else
3312                         if(ptr[offset8] < c_b)
3313                           if(ptr[offset10] < c_b)
3314                             goto is_a_corner;
3315                           else
3316                             goto is_not_a_corner;
3317                         else
3318                           goto is_not_a_corner;
3319                     else
3320                       if(ptr[offset11] < c_b)
3321                         if(ptr[offset8] < c_b)
3322                           if(ptr[offset10] < c_b)
3323                             goto is_a_corner;
3324                           else
3325                             goto is_not_a_corner;
3326                         else
3327                           goto is_not_a_corner;
3328                       else
3329                         goto is_not_a_corner;
3330                   else
3331                     goto is_not_a_corner;
3332                 else
3333                   goto is_not_a_corner;
3334               else
3335                 if(ptr[offset2] < c_b)
3336                   if(ptr[offset3] < c_b)
3337                     if(ptr[offset4] < c_b)
3338                       if(ptr[offset7] < c_b)
3339                         if(ptr[offset1] < c_b)
3340                           if(ptr[offset6] < c_b)
3341                             goto is_a_corner;
3342                           else
3343                             goto is_not_a_corner;
3344                         else
3345                           if(ptr[offset6] < c_b)
3346                             if(ptr[offset8] < c_b)
3347                               goto is_a_corner;
3348                             else
3349                               goto is_not_a_corner;
3350                           else
3351                             goto is_not_a_corner;
3352                       else
3353                         goto is_not_a_corner;
3354                     else
3355                       goto is_not_a_corner;
3356                   else
3357                     goto is_not_a_corner;
3358                 else
3359                   goto is_not_a_corner;
3360             else
3361               goto is_not_a_corner;
3362 
3363         is_a_corner:
3364             bmin = b_test;
3365             goto end;
3366 
3367         is_not_a_corner:
3368             bmax = b_test;
3369             goto end;
3370 
3371         end:
3372 
3373         if(bmin == bmax - 1 || bmin == bmax)
3374             return bmin;
3375         b_test = (bmin + bmax) / 2;
3376     }
3377 }
3378 
3379 //12 pixel mask in square format
3380 template<>
agast_cornerScore(const uchar * ptr,const int pixel[],int threshold)3381 int agast_cornerScore<AgastFeatureDetector::AGAST_7_12s>(const uchar* ptr, const int pixel[], int threshold)
3382 {
3383     int bmin = threshold;
3384     int bmax = 255;
3385     int b_test = (bmax + bmin)/2;
3386 
3387     register short offset0 = (short) pixel[0];
3388     register short offset1 = (short) pixel[1];
3389     register short offset2 = (short) pixel[2];
3390     register short offset3 = (short) pixel[3];
3391     register short offset4 = (short) pixel[4];
3392     register short offset5 = (short) pixel[5];
3393     register short offset6 = (short) pixel[6];
3394     register short offset7 = (short) pixel[7];
3395     register short offset8 = (short) pixel[8];
3396     register short offset9 = (short) pixel[9];
3397     register short offset10 = (short) pixel[10];
3398     register short offset11 = (short) pixel[11];
3399 
3400     while(true)
3401     {
3402         register const int cb = *ptr + b_test;
3403         register const int c_b = *ptr - b_test;
3404         if(ptr[offset0] > cb)
3405           if(ptr[offset5] > cb)
3406             if(ptr[offset2] < c_b)
3407               if(ptr[offset7] > cb)
3408                 if(ptr[offset9] < c_b)
3409                   goto is_not_a_corner;
3410                 else
3411                   if(ptr[offset9] > cb)
3412                     if(ptr[offset1] < c_b)
3413                       if(ptr[offset6] < c_b)
3414                         goto is_not_a_corner;
3415                       else
3416                         if(ptr[offset6] > cb)
3417                           if(ptr[offset8] > cb)
3418                             if(ptr[offset4] > cb)
3419                               if(ptr[offset3] > cb)
3420                                 goto is_a_corner;
3421                               else
3422                                 if(ptr[offset10] > cb)
3423                                   goto is_a_corner;
3424                                 else
3425                                   goto is_not_a_corner;
3426                             else
3427                               if(ptr[offset10] > cb)
3428                                 if(ptr[offset11] > cb)
3429                                   goto is_a_corner;
3430                                 else
3431                                   goto is_not_a_corner;
3432                               else
3433                                 goto is_not_a_corner;
3434                           else
3435                             goto is_not_a_corner;
3436                         else
3437                           goto is_not_a_corner;
3438                     else
3439                       if(ptr[offset1] > cb)
3440                         if(ptr[offset6] < c_b)
3441                           if(ptr[offset8] > cb)
3442                             if(ptr[offset10] > cb)
3443                               if(ptr[offset11] > cb)
3444                                 goto is_a_corner;
3445                               else
3446                                 goto is_not_a_corner;
3447                             else
3448                               goto is_not_a_corner;
3449                           else
3450                             goto is_not_a_corner;
3451                         else
3452                           if(ptr[offset6] > cb)
3453                             if(ptr[offset8] > cb)
3454                               if(ptr[offset4] > cb)
3455                                 if(ptr[offset3] > cb)
3456                                   goto is_a_corner;
3457                                 else
3458                                   if(ptr[offset10] > cb)
3459                                     goto is_a_corner;
3460                                   else
3461                                     goto is_not_a_corner;
3462                               else
3463                                 if(ptr[offset10] > cb)
3464                                   if(ptr[offset11] > cb)
3465                                     goto is_a_corner;
3466                                   else
3467                                     goto is_not_a_corner;
3468                                 else
3469                                   goto is_not_a_corner;
3470                             else
3471                               goto is_not_a_corner;
3472                           else
3473                             if(ptr[offset8] > cb)
3474                               if(ptr[offset10] > cb)
3475                                 if(ptr[offset11] > cb)
3476                                   goto is_a_corner;
3477                                 else
3478                                   goto is_not_a_corner;
3479                               else
3480                                 goto is_not_a_corner;
3481                             else
3482                               goto is_not_a_corner;
3483                       else
3484                         if(ptr[offset6] < c_b)
3485                           goto is_not_a_corner;
3486                         else
3487                           if(ptr[offset6] > cb)
3488                             if(ptr[offset8] > cb)
3489                               if(ptr[offset4] > cb)
3490                                 if(ptr[offset3] > cb)
3491                                   goto is_a_corner;
3492                                 else
3493                                   if(ptr[offset10] > cb)
3494                                     goto is_a_corner;
3495                                   else
3496                                     goto is_not_a_corner;
3497                               else
3498                                 if(ptr[offset10] > cb)
3499                                   if(ptr[offset11] > cb)
3500                                     goto is_a_corner;
3501                                   else
3502                                     goto is_not_a_corner;
3503                                 else
3504                                   goto is_not_a_corner;
3505                             else
3506                               goto is_not_a_corner;
3507                           else
3508                             goto is_not_a_corner;
3509                   else
3510                     goto is_not_a_corner;
3511               else
3512                 goto is_not_a_corner;
3513             else
3514               if(ptr[offset2] > cb)
3515                 if(ptr[offset7] < c_b)
3516                   if(ptr[offset9] < c_b)
3517                     if(ptr[offset1] < c_b)
3518                       goto is_not_a_corner;
3519                     else
3520                       if(ptr[offset1] > cb)
3521                         if(ptr[offset6] > cb)
3522                           if(ptr[offset3] > cb)
3523                             if(ptr[offset4] > cb)
3524                               goto is_a_corner;
3525                             else
3526                               goto is_not_a_corner;
3527                           else
3528                             goto is_not_a_corner;
3529                         else
3530                           if(ptr[offset6] < c_b)
3531                             if(ptr[offset3] > cb)
3532                               if(ptr[offset4] > cb)
3533                                 if(ptr[offset11] > cb)
3534                                   goto is_a_corner;
3535                                 else
3536                                   goto is_not_a_corner;
3537                               else
3538                                 goto is_not_a_corner;
3539                             else
3540                               goto is_not_a_corner;
3541                           else
3542                             if(ptr[offset3] > cb)
3543                               if(ptr[offset4] > cb)
3544                                 if(ptr[offset11] > cb)
3545                                   goto is_a_corner;
3546                                 else
3547                                   goto is_not_a_corner;
3548                               else
3549                                 goto is_not_a_corner;
3550                             else
3551                               goto is_not_a_corner;
3552                       else
3553                         goto is_not_a_corner;
3554                   else
3555                     if(ptr[offset9] > cb)
3556                       if(ptr[offset1] < c_b)
3557                         goto is_not_a_corner;
3558                       else
3559                         if(ptr[offset1] > cb)
3560                           if(ptr[offset6] < c_b)
3561                             if(ptr[offset11] > cb)
3562                               if(ptr[offset3] > cb)
3563                                 if(ptr[offset4] > cb)
3564                                   goto is_a_corner;
3565                                 else
3566                                   if(ptr[offset10] > cb)
3567                                     goto is_a_corner;
3568                                   else
3569                                     goto is_not_a_corner;
3570                               else
3571                                 if(ptr[offset8] > cb)
3572                                   if(ptr[offset10] > cb)
3573                                     goto is_a_corner;
3574                                   else
3575                                     goto is_not_a_corner;
3576                                 else
3577                                   goto is_not_a_corner;
3578                             else
3579                               goto is_not_a_corner;
3580                           else
3581                             if(ptr[offset6] > cb)
3582                               if(ptr[offset3] > cb)
3583                                 if(ptr[offset4] > cb)
3584                                   goto is_a_corner;
3585                                 else
3586                                   if(ptr[offset10] > cb)
3587                                     if(ptr[offset11] > cb)
3588                                       goto is_a_corner;
3589                                     else
3590                                       goto is_not_a_corner;
3591                                   else
3592                                     goto is_not_a_corner;
3593                               else
3594                                 if(ptr[offset8] > cb)
3595                                   if(ptr[offset10] > cb)
3596                                     if(ptr[offset11] > cb)
3597                                       goto is_a_corner;
3598                                     else
3599                                       goto is_not_a_corner;
3600                                   else
3601                                     goto is_not_a_corner;
3602                                 else
3603                                   goto is_not_a_corner;
3604                             else
3605                               if(ptr[offset11] > cb)
3606                                 if(ptr[offset3] > cb)
3607                                   if(ptr[offset4] > cb)
3608                                     goto is_a_corner;
3609                                   else
3610                                     if(ptr[offset10] > cb)
3611                                       goto is_a_corner;
3612                                     else
3613                                       goto is_not_a_corner;
3614                                 else
3615                                   if(ptr[offset8] > cb)
3616                                     if(ptr[offset10] > cb)
3617                                       goto is_a_corner;
3618                                     else
3619                                       goto is_not_a_corner;
3620                                   else
3621                                     goto is_not_a_corner;
3622                               else
3623                                 goto is_not_a_corner;
3624                         else
3625                           goto is_not_a_corner;
3626                     else
3627                       if(ptr[offset1] < c_b)
3628                         goto is_not_a_corner;
3629                       else
3630                         if(ptr[offset1] > cb)
3631                           if(ptr[offset6] > cb)
3632                             if(ptr[offset3] > cb)
3633                               if(ptr[offset4] > cb)
3634                                 goto is_a_corner;
3635                               else
3636                                 goto is_not_a_corner;
3637                             else
3638                               goto is_not_a_corner;
3639                           else
3640                             if(ptr[offset6] < c_b)
3641                               if(ptr[offset3] > cb)
3642                                 if(ptr[offset4] > cb)
3643                                   if(ptr[offset11] > cb)
3644                                     goto is_a_corner;
3645                                   else
3646                                     goto is_not_a_corner;
3647                                 else
3648                                   goto is_not_a_corner;
3649                               else
3650                                 goto is_not_a_corner;
3651                             else
3652                               if(ptr[offset3] > cb)
3653                                 if(ptr[offset4] > cb)
3654                                   if(ptr[offset11] > cb)
3655                                     goto is_a_corner;
3656                                   else
3657                                     goto is_not_a_corner;
3658                                 else
3659                                   goto is_not_a_corner;
3660                               else
3661                                 goto is_not_a_corner;
3662                         else
3663                           goto is_not_a_corner;
3664                 else
3665                   if(ptr[offset9] < c_b)
3666                     if(ptr[offset7] > cb)
3667                       if(ptr[offset1] < c_b)
3668                         if(ptr[offset6] < c_b)
3669                           goto is_not_a_corner;
3670                         else
3671                           if(ptr[offset6] > cb)
3672                             if(ptr[offset3] > cb)
3673                               if(ptr[offset4] > cb)
3674                                 if(ptr[offset8] > cb)
3675                                   goto is_a_corner;
3676                                 else
3677                                   goto is_not_a_corner;
3678                               else
3679                                 goto is_not_a_corner;
3680                             else
3681                               goto is_not_a_corner;
3682                           else
3683                             goto is_not_a_corner;
3684                       else
3685                         if(ptr[offset1] > cb)
3686                           if(ptr[offset6] > cb)
3687                             if(ptr[offset3] > cb)
3688                               if(ptr[offset4] > cb)
3689                                 goto is_a_corner;
3690                               else
3691                                 goto is_not_a_corner;
3692                             else
3693                               goto is_not_a_corner;
3694                           else
3695                             if(ptr[offset6] < c_b)
3696                               if(ptr[offset3] > cb)
3697                                 if(ptr[offset4] > cb)
3698                                   if(ptr[offset11] > cb)
3699                                     goto is_a_corner;
3700                                   else
3701                                     goto is_not_a_corner;
3702                                 else
3703                                   goto is_not_a_corner;
3704                               else
3705                                 goto is_not_a_corner;
3706                             else
3707                               if(ptr[offset3] > cb)
3708                                 if(ptr[offset4] > cb)
3709                                   if(ptr[offset11] > cb)
3710                                     goto is_a_corner;
3711                                   else
3712                                     goto is_not_a_corner;
3713                                 else
3714                                   goto is_not_a_corner;
3715                               else
3716                                 goto is_not_a_corner;
3717                         else
3718                           if(ptr[offset6] < c_b)
3719                             goto is_not_a_corner;
3720                           else
3721                             if(ptr[offset6] > cb)
3722                               if(ptr[offset3] > cb)
3723                                 if(ptr[offset4] > cb)
3724                                   if(ptr[offset8] > cb)
3725                                     goto is_a_corner;
3726                                   else
3727                                     goto is_not_a_corner;
3728                                 else
3729                                   goto is_not_a_corner;
3730                               else
3731                                 goto is_not_a_corner;
3732                             else
3733                               goto is_not_a_corner;
3734                     else
3735                       if(ptr[offset1] < c_b)
3736                         goto is_not_a_corner;
3737                       else
3738                         if(ptr[offset1] > cb)
3739                           if(ptr[offset6] > cb)
3740                             if(ptr[offset3] > cb)
3741                               if(ptr[offset4] > cb)
3742                                 goto is_a_corner;
3743                               else
3744                                 goto is_not_a_corner;
3745                             else
3746                               goto is_not_a_corner;
3747                           else
3748                             if(ptr[offset6] < c_b)
3749                               if(ptr[offset3] > cb)
3750                                 if(ptr[offset4] > cb)
3751                                   if(ptr[offset11] > cb)
3752                                     goto is_a_corner;
3753                                   else
3754                                     goto is_not_a_corner;
3755                                 else
3756                                   goto is_not_a_corner;
3757                               else
3758                                 goto is_not_a_corner;
3759                             else
3760                               if(ptr[offset3] > cb)
3761                                 if(ptr[offset4] > cb)
3762                                   if(ptr[offset11] > cb)
3763                                     goto is_a_corner;
3764                                   else
3765                                     goto is_not_a_corner;
3766                                 else
3767                                   goto is_not_a_corner;
3768                               else
3769                                 goto is_not_a_corner;
3770                         else
3771                           goto is_not_a_corner;
3772                   else
3773                     if(ptr[offset7] > cb)
3774                       if(ptr[offset9] > cb)
3775                         if(ptr[offset1] < c_b)
3776                           if(ptr[offset6] < c_b)
3777                             goto is_not_a_corner;
3778                           else
3779                             if(ptr[offset6] > cb)
3780                               if(ptr[offset8] > cb)
3781                                 if(ptr[offset4] > cb)
3782                                   if(ptr[offset3] > cb)
3783                                     goto is_a_corner;
3784                                   else
3785                                     if(ptr[offset10] > cb)
3786                                       goto is_a_corner;
3787                                     else
3788                                       goto is_not_a_corner;
3789                                 else
3790                                   if(ptr[offset10] > cb)
3791                                     if(ptr[offset11] > cb)
3792                                       goto is_a_corner;
3793                                     else
3794                                       goto is_not_a_corner;
3795                                   else
3796                                     goto is_not_a_corner;
3797                               else
3798                                 goto is_not_a_corner;
3799                             else
3800                               goto is_not_a_corner;
3801                         else
3802                           if(ptr[offset1] > cb)
3803                             if(ptr[offset6] < c_b)
3804                               if(ptr[offset11] > cb)
3805                                 if(ptr[offset3] > cb)
3806                                   if(ptr[offset4] > cb)
3807                                     goto is_a_corner;
3808                                   else
3809                                     if(ptr[offset10] > cb)
3810                                       goto is_a_corner;
3811                                     else
3812                                       goto is_not_a_corner;
3813                                 else
3814                                   if(ptr[offset8] > cb)
3815                                     if(ptr[offset10] > cb)
3816                                       goto is_a_corner;
3817                                     else
3818                                       goto is_not_a_corner;
3819                                   else
3820                                     goto is_not_a_corner;
3821                               else
3822                                 goto is_not_a_corner;
3823                             else
3824                               if(ptr[offset6] > cb)
3825                                 if(ptr[offset3] > cb)
3826                                   if(ptr[offset4] > cb)
3827                                     goto is_a_corner;
3828                                   else
3829                                     if(ptr[offset10] > cb)
3830                                       if(ptr[offset11] > cb)
3831                                         goto is_a_corner;
3832                                       else
3833                                         goto is_not_a_corner;
3834                                     else
3835                                       goto is_not_a_corner;
3836                                 else
3837                                   if(ptr[offset8] > cb)
3838                                     if(ptr[offset10] > cb)
3839                                       if(ptr[offset4] > cb)
3840                                         goto is_a_corner;
3841                                       else
3842                                         if(ptr[offset11] > cb)
3843                                           goto is_a_corner;
3844                                         else
3845                                           goto is_not_a_corner;
3846                                     else
3847                                       goto is_not_a_corner;
3848                                   else
3849                                     goto is_not_a_corner;
3850                               else
3851                                 if(ptr[offset11] > cb)
3852                                   if(ptr[offset3] > cb)
3853                                     if(ptr[offset4] > cb)
3854                                       goto is_a_corner;
3855                                     else
3856                                       if(ptr[offset10] > cb)
3857                                         goto is_a_corner;
3858                                       else
3859                                         goto is_not_a_corner;
3860                                   else
3861                                     if(ptr[offset8] > cb)
3862                                       if(ptr[offset10] > cb)
3863                                         goto is_a_corner;
3864                                       else
3865                                         goto is_not_a_corner;
3866                                     else
3867                                       goto is_not_a_corner;
3868                                 else
3869                                   goto is_not_a_corner;
3870                           else
3871                             if(ptr[offset6] < c_b)
3872                               goto is_not_a_corner;
3873                             else
3874                               if(ptr[offset6] > cb)
3875                                 if(ptr[offset8] > cb)
3876                                   if(ptr[offset4] > cb)
3877                                     if(ptr[offset3] > cb)
3878                                       goto is_a_corner;
3879                                     else
3880                                       if(ptr[offset10] > cb)
3881                                         goto is_a_corner;
3882                                       else
3883                                         goto is_not_a_corner;
3884                                   else
3885                                     if(ptr[offset10] > cb)
3886                                       if(ptr[offset11] > cb)
3887                                         goto is_a_corner;
3888                                       else
3889                                         goto is_not_a_corner;
3890                                     else
3891                                       goto is_not_a_corner;
3892                                 else
3893                                   goto is_not_a_corner;
3894                               else
3895                                 goto is_not_a_corner;
3896                       else
3897                         if(ptr[offset1] < c_b)
3898                           if(ptr[offset6] < c_b)
3899                             goto is_not_a_corner;
3900                           else
3901                             if(ptr[offset6] > cb)
3902                               if(ptr[offset3] > cb)
3903                                 if(ptr[offset4] > cb)
3904                                   if(ptr[offset8] > cb)
3905                                     goto is_a_corner;
3906                                   else
3907                                     goto is_not_a_corner;
3908                                 else
3909                                   goto is_not_a_corner;
3910                               else
3911                                 goto is_not_a_corner;
3912                             else
3913                               goto is_not_a_corner;
3914                         else
3915                           if(ptr[offset1] > cb)
3916                             if(ptr[offset6] > cb)
3917                               if(ptr[offset3] > cb)
3918                                 if(ptr[offset4] > cb)
3919                                   goto is_a_corner;
3920                                 else
3921                                   goto is_not_a_corner;
3922                               else
3923                                 goto is_not_a_corner;
3924                             else
3925                               if(ptr[offset6] < c_b)
3926                                 if(ptr[offset3] > cb)
3927                                   if(ptr[offset4] > cb)
3928                                     if(ptr[offset11] > cb)
3929                                       goto is_a_corner;
3930                                     else
3931                                       goto is_not_a_corner;
3932                                   else
3933                                     goto is_not_a_corner;
3934                                 else
3935                                   goto is_not_a_corner;
3936                               else
3937                                 if(ptr[offset3] > cb)
3938                                   if(ptr[offset4] > cb)
3939                                     if(ptr[offset11] > cb)
3940                                       goto is_a_corner;
3941                                     else
3942                                       goto is_not_a_corner;
3943                                   else
3944                                     goto is_not_a_corner;
3945                                 else
3946                                   goto is_not_a_corner;
3947                           else
3948                             if(ptr[offset6] < c_b)
3949                               goto is_not_a_corner;
3950                             else
3951                               if(ptr[offset6] > cb)
3952                                 if(ptr[offset3] > cb)
3953                                   if(ptr[offset4] > cb)
3954                                     if(ptr[offset8] > cb)
3955                                       goto is_a_corner;
3956                                     else
3957                                       goto is_not_a_corner;
3958                                   else
3959                                     goto is_not_a_corner;
3960                                 else
3961                                   goto is_not_a_corner;
3962                               else
3963                                 goto is_not_a_corner;
3964                     else
3965                       if(ptr[offset9] > cb)
3966                         if(ptr[offset1] < c_b)
3967                           goto is_not_a_corner;
3968                         else
3969                           if(ptr[offset1] > cb)
3970                             if(ptr[offset6] < c_b)
3971                               if(ptr[offset11] > cb)
3972                                 if(ptr[offset3] > cb)
3973                                   if(ptr[offset4] > cb)
3974                                     goto is_a_corner;
3975                                   else
3976                                     if(ptr[offset10] > cb)
3977                                       goto is_a_corner;
3978                                     else
3979                                       goto is_not_a_corner;
3980                                 else
3981                                   if(ptr[offset8] > cb)
3982                                     if(ptr[offset10] > cb)
3983                                       goto is_a_corner;
3984                                     else
3985                                       goto is_not_a_corner;
3986                                   else
3987                                     goto is_not_a_corner;
3988                               else
3989                                 goto is_not_a_corner;
3990                             else
3991                               if(ptr[offset6] > cb)
3992                                 if(ptr[offset3] > cb)
3993                                   if(ptr[offset4] > cb)
3994                                     goto is_a_corner;
3995                                   else
3996                                     if(ptr[offset10] > cb)
3997                                       if(ptr[offset11] > cb)
3998                                         goto is_a_corner;
3999                                       else
4000                                         goto is_not_a_corner;
4001                                     else
4002                                       goto is_not_a_corner;
4003                                 else
4004                                   if(ptr[offset8] > cb)
4005                                     if(ptr[offset10] > cb)
4006                                       if(ptr[offset11] > cb)
4007                                         goto is_a_corner;
4008                                       else
4009                                         goto is_not_a_corner;
4010                                     else
4011                                       goto is_not_a_corner;
4012                                   else
4013                                     goto is_not_a_corner;
4014                               else
4015                                 if(ptr[offset11] > cb)
4016                                   if(ptr[offset3] > cb)
4017                                     if(ptr[offset4] > cb)
4018                                       goto is_a_corner;
4019                                     else
4020                                       if(ptr[offset10] > cb)
4021                                         goto is_a_corner;
4022                                       else
4023                                         goto is_not_a_corner;
4024                                   else
4025                                     if(ptr[offset8] > cb)
4026                                       if(ptr[offset10] > cb)
4027                                         goto is_a_corner;
4028                                       else
4029                                         goto is_not_a_corner;
4030                                     else
4031                                       goto is_not_a_corner;
4032                                 else
4033                                   goto is_not_a_corner;
4034                           else
4035                             goto is_not_a_corner;
4036                       else
4037                         if(ptr[offset1] < c_b)
4038                           goto is_not_a_corner;
4039                         else
4040                           if(ptr[offset1] > cb)
4041                             if(ptr[offset6] > cb)
4042                               if(ptr[offset3] > cb)
4043                                 if(ptr[offset4] > cb)
4044                                   goto is_a_corner;
4045                                 else
4046                                   goto is_not_a_corner;
4047                               else
4048                                 goto is_not_a_corner;
4049                             else
4050                               if(ptr[offset6] < c_b)
4051                                 if(ptr[offset3] > cb)
4052                                   if(ptr[offset4] > cb)
4053                                     if(ptr[offset11] > cb)
4054                                       goto is_a_corner;
4055                                     else
4056                                       goto is_not_a_corner;
4057                                   else
4058                                     goto is_not_a_corner;
4059                                 else
4060                                   goto is_not_a_corner;
4061                               else
4062                                 if(ptr[offset3] > cb)
4063                                   if(ptr[offset4] > cb)
4064                                     if(ptr[offset11] > cb)
4065                                       goto is_a_corner;
4066                                     else
4067                                       goto is_not_a_corner;
4068                                   else
4069                                     goto is_not_a_corner;
4070                                 else
4071                                   goto is_not_a_corner;
4072                           else
4073                             goto is_not_a_corner;
4074               else
4075                 if(ptr[offset7] > cb)
4076                   if(ptr[offset9] < c_b)
4077                     goto is_not_a_corner;
4078                   else
4079                     if(ptr[offset9] > cb)
4080                       if(ptr[offset1] < c_b)
4081                         if(ptr[offset6] < c_b)
4082                           goto is_not_a_corner;
4083                         else
4084                           if(ptr[offset6] > cb)
4085                             if(ptr[offset8] > cb)
4086                               if(ptr[offset4] > cb)
4087                                 if(ptr[offset3] > cb)
4088                                   goto is_a_corner;
4089                                 else
4090                                   if(ptr[offset10] > cb)
4091                                     goto is_a_corner;
4092                                   else
4093                                     goto is_not_a_corner;
4094                               else
4095                                 if(ptr[offset10] > cb)
4096                                   if(ptr[offset11] > cb)
4097                                     goto is_a_corner;
4098                                   else
4099                                     goto is_not_a_corner;
4100                                 else
4101                                   goto is_not_a_corner;
4102                             else
4103                               goto is_not_a_corner;
4104                           else
4105                             goto is_not_a_corner;
4106                       else
4107                         if(ptr[offset1] > cb)
4108                           if(ptr[offset6] < c_b)
4109                             if(ptr[offset8] > cb)
4110                               if(ptr[offset10] > cb)
4111                                 if(ptr[offset11] > cb)
4112                                   goto is_a_corner;
4113                                 else
4114                                   goto is_not_a_corner;
4115                               else
4116                                 goto is_not_a_corner;
4117                             else
4118                               goto is_not_a_corner;
4119                           else
4120                             if(ptr[offset6] > cb)
4121                               if(ptr[offset8] > cb)
4122                                 if(ptr[offset4] > cb)
4123                                   if(ptr[offset3] > cb)
4124                                     goto is_a_corner;
4125                                   else
4126                                     if(ptr[offset10] > cb)
4127                                       goto is_a_corner;
4128                                     else
4129                                       goto is_not_a_corner;
4130                                 else
4131                                   if(ptr[offset10] > cb)
4132                                     if(ptr[offset11] > cb)
4133                                       goto is_a_corner;
4134                                     else
4135                                       goto is_not_a_corner;
4136                                   else
4137                                     goto is_not_a_corner;
4138                               else
4139                                 goto is_not_a_corner;
4140                             else
4141                               if(ptr[offset8] > cb)
4142                                 if(ptr[offset10] > cb)
4143                                   if(ptr[offset11] > cb)
4144                                     goto is_a_corner;
4145                                   else
4146                                     goto is_not_a_corner;
4147                                 else
4148                                   goto is_not_a_corner;
4149                               else
4150                                 goto is_not_a_corner;
4151                         else
4152                           if(ptr[offset6] < c_b)
4153                             goto is_not_a_corner;
4154                           else
4155                             if(ptr[offset6] > cb)
4156                               if(ptr[offset8] > cb)
4157                                 if(ptr[offset4] > cb)
4158                                   if(ptr[offset3] > cb)
4159                                     goto is_a_corner;
4160                                   else
4161                                     if(ptr[offset10] > cb)
4162                                       goto is_a_corner;
4163                                     else
4164                                       goto is_not_a_corner;
4165                                 else
4166                                   if(ptr[offset10] > cb)
4167                                     if(ptr[offset11] > cb)
4168                                       goto is_a_corner;
4169                                     else
4170                                       goto is_not_a_corner;
4171                                   else
4172                                     goto is_not_a_corner;
4173                               else
4174                                 goto is_not_a_corner;
4175                             else
4176                               goto is_not_a_corner;
4177                     else
4178                       goto is_not_a_corner;
4179                 else
4180                   goto is_not_a_corner;
4181           else
4182             if(ptr[offset5] < c_b)
4183               if(ptr[offset9] < c_b)
4184                 if(ptr[offset7] > cb)
4185                   if(ptr[offset2] < c_b)
4186                     goto is_not_a_corner;
4187                   else
4188                     if(ptr[offset2] > cb)
4189                       if(ptr[offset1] < c_b)
4190                         goto is_not_a_corner;
4191                       else
4192                         if(ptr[offset1] > cb)
4193                           if(ptr[offset6] > cb)
4194                             if(ptr[offset3] > cb)
4195                               if(ptr[offset4] > cb)
4196                                 if(ptr[offset10] > cb)
4197                                   if(ptr[offset11] > cb)
4198                                     goto is_a_corner;
4199                                   else
4200                                     goto is_not_a_corner;
4201                                 else
4202                                   goto is_not_a_corner;
4203                               else
4204                                 goto is_not_a_corner;
4205                             else
4206                               goto is_not_a_corner;
4207                           else
4208                             if(ptr[offset6] < c_b)
4209                               if(ptr[offset3] > cb)
4210                                 if(ptr[offset4] > cb)
4211                                   if(ptr[offset10] > cb)
4212                                     if(ptr[offset11] > cb)
4213                                       goto is_a_corner;
4214                                     else
4215                                       goto is_not_a_corner;
4216                                   else
4217                                     goto is_not_a_corner;
4218                                 else
4219                                   goto is_not_a_corner;
4220                               else
4221                                 goto is_not_a_corner;
4222                             else
4223                               if(ptr[offset3] > cb)
4224                                 if(ptr[offset4] > cb)
4225                                   if(ptr[offset10] > cb)
4226                                     if(ptr[offset11] > cb)
4227                                       goto is_a_corner;
4228                                     else
4229                                       goto is_not_a_corner;
4230                                   else
4231                                     goto is_not_a_corner;
4232                                 else
4233                                   goto is_not_a_corner;
4234                               else
4235                                 goto is_not_a_corner;
4236                         else
4237                           goto is_not_a_corner;
4238                     else
4239                       goto is_not_a_corner;
4240                 else
4241                   if(ptr[offset7] < c_b)
4242                     if(ptr[offset2] < c_b)
4243                       if(ptr[offset1] > cb)
4244                         if(ptr[offset6] > cb)
4245                           goto is_not_a_corner;
4246                         else
4247                           if(ptr[offset6] < c_b)
4248                             if(ptr[offset8] < c_b)
4249                               if(ptr[offset4] < c_b)
4250                                 if(ptr[offset3] < c_b)
4251                                   goto is_a_corner;
4252                                 else
4253                                   if(ptr[offset10] < c_b)
4254                                     goto is_a_corner;
4255                                   else
4256                                     goto is_not_a_corner;
4257                               else
4258                                 if(ptr[offset10] < c_b)
4259                                   if(ptr[offset11] < c_b)
4260                                     goto is_a_corner;
4261                                   else
4262                                     goto is_not_a_corner;
4263                                 else
4264                                   goto is_not_a_corner;
4265                             else
4266                               goto is_not_a_corner;
4267                           else
4268                             goto is_not_a_corner;
4269                       else
4270                         if(ptr[offset1] < c_b)
4271                           if(ptr[offset6] > cb)
4272                             goto is_not_a_corner;
4273                           else
4274                             if(ptr[offset6] < c_b)
4275                               if(ptr[offset4] < c_b)
4276                                 if(ptr[offset3] < c_b)
4277                                   goto is_a_corner;
4278                                 else
4279                                   if(ptr[offset8] < c_b)
4280                                     if(ptr[offset10] < c_b)
4281                                       goto is_a_corner;
4282                                     else
4283                                       goto is_not_a_corner;
4284                                   else
4285                                     goto is_not_a_corner;
4286                               else
4287                                 if(ptr[offset8] < c_b)
4288                                   if(ptr[offset10] < c_b)
4289                                     if(ptr[offset11] < c_b)
4290                                       goto is_a_corner;
4291                                     else
4292                                       goto is_not_a_corner;
4293                                   else
4294                                     goto is_not_a_corner;
4295                                 else
4296                                   goto is_not_a_corner;
4297                             else
4298                               goto is_not_a_corner;
4299                         else
4300                           if(ptr[offset6] > cb)
4301                             goto is_not_a_corner;
4302                           else
4303                             if(ptr[offset6] < c_b)
4304                               if(ptr[offset8] < c_b)
4305                                 if(ptr[offset4] < c_b)
4306                                   if(ptr[offset3] < c_b)
4307                                     goto is_a_corner;
4308                                   else
4309                                     if(ptr[offset10] < c_b)
4310                                       goto is_a_corner;
4311                                     else
4312                                       goto is_not_a_corner;
4313                                 else
4314                                   if(ptr[offset10] < c_b)
4315                                     if(ptr[offset11] < c_b)
4316                                       goto is_a_corner;
4317                                     else
4318                                       goto is_not_a_corner;
4319                                   else
4320                                     goto is_not_a_corner;
4321                               else
4322                                 goto is_not_a_corner;
4323                             else
4324                               goto is_not_a_corner;
4325                     else
4326                       if(ptr[offset2] > cb)
4327                         if(ptr[offset1] < c_b)
4328                           if(ptr[offset6] > cb)
4329                             goto is_not_a_corner;
4330                           else
4331                             if(ptr[offset6] < c_b)
4332                               if(ptr[offset8] < c_b)
4333                                 if(ptr[offset4] < c_b)
4334                                   if(ptr[offset3] < c_b)
4335                                     goto is_a_corner;
4336                                   else
4337                                     if(ptr[offset10] < c_b)
4338                                       goto is_a_corner;
4339                                     else
4340                                       goto is_not_a_corner;
4341                                 else
4342                                   if(ptr[offset10] < c_b)
4343                                     if(ptr[offset11] < c_b)
4344                                       goto is_a_corner;
4345                                     else
4346                                       goto is_not_a_corner;
4347                                   else
4348                                     goto is_not_a_corner;
4349                               else
4350                                 goto is_not_a_corner;
4351                             else
4352                               goto is_not_a_corner;
4353                         else
4354                           if(ptr[offset1] > cb)
4355                             if(ptr[offset6] > cb)
4356                               if(ptr[offset3] > cb)
4357                                 if(ptr[offset4] > cb)
4358                                   if(ptr[offset10] > cb)
4359                                     if(ptr[offset11] > cb)
4360                                       goto is_a_corner;
4361                                     else
4362                                       goto is_not_a_corner;
4363                                   else
4364                                     goto is_not_a_corner;
4365                                 else
4366                                   goto is_not_a_corner;
4367                               else
4368                                 goto is_not_a_corner;
4369                             else
4370                               if(ptr[offset6] < c_b)
4371                                 if(ptr[offset4] > cb)
4372                                   if(ptr[offset10] > cb)
4373                                     if(ptr[offset3] > cb)
4374                                       if(ptr[offset11] > cb)
4375                                         goto is_a_corner;
4376                                       else
4377                                         goto is_not_a_corner;
4378                                     else
4379                                       goto is_not_a_corner;
4380                                   else
4381                                     if(ptr[offset8] < c_b)
4382                                       if(ptr[offset11] < c_b)
4383                                         if(ptr[offset10] < c_b)
4384                                           goto is_a_corner;
4385                                         else
4386                                           goto is_not_a_corner;
4387                                       else
4388                                         goto is_not_a_corner;
4389                                     else
4390                                       goto is_not_a_corner;
4391                                 else
4392                                   if(ptr[offset8] < c_b)
4393                                     if(ptr[offset10] < c_b)
4394                                       if(ptr[offset4] < c_b)
4395                                         goto is_a_corner;
4396                                       else
4397                                         if(ptr[offset11] < c_b)
4398                                           goto is_a_corner;
4399                                         else
4400                                           goto is_not_a_corner;
4401                                     else
4402                                       if(ptr[offset3] < c_b)
4403                                         if(ptr[offset4] < c_b)
4404                                           goto is_a_corner;
4405                                         else
4406                                           goto is_not_a_corner;
4407                                       else
4408                                         goto is_not_a_corner;
4409                                   else
4410                                     goto is_not_a_corner;
4411                               else
4412                                 if(ptr[offset3] > cb)
4413                                   if(ptr[offset4] > cb)
4414                                     if(ptr[offset10] > cb)
4415                                       if(ptr[offset11] > cb)
4416                                         goto is_a_corner;
4417                                       else
4418                                         goto is_not_a_corner;
4419                                     else
4420                                       goto is_not_a_corner;
4421                                   else
4422                                     goto is_not_a_corner;
4423                                 else
4424                                   goto is_not_a_corner;
4425                           else
4426                             if(ptr[offset6] > cb)
4427                               goto is_not_a_corner;
4428                             else
4429                               if(ptr[offset6] < c_b)
4430                                 if(ptr[offset8] < c_b)
4431                                   if(ptr[offset4] < c_b)
4432                                     if(ptr[offset3] < c_b)
4433                                       goto is_a_corner;
4434                                     else
4435                                       if(ptr[offset10] < c_b)
4436                                         goto is_a_corner;
4437                                       else
4438                                         goto is_not_a_corner;
4439                                   else
4440                                     if(ptr[offset10] < c_b)
4441                                       if(ptr[offset11] < c_b)
4442                                         goto is_a_corner;
4443                                       else
4444                                         goto is_not_a_corner;
4445                                     else
4446                                       goto is_not_a_corner;
4447                                 else
4448                                   goto is_not_a_corner;
4449                               else
4450                                 goto is_not_a_corner;
4451                       else
4452                         if(ptr[offset1] > cb)
4453                           if(ptr[offset6] > cb)
4454                             goto is_not_a_corner;
4455                           else
4456                             if(ptr[offset6] < c_b)
4457                               if(ptr[offset8] < c_b)
4458                                 if(ptr[offset4] < c_b)
4459                                   if(ptr[offset3] < c_b)
4460                                     goto is_a_corner;
4461                                   else
4462                                     if(ptr[offset10] < c_b)
4463                                       goto is_a_corner;
4464                                     else
4465                                       goto is_not_a_corner;
4466                                 else
4467                                   if(ptr[offset10] < c_b)
4468                                     if(ptr[offset11] < c_b)
4469                                       goto is_a_corner;
4470                                     else
4471                                       goto is_not_a_corner;
4472                                   else
4473                                     goto is_not_a_corner;
4474                               else
4475                                 goto is_not_a_corner;
4476                             else
4477                               goto is_not_a_corner;
4478                         else
4479                           if(ptr[offset1] < c_b)
4480                             if(ptr[offset6] > cb)
4481                               goto is_not_a_corner;
4482                             else
4483                               if(ptr[offset6] < c_b)
4484                                 if(ptr[offset8] < c_b)
4485                                   if(ptr[offset4] < c_b)
4486                                     if(ptr[offset3] < c_b)
4487                                       goto is_a_corner;
4488                                     else
4489                                       if(ptr[offset10] < c_b)
4490                                         goto is_a_corner;
4491                                       else
4492                                         goto is_not_a_corner;
4493                                   else
4494                                     if(ptr[offset10] < c_b)
4495                                       if(ptr[offset11] < c_b)
4496                                         goto is_a_corner;
4497                                       else
4498                                         goto is_not_a_corner;
4499                                     else
4500                                       goto is_not_a_corner;
4501                                 else
4502                                   goto is_not_a_corner;
4503                               else
4504                                 goto is_not_a_corner;
4505                           else
4506                             if(ptr[offset6] > cb)
4507                               goto is_not_a_corner;
4508                             else
4509                               if(ptr[offset6] < c_b)
4510                                 if(ptr[offset8] < c_b)
4511                                   if(ptr[offset4] < c_b)
4512                                     if(ptr[offset3] < c_b)
4513                                       goto is_a_corner;
4514                                     else
4515                                       if(ptr[offset10] < c_b)
4516                                         goto is_a_corner;
4517                                       else
4518                                         goto is_not_a_corner;
4519                                   else
4520                                     if(ptr[offset10] < c_b)
4521                                       if(ptr[offset11] < c_b)
4522                                         goto is_a_corner;
4523                                       else
4524                                         goto is_not_a_corner;
4525                                     else
4526                                       goto is_not_a_corner;
4527                                 else
4528                                   goto is_not_a_corner;
4529                               else
4530                                 goto is_not_a_corner;
4531                   else
4532                     if(ptr[offset2] < c_b)
4533                       goto is_not_a_corner;
4534                     else
4535                       if(ptr[offset2] > cb)
4536                         if(ptr[offset1] < c_b)
4537                           goto is_not_a_corner;
4538                         else
4539                           if(ptr[offset1] > cb)
4540                             if(ptr[offset6] > cb)
4541                               if(ptr[offset3] > cb)
4542                                 if(ptr[offset4] > cb)
4543                                   if(ptr[offset10] > cb)
4544                                     if(ptr[offset11] > cb)
4545                                       goto is_a_corner;
4546                                     else
4547                                       goto is_not_a_corner;
4548                                   else
4549                                     goto is_not_a_corner;
4550                                 else
4551                                   goto is_not_a_corner;
4552                               else
4553                                 goto is_not_a_corner;
4554                             else
4555                               if(ptr[offset6] < c_b)
4556                                 if(ptr[offset3] > cb)
4557                                   if(ptr[offset4] > cb)
4558                                     if(ptr[offset10] > cb)
4559                                       if(ptr[offset11] > cb)
4560                                         goto is_a_corner;
4561                                       else
4562                                         goto is_not_a_corner;
4563                                     else
4564                                       goto is_not_a_corner;
4565                                   else
4566                                     goto is_not_a_corner;
4567                                 else
4568                                   goto is_not_a_corner;
4569                               else
4570                                 if(ptr[offset3] > cb)
4571                                   if(ptr[offset4] > cb)
4572                                     if(ptr[offset10] > cb)
4573                                       if(ptr[offset11] > cb)
4574                                         goto is_a_corner;
4575                                       else
4576                                         goto is_not_a_corner;
4577                                     else
4578                                       goto is_not_a_corner;
4579                                   else
4580                                     goto is_not_a_corner;
4581                                 else
4582                                   goto is_not_a_corner;
4583                           else
4584                             goto is_not_a_corner;
4585                       else
4586                         goto is_not_a_corner;
4587               else
4588                 if(ptr[offset9] > cb)
4589                   if(ptr[offset7] < c_b)
4590                     if(ptr[offset2] > cb)
4591                       if(ptr[offset1] < c_b)
4592                         goto is_not_a_corner;
4593                       else
4594                         if(ptr[offset1] > cb)
4595                           if(ptr[offset6] > cb)
4596                             if(ptr[offset10] > cb)
4597                               if(ptr[offset11] > cb)
4598                                 if(ptr[offset3] > cb)
4599                                   goto is_a_corner;
4600                                 else
4601                                   if(ptr[offset8] > cb)
4602                                     goto is_a_corner;
4603                                   else
4604                                     goto is_not_a_corner;
4605                               else
4606                                 goto is_not_a_corner;
4607                             else
4608                               goto is_not_a_corner;
4609                           else
4610                             if(ptr[offset6] < c_b)
4611                               if(ptr[offset10] > cb)
4612                                 if(ptr[offset11] > cb)
4613                                   if(ptr[offset3] > cb)
4614                                     goto is_a_corner;
4615                                   else
4616                                     if(ptr[offset8] > cb)
4617                                       goto is_a_corner;
4618                                     else
4619                                       goto is_not_a_corner;
4620                                 else
4621                                   goto is_not_a_corner;
4622                               else
4623                                 goto is_not_a_corner;
4624                             else
4625                               if(ptr[offset10] > cb)
4626                                 if(ptr[offset11] > cb)
4627                                   if(ptr[offset3] > cb)
4628                                     goto is_a_corner;
4629                                   else
4630                                     if(ptr[offset8] > cb)
4631                                       goto is_a_corner;
4632                                     else
4633                                       goto is_not_a_corner;
4634                                 else
4635                                   goto is_not_a_corner;
4636                               else
4637                                 goto is_not_a_corner;
4638                         else
4639                           goto is_not_a_corner;
4640                     else
4641                       if(ptr[offset2] < c_b)
4642                         if(ptr[offset1] < c_b)
4643                           if(ptr[offset6] > cb)
4644                             goto is_not_a_corner;
4645                           else
4646                             if(ptr[offset6] < c_b)
4647                               if(ptr[offset3] < c_b)
4648                                 if(ptr[offset4] < c_b)
4649                                   goto is_a_corner;
4650                                 else
4651                                   goto is_not_a_corner;
4652                               else
4653                                 goto is_not_a_corner;
4654                             else
4655                               goto is_not_a_corner;
4656                         else
4657                           if(ptr[offset1] > cb)
4658                             if(ptr[offset6] > cb)
4659                               goto is_not_a_corner;
4660                             else
4661                               if(ptr[offset6] < c_b)
4662                                 if(ptr[offset3] < c_b)
4663                                   if(ptr[offset4] < c_b)
4664                                     if(ptr[offset8] < c_b)
4665                                       goto is_a_corner;
4666                                     else
4667                                       goto is_not_a_corner;
4668                                   else
4669                                     goto is_not_a_corner;
4670                                 else
4671                                   goto is_not_a_corner;
4672                               else
4673                                 goto is_not_a_corner;
4674                           else
4675                             if(ptr[offset6] > cb)
4676                               goto is_not_a_corner;
4677                             else
4678                               if(ptr[offset6] < c_b)
4679                                 if(ptr[offset3] < c_b)
4680                                   if(ptr[offset4] < c_b)
4681                                     if(ptr[offset8] < c_b)
4682                                       goto is_a_corner;
4683                                     else
4684                                       goto is_not_a_corner;
4685                                   else
4686                                     goto is_not_a_corner;
4687                                 else
4688                                   goto is_not_a_corner;
4689                               else
4690                                 goto is_not_a_corner;
4691                       else
4692                         goto is_not_a_corner;
4693                   else
4694                     if(ptr[offset7] > cb)
4695                       if(ptr[offset2] < c_b)
4696                         if(ptr[offset1] < c_b)
4697                           if(ptr[offset6] < c_b)
4698                             goto is_not_a_corner;
4699                           else
4700                             if(ptr[offset6] > cb)
4701                               if(ptr[offset8] > cb)
4702                                 if(ptr[offset10] > cb)
4703                                   if(ptr[offset11] > cb)
4704                                     goto is_a_corner;
4705                                   else
4706                                     goto is_not_a_corner;
4707                                 else
4708                                   goto is_not_a_corner;
4709                               else
4710                                 goto is_not_a_corner;
4711                             else
4712                               goto is_not_a_corner;
4713                         else
4714                           if(ptr[offset1] > cb)
4715                             if(ptr[offset6] > cb)
4716                               if(ptr[offset8] > cb)
4717                                 if(ptr[offset10] > cb)
4718                                   if(ptr[offset11] > cb)
4719                                     goto is_a_corner;
4720                                   else
4721                                     goto is_not_a_corner;
4722                                 else
4723                                   goto is_not_a_corner;
4724                               else
4725                                 goto is_not_a_corner;
4726                             else
4727                               if(ptr[offset6] < c_b)
4728                                 if(ptr[offset8] > cb)
4729                                   if(ptr[offset10] > cb)
4730                                     if(ptr[offset11] > cb)
4731                                       goto is_a_corner;
4732                                     else
4733                                       goto is_not_a_corner;
4734                                   else
4735                                     goto is_not_a_corner;
4736                                 else
4737                                   goto is_not_a_corner;
4738                               else
4739                                 if(ptr[offset8] > cb)
4740                                   if(ptr[offset10] > cb)
4741                                     if(ptr[offset11] > cb)
4742                                       goto is_a_corner;
4743                                     else
4744                                       goto is_not_a_corner;
4745                                   else
4746                                     goto is_not_a_corner;
4747                                 else
4748                                   goto is_not_a_corner;
4749                           else
4750                             if(ptr[offset6] < c_b)
4751                               goto is_not_a_corner;
4752                             else
4753                               if(ptr[offset6] > cb)
4754                                 if(ptr[offset8] > cb)
4755                                   if(ptr[offset10] > cb)
4756                                     if(ptr[offset11] > cb)
4757                                       goto is_a_corner;
4758                                     else
4759                                       goto is_not_a_corner;
4760                                   else
4761                                     goto is_not_a_corner;
4762                                 else
4763                                   goto is_not_a_corner;
4764                               else
4765                                 goto is_not_a_corner;
4766                       else
4767                         if(ptr[offset2] > cb)
4768                           if(ptr[offset1] < c_b)
4769                             if(ptr[offset6] < c_b)
4770                               goto is_not_a_corner;
4771                             else
4772                               if(ptr[offset6] > cb)
4773                                 if(ptr[offset8] > cb)
4774                                   if(ptr[offset10] > cb)
4775                                     if(ptr[offset11] > cb)
4776                                       goto is_a_corner;
4777                                     else
4778                                       goto is_not_a_corner;
4779                                   else
4780                                     goto is_not_a_corner;
4781                                 else
4782                                   goto is_not_a_corner;
4783                               else
4784                                 goto is_not_a_corner;
4785                           else
4786                             if(ptr[offset1] > cb)
4787                               if(ptr[offset6] > cb)
4788                                 if(ptr[offset10] > cb)
4789                                   if(ptr[offset11] > cb)
4790                                     if(ptr[offset3] > cb)
4791                                       goto is_a_corner;
4792                                     else
4793                                       if(ptr[offset8] > cb)
4794                                         goto is_a_corner;
4795                                       else
4796                                         goto is_not_a_corner;
4797                                   else
4798                                     goto is_not_a_corner;
4799                                 else
4800                                   goto is_not_a_corner;
4801                               else
4802                                 if(ptr[offset6] < c_b)
4803                                   if(ptr[offset10] > cb)
4804                                     if(ptr[offset11] > cb)
4805                                       if(ptr[offset3] > cb)
4806                                         goto is_a_corner;
4807                                       else
4808                                         if(ptr[offset8] > cb)
4809                                           goto is_a_corner;
4810                                         else
4811                                           goto is_not_a_corner;
4812                                     else
4813                                       goto is_not_a_corner;
4814                                   else
4815                                     goto is_not_a_corner;
4816                                 else
4817                                   if(ptr[offset10] > cb)
4818                                     if(ptr[offset11] > cb)
4819                                       if(ptr[offset3] > cb)
4820                                         goto is_a_corner;
4821                                       else
4822                                         if(ptr[offset8] > cb)
4823                                           goto is_a_corner;
4824                                         else
4825                                           goto is_not_a_corner;
4826                                     else
4827                                       goto is_not_a_corner;
4828                                   else
4829                                     goto is_not_a_corner;
4830                             else
4831                               if(ptr[offset6] < c_b)
4832                                 goto is_not_a_corner;
4833                               else
4834                                 if(ptr[offset6] > cb)
4835                                   if(ptr[offset8] > cb)
4836                                     if(ptr[offset10] > cb)
4837                                       if(ptr[offset11] > cb)
4838                                         goto is_a_corner;
4839                                       else
4840                                         goto is_not_a_corner;
4841                                     else
4842                                       goto is_not_a_corner;
4843                                   else
4844                                     goto is_not_a_corner;
4845                                 else
4846                                   goto is_not_a_corner;
4847                         else
4848                           if(ptr[offset1] < c_b)
4849                             if(ptr[offset6] < c_b)
4850                               goto is_not_a_corner;
4851                             else
4852                               if(ptr[offset6] > cb)
4853                                 if(ptr[offset8] > cb)
4854                                   if(ptr[offset10] > cb)
4855                                     if(ptr[offset11] > cb)
4856                                       goto is_a_corner;
4857                                     else
4858                                       goto is_not_a_corner;
4859                                   else
4860                                     goto is_not_a_corner;
4861                                 else
4862                                   goto is_not_a_corner;
4863                               else
4864                                 goto is_not_a_corner;
4865                           else
4866                             if(ptr[offset1] > cb)
4867                               if(ptr[offset6] > cb)
4868                                 if(ptr[offset8] > cb)
4869                                   if(ptr[offset10] > cb)
4870                                     if(ptr[offset11] > cb)
4871                                       goto is_a_corner;
4872                                     else
4873                                       goto is_not_a_corner;
4874                                   else
4875                                     goto is_not_a_corner;
4876                                 else
4877                                   goto is_not_a_corner;
4878                               else
4879                                 if(ptr[offset6] < c_b)
4880                                   if(ptr[offset8] > cb)
4881                                     if(ptr[offset10] > cb)
4882                                       if(ptr[offset11] > cb)
4883                                         goto is_a_corner;
4884                                       else
4885                                         goto is_not_a_corner;
4886                                     else
4887                                       goto is_not_a_corner;
4888                                   else
4889                                     goto is_not_a_corner;
4890                                 else
4891                                   if(ptr[offset8] > cb)
4892                                     if(ptr[offset10] > cb)
4893                                       if(ptr[offset11] > cb)
4894                                         goto is_a_corner;
4895                                       else
4896                                         goto is_not_a_corner;
4897                                     else
4898                                       goto is_not_a_corner;
4899                                   else
4900                                     goto is_not_a_corner;
4901                             else
4902                               if(ptr[offset6] < c_b)
4903                                 goto is_not_a_corner;
4904                               else
4905                                 if(ptr[offset6] > cb)
4906                                   if(ptr[offset8] > cb)
4907                                     if(ptr[offset10] > cb)
4908                                       if(ptr[offset11] > cb)
4909                                         goto is_a_corner;
4910                                       else
4911                                         goto is_not_a_corner;
4912                                     else
4913                                       goto is_not_a_corner;
4914                                   else
4915                                     goto is_not_a_corner;
4916                                 else
4917                                   goto is_not_a_corner;
4918                     else
4919                       if(ptr[offset2] < c_b)
4920                         goto is_not_a_corner;
4921                       else
4922                         if(ptr[offset2] > cb)
4923                           if(ptr[offset1] < c_b)
4924                             goto is_not_a_corner;
4925                           else
4926                             if(ptr[offset1] > cb)
4927                               if(ptr[offset6] > cb)
4928                                 if(ptr[offset10] > cb)
4929                                   if(ptr[offset11] > cb)
4930                                     if(ptr[offset3] > cb)
4931                                       goto is_a_corner;
4932                                     else
4933                                       if(ptr[offset8] > cb)
4934                                         goto is_a_corner;
4935                                       else
4936                                         goto is_not_a_corner;
4937                                   else
4938                                     goto is_not_a_corner;
4939                                 else
4940                                   goto is_not_a_corner;
4941                               else
4942                                 if(ptr[offset6] < c_b)
4943                                   if(ptr[offset10] > cb)
4944                                     if(ptr[offset11] > cb)
4945                                       if(ptr[offset3] > cb)
4946                                         goto is_a_corner;
4947                                       else
4948                                         if(ptr[offset8] > cb)
4949                                           goto is_a_corner;
4950                                         else
4951                                           goto is_not_a_corner;
4952                                     else
4953                                       goto is_not_a_corner;
4954                                   else
4955                                     goto is_not_a_corner;
4956                                 else
4957                                   if(ptr[offset10] > cb)
4958                                     if(ptr[offset11] > cb)
4959                                       if(ptr[offset3] > cb)
4960                                         goto is_a_corner;
4961                                       else
4962                                         if(ptr[offset8] > cb)
4963                                           goto is_a_corner;
4964                                         else
4965                                           goto is_not_a_corner;
4966                                     else
4967                                       goto is_not_a_corner;
4968                                   else
4969                                     goto is_not_a_corner;
4970                             else
4971                               goto is_not_a_corner;
4972                         else
4973                           goto is_not_a_corner;
4974                 else
4975                   if(ptr[offset2] < c_b)
4976                     if(ptr[offset7] > cb)
4977                       goto is_not_a_corner;
4978                     else
4979                       if(ptr[offset7] < c_b)
4980                         if(ptr[offset1] < c_b)
4981                           if(ptr[offset6] > cb)
4982                             goto is_not_a_corner;
4983                           else
4984                             if(ptr[offset6] < c_b)
4985                               if(ptr[offset3] < c_b)
4986                                 if(ptr[offset4] < c_b)
4987                                   goto is_a_corner;
4988                                 else
4989                                   goto is_not_a_corner;
4990                               else
4991                                 goto is_not_a_corner;
4992                             else
4993                               goto is_not_a_corner;
4994                         else
4995                           if(ptr[offset1] > cb)
4996                             if(ptr[offset6] > cb)
4997                               goto is_not_a_corner;
4998                             else
4999                               if(ptr[offset6] < c_b)
5000                                 if(ptr[offset3] < c_b)
5001                                   if(ptr[offset4] < c_b)
5002                                     if(ptr[offset8] < c_b)
5003                                       goto is_a_corner;
5004                                     else
5005                                       goto is_not_a_corner;
5006                                   else
5007                                     goto is_not_a_corner;
5008                                 else
5009                                   goto is_not_a_corner;
5010                               else
5011                                 goto is_not_a_corner;
5012                           else
5013                             if(ptr[offset6] > cb)
5014                               goto is_not_a_corner;
5015                             else
5016                               if(ptr[offset6] < c_b)
5017                                 if(ptr[offset3] < c_b)
5018                                   if(ptr[offset4] < c_b)
5019                                     if(ptr[offset8] < c_b)
5020                                       goto is_a_corner;
5021                                     else
5022                                       goto is_not_a_corner;
5023                                   else
5024                                     goto is_not_a_corner;
5025                                 else
5026                                   goto is_not_a_corner;
5027                               else
5028                                 goto is_not_a_corner;
5029                       else
5030                         goto is_not_a_corner;
5031                   else
5032                     if(ptr[offset2] > cb)
5033                       if(ptr[offset7] > cb)
5034                         if(ptr[offset1] < c_b)
5035                           goto is_not_a_corner;
5036                         else
5037                           if(ptr[offset1] > cb)
5038                             if(ptr[offset6] > cb)
5039                               if(ptr[offset3] > cb)
5040                                 if(ptr[offset4] > cb)
5041                                   if(ptr[offset10] > cb)
5042                                     if(ptr[offset11] > cb)
5043                                       goto is_a_corner;
5044                                     else
5045                                       goto is_not_a_corner;
5046                                   else
5047                                     goto is_not_a_corner;
5048                                 else
5049                                   goto is_not_a_corner;
5050                               else
5051                                 goto is_not_a_corner;
5052                             else
5053                               if(ptr[offset6] < c_b)
5054                                 if(ptr[offset3] > cb)
5055                                   if(ptr[offset4] > cb)
5056                                     if(ptr[offset10] > cb)
5057                                       if(ptr[offset11] > cb)
5058                                         goto is_a_corner;
5059                                       else
5060                                         goto is_not_a_corner;
5061                                     else
5062                                       goto is_not_a_corner;
5063                                   else
5064                                     goto is_not_a_corner;
5065                                 else
5066                                   goto is_not_a_corner;
5067                               else
5068                                 if(ptr[offset3] > cb)
5069                                   if(ptr[offset4] > cb)
5070                                     if(ptr[offset10] > cb)
5071                                       if(ptr[offset11] > cb)
5072                                         goto is_a_corner;
5073                                       else
5074                                         goto is_not_a_corner;
5075                                     else
5076                                       goto is_not_a_corner;
5077                                   else
5078                                     goto is_not_a_corner;
5079                                 else
5080                                   goto is_not_a_corner;
5081                           else
5082                             goto is_not_a_corner;
5083                       else
5084                         if(ptr[offset7] < c_b)
5085                           if(ptr[offset1] < c_b)
5086                             goto is_not_a_corner;
5087                           else
5088                             if(ptr[offset1] > cb)
5089                               if(ptr[offset6] > cb)
5090                                 if(ptr[offset3] > cb)
5091                                   if(ptr[offset4] > cb)
5092                                     if(ptr[offset10] > cb)
5093                                       if(ptr[offset11] > cb)
5094                                         goto is_a_corner;
5095                                       else
5096                                         goto is_not_a_corner;
5097                                     else
5098                                       goto is_not_a_corner;
5099                                   else
5100                                     goto is_not_a_corner;
5101                                 else
5102                                   goto is_not_a_corner;
5103                               else
5104                                 if(ptr[offset6] < c_b)
5105                                   if(ptr[offset3] > cb)
5106                                     if(ptr[offset4] > cb)
5107                                       if(ptr[offset10] > cb)
5108                                         if(ptr[offset11] > cb)
5109                                           goto is_a_corner;
5110                                         else
5111                                           goto is_not_a_corner;
5112                                       else
5113                                         goto is_not_a_corner;
5114                                     else
5115                                       goto is_not_a_corner;
5116                                   else
5117                                     goto is_not_a_corner;
5118                                 else
5119                                   if(ptr[offset3] > cb)
5120                                     if(ptr[offset4] > cb)
5121                                       if(ptr[offset10] > cb)
5122                                         if(ptr[offset11] > cb)
5123                                           goto is_a_corner;
5124                                         else
5125                                           goto is_not_a_corner;
5126                                       else
5127                                         goto is_not_a_corner;
5128                                     else
5129                                       goto is_not_a_corner;
5130                                   else
5131                                     goto is_not_a_corner;
5132                             else
5133                               goto is_not_a_corner;
5134                         else
5135                           if(ptr[offset1] < c_b)
5136                             goto is_not_a_corner;
5137                           else
5138                             if(ptr[offset1] > cb)
5139                               if(ptr[offset6] > cb)
5140                                 if(ptr[offset3] > cb)
5141                                   if(ptr[offset4] > cb)
5142                                     if(ptr[offset10] > cb)
5143                                       if(ptr[offset11] > cb)
5144                                         goto is_a_corner;
5145                                       else
5146                                         goto is_not_a_corner;
5147                                     else
5148                                       goto is_not_a_corner;
5149                                   else
5150                                     goto is_not_a_corner;
5151                                 else
5152                                   goto is_not_a_corner;
5153                               else
5154                                 if(ptr[offset6] < c_b)
5155                                   if(ptr[offset3] > cb)
5156                                     if(ptr[offset4] > cb)
5157                                       if(ptr[offset10] > cb)
5158                                         if(ptr[offset11] > cb)
5159                                           goto is_a_corner;
5160                                         else
5161                                           goto is_not_a_corner;
5162                                       else
5163                                         goto is_not_a_corner;
5164                                     else
5165                                       goto is_not_a_corner;
5166                                   else
5167                                     goto is_not_a_corner;
5168                                 else
5169                                   if(ptr[offset3] > cb)
5170                                     if(ptr[offset4] > cb)
5171                                       if(ptr[offset10] > cb)
5172                                         if(ptr[offset11] > cb)
5173                                           goto is_a_corner;
5174                                         else
5175                                           goto is_not_a_corner;
5176                                       else
5177                                         goto is_not_a_corner;
5178                                     else
5179                                       goto is_not_a_corner;
5180                                   else
5181                                     goto is_not_a_corner;
5182                             else
5183                               goto is_not_a_corner;
5184                     else
5185                       goto is_not_a_corner;
5186             else
5187               if(ptr[offset2] < c_b)
5188                 if(ptr[offset7] > cb)
5189                   if(ptr[offset9] < c_b)
5190                     goto is_not_a_corner;
5191                   else
5192                     if(ptr[offset9] > cb)
5193                       if(ptr[offset1] < c_b)
5194                         if(ptr[offset6] < c_b)
5195                           goto is_not_a_corner;
5196                         else
5197                           if(ptr[offset6] > cb)
5198                             if(ptr[offset8] > cb)
5199                               if(ptr[offset10] > cb)
5200                                 if(ptr[offset11] > cb)
5201                                   goto is_a_corner;
5202                                 else
5203                                   goto is_not_a_corner;
5204                               else
5205                                 goto is_not_a_corner;
5206                             else
5207                               goto is_not_a_corner;
5208                           else
5209                             goto is_not_a_corner;
5210                       else
5211                         if(ptr[offset1] > cb)
5212                           if(ptr[offset6] > cb)
5213                             if(ptr[offset8] > cb)
5214                               if(ptr[offset10] > cb)
5215                                 if(ptr[offset11] > cb)
5216                                   goto is_a_corner;
5217                                 else
5218                                   goto is_not_a_corner;
5219                               else
5220                                 goto is_not_a_corner;
5221                             else
5222                               goto is_not_a_corner;
5223                           else
5224                             if(ptr[offset6] < c_b)
5225                               if(ptr[offset8] > cb)
5226                                 if(ptr[offset10] > cb)
5227                                   if(ptr[offset11] > cb)
5228                                     goto is_a_corner;
5229                                   else
5230                                     goto is_not_a_corner;
5231                                 else
5232                                   goto is_not_a_corner;
5233                               else
5234                                 goto is_not_a_corner;
5235                             else
5236                               if(ptr[offset8] > cb)
5237                                 if(ptr[offset10] > cb)
5238                                   if(ptr[offset11] > cb)
5239                                     goto is_a_corner;
5240                                   else
5241                                     goto is_not_a_corner;
5242                                 else
5243                                   goto is_not_a_corner;
5244                               else
5245                                 goto is_not_a_corner;
5246                         else
5247                           if(ptr[offset6] < c_b)
5248                             goto is_not_a_corner;
5249                           else
5250                             if(ptr[offset6] > cb)
5251                               if(ptr[offset8] > cb)
5252                                 if(ptr[offset10] > cb)
5253                                   if(ptr[offset11] > cb)
5254                                     goto is_a_corner;
5255                                   else
5256                                     goto is_not_a_corner;
5257                                 else
5258                                   goto is_not_a_corner;
5259                               else
5260                                 goto is_not_a_corner;
5261                             else
5262                               goto is_not_a_corner;
5263                     else
5264                       goto is_not_a_corner;
5265                 else
5266                   goto is_not_a_corner;
5267               else
5268                 if(ptr[offset2] > cb)
5269                   if(ptr[offset7] < c_b)
5270                     if(ptr[offset9] < c_b)
5271                       if(ptr[offset1] < c_b)
5272                         goto is_not_a_corner;
5273                       else
5274                         if(ptr[offset1] > cb)
5275                           if(ptr[offset6] > cb)
5276                             if(ptr[offset3] > cb)
5277                               if(ptr[offset4] > cb)
5278                                 if(ptr[offset10] > cb)
5279                                   if(ptr[offset11] > cb)
5280                                     goto is_a_corner;
5281                                   else
5282                                     goto is_not_a_corner;
5283                                 else
5284                                   goto is_not_a_corner;
5285                               else
5286                                 goto is_not_a_corner;
5287                             else
5288                               goto is_not_a_corner;
5289                           else
5290                             if(ptr[offset6] < c_b)
5291                               if(ptr[offset3] > cb)
5292                                 if(ptr[offset4] > cb)
5293                                   if(ptr[offset10] > cb)
5294                                     if(ptr[offset11] > cb)
5295                                       goto is_a_corner;
5296                                     else
5297                                       goto is_not_a_corner;
5298                                   else
5299                                     goto is_not_a_corner;
5300                                 else
5301                                   goto is_not_a_corner;
5302                               else
5303                                 goto is_not_a_corner;
5304                             else
5305                               if(ptr[offset3] > cb)
5306                                 if(ptr[offset4] > cb)
5307                                   if(ptr[offset10] > cb)
5308                                     if(ptr[offset11] > cb)
5309                                       goto is_a_corner;
5310                                     else
5311                                       goto is_not_a_corner;
5312                                   else
5313                                     goto is_not_a_corner;
5314                                 else
5315                                   goto is_not_a_corner;
5316                               else
5317                                 goto is_not_a_corner;
5318                         else
5319                           goto is_not_a_corner;
5320                     else
5321                       if(ptr[offset9] > cb)
5322                         if(ptr[offset1] < c_b)
5323                           goto is_not_a_corner;
5324                         else
5325                           if(ptr[offset1] > cb)
5326                             if(ptr[offset6] > cb)
5327                               if(ptr[offset10] > cb)
5328                                 if(ptr[offset11] > cb)
5329                                   if(ptr[offset3] > cb)
5330                                     goto is_a_corner;
5331                                   else
5332                                     if(ptr[offset8] > cb)
5333                                       goto is_a_corner;
5334                                     else
5335                                       goto is_not_a_corner;
5336                                 else
5337                                   goto is_not_a_corner;
5338                               else
5339                                 goto is_not_a_corner;
5340                             else
5341                               if(ptr[offset6] < c_b)
5342                                 if(ptr[offset10] > cb)
5343                                   if(ptr[offset11] > cb)
5344                                     if(ptr[offset3] > cb)
5345                                       goto is_a_corner;
5346                                     else
5347                                       if(ptr[offset8] > cb)
5348                                         goto is_a_corner;
5349                                       else
5350                                         goto is_not_a_corner;
5351                                   else
5352                                     goto is_not_a_corner;
5353                                 else
5354                                   goto is_not_a_corner;
5355                               else
5356                                 if(ptr[offset10] > cb)
5357                                   if(ptr[offset11] > cb)
5358                                     if(ptr[offset3] > cb)
5359                                       goto is_a_corner;
5360                                     else
5361                                       if(ptr[offset8] > cb)
5362                                         goto is_a_corner;
5363                                       else
5364                                         goto is_not_a_corner;
5365                                   else
5366                                     goto is_not_a_corner;
5367                                 else
5368                                   goto is_not_a_corner;
5369                           else
5370                             goto is_not_a_corner;
5371                       else
5372                         if(ptr[offset1] < c_b)
5373                           goto is_not_a_corner;
5374                         else
5375                           if(ptr[offset1] > cb)
5376                             if(ptr[offset6] > cb)
5377                               if(ptr[offset3] > cb)
5378                                 if(ptr[offset4] > cb)
5379                                   if(ptr[offset10] > cb)
5380                                     if(ptr[offset11] > cb)
5381                                       goto is_a_corner;
5382                                     else
5383                                       goto is_not_a_corner;
5384                                   else
5385                                     goto is_not_a_corner;
5386                                 else
5387                                   goto is_not_a_corner;
5388                               else
5389                                 goto is_not_a_corner;
5390                             else
5391                               if(ptr[offset6] < c_b)
5392                                 if(ptr[offset3] > cb)
5393                                   if(ptr[offset4] > cb)
5394                                     if(ptr[offset10] > cb)
5395                                       if(ptr[offset11] > cb)
5396                                         goto is_a_corner;
5397                                       else
5398                                         goto is_not_a_corner;
5399                                     else
5400                                       goto is_not_a_corner;
5401                                   else
5402                                     goto is_not_a_corner;
5403                                 else
5404                                   goto is_not_a_corner;
5405                               else
5406                                 if(ptr[offset3] > cb)
5407                                   if(ptr[offset4] > cb)
5408                                     if(ptr[offset10] > cb)
5409                                       if(ptr[offset11] > cb)
5410                                         goto is_a_corner;
5411                                       else
5412                                         goto is_not_a_corner;
5413                                     else
5414                                       goto is_not_a_corner;
5415                                   else
5416                                     goto is_not_a_corner;
5417                                 else
5418                                   goto is_not_a_corner;
5419                           else
5420                             goto is_not_a_corner;
5421                   else
5422                     if(ptr[offset9] < c_b)
5423                       if(ptr[offset7] > cb)
5424                         if(ptr[offset1] < c_b)
5425                           goto is_not_a_corner;
5426                         else
5427                           if(ptr[offset1] > cb)
5428                             if(ptr[offset6] > cb)
5429                               if(ptr[offset3] > cb)
5430                                 if(ptr[offset4] > cb)
5431                                   if(ptr[offset10] > cb)
5432                                     if(ptr[offset11] > cb)
5433                                       goto is_a_corner;
5434                                     else
5435                                       goto is_not_a_corner;
5436                                   else
5437                                     goto is_not_a_corner;
5438                                 else
5439                                   goto is_not_a_corner;
5440                               else
5441                                 goto is_not_a_corner;
5442                             else
5443                               if(ptr[offset6] < c_b)
5444                                 if(ptr[offset3] > cb)
5445                                   if(ptr[offset4] > cb)
5446                                     if(ptr[offset10] > cb)
5447                                       if(ptr[offset11] > cb)
5448                                         goto is_a_corner;
5449                                       else
5450                                         goto is_not_a_corner;
5451                                     else
5452                                       goto is_not_a_corner;
5453                                   else
5454                                     goto is_not_a_corner;
5455                                 else
5456                                   goto is_not_a_corner;
5457                               else
5458                                 if(ptr[offset3] > cb)
5459                                   if(ptr[offset4] > cb)
5460                                     if(ptr[offset10] > cb)
5461                                       if(ptr[offset11] > cb)
5462                                         goto is_a_corner;
5463                                       else
5464                                         goto is_not_a_corner;
5465                                     else
5466                                       goto is_not_a_corner;
5467                                   else
5468                                     goto is_not_a_corner;
5469                                 else
5470                                   goto is_not_a_corner;
5471                           else
5472                             goto is_not_a_corner;
5473                       else
5474                         if(ptr[offset1] < c_b)
5475                           goto is_not_a_corner;
5476                         else
5477                           if(ptr[offset1] > cb)
5478                             if(ptr[offset6] > cb)
5479                               if(ptr[offset3] > cb)
5480                                 if(ptr[offset4] > cb)
5481                                   if(ptr[offset10] > cb)
5482                                     if(ptr[offset11] > cb)
5483                                       goto is_a_corner;
5484                                     else
5485                                       goto is_not_a_corner;
5486                                   else
5487                                     goto is_not_a_corner;
5488                                 else
5489                                   goto is_not_a_corner;
5490                               else
5491                                 goto is_not_a_corner;
5492                             else
5493                               if(ptr[offset6] < c_b)
5494                                 if(ptr[offset3] > cb)
5495                                   if(ptr[offset4] > cb)
5496                                     if(ptr[offset10] > cb)
5497                                       if(ptr[offset11] > cb)
5498                                         goto is_a_corner;
5499                                       else
5500                                         goto is_not_a_corner;
5501                                     else
5502                                       goto is_not_a_corner;
5503                                   else
5504                                     goto is_not_a_corner;
5505                                 else
5506                                   goto is_not_a_corner;
5507                               else
5508                                 if(ptr[offset3] > cb)
5509                                   if(ptr[offset4] > cb)
5510                                     if(ptr[offset10] > cb)
5511                                       if(ptr[offset11] > cb)
5512                                         goto is_a_corner;
5513                                       else
5514                                         goto is_not_a_corner;
5515                                     else
5516                                       goto is_not_a_corner;
5517                                   else
5518                                     goto is_not_a_corner;
5519                                 else
5520                                   goto is_not_a_corner;
5521                           else
5522                             goto is_not_a_corner;
5523                     else
5524                       if(ptr[offset7] > cb)
5525                         if(ptr[offset9] > cb)
5526                           if(ptr[offset1] < c_b)
5527                             if(ptr[offset6] < c_b)
5528                               goto is_not_a_corner;
5529                             else
5530                               if(ptr[offset6] > cb)
5531                                 if(ptr[offset8] > cb)
5532                                   if(ptr[offset10] > cb)
5533                                     if(ptr[offset11] > cb)
5534                                       goto is_a_corner;
5535                                     else
5536                                       goto is_not_a_corner;
5537                                   else
5538                                     goto is_not_a_corner;
5539                                 else
5540                                   goto is_not_a_corner;
5541                               else
5542                                 goto is_not_a_corner;
5543                           else
5544                             if(ptr[offset1] > cb)
5545                               if(ptr[offset6] > cb)
5546                                 if(ptr[offset10] > cb)
5547                                   if(ptr[offset11] > cb)
5548                                     if(ptr[offset3] > cb)
5549                                       goto is_a_corner;
5550                                     else
5551                                       if(ptr[offset8] > cb)
5552                                         goto is_a_corner;
5553                                       else
5554                                         goto is_not_a_corner;
5555                                   else
5556                                     goto is_not_a_corner;
5557                                 else
5558                                   goto is_not_a_corner;
5559                               else
5560                                 if(ptr[offset6] < c_b)
5561                                   if(ptr[offset10] > cb)
5562                                     if(ptr[offset11] > cb)
5563                                       if(ptr[offset3] > cb)
5564                                         goto is_a_corner;
5565                                       else
5566                                         if(ptr[offset8] > cb)
5567                                           goto is_a_corner;
5568                                         else
5569                                           goto is_not_a_corner;
5570                                     else
5571                                       goto is_not_a_corner;
5572                                   else
5573                                     goto is_not_a_corner;
5574                                 else
5575                                   if(ptr[offset10] > cb)
5576                                     if(ptr[offset11] > cb)
5577                                       if(ptr[offset3] > cb)
5578                                         goto is_a_corner;
5579                                       else
5580                                         if(ptr[offset8] > cb)
5581                                           goto is_a_corner;
5582                                         else
5583                                           goto is_not_a_corner;
5584                                     else
5585                                       goto is_not_a_corner;
5586                                   else
5587                                     goto is_not_a_corner;
5588                             else
5589                               if(ptr[offset6] < c_b)
5590                                 goto is_not_a_corner;
5591                               else
5592                                 if(ptr[offset6] > cb)
5593                                   if(ptr[offset8] > cb)
5594                                     if(ptr[offset10] > cb)
5595                                       if(ptr[offset11] > cb)
5596                                         goto is_a_corner;
5597                                       else
5598                                         goto is_not_a_corner;
5599                                     else
5600                                       goto is_not_a_corner;
5601                                   else
5602                                     goto is_not_a_corner;
5603                                 else
5604                                   goto is_not_a_corner;
5605                         else
5606                           if(ptr[offset1] < c_b)
5607                             goto is_not_a_corner;
5608                           else
5609                             if(ptr[offset1] > cb)
5610                               if(ptr[offset6] > cb)
5611                                 if(ptr[offset3] > cb)
5612                                   if(ptr[offset4] > cb)
5613                                     if(ptr[offset10] > cb)
5614                                       if(ptr[offset11] > cb)
5615                                         goto is_a_corner;
5616                                       else
5617                                         goto is_not_a_corner;
5618                                     else
5619                                       goto is_not_a_corner;
5620                                   else
5621                                     goto is_not_a_corner;
5622                                 else
5623                                   goto is_not_a_corner;
5624                               else
5625                                 if(ptr[offset6] < c_b)
5626                                   if(ptr[offset3] > cb)
5627                                     if(ptr[offset4] > cb)
5628                                       if(ptr[offset10] > cb)
5629                                         if(ptr[offset11] > cb)
5630                                           goto is_a_corner;
5631                                         else
5632                                           goto is_not_a_corner;
5633                                       else
5634                                         goto is_not_a_corner;
5635                                     else
5636                                       goto is_not_a_corner;
5637                                   else
5638                                     goto is_not_a_corner;
5639                                 else
5640                                   if(ptr[offset3] > cb)
5641                                     if(ptr[offset4] > cb)
5642                                       if(ptr[offset10] > cb)
5643                                         if(ptr[offset11] > cb)
5644                                           goto is_a_corner;
5645                                         else
5646                                           goto is_not_a_corner;
5647                                       else
5648                                         goto is_not_a_corner;
5649                                     else
5650                                       goto is_not_a_corner;
5651                                   else
5652                                     goto is_not_a_corner;
5653                             else
5654                               goto is_not_a_corner;
5655                       else
5656                         if(ptr[offset9] > cb)
5657                           if(ptr[offset1] < c_b)
5658                             goto is_not_a_corner;
5659                           else
5660                             if(ptr[offset1] > cb)
5661                               if(ptr[offset6] > cb)
5662                                 if(ptr[offset10] > cb)
5663                                   if(ptr[offset11] > cb)
5664                                     if(ptr[offset3] > cb)
5665                                       goto is_a_corner;
5666                                     else
5667                                       if(ptr[offset8] > cb)
5668                                         goto is_a_corner;
5669                                       else
5670                                         goto is_not_a_corner;
5671                                   else
5672                                     goto is_not_a_corner;
5673                                 else
5674                                   goto is_not_a_corner;
5675                               else
5676                                 if(ptr[offset6] < c_b)
5677                                   if(ptr[offset10] > cb)
5678                                     if(ptr[offset11] > cb)
5679                                       if(ptr[offset3] > cb)
5680                                         goto is_a_corner;
5681                                       else
5682                                         if(ptr[offset8] > cb)
5683                                           goto is_a_corner;
5684                                         else
5685                                           goto is_not_a_corner;
5686                                     else
5687                                       goto is_not_a_corner;
5688                                   else
5689                                     goto is_not_a_corner;
5690                                 else
5691                                   if(ptr[offset10] > cb)
5692                                     if(ptr[offset11] > cb)
5693                                       if(ptr[offset3] > cb)
5694                                         goto is_a_corner;
5695                                       else
5696                                         if(ptr[offset8] > cb)
5697                                           goto is_a_corner;
5698                                         else
5699                                           goto is_not_a_corner;
5700                                     else
5701                                       goto is_not_a_corner;
5702                                   else
5703                                     goto is_not_a_corner;
5704                             else
5705                               goto is_not_a_corner;
5706                         else
5707                           if(ptr[offset1] < c_b)
5708                             goto is_not_a_corner;
5709                           else
5710                             if(ptr[offset1] > cb)
5711                               if(ptr[offset6] > cb)
5712                                 if(ptr[offset3] > cb)
5713                                   if(ptr[offset4] > cb)
5714                                     if(ptr[offset10] > cb)
5715                                       if(ptr[offset11] > cb)
5716                                         goto is_a_corner;
5717                                       else
5718                                         goto is_not_a_corner;
5719                                     else
5720                                       goto is_not_a_corner;
5721                                   else
5722                                     goto is_not_a_corner;
5723                                 else
5724                                   goto is_not_a_corner;
5725                               else
5726                                 if(ptr[offset6] < c_b)
5727                                   if(ptr[offset3] > cb)
5728                                     if(ptr[offset4] > cb)
5729                                       if(ptr[offset10] > cb)
5730                                         if(ptr[offset11] > cb)
5731                                           goto is_a_corner;
5732                                         else
5733                                           goto is_not_a_corner;
5734                                       else
5735                                         goto is_not_a_corner;
5736                                     else
5737                                       goto is_not_a_corner;
5738                                   else
5739                                     goto is_not_a_corner;
5740                                 else
5741                                   if(ptr[offset3] > cb)
5742                                     if(ptr[offset4] > cb)
5743                                       if(ptr[offset10] > cb)
5744                                         if(ptr[offset11] > cb)
5745                                           goto is_a_corner;
5746                                         else
5747                                           goto is_not_a_corner;
5748                                       else
5749                                         goto is_not_a_corner;
5750                                     else
5751                                       goto is_not_a_corner;
5752                                   else
5753                                     goto is_not_a_corner;
5754                             else
5755                               goto is_not_a_corner;
5756                 else
5757                   if(ptr[offset7] > cb)
5758                     if(ptr[offset9] < c_b)
5759                       goto is_not_a_corner;
5760                     else
5761                       if(ptr[offset9] > cb)
5762                         if(ptr[offset1] < c_b)
5763                           if(ptr[offset6] < c_b)
5764                             goto is_not_a_corner;
5765                           else
5766                             if(ptr[offset6] > cb)
5767                               if(ptr[offset8] > cb)
5768                                 if(ptr[offset10] > cb)
5769                                   if(ptr[offset11] > cb)
5770                                     goto is_a_corner;
5771                                   else
5772                                     goto is_not_a_corner;
5773                                 else
5774                                   goto is_not_a_corner;
5775                               else
5776                                 goto is_not_a_corner;
5777                             else
5778                               goto is_not_a_corner;
5779                         else
5780                           if(ptr[offset1] > cb)
5781                             if(ptr[offset6] > cb)
5782                               if(ptr[offset8] > cb)
5783                                 if(ptr[offset10] > cb)
5784                                   if(ptr[offset11] > cb)
5785                                     goto is_a_corner;
5786                                   else
5787                                     goto is_not_a_corner;
5788                                 else
5789                                   goto is_not_a_corner;
5790                               else
5791                                 goto is_not_a_corner;
5792                             else
5793                               if(ptr[offset6] < c_b)
5794                                 if(ptr[offset8] > cb)
5795                                   if(ptr[offset10] > cb)
5796                                     if(ptr[offset11] > cb)
5797                                       goto is_a_corner;
5798                                     else
5799                                       goto is_not_a_corner;
5800                                   else
5801                                     goto is_not_a_corner;
5802                                 else
5803                                   goto is_not_a_corner;
5804                               else
5805                                 if(ptr[offset8] > cb)
5806                                   if(ptr[offset10] > cb)
5807                                     if(ptr[offset11] > cb)
5808                                       goto is_a_corner;
5809                                     else
5810                                       goto is_not_a_corner;
5811                                   else
5812                                     goto is_not_a_corner;
5813                                 else
5814                                   goto is_not_a_corner;
5815                           else
5816                             if(ptr[offset6] < c_b)
5817                               goto is_not_a_corner;
5818                             else
5819                               if(ptr[offset6] > cb)
5820                                 if(ptr[offset8] > cb)
5821                                   if(ptr[offset10] > cb)
5822                                     if(ptr[offset11] > cb)
5823                                       goto is_a_corner;
5824                                     else
5825                                       goto is_not_a_corner;
5826                                   else
5827                                     goto is_not_a_corner;
5828                                 else
5829                                   goto is_not_a_corner;
5830                               else
5831                                 goto is_not_a_corner;
5832                       else
5833                         goto is_not_a_corner;
5834                   else
5835                     goto is_not_a_corner;
5836         else if(ptr[offset0] < c_b)
5837           if(ptr[offset5] < c_b)
5838             if(ptr[offset9] > cb)
5839               if(ptr[offset2] > cb)
5840                 goto is_not_a_corner;
5841               else
5842                 if(ptr[offset2] < c_b)
5843                   if(ptr[offset7] > cb)
5844                     if(ptr[offset1] > cb)
5845                       goto is_not_a_corner;
5846                     else
5847                       if(ptr[offset1] < c_b)
5848                         if(ptr[offset6] < c_b)
5849                           if(ptr[offset3] < c_b)
5850                             if(ptr[offset4] < c_b)
5851                               goto is_a_corner;
5852                             else
5853                               goto is_not_a_corner;
5854                           else
5855                             goto is_not_a_corner;
5856                         else
5857                           if(ptr[offset6] > cb)
5858                             if(ptr[offset3] < c_b)
5859                               if(ptr[offset4] < c_b)
5860                                 if(ptr[offset11] < c_b)
5861                                   goto is_a_corner;
5862                                 else
5863                                   goto is_not_a_corner;
5864                               else
5865                                 goto is_not_a_corner;
5866                             else
5867                               goto is_not_a_corner;
5868                           else
5869                             if(ptr[offset3] < c_b)
5870                               if(ptr[offset4] < c_b)
5871                                 if(ptr[offset11] < c_b)
5872                                   goto is_a_corner;
5873                                 else
5874                                   goto is_not_a_corner;
5875                               else
5876                                 goto is_not_a_corner;
5877                             else
5878                               goto is_not_a_corner;
5879                       else
5880                         goto is_not_a_corner;
5881                   else
5882                     if(ptr[offset7] < c_b)
5883                       if(ptr[offset1] > cb)
5884                         if(ptr[offset6] > cb)
5885                           goto is_not_a_corner;
5886                         else
5887                           if(ptr[offset6] < c_b)
5888                             if(ptr[offset3] < c_b)
5889                               if(ptr[offset4] < c_b)
5890                                 if(ptr[offset8] < c_b)
5891                                   goto is_a_corner;
5892                                 else
5893                                   goto is_not_a_corner;
5894                               else
5895                                 goto is_not_a_corner;
5896                             else
5897                               goto is_not_a_corner;
5898                           else
5899                             goto is_not_a_corner;
5900                       else
5901                         if(ptr[offset1] < c_b)
5902                           if(ptr[offset6] < c_b)
5903                             if(ptr[offset3] < c_b)
5904                               if(ptr[offset4] < c_b)
5905                                 goto is_a_corner;
5906                               else
5907                                 goto is_not_a_corner;
5908                             else
5909                               goto is_not_a_corner;
5910                           else
5911                             if(ptr[offset6] > cb)
5912                               if(ptr[offset3] < c_b)
5913                                 if(ptr[offset4] < c_b)
5914                                   if(ptr[offset11] < c_b)
5915                                     goto is_a_corner;
5916                                   else
5917                                     goto is_not_a_corner;
5918                                 else
5919                                   goto is_not_a_corner;
5920                               else
5921                                 goto is_not_a_corner;
5922                             else
5923                               if(ptr[offset3] < c_b)
5924                                 if(ptr[offset4] < c_b)
5925                                   if(ptr[offset11] < c_b)
5926                                     goto is_a_corner;
5927                                   else
5928                                     goto is_not_a_corner;
5929                                 else
5930                                   goto is_not_a_corner;
5931                               else
5932                                 goto is_not_a_corner;
5933                         else
5934                           if(ptr[offset6] > cb)
5935                             goto is_not_a_corner;
5936                           else
5937                             if(ptr[offset6] < c_b)
5938                               if(ptr[offset3] < c_b)
5939                                 if(ptr[offset4] < c_b)
5940                                   if(ptr[offset8] < c_b)
5941                                     goto is_a_corner;
5942                                   else
5943                                     goto is_not_a_corner;
5944                                 else
5945                                   goto is_not_a_corner;
5946                               else
5947                                 goto is_not_a_corner;
5948                             else
5949                               goto is_not_a_corner;
5950                     else
5951                       if(ptr[offset1] > cb)
5952                         goto is_not_a_corner;
5953                       else
5954                         if(ptr[offset1] < c_b)
5955                           if(ptr[offset6] < c_b)
5956                             if(ptr[offset3] < c_b)
5957                               if(ptr[offset4] < c_b)
5958                                 goto is_a_corner;
5959                               else
5960                                 goto is_not_a_corner;
5961                             else
5962                               goto is_not_a_corner;
5963                           else
5964                             if(ptr[offset6] > cb)
5965                               if(ptr[offset3] < c_b)
5966                                 if(ptr[offset4] < c_b)
5967                                   if(ptr[offset11] < c_b)
5968                                     goto is_a_corner;
5969                                   else
5970                                     goto is_not_a_corner;
5971                                 else
5972                                   goto is_not_a_corner;
5973                               else
5974                                 goto is_not_a_corner;
5975                             else
5976                               if(ptr[offset3] < c_b)
5977                                 if(ptr[offset4] < c_b)
5978                                   if(ptr[offset11] < c_b)
5979                                     goto is_a_corner;
5980                                   else
5981                                     goto is_not_a_corner;
5982                                 else
5983                                   goto is_not_a_corner;
5984                               else
5985                                 goto is_not_a_corner;
5986                         else
5987                           goto is_not_a_corner;
5988                 else
5989                   goto is_not_a_corner;
5990             else
5991               if(ptr[offset9] < c_b)
5992                 if(ptr[offset7] > cb)
5993                   if(ptr[offset2] > cb)
5994                     goto is_not_a_corner;
5995                   else
5996                     if(ptr[offset2] < c_b)
5997                       if(ptr[offset1] > cb)
5998                         goto is_not_a_corner;
5999                       else
6000                         if(ptr[offset1] < c_b)
6001                           if(ptr[offset6] > cb)
6002                             if(ptr[offset11] < c_b)
6003                               if(ptr[offset3] < c_b)
6004                                 if(ptr[offset4] < c_b)
6005                                   goto is_a_corner;
6006                                 else
6007                                   if(ptr[offset10] < c_b)
6008                                     goto is_a_corner;
6009                                   else
6010                                     goto is_not_a_corner;
6011                               else
6012                                 if(ptr[offset8] < c_b)
6013                                   if(ptr[offset10] < c_b)
6014                                     goto is_a_corner;
6015                                   else
6016                                     goto is_not_a_corner;
6017                                 else
6018                                   goto is_not_a_corner;
6019                             else
6020                               goto is_not_a_corner;
6021                           else
6022                             if(ptr[offset6] < c_b)
6023                               if(ptr[offset3] < c_b)
6024                                 if(ptr[offset4] < c_b)
6025                                   goto is_a_corner;
6026                                 else
6027                                   if(ptr[offset10] < c_b)
6028                                     if(ptr[offset11] < c_b)
6029                                       goto is_a_corner;
6030                                     else
6031                                       goto is_not_a_corner;
6032                                   else
6033                                     goto is_not_a_corner;
6034                               else
6035                                 if(ptr[offset8] < c_b)
6036                                   if(ptr[offset10] < c_b)
6037                                     if(ptr[offset11] < c_b)
6038                                       goto is_a_corner;
6039                                     else
6040                                       goto is_not_a_corner;
6041                                   else
6042                                     goto is_not_a_corner;
6043                                 else
6044                                   goto is_not_a_corner;
6045                             else
6046                               if(ptr[offset11] < c_b)
6047                                 if(ptr[offset3] < c_b)
6048                                   if(ptr[offset4] < c_b)
6049                                     goto is_a_corner;
6050                                   else
6051                                     if(ptr[offset10] < c_b)
6052                                       goto is_a_corner;
6053                                     else
6054                                       goto is_not_a_corner;
6055                                 else
6056                                   if(ptr[offset8] < c_b)
6057                                     if(ptr[offset10] < c_b)
6058                                       goto is_a_corner;
6059                                     else
6060                                       goto is_not_a_corner;
6061                                   else
6062                                     goto is_not_a_corner;
6063                               else
6064                                 goto is_not_a_corner;
6065                         else
6066                           goto is_not_a_corner;
6067                     else
6068                       goto is_not_a_corner;
6069                 else
6070                   if(ptr[offset7] < c_b)
6071                     if(ptr[offset2] > cb)
6072                       if(ptr[offset1] > cb)
6073                         if(ptr[offset6] > cb)
6074                           goto is_not_a_corner;
6075                         else
6076                           if(ptr[offset6] < c_b)
6077                             if(ptr[offset8] < c_b)
6078                               if(ptr[offset4] < c_b)
6079                                 if(ptr[offset3] < c_b)
6080                                   goto is_a_corner;
6081                                 else
6082                                   if(ptr[offset10] < c_b)
6083                                     goto is_a_corner;
6084                                   else
6085                                     goto is_not_a_corner;
6086                               else
6087                                 if(ptr[offset10] < c_b)
6088                                   if(ptr[offset11] < c_b)
6089                                     goto is_a_corner;
6090                                   else
6091                                     goto is_not_a_corner;
6092                                 else
6093                                   goto is_not_a_corner;
6094                             else
6095                               goto is_not_a_corner;
6096                           else
6097                             goto is_not_a_corner;
6098                       else
6099                         if(ptr[offset1] < c_b)
6100                           if(ptr[offset6] > cb)
6101                             if(ptr[offset8] < c_b)
6102                               if(ptr[offset10] < c_b)
6103                                 if(ptr[offset11] < c_b)
6104                                   goto is_a_corner;
6105                                 else
6106                                   goto is_not_a_corner;
6107                               else
6108                                 goto is_not_a_corner;
6109                             else
6110                               goto is_not_a_corner;
6111                           else
6112                             if(ptr[offset6] < c_b)
6113                               if(ptr[offset8] < c_b)
6114                                 if(ptr[offset4] < c_b)
6115                                   if(ptr[offset3] < c_b)
6116                                     goto is_a_corner;
6117                                   else
6118                                     if(ptr[offset10] < c_b)
6119                                       goto is_a_corner;
6120                                     else
6121                                       goto is_not_a_corner;
6122                                 else
6123                                   if(ptr[offset10] < c_b)
6124                                     if(ptr[offset11] < c_b)
6125                                       goto is_a_corner;
6126                                     else
6127                                       goto is_not_a_corner;
6128                                   else
6129                                     goto is_not_a_corner;
6130                               else
6131                                 goto is_not_a_corner;
6132                             else
6133                               if(ptr[offset8] < c_b)
6134                                 if(ptr[offset10] < c_b)
6135                                   if(ptr[offset11] < c_b)
6136                                     goto is_a_corner;
6137                                   else
6138                                     goto is_not_a_corner;
6139                                 else
6140                                   goto is_not_a_corner;
6141                               else
6142                                 goto is_not_a_corner;
6143                         else
6144                           if(ptr[offset6] > cb)
6145                             goto is_not_a_corner;
6146                           else
6147                             if(ptr[offset6] < c_b)
6148                               if(ptr[offset8] < c_b)
6149                                 if(ptr[offset4] < c_b)
6150                                   if(ptr[offset3] < c_b)
6151                                     goto is_a_corner;
6152                                   else
6153                                     if(ptr[offset10] < c_b)
6154                                       goto is_a_corner;
6155                                     else
6156                                       goto is_not_a_corner;
6157                                 else
6158                                   if(ptr[offset10] < c_b)
6159                                     if(ptr[offset11] < c_b)
6160                                       goto is_a_corner;
6161                                     else
6162                                       goto is_not_a_corner;
6163                                   else
6164                                     goto is_not_a_corner;
6165                               else
6166                                 goto is_not_a_corner;
6167                             else
6168                               goto is_not_a_corner;
6169                     else
6170                       if(ptr[offset2] < c_b)
6171                         if(ptr[offset1] > cb)
6172                           if(ptr[offset6] > cb)
6173                             goto is_not_a_corner;
6174                           else
6175                             if(ptr[offset6] < c_b)
6176                               if(ptr[offset8] < c_b)
6177                                 if(ptr[offset4] < c_b)
6178                                   if(ptr[offset3] < c_b)
6179                                     goto is_a_corner;
6180                                   else
6181                                     if(ptr[offset10] < c_b)
6182                                       goto is_a_corner;
6183                                     else
6184                                       goto is_not_a_corner;
6185                                 else
6186                                   if(ptr[offset10] < c_b)
6187                                     if(ptr[offset11] < c_b)
6188                                       goto is_a_corner;
6189                                     else
6190                                       goto is_not_a_corner;
6191                                   else
6192                                     goto is_not_a_corner;
6193                               else
6194                                 goto is_not_a_corner;
6195                             else
6196                               goto is_not_a_corner;
6197                         else
6198                           if(ptr[offset1] < c_b)
6199                             if(ptr[offset6] > cb)
6200                               if(ptr[offset11] < c_b)
6201                                 if(ptr[offset3] < c_b)
6202                                   if(ptr[offset4] < c_b)
6203                                     goto is_a_corner;
6204                                   else
6205                                     if(ptr[offset10] < c_b)
6206                                       goto is_a_corner;
6207                                     else
6208                                       goto is_not_a_corner;
6209                                 else
6210                                   if(ptr[offset8] < c_b)
6211                                     if(ptr[offset10] < c_b)
6212                                       goto is_a_corner;
6213                                     else
6214                                       goto is_not_a_corner;
6215                                   else
6216                                     goto is_not_a_corner;
6217                               else
6218                                 goto is_not_a_corner;
6219                             else
6220                               if(ptr[offset6] < c_b)
6221                                 if(ptr[offset3] < c_b)
6222                                   if(ptr[offset4] < c_b)
6223                                     goto is_a_corner;
6224                                   else
6225                                     if(ptr[offset10] < c_b)
6226                                       if(ptr[offset11] < c_b)
6227                                         goto is_a_corner;
6228                                       else
6229                                         goto is_not_a_corner;
6230                                     else
6231                                       goto is_not_a_corner;
6232                                 else
6233                                   if(ptr[offset8] < c_b)
6234                                     if(ptr[offset10] < c_b)
6235                                       if(ptr[offset4] < c_b)
6236                                         goto is_a_corner;
6237                                       else
6238                                         if(ptr[offset11] < c_b)
6239                                           goto is_a_corner;
6240                                         else
6241                                           goto is_not_a_corner;
6242                                     else
6243                                       goto is_not_a_corner;
6244                                   else
6245                                     goto is_not_a_corner;
6246                               else
6247                                 if(ptr[offset11] < c_b)
6248                                   if(ptr[offset3] < c_b)
6249                                     if(ptr[offset4] < c_b)
6250                                       goto is_a_corner;
6251                                     else
6252                                       if(ptr[offset10] < c_b)
6253                                         goto is_a_corner;
6254                                       else
6255                                         goto is_not_a_corner;
6256                                   else
6257                                     if(ptr[offset8] < c_b)
6258                                       if(ptr[offset10] < c_b)
6259                                         goto is_a_corner;
6260                                       else
6261                                         goto is_not_a_corner;
6262                                     else
6263                                       goto is_not_a_corner;
6264                                 else
6265                                   goto is_not_a_corner;
6266                           else
6267                             if(ptr[offset6] > cb)
6268                               goto is_not_a_corner;
6269                             else
6270                               if(ptr[offset6] < c_b)
6271                                 if(ptr[offset8] < c_b)
6272                                   if(ptr[offset4] < c_b)
6273                                     if(ptr[offset3] < c_b)
6274                                       goto is_a_corner;
6275                                     else
6276                                       if(ptr[offset10] < c_b)
6277                                         goto is_a_corner;
6278                                       else
6279                                         goto is_not_a_corner;
6280                                   else
6281                                     if(ptr[offset10] < c_b)
6282                                       if(ptr[offset11] < c_b)
6283                                         goto is_a_corner;
6284                                       else
6285                                         goto is_not_a_corner;
6286                                     else
6287                                       goto is_not_a_corner;
6288                                 else
6289                                   goto is_not_a_corner;
6290                               else
6291                                 goto is_not_a_corner;
6292                       else
6293                         if(ptr[offset1] > cb)
6294                           if(ptr[offset6] > cb)
6295                             goto is_not_a_corner;
6296                           else
6297                             if(ptr[offset6] < c_b)
6298                               if(ptr[offset8] < c_b)
6299                                 if(ptr[offset4] < c_b)
6300                                   if(ptr[offset3] < c_b)
6301                                     goto is_a_corner;
6302                                   else
6303                                     if(ptr[offset10] < c_b)
6304                                       goto is_a_corner;
6305                                     else
6306                                       goto is_not_a_corner;
6307                                 else
6308                                   if(ptr[offset10] < c_b)
6309                                     if(ptr[offset11] < c_b)
6310                                       goto is_a_corner;
6311                                     else
6312                                       goto is_not_a_corner;
6313                                   else
6314                                     goto is_not_a_corner;
6315                               else
6316                                 goto is_not_a_corner;
6317                             else
6318                               goto is_not_a_corner;
6319                         else
6320                           if(ptr[offset1] < c_b)
6321                             if(ptr[offset6] > cb)
6322                               if(ptr[offset8] < c_b)
6323                                 if(ptr[offset10] < c_b)
6324                                   if(ptr[offset11] < c_b)
6325                                     goto is_a_corner;
6326                                   else
6327                                     goto is_not_a_corner;
6328                                 else
6329                                   goto is_not_a_corner;
6330                               else
6331                                 goto is_not_a_corner;
6332                             else
6333                               if(ptr[offset6] < c_b)
6334                                 if(ptr[offset8] < c_b)
6335                                   if(ptr[offset4] < c_b)
6336                                     if(ptr[offset3] < c_b)
6337                                       goto is_a_corner;
6338                                     else
6339                                       if(ptr[offset10] < c_b)
6340                                         goto is_a_corner;
6341                                       else
6342                                         goto is_not_a_corner;
6343                                   else
6344                                     if(ptr[offset10] < c_b)
6345                                       if(ptr[offset11] < c_b)
6346                                         goto is_a_corner;
6347                                       else
6348                                         goto is_not_a_corner;
6349                                     else
6350                                       goto is_not_a_corner;
6351                                 else
6352                                   goto is_not_a_corner;
6353                               else
6354                                 if(ptr[offset8] < c_b)
6355                                   if(ptr[offset10] < c_b)
6356                                     if(ptr[offset11] < c_b)
6357                                       goto is_a_corner;
6358                                     else
6359                                       goto is_not_a_corner;
6360                                   else
6361                                     goto is_not_a_corner;
6362                                 else
6363                                   goto is_not_a_corner;
6364                           else
6365                             if(ptr[offset6] > cb)
6366                               goto is_not_a_corner;
6367                             else
6368                               if(ptr[offset6] < c_b)
6369                                 if(ptr[offset8] < c_b)
6370                                   if(ptr[offset4] < c_b)
6371                                     if(ptr[offset3] < c_b)
6372                                       goto is_a_corner;
6373                                     else
6374                                       if(ptr[offset10] < c_b)
6375                                         goto is_a_corner;
6376                                       else
6377                                         goto is_not_a_corner;
6378                                   else
6379                                     if(ptr[offset10] < c_b)
6380                                       if(ptr[offset11] < c_b)
6381                                         goto is_a_corner;
6382                                       else
6383                                         goto is_not_a_corner;
6384                                     else
6385                                       goto is_not_a_corner;
6386                                 else
6387                                   goto is_not_a_corner;
6388                               else
6389                                 goto is_not_a_corner;
6390                   else
6391                     if(ptr[offset2] > cb)
6392                       goto is_not_a_corner;
6393                     else
6394                       if(ptr[offset2] < c_b)
6395                         if(ptr[offset1] > cb)
6396                           goto is_not_a_corner;
6397                         else
6398                           if(ptr[offset1] < c_b)
6399                             if(ptr[offset6] > cb)
6400                               if(ptr[offset11] < c_b)
6401                                 if(ptr[offset3] < c_b)
6402                                   if(ptr[offset4] < c_b)
6403                                     goto is_a_corner;
6404                                   else
6405                                     if(ptr[offset10] < c_b)
6406                                       goto is_a_corner;
6407                                     else
6408                                       goto is_not_a_corner;
6409                                 else
6410                                   if(ptr[offset8] < c_b)
6411                                     if(ptr[offset10] < c_b)
6412                                       goto is_a_corner;
6413                                     else
6414                                       goto is_not_a_corner;
6415                                   else
6416                                     goto is_not_a_corner;
6417                               else
6418                                 goto is_not_a_corner;
6419                             else
6420                               if(ptr[offset6] < c_b)
6421                                 if(ptr[offset3] < c_b)
6422                                   if(ptr[offset4] < c_b)
6423                                     goto is_a_corner;
6424                                   else
6425                                     if(ptr[offset10] < c_b)
6426                                       if(ptr[offset11] < c_b)
6427                                         goto is_a_corner;
6428                                       else
6429                                         goto is_not_a_corner;
6430                                     else
6431                                       goto is_not_a_corner;
6432                                 else
6433                                   if(ptr[offset8] < c_b)
6434                                     if(ptr[offset10] < c_b)
6435                                       if(ptr[offset11] < c_b)
6436                                         goto is_a_corner;
6437                                       else
6438                                         goto is_not_a_corner;
6439                                     else
6440                                       goto is_not_a_corner;
6441                                   else
6442                                     goto is_not_a_corner;
6443                               else
6444                                 if(ptr[offset11] < c_b)
6445                                   if(ptr[offset3] < c_b)
6446                                     if(ptr[offset4] < c_b)
6447                                       goto is_a_corner;
6448                                     else
6449                                       if(ptr[offset10] < c_b)
6450                                         goto is_a_corner;
6451                                       else
6452                                         goto is_not_a_corner;
6453                                   else
6454                                     if(ptr[offset8] < c_b)
6455                                       if(ptr[offset10] < c_b)
6456                                         goto is_a_corner;
6457                                       else
6458                                         goto is_not_a_corner;
6459                                     else
6460                                       goto is_not_a_corner;
6461                                 else
6462                                   goto is_not_a_corner;
6463                           else
6464                             goto is_not_a_corner;
6465                       else
6466                         goto is_not_a_corner;
6467               else
6468                 if(ptr[offset2] > cb)
6469                   goto is_not_a_corner;
6470                 else
6471                   if(ptr[offset2] < c_b)
6472                     if(ptr[offset7] > cb)
6473                       if(ptr[offset1] > cb)
6474                         goto is_not_a_corner;
6475                       else
6476                         if(ptr[offset1] < c_b)
6477                           if(ptr[offset6] < c_b)
6478                             if(ptr[offset3] < c_b)
6479                               if(ptr[offset4] < c_b)
6480                                 goto is_a_corner;
6481                               else
6482                                 goto is_not_a_corner;
6483                             else
6484                               goto is_not_a_corner;
6485                           else
6486                             if(ptr[offset6] > cb)
6487                               if(ptr[offset3] < c_b)
6488                                 if(ptr[offset4] < c_b)
6489                                   if(ptr[offset11] < c_b)
6490                                     goto is_a_corner;
6491                                   else
6492                                     goto is_not_a_corner;
6493                                 else
6494                                   goto is_not_a_corner;
6495                               else
6496                                 goto is_not_a_corner;
6497                             else
6498                               if(ptr[offset3] < c_b)
6499                                 if(ptr[offset4] < c_b)
6500                                   if(ptr[offset11] < c_b)
6501                                     goto is_a_corner;
6502                                   else
6503                                     goto is_not_a_corner;
6504                                 else
6505                                   goto is_not_a_corner;
6506                               else
6507                                 goto is_not_a_corner;
6508                         else
6509                           goto is_not_a_corner;
6510                     else
6511                       if(ptr[offset7] < c_b)
6512                         if(ptr[offset1] > cb)
6513                           if(ptr[offset6] > cb)
6514                             goto is_not_a_corner;
6515                           else
6516                             if(ptr[offset6] < c_b)
6517                               if(ptr[offset3] < c_b)
6518                                 if(ptr[offset4] < c_b)
6519                                   if(ptr[offset8] < c_b)
6520                                     goto is_a_corner;
6521                                   else
6522                                     goto is_not_a_corner;
6523                                 else
6524                                   goto is_not_a_corner;
6525                               else
6526                                 goto is_not_a_corner;
6527                             else
6528                               goto is_not_a_corner;
6529                         else
6530                           if(ptr[offset1] < c_b)
6531                             if(ptr[offset6] < c_b)
6532                               if(ptr[offset3] < c_b)
6533                                 if(ptr[offset4] < c_b)
6534                                   goto is_a_corner;
6535                                 else
6536                                   goto is_not_a_corner;
6537                               else
6538                                 goto is_not_a_corner;
6539                             else
6540                               if(ptr[offset6] > cb)
6541                                 if(ptr[offset3] < c_b)
6542                                   if(ptr[offset4] < c_b)
6543                                     if(ptr[offset11] < c_b)
6544                                       goto is_a_corner;
6545                                     else
6546                                       goto is_not_a_corner;
6547                                   else
6548                                     goto is_not_a_corner;
6549                                 else
6550                                   goto is_not_a_corner;
6551                               else
6552                                 if(ptr[offset3] < c_b)
6553                                   if(ptr[offset4] < c_b)
6554                                     if(ptr[offset11] < c_b)
6555                                       goto is_a_corner;
6556                                     else
6557                                       goto is_not_a_corner;
6558                                   else
6559                                     goto is_not_a_corner;
6560                                 else
6561                                   goto is_not_a_corner;
6562                           else
6563                             if(ptr[offset6] > cb)
6564                               goto is_not_a_corner;
6565                             else
6566                               if(ptr[offset6] < c_b)
6567                                 if(ptr[offset3] < c_b)
6568                                   if(ptr[offset4] < c_b)
6569                                     if(ptr[offset8] < c_b)
6570                                       goto is_a_corner;
6571                                     else
6572                                       goto is_not_a_corner;
6573                                   else
6574                                     goto is_not_a_corner;
6575                                 else
6576                                   goto is_not_a_corner;
6577                               else
6578                                 goto is_not_a_corner;
6579                       else
6580                         if(ptr[offset1] > cb)
6581                           goto is_not_a_corner;
6582                         else
6583                           if(ptr[offset1] < c_b)
6584                             if(ptr[offset6] < c_b)
6585                               if(ptr[offset3] < c_b)
6586                                 if(ptr[offset4] < c_b)
6587                                   goto is_a_corner;
6588                                 else
6589                                   goto is_not_a_corner;
6590                               else
6591                                 goto is_not_a_corner;
6592                             else
6593                               if(ptr[offset6] > cb)
6594                                 if(ptr[offset3] < c_b)
6595                                   if(ptr[offset4] < c_b)
6596                                     if(ptr[offset11] < c_b)
6597                                       goto is_a_corner;
6598                                     else
6599                                       goto is_not_a_corner;
6600                                   else
6601                                     goto is_not_a_corner;
6602                                 else
6603                                   goto is_not_a_corner;
6604                               else
6605                                 if(ptr[offset3] < c_b)
6606                                   if(ptr[offset4] < c_b)
6607                                     if(ptr[offset11] < c_b)
6608                                       goto is_a_corner;
6609                                     else
6610                                       goto is_not_a_corner;
6611                                   else
6612                                     goto is_not_a_corner;
6613                                 else
6614                                   goto is_not_a_corner;
6615                           else
6616                             goto is_not_a_corner;
6617                   else
6618                     goto is_not_a_corner;
6619           else
6620             if(ptr[offset5] > cb)
6621               if(ptr[offset2] > cb)
6622                 if(ptr[offset7] < c_b)
6623                   if(ptr[offset9] > cb)
6624                     goto is_not_a_corner;
6625                   else
6626                     if(ptr[offset9] < c_b)
6627                       if(ptr[offset1] > cb)
6628                         if(ptr[offset6] > cb)
6629                           goto is_not_a_corner;
6630                         else
6631                           if(ptr[offset6] < c_b)
6632                             if(ptr[offset8] < c_b)
6633                               if(ptr[offset10] < c_b)
6634                                 if(ptr[offset11] < c_b)
6635                                   goto is_a_corner;
6636                                 else
6637                                   goto is_not_a_corner;
6638                               else
6639                                 goto is_not_a_corner;
6640                             else
6641                               goto is_not_a_corner;
6642                           else
6643                             goto is_not_a_corner;
6644                       else
6645                         if(ptr[offset1] < c_b)
6646                           if(ptr[offset6] > cb)
6647                             if(ptr[offset8] < c_b)
6648                               if(ptr[offset10] < c_b)
6649                                 if(ptr[offset11] < c_b)
6650                                   goto is_a_corner;
6651                                 else
6652                                   goto is_not_a_corner;
6653                               else
6654                                 goto is_not_a_corner;
6655                             else
6656                               goto is_not_a_corner;
6657                           else
6658                             if(ptr[offset6] < c_b)
6659                               if(ptr[offset8] < c_b)
6660                                 if(ptr[offset10] < c_b)
6661                                   if(ptr[offset11] < c_b)
6662                                     goto is_a_corner;
6663                                   else
6664                                     goto is_not_a_corner;
6665                                 else
6666                                   goto is_not_a_corner;
6667                               else
6668                                 goto is_not_a_corner;
6669                             else
6670                               if(ptr[offset8] < c_b)
6671                                 if(ptr[offset10] < c_b)
6672                                   if(ptr[offset11] < c_b)
6673                                     goto is_a_corner;
6674                                   else
6675                                     goto is_not_a_corner;
6676                                 else
6677                                   goto is_not_a_corner;
6678                               else
6679                                 goto is_not_a_corner;
6680                         else
6681                           if(ptr[offset6] > cb)
6682                             goto is_not_a_corner;
6683                           else
6684                             if(ptr[offset6] < c_b)
6685                               if(ptr[offset8] < c_b)
6686                                 if(ptr[offset10] < c_b)
6687                                   if(ptr[offset11] < c_b)
6688                                     goto is_a_corner;
6689                                   else
6690                                     goto is_not_a_corner;
6691                                 else
6692                                   goto is_not_a_corner;
6693                               else
6694                                 goto is_not_a_corner;
6695                             else
6696                               goto is_not_a_corner;
6697                     else
6698                       goto is_not_a_corner;
6699                 else
6700                   if(ptr[offset7] > cb)
6701                     if(ptr[offset9] < c_b)
6702                       if(ptr[offset1] > cb)
6703                         if(ptr[offset6] < c_b)
6704                           goto is_not_a_corner;
6705                         else
6706                           if(ptr[offset6] > cb)
6707                             if(ptr[offset3] > cb)
6708                               if(ptr[offset4] > cb)
6709                                 goto is_a_corner;
6710                               else
6711                                 goto is_not_a_corner;
6712                             else
6713                               goto is_not_a_corner;
6714                           else
6715                             goto is_not_a_corner;
6716                       else
6717                         if(ptr[offset1] < c_b)
6718                           if(ptr[offset6] < c_b)
6719                             goto is_not_a_corner;
6720                           else
6721                             if(ptr[offset6] > cb)
6722                               if(ptr[offset3] > cb)
6723                                 if(ptr[offset4] > cb)
6724                                   if(ptr[offset8] > cb)
6725                                     goto is_a_corner;
6726                                   else
6727                                     goto is_not_a_corner;
6728                                 else
6729                                   goto is_not_a_corner;
6730                               else
6731                                 goto is_not_a_corner;
6732                             else
6733                               goto is_not_a_corner;
6734                         else
6735                           if(ptr[offset6] < c_b)
6736                             goto is_not_a_corner;
6737                           else
6738                             if(ptr[offset6] > cb)
6739                               if(ptr[offset3] > cb)
6740                                 if(ptr[offset4] > cb)
6741                                   if(ptr[offset8] > cb)
6742                                     goto is_a_corner;
6743                                   else
6744                                     goto is_not_a_corner;
6745                                 else
6746                                   goto is_not_a_corner;
6747                               else
6748                                 goto is_not_a_corner;
6749                             else
6750                               goto is_not_a_corner;
6751                     else
6752                       if(ptr[offset9] > cb)
6753                         if(ptr[offset1] < c_b)
6754                           if(ptr[offset6] < c_b)
6755                             goto is_not_a_corner;
6756                           else
6757                             if(ptr[offset6] > cb)
6758                               if(ptr[offset8] > cb)
6759                                 if(ptr[offset4] > cb)
6760                                   if(ptr[offset3] > cb)
6761                                     goto is_a_corner;
6762                                   else
6763                                     if(ptr[offset10] > cb)
6764                                       goto is_a_corner;
6765                                     else
6766                                       goto is_not_a_corner;
6767                                 else
6768                                   if(ptr[offset10] > cb)
6769                                     if(ptr[offset11] > cb)
6770                                       goto is_a_corner;
6771                                     else
6772                                       goto is_not_a_corner;
6773                                   else
6774                                     goto is_not_a_corner;
6775                               else
6776                                 goto is_not_a_corner;
6777                             else
6778                               goto is_not_a_corner;
6779                         else
6780                           if(ptr[offset1] > cb)
6781                             if(ptr[offset6] < c_b)
6782                               goto is_not_a_corner;
6783                             else
6784                               if(ptr[offset6] > cb)
6785                                 if(ptr[offset4] > cb)
6786                                   if(ptr[offset3] > cb)
6787                                     goto is_a_corner;
6788                                   else
6789                                     if(ptr[offset8] > cb)
6790                                       if(ptr[offset10] > cb)
6791                                         goto is_a_corner;
6792                                       else
6793                                         goto is_not_a_corner;
6794                                     else
6795                                       goto is_not_a_corner;
6796                                 else
6797                                   if(ptr[offset8] > cb)
6798                                     if(ptr[offset10] > cb)
6799                                       if(ptr[offset11] > cb)
6800                                         goto is_a_corner;
6801                                       else
6802                                         goto is_not_a_corner;
6803                                     else
6804                                       goto is_not_a_corner;
6805                                   else
6806                                     goto is_not_a_corner;
6807                               else
6808                                 goto is_not_a_corner;
6809                           else
6810                             if(ptr[offset6] < c_b)
6811                               goto is_not_a_corner;
6812                             else
6813                               if(ptr[offset6] > cb)
6814                                 if(ptr[offset8] > cb)
6815                                   if(ptr[offset4] > cb)
6816                                     if(ptr[offset3] > cb)
6817                                       goto is_a_corner;
6818                                     else
6819                                       if(ptr[offset10] > cb)
6820                                         goto is_a_corner;
6821                                       else
6822                                         goto is_not_a_corner;
6823                                   else
6824                                     if(ptr[offset10] > cb)
6825                                       if(ptr[offset11] > cb)
6826                                         goto is_a_corner;
6827                                       else
6828                                         goto is_not_a_corner;
6829                                     else
6830                                       goto is_not_a_corner;
6831                                 else
6832                                   goto is_not_a_corner;
6833                               else
6834                                 goto is_not_a_corner;
6835                       else
6836                         if(ptr[offset1] > cb)
6837                           if(ptr[offset6] < c_b)
6838                             goto is_not_a_corner;
6839                           else
6840                             if(ptr[offset6] > cb)
6841                               if(ptr[offset3] > cb)
6842                                 if(ptr[offset4] > cb)
6843                                   goto is_a_corner;
6844                                 else
6845                                   goto is_not_a_corner;
6846                               else
6847                                 goto is_not_a_corner;
6848                             else
6849                               goto is_not_a_corner;
6850                         else
6851                           if(ptr[offset1] < c_b)
6852                             if(ptr[offset6] < c_b)
6853                               goto is_not_a_corner;
6854                             else
6855                               if(ptr[offset6] > cb)
6856                                 if(ptr[offset3] > cb)
6857                                   if(ptr[offset4] > cb)
6858                                     if(ptr[offset8] > cb)
6859                                       goto is_a_corner;
6860                                     else
6861                                       goto is_not_a_corner;
6862                                   else
6863                                     goto is_not_a_corner;
6864                                 else
6865                                   goto is_not_a_corner;
6866                               else
6867                                 goto is_not_a_corner;
6868                           else
6869                             if(ptr[offset6] < c_b)
6870                               goto is_not_a_corner;
6871                             else
6872                               if(ptr[offset6] > cb)
6873                                 if(ptr[offset3] > cb)
6874                                   if(ptr[offset4] > cb)
6875                                     if(ptr[offset8] > cb)
6876                                       goto is_a_corner;
6877                                     else
6878                                       goto is_not_a_corner;
6879                                   else
6880                                     goto is_not_a_corner;
6881                                 else
6882                                   goto is_not_a_corner;
6883                               else
6884                                 goto is_not_a_corner;
6885                   else
6886                     goto is_not_a_corner;
6887               else
6888                 if(ptr[offset2] < c_b)
6889                   if(ptr[offset7] < c_b)
6890                     if(ptr[offset9] > cb)
6891                       if(ptr[offset1] > cb)
6892                         goto is_not_a_corner;
6893                       else
6894                         if(ptr[offset1] < c_b)
6895                           if(ptr[offset6] > cb)
6896                             if(ptr[offset3] < c_b)
6897                               if(ptr[offset4] < c_b)
6898                                 if(ptr[offset10] < c_b)
6899                                   if(ptr[offset11] < c_b)
6900                                     goto is_a_corner;
6901                                   else
6902                                     goto is_not_a_corner;
6903                                 else
6904                                   goto is_not_a_corner;
6905                               else
6906                                 goto is_not_a_corner;
6907                             else
6908                               goto is_not_a_corner;
6909                           else
6910                             if(ptr[offset6] < c_b)
6911                               if(ptr[offset3] < c_b)
6912                                 if(ptr[offset4] < c_b)
6913                                   if(ptr[offset10] < c_b)
6914                                     if(ptr[offset11] < c_b)
6915                                       goto is_a_corner;
6916                                     else
6917                                       goto is_not_a_corner;
6918                                   else
6919                                     goto is_not_a_corner;
6920                                 else
6921                                   goto is_not_a_corner;
6922                               else
6923                                 goto is_not_a_corner;
6924                             else
6925                               if(ptr[offset3] < c_b)
6926                                 if(ptr[offset4] < c_b)
6927                                   if(ptr[offset10] < c_b)
6928                                     if(ptr[offset11] < c_b)
6929                                       goto is_a_corner;
6930                                     else
6931                                       goto is_not_a_corner;
6932                                   else
6933                                     goto is_not_a_corner;
6934                                 else
6935                                   goto is_not_a_corner;
6936                               else
6937                                 goto is_not_a_corner;
6938                         else
6939                           goto is_not_a_corner;
6940                     else
6941                       if(ptr[offset9] < c_b)
6942                         if(ptr[offset1] > cb)
6943                           if(ptr[offset6] > cb)
6944                             goto is_not_a_corner;
6945                           else
6946                             if(ptr[offset6] < c_b)
6947                               if(ptr[offset8] < c_b)
6948                                 if(ptr[offset10] < c_b)
6949                                   if(ptr[offset11] < c_b)
6950                                     goto is_a_corner;
6951                                   else
6952                                     goto is_not_a_corner;
6953                                 else
6954                                   goto is_not_a_corner;
6955                               else
6956                                 goto is_not_a_corner;
6957                             else
6958                               goto is_not_a_corner;
6959                         else
6960                           if(ptr[offset1] < c_b)
6961                             if(ptr[offset6] > cb)
6962                               if(ptr[offset10] < c_b)
6963                                 if(ptr[offset11] < c_b)
6964                                   if(ptr[offset3] < c_b)
6965                                     goto is_a_corner;
6966                                   else
6967                                     if(ptr[offset8] < c_b)
6968                                       goto is_a_corner;
6969                                     else
6970                                       goto is_not_a_corner;
6971                                 else
6972                                   goto is_not_a_corner;
6973                               else
6974                                 goto is_not_a_corner;
6975                             else
6976                               if(ptr[offset6] < c_b)
6977                                 if(ptr[offset10] < c_b)
6978                                   if(ptr[offset11] < c_b)
6979                                     if(ptr[offset3] < c_b)
6980                                       goto is_a_corner;
6981                                     else
6982                                       if(ptr[offset8] < c_b)
6983                                         goto is_a_corner;
6984                                       else
6985                                         goto is_not_a_corner;
6986                                   else
6987                                     goto is_not_a_corner;
6988                                 else
6989                                   goto is_not_a_corner;
6990                               else
6991                                 if(ptr[offset10] < c_b)
6992                                   if(ptr[offset11] < c_b)
6993                                     if(ptr[offset3] < c_b)
6994                                       goto is_a_corner;
6995                                     else
6996                                       if(ptr[offset8] < c_b)
6997                                         goto is_a_corner;
6998                                       else
6999                                         goto is_not_a_corner;
7000                                   else
7001                                     goto is_not_a_corner;
7002                                 else
7003                                   goto is_not_a_corner;
7004                           else
7005                             if(ptr[offset6] > cb)
7006                               goto is_not_a_corner;
7007                             else
7008                               if(ptr[offset6] < c_b)
7009                                 if(ptr[offset8] < c_b)
7010                                   if(ptr[offset10] < c_b)
7011                                     if(ptr[offset11] < c_b)
7012                                       goto is_a_corner;
7013                                     else
7014                                       goto is_not_a_corner;
7015                                   else
7016                                     goto is_not_a_corner;
7017                                 else
7018                                   goto is_not_a_corner;
7019                               else
7020                                 goto is_not_a_corner;
7021                       else
7022                         if(ptr[offset1] > cb)
7023                           goto is_not_a_corner;
7024                         else
7025                           if(ptr[offset1] < c_b)
7026                             if(ptr[offset6] > cb)
7027                               if(ptr[offset3] < c_b)
7028                                 if(ptr[offset4] < c_b)
7029                                   if(ptr[offset10] < c_b)
7030                                     if(ptr[offset11] < c_b)
7031                                       goto is_a_corner;
7032                                     else
7033                                       goto is_not_a_corner;
7034                                   else
7035                                     goto is_not_a_corner;
7036                                 else
7037                                   goto is_not_a_corner;
7038                               else
7039                                 goto is_not_a_corner;
7040                             else
7041                               if(ptr[offset6] < c_b)
7042                                 if(ptr[offset3] < c_b)
7043                                   if(ptr[offset4] < c_b)
7044                                     if(ptr[offset10] < c_b)
7045                                       if(ptr[offset11] < c_b)
7046                                         goto is_a_corner;
7047                                       else
7048                                         goto is_not_a_corner;
7049                                     else
7050                                       goto is_not_a_corner;
7051                                   else
7052                                     goto is_not_a_corner;
7053                                 else
7054                                   goto is_not_a_corner;
7055                               else
7056                                 if(ptr[offset3] < c_b)
7057                                   if(ptr[offset4] < c_b)
7058                                     if(ptr[offset10] < c_b)
7059                                       if(ptr[offset11] < c_b)
7060                                         goto is_a_corner;
7061                                       else
7062                                         goto is_not_a_corner;
7063                                     else
7064                                       goto is_not_a_corner;
7065                                   else
7066                                     goto is_not_a_corner;
7067                                 else
7068                                   goto is_not_a_corner;
7069                           else
7070                             goto is_not_a_corner;
7071                   else
7072                     if(ptr[offset7] > cb)
7073                       if(ptr[offset9] < c_b)
7074                         if(ptr[offset1] > cb)
7075                           goto is_not_a_corner;
7076                         else
7077                           if(ptr[offset1] < c_b)
7078                             if(ptr[offset6] > cb)
7079                               if(ptr[offset10] < c_b)
7080                                 if(ptr[offset11] < c_b)
7081                                   if(ptr[offset3] < c_b)
7082                                     goto is_a_corner;
7083                                   else
7084                                     if(ptr[offset8] < c_b)
7085                                       goto is_a_corner;
7086                                     else
7087                                       goto is_not_a_corner;
7088                                 else
7089                                   goto is_not_a_corner;
7090                               else
7091                                 goto is_not_a_corner;
7092                             else
7093                               if(ptr[offset6] < c_b)
7094                                 if(ptr[offset10] < c_b)
7095                                   if(ptr[offset11] < c_b)
7096                                     if(ptr[offset3] < c_b)
7097                                       goto is_a_corner;
7098                                     else
7099                                       if(ptr[offset8] < c_b)
7100                                         goto is_a_corner;
7101                                       else
7102                                         goto is_not_a_corner;
7103                                   else
7104                                     goto is_not_a_corner;
7105                                 else
7106                                   goto is_not_a_corner;
7107                               else
7108                                 if(ptr[offset10] < c_b)
7109                                   if(ptr[offset11] < c_b)
7110                                     if(ptr[offset3] < c_b)
7111                                       goto is_a_corner;
7112                                     else
7113                                       if(ptr[offset8] < c_b)
7114                                         goto is_a_corner;
7115                                       else
7116                                         goto is_not_a_corner;
7117                                   else
7118                                     goto is_not_a_corner;
7119                                 else
7120                                   goto is_not_a_corner;
7121                           else
7122                             goto is_not_a_corner;
7123                       else
7124                         if(ptr[offset9] > cb)
7125                           if(ptr[offset1] > cb)
7126                             if(ptr[offset6] < c_b)
7127                               goto is_not_a_corner;
7128                             else
7129                               if(ptr[offset6] > cb)
7130                                 if(ptr[offset8] > cb)
7131                                   if(ptr[offset4] > cb)
7132                                     if(ptr[offset3] > cb)
7133                                       goto is_a_corner;
7134                                     else
7135                                       if(ptr[offset10] > cb)
7136                                         goto is_a_corner;
7137                                       else
7138                                         goto is_not_a_corner;
7139                                   else
7140                                     if(ptr[offset10] > cb)
7141                                       if(ptr[offset11] > cb)
7142                                         goto is_a_corner;
7143                                       else
7144                                         goto is_not_a_corner;
7145                                     else
7146                                       goto is_not_a_corner;
7147                                 else
7148                                   goto is_not_a_corner;
7149                               else
7150                                 goto is_not_a_corner;
7151                           else
7152                             if(ptr[offset1] < c_b)
7153                               if(ptr[offset6] < c_b)
7154                                 if(ptr[offset3] < c_b)
7155                                   if(ptr[offset4] < c_b)
7156                                     if(ptr[offset10] < c_b)
7157                                       if(ptr[offset11] < c_b)
7158                                         goto is_a_corner;
7159                                       else
7160                                         goto is_not_a_corner;
7161                                     else
7162                                       goto is_not_a_corner;
7163                                   else
7164                                     goto is_not_a_corner;
7165                                 else
7166                                   goto is_not_a_corner;
7167                               else
7168                                 if(ptr[offset6] > cb)
7169                                   if(ptr[offset4] < c_b)
7170                                     if(ptr[offset10] > cb)
7171                                       if(ptr[offset8] > cb)
7172                                         if(ptr[offset11] > cb)
7173                                           goto is_a_corner;
7174                                         else
7175                                           goto is_not_a_corner;
7176                                       else
7177                                         goto is_not_a_corner;
7178                                     else
7179                                       if(ptr[offset3] < c_b)
7180                                         if(ptr[offset11] < c_b)
7181                                           if(ptr[offset10] < c_b)
7182                                             goto is_a_corner;
7183                                           else
7184                                             goto is_not_a_corner;
7185                                         else
7186                                           goto is_not_a_corner;
7187                                       else
7188                                         goto is_not_a_corner;
7189                                   else
7190                                     if(ptr[offset8] > cb)
7191                                       if(ptr[offset10] > cb)
7192                                         if(ptr[offset4] > cb)
7193                                           goto is_a_corner;
7194                                         else
7195                                           if(ptr[offset11] > cb)
7196                                             goto is_a_corner;
7197                                           else
7198                                             goto is_not_a_corner;
7199                                       else
7200                                         if(ptr[offset3] > cb)
7201                                           if(ptr[offset4] > cb)
7202                                             goto is_a_corner;
7203                                           else
7204                                             goto is_not_a_corner;
7205                                         else
7206                                           goto is_not_a_corner;
7207                                     else
7208                                       goto is_not_a_corner;
7209                                 else
7210                                   if(ptr[offset3] < c_b)
7211                                     if(ptr[offset4] < c_b)
7212                                       if(ptr[offset10] < c_b)
7213                                         if(ptr[offset11] < c_b)
7214                                           goto is_a_corner;
7215                                         else
7216                                           goto is_not_a_corner;
7217                                       else
7218                                         goto is_not_a_corner;
7219                                     else
7220                                       goto is_not_a_corner;
7221                                   else
7222                                     goto is_not_a_corner;
7223                             else
7224                               if(ptr[offset6] < c_b)
7225                                 goto is_not_a_corner;
7226                               else
7227                                 if(ptr[offset6] > cb)
7228                                   if(ptr[offset8] > cb)
7229                                     if(ptr[offset4] > cb)
7230                                       if(ptr[offset3] > cb)
7231                                         goto is_a_corner;
7232                                       else
7233                                         if(ptr[offset10] > cb)
7234                                           goto is_a_corner;
7235                                         else
7236                                           goto is_not_a_corner;
7237                                     else
7238                                       if(ptr[offset10] > cb)
7239                                         if(ptr[offset11] > cb)
7240                                           goto is_a_corner;
7241                                         else
7242                                           goto is_not_a_corner;
7243                                       else
7244                                         goto is_not_a_corner;
7245                                   else
7246                                     goto is_not_a_corner;
7247                                 else
7248                                   goto is_not_a_corner;
7249                         else
7250                           if(ptr[offset1] > cb)
7251                             goto is_not_a_corner;
7252                           else
7253                             if(ptr[offset1] < c_b)
7254                               if(ptr[offset6] > cb)
7255                                 if(ptr[offset3] < c_b)
7256                                   if(ptr[offset4] < c_b)
7257                                     if(ptr[offset10] < c_b)
7258                                       if(ptr[offset11] < c_b)
7259                                         goto is_a_corner;
7260                                       else
7261                                         goto is_not_a_corner;
7262                                     else
7263                                       goto is_not_a_corner;
7264                                   else
7265                                     goto is_not_a_corner;
7266                                 else
7267                                   goto is_not_a_corner;
7268                               else
7269                                 if(ptr[offset6] < c_b)
7270                                   if(ptr[offset3] < c_b)
7271                                     if(ptr[offset4] < c_b)
7272                                       if(ptr[offset10] < c_b)
7273                                         if(ptr[offset11] < c_b)
7274                                           goto is_a_corner;
7275                                         else
7276                                           goto is_not_a_corner;
7277                                       else
7278                                         goto is_not_a_corner;
7279                                     else
7280                                       goto is_not_a_corner;
7281                                   else
7282                                     goto is_not_a_corner;
7283                                 else
7284                                   if(ptr[offset3] < c_b)
7285                                     if(ptr[offset4] < c_b)
7286                                       if(ptr[offset10] < c_b)
7287                                         if(ptr[offset11] < c_b)
7288                                           goto is_a_corner;
7289                                         else
7290                                           goto is_not_a_corner;
7291                                       else
7292                                         goto is_not_a_corner;
7293                                     else
7294                                       goto is_not_a_corner;
7295                                   else
7296                                     goto is_not_a_corner;
7297                             else
7298                               goto is_not_a_corner;
7299                     else
7300                       if(ptr[offset9] > cb)
7301                         if(ptr[offset1] > cb)
7302                           goto is_not_a_corner;
7303                         else
7304                           if(ptr[offset1] < c_b)
7305                             if(ptr[offset6] > cb)
7306                               if(ptr[offset3] < c_b)
7307                                 if(ptr[offset4] < c_b)
7308                                   if(ptr[offset10] < c_b)
7309                                     if(ptr[offset11] < c_b)
7310                                       goto is_a_corner;
7311                                     else
7312                                       goto is_not_a_corner;
7313                                   else
7314                                     goto is_not_a_corner;
7315                                 else
7316                                   goto is_not_a_corner;
7317                               else
7318                                 goto is_not_a_corner;
7319                             else
7320                               if(ptr[offset6] < c_b)
7321                                 if(ptr[offset3] < c_b)
7322                                   if(ptr[offset4] < c_b)
7323                                     if(ptr[offset10] < c_b)
7324                                       if(ptr[offset11] < c_b)
7325                                         goto is_a_corner;
7326                                       else
7327                                         goto is_not_a_corner;
7328                                     else
7329                                       goto is_not_a_corner;
7330                                   else
7331                                     goto is_not_a_corner;
7332                                 else
7333                                   goto is_not_a_corner;
7334                               else
7335                                 if(ptr[offset3] < c_b)
7336                                   if(ptr[offset4] < c_b)
7337                                     if(ptr[offset10] < c_b)
7338                                       if(ptr[offset11] < c_b)
7339                                         goto is_a_corner;
7340                                       else
7341                                         goto is_not_a_corner;
7342                                     else
7343                                       goto is_not_a_corner;
7344                                   else
7345                                     goto is_not_a_corner;
7346                                 else
7347                                   goto is_not_a_corner;
7348                           else
7349                             goto is_not_a_corner;
7350                       else
7351                         if(ptr[offset9] < c_b)
7352                           if(ptr[offset1] > cb)
7353                             goto is_not_a_corner;
7354                           else
7355                             if(ptr[offset1] < c_b)
7356                               if(ptr[offset6] > cb)
7357                                 if(ptr[offset10] < c_b)
7358                                   if(ptr[offset11] < c_b)
7359                                     if(ptr[offset3] < c_b)
7360                                       goto is_a_corner;
7361                                     else
7362                                       if(ptr[offset8] < c_b)
7363                                         goto is_a_corner;
7364                                       else
7365                                         goto is_not_a_corner;
7366                                   else
7367                                     goto is_not_a_corner;
7368                                 else
7369                                   goto is_not_a_corner;
7370                               else
7371                                 if(ptr[offset6] < c_b)
7372                                   if(ptr[offset10] < c_b)
7373                                     if(ptr[offset11] < c_b)
7374                                       if(ptr[offset3] < c_b)
7375                                         goto is_a_corner;
7376                                       else
7377                                         if(ptr[offset8] < c_b)
7378                                           goto is_a_corner;
7379                                         else
7380                                           goto is_not_a_corner;
7381                                     else
7382                                       goto is_not_a_corner;
7383                                   else
7384                                     goto is_not_a_corner;
7385                                 else
7386                                   if(ptr[offset10] < c_b)
7387                                     if(ptr[offset11] < c_b)
7388                                       if(ptr[offset3] < c_b)
7389                                         goto is_a_corner;
7390                                       else
7391                                         if(ptr[offset8] < c_b)
7392                                           goto is_a_corner;
7393                                         else
7394                                           goto is_not_a_corner;
7395                                     else
7396                                       goto is_not_a_corner;
7397                                   else
7398                                     goto is_not_a_corner;
7399                             else
7400                               goto is_not_a_corner;
7401                         else
7402                           if(ptr[offset1] > cb)
7403                             goto is_not_a_corner;
7404                           else
7405                             if(ptr[offset1] < c_b)
7406                               if(ptr[offset6] > cb)
7407                                 if(ptr[offset3] < c_b)
7408                                   if(ptr[offset4] < c_b)
7409                                     if(ptr[offset10] < c_b)
7410                                       if(ptr[offset11] < c_b)
7411                                         goto is_a_corner;
7412                                       else
7413                                         goto is_not_a_corner;
7414                                     else
7415                                       goto is_not_a_corner;
7416                                   else
7417                                     goto is_not_a_corner;
7418                                 else
7419                                   goto is_not_a_corner;
7420                               else
7421                                 if(ptr[offset6] < c_b)
7422                                   if(ptr[offset3] < c_b)
7423                                     if(ptr[offset4] < c_b)
7424                                       if(ptr[offset10] < c_b)
7425                                         if(ptr[offset11] < c_b)
7426                                           goto is_a_corner;
7427                                         else
7428                                           goto is_not_a_corner;
7429                                       else
7430                                         goto is_not_a_corner;
7431                                     else
7432                                       goto is_not_a_corner;
7433                                   else
7434                                     goto is_not_a_corner;
7435                                 else
7436                                   if(ptr[offset3] < c_b)
7437                                     if(ptr[offset4] < c_b)
7438                                       if(ptr[offset10] < c_b)
7439                                         if(ptr[offset11] < c_b)
7440                                           goto is_a_corner;
7441                                         else
7442                                           goto is_not_a_corner;
7443                                       else
7444                                         goto is_not_a_corner;
7445                                     else
7446                                       goto is_not_a_corner;
7447                                   else
7448                                     goto is_not_a_corner;
7449                             else
7450                               goto is_not_a_corner;
7451                 else
7452                   if(ptr[offset7] > cb)
7453                     if(ptr[offset9] < c_b)
7454                       goto is_not_a_corner;
7455                     else
7456                       if(ptr[offset9] > cb)
7457                         if(ptr[offset1] > cb)
7458                           if(ptr[offset6] < c_b)
7459                             goto is_not_a_corner;
7460                           else
7461                             if(ptr[offset6] > cb)
7462                               if(ptr[offset8] > cb)
7463                                 if(ptr[offset4] > cb)
7464                                   if(ptr[offset3] > cb)
7465                                     goto is_a_corner;
7466                                   else
7467                                     if(ptr[offset10] > cb)
7468                                       goto is_a_corner;
7469                                     else
7470                                       goto is_not_a_corner;
7471                                 else
7472                                   if(ptr[offset10] > cb)
7473                                     if(ptr[offset11] > cb)
7474                                       goto is_a_corner;
7475                                     else
7476                                       goto is_not_a_corner;
7477                                   else
7478                                     goto is_not_a_corner;
7479                               else
7480                                 goto is_not_a_corner;
7481                             else
7482                               goto is_not_a_corner;
7483                         else
7484                           if(ptr[offset1] < c_b)
7485                             if(ptr[offset6] < c_b)
7486                               goto is_not_a_corner;
7487                             else
7488                               if(ptr[offset6] > cb)
7489                                 if(ptr[offset8] > cb)
7490                                   if(ptr[offset4] > cb)
7491                                     if(ptr[offset3] > cb)
7492                                       goto is_a_corner;
7493                                     else
7494                                       if(ptr[offset10] > cb)
7495                                         goto is_a_corner;
7496                                       else
7497                                         goto is_not_a_corner;
7498                                   else
7499                                     if(ptr[offset10] > cb)
7500                                       if(ptr[offset11] > cb)
7501                                         goto is_a_corner;
7502                                       else
7503                                         goto is_not_a_corner;
7504                                     else
7505                                       goto is_not_a_corner;
7506                                 else
7507                                   goto is_not_a_corner;
7508                               else
7509                                 goto is_not_a_corner;
7510                           else
7511                             if(ptr[offset6] < c_b)
7512                               goto is_not_a_corner;
7513                             else
7514                               if(ptr[offset6] > cb)
7515                                 if(ptr[offset8] > cb)
7516                                   if(ptr[offset4] > cb)
7517                                     if(ptr[offset3] > cb)
7518                                       goto is_a_corner;
7519                                     else
7520                                       if(ptr[offset10] > cb)
7521                                         goto is_a_corner;
7522                                       else
7523                                         goto is_not_a_corner;
7524                                   else
7525                                     if(ptr[offset10] > cb)
7526                                       if(ptr[offset11] > cb)
7527                                         goto is_a_corner;
7528                                       else
7529                                         goto is_not_a_corner;
7530                                     else
7531                                       goto is_not_a_corner;
7532                                 else
7533                                   goto is_not_a_corner;
7534                               else
7535                                 goto is_not_a_corner;
7536                       else
7537                         goto is_not_a_corner;
7538                   else
7539                     if(ptr[offset9] < c_b)
7540                       if(ptr[offset7] < c_b)
7541                         if(ptr[offset1] > cb)
7542                           if(ptr[offset6] > cb)
7543                             goto is_not_a_corner;
7544                           else
7545                             if(ptr[offset6] < c_b)
7546                               if(ptr[offset8] < c_b)
7547                                 if(ptr[offset10] < c_b)
7548                                   if(ptr[offset11] < c_b)
7549                                     goto is_a_corner;
7550                                   else
7551                                     goto is_not_a_corner;
7552                                 else
7553                                   goto is_not_a_corner;
7554                               else
7555                                 goto is_not_a_corner;
7556                             else
7557                               goto is_not_a_corner;
7558                         else
7559                           if(ptr[offset1] < c_b)
7560                             if(ptr[offset6] > cb)
7561                               if(ptr[offset8] < c_b)
7562                                 if(ptr[offset10] < c_b)
7563                                   if(ptr[offset11] < c_b)
7564                                     goto is_a_corner;
7565                                   else
7566                                     goto is_not_a_corner;
7567                                 else
7568                                   goto is_not_a_corner;
7569                               else
7570                                 goto is_not_a_corner;
7571                             else
7572                               if(ptr[offset6] < c_b)
7573                                 if(ptr[offset8] < c_b)
7574                                   if(ptr[offset10] < c_b)
7575                                     if(ptr[offset11] < c_b)
7576                                       goto is_a_corner;
7577                                     else
7578                                       goto is_not_a_corner;
7579                                   else
7580                                     goto is_not_a_corner;
7581                                 else
7582                                   goto is_not_a_corner;
7583                               else
7584                                 if(ptr[offset8] < c_b)
7585                                   if(ptr[offset10] < c_b)
7586                                     if(ptr[offset11] < c_b)
7587                                       goto is_a_corner;
7588                                     else
7589                                       goto is_not_a_corner;
7590                                   else
7591                                     goto is_not_a_corner;
7592                                 else
7593                                   goto is_not_a_corner;
7594                           else
7595                             if(ptr[offset6] > cb)
7596                               goto is_not_a_corner;
7597                             else
7598                               if(ptr[offset6] < c_b)
7599                                 if(ptr[offset8] < c_b)
7600                                   if(ptr[offset10] < c_b)
7601                                     if(ptr[offset11] < c_b)
7602                                       goto is_a_corner;
7603                                     else
7604                                       goto is_not_a_corner;
7605                                   else
7606                                     goto is_not_a_corner;
7607                                 else
7608                                   goto is_not_a_corner;
7609                               else
7610                                 goto is_not_a_corner;
7611                       else
7612                         goto is_not_a_corner;
7613                     else
7614                       goto is_not_a_corner;
7615             else
7616               if(ptr[offset2] > cb)
7617                 if(ptr[offset7] < c_b)
7618                   if(ptr[offset9] > cb)
7619                     goto is_not_a_corner;
7620                   else
7621                     if(ptr[offset9] < c_b)
7622                       if(ptr[offset1] > cb)
7623                         if(ptr[offset6] > cb)
7624                           goto is_not_a_corner;
7625                         else
7626                           if(ptr[offset6] < c_b)
7627                             if(ptr[offset8] < c_b)
7628                               if(ptr[offset10] < c_b)
7629                                 if(ptr[offset11] < c_b)
7630                                   goto is_a_corner;
7631                                 else
7632                                   goto is_not_a_corner;
7633                               else
7634                                 goto is_not_a_corner;
7635                             else
7636                               goto is_not_a_corner;
7637                           else
7638                             goto is_not_a_corner;
7639                       else
7640                         if(ptr[offset1] < c_b)
7641                           if(ptr[offset6] > cb)
7642                             if(ptr[offset8] < c_b)
7643                               if(ptr[offset10] < c_b)
7644                                 if(ptr[offset11] < c_b)
7645                                   goto is_a_corner;
7646                                 else
7647                                   goto is_not_a_corner;
7648                               else
7649                                 goto is_not_a_corner;
7650                             else
7651                               goto is_not_a_corner;
7652                           else
7653                             if(ptr[offset6] < c_b)
7654                               if(ptr[offset8] < c_b)
7655                                 if(ptr[offset10] < c_b)
7656                                   if(ptr[offset11] < c_b)
7657                                     goto is_a_corner;
7658                                   else
7659                                     goto is_not_a_corner;
7660                                 else
7661                                   goto is_not_a_corner;
7662                               else
7663                                 goto is_not_a_corner;
7664                             else
7665                               if(ptr[offset8] < c_b)
7666                                 if(ptr[offset10] < c_b)
7667                                   if(ptr[offset11] < c_b)
7668                                     goto is_a_corner;
7669                                   else
7670                                     goto is_not_a_corner;
7671                                 else
7672                                   goto is_not_a_corner;
7673                               else
7674                                 goto is_not_a_corner;
7675                         else
7676                           if(ptr[offset6] > cb)
7677                             goto is_not_a_corner;
7678                           else
7679                             if(ptr[offset6] < c_b)
7680                               if(ptr[offset8] < c_b)
7681                                 if(ptr[offset10] < c_b)
7682                                   if(ptr[offset11] < c_b)
7683                                     goto is_a_corner;
7684                                   else
7685                                     goto is_not_a_corner;
7686                                 else
7687                                   goto is_not_a_corner;
7688                               else
7689                                 goto is_not_a_corner;
7690                             else
7691                               goto is_not_a_corner;
7692                     else
7693                       goto is_not_a_corner;
7694                 else
7695                   goto is_not_a_corner;
7696               else
7697                 if(ptr[offset2] < c_b)
7698                   if(ptr[offset7] > cb)
7699                     if(ptr[offset9] > cb)
7700                       if(ptr[offset1] > cb)
7701                         goto is_not_a_corner;
7702                       else
7703                         if(ptr[offset1] < c_b)
7704                           if(ptr[offset6] > cb)
7705                             if(ptr[offset3] < c_b)
7706                               if(ptr[offset4] < c_b)
7707                                 if(ptr[offset10] < c_b)
7708                                   if(ptr[offset11] < c_b)
7709                                     goto is_a_corner;
7710                                   else
7711                                     goto is_not_a_corner;
7712                                 else
7713                                   goto is_not_a_corner;
7714                               else
7715                                 goto is_not_a_corner;
7716                             else
7717                               goto is_not_a_corner;
7718                           else
7719                             if(ptr[offset6] < c_b)
7720                               if(ptr[offset3] < c_b)
7721                                 if(ptr[offset4] < c_b)
7722                                   if(ptr[offset10] < c_b)
7723                                     if(ptr[offset11] < c_b)
7724                                       goto is_a_corner;
7725                                     else
7726                                       goto is_not_a_corner;
7727                                   else
7728                                     goto is_not_a_corner;
7729                                 else
7730                                   goto is_not_a_corner;
7731                               else
7732                                 goto is_not_a_corner;
7733                             else
7734                               if(ptr[offset3] < c_b)
7735                                 if(ptr[offset4] < c_b)
7736                                   if(ptr[offset10] < c_b)
7737                                     if(ptr[offset11] < c_b)
7738                                       goto is_a_corner;
7739                                     else
7740                                       goto is_not_a_corner;
7741                                   else
7742                                     goto is_not_a_corner;
7743                                 else
7744                                   goto is_not_a_corner;
7745                               else
7746                                 goto is_not_a_corner;
7747                         else
7748                           goto is_not_a_corner;
7749                     else
7750                       if(ptr[offset9] < c_b)
7751                         if(ptr[offset1] > cb)
7752                           goto is_not_a_corner;
7753                         else
7754                           if(ptr[offset1] < c_b)
7755                             if(ptr[offset6] > cb)
7756                               if(ptr[offset10] < c_b)
7757                                 if(ptr[offset11] < c_b)
7758                                   if(ptr[offset3] < c_b)
7759                                     goto is_a_corner;
7760                                   else
7761                                     if(ptr[offset8] < c_b)
7762                                       goto is_a_corner;
7763                                     else
7764                                       goto is_not_a_corner;
7765                                 else
7766                                   goto is_not_a_corner;
7767                               else
7768                                 goto is_not_a_corner;
7769                             else
7770                               if(ptr[offset6] < c_b)
7771                                 if(ptr[offset10] < c_b)
7772                                   if(ptr[offset11] < c_b)
7773                                     if(ptr[offset3] < c_b)
7774                                       goto is_a_corner;
7775                                     else
7776                                       if(ptr[offset8] < c_b)
7777                                         goto is_a_corner;
7778                                       else
7779                                         goto is_not_a_corner;
7780                                   else
7781                                     goto is_not_a_corner;
7782                                 else
7783                                   goto is_not_a_corner;
7784                               else
7785                                 if(ptr[offset10] < c_b)
7786                                   if(ptr[offset11] < c_b)
7787                                     if(ptr[offset3] < c_b)
7788                                       goto is_a_corner;
7789                                     else
7790                                       if(ptr[offset8] < c_b)
7791                                         goto is_a_corner;
7792                                       else
7793                                         goto is_not_a_corner;
7794                                   else
7795                                     goto is_not_a_corner;
7796                                 else
7797                                   goto is_not_a_corner;
7798                           else
7799                             goto is_not_a_corner;
7800                       else
7801                         if(ptr[offset1] > cb)
7802                           goto is_not_a_corner;
7803                         else
7804                           if(ptr[offset1] < c_b)
7805                             if(ptr[offset6] > cb)
7806                               if(ptr[offset3] < c_b)
7807                                 if(ptr[offset4] < c_b)
7808                                   if(ptr[offset10] < c_b)
7809                                     if(ptr[offset11] < c_b)
7810                                       goto is_a_corner;
7811                                     else
7812                                       goto is_not_a_corner;
7813                                   else
7814                                     goto is_not_a_corner;
7815                                 else
7816                                   goto is_not_a_corner;
7817                               else
7818                                 goto is_not_a_corner;
7819                             else
7820                               if(ptr[offset6] < c_b)
7821                                 if(ptr[offset3] < c_b)
7822                                   if(ptr[offset4] < c_b)
7823                                     if(ptr[offset10] < c_b)
7824                                       if(ptr[offset11] < c_b)
7825                                         goto is_a_corner;
7826                                       else
7827                                         goto is_not_a_corner;
7828                                     else
7829                                       goto is_not_a_corner;
7830                                   else
7831                                     goto is_not_a_corner;
7832                                 else
7833                                   goto is_not_a_corner;
7834                               else
7835                                 if(ptr[offset3] < c_b)
7836                                   if(ptr[offset4] < c_b)
7837                                     if(ptr[offset10] < c_b)
7838                                       if(ptr[offset11] < c_b)
7839                                         goto is_a_corner;
7840                                       else
7841                                         goto is_not_a_corner;
7842                                     else
7843                                       goto is_not_a_corner;
7844                                   else
7845                                     goto is_not_a_corner;
7846                                 else
7847                                   goto is_not_a_corner;
7848                           else
7849                             goto is_not_a_corner;
7850                   else
7851                     if(ptr[offset9] > cb)
7852                       if(ptr[offset7] < c_b)
7853                         if(ptr[offset1] > cb)
7854                           goto is_not_a_corner;
7855                         else
7856                           if(ptr[offset1] < c_b)
7857                             if(ptr[offset6] > cb)
7858                               if(ptr[offset3] < c_b)
7859                                 if(ptr[offset4] < c_b)
7860                                   if(ptr[offset10] < c_b)
7861                                     if(ptr[offset11] < c_b)
7862                                       goto is_a_corner;
7863                                     else
7864                                       goto is_not_a_corner;
7865                                   else
7866                                     goto is_not_a_corner;
7867                                 else
7868                                   goto is_not_a_corner;
7869                               else
7870                                 goto is_not_a_corner;
7871                             else
7872                               if(ptr[offset6] < c_b)
7873                                 if(ptr[offset3] < c_b)
7874                                   if(ptr[offset4] < c_b)
7875                                     if(ptr[offset10] < c_b)
7876                                       if(ptr[offset11] < c_b)
7877                                         goto is_a_corner;
7878                                       else
7879                                         goto is_not_a_corner;
7880                                     else
7881                                       goto is_not_a_corner;
7882                                   else
7883                                     goto is_not_a_corner;
7884                                 else
7885                                   goto is_not_a_corner;
7886                               else
7887                                 if(ptr[offset3] < c_b)
7888                                   if(ptr[offset4] < c_b)
7889                                     if(ptr[offset10] < c_b)
7890                                       if(ptr[offset11] < c_b)
7891                                         goto is_a_corner;
7892                                       else
7893                                         goto is_not_a_corner;
7894                                     else
7895                                       goto is_not_a_corner;
7896                                   else
7897                                     goto is_not_a_corner;
7898                                 else
7899                                   goto is_not_a_corner;
7900                           else
7901                             goto is_not_a_corner;
7902                       else
7903                         if(ptr[offset1] > cb)
7904                           goto is_not_a_corner;
7905                         else
7906                           if(ptr[offset1] < c_b)
7907                             if(ptr[offset6] > cb)
7908                               if(ptr[offset3] < c_b)
7909                                 if(ptr[offset4] < c_b)
7910                                   if(ptr[offset10] < c_b)
7911                                     if(ptr[offset11] < c_b)
7912                                       goto is_a_corner;
7913                                     else
7914                                       goto is_not_a_corner;
7915                                   else
7916                                     goto is_not_a_corner;
7917                                 else
7918                                   goto is_not_a_corner;
7919                               else
7920                                 goto is_not_a_corner;
7921                             else
7922                               if(ptr[offset6] < c_b)
7923                                 if(ptr[offset3] < c_b)
7924                                   if(ptr[offset4] < c_b)
7925                                     if(ptr[offset10] < c_b)
7926                                       if(ptr[offset11] < c_b)
7927                                         goto is_a_corner;
7928                                       else
7929                                         goto is_not_a_corner;
7930                                     else
7931                                       goto is_not_a_corner;
7932                                   else
7933                                     goto is_not_a_corner;
7934                                 else
7935                                   goto is_not_a_corner;
7936                               else
7937                                 if(ptr[offset3] < c_b)
7938                                   if(ptr[offset4] < c_b)
7939                                     if(ptr[offset10] < c_b)
7940                                       if(ptr[offset11] < c_b)
7941                                         goto is_a_corner;
7942                                       else
7943                                         goto is_not_a_corner;
7944                                     else
7945                                       goto is_not_a_corner;
7946                                   else
7947                                     goto is_not_a_corner;
7948                                 else
7949                                   goto is_not_a_corner;
7950                           else
7951                             goto is_not_a_corner;
7952                     else
7953                       if(ptr[offset7] < c_b)
7954                         if(ptr[offset9] < c_b)
7955                           if(ptr[offset1] > cb)
7956                             if(ptr[offset6] > cb)
7957                               goto is_not_a_corner;
7958                             else
7959                               if(ptr[offset6] < c_b)
7960                                 if(ptr[offset8] < c_b)
7961                                   if(ptr[offset10] < c_b)
7962                                     if(ptr[offset11] < c_b)
7963                                       goto is_a_corner;
7964                                     else
7965                                       goto is_not_a_corner;
7966                                   else
7967                                     goto is_not_a_corner;
7968                                 else
7969                                   goto is_not_a_corner;
7970                               else
7971                                 goto is_not_a_corner;
7972                           else
7973                             if(ptr[offset1] < c_b)
7974                               if(ptr[offset6] > cb)
7975                                 if(ptr[offset10] < c_b)
7976                                   if(ptr[offset11] < c_b)
7977                                     if(ptr[offset3] < c_b)
7978                                       goto is_a_corner;
7979                                     else
7980                                       if(ptr[offset8] < c_b)
7981                                         goto is_a_corner;
7982                                       else
7983                                         goto is_not_a_corner;
7984                                   else
7985                                     goto is_not_a_corner;
7986                                 else
7987                                   goto is_not_a_corner;
7988                               else
7989                                 if(ptr[offset6] < c_b)
7990                                   if(ptr[offset10] < c_b)
7991                                     if(ptr[offset11] < c_b)
7992                                       if(ptr[offset3] < c_b)
7993                                         goto is_a_corner;
7994                                       else
7995                                         if(ptr[offset8] < c_b)
7996                                           goto is_a_corner;
7997                                         else
7998                                           goto is_not_a_corner;
7999                                     else
8000                                       goto is_not_a_corner;
8001                                   else
8002                                     goto is_not_a_corner;
8003                                 else
8004                                   if(ptr[offset10] < c_b)
8005                                     if(ptr[offset11] < c_b)
8006                                       if(ptr[offset3] < c_b)
8007                                         goto is_a_corner;
8008                                       else
8009                                         if(ptr[offset8] < c_b)
8010                                           goto is_a_corner;
8011                                         else
8012                                           goto is_not_a_corner;
8013                                     else
8014                                       goto is_not_a_corner;
8015                                   else
8016                                     goto is_not_a_corner;
8017                             else
8018                               if(ptr[offset6] > cb)
8019                                 goto is_not_a_corner;
8020                               else
8021                                 if(ptr[offset6] < c_b)
8022                                   if(ptr[offset8] < c_b)
8023                                     if(ptr[offset10] < c_b)
8024                                       if(ptr[offset11] < c_b)
8025                                         goto is_a_corner;
8026                                       else
8027                                         goto is_not_a_corner;
8028                                     else
8029                                       goto is_not_a_corner;
8030                                   else
8031                                     goto is_not_a_corner;
8032                                 else
8033                                   goto is_not_a_corner;
8034                         else
8035                           if(ptr[offset1] > cb)
8036                             goto is_not_a_corner;
8037                           else
8038                             if(ptr[offset1] < c_b)
8039                               if(ptr[offset6] > cb)
8040                                 if(ptr[offset3] < c_b)
8041                                   if(ptr[offset4] < c_b)
8042                                     if(ptr[offset10] < c_b)
8043                                       if(ptr[offset11] < c_b)
8044                                         goto is_a_corner;
8045                                       else
8046                                         goto is_not_a_corner;
8047                                     else
8048                                       goto is_not_a_corner;
8049                                   else
8050                                     goto is_not_a_corner;
8051                                 else
8052                                   goto is_not_a_corner;
8053                               else
8054                                 if(ptr[offset6] < c_b)
8055                                   if(ptr[offset3] < c_b)
8056                                     if(ptr[offset4] < c_b)
8057                                       if(ptr[offset10] < c_b)
8058                                         if(ptr[offset11] < c_b)
8059                                           goto is_a_corner;
8060                                         else
8061                                           goto is_not_a_corner;
8062                                       else
8063                                         goto is_not_a_corner;
8064                                     else
8065                                       goto is_not_a_corner;
8066                                   else
8067                                     goto is_not_a_corner;
8068                                 else
8069                                   if(ptr[offset3] < c_b)
8070                                     if(ptr[offset4] < c_b)
8071                                       if(ptr[offset10] < c_b)
8072                                         if(ptr[offset11] < c_b)
8073                                           goto is_a_corner;
8074                                         else
8075                                           goto is_not_a_corner;
8076                                       else
8077                                         goto is_not_a_corner;
8078                                     else
8079                                       goto is_not_a_corner;
8080                                   else
8081                                     goto is_not_a_corner;
8082                             else
8083                               goto is_not_a_corner;
8084                       else
8085                         if(ptr[offset9] < c_b)
8086                           if(ptr[offset1] > cb)
8087                             goto is_not_a_corner;
8088                           else
8089                             if(ptr[offset1] < c_b)
8090                               if(ptr[offset6] > cb)
8091                                 if(ptr[offset10] < c_b)
8092                                   if(ptr[offset11] < c_b)
8093                                     if(ptr[offset3] < c_b)
8094                                       goto is_a_corner;
8095                                     else
8096                                       if(ptr[offset8] < c_b)
8097                                         goto is_a_corner;
8098                                       else
8099                                         goto is_not_a_corner;
8100                                   else
8101                                     goto is_not_a_corner;
8102                                 else
8103                                   goto is_not_a_corner;
8104                               else
8105                                 if(ptr[offset6] < c_b)
8106                                   if(ptr[offset10] < c_b)
8107                                     if(ptr[offset11] < c_b)
8108                                       if(ptr[offset3] < c_b)
8109                                         goto is_a_corner;
8110                                       else
8111                                         if(ptr[offset8] < c_b)
8112                                           goto is_a_corner;
8113                                         else
8114                                           goto is_not_a_corner;
8115                                     else
8116                                       goto is_not_a_corner;
8117                                   else
8118                                     goto is_not_a_corner;
8119                                 else
8120                                   if(ptr[offset10] < c_b)
8121                                     if(ptr[offset11] < c_b)
8122                                       if(ptr[offset3] < c_b)
8123                                         goto is_a_corner;
8124                                       else
8125                                         if(ptr[offset8] < c_b)
8126                                           goto is_a_corner;
8127                                         else
8128                                           goto is_not_a_corner;
8129                                     else
8130                                       goto is_not_a_corner;
8131                                   else
8132                                     goto is_not_a_corner;
8133                             else
8134                               goto is_not_a_corner;
8135                         else
8136                           if(ptr[offset1] > cb)
8137                             goto is_not_a_corner;
8138                           else
8139                             if(ptr[offset1] < c_b)
8140                               if(ptr[offset6] > cb)
8141                                 if(ptr[offset3] < c_b)
8142                                   if(ptr[offset4] < c_b)
8143                                     if(ptr[offset10] < c_b)
8144                                       if(ptr[offset11] < c_b)
8145                                         goto is_a_corner;
8146                                       else
8147                                         goto is_not_a_corner;
8148                                     else
8149                                       goto is_not_a_corner;
8150                                   else
8151                                     goto is_not_a_corner;
8152                                 else
8153                                   goto is_not_a_corner;
8154                               else
8155                                 if(ptr[offset6] < c_b)
8156                                   if(ptr[offset3] < c_b)
8157                                     if(ptr[offset4] < c_b)
8158                                       if(ptr[offset10] < c_b)
8159                                         if(ptr[offset11] < c_b)
8160                                           goto is_a_corner;
8161                                         else
8162                                           goto is_not_a_corner;
8163                                       else
8164                                         goto is_not_a_corner;
8165                                     else
8166                                       goto is_not_a_corner;
8167                                   else
8168                                     goto is_not_a_corner;
8169                                 else
8170                                   if(ptr[offset3] < c_b)
8171                                     if(ptr[offset4] < c_b)
8172                                       if(ptr[offset10] < c_b)
8173                                         if(ptr[offset11] < c_b)
8174                                           goto is_a_corner;
8175                                         else
8176                                           goto is_not_a_corner;
8177                                       else
8178                                         goto is_not_a_corner;
8179                                     else
8180                                       goto is_not_a_corner;
8181                                   else
8182                                     goto is_not_a_corner;
8183                             else
8184                               goto is_not_a_corner;
8185                 else
8186                   if(ptr[offset7] < c_b)
8187                     if(ptr[offset9] > cb)
8188                       goto is_not_a_corner;
8189                     else
8190                       if(ptr[offset9] < c_b)
8191                         if(ptr[offset1] > cb)
8192                           if(ptr[offset6] > cb)
8193                             goto is_not_a_corner;
8194                           else
8195                             if(ptr[offset6] < c_b)
8196                               if(ptr[offset8] < c_b)
8197                                 if(ptr[offset10] < c_b)
8198                                   if(ptr[offset11] < c_b)
8199                                     goto is_a_corner;
8200                                   else
8201                                     goto is_not_a_corner;
8202                                 else
8203                                   goto is_not_a_corner;
8204                               else
8205                                 goto is_not_a_corner;
8206                             else
8207                               goto is_not_a_corner;
8208                         else
8209                           if(ptr[offset1] < c_b)
8210                             if(ptr[offset6] > cb)
8211                               if(ptr[offset8] < c_b)
8212                                 if(ptr[offset10] < c_b)
8213                                   if(ptr[offset11] < c_b)
8214                                     goto is_a_corner;
8215                                   else
8216                                     goto is_not_a_corner;
8217                                 else
8218                                   goto is_not_a_corner;
8219                               else
8220                                 goto is_not_a_corner;
8221                             else
8222                               if(ptr[offset6] < c_b)
8223                                 if(ptr[offset8] < c_b)
8224                                   if(ptr[offset10] < c_b)
8225                                     if(ptr[offset11] < c_b)
8226                                       goto is_a_corner;
8227                                     else
8228                                       goto is_not_a_corner;
8229                                   else
8230                                     goto is_not_a_corner;
8231                                 else
8232                                   goto is_not_a_corner;
8233                               else
8234                                 if(ptr[offset8] < c_b)
8235                                   if(ptr[offset10] < c_b)
8236                                     if(ptr[offset11] < c_b)
8237                                       goto is_a_corner;
8238                                     else
8239                                       goto is_not_a_corner;
8240                                   else
8241                                     goto is_not_a_corner;
8242                                 else
8243                                   goto is_not_a_corner;
8244                           else
8245                             if(ptr[offset6] > cb)
8246                               goto is_not_a_corner;
8247                             else
8248                               if(ptr[offset6] < c_b)
8249                                 if(ptr[offset8] < c_b)
8250                                   if(ptr[offset10] < c_b)
8251                                     if(ptr[offset11] < c_b)
8252                                       goto is_a_corner;
8253                                     else
8254                                       goto is_not_a_corner;
8255                                   else
8256                                     goto is_not_a_corner;
8257                                 else
8258                                   goto is_not_a_corner;
8259                               else
8260                                 goto is_not_a_corner;
8261                       else
8262                         goto is_not_a_corner;
8263                   else
8264                     goto is_not_a_corner;
8265         else
8266           if(ptr[offset5] < c_b)
8267             if(ptr[offset7] > cb)
8268               goto is_not_a_corner;
8269             else
8270               if(ptr[offset7] < c_b)
8271                 if(ptr[offset2] > cb)
8272                   if(ptr[offset9] > cb)
8273                     goto is_not_a_corner;
8274                   else
8275                     if(ptr[offset9] < c_b)
8276                       if(ptr[offset1] > cb)
8277                         if(ptr[offset6] > cb)
8278                           goto is_not_a_corner;
8279                         else
8280                           if(ptr[offset6] < c_b)
8281                             if(ptr[offset8] < c_b)
8282                               if(ptr[offset4] < c_b)
8283                                 if(ptr[offset3] < c_b)
8284                                   goto is_a_corner;
8285                                 else
8286                                   if(ptr[offset10] < c_b)
8287                                     goto is_a_corner;
8288                                   else
8289                                     goto is_not_a_corner;
8290                               else
8291                                 if(ptr[offset10] < c_b)
8292                                   if(ptr[offset11] < c_b)
8293                                     goto is_a_corner;
8294                                   else
8295                                     goto is_not_a_corner;
8296                                 else
8297                                   goto is_not_a_corner;
8298                             else
8299                               goto is_not_a_corner;
8300                           else
8301                             goto is_not_a_corner;
8302                       else
8303                         if(ptr[offset1] < c_b)
8304                           if(ptr[offset6] > cb)
8305                             goto is_not_a_corner;
8306                           else
8307                             if(ptr[offset6] < c_b)
8308                               if(ptr[offset8] < c_b)
8309                                 if(ptr[offset4] < c_b)
8310                                   if(ptr[offset3] < c_b)
8311                                     goto is_a_corner;
8312                                   else
8313                                     if(ptr[offset10] < c_b)
8314                                       goto is_a_corner;
8315                                     else
8316                                       goto is_not_a_corner;
8317                                 else
8318                                   if(ptr[offset10] < c_b)
8319                                     if(ptr[offset11] < c_b)
8320                                       goto is_a_corner;
8321                                     else
8322                                       goto is_not_a_corner;
8323                                   else
8324                                     goto is_not_a_corner;
8325                               else
8326                                 goto is_not_a_corner;
8327                             else
8328                               goto is_not_a_corner;
8329                         else
8330                           if(ptr[offset6] > cb)
8331                             goto is_not_a_corner;
8332                           else
8333                             if(ptr[offset6] < c_b)
8334                               if(ptr[offset8] < c_b)
8335                                 if(ptr[offset4] < c_b)
8336                                   if(ptr[offset3] < c_b)
8337                                     goto is_a_corner;
8338                                   else
8339                                     if(ptr[offset10] < c_b)
8340                                       goto is_a_corner;
8341                                     else
8342                                       goto is_not_a_corner;
8343                                 else
8344                                   if(ptr[offset10] < c_b)
8345                                     if(ptr[offset11] < c_b)
8346                                       goto is_a_corner;
8347                                     else
8348                                       goto is_not_a_corner;
8349                                   else
8350                                     goto is_not_a_corner;
8351                               else
8352                                 goto is_not_a_corner;
8353                             else
8354                               goto is_not_a_corner;
8355                     else
8356                       goto is_not_a_corner;
8357                 else
8358                   if(ptr[offset2] < c_b)
8359                     if(ptr[offset9] > cb)
8360                       if(ptr[offset1] < c_b)
8361                         if(ptr[offset6] > cb)
8362                           goto is_not_a_corner;
8363                         else
8364                           if(ptr[offset6] < c_b)
8365                             if(ptr[offset3] < c_b)
8366                               if(ptr[offset4] < c_b)
8367                                 goto is_a_corner;
8368                               else
8369                                 goto is_not_a_corner;
8370                             else
8371                               goto is_not_a_corner;
8372                           else
8373                             goto is_not_a_corner;
8374                       else
8375                         if(ptr[offset1] > cb)
8376                           if(ptr[offset6] > cb)
8377                             goto is_not_a_corner;
8378                           else
8379                             if(ptr[offset6] < c_b)
8380                               if(ptr[offset3] < c_b)
8381                                 if(ptr[offset4] < c_b)
8382                                   if(ptr[offset8] < c_b)
8383                                     goto is_a_corner;
8384                                   else
8385                                     goto is_not_a_corner;
8386                                 else
8387                                   goto is_not_a_corner;
8388                               else
8389                                 goto is_not_a_corner;
8390                             else
8391                               goto is_not_a_corner;
8392                         else
8393                           if(ptr[offset6] > cb)
8394                             goto is_not_a_corner;
8395                           else
8396                             if(ptr[offset6] < c_b)
8397                               if(ptr[offset3] < c_b)
8398                                 if(ptr[offset4] < c_b)
8399                                   if(ptr[offset8] < c_b)
8400                                     goto is_a_corner;
8401                                   else
8402                                     goto is_not_a_corner;
8403                                 else
8404                                   goto is_not_a_corner;
8405                               else
8406                                 goto is_not_a_corner;
8407                             else
8408                               goto is_not_a_corner;
8409                     else
8410                       if(ptr[offset9] < c_b)
8411                         if(ptr[offset1] > cb)
8412                           if(ptr[offset6] > cb)
8413                             goto is_not_a_corner;
8414                           else
8415                             if(ptr[offset6] < c_b)
8416                               if(ptr[offset8] < c_b)
8417                                 if(ptr[offset4] < c_b)
8418                                   if(ptr[offset3] < c_b)
8419                                     goto is_a_corner;
8420                                   else
8421                                     if(ptr[offset10] < c_b)
8422                                       goto is_a_corner;
8423                                     else
8424                                       goto is_not_a_corner;
8425                                 else
8426                                   if(ptr[offset10] < c_b)
8427                                     if(ptr[offset11] < c_b)
8428                                       goto is_a_corner;
8429                                     else
8430                                       goto is_not_a_corner;
8431                                   else
8432                                     goto is_not_a_corner;
8433                               else
8434                                 goto is_not_a_corner;
8435                             else
8436                               goto is_not_a_corner;
8437                         else
8438                           if(ptr[offset1] < c_b)
8439                             if(ptr[offset6] > cb)
8440                               goto is_not_a_corner;
8441                             else
8442                               if(ptr[offset6] < c_b)
8443                                 if(ptr[offset4] < c_b)
8444                                   if(ptr[offset3] < c_b)
8445                                     goto is_a_corner;
8446                                   else
8447                                     if(ptr[offset8] < c_b)
8448                                       if(ptr[offset10] < c_b)
8449                                         goto is_a_corner;
8450                                       else
8451                                         goto is_not_a_corner;
8452                                     else
8453                                       goto is_not_a_corner;
8454                                 else
8455                                   if(ptr[offset8] < c_b)
8456                                     if(ptr[offset10] < c_b)
8457                                       if(ptr[offset11] < c_b)
8458                                         goto is_a_corner;
8459                                       else
8460                                         goto is_not_a_corner;
8461                                     else
8462                                       goto is_not_a_corner;
8463                                   else
8464                                     goto is_not_a_corner;
8465                               else
8466                                 goto is_not_a_corner;
8467                           else
8468                             if(ptr[offset6] > cb)
8469                               goto is_not_a_corner;
8470                             else
8471                               if(ptr[offset6] < c_b)
8472                                 if(ptr[offset8] < c_b)
8473                                   if(ptr[offset4] < c_b)
8474                                     if(ptr[offset3] < c_b)
8475                                       goto is_a_corner;
8476                                     else
8477                                       if(ptr[offset10] < c_b)
8478                                         goto is_a_corner;
8479                                       else
8480                                         goto is_not_a_corner;
8481                                   else
8482                                     if(ptr[offset10] < c_b)
8483                                       if(ptr[offset11] < c_b)
8484                                         goto is_a_corner;
8485                                       else
8486                                         goto is_not_a_corner;
8487                                     else
8488                                       goto is_not_a_corner;
8489                                 else
8490                                   goto is_not_a_corner;
8491                               else
8492                                 goto is_not_a_corner;
8493                       else
8494                         if(ptr[offset1] < c_b)
8495                           if(ptr[offset6] > cb)
8496                             goto is_not_a_corner;
8497                           else
8498                             if(ptr[offset6] < c_b)
8499                               if(ptr[offset3] < c_b)
8500                                 if(ptr[offset4] < c_b)
8501                                   goto is_a_corner;
8502                                 else
8503                                   goto is_not_a_corner;
8504                               else
8505                                 goto is_not_a_corner;
8506                             else
8507                               goto is_not_a_corner;
8508                         else
8509                           if(ptr[offset1] > cb)
8510                             if(ptr[offset6] > cb)
8511                               goto is_not_a_corner;
8512                             else
8513                               if(ptr[offset6] < c_b)
8514                                 if(ptr[offset3] < c_b)
8515                                   if(ptr[offset4] < c_b)
8516                                     if(ptr[offset8] < c_b)
8517                                       goto is_a_corner;
8518                                     else
8519                                       goto is_not_a_corner;
8520                                   else
8521                                     goto is_not_a_corner;
8522                                 else
8523                                   goto is_not_a_corner;
8524                               else
8525                                 goto is_not_a_corner;
8526                           else
8527                             if(ptr[offset6] > cb)
8528                               goto is_not_a_corner;
8529                             else
8530                               if(ptr[offset6] < c_b)
8531                                 if(ptr[offset3] < c_b)
8532                                   if(ptr[offset4] < c_b)
8533                                     if(ptr[offset8] < c_b)
8534                                       goto is_a_corner;
8535                                     else
8536                                       goto is_not_a_corner;
8537                                   else
8538                                     goto is_not_a_corner;
8539                                 else
8540                                   goto is_not_a_corner;
8541                               else
8542                                 goto is_not_a_corner;
8543                   else
8544                     if(ptr[offset9] > cb)
8545                       goto is_not_a_corner;
8546                     else
8547                       if(ptr[offset9] < c_b)
8548                         if(ptr[offset1] > cb)
8549                           if(ptr[offset6] > cb)
8550                             goto is_not_a_corner;
8551                           else
8552                             if(ptr[offset6] < c_b)
8553                               if(ptr[offset8] < c_b)
8554                                 if(ptr[offset4] < c_b)
8555                                   if(ptr[offset3] < c_b)
8556                                     goto is_a_corner;
8557                                   else
8558                                     if(ptr[offset10] < c_b)
8559                                       goto is_a_corner;
8560                                     else
8561                                       goto is_not_a_corner;
8562                                 else
8563                                   if(ptr[offset10] < c_b)
8564                                     if(ptr[offset11] < c_b)
8565                                       goto is_a_corner;
8566                                     else
8567                                       goto is_not_a_corner;
8568                                   else
8569                                     goto is_not_a_corner;
8570                               else
8571                                 goto is_not_a_corner;
8572                             else
8573                               goto is_not_a_corner;
8574                         else
8575                           if(ptr[offset1] < c_b)
8576                             if(ptr[offset6] > cb)
8577                               goto is_not_a_corner;
8578                             else
8579                               if(ptr[offset6] < c_b)
8580                                 if(ptr[offset8] < c_b)
8581                                   if(ptr[offset4] < c_b)
8582                                     if(ptr[offset3] < c_b)
8583                                       goto is_a_corner;
8584                                     else
8585                                       if(ptr[offset10] < c_b)
8586                                         goto is_a_corner;
8587                                       else
8588                                         goto is_not_a_corner;
8589                                   else
8590                                     if(ptr[offset10] < c_b)
8591                                       if(ptr[offset11] < c_b)
8592                                         goto is_a_corner;
8593                                       else
8594                                         goto is_not_a_corner;
8595                                     else
8596                                       goto is_not_a_corner;
8597                                 else
8598                                   goto is_not_a_corner;
8599                               else
8600                                 goto is_not_a_corner;
8601                           else
8602                             if(ptr[offset6] > cb)
8603                               goto is_not_a_corner;
8604                             else
8605                               if(ptr[offset6] < c_b)
8606                                 if(ptr[offset8] < c_b)
8607                                   if(ptr[offset4] < c_b)
8608                                     if(ptr[offset3] < c_b)
8609                                       goto is_a_corner;
8610                                     else
8611                                       if(ptr[offset10] < c_b)
8612                                         goto is_a_corner;
8613                                       else
8614                                         goto is_not_a_corner;
8615                                   else
8616                                     if(ptr[offset10] < c_b)
8617                                       if(ptr[offset11] < c_b)
8618                                         goto is_a_corner;
8619                                       else
8620                                         goto is_not_a_corner;
8621                                     else
8622                                       goto is_not_a_corner;
8623                                 else
8624                                   goto is_not_a_corner;
8625                               else
8626                                 goto is_not_a_corner;
8627                       else
8628                         goto is_not_a_corner;
8629               else
8630                 goto is_not_a_corner;
8631           else
8632             if(ptr[offset5] > cb)
8633               if(ptr[offset7] > cb)
8634                 if(ptr[offset2] < c_b)
8635                   if(ptr[offset9] < c_b)
8636                     goto is_not_a_corner;
8637                   else
8638                     if(ptr[offset9] > cb)
8639                       if(ptr[offset1] > cb)
8640                         if(ptr[offset6] < c_b)
8641                           goto is_not_a_corner;
8642                         else
8643                           if(ptr[offset6] > cb)
8644                             if(ptr[offset8] > cb)
8645                               if(ptr[offset4] > cb)
8646                                 if(ptr[offset3] > cb)
8647                                   goto is_a_corner;
8648                                 else
8649                                   if(ptr[offset10] > cb)
8650                                     goto is_a_corner;
8651                                   else
8652                                     goto is_not_a_corner;
8653                               else
8654                                 if(ptr[offset10] > cb)
8655                                   if(ptr[offset11] > cb)
8656                                     goto is_a_corner;
8657                                   else
8658                                     goto is_not_a_corner;
8659                                 else
8660                                   goto is_not_a_corner;
8661                             else
8662                               goto is_not_a_corner;
8663                           else
8664                             goto is_not_a_corner;
8665                       else
8666                         if(ptr[offset1] < c_b)
8667                           if(ptr[offset6] < c_b)
8668                             goto is_not_a_corner;
8669                           else
8670                             if(ptr[offset6] > cb)
8671                               if(ptr[offset8] > cb)
8672                                 if(ptr[offset4] > cb)
8673                                   if(ptr[offset3] > cb)
8674                                     goto is_a_corner;
8675                                   else
8676                                     if(ptr[offset10] > cb)
8677                                       goto is_a_corner;
8678                                     else
8679                                       goto is_not_a_corner;
8680                                 else
8681                                   if(ptr[offset10] > cb)
8682                                     if(ptr[offset11] > cb)
8683                                       goto is_a_corner;
8684                                     else
8685                                       goto is_not_a_corner;
8686                                   else
8687                                     goto is_not_a_corner;
8688                               else
8689                                 goto is_not_a_corner;
8690                             else
8691                               goto is_not_a_corner;
8692                         else
8693                           if(ptr[offset6] < c_b)
8694                             goto is_not_a_corner;
8695                           else
8696                             if(ptr[offset6] > cb)
8697                               if(ptr[offset8] > cb)
8698                                 if(ptr[offset4] > cb)
8699                                   if(ptr[offset3] > cb)
8700                                     goto is_a_corner;
8701                                   else
8702                                     if(ptr[offset10] > cb)
8703                                       goto is_a_corner;
8704                                     else
8705                                       goto is_not_a_corner;
8706                                 else
8707                                   if(ptr[offset10] > cb)
8708                                     if(ptr[offset11] > cb)
8709                                       goto is_a_corner;
8710                                     else
8711                                       goto is_not_a_corner;
8712                                   else
8713                                     goto is_not_a_corner;
8714                               else
8715                                 goto is_not_a_corner;
8716                             else
8717                               goto is_not_a_corner;
8718                     else
8719                       goto is_not_a_corner;
8720                 else
8721                   if(ptr[offset2] > cb)
8722                     if(ptr[offset9] < c_b)
8723                       if(ptr[offset1] > cb)
8724                         if(ptr[offset6] < c_b)
8725                           goto is_not_a_corner;
8726                         else
8727                           if(ptr[offset6] > cb)
8728                             if(ptr[offset3] > cb)
8729                               if(ptr[offset4] > cb)
8730                                 goto is_a_corner;
8731                               else
8732                                 goto is_not_a_corner;
8733                             else
8734                               goto is_not_a_corner;
8735                           else
8736                             goto is_not_a_corner;
8737                       else
8738                         if(ptr[offset1] < c_b)
8739                           if(ptr[offset6] < c_b)
8740                             goto is_not_a_corner;
8741                           else
8742                             if(ptr[offset6] > cb)
8743                               if(ptr[offset3] > cb)
8744                                 if(ptr[offset4] > cb)
8745                                   if(ptr[offset8] > cb)
8746                                     goto is_a_corner;
8747                                   else
8748                                     goto is_not_a_corner;
8749                                 else
8750                                   goto is_not_a_corner;
8751                               else
8752                                 goto is_not_a_corner;
8753                             else
8754                               goto is_not_a_corner;
8755                         else
8756                           if(ptr[offset6] < c_b)
8757                             goto is_not_a_corner;
8758                           else
8759                             if(ptr[offset6] > cb)
8760                               if(ptr[offset3] > cb)
8761                                 if(ptr[offset4] > cb)
8762                                   if(ptr[offset8] > cb)
8763                                     goto is_a_corner;
8764                                   else
8765                                     goto is_not_a_corner;
8766                                 else
8767                                   goto is_not_a_corner;
8768                               else
8769                                 goto is_not_a_corner;
8770                             else
8771                               goto is_not_a_corner;
8772                     else
8773                       if(ptr[offset9] > cb)
8774                         if(ptr[offset1] < c_b)
8775                           if(ptr[offset6] < c_b)
8776                             goto is_not_a_corner;
8777                           else
8778                             if(ptr[offset6] > cb)
8779                               if(ptr[offset8] > cb)
8780                                 if(ptr[offset4] > cb)
8781                                   if(ptr[offset3] > cb)
8782                                     goto is_a_corner;
8783                                   else
8784                                     if(ptr[offset10] > cb)
8785                                       goto is_a_corner;
8786                                     else
8787                                       goto is_not_a_corner;
8788                                 else
8789                                   if(ptr[offset10] > cb)
8790                                     if(ptr[offset11] > cb)
8791                                       goto is_a_corner;
8792                                     else
8793                                       goto is_not_a_corner;
8794                                   else
8795                                     goto is_not_a_corner;
8796                               else
8797                                 goto is_not_a_corner;
8798                             else
8799                               goto is_not_a_corner;
8800                         else
8801                           if(ptr[offset1] > cb)
8802                             if(ptr[offset6] < c_b)
8803                               goto is_not_a_corner;
8804                             else
8805                               if(ptr[offset6] > cb)
8806                                 if(ptr[offset4] > cb)
8807                                   if(ptr[offset3] > cb)
8808                                     goto is_a_corner;
8809                                   else
8810                                     if(ptr[offset8] > cb)
8811                                       if(ptr[offset10] > cb)
8812                                         goto is_a_corner;
8813                                       else
8814                                         goto is_not_a_corner;
8815                                     else
8816                                       goto is_not_a_corner;
8817                                 else
8818                                   if(ptr[offset8] > cb)
8819                                     if(ptr[offset10] > cb)
8820                                       if(ptr[offset11] > cb)
8821                                         goto is_a_corner;
8822                                       else
8823                                         goto is_not_a_corner;
8824                                     else
8825                                       goto is_not_a_corner;
8826                                   else
8827                                     goto is_not_a_corner;
8828                               else
8829                                 goto is_not_a_corner;
8830                           else
8831                             if(ptr[offset6] < c_b)
8832                               goto is_not_a_corner;
8833                             else
8834                               if(ptr[offset6] > cb)
8835                                 if(ptr[offset8] > cb)
8836                                   if(ptr[offset4] > cb)
8837                                     if(ptr[offset3] > cb)
8838                                       goto is_a_corner;
8839                                     else
8840                                       if(ptr[offset10] > cb)
8841                                         goto is_a_corner;
8842                                       else
8843                                         goto is_not_a_corner;
8844                                   else
8845                                     if(ptr[offset10] > cb)
8846                                       if(ptr[offset11] > cb)
8847                                         goto is_a_corner;
8848                                       else
8849                                         goto is_not_a_corner;
8850                                     else
8851                                       goto is_not_a_corner;
8852                                 else
8853                                   goto is_not_a_corner;
8854                               else
8855                                 goto is_not_a_corner;
8856                       else
8857                         if(ptr[offset1] > cb)
8858                           if(ptr[offset6] < c_b)
8859                             goto is_not_a_corner;
8860                           else
8861                             if(ptr[offset6] > cb)
8862                               if(ptr[offset3] > cb)
8863                                 if(ptr[offset4] > cb)
8864                                   goto is_a_corner;
8865                                 else
8866                                   goto is_not_a_corner;
8867                               else
8868                                 goto is_not_a_corner;
8869                             else
8870                               goto is_not_a_corner;
8871                         else
8872                           if(ptr[offset1] < c_b)
8873                             if(ptr[offset6] < c_b)
8874                               goto is_not_a_corner;
8875                             else
8876                               if(ptr[offset6] > cb)
8877                                 if(ptr[offset3] > cb)
8878                                   if(ptr[offset4] > cb)
8879                                     if(ptr[offset8] > cb)
8880                                       goto is_a_corner;
8881                                     else
8882                                       goto is_not_a_corner;
8883                                   else
8884                                     goto is_not_a_corner;
8885                                 else
8886                                   goto is_not_a_corner;
8887                               else
8888                                 goto is_not_a_corner;
8889                           else
8890                             if(ptr[offset6] < c_b)
8891                               goto is_not_a_corner;
8892                             else
8893                               if(ptr[offset6] > cb)
8894                                 if(ptr[offset3] > cb)
8895                                   if(ptr[offset4] > cb)
8896                                     if(ptr[offset8] > cb)
8897                                       goto is_a_corner;
8898                                     else
8899                                       goto is_not_a_corner;
8900                                   else
8901                                     goto is_not_a_corner;
8902                                 else
8903                                   goto is_not_a_corner;
8904                               else
8905                                 goto is_not_a_corner;
8906                   else
8907                     if(ptr[offset9] < c_b)
8908                       goto is_not_a_corner;
8909                     else
8910                       if(ptr[offset9] > cb)
8911                         if(ptr[offset1] > cb)
8912                           if(ptr[offset6] < c_b)
8913                             goto is_not_a_corner;
8914                           else
8915                             if(ptr[offset6] > cb)
8916                               if(ptr[offset8] > cb)
8917                                 if(ptr[offset4] > cb)
8918                                   if(ptr[offset3] > cb)
8919                                     goto is_a_corner;
8920                                   else
8921                                     if(ptr[offset10] > cb)
8922                                       goto is_a_corner;
8923                                     else
8924                                       goto is_not_a_corner;
8925                                 else
8926                                   if(ptr[offset10] > cb)
8927                                     if(ptr[offset11] > cb)
8928                                       goto is_a_corner;
8929                                     else
8930                                       goto is_not_a_corner;
8931                                   else
8932                                     goto is_not_a_corner;
8933                               else
8934                                 goto is_not_a_corner;
8935                             else
8936                               goto is_not_a_corner;
8937                         else
8938                           if(ptr[offset1] < c_b)
8939                             if(ptr[offset6] < c_b)
8940                               goto is_not_a_corner;
8941                             else
8942                               if(ptr[offset6] > cb)
8943                                 if(ptr[offset8] > cb)
8944                                   if(ptr[offset4] > cb)
8945                                     if(ptr[offset3] > cb)
8946                                       goto is_a_corner;
8947                                     else
8948                                       if(ptr[offset10] > cb)
8949                                         goto is_a_corner;
8950                                       else
8951                                         goto is_not_a_corner;
8952                                   else
8953                                     if(ptr[offset10] > cb)
8954                                       if(ptr[offset11] > cb)
8955                                         goto is_a_corner;
8956                                       else
8957                                         goto is_not_a_corner;
8958                                     else
8959                                       goto is_not_a_corner;
8960                                 else
8961                                   goto is_not_a_corner;
8962                               else
8963                                 goto is_not_a_corner;
8964                           else
8965                             if(ptr[offset6] < c_b)
8966                               goto is_not_a_corner;
8967                             else
8968                               if(ptr[offset6] > cb)
8969                                 if(ptr[offset8] > cb)
8970                                   if(ptr[offset4] > cb)
8971                                     if(ptr[offset3] > cb)
8972                                       goto is_a_corner;
8973                                     else
8974                                       if(ptr[offset10] > cb)
8975                                         goto is_a_corner;
8976                                       else
8977                                         goto is_not_a_corner;
8978                                   else
8979                                     if(ptr[offset10] > cb)
8980                                       if(ptr[offset11] > cb)
8981                                         goto is_a_corner;
8982                                       else
8983                                         goto is_not_a_corner;
8984                                     else
8985                                       goto is_not_a_corner;
8986                                 else
8987                                   goto is_not_a_corner;
8988                               else
8989                                 goto is_not_a_corner;
8990                       else
8991                         goto is_not_a_corner;
8992               else
8993                 goto is_not_a_corner;
8994             else
8995               goto is_not_a_corner;
8996 
8997         is_a_corner:
8998             bmin = b_test;
8999             goto end;
9000 
9001         is_not_a_corner:
9002             bmax = b_test;
9003             goto end;
9004 
9005         end:
9006 
9007         if(bmin == bmax - 1 || bmin == bmax)
9008             return bmin;
9009         b_test = (bmin + bmax) / 2;
9010     }
9011 }
9012 
9013 // 8 pixel mask
9014 template<>
agast_cornerScore(const uchar * ptr,const int pixel[],int threshold)9015 int agast_cornerScore<AgastFeatureDetector::AGAST_5_8>(const uchar* ptr, const int pixel[], int threshold)
9016 {
9017     int bmin = threshold;
9018     int bmax = 255;
9019     int b_test = (bmax + bmin)/2;
9020 
9021     register short offset0 = (short) pixel[0];
9022     register short offset1 = (short) pixel[1];
9023     register short offset2 = (short) pixel[2];
9024     register short offset3 = (short) pixel[3];
9025     register short offset4 = (short) pixel[4];
9026     register short offset5 = (short) pixel[5];
9027     register short offset6 = (short) pixel[6];
9028     register short offset7 = (short) pixel[7];
9029 
9030     while(true)
9031     {
9032         register const int cb = *ptr + b_test;
9033         register const int c_b = *ptr - b_test;
9034         if(ptr[offset0] > cb)
9035           if(ptr[offset2] > cb)
9036             if(ptr[offset3] > cb)
9037               if(ptr[offset5] > cb)
9038                 if(ptr[offset1] > cb)
9039                   if(ptr[offset4] > cb)
9040                     goto is_a_corner;
9041                   else
9042                     if(ptr[offset7] > cb)
9043                       goto is_a_corner;
9044                     else
9045                       goto is_not_a_corner;
9046                 else
9047                   if(ptr[offset4] > cb)
9048                     if(ptr[offset6] > cb)
9049                       goto is_a_corner;
9050                     else
9051                       goto is_not_a_corner;
9052                   else
9053                     goto is_not_a_corner;
9054               else
9055                 if(ptr[offset1] > cb)
9056                   if(ptr[offset4] > cb)
9057                     goto is_a_corner;
9058                   else
9059                     if(ptr[offset7] > cb)
9060                       goto is_a_corner;
9061                     else
9062                       goto is_not_a_corner;
9063                 else
9064                   goto is_not_a_corner;
9065             else
9066               if(ptr[offset7] > cb)
9067                 if(ptr[offset6] > cb)
9068                   if(ptr[offset5] > cb)
9069                     if(ptr[offset1] > cb)
9070                       goto is_a_corner;
9071                     else
9072                       if(ptr[offset4] > cb)
9073                         goto is_a_corner;
9074                       else
9075                         goto is_not_a_corner;
9076                   else
9077                     if(ptr[offset1] > cb)
9078                       goto is_a_corner;
9079                     else
9080                       goto is_not_a_corner;
9081                 else
9082                   goto is_not_a_corner;
9083               else
9084                 if(ptr[offset5] < c_b)
9085                   if(ptr[offset3] < c_b)
9086                     if(ptr[offset7] < c_b)
9087                       if(ptr[offset4] < c_b)
9088                         if(ptr[offset6] < c_b)
9089                           goto is_a_corner;
9090                         else
9091                           goto is_not_a_corner;
9092                       else
9093                         goto is_not_a_corner;
9094                     else
9095                       goto is_not_a_corner;
9096                   else
9097                     goto is_not_a_corner;
9098                 else
9099                   goto is_not_a_corner;
9100           else
9101             if(ptr[offset5] > cb)
9102               if(ptr[offset7] > cb)
9103                 if(ptr[offset6] > cb)
9104                   if(ptr[offset1] > cb)
9105                     goto is_a_corner;
9106                   else
9107                     if(ptr[offset4] > cb)
9108                       goto is_a_corner;
9109                     else
9110                       goto is_not_a_corner;
9111                 else
9112                   goto is_not_a_corner;
9113               else
9114                 goto is_not_a_corner;
9115             else
9116               if(ptr[offset5] < c_b)
9117                 if(ptr[offset3] < c_b)
9118                   if(ptr[offset2] < c_b)
9119                     if(ptr[offset1] < c_b)
9120                       if(ptr[offset4] < c_b)
9121                         goto is_a_corner;
9122                       else
9123                         goto is_not_a_corner;
9124                     else
9125                       if(ptr[offset4] < c_b)
9126                         if(ptr[offset6] < c_b)
9127                           goto is_a_corner;
9128                         else
9129                           goto is_not_a_corner;
9130                       else
9131                         goto is_not_a_corner;
9132                   else
9133                     if(ptr[offset7] < c_b)
9134                       if(ptr[offset4] < c_b)
9135                         if(ptr[offset6] < c_b)
9136                           goto is_a_corner;
9137                         else
9138                           goto is_not_a_corner;
9139                       else
9140                         goto is_not_a_corner;
9141                     else
9142                       goto is_not_a_corner;
9143                 else
9144                   goto is_not_a_corner;
9145               else
9146                 goto is_not_a_corner;
9147         else if(ptr[offset0] < c_b)
9148           if(ptr[offset2] < c_b)
9149             if(ptr[offset7] > cb)
9150               if(ptr[offset3] < c_b)
9151                 if(ptr[offset5] < c_b)
9152                   if(ptr[offset1] < c_b)
9153                     if(ptr[offset4] < c_b)
9154                       goto is_a_corner;
9155                     else
9156                       goto is_not_a_corner;
9157                   else
9158                     if(ptr[offset4] < c_b)
9159                       if(ptr[offset6] < c_b)
9160                         goto is_a_corner;
9161                       else
9162                         goto is_not_a_corner;
9163                     else
9164                       goto is_not_a_corner;
9165                 else
9166                   if(ptr[offset1] < c_b)
9167                     if(ptr[offset4] < c_b)
9168                       goto is_a_corner;
9169                     else
9170                       goto is_not_a_corner;
9171                   else
9172                     goto is_not_a_corner;
9173               else
9174                 if(ptr[offset5] > cb)
9175                   if(ptr[offset3] > cb)
9176                     if(ptr[offset4] > cb)
9177                       if(ptr[offset6] > cb)
9178                         goto is_a_corner;
9179                       else
9180                         goto is_not_a_corner;
9181                     else
9182                       goto is_not_a_corner;
9183                   else
9184                     goto is_not_a_corner;
9185                 else
9186                   goto is_not_a_corner;
9187             else
9188               if(ptr[offset7] < c_b)
9189                 if(ptr[offset3] < c_b)
9190                   if(ptr[offset5] < c_b)
9191                     if(ptr[offset1] < c_b)
9192                       goto is_a_corner;
9193                     else
9194                       if(ptr[offset4] < c_b)
9195                         if(ptr[offset6] < c_b)
9196                           goto is_a_corner;
9197                         else
9198                           goto is_not_a_corner;
9199                       else
9200                         goto is_not_a_corner;
9201                   else
9202                     if(ptr[offset1] < c_b)
9203                       goto is_a_corner;
9204                     else
9205                       goto is_not_a_corner;
9206                 else
9207                   if(ptr[offset6] < c_b)
9208                     if(ptr[offset5] < c_b)
9209                       if(ptr[offset1] < c_b)
9210                         goto is_a_corner;
9211                       else
9212                         if(ptr[offset4] < c_b)
9213                           goto is_a_corner;
9214                         else
9215                           goto is_not_a_corner;
9216                     else
9217                       if(ptr[offset1] < c_b)
9218                         goto is_a_corner;
9219                       else
9220                         goto is_not_a_corner;
9221                   else
9222                     goto is_not_a_corner;
9223               else
9224                 if(ptr[offset3] < c_b)
9225                   if(ptr[offset5] < c_b)
9226                     if(ptr[offset1] < c_b)
9227                       if(ptr[offset4] < c_b)
9228                         goto is_a_corner;
9229                       else
9230                         goto is_not_a_corner;
9231                     else
9232                       if(ptr[offset4] < c_b)
9233                         if(ptr[offset6] < c_b)
9234                           goto is_a_corner;
9235                         else
9236                           goto is_not_a_corner;
9237                       else
9238                         goto is_not_a_corner;
9239                   else
9240                     if(ptr[offset1] < c_b)
9241                       if(ptr[offset4] < c_b)
9242                         goto is_a_corner;
9243                       else
9244                         goto is_not_a_corner;
9245                     else
9246                       goto is_not_a_corner;
9247                 else
9248                   goto is_not_a_corner;
9249           else
9250             if(ptr[offset5] > cb)
9251               if(ptr[offset3] > cb)
9252                 if(ptr[offset2] > cb)
9253                   if(ptr[offset1] > cb)
9254                     if(ptr[offset4] > cb)
9255                       goto is_a_corner;
9256                     else
9257                       goto is_not_a_corner;
9258                   else
9259                     if(ptr[offset4] > cb)
9260                       if(ptr[offset6] > cb)
9261                         goto is_a_corner;
9262                       else
9263                         goto is_not_a_corner;
9264                     else
9265                       goto is_not_a_corner;
9266                 else
9267                   if(ptr[offset7] > cb)
9268                     if(ptr[offset4] > cb)
9269                       if(ptr[offset6] > cb)
9270                         goto is_a_corner;
9271                       else
9272                         goto is_not_a_corner;
9273                     else
9274                       goto is_not_a_corner;
9275                   else
9276                     goto is_not_a_corner;
9277               else
9278                 goto is_not_a_corner;
9279             else
9280               if(ptr[offset5] < c_b)
9281                 if(ptr[offset7] < c_b)
9282                   if(ptr[offset6] < c_b)
9283                     if(ptr[offset1] < c_b)
9284                       goto is_a_corner;
9285                     else
9286                       if(ptr[offset4] < c_b)
9287                         goto is_a_corner;
9288                       else
9289                         goto is_not_a_corner;
9290                   else
9291                     goto is_not_a_corner;
9292                 else
9293                   goto is_not_a_corner;
9294               else
9295                 goto is_not_a_corner;
9296         else
9297           if(ptr[offset3] > cb)
9298             if(ptr[offset5] > cb)
9299               if(ptr[offset2] > cb)
9300                 if(ptr[offset1] > cb)
9301                   if(ptr[offset4] > cb)
9302                     goto is_a_corner;
9303                   else
9304                     goto is_not_a_corner;
9305                 else
9306                   if(ptr[offset4] > cb)
9307                     if(ptr[offset6] > cb)
9308                       goto is_a_corner;
9309                     else
9310                       goto is_not_a_corner;
9311                   else
9312                     goto is_not_a_corner;
9313               else
9314                 if(ptr[offset7] > cb)
9315                   if(ptr[offset4] > cb)
9316                     if(ptr[offset6] > cb)
9317                       goto is_a_corner;
9318                     else
9319                       goto is_not_a_corner;
9320                   else
9321                     goto is_not_a_corner;
9322                 else
9323                   goto is_not_a_corner;
9324             else
9325               goto is_not_a_corner;
9326           else
9327             if(ptr[offset3] < c_b)
9328               if(ptr[offset5] < c_b)
9329                 if(ptr[offset2] < c_b)
9330                   if(ptr[offset1] < c_b)
9331                     if(ptr[offset4] < c_b)
9332                       goto is_a_corner;
9333                     else
9334                       goto is_not_a_corner;
9335                   else
9336                     if(ptr[offset4] < c_b)
9337                       if(ptr[offset6] < c_b)
9338                         goto is_a_corner;
9339                       else
9340                         goto is_not_a_corner;
9341                     else
9342                       goto is_not_a_corner;
9343                 else
9344                   if(ptr[offset7] < c_b)
9345                     if(ptr[offset4] < c_b)
9346                       if(ptr[offset6] < c_b)
9347                         goto is_a_corner;
9348                       else
9349                         goto is_not_a_corner;
9350                     else
9351                       goto is_not_a_corner;
9352                   else
9353                     goto is_not_a_corner;
9354               else
9355                 goto is_not_a_corner;
9356             else
9357               goto is_not_a_corner;
9358 
9359         is_a_corner:
9360             bmin=b_test;
9361             goto end;
9362 
9363         is_not_a_corner:
9364             bmax=b_test;
9365             goto end;
9366 
9367         end:
9368 
9369         if(bmin == bmax - 1 || bmin == bmax)
9370             return bmin;
9371         b_test = (bmin + bmax) / 2;
9372     }
9373 }
9374 
9375 } // namespace cv
9376