1 module dcv.features.corner.fast.fast_10;
2 
3 /*
4 Authors: Edward Rosten
5 Copyright: Copyright (c) 2006, 2008 Edward Rosten, All rights reserved.
6 
7 Additional notice:
8 Module integrates FAST implementation present in the Edward Rosten's
9 github repository: https://github.com/edrosten/fast-C-src
10 */
11 
12 import core.stdc.stdlib : malloc, free, realloc;
13 
14 import dcv.features.corner.fast.base;
15 
16 
17 int fast10_corner_score(const ubyte* p, const int *pixel, int bstart)
18 {    
19     int bmin = bstart;
20     int bmax = 255;
21     int b = (bmax + bmin)/2;
22     
23     /*Compute the score using binary search*/
24     for(;;)
25     {
26         int cb = *p + b;
27         int c_b= *p - b;
28 
29         
30         if( p[pixel[0]] > cb)
31             if( p[pixel[1]] > cb)
32                 if( p[pixel[2]] > cb)
33                     if( p[pixel[3]] > cb)
34                         if( p[pixel[4]] > cb)
35                             if( p[pixel[5]] > cb)
36                                 if( p[pixel[6]] > cb)
37                                     if( p[pixel[7]] > cb)
38                                         if( p[pixel[8]] > cb)
39                                             if( p[pixel[9]] > cb)
40                                                 goto is_a_corner;
41                                             else
42                                                 if( p[pixel[15]] > cb)
43                                                     goto is_a_corner;
44                                                 else
45                                                     goto is_not_a_corner;
46         else
47             if( p[pixel[14]] > cb)
48                 if( p[pixel[15]] > cb)
49                     goto is_a_corner;
50                 else
51                     goto is_not_a_corner;
52         else
53             goto is_not_a_corner;
54         else
55             if( p[pixel[13]] > cb)
56                 if( p[pixel[14]] > cb)
57                     if( p[pixel[15]] > cb)
58                         goto is_a_corner;
59                     else
60                         goto is_not_a_corner;
61         else
62             goto is_not_a_corner;
63         else
64             goto is_not_a_corner;
65         else if( p[pixel[6]] < c_b)
66             if( p[pixel[12]] > cb)
67                 if( p[pixel[13]] > cb)
68                     if( p[pixel[14]] > cb)
69                         if( p[pixel[15]] > cb)
70                             goto is_a_corner;
71                         else
72                             goto is_not_a_corner;
73         else
74             goto is_not_a_corner;
75         else
76             goto is_not_a_corner;
77         else if( p[pixel[12]] < c_b)
78             if( p[pixel[7]] < c_b)
79                 if( p[pixel[8]] < c_b)
80                     if( p[pixel[9]] < c_b)
81                         if( p[pixel[10]] < c_b)
82                             if( p[pixel[11]] < c_b)
83                                 if( p[pixel[13]] < c_b)
84                                     if( p[pixel[14]] < c_b)
85                                         if( p[pixel[15]] < c_b)
86                                             goto is_a_corner;
87                                         else
88                                             goto is_not_a_corner;
89         else
90             goto is_not_a_corner;
91         else
92             goto is_not_a_corner;
93         else
94             goto is_not_a_corner;
95         else
96             goto is_not_a_corner;
97         else
98             goto is_not_a_corner;
99         else
100             goto is_not_a_corner;
101         else
102             goto is_not_a_corner;
103         else
104             goto is_not_a_corner;
105         else
106             if( p[pixel[12]] > cb)
107                 if( p[pixel[13]] > cb)
108                     if( p[pixel[14]] > cb)
109                         if( p[pixel[15]] > cb)
110                             goto is_a_corner;
111                         else
112                             goto is_not_a_corner;
113         else
114             goto is_not_a_corner;
115         else
116             goto is_not_a_corner;
117         else
118             goto is_not_a_corner;
119         else if( p[pixel[5]] < c_b)
120             if( p[pixel[15]] > cb)
121                 if( p[pixel[11]] > cb)
122                     if( p[pixel[12]] > cb)
123                         if( p[pixel[13]] > cb)
124                             if( p[pixel[14]] > cb)
125                                 goto is_a_corner;
126                             else
127                                 goto is_not_a_corner;
128         else
129             goto is_not_a_corner;
130         else
131             goto is_not_a_corner;
132         else if( p[pixel[11]] < c_b)
133             if( p[pixel[6]] < c_b)
134                 if( p[pixel[7]] < c_b)
135                     if( p[pixel[8]] < c_b)
136                         if( p[pixel[9]] < c_b)
137                             if( p[pixel[10]] < c_b)
138                                 if( p[pixel[12]] < c_b)
139                                     if( p[pixel[13]] < c_b)
140                                         if( p[pixel[14]] < c_b)
141                                             goto is_a_corner;
142                                         else
143                                             goto is_not_a_corner;
144         else
145             goto is_not_a_corner;
146         else
147             goto is_not_a_corner;
148         else
149             goto is_not_a_corner;
150         else
151             goto is_not_a_corner;
152         else
153             goto is_not_a_corner;
154         else
155             goto is_not_a_corner;
156         else
157             goto is_not_a_corner;
158         else
159             goto is_not_a_corner;
160         else
161             if( p[pixel[6]] < c_b)
162                 if( p[pixel[7]] < c_b)
163                     if( p[pixel[8]] < c_b)
164                         if( p[pixel[9]] < c_b)
165                             if( p[pixel[10]] < c_b)
166                                 if( p[pixel[11]] < c_b)
167                                     if( p[pixel[12]] < c_b)
168                                         if( p[pixel[13]] < c_b)
169                                             if( p[pixel[14]] < c_b)
170                                                 goto is_a_corner;
171                                             else
172                                                 goto is_not_a_corner;
173         else
174             goto is_not_a_corner;
175         else
176             goto is_not_a_corner;
177         else
178             goto is_not_a_corner;
179         else
180             goto is_not_a_corner;
181         else
182             goto is_not_a_corner;
183         else
184             goto is_not_a_corner;
185         else
186             goto is_not_a_corner;
187         else
188             goto is_not_a_corner;
189         else
190             if( p[pixel[11]] > cb)
191                 if( p[pixel[12]] > cb)
192                     if( p[pixel[13]] > cb)
193                         if( p[pixel[14]] > cb)
194                             if( p[pixel[15]] > cb)
195                                 goto is_a_corner;
196                             else
197                                 goto is_not_a_corner;
198         else
199             goto is_not_a_corner;
200         else
201             goto is_not_a_corner;
202         else
203             goto is_not_a_corner;
204         else if( p[pixel[11]] < c_b)
205             if( p[pixel[6]] < c_b)
206                 if( p[pixel[7]] < c_b)
207                     if( p[pixel[8]] < c_b)
208                         if( p[pixel[9]] < c_b)
209                             if( p[pixel[10]] < c_b)
210                                 if( p[pixel[12]] < c_b)
211                                     if( p[pixel[13]] < c_b)
212                                         if( p[pixel[14]] < c_b)
213                                             if( p[pixel[15]] < c_b)
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
230             goto is_not_a_corner;
231         else
232             goto is_not_a_corner;
233         else
234             goto is_not_a_corner;
235         else if( p[pixel[4]] < c_b)
236             if( p[pixel[14]] > cb)
237                 if( p[pixel[10]] > cb)
238                     if( p[pixel[11]] > cb)
239                         if( p[pixel[12]] > cb)
240                             if( p[pixel[13]] > cb)
241                                 if( p[pixel[15]] > cb)
242                                     goto is_a_corner;
243                                 else
244                                     if( p[pixel[5]] > cb)
245                                         if( p[pixel[6]] > cb)
246                                             if( p[pixel[7]] > cb)
247                                                 if( p[pixel[8]] > cb)
248                                                     if( p[pixel[9]] > cb)
249                                                         goto is_a_corner;
250                                                     else
251                                                         goto is_not_a_corner;
252         else
253             goto is_not_a_corner;
254         else
255             goto is_not_a_corner;
256         else
257             goto is_not_a_corner;
258         else
259             goto is_not_a_corner;
260         else
261             goto is_not_a_corner;
262         else
263             goto is_not_a_corner;
264         else
265             goto is_not_a_corner;
266         else if( p[pixel[10]] < c_b)
267             if( p[pixel[5]] < c_b)
268                 if( p[pixel[6]] < c_b)
269                     if( p[pixel[7]] < c_b)
270                         if( p[pixel[8]] < c_b)
271                             if( p[pixel[9]] < c_b)
272                                 if( p[pixel[11]] < c_b)
273                                     if( p[pixel[12]] < c_b)
274                                         if( p[pixel[13]] < c_b)
275                                             goto is_a_corner;
276                                         else
277                                             goto is_not_a_corner;
278         else
279             goto is_not_a_corner;
280         else
281             goto is_not_a_corner;
282         else
283             goto is_not_a_corner;
284         else
285             goto is_not_a_corner;
286         else
287             goto is_not_a_corner;
288         else
289             goto is_not_a_corner;
290         else
291             goto is_not_a_corner;
292         else
293             goto is_not_a_corner;
294         else if( p[pixel[14]] < c_b)
295             if( p[pixel[6]] < c_b)
296                 if( p[pixel[7]] < c_b)
297                     if( p[pixel[8]] < c_b)
298                         if( p[pixel[9]] < c_b)
299                             if( p[pixel[10]] < c_b)
300                                 if( p[pixel[11]] < c_b)
301                                     if( p[pixel[12]] < c_b)
302                                         if( p[pixel[13]] < c_b)
303                                             if( p[pixel[5]] < c_b)
304                                                 goto is_a_corner;
305                                             else
306                                                 if( p[pixel[15]] < c_b)
307                                                     goto is_a_corner;
308                                                 else
309                                                     goto is_not_a_corner;
310         else
311             goto is_not_a_corner;
312         else
313             goto is_not_a_corner;
314         else
315             goto is_not_a_corner;
316         else
317             goto is_not_a_corner;
318         else
319             goto is_not_a_corner;
320         else
321             goto is_not_a_corner;
322         else
323             goto is_not_a_corner;
324         else
325             goto is_not_a_corner;
326         else
327             if( p[pixel[5]] < c_b)
328                 if( p[pixel[6]] < c_b)
329                     if( p[pixel[7]] < c_b)
330                         if( p[pixel[8]] < c_b)
331                             if( p[pixel[9]] < c_b)
332                                 if( p[pixel[10]] < c_b)
333                                     if( p[pixel[11]] < c_b)
334                                         if( p[pixel[12]] < c_b)
335                                             if( p[pixel[13]] < c_b)
336                                                 goto is_a_corner;
337                                             else
338                                                 goto is_not_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
356             if( p[pixel[10]] > cb)
357                 if( p[pixel[11]] > cb)
358                     if( p[pixel[12]] > cb)
359                         if( p[pixel[13]] > cb)
360                             if( p[pixel[14]] > cb)
361                                 if( p[pixel[15]] > cb)
362                                     goto is_a_corner;
363                                 else
364                                     if( p[pixel[5]] > cb)
365                                         if( p[pixel[6]] > cb)
366                                             if( p[pixel[7]] > cb)
367                                                 if( p[pixel[8]] > cb)
368                                                     if( p[pixel[9]] > cb)
369                                                         goto is_a_corner;
370                                                     else
371                                                         goto is_not_a_corner;
372         else
373             goto is_not_a_corner;
374         else
375             goto is_not_a_corner;
376         else
377             goto is_not_a_corner;
378         else
379             goto is_not_a_corner;
380         else
381             goto is_not_a_corner;
382         else
383             goto is_not_a_corner;
384         else
385             goto is_not_a_corner;
386         else
387             goto is_not_a_corner;
388         else if( p[pixel[10]] < c_b)
389             if( p[pixel[6]] < c_b)
390                 if( p[pixel[7]] < c_b)
391                     if( p[pixel[8]] < c_b)
392                         if( p[pixel[9]] < c_b)
393                             if( p[pixel[11]] < c_b)
394                                 if( p[pixel[12]] < c_b)
395                                     if( p[pixel[13]] < c_b)
396                                         if( p[pixel[14]] < c_b)
397                                             if( p[pixel[5]] < c_b)
398                                                 goto is_a_corner;
399                                             else
400                                                 if( p[pixel[15]] < c_b)
401                                                     goto is_a_corner;
402                                                 else
403                                                     goto is_not_a_corner;
404         else
405             goto is_not_a_corner;
406         else
407             goto is_not_a_corner;
408         else
409             goto is_not_a_corner;
410         else
411             goto is_not_a_corner;
412         else
413             goto is_not_a_corner;
414         else
415             goto is_not_a_corner;
416         else
417             goto is_not_a_corner;
418         else
419             goto is_not_a_corner;
420         else
421             goto is_not_a_corner;
422         else if( p[pixel[3]] < c_b)
423             if( p[pixel[9]] > cb)
424                 if( p[pixel[10]] > cb)
425                     if( p[pixel[11]] > cb)
426                         if( p[pixel[12]] > cb)
427                             if( p[pixel[13]] > cb)
428                                 if( p[pixel[14]] > cb)
429                                     if( p[pixel[15]] > cb)
430                                         goto is_a_corner;
431                                     else
432                                         if( p[pixel[5]] > cb)
433                                             if( p[pixel[6]] > cb)
434                                                 if( p[pixel[7]] > cb)
435                                                     if( p[pixel[8]] > cb)
436                                                         goto is_a_corner;
437                                                     else
438                                                         goto is_not_a_corner;
439         else
440             goto is_not_a_corner;
441         else
442             goto is_not_a_corner;
443         else
444             goto is_not_a_corner;
445         else
446             if( p[pixel[4]] > cb)
447                 if( p[pixel[5]] > cb)
448                     if( p[pixel[6]] > cb)
449                         if( p[pixel[7]] > cb)
450                             if( p[pixel[8]] > 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             goto is_not_a_corner;
458         else
459             goto is_not_a_corner;
460         else
461             goto is_not_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 if( p[pixel[9]] < c_b)
471             if( p[pixel[6]] < c_b)
472                 if( p[pixel[7]] < c_b)
473                     if( p[pixel[8]] < c_b)
474                         if( p[pixel[10]] < c_b)
475                             if( p[pixel[11]] < c_b)
476                                 if( p[pixel[12]] < c_b)
477                                     if( p[pixel[5]] < c_b)
478                                         if( p[pixel[4]] < c_b)
479                                             goto is_a_corner;
480                                         else
481                                             if( p[pixel[13]] < c_b)
482                                                 if( p[pixel[14]] < c_b)
483                                                     goto is_a_corner;
484                                                 else
485                                                     goto is_not_a_corner;
486         else
487             goto is_not_a_corner;
488         else
489             if( p[pixel[13]] < c_b)
490                 if( p[pixel[14]] < c_b)
491                     if( p[pixel[15]] < c_b)
492                         goto is_a_corner;
493                     else
494                         goto is_not_a_corner;
495         else
496             goto is_not_a_corner;
497         else
498             goto is_not_a_corner;
499         else
500             goto is_not_a_corner;
501         else
502             goto is_not_a_corner;
503         else
504             goto is_not_a_corner;
505         else
506             goto is_not_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             if( p[pixel[9]] > cb)
515                 if( p[pixel[10]] > cb)
516                     if( p[pixel[11]] > cb)
517                         if( p[pixel[12]] > cb)
518                             if( p[pixel[13]] > cb)
519                                 if( p[pixel[14]] > cb)
520                                     if( p[pixel[15]] > cb)
521                                         goto is_a_corner;
522                                     else
523                                         if( p[pixel[5]] > cb)
524                                             if( p[pixel[6]] > cb)
525                                                 if( p[pixel[7]] > cb)
526                                                     if( p[pixel[8]] > cb)
527                                                         goto is_a_corner;
528                                                     else
529                                                         goto is_not_a_corner;
530         else
531             goto is_not_a_corner;
532         else
533             goto is_not_a_corner;
534         else
535             goto is_not_a_corner;
536         else
537             if( p[pixel[4]] > cb)
538                 if( p[pixel[5]] > cb)
539                     if( p[pixel[6]] > cb)
540                         if( p[pixel[7]] > cb)
541                             if( p[pixel[8]] > cb)
542                                 goto is_a_corner;
543                             else
544                                 goto is_not_a_corner;
545         else
546             goto is_not_a_corner;
547         else
548             goto is_not_a_corner;
549         else
550             goto is_not_a_corner;
551         else
552             goto is_not_a_corner;
553         else
554             goto is_not_a_corner;
555         else
556             goto is_not_a_corner;
557         else
558             goto is_not_a_corner;
559         else
560             goto is_not_a_corner;
561         else if( p[pixel[9]] < c_b)
562             if( p[pixel[6]] < c_b)
563                 if( p[pixel[7]] < c_b)
564                     if( p[pixel[8]] < c_b)
565                         if( p[pixel[10]] < c_b)
566                             if( p[pixel[11]] < c_b)
567                                 if( p[pixel[12]] < c_b)
568                                     if( p[pixel[13]] < c_b)
569                                         if( p[pixel[5]] < c_b)
570                                             if( p[pixel[4]] < c_b)
571                                                 goto is_a_corner;
572                                             else
573                                                 if( p[pixel[14]] < c_b)
574                                                     goto is_a_corner;
575                                                 else
576                                                     goto is_not_a_corner;
577         else
578             if( p[pixel[14]] < c_b)
579                 if( p[pixel[15]] < c_b)
580                     goto is_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
592             goto is_not_a_corner;
593         else
594             goto is_not_a_corner;
595         else
596             goto is_not_a_corner;
597         else
598             goto is_not_a_corner;
599         else
600             goto is_not_a_corner;
601         else if( p[pixel[2]] < c_b)
602             if( p[pixel[8]] > cb)
603                 if( p[pixel[9]] > cb)
604                     if( p[pixel[10]] > cb)
605                         if( p[pixel[11]] > cb)
606                             if( p[pixel[12]] > cb)
607                                 if( p[pixel[13]] > cb)
608                                     if( p[pixel[14]] > cb)
609                                         if( p[pixel[15]] > cb)
610                                             goto is_a_corner;
611                                         else
612                                             if( p[pixel[5]] > cb)
613                                                 if( p[pixel[6]] > cb)
614                                                     if( p[pixel[7]] > cb)
615                                                         goto is_a_corner;
616                                                     else
617                                                         goto is_not_a_corner;
618         else
619             goto is_not_a_corner;
620         else
621             goto is_not_a_corner;
622         else
623             if( p[pixel[4]] > cb)
624                 if( p[pixel[5]] > cb)
625                     if( p[pixel[6]] > cb)
626                         if( p[pixel[7]] > cb)
627                             goto is_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             if( p[pixel[3]] > cb)
638                 if( p[pixel[4]] > cb)
639                     if( p[pixel[5]] > cb)
640                         if( p[pixel[6]] > cb)
641                             if( p[pixel[7]] > cb)
642                                 goto is_a_corner;
643                             else
644                                 goto is_not_a_corner;
645         else
646             goto is_not_a_corner;
647         else
648             goto is_not_a_corner;
649         else
650             goto is_not_a_corner;
651         else
652             goto is_not_a_corner;
653         else
654             goto is_not_a_corner;
655         else
656             goto is_not_a_corner;
657         else
658             goto is_not_a_corner;
659         else
660             goto is_not_a_corner;
661         else if( p[pixel[8]] < c_b)
662             if( p[pixel[6]] < c_b)
663                 if( p[pixel[7]] < c_b)
664                     if( p[pixel[9]] < c_b)
665                         if( p[pixel[10]] < c_b)
666                             if( p[pixel[11]] < c_b)
667                                 if( p[pixel[5]] < c_b)
668                                     if( p[pixel[4]] < c_b)
669                                         if( p[pixel[3]] < c_b)
670                                             goto is_a_corner;
671                                         else
672                                             if( p[pixel[12]] < c_b)
673                                                 if( p[pixel[13]] < c_b)
674                                                     goto is_a_corner;
675                                                 else
676                                                     goto is_not_a_corner;
677         else
678             goto is_not_a_corner;
679         else
680             if( p[pixel[12]] < c_b)
681                 if( p[pixel[13]] < c_b)
682                     if( p[pixel[14]] < c_b)
683                         goto is_a_corner;
684                     else
685                         goto is_not_a_corner;
686         else
687             goto is_not_a_corner;
688         else
689             goto is_not_a_corner;
690         else
691             if( p[pixel[12]] < c_b)
692                 if( p[pixel[13]] < c_b)
693                     if( p[pixel[14]] < c_b)
694                         if( p[pixel[15]] < c_b)
695                             goto is_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
707             goto is_not_a_corner;
708         else
709             goto is_not_a_corner;
710         else
711             goto is_not_a_corner;
712         else
713             goto is_not_a_corner;
714         else
715             goto is_not_a_corner;
716         else
717             if( p[pixel[8]] > cb)
718                 if( p[pixel[9]] > cb)
719                     if( p[pixel[10]] > cb)
720                         if( p[pixel[11]] > cb)
721                             if( p[pixel[12]] > cb)
722                                 if( p[pixel[13]] > cb)
723                                     if( p[pixel[14]] > cb)
724                                         if( p[pixel[15]] > cb)
725                                             goto is_a_corner;
726                                         else
727                                             if( p[pixel[5]] > cb)
728                                                 if( p[pixel[6]] > cb)
729                                                     if( p[pixel[7]] > cb)
730                                                         goto is_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             if( p[pixel[4]] > cb)
739                 if( p[pixel[5]] > cb)
740                     if( p[pixel[6]] > cb)
741                         if( p[pixel[7]] > cb)
742                             goto is_a_corner;
743                         else
744                             goto is_not_a_corner;
745         else
746             goto is_not_a_corner;
747         else
748             goto is_not_a_corner;
749         else
750             goto is_not_a_corner;
751         else
752             if( p[pixel[3]] > cb)
753                 if( p[pixel[4]] > cb)
754                     if( p[pixel[5]] > cb)
755                         if( p[pixel[6]] > cb)
756                             if( p[pixel[7]] > cb)
757                                 goto is_a_corner;
758                             else
759                                 goto is_not_a_corner;
760         else
761             goto is_not_a_corner;
762         else
763             goto is_not_a_corner;
764         else
765             goto is_not_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             goto is_not_a_corner;
774         else
775             goto is_not_a_corner;
776         else if( p[pixel[8]] < c_b)
777             if( p[pixel[6]] < c_b)
778                 if( p[pixel[7]] < c_b)
779                     if( p[pixel[9]] < c_b)
780                         if( p[pixel[10]] < c_b)
781                             if( p[pixel[11]] < c_b)
782                                 if( p[pixel[12]] < c_b)
783                                     if( p[pixel[5]] < c_b)
784                                         if( p[pixel[4]] < c_b)
785                                             if( p[pixel[3]] < c_b)
786                                                 goto is_a_corner;
787                                             else
788                                                 if( p[pixel[13]] < c_b)
789                                                     goto is_a_corner;
790                                                 else
791                                                     goto is_not_a_corner;
792         else
793             if( p[pixel[13]] < c_b)
794                 if( p[pixel[14]] < c_b)
795                     goto is_a_corner;
796                 else
797                     goto is_not_a_corner;
798         else
799             goto is_not_a_corner;
800         else
801             if( p[pixel[13]] < c_b)
802                 if( p[pixel[14]] < c_b)
803                     if( p[pixel[15]] < c_b)
804                         goto is_a_corner;
805                     else
806                         goto is_not_a_corner;
807         else
808             goto is_not_a_corner;
809         else
810             goto is_not_a_corner;
811         else
812             goto is_not_a_corner;
813         else
814             goto is_not_a_corner;
815         else
816             goto is_not_a_corner;
817         else
818             goto is_not_a_corner;
819         else
820             goto is_not_a_corner;
821         else
822             goto is_not_a_corner;
823         else
824             goto is_not_a_corner;
825         else if( p[pixel[1]] < c_b)
826             if( p[pixel[7]] > cb)
827                 if( p[pixel[8]] > cb)
828                     if( p[pixel[9]] > cb)
829                         if( p[pixel[10]] > cb)
830                             if( p[pixel[11]] > cb)
831                                 if( p[pixel[12]] > cb)
832                                     if( p[pixel[13]] > cb)
833                                         if( p[pixel[14]] > cb)
834                                             if( p[pixel[15]] > cb)
835                                                 goto is_a_corner;
836                                             else
837                                                 if( p[pixel[5]] > cb)
838                                                     if( p[pixel[6]] > cb)
839                                                         goto is_a_corner;
840                                                     else
841                                                         goto is_not_a_corner;
842         else
843             goto is_not_a_corner;
844         else
845             if( p[pixel[4]] > cb)
846                 if( p[pixel[5]] > cb)
847                     if( p[pixel[6]] > cb)
848                         goto is_a_corner;
849                     else
850                         goto is_not_a_corner;
851         else
852             goto is_not_a_corner;
853         else
854             goto is_not_a_corner;
855         else
856             if( p[pixel[3]] > cb)
857                 if( p[pixel[4]] > cb)
858                     if( p[pixel[5]] > cb)
859                         if( p[pixel[6]] > cb)
860                             goto is_a_corner;
861                         else
862                             goto is_not_a_corner;
863         else
864             goto is_not_a_corner;
865         else
866             goto is_not_a_corner;
867         else
868             goto is_not_a_corner;
869         else
870             if( p[pixel[2]] > cb)
871                 if( p[pixel[3]] > cb)
872                     if( p[pixel[4]] > cb)
873                         if( p[pixel[5]] > cb)
874                             if( p[pixel[6]] > cb)
875                                 goto is_a_corner;
876                             else
877                                 goto is_not_a_corner;
878         else
879             goto is_not_a_corner;
880         else
881             goto is_not_a_corner;
882         else
883             goto is_not_a_corner;
884         else
885             goto is_not_a_corner;
886         else
887             goto is_not_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 if( p[pixel[7]] < c_b)
895             if( p[pixel[6]] < c_b)
896                 if( p[pixel[8]] < c_b)
897                     if( p[pixel[9]] < c_b)
898                         if( p[pixel[10]] < c_b)
899                             if( p[pixel[5]] < c_b)
900                                 if( p[pixel[4]] < c_b)
901                                     if( p[pixel[3]] < c_b)
902                                         if( p[pixel[2]] < c_b)
903                                             goto is_a_corner;
904                                         else
905                                             if( p[pixel[11]] < c_b)
906                                                 if( p[pixel[12]] < c_b)
907                                                     goto is_a_corner;
908                                                 else
909                                                     goto is_not_a_corner;
910         else
911             goto is_not_a_corner;
912         else
913             if( p[pixel[11]] < c_b)
914                 if( p[pixel[12]] < c_b)
915                     if( p[pixel[13]] < c_b)
916                         goto is_a_corner;
917                     else
918                         goto is_not_a_corner;
919         else
920             goto is_not_a_corner;
921         else
922             goto is_not_a_corner;
923         else
924             if( p[pixel[11]] < c_b)
925                 if( p[pixel[12]] < c_b)
926                     if( p[pixel[13]] < c_b)
927                         if( p[pixel[14]] < c_b)
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             goto is_not_a_corner;
937         else
938             if( p[pixel[11]] < c_b)
939                 if( p[pixel[12]] < c_b)
940                     if( p[pixel[13]] < c_b)
941                         if( p[pixel[14]] < c_b)
942                             if( p[pixel[15]] < c_b)
943                                 goto is_a_corner;
944                             else
945                                 goto is_not_a_corner;
946         else
947             goto is_not_a_corner;
948         else
949             goto is_not_a_corner;
950         else
951             goto is_not_a_corner;
952         else
953             goto is_not_a_corner;
954         else
955             goto is_not_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             if( p[pixel[7]] > cb)
966                 if( p[pixel[8]] > cb)
967                     if( p[pixel[9]] > cb)
968                         if( p[pixel[10]] > cb)
969                             if( p[pixel[11]] > cb)
970                                 if( p[pixel[12]] > cb)
971                                     if( p[pixel[13]] > cb)
972                                         if( p[pixel[14]] > cb)
973                                             if( p[pixel[15]] > cb)
974                                                 goto is_a_corner;
975                                             else
976                                                 if( p[pixel[5]] > cb)
977                                                     if( p[pixel[6]] > cb)
978                                                         goto is_a_corner;
979                                                     else
980                                                         goto is_not_a_corner;
981         else
982             goto is_not_a_corner;
983         else
984             if( p[pixel[4]] > cb)
985                 if( p[pixel[5]] > cb)
986                     if( p[pixel[6]] > cb)
987                         goto is_a_corner;
988                     else
989                         goto is_not_a_corner;
990         else
991             goto is_not_a_corner;
992         else
993             goto is_not_a_corner;
994         else
995             if( p[pixel[3]] > cb)
996                 if( p[pixel[4]] > cb)
997                     if( p[pixel[5]] > cb)
998                         if( p[pixel[6]] > cb)
999                             goto is_a_corner;
1000                         else
1001                             goto is_not_a_corner;
1002         else
1003             goto is_not_a_corner;
1004         else
1005             goto is_not_a_corner;
1006         else
1007             goto is_not_a_corner;
1008         else
1009             if( p[pixel[2]] > cb)
1010                 if( p[pixel[3]] > cb)
1011                     if( p[pixel[4]] > cb)
1012                         if( p[pixel[5]] > cb)
1013                             if( p[pixel[6]] > cb)
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             goto is_not_a_corner;
1023         else
1024             goto is_not_a_corner;
1025         else
1026             goto is_not_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 if( p[pixel[7]] < c_b)
1034             if( p[pixel[6]] < c_b)
1035                 if( p[pixel[8]] < c_b)
1036                     if( p[pixel[9]] < c_b)
1037                         if( p[pixel[10]] < c_b)
1038                             if( p[pixel[11]] < c_b)
1039                                 if( p[pixel[5]] < c_b)
1040                                     if( p[pixel[4]] < c_b)
1041                                         if( p[pixel[3]] < c_b)
1042                                             if( p[pixel[2]] < c_b)
1043                                                 goto is_a_corner;
1044                                             else
1045                                                 if( p[pixel[12]] < c_b)
1046                                                     goto is_a_corner;
1047                                                 else
1048                                                     goto is_not_a_corner;
1049         else
1050             if( p[pixel[12]] < c_b)
1051                 if( p[pixel[13]] < c_b)
1052                     goto is_a_corner;
1053                 else
1054                     goto is_not_a_corner;
1055         else
1056             goto is_not_a_corner;
1057         else
1058             if( p[pixel[12]] < c_b)
1059                 if( p[pixel[13]] < c_b)
1060                     if( p[pixel[14]] < c_b)
1061                         goto is_a_corner;
1062                     else
1063                         goto is_not_a_corner;
1064         else
1065             goto is_not_a_corner;
1066         else
1067             goto is_not_a_corner;
1068         else
1069             if( p[pixel[12]] < c_b)
1070                 if( p[pixel[13]] < c_b)
1071                     if( p[pixel[14]] < c_b)
1072                         if( p[pixel[15]] < c_b)
1073                             goto is_a_corner;
1074                         else
1075                             goto is_not_a_corner;
1076         else
1077             goto is_not_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             goto is_not_a_corner;
1088         else
1089             goto is_not_a_corner;
1090         else
1091             goto is_not_a_corner;
1092         else
1093             goto is_not_a_corner;
1094         else if( p[pixel[0]] < c_b)
1095             if( p[pixel[1]] > cb)
1096                 if( p[pixel[7]] > cb)
1097                     if( p[pixel[6]] > cb)
1098                         if( p[pixel[8]] > cb)
1099                             if( p[pixel[9]] > cb)
1100                                 if( p[pixel[10]] > cb)
1101                                     if( p[pixel[5]] > cb)
1102                                         if( p[pixel[4]] > cb)
1103                                             if( p[pixel[3]] > cb)
1104                                                 if( p[pixel[2]] > cb)
1105                                                     goto is_a_corner;
1106                                                 else
1107                                                     if( p[pixel[11]] > cb)
1108                                                         if( p[pixel[12]] > cb)
1109                                                             goto is_a_corner;
1110                                                         else
1111                                                             goto is_not_a_corner;
1112         else
1113             goto is_not_a_corner;
1114         else
1115             if( p[pixel[11]] > cb)
1116                 if( p[pixel[12]] > cb)
1117                     if( p[pixel[13]] > cb)
1118                         goto is_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             if( p[pixel[11]] > cb)
1127                 if( p[pixel[12]] > cb)
1128                     if( p[pixel[13]] > cb)
1129                         if( p[pixel[14]] > cb)
1130                             goto is_a_corner;
1131                         else
1132                             goto is_not_a_corner;
1133         else
1134             goto is_not_a_corner;
1135         else
1136             goto is_not_a_corner;
1137         else
1138             goto is_not_a_corner;
1139         else
1140             if( p[pixel[11]] > cb)
1141                 if( p[pixel[12]] > cb)
1142                     if( p[pixel[13]] > cb)
1143                         if( p[pixel[14]] > cb)
1144                             if( p[pixel[15]] > cb)
1145                                 goto is_a_corner;
1146                             else
1147                                 goto is_not_a_corner;
1148         else
1149             goto is_not_a_corner;
1150         else
1151             goto is_not_a_corner;
1152         else
1153             goto is_not_a_corner;
1154         else
1155             goto is_not_a_corner;
1156         else
1157             goto is_not_a_corner;
1158         else
1159             goto is_not_a_corner;
1160         else
1161             goto is_not_a_corner;
1162         else
1163             goto is_not_a_corner;
1164         else if( p[pixel[7]] < c_b)
1165             if( p[pixel[8]] < c_b)
1166                 if( p[pixel[9]] < c_b)
1167                     if( p[pixel[10]] < c_b)
1168                         if( p[pixel[11]] < c_b)
1169                             if( p[pixel[12]] < c_b)
1170                                 if( p[pixel[13]] < c_b)
1171                                     if( p[pixel[14]] < c_b)
1172                                         if( p[pixel[15]] < c_b)
1173                                             goto is_a_corner;
1174                                         else
1175                                             if( p[pixel[5]] < c_b)
1176                                                 if( p[pixel[6]] < c_b)
1177                                                     goto is_a_corner;
1178                                                 else
1179                                                     goto is_not_a_corner;
1180         else
1181             goto is_not_a_corner;
1182         else
1183             if( p[pixel[4]] < c_b)
1184                 if( p[pixel[5]] < c_b)
1185                     if( p[pixel[6]] < c_b)
1186                         goto is_a_corner;
1187                     else
1188                         goto is_not_a_corner;
1189         else
1190             goto is_not_a_corner;
1191         else
1192             goto is_not_a_corner;
1193         else
1194             if( p[pixel[3]] < c_b)
1195                 if( p[pixel[4]] < c_b)
1196                     if( p[pixel[5]] < c_b)
1197                         if( p[pixel[6]] < c_b)
1198                             goto is_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             if( p[pixel[2]] < c_b)
1209                 if( p[pixel[3]] < c_b)
1210                     if( p[pixel[4]] < c_b)
1211                         if( p[pixel[5]] < c_b)
1212                             if( p[pixel[6]] < c_b)
1213                                 goto is_a_corner;
1214                             else
1215                                 goto is_not_a_corner;
1216         else
1217             goto is_not_a_corner;
1218         else
1219             goto is_not_a_corner;
1220         else
1221             goto is_not_a_corner;
1222         else
1223             goto is_not_a_corner;
1224         else
1225             goto is_not_a_corner;
1226         else
1227             goto is_not_a_corner;
1228         else
1229             goto is_not_a_corner;
1230         else
1231             goto is_not_a_corner;
1232         else
1233             goto is_not_a_corner;
1234         else if( p[pixel[1]] < c_b)
1235             if( p[pixel[2]] > cb)
1236                 if( p[pixel[8]] > cb)
1237                     if( p[pixel[6]] > cb)
1238                         if( p[pixel[7]] > cb)
1239                             if( p[pixel[9]] > cb)
1240                                 if( p[pixel[10]] > cb)
1241                                     if( p[pixel[11]] > cb)
1242                                         if( p[pixel[5]] > cb)
1243                                             if( p[pixel[4]] > cb)
1244                                                 if( p[pixel[3]] > cb)
1245                                                     goto is_a_corner;
1246                                                 else
1247                                                     if( p[pixel[12]] > cb)
1248                                                         if( p[pixel[13]] > cb)
1249                                                             goto is_a_corner;
1250                                                         else
1251                                                             goto is_not_a_corner;
1252         else
1253             goto is_not_a_corner;
1254         else
1255             if( p[pixel[12]] > cb)
1256                 if( p[pixel[13]] > cb)
1257                     if( p[pixel[14]] > cb)
1258                         goto is_a_corner;
1259                     else
1260                         goto is_not_a_corner;
1261         else
1262             goto is_not_a_corner;
1263         else
1264             goto is_not_a_corner;
1265         else
1266             if( p[pixel[12]] > cb)
1267                 if( p[pixel[13]] > cb)
1268                     if( p[pixel[14]] > cb)
1269                         if( p[pixel[15]] > cb)
1270                             goto is_a_corner;
1271                         else
1272                             goto is_not_a_corner;
1273         else
1274             goto is_not_a_corner;
1275         else
1276             goto is_not_a_corner;
1277         else
1278             goto is_not_a_corner;
1279         else
1280             goto is_not_a_corner;
1281         else
1282             goto is_not_a_corner;
1283         else
1284             goto is_not_a_corner;
1285         else
1286             goto is_not_a_corner;
1287         else
1288             goto is_not_a_corner;
1289         else if( p[pixel[8]] < c_b)
1290             if( p[pixel[9]] < c_b)
1291                 if( p[pixel[10]] < c_b)
1292                     if( p[pixel[11]] < c_b)
1293                         if( p[pixel[12]] < c_b)
1294                             if( p[pixel[13]] < c_b)
1295                                 if( p[pixel[14]] < c_b)
1296                                     if( p[pixel[15]] < c_b)
1297                                         goto is_a_corner;
1298                                     else
1299                                         if( p[pixel[5]] < c_b)
1300                                             if( p[pixel[6]] < c_b)
1301                                                 if( p[pixel[7]] < c_b)
1302                                                     goto is_a_corner;
1303                                                 else
1304                                                     goto is_not_a_corner;
1305         else
1306             goto is_not_a_corner;
1307         else
1308             goto is_not_a_corner;
1309         else
1310             if( p[pixel[4]] < c_b)
1311                 if( p[pixel[5]] < c_b)
1312                     if( p[pixel[6]] < c_b)
1313                         if( p[pixel[7]] < c_b)
1314                             goto is_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             if( p[pixel[3]] < c_b)
1325                 if( p[pixel[4]] < c_b)
1326                     if( p[pixel[5]] < c_b)
1327                         if( p[pixel[6]] < c_b)
1328                             if( p[pixel[7]] < c_b)
1329                                 goto is_a_corner;
1330                             else
1331                                 goto is_not_a_corner;
1332         else
1333             goto is_not_a_corner;
1334         else
1335             goto is_not_a_corner;
1336         else
1337             goto is_not_a_corner;
1338         else
1339             goto is_not_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 if( p[pixel[2]] < c_b)
1351             if( p[pixel[3]] > cb)
1352                 if( p[pixel[9]] > cb)
1353                     if( p[pixel[6]] > cb)
1354                         if( p[pixel[7]] > cb)
1355                             if( p[pixel[8]] > cb)
1356                                 if( p[pixel[10]] > cb)
1357                                     if( p[pixel[11]] > cb)
1358                                         if( p[pixel[12]] > cb)
1359                                             if( p[pixel[5]] > cb)
1360                                                 if( p[pixel[4]] > cb)
1361                                                     goto is_a_corner;
1362                                                 else
1363                                                     if( p[pixel[13]] > cb)
1364                                                         if( p[pixel[14]] > cb)
1365                                                             goto is_a_corner;
1366                                                         else
1367                                                             goto is_not_a_corner;
1368         else
1369             goto is_not_a_corner;
1370         else
1371             if( p[pixel[13]] > cb)
1372                 if( p[pixel[14]] > cb)
1373                     if( p[pixel[15]] > cb)
1374                         goto is_a_corner;
1375                     else
1376                         goto is_not_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             goto is_not_a_corner;
1387         else
1388             goto is_not_a_corner;
1389         else
1390             goto is_not_a_corner;
1391         else
1392             goto is_not_a_corner;
1393         else if( p[pixel[9]] < c_b)
1394             if( p[pixel[10]] < c_b)
1395                 if( p[pixel[11]] < c_b)
1396                     if( p[pixel[12]] < c_b)
1397                         if( p[pixel[13]] < c_b)
1398                             if( p[pixel[14]] < c_b)
1399                                 if( p[pixel[15]] < c_b)
1400                                     goto is_a_corner;
1401                                 else
1402                                     if( p[pixel[5]] < c_b)
1403                                         if( p[pixel[6]] < c_b)
1404                                             if( p[pixel[7]] < c_b)
1405                                                 if( p[pixel[8]] < c_b)
1406                                                     goto is_a_corner;
1407                                                 else
1408                                                     goto is_not_a_corner;
1409         else
1410             goto is_not_a_corner;
1411         else
1412             goto is_not_a_corner;
1413         else
1414             goto is_not_a_corner;
1415         else
1416             if( p[pixel[4]] < c_b)
1417                 if( p[pixel[5]] < c_b)
1418                     if( p[pixel[6]] < c_b)
1419                         if( p[pixel[7]] < c_b)
1420                             if( p[pixel[8]] < c_b)
1421                                 goto is_a_corner;
1422                             else
1423                                 goto is_not_a_corner;
1424         else
1425             goto is_not_a_corner;
1426         else
1427             goto is_not_a_corner;
1428         else
1429             goto is_not_a_corner;
1430         else
1431             goto is_not_a_corner;
1432         else
1433             goto is_not_a_corner;
1434         else
1435             goto is_not_a_corner;
1436         else
1437             goto is_not_a_corner;
1438         else
1439             goto is_not_a_corner;
1440         else
1441             goto is_not_a_corner;
1442         else if( p[pixel[3]] < c_b)
1443             if( p[pixel[4]] > cb)
1444                 if( p[pixel[14]] > cb)
1445                     if( p[pixel[6]] > cb)
1446                         if( p[pixel[7]] > cb)
1447                             if( p[pixel[8]] > cb)
1448                                 if( p[pixel[9]] > cb)
1449                                     if( p[pixel[10]] > cb)
1450                                         if( p[pixel[11]] > cb)
1451                                             if( p[pixel[12]] > cb)
1452                                                 if( p[pixel[13]] > cb)
1453                                                     if( p[pixel[5]] > cb)
1454                                                         goto is_a_corner;
1455                                                     else
1456                                                         if( p[pixel[15]] > cb)
1457                                                             goto is_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             goto is_not_a_corner;
1466         else
1467             goto is_not_a_corner;
1468         else
1469             goto is_not_a_corner;
1470         else
1471             goto is_not_a_corner;
1472         else
1473             goto is_not_a_corner;
1474         else
1475             goto is_not_a_corner;
1476         else if( p[pixel[14]] < c_b)
1477             if( p[pixel[10]] > cb)
1478                 if( p[pixel[5]] > cb)
1479                     if( p[pixel[6]] > cb)
1480                         if( p[pixel[7]] > cb)
1481                             if( p[pixel[8]] > cb)
1482                                 if( p[pixel[9]] > cb)
1483                                     if( p[pixel[11]] > cb)
1484                                         if( p[pixel[12]] > cb)
1485                                             if( p[pixel[13]] > cb)
1486                                                 goto is_a_corner;
1487                                             else
1488                                                 goto is_not_a_corner;
1489         else
1490             goto is_not_a_corner;
1491         else
1492             goto is_not_a_corner;
1493         else
1494             goto is_not_a_corner;
1495         else
1496             goto is_not_a_corner;
1497         else
1498             goto is_not_a_corner;
1499         else
1500             goto is_not_a_corner;
1501         else
1502             goto is_not_a_corner;
1503         else if( p[pixel[10]] < c_b)
1504             if( p[pixel[11]] < c_b)
1505                 if( p[pixel[12]] < c_b)
1506                     if( p[pixel[13]] < c_b)
1507                         if( p[pixel[15]] < c_b)
1508                             goto is_a_corner;
1509                         else
1510                             if( p[pixel[5]] < c_b)
1511                                 if( p[pixel[6]] < c_b)
1512                                     if( p[pixel[7]] < c_b)
1513                                         if( p[pixel[8]] < c_b)
1514                                             if( p[pixel[9]] < c_b)
1515                                                 goto is_a_corner;
1516                                             else
1517                                                 goto is_not_a_corner;
1518         else
1519             goto is_not_a_corner;
1520         else
1521             goto is_not_a_corner;
1522         else
1523             goto is_not_a_corner;
1524         else
1525             goto is_not_a_corner;
1526         else
1527             goto is_not_a_corner;
1528         else
1529             goto is_not_a_corner;
1530         else
1531             goto is_not_a_corner;
1532         else
1533             goto is_not_a_corner;
1534         else
1535             if( p[pixel[5]] > cb)
1536                 if( p[pixel[6]] > cb)
1537                     if( p[pixel[7]] > cb)
1538                         if( p[pixel[8]] > cb)
1539                             if( p[pixel[9]] > cb)
1540                                 if( p[pixel[10]] > cb)
1541                                     if( p[pixel[11]] > cb)
1542                                         if( p[pixel[12]] > cb)
1543                                             if( p[pixel[13]] > cb)
1544                                                 goto is_a_corner;
1545                                             else
1546                                                 goto is_not_a_corner;
1547         else
1548             goto is_not_a_corner;
1549         else
1550             goto is_not_a_corner;
1551         else
1552             goto is_not_a_corner;
1553         else
1554             goto is_not_a_corner;
1555         else
1556             goto is_not_a_corner;
1557         else
1558             goto is_not_a_corner;
1559         else
1560             goto is_not_a_corner;
1561         else
1562             goto is_not_a_corner;
1563         else if( p[pixel[4]] < c_b)
1564             if( p[pixel[5]] > cb)
1565                 if( p[pixel[15]] < c_b)
1566                     if( p[pixel[11]] > cb)
1567                         if( p[pixel[6]] > cb)
1568                             if( p[pixel[7]] > cb)
1569                                 if( p[pixel[8]] > cb)
1570                                     if( p[pixel[9]] > cb)
1571                                         if( p[pixel[10]] > cb)
1572                                             if( p[pixel[12]] > cb)
1573                                                 if( p[pixel[13]] > cb)
1574                                                     if( p[pixel[14]] > cb)
1575                                                         goto is_a_corner;
1576                                                     else
1577                                                         goto is_not_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 if( p[pixel[11]] < c_b)
1593             if( p[pixel[12]] < c_b)
1594                 if( p[pixel[13]] < c_b)
1595                     if( p[pixel[14]] < c_b)
1596                         goto is_a_corner;
1597                     else
1598                         goto is_not_a_corner;
1599         else
1600             goto is_not_a_corner;
1601         else
1602             goto is_not_a_corner;
1603         else
1604             goto is_not_a_corner;
1605         else
1606             if( p[pixel[6]] > cb)
1607                 if( p[pixel[7]] > cb)
1608                     if( p[pixel[8]] > cb)
1609                         if( p[pixel[9]] > cb)
1610                             if( p[pixel[10]] > cb)
1611                                 if( p[pixel[11]] > cb)
1612                                     if( p[pixel[12]] > cb)
1613                                         if( p[pixel[13]] > cb)
1614                                             if( p[pixel[14]] > cb)
1615                                                 goto is_a_corner;
1616                                             else
1617                                                 goto is_not_a_corner;
1618         else
1619             goto is_not_a_corner;
1620         else
1621             goto is_not_a_corner;
1622         else
1623             goto is_not_a_corner;
1624         else
1625             goto is_not_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 if( p[pixel[5]] < c_b)
1635             if( p[pixel[6]] > cb)
1636                 if( p[pixel[12]] > cb)
1637                     if( p[pixel[7]] > cb)
1638                         if( p[pixel[8]] > cb)
1639                             if( p[pixel[9]] > cb)
1640                                 if( p[pixel[10]] > cb)
1641                                     if( p[pixel[11]] > cb)
1642                                         if( p[pixel[13]] > cb)
1643                                             if( p[pixel[14]] > cb)
1644                                                 if( p[pixel[15]] > cb)
1645                                                     goto is_a_corner;
1646                                                 else
1647                                                     goto is_not_a_corner;
1648         else
1649             goto is_not_a_corner;
1650         else
1651             goto is_not_a_corner;
1652         else
1653             goto is_not_a_corner;
1654         else
1655             goto is_not_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 if( p[pixel[12]] < c_b)
1663             if( p[pixel[13]] < c_b)
1664                 if( p[pixel[14]] < c_b)
1665                     if( p[pixel[15]] < c_b)
1666                         goto is_a_corner;
1667                     else
1668                         goto is_not_a_corner;
1669         else
1670             goto is_not_a_corner;
1671         else
1672             goto is_not_a_corner;
1673         else
1674             goto is_not_a_corner;
1675         else if( p[pixel[6]] < c_b)
1676             if( p[pixel[7]] < c_b)
1677                 if( p[pixel[8]] < c_b)
1678                     if( p[pixel[9]] < c_b)
1679                         goto is_a_corner;
1680                     else
1681                         if( p[pixel[15]] < c_b)
1682                             goto is_a_corner;
1683                         else
1684                             goto is_not_a_corner;
1685         else
1686             if( p[pixel[14]] < c_b)
1687                 if( p[pixel[15]] < c_b)
1688                     goto is_a_corner;
1689                 else
1690                     goto is_not_a_corner;
1691         else
1692             goto is_not_a_corner;
1693         else
1694             if( p[pixel[13]] < c_b)
1695                 if( p[pixel[14]] < c_b)
1696                     if( p[pixel[15]] < c_b)
1697                         goto is_a_corner;
1698                     else
1699                         goto is_not_a_corner;
1700         else
1701             goto is_not_a_corner;
1702         else
1703             goto is_not_a_corner;
1704         else
1705             if( p[pixel[12]] < c_b)
1706                 if( p[pixel[13]] < c_b)
1707                     if( p[pixel[14]] < c_b)
1708                         if( p[pixel[15]] < c_b)
1709                             goto is_a_corner;
1710                         else
1711                             goto is_not_a_corner;
1712         else
1713             goto is_not_a_corner;
1714         else
1715             goto is_not_a_corner;
1716         else
1717             goto is_not_a_corner;
1718         else
1719             if( p[pixel[11]] > cb)
1720                 if( p[pixel[6]] > cb)
1721                     if( p[pixel[7]] > cb)
1722                         if( p[pixel[8]] > cb)
1723                             if( p[pixel[9]] > cb)
1724                                 if( p[pixel[10]] > cb)
1725                                     if( p[pixel[12]] > cb)
1726                                         if( p[pixel[13]] > cb)
1727                                             if( p[pixel[14]] > cb)
1728                                                 if( p[pixel[15]] > cb)
1729                                                     goto is_a_corner;
1730                                                 else
1731                                                     goto is_not_a_corner;
1732         else
1733             goto is_not_a_corner;
1734         else
1735             goto is_not_a_corner;
1736         else
1737             goto is_not_a_corner;
1738         else
1739             goto is_not_a_corner;
1740         else
1741             goto is_not_a_corner;
1742         else
1743             goto is_not_a_corner;
1744         else
1745             goto is_not_a_corner;
1746         else
1747             goto is_not_a_corner;
1748         else if( p[pixel[11]] < c_b)
1749             if( p[pixel[12]] < c_b)
1750                 if( p[pixel[13]] < c_b)
1751                     if( p[pixel[14]] < c_b)
1752                         if( p[pixel[15]] < c_b)
1753                             goto is_a_corner;
1754                         else
1755                             goto is_not_a_corner;
1756         else
1757             goto is_not_a_corner;
1758         else
1759             goto is_not_a_corner;
1760         else
1761             goto is_not_a_corner;
1762         else
1763             goto is_not_a_corner;
1764         else
1765             if( p[pixel[10]] > cb)
1766                 if( p[pixel[6]] > cb)
1767                     if( p[pixel[7]] > cb)
1768                         if( p[pixel[8]] > cb)
1769                             if( p[pixel[9]] > cb)
1770                                 if( p[pixel[11]] > cb)
1771                                     if( p[pixel[12]] > cb)
1772                                         if( p[pixel[13]] > cb)
1773                                             if( p[pixel[14]] > cb)
1774                                                 if( p[pixel[5]] > cb)
1775                                                     goto is_a_corner;
1776                                                 else
1777                                                     if( p[pixel[15]] > cb)
1778                                                         goto is_a_corner;
1779                                                     else
1780                                                         goto is_not_a_corner;
1781         else
1782             goto is_not_a_corner;
1783         else
1784             goto is_not_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             goto is_not_a_corner;
1795         else
1796             goto is_not_a_corner;
1797         else if( p[pixel[10]] < c_b)
1798             if( p[pixel[11]] < c_b)
1799                 if( p[pixel[12]] < c_b)
1800                     if( p[pixel[13]] < c_b)
1801                         if( p[pixel[14]] < c_b)
1802                             if( p[pixel[15]] < c_b)
1803                                 goto is_a_corner;
1804                             else
1805                                 if( p[pixel[5]] < c_b)
1806                                     if( p[pixel[6]] < c_b)
1807                                         if( p[pixel[7]] < c_b)
1808                                             if( p[pixel[8]] < c_b)
1809                                                 if( p[pixel[9]] < c_b)
1810                                                     goto is_a_corner;
1811                                                 else
1812                                                     goto is_not_a_corner;
1813         else
1814             goto is_not_a_corner;
1815         else
1816             goto is_not_a_corner;
1817         else
1818             goto is_not_a_corner;
1819         else
1820             goto is_not_a_corner;
1821         else
1822             goto is_not_a_corner;
1823         else
1824             goto is_not_a_corner;
1825         else
1826             goto is_not_a_corner;
1827         else
1828             goto is_not_a_corner;
1829         else
1830             goto is_not_a_corner;
1831         else
1832             if( p[pixel[9]] > cb)
1833                 if( p[pixel[6]] > cb)
1834                     if( p[pixel[7]] > cb)
1835                         if( p[pixel[8]] > cb)
1836                             if( p[pixel[10]] > cb)
1837                                 if( p[pixel[11]] > cb)
1838                                     if( p[pixel[12]] > cb)
1839                                         if( p[pixel[13]] > cb)
1840                                             if( p[pixel[5]] > cb)
1841                                                 if( p[pixel[4]] > cb)
1842                                                     goto is_a_corner;
1843                                                 else
1844                                                     if( p[pixel[14]] > cb)
1845                                                         goto is_a_corner;
1846                                                     else
1847                                                         goto is_not_a_corner;
1848         else
1849             if( p[pixel[14]] > cb)
1850                 if( p[pixel[15]] > cb)
1851                     goto is_a_corner;
1852                 else
1853                     goto is_not_a_corner;
1854         else
1855             goto is_not_a_corner;
1856         else
1857             goto is_not_a_corner;
1858         else
1859             goto is_not_a_corner;
1860         else
1861             goto is_not_a_corner;
1862         else
1863             goto is_not_a_corner;
1864         else
1865             goto is_not_a_corner;
1866         else
1867             goto is_not_a_corner;
1868         else
1869             goto is_not_a_corner;
1870         else if( p[pixel[9]] < c_b)
1871             if( p[pixel[10]] < c_b)
1872                 if( p[pixel[11]] < c_b)
1873                     if( p[pixel[12]] < c_b)
1874                         if( p[pixel[13]] < c_b)
1875                             if( p[pixel[14]] < c_b)
1876                                 if( p[pixel[15]] < c_b)
1877                                     goto is_a_corner;
1878                                 else
1879                                     if( p[pixel[5]] < c_b)
1880                                         if( p[pixel[6]] < c_b)
1881                                             if( p[pixel[7]] < c_b)
1882                                                 if( p[pixel[8]] < c_b)
1883                                                     goto is_a_corner;
1884                                                 else
1885                                                     goto is_not_a_corner;
1886         else
1887             goto is_not_a_corner;
1888         else
1889             goto is_not_a_corner;
1890         else
1891             goto is_not_a_corner;
1892         else
1893             if( p[pixel[4]] < c_b)
1894                 if( p[pixel[5]] < c_b)
1895                     if( p[pixel[6]] < c_b)
1896                         if( p[pixel[7]] < c_b)
1897                             if( p[pixel[8]] < c_b)
1898                                 goto is_a_corner;
1899                             else
1900                                 goto is_not_a_corner;
1901         else
1902             goto is_not_a_corner;
1903         else
1904             goto is_not_a_corner;
1905         else
1906             goto is_not_a_corner;
1907         else
1908             goto is_not_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             goto is_not_a_corner;
1917         else
1918             goto is_not_a_corner;
1919         else
1920             if( p[pixel[8]] > cb)
1921                 if( p[pixel[6]] > cb)
1922                     if( p[pixel[7]] > cb)
1923                         if( p[pixel[9]] > cb)
1924                             if( p[pixel[10]] > cb)
1925                                 if( p[pixel[11]] > cb)
1926                                     if( p[pixel[12]] > cb)
1927                                         if( p[pixel[5]] > cb)
1928                                             if( p[pixel[4]] > cb)
1929                                                 if( p[pixel[3]] > cb)
1930                                                     goto is_a_corner;
1931                                                 else
1932                                                     if( p[pixel[13]] > cb)
1933                                                         goto is_a_corner;
1934                                                     else
1935                                                         goto is_not_a_corner;
1936         else
1937             if( p[pixel[13]] > cb)
1938                 if( p[pixel[14]] > cb)
1939                     goto is_a_corner;
1940                 else
1941                     goto is_not_a_corner;
1942         else
1943             goto is_not_a_corner;
1944         else
1945             if( p[pixel[13]] > cb)
1946                 if( p[pixel[14]] > cb)
1947                     if( p[pixel[15]] > cb)
1948                         goto is_a_corner;
1949                     else
1950                         goto is_not_a_corner;
1951         else
1952             goto is_not_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 if( p[pixel[8]] < c_b)
1968             if( p[pixel[9]] < c_b)
1969                 if( p[pixel[10]] < c_b)
1970                     if( p[pixel[11]] < c_b)
1971                         if( p[pixel[12]] < c_b)
1972                             if( p[pixel[13]] < c_b)
1973                                 if( p[pixel[14]] < c_b)
1974                                     if( p[pixel[15]] < c_b)
1975                                         goto is_a_corner;
1976                                     else
1977                                         if( p[pixel[5]] < c_b)
1978                                             if( p[pixel[6]] < c_b)
1979                                                 if( p[pixel[7]] < c_b)
1980                                                     goto is_a_corner;
1981                                                 else
1982                                                     goto is_not_a_corner;
1983         else
1984             goto is_not_a_corner;
1985         else
1986             goto is_not_a_corner;
1987         else
1988             if( p[pixel[4]] < c_b)
1989                 if( p[pixel[5]] < c_b)
1990                     if( p[pixel[6]] < c_b)
1991                         if( p[pixel[7]] < c_b)
1992                             goto is_a_corner;
1993                         else
1994                             goto is_not_a_corner;
1995         else
1996             goto is_not_a_corner;
1997         else
1998             goto is_not_a_corner;
1999         else
2000             goto is_not_a_corner;
2001         else
2002             if( p[pixel[3]] < c_b)
2003                 if( p[pixel[4]] < c_b)
2004                     if( p[pixel[5]] < c_b)
2005                         if( p[pixel[6]] < c_b)
2006                             if( p[pixel[7]] < c_b)
2007                                 goto is_a_corner;
2008                             else
2009                                 goto is_not_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             goto is_not_a_corner;
2020         else
2021             goto is_not_a_corner;
2022         else
2023             goto is_not_a_corner;
2024         else
2025             goto is_not_a_corner;
2026         else
2027             goto is_not_a_corner;
2028         else
2029             if( p[pixel[7]] > cb)
2030                 if( p[pixel[6]] > cb)
2031                     if( p[pixel[8]] > cb)
2032                         if( p[pixel[9]] > cb)
2033                             if( p[pixel[10]] > cb)
2034                                 if( p[pixel[11]] > cb)
2035                                     if( p[pixel[5]] > cb)
2036                                         if( p[pixel[4]] > cb)
2037                                             if( p[pixel[3]] > cb)
2038                                                 if( p[pixel[2]] > cb)
2039                                                     goto is_a_corner;
2040                                                 else
2041                                                     if( p[pixel[12]] > cb)
2042                                                         goto is_a_corner;
2043                                                     else
2044                                                         goto is_not_a_corner;
2045         else
2046             if( p[pixel[12]] > cb)
2047                 if( p[pixel[13]] > cb)
2048                     goto is_a_corner;
2049                 else
2050                     goto is_not_a_corner;
2051         else
2052             goto is_not_a_corner;
2053         else
2054             if( p[pixel[12]] > cb)
2055                 if( p[pixel[13]] > cb)
2056                     if( p[pixel[14]] > cb)
2057                         goto is_a_corner;
2058                     else
2059                         goto is_not_a_corner;
2060         else
2061             goto is_not_a_corner;
2062         else
2063             goto is_not_a_corner;
2064         else
2065             if( p[pixel[12]] > cb)
2066                 if( p[pixel[13]] > cb)
2067                     if( p[pixel[14]] > cb)
2068                         if( p[pixel[15]] > cb)
2069                             goto is_a_corner;
2070                         else
2071                             goto is_not_a_corner;
2072         else
2073             goto is_not_a_corner;
2074         else
2075             goto is_not_a_corner;
2076         else
2077             goto is_not_a_corner;
2078         else
2079             goto is_not_a_corner;
2080         else
2081             goto is_not_a_corner;
2082         else
2083             goto is_not_a_corner;
2084         else
2085             goto is_not_a_corner;
2086         else
2087             goto is_not_a_corner;
2088         else if( p[pixel[7]] < c_b)
2089             if( p[pixel[8]] < c_b)
2090                 if( p[pixel[9]] < c_b)
2091                     if( p[pixel[10]] < c_b)
2092                         if( p[pixel[11]] < c_b)
2093                             if( p[pixel[12]] < c_b)
2094                                 if( p[pixel[13]] < c_b)
2095                                     if( p[pixel[14]] < c_b)
2096                                         if( p[pixel[15]] < c_b)
2097                                             goto is_a_corner;
2098                                         else
2099                                             if( p[pixel[5]] < c_b)
2100                                                 if( p[pixel[6]] < c_b)
2101                                                     goto is_a_corner;
2102                                                 else
2103                                                     goto is_not_a_corner;
2104         else
2105             goto is_not_a_corner;
2106         else
2107             if( p[pixel[4]] < c_b)
2108                 if( p[pixel[5]] < c_b)
2109                     if( p[pixel[6]] < c_b)
2110                         goto is_a_corner;
2111                     else
2112                         goto is_not_a_corner;
2113         else
2114             goto is_not_a_corner;
2115         else
2116             goto is_not_a_corner;
2117         else
2118             if( p[pixel[3]] < c_b)
2119                 if( p[pixel[4]] < c_b)
2120                     if( p[pixel[5]] < c_b)
2121                         if( p[pixel[6]] < c_b)
2122                             goto is_a_corner;
2123                         else
2124                             goto is_not_a_corner;
2125         else
2126             goto is_not_a_corner;
2127         else
2128             goto is_not_a_corner;
2129         else
2130             goto is_not_a_corner;
2131         else
2132             if( p[pixel[2]] < c_b)
2133                 if( p[pixel[3]] < c_b)
2134                     if( p[pixel[4]] < c_b)
2135                         if( p[pixel[5]] < c_b)
2136                             if( p[pixel[6]] < c_b)
2137                                 goto is_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         else
2151             goto is_not_a_corner;
2152         else
2153             goto is_not_a_corner;
2154         else
2155             goto is_not_a_corner;
2156         else
2157             goto is_not_a_corner;
2158         else
2159             if( p[pixel[6]] > cb)
2160                 if( p[pixel[7]] > cb)
2161                     if( p[pixel[8]] > cb)
2162                         if( p[pixel[9]] > cb)
2163                             if( p[pixel[10]] > cb)
2164                                 if( p[pixel[5]] > cb)
2165                                     if( p[pixel[4]] > cb)
2166                                         if( p[pixel[3]] > cb)
2167                                             if( p[pixel[2]] > cb)
2168                                                 if( p[pixel[1]] > cb)
2169                                                     goto is_a_corner;
2170                                                 else
2171                                                     if( p[pixel[11]] > cb)
2172                                                         goto is_a_corner;
2173                                                     else
2174                                                         goto is_not_a_corner;
2175         else
2176             if( p[pixel[11]] > cb)
2177                 if( p[pixel[12]] > cb)
2178                     goto is_a_corner;
2179                 else
2180                     goto is_not_a_corner;
2181         else
2182             goto is_not_a_corner;
2183         else
2184             if( p[pixel[11]] > cb)
2185                 if( p[pixel[12]] > cb)
2186                     if( p[pixel[13]] > cb)
2187                         goto is_a_corner;
2188                     else
2189                         goto is_not_a_corner;
2190         else
2191             goto is_not_a_corner;
2192         else
2193             goto is_not_a_corner;
2194         else
2195             if( p[pixel[11]] > cb)
2196                 if( p[pixel[12]] > cb)
2197                     if( p[pixel[13]] > cb)
2198                         if( p[pixel[14]] > cb)
2199                             goto is_a_corner;
2200                         else
2201                             goto is_not_a_corner;
2202         else
2203             goto is_not_a_corner;
2204         else
2205             goto is_not_a_corner;
2206         else
2207             goto is_not_a_corner;
2208         else
2209             if( p[pixel[11]] > cb)
2210                 if( p[pixel[12]] > cb)
2211                     if( p[pixel[13]] > cb)
2212                         if( p[pixel[14]] > cb)
2213                             if( p[pixel[15]] > cb)
2214                                 goto is_a_corner;
2215                             else
2216                                 goto is_not_a_corner;
2217         else
2218             goto is_not_a_corner;
2219         else
2220             goto is_not_a_corner;
2221         else
2222             goto is_not_a_corner;
2223         else
2224             goto is_not_a_corner;
2225         else
2226             goto is_not_a_corner;
2227         else
2228             goto is_not_a_corner;
2229         else
2230             goto is_not_a_corner;
2231         else
2232             goto is_not_a_corner;
2233         else if( p[pixel[6]] < c_b)
2234             if( p[pixel[7]] < c_b)
2235                 if( p[pixel[8]] < c_b)
2236                     if( p[pixel[9]] < c_b)
2237                         if( p[pixel[10]] < c_b)
2238                             if( p[pixel[5]] < c_b)
2239                                 if( p[pixel[4]] < c_b)
2240                                     if( p[pixel[3]] < c_b)
2241                                         if( p[pixel[2]] < c_b)
2242                                             if( p[pixel[1]] < c_b)
2243                                                 goto is_a_corner;
2244                                             else
2245                                                 if( p[pixel[11]] < c_b)
2246                                                     goto is_a_corner;
2247                                                 else
2248                                                     goto is_not_a_corner;
2249         else
2250             if( p[pixel[11]] < c_b)
2251                 if( p[pixel[12]] < c_b)
2252                     goto is_a_corner;
2253                 else
2254                     goto is_not_a_corner;
2255         else
2256             goto is_not_a_corner;
2257         else
2258             if( p[pixel[11]] < c_b)
2259                 if( p[pixel[12]] < c_b)
2260                     if( p[pixel[13]] < c_b)
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             if( p[pixel[11]] < c_b)
2270                 if( p[pixel[12]] < c_b)
2271                     if( p[pixel[13]] < c_b)
2272                         if( p[pixel[14]] < c_b)
2273                             goto is_a_corner;
2274                         else
2275                             goto is_not_a_corner;
2276         else
2277             goto is_not_a_corner;
2278         else
2279             goto is_not_a_corner;
2280         else
2281             goto is_not_a_corner;
2282         else
2283             if( p[pixel[11]] < c_b)
2284                 if( p[pixel[12]] < c_b)
2285                     if( p[pixel[13]] < c_b)
2286                         if( p[pixel[14]] < c_b)
2287                             if( p[pixel[15]] < c_b)
2288                                 goto is_a_corner;
2289                             else
2290                                 goto is_not_a_corner;
2291         else
2292             goto is_not_a_corner;
2293         else
2294             goto is_not_a_corner;
2295         else
2296             goto is_not_a_corner;
2297         else
2298             goto is_not_a_corner;
2299         else
2300             goto is_not_a_corner;
2301         else
2302             goto is_not_a_corner;
2303         else
2304             goto is_not_a_corner;
2305         else
2306             goto is_not_a_corner;
2307         else
2308             goto is_not_a_corner;
2309 
2310     is_a_corner:
2311         bmin=b;
2312         goto end_if;
2313 
2314     is_not_a_corner:
2315         bmax=b;
2316         goto end_if;
2317 
2318     end_if:
2319 
2320         if(bmin == bmax - 1 || bmin == bmax)
2321             return bmin;
2322         b = (bmin + bmax) / 2;
2323     }
2324     return 0;
2325 }
2326 
2327 static void make_offsets(int *pixel, int row_stride)
2328 {
2329     pixel[0] = 0 + row_stride * 3;
2330     pixel[1] = 1 + row_stride * 3;
2331     pixel[2] = 2 + row_stride * 2;
2332     pixel[3] = 3 + row_stride * 1;
2333     pixel[4] = 3 + row_stride * 0;
2334     pixel[5] = 3 + row_stride * -1;
2335     pixel[6] = 2 + row_stride * -2;
2336     pixel[7] = 1 + row_stride * -3;
2337     pixel[8] = 0 + row_stride * -3;
2338     pixel[9] = -1 + row_stride * -3;
2339     pixel[10] = -2 + row_stride * -2;
2340     pixel[11] = -3 + row_stride * -1;
2341     pixel[12] = -3 + row_stride * 0;
2342     pixel[13] = -3 + row_stride * 1;
2343     pixel[14] = -2 + row_stride * 2;
2344     pixel[15] = -1 + row_stride * 3;
2345 }
2346 
2347 
2348 
2349 int* fast10_score(const ubyte* i, int stride, xy* corners, int num_corners, int b)
2350 {	
2351     int* scores = cast(int*)malloc(int.sizeof* num_corners);
2352     int n;
2353 
2354     int [16]pixel;
2355     make_offsets(pixel.ptr, stride);
2356 
2357     for(n=0; n < num_corners; n++)
2358         scores[n] = fast10_corner_score(i + corners[n].y*stride + corners[n].x, pixel.ptr, b);
2359 
2360     return scores;
2361 }
2362 
2363 
2364 xy* fast10_detect(const ubyte* im, int xsize, int ysize, int stride, int b, int* ret_num_corners)
2365 {
2366     int num_corners=0;
2367     xy* ret_corners;
2368     int rsize=512;
2369     int [16]pixel;
2370     int x, y;
2371 
2372     ret_corners = cast(xy*)malloc(xy.sizeof*rsize);
2373     make_offsets(pixel.ptr, stride);
2374 
2375     for(y=3; y < ysize - 3; y++)
2376         for(x=3; x < xsize - 3; x++)
2377     {
2378         const ubyte* p = im + y*stride + x;
2379         
2380         int cb = *p + b;
2381         int c_b= *p - b;
2382         if(p[pixel[0]] > cb)
2383             if(p[pixel[1]] > cb)
2384                 if(p[pixel[2]] > cb)
2385                     if(p[pixel[3]] > cb)
2386                         if(p[pixel[4]] > cb)
2387                             if(p[pixel[5]] > cb)
2388                                 if(p[pixel[6]] > cb)
2389                                     if(p[pixel[7]] > cb)
2390                                         if(p[pixel[8]] > cb)
2391                                             if(p[pixel[9]] > cb)
2392                                         {}
2393         else
2394             if(p[pixel[15]] > cb)
2395         {}
2396         else
2397             continue;
2398         else
2399             if(p[pixel[14]] > cb)
2400                 if(p[pixel[15]] > cb)
2401             {}
2402         else
2403             continue;
2404         else
2405             continue;
2406         else
2407             if(p[pixel[13]] > cb)
2408                 if(p[pixel[14]] > cb)
2409                     if(p[pixel[15]] > cb)
2410                 {}
2411         else
2412             continue;
2413         else
2414             continue;
2415         else
2416             continue;
2417         else if(p[pixel[6]] < c_b)
2418             if(p[pixel[12]] > cb)
2419                 if(p[pixel[13]] > cb)
2420                     if(p[pixel[14]] > cb)
2421                         if(p[pixel[15]] > cb)
2422                     {}
2423         else
2424             continue;
2425         else
2426             continue;
2427         else
2428             continue;
2429         else if(p[pixel[12]] < c_b)
2430             if(p[pixel[7]] < c_b)
2431                 if(p[pixel[8]] < c_b)
2432                     if(p[pixel[9]] < c_b)
2433                         if(p[pixel[10]] < c_b)
2434                             if(p[pixel[11]] < c_b)
2435                                 if(p[pixel[13]] < c_b)
2436                                     if(p[pixel[14]] < c_b)
2437                                         if(p[pixel[15]] < c_b)
2438                                     {}
2439         else
2440             continue;
2441         else
2442             continue;
2443         else
2444             continue;
2445         else
2446             continue;
2447         else
2448             continue;
2449         else
2450             continue;
2451         else
2452             continue;
2453         else
2454             continue;
2455         else
2456             continue;
2457         else
2458             if(p[pixel[12]] > cb)
2459                 if(p[pixel[13]] > cb)
2460                     if(p[pixel[14]] > cb)
2461                         if(p[pixel[15]] > cb)
2462                     {}
2463         else
2464             continue;
2465         else
2466             continue;
2467         else
2468             continue;
2469         else
2470             continue;
2471         else if(p[pixel[5]] < c_b)
2472             if(p[pixel[15]] > cb)
2473                 if(p[pixel[11]] > cb)
2474                     if(p[pixel[12]] > cb)
2475                         if(p[pixel[13]] > cb)
2476                             if(p[pixel[14]] > cb)
2477                         {}
2478         else
2479             continue;
2480         else
2481             continue;
2482         else
2483             continue;
2484         else if(p[pixel[11]] < c_b)
2485             if(p[pixel[6]] < c_b)
2486                 if(p[pixel[7]] < c_b)
2487                     if(p[pixel[8]] < c_b)
2488                         if(p[pixel[9]] < c_b)
2489                             if(p[pixel[10]] < c_b)
2490                                 if(p[pixel[12]] < c_b)
2491                                     if(p[pixel[13]] < c_b)
2492                                         if(p[pixel[14]] < c_b)
2493                                     {}
2494         else
2495             continue;
2496         else
2497             continue;
2498         else
2499             continue;
2500         else
2501             continue;
2502         else
2503             continue;
2504         else
2505             continue;
2506         else
2507             continue;
2508         else
2509             continue;
2510         else
2511             continue;
2512         else
2513             if(p[pixel[6]] < c_b)
2514                 if(p[pixel[7]] < c_b)
2515                     if(p[pixel[8]] < c_b)
2516                         if(p[pixel[9]] < c_b)
2517                             if(p[pixel[10]] < c_b)
2518                                 if(p[pixel[11]] < c_b)
2519                                     if(p[pixel[12]] < c_b)
2520                                         if(p[pixel[13]] < c_b)
2521                                             if(p[pixel[14]] < c_b)
2522                                         {}
2523         else
2524             continue;
2525         else
2526             continue;
2527         else
2528             continue;
2529         else
2530             continue;
2531         else
2532             continue;
2533         else
2534             continue;
2535         else
2536             continue;
2537         else
2538             continue;
2539         else
2540             continue;
2541         else
2542             if(p[pixel[11]] > cb)
2543                 if(p[pixel[12]] > cb)
2544                     if(p[pixel[13]] > cb)
2545                         if(p[pixel[14]] > cb)
2546                             if(p[pixel[15]] > cb)
2547                         {}
2548         else
2549             continue;
2550         else
2551             continue;
2552         else
2553             continue;
2554         else
2555             continue;
2556         else if(p[pixel[11]] < c_b)
2557             if(p[pixel[6]] < c_b)
2558                 if(p[pixel[7]] < c_b)
2559                     if(p[pixel[8]] < c_b)
2560                         if(p[pixel[9]] < c_b)
2561                             if(p[pixel[10]] < c_b)
2562                                 if(p[pixel[12]] < c_b)
2563                                     if(p[pixel[13]] < c_b)
2564                                         if(p[pixel[14]] < c_b)
2565                                             if(p[pixel[15]] < c_b)
2566                                         {}
2567         else
2568             continue;
2569         else
2570             continue;
2571         else
2572             continue;
2573         else
2574             continue;
2575         else
2576             continue;
2577         else
2578             continue;
2579         else
2580             continue;
2581         else
2582             continue;
2583         else
2584             continue;
2585         else
2586             continue;
2587         else if(p[pixel[4]] < c_b)
2588             if(p[pixel[14]] > cb)
2589                 if(p[pixel[10]] > cb)
2590                     if(p[pixel[11]] > cb)
2591                         if(p[pixel[12]] > cb)
2592                             if(p[pixel[13]] > cb)
2593                                 if(p[pixel[15]] > cb)
2594                             {}
2595         else
2596             if(p[pixel[5]] > cb)
2597                 if(p[pixel[6]] > cb)
2598                     if(p[pixel[7]] > cb)
2599                         if(p[pixel[8]] > cb)
2600                             if(p[pixel[9]] > cb)
2601                         {}
2602         else
2603             continue;
2604         else
2605             continue;
2606         else
2607             continue;
2608         else
2609             continue;
2610         else
2611             continue;
2612         else
2613             continue;
2614         else
2615             continue;
2616         else
2617             continue;
2618         else if(p[pixel[10]] < c_b)
2619             if(p[pixel[5]] < c_b)
2620                 if(p[pixel[6]] < c_b)
2621                     if(p[pixel[7]] < c_b)
2622                         if(p[pixel[8]] < c_b)
2623                             if(p[pixel[9]] < c_b)
2624                                 if(p[pixel[11]] < c_b)
2625                                     if(p[pixel[12]] < c_b)
2626                                         if(p[pixel[13]] < c_b)
2627                                     {}
2628         else
2629             continue;
2630         else
2631             continue;
2632         else
2633             continue;
2634         else
2635             continue;
2636         else
2637             continue;
2638         else
2639             continue;
2640         else
2641             continue;
2642         else
2643             continue;
2644         else
2645             continue;
2646         else if(p[pixel[14]] < c_b)
2647             if(p[pixel[6]] < c_b)
2648                 if(p[pixel[7]] < c_b)
2649                     if(p[pixel[8]] < c_b)
2650                         if(p[pixel[9]] < c_b)
2651                             if(p[pixel[10]] < c_b)
2652                                 if(p[pixel[11]] < c_b)
2653                                     if(p[pixel[12]] < c_b)
2654                                         if(p[pixel[13]] < c_b)
2655                                             if(p[pixel[5]] < c_b)
2656                                         {}
2657         else
2658             if(p[pixel[15]] < c_b)
2659         {}
2660         else
2661             continue;
2662         else
2663             continue;
2664         else
2665             continue;
2666         else
2667             continue;
2668         else
2669             continue;
2670         else
2671             continue;
2672         else
2673             continue;
2674         else
2675             continue;
2676         else
2677             continue;
2678         else
2679             if(p[pixel[5]] < c_b)
2680                 if(p[pixel[6]] < c_b)
2681                     if(p[pixel[7]] < c_b)
2682                         if(p[pixel[8]] < c_b)
2683                             if(p[pixel[9]] < c_b)
2684                                 if(p[pixel[10]] < c_b)
2685                                     if(p[pixel[11]] < c_b)
2686                                         if(p[pixel[12]] < c_b)
2687                                             if(p[pixel[13]] < c_b)
2688                                         {}
2689         else
2690             continue;
2691         else
2692             continue;
2693         else
2694             continue;
2695         else
2696             continue;
2697         else
2698             continue;
2699         else
2700             continue;
2701         else
2702             continue;
2703         else
2704             continue;
2705         else
2706             continue;
2707         else
2708             if(p[pixel[10]] > cb)
2709                 if(p[pixel[11]] > cb)
2710                     if(p[pixel[12]] > cb)
2711                         if(p[pixel[13]] > cb)
2712                             if(p[pixel[14]] > cb)
2713                                 if(p[pixel[15]] > cb)
2714                             {}
2715         else
2716             if(p[pixel[5]] > cb)
2717                 if(p[pixel[6]] > cb)
2718                     if(p[pixel[7]] > cb)
2719                         if(p[pixel[8]] > cb)
2720                             if(p[pixel[9]] > cb)
2721                         {}
2722         else
2723             continue;
2724         else
2725             continue;
2726         else
2727             continue;
2728         else
2729             continue;
2730         else
2731             continue;
2732         else
2733             continue;
2734         else
2735             continue;
2736         else
2737             continue;
2738         else
2739             continue;
2740         else if(p[pixel[10]] < c_b)
2741             if(p[pixel[6]] < c_b)
2742                 if(p[pixel[7]] < c_b)
2743                     if(p[pixel[8]] < c_b)
2744                         if(p[pixel[9]] < c_b)
2745                             if(p[pixel[11]] < c_b)
2746                                 if(p[pixel[12]] < c_b)
2747                                     if(p[pixel[13]] < c_b)
2748                                         if(p[pixel[14]] < c_b)
2749                                             if(p[pixel[5]] < c_b)
2750                                         {}
2751         else
2752             if(p[pixel[15]] < c_b)
2753         {}
2754         else
2755             continue;
2756         else
2757             continue;
2758         else
2759             continue;
2760         else
2761             continue;
2762         else
2763             continue;
2764         else
2765             continue;
2766         else
2767             continue;
2768         else
2769             continue;
2770         else
2771             continue;
2772         else
2773             continue;
2774         else if(p[pixel[3]] < c_b)
2775             if(p[pixel[9]] > cb)
2776                 if(p[pixel[10]] > cb)
2777                     if(p[pixel[11]] > cb)
2778                         if(p[pixel[12]] > cb)
2779                             if(p[pixel[13]] > cb)
2780                                 if(p[pixel[14]] > cb)
2781                                     if(p[pixel[15]] > cb)
2782                                 {}
2783         else
2784             if(p[pixel[5]] > cb)
2785                 if(p[pixel[6]] > cb)
2786                     if(p[pixel[7]] > cb)
2787                         if(p[pixel[8]] > cb)
2788                     {}
2789         else
2790             continue;
2791         else
2792             continue;
2793         else
2794             continue;
2795         else
2796             continue;
2797         else
2798             if(p[pixel[4]] > cb)
2799                 if(p[pixel[5]] > cb)
2800                     if(p[pixel[6]] > cb)
2801                         if(p[pixel[7]] > cb)
2802                             if(p[pixel[8]] > cb)
2803                         {}
2804         else
2805             continue;
2806         else
2807             continue;
2808         else
2809             continue;
2810         else
2811             continue;
2812         else
2813             continue;
2814         else
2815             continue;
2816         else
2817             continue;
2818         else
2819             continue;
2820         else
2821             continue;
2822         else if(p[pixel[9]] < c_b)
2823             if(p[pixel[6]] < c_b)
2824                 if(p[pixel[7]] < c_b)
2825                     if(p[pixel[8]] < c_b)
2826                         if(p[pixel[10]] < c_b)
2827                             if(p[pixel[11]] < c_b)
2828                                 if(p[pixel[12]] < c_b)
2829                                     if(p[pixel[5]] < c_b)
2830                                         if(p[pixel[4]] < c_b)
2831                                     {}
2832         else
2833             if(p[pixel[13]] < c_b)
2834                 if(p[pixel[14]] < c_b)
2835             {}
2836         else
2837             continue;
2838         else
2839             continue;
2840         else
2841             if(p[pixel[13]] < c_b)
2842                 if(p[pixel[14]] < c_b)
2843                     if(p[pixel[15]] < c_b)
2844                 {}
2845         else
2846             continue;
2847         else
2848             continue;
2849         else
2850             continue;
2851         else
2852             continue;
2853         else
2854             continue;
2855         else
2856             continue;
2857         else
2858             continue;
2859         else
2860             continue;
2861         else
2862             continue;
2863         else
2864             continue;
2865         else
2866             if(p[pixel[9]] > cb)
2867                 if(p[pixel[10]] > cb)
2868                     if(p[pixel[11]] > cb)
2869                         if(p[pixel[12]] > cb)
2870                             if(p[pixel[13]] > cb)
2871                                 if(p[pixel[14]] > cb)
2872                                     if(p[pixel[15]] > cb)
2873                                 {}
2874         else
2875             if(p[pixel[5]] > cb)
2876                 if(p[pixel[6]] > cb)
2877                     if(p[pixel[7]] > cb)
2878                         if(p[pixel[8]] > cb)
2879                     {}
2880         else
2881             continue;
2882         else
2883             continue;
2884         else
2885             continue;
2886         else
2887             continue;
2888         else
2889             if(p[pixel[4]] > cb)
2890                 if(p[pixel[5]] > cb)
2891                     if(p[pixel[6]] > cb)
2892                         if(p[pixel[7]] > cb)
2893                             if(p[pixel[8]] > cb)
2894                         {}
2895         else
2896             continue;
2897         else
2898             continue;
2899         else
2900             continue;
2901         else
2902             continue;
2903         else
2904             continue;
2905         else
2906             continue;
2907         else
2908             continue;
2909         else
2910             continue;
2911         else
2912             continue;
2913         else if(p[pixel[9]] < c_b)
2914             if(p[pixel[6]] < c_b)
2915                 if(p[pixel[7]] < c_b)
2916                     if(p[pixel[8]] < c_b)
2917                         if(p[pixel[10]] < c_b)
2918                             if(p[pixel[11]] < c_b)
2919                                 if(p[pixel[12]] < c_b)
2920                                     if(p[pixel[13]] < c_b)
2921                                         if(p[pixel[5]] < c_b)
2922                                             if(p[pixel[4]] < c_b)
2923                                         {}
2924         else
2925             if(p[pixel[14]] < c_b)
2926         {}
2927         else
2928             continue;
2929         else
2930             if(p[pixel[14]] < c_b)
2931                 if(p[pixel[15]] < c_b)
2932             {}
2933         else
2934             continue;
2935         else
2936             continue;
2937         else
2938             continue;
2939         else
2940             continue;
2941         else
2942             continue;
2943         else
2944             continue;
2945         else
2946             continue;
2947         else
2948             continue;
2949         else
2950             continue;
2951         else
2952             continue;
2953         else if(p[pixel[2]] < c_b)
2954             if(p[pixel[8]] > cb)
2955                 if(p[pixel[9]] > cb)
2956                     if(p[pixel[10]] > cb)
2957                         if(p[pixel[11]] > cb)
2958                             if(p[pixel[12]] > cb)
2959                                 if(p[pixel[13]] > cb)
2960                                     if(p[pixel[14]] > cb)
2961                                         if(p[pixel[15]] > cb)
2962                                     {}
2963         else
2964             if(p[pixel[5]] > cb)
2965                 if(p[pixel[6]] > cb)
2966                     if(p[pixel[7]] > cb)
2967                 {}
2968         else
2969             continue;
2970         else
2971             continue;
2972         else
2973             continue;
2974         else
2975             if(p[pixel[4]] > cb)
2976                 if(p[pixel[5]] > cb)
2977                     if(p[pixel[6]] > cb)
2978                         if(p[pixel[7]] > cb)
2979                     {}
2980         else
2981             continue;
2982         else
2983             continue;
2984         else
2985             continue;
2986         else
2987             continue;
2988         else
2989             if(p[pixel[3]] > cb)
2990                 if(p[pixel[4]] > cb)
2991                     if(p[pixel[5]] > cb)
2992                         if(p[pixel[6]] > cb)
2993                             if(p[pixel[7]] > cb)
2994                         {}
2995         else
2996             continue;
2997         else
2998             continue;
2999         else
3000             continue;
3001         else
3002             continue;
3003         else
3004             continue;
3005         else
3006             continue;
3007         else
3008             continue;
3009         else
3010             continue;
3011         else
3012             continue;
3013         else if(p[pixel[8]] < c_b)
3014             if(p[pixel[6]] < c_b)
3015                 if(p[pixel[7]] < c_b)
3016                     if(p[pixel[9]] < c_b)
3017                         if(p[pixel[10]] < c_b)
3018                             if(p[pixel[11]] < c_b)
3019                                 if(p[pixel[5]] < c_b)
3020                                     if(p[pixel[4]] < c_b)
3021                                         if(p[pixel[3]] < c_b)
3022                                     {}
3023         else
3024             if(p[pixel[12]] < c_b)
3025                 if(p[pixel[13]] < c_b)
3026             {}
3027         else
3028             continue;
3029         else
3030             continue;
3031         else
3032             if(p[pixel[12]] < c_b)
3033                 if(p[pixel[13]] < c_b)
3034                     if(p[pixel[14]] < c_b)
3035                 {}
3036         else
3037             continue;
3038         else
3039             continue;
3040         else
3041             continue;
3042         else
3043             if(p[pixel[12]] < c_b)
3044                 if(p[pixel[13]] < c_b)
3045                     if(p[pixel[14]] < c_b)
3046                         if(p[pixel[15]] < c_b)
3047                     {}
3048         else
3049             continue;
3050         else
3051             continue;
3052         else
3053             continue;
3054         else
3055             continue;
3056         else
3057             continue;
3058         else
3059             continue;
3060         else
3061             continue;
3062         else
3063             continue;
3064         else
3065             continue;
3066         else
3067             continue;
3068         else
3069             if(p[pixel[8]] > cb)
3070                 if(p[pixel[9]] > cb)
3071                     if(p[pixel[10]] > cb)
3072                         if(p[pixel[11]] > cb)
3073                             if(p[pixel[12]] > cb)
3074                                 if(p[pixel[13]] > cb)
3075                                     if(p[pixel[14]] > cb)
3076                                         if(p[pixel[15]] > cb)
3077                                     {}
3078         else
3079             if(p[pixel[5]] > cb)
3080                 if(p[pixel[6]] > cb)
3081                     if(p[pixel[7]] > cb)
3082                 {}
3083         else
3084             continue;
3085         else
3086             continue;
3087         else
3088             continue;
3089         else
3090             if(p[pixel[4]] > cb)
3091                 if(p[pixel[5]] > cb)
3092                     if(p[pixel[6]] > cb)
3093                         if(p[pixel[7]] > cb)
3094                     {}
3095         else
3096             continue;
3097         else
3098             continue;
3099         else
3100             continue;
3101         else
3102             continue;
3103         else
3104             if(p[pixel[3]] > cb)
3105                 if(p[pixel[4]] > cb)
3106                     if(p[pixel[5]] > cb)
3107                         if(p[pixel[6]] > cb)
3108                             if(p[pixel[7]] > cb)
3109                         {}
3110         else
3111             continue;
3112         else
3113             continue;
3114         else
3115             continue;
3116         else
3117             continue;
3118         else
3119             continue;
3120         else
3121             continue;
3122         else
3123             continue;
3124         else
3125             continue;
3126         else
3127             continue;
3128         else if(p[pixel[8]] < c_b)
3129             if(p[pixel[6]] < c_b)
3130                 if(p[pixel[7]] < c_b)
3131                     if(p[pixel[9]] < c_b)
3132                         if(p[pixel[10]] < c_b)
3133                             if(p[pixel[11]] < c_b)
3134                                 if(p[pixel[12]] < c_b)
3135                                     if(p[pixel[5]] < c_b)
3136                                         if(p[pixel[4]] < c_b)
3137                                             if(p[pixel[3]] < c_b)
3138                                         {}
3139         else
3140             if(p[pixel[13]] < c_b)
3141         {}
3142         else
3143             continue;
3144         else
3145             if(p[pixel[13]] < c_b)
3146                 if(p[pixel[14]] < c_b)
3147             {}
3148         else
3149             continue;
3150         else
3151             continue;
3152         else
3153             if(p[pixel[13]] < c_b)
3154                 if(p[pixel[14]] < c_b)
3155                     if(p[pixel[15]] < c_b)
3156                 {}
3157         else
3158             continue;
3159         else
3160             continue;
3161         else
3162             continue;
3163         else
3164             continue;
3165         else
3166             continue;
3167         else
3168             continue;
3169         else
3170             continue;
3171         else
3172             continue;
3173         else
3174             continue;
3175         else
3176             continue;
3177         else if(p[pixel[1]] < c_b)
3178             if(p[pixel[7]] > cb)
3179                 if(p[pixel[8]] > cb)
3180                     if(p[pixel[9]] > cb)
3181                         if(p[pixel[10]] > cb)
3182                             if(p[pixel[11]] > cb)
3183                                 if(p[pixel[12]] > cb)
3184                                     if(p[pixel[13]] > cb)
3185                                         if(p[pixel[14]] > cb)
3186                                             if(p[pixel[15]] > cb)
3187                                         {}
3188         else
3189             if(p[pixel[5]] > cb)
3190                 if(p[pixel[6]] > cb)
3191             {}
3192         else
3193             continue;
3194         else
3195             continue;
3196         else
3197             if(p[pixel[4]] > cb)
3198                 if(p[pixel[5]] > cb)
3199                     if(p[pixel[6]] > cb)
3200                 {}
3201         else
3202             continue;
3203         else
3204             continue;
3205         else
3206             continue;
3207         else
3208             if(p[pixel[3]] > cb)
3209                 if(p[pixel[4]] > cb)
3210                     if(p[pixel[5]] > cb)
3211                         if(p[pixel[6]] > cb)
3212                     {}
3213         else
3214             continue;
3215         else
3216             continue;
3217         else
3218             continue;
3219         else
3220             continue;
3221         else
3222             if(p[pixel[2]] > cb)
3223                 if(p[pixel[3]] > cb)
3224                     if(p[pixel[4]] > cb)
3225                         if(p[pixel[5]] > cb)
3226                             if(p[pixel[6]] > cb)
3227                         {}
3228         else
3229             continue;
3230         else
3231             continue;
3232         else
3233             continue;
3234         else
3235             continue;
3236         else
3237             continue;
3238         else
3239             continue;
3240         else
3241             continue;
3242         else
3243             continue;
3244         else
3245             continue;
3246         else if(p[pixel[7]] < c_b)
3247             if(p[pixel[6]] < c_b)
3248                 if(p[pixel[8]] < c_b)
3249                     if(p[pixel[9]] < c_b)
3250                         if(p[pixel[10]] < c_b)
3251                             if(p[pixel[5]] < c_b)
3252                                 if(p[pixel[4]] < c_b)
3253                                     if(p[pixel[3]] < c_b)
3254                                         if(p[pixel[2]] < c_b)
3255                                     {}
3256         else
3257             if(p[pixel[11]] < c_b)
3258                 if(p[pixel[12]] < c_b)
3259             {}
3260         else
3261             continue;
3262         else
3263             continue;
3264         else
3265             if(p[pixel[11]] < c_b)
3266                 if(p[pixel[12]] < c_b)
3267                     if(p[pixel[13]] < c_b)
3268                 {}
3269         else
3270             continue;
3271         else
3272             continue;
3273         else
3274             continue;
3275         else
3276             if(p[pixel[11]] < c_b)
3277                 if(p[pixel[12]] < c_b)
3278                     if(p[pixel[13]] < c_b)
3279                         if(p[pixel[14]] < c_b)
3280                     {}
3281         else
3282             continue;
3283         else
3284             continue;
3285         else
3286             continue;
3287         else
3288             continue;
3289         else
3290             if(p[pixel[11]] < c_b)
3291                 if(p[pixel[12]] < c_b)
3292                     if(p[pixel[13]] < c_b)
3293                         if(p[pixel[14]] < c_b)
3294                             if(p[pixel[15]] < c_b)
3295                         {}
3296         else
3297             continue;
3298         else
3299             continue;
3300         else
3301             continue;
3302         else
3303             continue;
3304         else
3305             continue;
3306         else
3307             continue;
3308         else
3309             continue;
3310         else
3311             continue;
3312         else
3313             continue;
3314         else
3315             continue;
3316         else
3317             if(p[pixel[7]] > cb)
3318                 if(p[pixel[8]] > cb)
3319                     if(p[pixel[9]] > cb)
3320                         if(p[pixel[10]] > cb)
3321                             if(p[pixel[11]] > cb)
3322                                 if(p[pixel[12]] > cb)
3323                                     if(p[pixel[13]] > cb)
3324                                         if(p[pixel[14]] > cb)
3325                                             if(p[pixel[15]] > cb)
3326                                         {}
3327         else
3328             if(p[pixel[5]] > cb)
3329                 if(p[pixel[6]] > cb)
3330             {}
3331         else
3332             continue;
3333         else
3334             continue;
3335         else
3336             if(p[pixel[4]] > cb)
3337                 if(p[pixel[5]] > cb)
3338                     if(p[pixel[6]] > cb)
3339                 {}
3340         else
3341             continue;
3342         else
3343             continue;
3344         else
3345             continue;
3346         else
3347             if(p[pixel[3]] > cb)
3348                 if(p[pixel[4]] > cb)
3349                     if(p[pixel[5]] > cb)
3350                         if(p[pixel[6]] > cb)
3351                     {}
3352         else
3353             continue;
3354         else
3355             continue;
3356         else
3357             continue;
3358         else
3359             continue;
3360         else
3361             if(p[pixel[2]] > cb)
3362                 if(p[pixel[3]] > cb)
3363                     if(p[pixel[4]] > cb)
3364                         if(p[pixel[5]] > cb)
3365                             if(p[pixel[6]] > cb)
3366                         {}
3367         else
3368             continue;
3369         else
3370             continue;
3371         else
3372             continue;
3373         else
3374             continue;
3375         else
3376             continue;
3377         else
3378             continue;
3379         else
3380             continue;
3381         else
3382             continue;
3383         else
3384             continue;
3385         else if(p[pixel[7]] < c_b)
3386             if(p[pixel[6]] < c_b)
3387                 if(p[pixel[8]] < c_b)
3388                     if(p[pixel[9]] < c_b)
3389                         if(p[pixel[10]] < c_b)
3390                             if(p[pixel[11]] < c_b)
3391                                 if(p[pixel[5]] < c_b)
3392                                     if(p[pixel[4]] < c_b)
3393                                         if(p[pixel[3]] < c_b)
3394                                             if(p[pixel[2]] < c_b)
3395                                         {}
3396         else
3397             if(p[pixel[12]] < c_b)
3398         {}
3399         else
3400             continue;
3401         else
3402             if(p[pixel[12]] < c_b)
3403                 if(p[pixel[13]] < c_b)
3404             {}
3405         else
3406             continue;
3407         else
3408             continue;
3409         else
3410             if(p[pixel[12]] < c_b)
3411                 if(p[pixel[13]] < c_b)
3412                     if(p[pixel[14]] < c_b)
3413                 {}
3414         else
3415             continue;
3416         else
3417             continue;
3418         else
3419             continue;
3420         else
3421             if(p[pixel[12]] < c_b)
3422                 if(p[pixel[13]] < c_b)
3423                     if(p[pixel[14]] < c_b)
3424                         if(p[pixel[15]] < c_b)
3425                     {}
3426         else
3427             continue;
3428         else
3429             continue;
3430         else
3431             continue;
3432         else
3433             continue;
3434         else
3435             continue;
3436         else
3437             continue;
3438         else
3439             continue;
3440         else
3441             continue;
3442         else
3443             continue;
3444         else
3445             continue;
3446         else if(p[pixel[0]] < c_b)
3447             if(p[pixel[1]] > cb)
3448                 if(p[pixel[7]] > cb)
3449                     if(p[pixel[6]] > cb)
3450                         if(p[pixel[8]] > cb)
3451                             if(p[pixel[9]] > cb)
3452                                 if(p[pixel[10]] > cb)
3453                                     if(p[pixel[5]] > cb)
3454                                         if(p[pixel[4]] > cb)
3455                                             if(p[pixel[3]] > cb)
3456                                                 if(p[pixel[2]] > cb)
3457                                             {}
3458         else
3459             if(p[pixel[11]] > cb)
3460                 if(p[pixel[12]] > cb)
3461             {}
3462         else
3463             continue;
3464         else
3465             continue;
3466         else
3467             if(p[pixel[11]] > cb)
3468                 if(p[pixel[12]] > cb)
3469                     if(p[pixel[13]] > cb)
3470                 {}
3471         else
3472             continue;
3473         else
3474             continue;
3475         else
3476             continue;
3477         else
3478             if(p[pixel[11]] > cb)
3479                 if(p[pixel[12]] > cb)
3480                     if(p[pixel[13]] > cb)
3481                         if(p[pixel[14]] > cb)
3482                     {}
3483         else
3484             continue;
3485         else
3486             continue;
3487         else
3488             continue;
3489         else
3490             continue;
3491         else
3492             if(p[pixel[11]] > cb)
3493                 if(p[pixel[12]] > cb)
3494                     if(p[pixel[13]] > cb)
3495                         if(p[pixel[14]] > cb)
3496                             if(p[pixel[15]] > cb)
3497                         {}
3498         else
3499             continue;
3500         else
3501             continue;
3502         else
3503             continue;
3504         else
3505             continue;
3506         else
3507             continue;
3508         else
3509             continue;
3510         else
3511             continue;
3512         else
3513             continue;
3514         else
3515             continue;
3516         else if(p[pixel[7]] < c_b)
3517             if(p[pixel[8]] < c_b)
3518                 if(p[pixel[9]] < c_b)
3519                     if(p[pixel[10]] < c_b)
3520                         if(p[pixel[11]] < c_b)
3521                             if(p[pixel[12]] < c_b)
3522                                 if(p[pixel[13]] < c_b)
3523                                     if(p[pixel[14]] < c_b)
3524                                         if(p[pixel[15]] < c_b)
3525                                     {}
3526         else
3527             if(p[pixel[5]] < c_b)
3528                 if(p[pixel[6]] < c_b)
3529             {}
3530         else
3531             continue;
3532         else
3533             continue;
3534         else
3535             if(p[pixel[4]] < c_b)
3536                 if(p[pixel[5]] < c_b)
3537                     if(p[pixel[6]] < c_b)
3538                 {}
3539         else
3540             continue;
3541         else
3542             continue;
3543         else
3544             continue;
3545         else
3546             if(p[pixel[3]] < c_b)
3547                 if(p[pixel[4]] < c_b)
3548                     if(p[pixel[5]] < c_b)
3549                         if(p[pixel[6]] < c_b)
3550                     {}
3551         else
3552             continue;
3553         else
3554             continue;
3555         else
3556             continue;
3557         else
3558             continue;
3559         else
3560             if(p[pixel[2]] < c_b)
3561                 if(p[pixel[3]] < c_b)
3562                     if(p[pixel[4]] < c_b)
3563                         if(p[pixel[5]] < c_b)
3564                             if(p[pixel[6]] < c_b)
3565                         {}
3566         else
3567             continue;
3568         else
3569             continue;
3570         else
3571             continue;
3572         else
3573             continue;
3574         else
3575             continue;
3576         else
3577             continue;
3578         else
3579             continue;
3580         else
3581             continue;
3582         else
3583             continue;
3584         else
3585             continue;
3586         else if(p[pixel[1]] < c_b)
3587             if(p[pixel[2]] > cb)
3588                 if(p[pixel[8]] > cb)
3589                     if(p[pixel[6]] > cb)
3590                         if(p[pixel[7]] > cb)
3591                             if(p[pixel[9]] > cb)
3592                                 if(p[pixel[10]] > cb)
3593                                     if(p[pixel[11]] > cb)
3594                                         if(p[pixel[5]] > cb)
3595                                             if(p[pixel[4]] > cb)
3596                                                 if(p[pixel[3]] > cb)
3597                                             {}
3598         else
3599             if(p[pixel[12]] > cb)
3600                 if(p[pixel[13]] > cb)
3601             {}
3602         else
3603             continue;
3604         else
3605             continue;
3606         else
3607             if(p[pixel[12]] > cb)
3608                 if(p[pixel[13]] > cb)
3609                     if(p[pixel[14]] > cb)
3610                 {}
3611         else
3612             continue;
3613         else
3614             continue;
3615         else
3616             continue;
3617         else
3618             if(p[pixel[12]] > cb)
3619                 if(p[pixel[13]] > cb)
3620                     if(p[pixel[14]] > cb)
3621                         if(p[pixel[15]] > cb)
3622                     {}
3623         else
3624             continue;
3625         else
3626             continue;
3627         else
3628             continue;
3629         else
3630             continue;
3631         else
3632             continue;
3633         else
3634             continue;
3635         else
3636             continue;
3637         else
3638             continue;
3639         else
3640             continue;
3641         else if(p[pixel[8]] < c_b)
3642             if(p[pixel[9]] < c_b)
3643                 if(p[pixel[10]] < c_b)
3644                     if(p[pixel[11]] < c_b)
3645                         if(p[pixel[12]] < c_b)
3646                             if(p[pixel[13]] < c_b)
3647                                 if(p[pixel[14]] < c_b)
3648                                     if(p[pixel[15]] < c_b)
3649                                 {}
3650         else
3651             if(p[pixel[5]] < c_b)
3652                 if(p[pixel[6]] < c_b)
3653                     if(p[pixel[7]] < c_b)
3654                 {}
3655         else
3656             continue;
3657         else
3658             continue;
3659         else
3660             continue;
3661         else
3662             if(p[pixel[4]] < c_b)
3663                 if(p[pixel[5]] < c_b)
3664                     if(p[pixel[6]] < c_b)
3665                         if(p[pixel[7]] < c_b)
3666                     {}
3667         else
3668             continue;
3669         else
3670             continue;
3671         else
3672             continue;
3673         else
3674             continue;
3675         else
3676             if(p[pixel[3]] < c_b)
3677                 if(p[pixel[4]] < c_b)
3678                     if(p[pixel[5]] < c_b)
3679                         if(p[pixel[6]] < c_b)
3680                             if(p[pixel[7]] < c_b)
3681                         {}
3682         else
3683             continue;
3684         else
3685             continue;
3686         else
3687             continue;
3688         else
3689             continue;
3690         else
3691             continue;
3692         else
3693             continue;
3694         else
3695             continue;
3696         else
3697             continue;
3698         else
3699             continue;
3700         else
3701             continue;
3702         else if(p[pixel[2]] < c_b)
3703             if(p[pixel[3]] > cb)
3704                 if(p[pixel[9]] > cb)
3705                     if(p[pixel[6]] > cb)
3706                         if(p[pixel[7]] > cb)
3707                             if(p[pixel[8]] > cb)
3708                                 if(p[pixel[10]] > cb)
3709                                     if(p[pixel[11]] > cb)
3710                                         if(p[pixel[12]] > cb)
3711                                             if(p[pixel[5]] > cb)
3712                                                 if(p[pixel[4]] > cb)
3713                                             {}
3714         else
3715             if(p[pixel[13]] > cb)
3716                 if(p[pixel[14]] > cb)
3717             {}
3718         else
3719             continue;
3720         else
3721             continue;
3722         else
3723             if(p[pixel[13]] > cb)
3724                 if(p[pixel[14]] > cb)
3725                     if(p[pixel[15]] > cb)
3726                 {}
3727         else
3728             continue;
3729         else
3730             continue;
3731         else
3732             continue;
3733         else
3734             continue;
3735         else
3736             continue;
3737         else
3738             continue;
3739         else
3740             continue;
3741         else
3742             continue;
3743         else
3744             continue;
3745         else if(p[pixel[9]] < c_b)
3746             if(p[pixel[10]] < c_b)
3747                 if(p[pixel[11]] < c_b)
3748                     if(p[pixel[12]] < c_b)
3749                         if(p[pixel[13]] < c_b)
3750                             if(p[pixel[14]] < c_b)
3751                                 if(p[pixel[15]] < c_b)
3752                             {}
3753         else
3754             if(p[pixel[5]] < c_b)
3755                 if(p[pixel[6]] < c_b)
3756                     if(p[pixel[7]] < c_b)
3757                         if(p[pixel[8]] < c_b)
3758                     {}
3759         else
3760             continue;
3761         else
3762             continue;
3763         else
3764             continue;
3765         else
3766             continue;
3767         else
3768             if(p[pixel[4]] < c_b)
3769                 if(p[pixel[5]] < c_b)
3770                     if(p[pixel[6]] < c_b)
3771                         if(p[pixel[7]] < c_b)
3772                             if(p[pixel[8]] < c_b)
3773                         {}
3774         else
3775             continue;
3776         else
3777             continue;
3778         else
3779             continue;
3780         else
3781             continue;
3782         else
3783             continue;
3784         else
3785             continue;
3786         else
3787             continue;
3788         else
3789             continue;
3790         else
3791             continue;
3792         else
3793             continue;
3794         else if(p[pixel[3]] < c_b)
3795             if(p[pixel[4]] > cb)
3796                 if(p[pixel[14]] > cb)
3797                     if(p[pixel[6]] > cb)
3798                         if(p[pixel[7]] > cb)
3799                             if(p[pixel[8]] > cb)
3800                                 if(p[pixel[9]] > cb)
3801                                     if(p[pixel[10]] > cb)
3802                                         if(p[pixel[11]] > cb)
3803                                             if(p[pixel[12]] > cb)
3804                                                 if(p[pixel[13]] > cb)
3805                                                     if(p[pixel[5]] > cb)
3806                                                 {}
3807         else
3808             if(p[pixel[15]] > cb)
3809         {}
3810         else
3811             continue;
3812         else
3813             continue;
3814         else
3815             continue;
3816         else
3817             continue;
3818         else
3819             continue;
3820         else
3821             continue;
3822         else
3823             continue;
3824         else
3825             continue;
3826         else
3827             continue;
3828         else if(p[pixel[14]] < c_b)
3829             if(p[pixel[10]] > cb)
3830                 if(p[pixel[5]] > cb)
3831                     if(p[pixel[6]] > cb)
3832                         if(p[pixel[7]] > cb)
3833                             if(p[pixel[8]] > cb)
3834                                 if(p[pixel[9]] > cb)
3835                                     if(p[pixel[11]] > cb)
3836                                         if(p[pixel[12]] > cb)
3837                                             if(p[pixel[13]] > cb)
3838                                         {}
3839         else
3840             continue;
3841         else
3842             continue;
3843         else
3844             continue;
3845         else
3846             continue;
3847         else
3848             continue;
3849         else
3850             continue;
3851         else
3852             continue;
3853         else
3854             continue;
3855         else if(p[pixel[10]] < c_b)
3856             if(p[pixel[11]] < c_b)
3857                 if(p[pixel[12]] < c_b)
3858                     if(p[pixel[13]] < c_b)
3859                         if(p[pixel[15]] < c_b)
3860                     {}
3861         else
3862             if(p[pixel[5]] < c_b)
3863                 if(p[pixel[6]] < c_b)
3864                     if(p[pixel[7]] < c_b)
3865                         if(p[pixel[8]] < c_b)
3866                             if(p[pixel[9]] < c_b)
3867                         {}
3868         else
3869             continue;
3870         else
3871             continue;
3872         else
3873             continue;
3874         else
3875             continue;
3876         else
3877             continue;
3878         else
3879             continue;
3880         else
3881             continue;
3882         else
3883             continue;
3884         else
3885             continue;
3886         else
3887             if(p[pixel[5]] > cb)
3888                 if(p[pixel[6]] > cb)
3889                     if(p[pixel[7]] > cb)
3890                         if(p[pixel[8]] > cb)
3891                             if(p[pixel[9]] > cb)
3892                                 if(p[pixel[10]] > cb)
3893                                     if(p[pixel[11]] > cb)
3894                                         if(p[pixel[12]] > cb)
3895                                             if(p[pixel[13]] > cb)
3896                                         {}
3897         else
3898             continue;
3899         else
3900             continue;
3901         else
3902             continue;
3903         else
3904             continue;
3905         else
3906             continue;
3907         else
3908             continue;
3909         else
3910             continue;
3911         else
3912             continue;
3913         else
3914             continue;
3915         else if(p[pixel[4]] < c_b)
3916             if(p[pixel[5]] > cb)
3917                 if(p[pixel[15]] < c_b)
3918                     if(p[pixel[11]] > cb)
3919                         if(p[pixel[6]] > cb)
3920                             if(p[pixel[7]] > cb)
3921                                 if(p[pixel[8]] > cb)
3922                                     if(p[pixel[9]] > cb)
3923                                         if(p[pixel[10]] > cb)
3924                                             if(p[pixel[12]] > cb)
3925                                                 if(p[pixel[13]] > cb)
3926                                                     if(p[pixel[14]] > cb)
3927                                                 {}
3928         else
3929             continue;
3930         else
3931             continue;
3932         else
3933             continue;
3934         else
3935             continue;
3936         else
3937             continue;
3938         else
3939             continue;
3940         else
3941             continue;
3942         else
3943             continue;
3944         else if(p[pixel[11]] < c_b)
3945             if(p[pixel[12]] < c_b)
3946                 if(p[pixel[13]] < c_b)
3947                     if(p[pixel[14]] < c_b)
3948                 {}
3949         else
3950             continue;
3951         else
3952             continue;
3953         else
3954             continue;
3955         else
3956             continue;
3957         else
3958             if(p[pixel[6]] > cb)
3959                 if(p[pixel[7]] > cb)
3960                     if(p[pixel[8]] > cb)
3961                         if(p[pixel[9]] > cb)
3962                             if(p[pixel[10]] > cb)
3963                                 if(p[pixel[11]] > cb)
3964                                     if(p[pixel[12]] > cb)
3965                                         if(p[pixel[13]] > cb)
3966                                             if(p[pixel[14]] > cb)
3967                                         {}
3968         else
3969             continue;
3970         else
3971             continue;
3972         else
3973             continue;
3974         else
3975             continue;
3976         else
3977             continue;
3978         else
3979             continue;
3980         else
3981             continue;
3982         else
3983             continue;
3984         else
3985             continue;
3986         else if(p[pixel[5]] < c_b)
3987             if(p[pixel[6]] > cb)
3988                 if(p[pixel[12]] > cb)
3989                     if(p[pixel[7]] > cb)
3990                         if(p[pixel[8]] > cb)
3991                             if(p[pixel[9]] > cb)
3992                                 if(p[pixel[10]] > cb)
3993                                     if(p[pixel[11]] > cb)
3994                                         if(p[pixel[13]] > cb)
3995                                             if(p[pixel[14]] > cb)
3996                                                 if(p[pixel[15]] > cb)
3997                                             {}
3998         else
3999             continue;
4000         else
4001             continue;
4002         else
4003             continue;
4004         else
4005             continue;
4006         else
4007             continue;
4008         else
4009             continue;
4010         else
4011             continue;
4012         else
4013             continue;
4014         else if(p[pixel[12]] < c_b)
4015             if(p[pixel[13]] < c_b)
4016                 if(p[pixel[14]] < c_b)
4017                     if(p[pixel[15]] < c_b)
4018                 {}
4019         else
4020             continue;
4021         else
4022             continue;
4023         else
4024             continue;
4025         else
4026             continue;
4027         else if(p[pixel[6]] < c_b)
4028             if(p[pixel[7]] < c_b)
4029                 if(p[pixel[8]] < c_b)
4030                     if(p[pixel[9]] < c_b)
4031                 {}
4032         else
4033             if(p[pixel[15]] < c_b)
4034         {}
4035         else
4036             continue;
4037         else
4038             if(p[pixel[14]] < c_b)
4039                 if(p[pixel[15]] < c_b)
4040             {}
4041         else
4042             continue;
4043         else
4044             continue;
4045         else
4046             if(p[pixel[13]] < c_b)
4047                 if(p[pixel[14]] < c_b)
4048                     if(p[pixel[15]] < c_b)
4049                 {}
4050         else
4051             continue;
4052         else
4053             continue;
4054         else
4055             continue;
4056         else
4057             if(p[pixel[12]] < c_b)
4058                 if(p[pixel[13]] < c_b)
4059                     if(p[pixel[14]] < c_b)
4060                         if(p[pixel[15]] < c_b)
4061                     {}
4062         else
4063             continue;
4064         else
4065             continue;
4066         else
4067             continue;
4068         else
4069             continue;
4070         else
4071             if(p[pixel[11]] > cb)
4072                 if(p[pixel[6]] > cb)
4073                     if(p[pixel[7]] > cb)
4074                         if(p[pixel[8]] > cb)
4075                             if(p[pixel[9]] > cb)
4076                                 if(p[pixel[10]] > cb)
4077                                     if(p[pixel[12]] > cb)
4078                                         if(p[pixel[13]] > cb)
4079                                             if(p[pixel[14]] > cb)
4080                                                 if(p[pixel[15]] > cb)
4081                                             {}
4082         else
4083             continue;
4084         else
4085             continue;
4086         else
4087             continue;
4088         else
4089             continue;
4090         else
4091             continue;
4092         else
4093             continue;
4094         else
4095             continue;
4096         else
4097             continue;
4098         else
4099             continue;
4100         else if(p[pixel[11]] < c_b)
4101             if(p[pixel[12]] < c_b)
4102                 if(p[pixel[13]] < c_b)
4103                     if(p[pixel[14]] < c_b)
4104                         if(p[pixel[15]] < c_b)
4105                     {}
4106         else
4107             continue;
4108         else
4109             continue;
4110         else
4111             continue;
4112         else
4113             continue;
4114         else
4115             continue;
4116         else
4117             if(p[pixel[10]] > cb)
4118                 if(p[pixel[6]] > cb)
4119                     if(p[pixel[7]] > cb)
4120                         if(p[pixel[8]] > cb)
4121                             if(p[pixel[9]] > cb)
4122                                 if(p[pixel[11]] > cb)
4123                                     if(p[pixel[12]] > cb)
4124                                         if(p[pixel[13]] > cb)
4125                                             if(p[pixel[14]] > cb)
4126                                                 if(p[pixel[5]] > cb)
4127                                             {}
4128         else
4129             if(p[pixel[15]] > cb)
4130         {}
4131         else
4132             continue;
4133         else
4134             continue;
4135         else
4136             continue;
4137         else
4138             continue;
4139         else
4140             continue;
4141         else
4142             continue;
4143         else
4144             continue;
4145         else
4146             continue;
4147         else
4148             continue;
4149         else if(p[pixel[10]] < c_b)
4150             if(p[pixel[11]] < c_b)
4151                 if(p[pixel[12]] < c_b)
4152                     if(p[pixel[13]] < c_b)
4153                         if(p[pixel[14]] < c_b)
4154                             if(p[pixel[15]] < c_b)
4155                         {}
4156         else
4157             if(p[pixel[5]] < c_b)
4158                 if(p[pixel[6]] < c_b)
4159                     if(p[pixel[7]] < c_b)
4160                         if(p[pixel[8]] < c_b)
4161                             if(p[pixel[9]] < c_b)
4162                         {}
4163         else
4164             continue;
4165         else
4166             continue;
4167         else
4168             continue;
4169         else
4170             continue;
4171         else
4172             continue;
4173         else
4174             continue;
4175         else
4176             continue;
4177         else
4178             continue;
4179         else
4180             continue;
4181         else
4182             continue;
4183         else
4184             if(p[pixel[9]] > cb)
4185                 if(p[pixel[6]] > cb)
4186                     if(p[pixel[7]] > cb)
4187                         if(p[pixel[8]] > cb)
4188                             if(p[pixel[10]] > cb)
4189                                 if(p[pixel[11]] > cb)
4190                                     if(p[pixel[12]] > cb)
4191                                         if(p[pixel[13]] > cb)
4192                                             if(p[pixel[5]] > cb)
4193                                                 if(p[pixel[4]] > cb)
4194                                             {}
4195         else
4196             if(p[pixel[14]] > cb)
4197         {}
4198         else
4199             continue;
4200         else
4201             if(p[pixel[14]] > cb)
4202                 if(p[pixel[15]] > cb)
4203             {}
4204         else
4205             continue;
4206         else
4207             continue;
4208         else
4209             continue;
4210         else
4211             continue;
4212         else
4213             continue;
4214         else
4215             continue;
4216         else
4217             continue;
4218         else
4219             continue;
4220         else
4221             continue;
4222         else if(p[pixel[9]] < c_b)
4223             if(p[pixel[10]] < c_b)
4224                 if(p[pixel[11]] < c_b)
4225                     if(p[pixel[12]] < c_b)
4226                         if(p[pixel[13]] < c_b)
4227                             if(p[pixel[14]] < c_b)
4228                                 if(p[pixel[15]] < c_b)
4229                             {}
4230         else
4231             if(p[pixel[5]] < c_b)
4232                 if(p[pixel[6]] < c_b)
4233                     if(p[pixel[7]] < c_b)
4234                         if(p[pixel[8]] < c_b)
4235                     {}
4236         else
4237             continue;
4238         else
4239             continue;
4240         else
4241             continue;
4242         else
4243             continue;
4244         else
4245             if(p[pixel[4]] < c_b)
4246                 if(p[pixel[5]] < c_b)
4247                     if(p[pixel[6]] < c_b)
4248                         if(p[pixel[7]] < c_b)
4249                             if(p[pixel[8]] < c_b)
4250                         {}
4251         else
4252             continue;
4253         else
4254             continue;
4255         else
4256             continue;
4257         else
4258             continue;
4259         else
4260             continue;
4261         else
4262             continue;
4263         else
4264             continue;
4265         else
4266             continue;
4267         else
4268             continue;
4269         else
4270             continue;
4271         else
4272             if(p[pixel[8]] > cb)
4273                 if(p[pixel[6]] > cb)
4274                     if(p[pixel[7]] > cb)
4275                         if(p[pixel[9]] > cb)
4276                             if(p[pixel[10]] > cb)
4277                                 if(p[pixel[11]] > cb)
4278                                     if(p[pixel[12]] > cb)
4279                                         if(p[pixel[5]] > cb)
4280                                             if(p[pixel[4]] > cb)
4281                                                 if(p[pixel[3]] > cb)
4282                                             {}
4283         else
4284             if(p[pixel[13]] > cb)
4285         {}
4286         else
4287             continue;
4288         else
4289             if(p[pixel[13]] > cb)
4290                 if(p[pixel[14]] > cb)
4291             {}
4292         else
4293             continue;
4294         else
4295             continue;
4296         else
4297             if(p[pixel[13]] > cb)
4298                 if(p[pixel[14]] > cb)
4299                     if(p[pixel[15]] > cb)
4300                 {}
4301         else
4302             continue;
4303         else
4304             continue;
4305         else
4306             continue;
4307         else
4308             continue;
4309         else
4310             continue;
4311         else
4312             continue;
4313         else
4314             continue;
4315         else
4316             continue;
4317         else
4318             continue;
4319         else if(p[pixel[8]] < c_b)
4320             if(p[pixel[9]] < c_b)
4321                 if(p[pixel[10]] < c_b)
4322                     if(p[pixel[11]] < c_b)
4323                         if(p[pixel[12]] < c_b)
4324                             if(p[pixel[13]] < c_b)
4325                                 if(p[pixel[14]] < c_b)
4326                                     if(p[pixel[15]] < c_b)
4327                                 {}
4328         else
4329             if(p[pixel[5]] < c_b)
4330                 if(p[pixel[6]] < c_b)
4331                     if(p[pixel[7]] < c_b)
4332                 {}
4333         else
4334             continue;
4335         else
4336             continue;
4337         else
4338             continue;
4339         else
4340             if(p[pixel[4]] < c_b)
4341                 if(p[pixel[5]] < c_b)
4342                     if(p[pixel[6]] < c_b)
4343                         if(p[pixel[7]] < c_b)
4344                     {}
4345         else
4346             continue;
4347         else
4348             continue;
4349         else
4350             continue;
4351         else
4352             continue;
4353         else
4354             if(p[pixel[3]] < c_b)
4355                 if(p[pixel[4]] < c_b)
4356                     if(p[pixel[5]] < c_b)
4357                         if(p[pixel[6]] < c_b)
4358                             if(p[pixel[7]] < c_b)
4359                         {}
4360         else
4361             continue;
4362         else
4363             continue;
4364         else
4365             continue;
4366         else
4367             continue;
4368         else
4369             continue;
4370         else
4371             continue;
4372         else
4373             continue;
4374         else
4375             continue;
4376         else
4377             continue;
4378         else
4379             continue;
4380         else
4381             if(p[pixel[7]] > cb)
4382                 if(p[pixel[6]] > cb)
4383                     if(p[pixel[8]] > cb)
4384                         if(p[pixel[9]] > cb)
4385                             if(p[pixel[10]] > cb)
4386                                 if(p[pixel[11]] > cb)
4387                                     if(p[pixel[5]] > cb)
4388                                         if(p[pixel[4]] > cb)
4389                                             if(p[pixel[3]] > cb)
4390                                                 if(p[pixel[2]] > cb)
4391                                             {}
4392         else
4393             if(p[pixel[12]] > cb)
4394         {}
4395         else
4396             continue;
4397         else
4398             if(p[pixel[12]] > cb)
4399                 if(p[pixel[13]] > cb)
4400             {}
4401         else
4402             continue;
4403         else
4404             continue;
4405         else
4406             if(p[pixel[12]] > cb)
4407                 if(p[pixel[13]] > cb)
4408                     if(p[pixel[14]] > cb)
4409                 {}
4410         else
4411             continue;
4412         else
4413             continue;
4414         else
4415             continue;
4416         else
4417             if(p[pixel[12]] > cb)
4418                 if(p[pixel[13]] > cb)
4419                     if(p[pixel[14]] > cb)
4420                         if(p[pixel[15]] > cb)
4421                     {}
4422         else
4423             continue;
4424         else
4425             continue;
4426         else
4427             continue;
4428         else
4429             continue;
4430         else
4431             continue;
4432         else
4433             continue;
4434         else
4435             continue;
4436         else
4437             continue;
4438         else
4439             continue;
4440         else if(p[pixel[7]] < c_b)
4441             if(p[pixel[8]] < c_b)
4442                 if(p[pixel[9]] < c_b)
4443                     if(p[pixel[10]] < c_b)
4444                         if(p[pixel[11]] < c_b)
4445                             if(p[pixel[12]] < c_b)
4446                                 if(p[pixel[13]] < c_b)
4447                                     if(p[pixel[14]] < c_b)
4448                                         if(p[pixel[15]] < c_b)
4449                                     {}
4450         else
4451             if(p[pixel[5]] < c_b)
4452                 if(p[pixel[6]] < c_b)
4453             {}
4454         else
4455             continue;
4456         else
4457             continue;
4458         else
4459             if(p[pixel[4]] < c_b)
4460                 if(p[pixel[5]] < c_b)
4461                     if(p[pixel[6]] < c_b)
4462                 {}
4463         else
4464             continue;
4465         else
4466             continue;
4467         else
4468             continue;
4469         else
4470             if(p[pixel[3]] < c_b)
4471                 if(p[pixel[4]] < c_b)
4472                     if(p[pixel[5]] < c_b)
4473                         if(p[pixel[6]] < c_b)
4474                     {}
4475         else
4476             continue;
4477         else
4478             continue;
4479         else
4480             continue;
4481         else
4482             continue;
4483         else
4484             if(p[pixel[2]] < c_b)
4485                 if(p[pixel[3]] < c_b)
4486                     if(p[pixel[4]] < c_b)
4487                         if(p[pixel[5]] < c_b)
4488                             if(p[pixel[6]] < c_b)
4489                         {}
4490         else
4491             continue;
4492         else
4493             continue;
4494         else
4495             continue;
4496         else
4497             continue;
4498         else
4499             continue;
4500         else
4501             continue;
4502         else
4503             continue;
4504         else
4505             continue;
4506         else
4507             continue;
4508         else
4509             continue;
4510         else
4511             if(p[pixel[6]] > cb)
4512                 if(p[pixel[7]] > cb)
4513                     if(p[pixel[8]] > cb)
4514                         if(p[pixel[9]] > cb)
4515                             if(p[pixel[10]] > cb)
4516                                 if(p[pixel[5]] > cb)
4517                                     if(p[pixel[4]] > cb)
4518                                         if(p[pixel[3]] > cb)
4519                                             if(p[pixel[2]] > cb)
4520                                                 if(p[pixel[1]] > cb)
4521                                             {}
4522         else
4523             if(p[pixel[11]] > cb)
4524         {}
4525         else
4526             continue;
4527         else
4528             if(p[pixel[11]] > cb)
4529                 if(p[pixel[12]] > cb)
4530             {}
4531         else
4532             continue;
4533         else
4534             continue;
4535         else
4536             if(p[pixel[11]] > cb)
4537                 if(p[pixel[12]] > cb)
4538                     if(p[pixel[13]] > cb)
4539                 {}
4540         else
4541             continue;
4542         else
4543             continue;
4544         else
4545             continue;
4546         else
4547             if(p[pixel[11]] > cb)
4548                 if(p[pixel[12]] > cb)
4549                     if(p[pixel[13]] > cb)
4550                         if(p[pixel[14]] > cb)
4551                     {}
4552         else
4553             continue;
4554         else
4555             continue;
4556         else
4557             continue;
4558         else
4559             continue;
4560         else
4561             if(p[pixel[11]] > cb)
4562                 if(p[pixel[12]] > cb)
4563                     if(p[pixel[13]] > cb)
4564                         if(p[pixel[14]] > cb)
4565                             if(p[pixel[15]] > cb)
4566                         {}
4567         else
4568             continue;
4569         else
4570             continue;
4571         else
4572             continue;
4573         else
4574             continue;
4575         else
4576             continue;
4577         else
4578             continue;
4579         else
4580             continue;
4581         else
4582             continue;
4583         else
4584             continue;
4585         else if(p[pixel[6]] < c_b)
4586             if(p[pixel[7]] < c_b)
4587                 if(p[pixel[8]] < c_b)
4588                     if(p[pixel[9]] < c_b)
4589                         if(p[pixel[10]] < c_b)
4590                             if(p[pixel[5]] < c_b)
4591                                 if(p[pixel[4]] < c_b)
4592                                     if(p[pixel[3]] < c_b)
4593                                         if(p[pixel[2]] < c_b)
4594                                             if(p[pixel[1]] < c_b)
4595                                         {}
4596         else
4597             if(p[pixel[11]] < c_b)
4598         {}
4599         else
4600             continue;
4601         else
4602             if(p[pixel[11]] < c_b)
4603                 if(p[pixel[12]] < c_b)
4604             {}
4605         else
4606             continue;
4607         else
4608             continue;
4609         else
4610             if(p[pixel[11]] < c_b)
4611                 if(p[pixel[12]] < c_b)
4612                     if(p[pixel[13]] < c_b)
4613                 {}
4614         else
4615             continue;
4616         else
4617             continue;
4618         else
4619             continue;
4620         else
4621             if(p[pixel[11]] < c_b)
4622                 if(p[pixel[12]] < c_b)
4623                     if(p[pixel[13]] < c_b)
4624                         if(p[pixel[14]] < c_b)
4625                     {}
4626         else
4627             continue;
4628         else
4629             continue;
4630         else
4631             continue;
4632         else
4633             continue;
4634         else
4635             if(p[pixel[11]] < c_b)
4636                 if(p[pixel[12]] < c_b)
4637                     if(p[pixel[13]] < c_b)
4638                         if(p[pixel[14]] < c_b)
4639                             if(p[pixel[15]] < c_b)
4640                         {}
4641         else
4642             continue;
4643         else
4644             continue;
4645         else
4646             continue;
4647         else
4648             continue;
4649         else
4650             continue;
4651         else
4652             continue;
4653         else
4654             continue;
4655         else
4656             continue;
4657         else
4658             continue;
4659         else
4660             continue;
4661         if(num_corners == rsize)
4662         {
4663             rsize*=2;
4664             ret_corners = cast(xy*)realloc(ret_corners, xy.sizeof*rsize);
4665         }
4666 
4667         ret_corners[num_corners].x = x;
4668         ret_corners[num_corners].y = y;
4669         num_corners++;
4670     }
4671     
4672     *ret_num_corners = num_corners;
4673     return ret_corners;
4674 }
4675