agast_2d.cpp
Go to the documentation of this file.
00001 /*
00002  * Software License Agreement (BSD License)
00003  *
00004  *  Point Cloud Library (PCL) - www.pointclouds.org
00005  *  Copyright (c) 2010-2011, Willow Garage, Inc.
00006  *  Copyright (c) 2012-, Open Perception, Inc.
00007  *
00008  *  All rights reserved.
00009  *
00010  *  Redistribution and use in source and binary forms, with or without
00011  *  modification, are permitted provided that the following conditions
00012  *  are met:
00013  *
00014  *   * Redistributions of source code must retain the above copyright
00015  *     notice, this list of conditions and the following disclaimer.
00016  *   * Redistributions in binary form must reproduce the above
00017  *     copyright notice, this list of conditions and the following
00018  *     disclaimer in the documentation and/or other materials provided
00019  *     with the distribution.
00020  *   * Neither the name of Willow Garage, Inc. nor the names of its
00021  *     contributors may be used to endorse or promote products derived
00022  *     from this software without specific prior written permission.
00023  *
00024  *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
00025  *  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
00026  *  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
00027  *  FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
00028  *  COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
00029  *  INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
00030  *  BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
00031  *  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
00032  *  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
00033  *  LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
00034  *  ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
00035  *  POSSIBILITY OF SUCH DAMAGE.
00036  *
00037  */
00038 
00039 #include <pcl/keypoints/agast_2d.h>
00040 #include <pcl/point_types.h>
00041 #include <pcl/impl/instantiate.hpp>
00042 
00044 void
00045 pcl::AgastKeypoint2D<pcl::PointXYZ, pcl::PointUV>::detectKeypoints (pcl::PointCloud<pcl::PointUV> &output)
00046 {
00047   // image size
00048   const size_t width = input_->width;
00049   const size_t height = input_->height;
00050 
00051   // destination for intensity data; will be forwarded to AGAST
00052   std::vector<float> image_data (width * height);
00053 
00054   for (size_t i = 0; i < image_data.size (); ++i)
00055     image_data[i] = static_cast<float> (intensity_ ((*input_)[i]));
00056 
00057   if (!detector_)
00058     detector_.reset (new pcl::keypoints::agast::AgastDetector7_12s (width, height, threshold_, bmax_));
00059 
00060   detector_->setMaxKeypoints (nr_max_keypoints_);
00061 
00062   if (apply_non_max_suppression_)
00063   {
00064     pcl::PointCloud<pcl::PointUV> tmp_cloud;
00065 
00066     detector_->detectKeypoints (image_data, tmp_cloud);
00067     detector_->applyNonMaxSuppression (image_data, tmp_cloud, output);
00068   }
00069   else
00070   {
00071     detector_->detectKeypoints (image_data, output);
00072   }
00073 
00074   // we don not change the denseness
00075   output.is_dense = true;
00076 }
00077 
00079 void
00080 pcl::keypoints::agast::AbstractAgastDetector::detectKeypoints (
00081     const std::vector<unsigned char> & intensity_data, 
00082     pcl::PointCloud<pcl::PointUV> &output)
00083 {
00084   detect (&(intensity_data[0]), output.points);
00085 
00086   output.height = 1;
00087   output.width = static_cast<uint32_t> (output.points.size ());
00088 }
00089 
00091 void
00092 pcl::keypoints::agast::AbstractAgastDetector::detectKeypoints (
00093     const std::vector<float> & intensity_data, 
00094     pcl::PointCloud<pcl::PointUV> &output)
00095 {
00096   detect (&(intensity_data[0]), output.points);
00097 
00098   output.height = 1;
00099   output.width = static_cast<uint32_t> (output.points.size ());
00100 }
00101 
00103 void
00104 pcl::keypoints::agast::AbstractAgastDetector::applyNonMaxSuppression (
00105     const pcl::PointCloud<pcl::PointUV> &input,
00106     const std::vector<ScoreIndex> &scores,
00107     pcl::PointCloud<pcl::PointUV> &output)
00108 {
00109   std::vector<int> nms_flags;
00110 
00111   const std::vector<pcl::PointUV, Eigen::aligned_allocator<pcl::PointUV> > & corners_all = input.points;
00112   std::vector<pcl::PointUV, Eigen::aligned_allocator<pcl::PointUV> > & corners_nms = output.points;
00113 
00114   int curr_corner_ind;
00115   int lastRow = 0, next_lastRow = 0;
00116   std::vector<pcl::PointUV, Eigen::aligned_allocator<pcl::PointUV> >::const_iterator curr_corner;
00117   int lastRowCorner_ind = 0, next_lastRowCorner_ind = 0;
00118   std::vector<int>::iterator nms_flags_p;
00119   std::vector<pcl::PointUV, Eigen::aligned_allocator<pcl::PointUV> >::iterator curr_corner_nms;
00120   int j;
00121   int num_corners_all = int (corners_all.size ());
00122   int n_max_corners = int (corners_nms.capacity ());
00123 
00124   curr_corner = corners_all.begin ();
00125 
00126   if (num_corners_all > n_max_corners)
00127   {
00128     if (n_max_corners == 0)
00129     {
00130       n_max_corners = 512 > num_corners_all ? 512 : num_corners_all;
00131       corners_nms.reserve (n_max_corners);
00132       nms_flags.reserve (n_max_corners);
00133     }
00134     else
00135     {
00136       n_max_corners *= 2;
00137       if (num_corners_all > n_max_corners)
00138         n_max_corners = num_corners_all;
00139       corners_nms.reserve (n_max_corners);
00140       nms_flags.reserve (n_max_corners);
00141     }
00142   }
00143   corners_nms.resize (num_corners_all);
00144   nms_flags.resize (num_corners_all);
00145 
00146   nms_flags_p = nms_flags.begin ();
00147   curr_corner_nms = corners_nms.begin ();
00148 
00149   // set all flags to MAXIMUM
00150   for (j = num_corners_all; j > 0; j--)
00151     *nms_flags_p++= -1;
00152   nms_flags_p = nms_flags.begin ();
00153 
00154   for (curr_corner_ind = 0; curr_corner_ind < num_corners_all; curr_corner_ind++)
00155   {
00156     int t;
00157 
00158     // check above
00159     if (lastRow + 1 < curr_corner->v)
00160     {
00161       lastRow=next_lastRow;
00162       lastRowCorner_ind=next_lastRowCorner_ind;
00163     }
00164     if (next_lastRow != curr_corner->v)
00165     {
00166       next_lastRow = int (curr_corner->v);
00167       next_lastRowCorner_ind = curr_corner_ind;
00168     }
00169     if (lastRow+1 == curr_corner->v)
00170     {
00171       //find the corner above the current one
00172       while ((corners_all[lastRowCorner_ind].u < curr_corner->u) && (corners_all[lastRowCorner_ind].v == lastRow))
00173         lastRowCorner_ind++;
00174 
00175       if ((corners_all[lastRowCorner_ind].u == curr_corner->u) && (lastRowCorner_ind!=curr_corner_ind))
00176       {
00177         int t = lastRowCorner_ind;
00178         while (nms_flags[t] != -1) //find the maximum in this block
00179           t = nms_flags[t];
00180 
00181         if (scores[curr_corner_ind].score < scores[t].score)
00182         {
00183           nms_flags[curr_corner_ind] = t;
00184         }
00185         else
00186           nms_flags[t] = curr_corner_ind;
00187       }
00188     }
00189 
00190     //check left
00191     t = curr_corner_ind - 1;
00192     if ((curr_corner_ind!=0) && (corners_all[t].v == curr_corner->v) && (corners_all[t].u+1 == curr_corner->u))
00193     {
00194       int curr_cornerMaxAbove_ind = nms_flags[curr_corner_ind];
00195 
00196       while (nms_flags[t] != -1) //find the maximum in that area
00197         t = nms_flags[t];
00198 
00199       if (curr_cornerMaxAbove_ind == -1) //no maximum above
00200       {
00201         if (t != curr_corner_ind)
00202         {
00203           if (scores[curr_corner_ind].score < scores[t].score)
00204             nms_flags[curr_corner_ind] = t;
00205           else
00206             nms_flags[t] = curr_corner_ind;
00207         }
00208       }
00209       else  //maximum above
00210       {
00211         if (t != curr_cornerMaxAbove_ind)
00212         {
00213           if (scores[curr_cornerMaxAbove_ind].score < scores[t].score)
00214           {
00215             nms_flags[curr_cornerMaxAbove_ind] = t;
00216             nms_flags[curr_corner_ind] = t;
00217           }
00218           else
00219           {
00220             nms_flags[t] = curr_cornerMaxAbove_ind;
00221             nms_flags[curr_corner_ind] = curr_cornerMaxAbove_ind;
00222           }
00223         }
00224       }
00225     }
00226 
00227     curr_corner++;
00228   }
00229 
00230   // collecting maximum corners
00231   corners_nms.resize (0);
00232   for (curr_corner_ind = 0; curr_corner_ind < num_corners_all; curr_corner_ind++)
00233   {
00234     if (*nms_flags_p++ == -1)
00235       corners_nms.push_back (corners_all[curr_corner_ind]);
00236   }
00237 
00238   output.height = 1;
00239   output.width = static_cast<uint32_t> (output.points.size ());
00240   output.is_dense = input.is_dense;
00241 }
00242 
00244 void
00245 pcl::keypoints::agast::AbstractAgastDetector::applyNonMaxSuppression (
00246   const std::vector<unsigned char>& intensity_data, 
00247   const pcl::PointCloud<pcl::PointUV> &input,
00248   pcl::PointCloud<pcl::PointUV> &output)
00249 {
00250   std::vector<ScoreIndex> scores;
00251   computeCornerScores (&(intensity_data[0]), input.points, scores);
00252   
00253   // If a threshold for the maximum number of keypoints is given
00254   if (nr_max_keypoints_ <= scores.size ()) //std::numeric_limits<unsigned int>::max ())
00255   {
00256     std::sort (scores.begin (), scores.end (), CompareScoreIndex ());
00257 
00258     scores.resize (nr_max_keypoints_);
00259 
00260     // Need to copy the points
00261     pcl::PointCloud<pcl::PointUV> best_input;
00262     best_input.resize (nr_max_keypoints_);
00263     for (int i = 0; i < scores.size (); ++i)
00264       best_input[i] = input[scores[i].idx];
00265     applyNonMaxSuppression (best_input, scores, output);
00266   }
00267   else
00268     applyNonMaxSuppression (input, scores, output);
00269 }
00270 
00272 void
00273 pcl::keypoints::agast::AbstractAgastDetector::applyNonMaxSuppression (
00274   const std::vector<float>& intensity_data, 
00275   const pcl::PointCloud<pcl::PointUV> &input,
00276   pcl::PointCloud<pcl::PointUV> &output)
00277 {
00278   std::vector<ScoreIndex> scores;
00279   computeCornerScores (&(intensity_data[0]), input.points, scores);
00280   
00281   // If a threshold for the maximum number of keypoints is given
00282   if (nr_max_keypoints_ <= scores.size ()) //std::numeric_limits<unsigned int>::max ())
00283   {
00284     std::sort (scores.begin (), scores.end (), CompareScoreIndex ());
00285 
00286     scores.resize (nr_max_keypoints_);
00287 
00288     // Need to copy the points
00289     pcl::PointCloud<pcl::PointUV> best_input;
00290     best_input.resize (nr_max_keypoints_);
00291     for (int i = 0; i < scores.size (); ++i)
00292       best_input[i] = input[scores[i].idx];
00293     applyNonMaxSuppression (best_input, scores, output);
00294   }
00295   else
00296     applyNonMaxSuppression (input, scores, output);
00297 }
00298 
00300 void
00301 pcl::keypoints::agast::AbstractAgastDetector::computeCornerScores (
00302   const unsigned char* im,
00303   const std::vector<pcl::PointUV, Eigen::aligned_allocator<pcl::PointUV> > &corners_all, 
00304   std::vector<ScoreIndex> &scores)
00305 {
00306   unsigned int n = 0;
00307   unsigned int num_corners = static_cast<unsigned int> (corners_all.size ());
00308 
00309   if (num_corners > scores.capacity ())
00310   {
00311     if (scores.capacity () == 0)
00312       scores.reserve (512 > num_corners ? 512 : num_corners);
00313     else
00314     {
00315       unsigned int nScores = static_cast<unsigned int> (scores.capacity ()) * 2;
00316       if (num_corners > nScores)
00317         nScores = num_corners;
00318       scores.reserve (nScores);
00319     }
00320   }
00321   scores.resize (num_corners);
00322 
00323   for (; n < num_corners; n++)
00324   {
00325     scores[n].idx   = n;
00326     scores[n].score = computeCornerScore (im + static_cast<size_t> (corners_all[n].v) * width_ + static_cast<size_t> (corners_all[n].u));
00327   }
00328 }
00329 
00331 void
00332 pcl::keypoints::agast::AbstractAgastDetector::computeCornerScores (
00333   const float* im,
00334   const std::vector<pcl::PointUV, Eigen::aligned_allocator<pcl::PointUV> > &corners_all, 
00335   std::vector<ScoreIndex> &scores)
00336 {
00337   unsigned int n = 0;
00338   unsigned int num_corners = static_cast<unsigned int> (corners_all.size ());
00339 
00340   if (num_corners > scores.capacity ())
00341   {
00342     if (scores.capacity () == 0)
00343       scores.reserve (512 > num_corners ? 512 : num_corners);
00344     else
00345     {
00346       unsigned int nScores = static_cast<unsigned int> (scores.capacity ()) * 2;
00347       if (num_corners > nScores)
00348         nScores = num_corners;
00349       scores.reserve (nScores);
00350     }
00351   }
00352   scores.resize (num_corners);
00353 
00354   for (; n < num_corners; n++)
00355   {
00356     scores[n].idx   = n;
00357     scores[n].score = computeCornerScore (im + static_cast<size_t> (corners_all[n].v) * width_ + static_cast<size_t> (corners_all[n].u));
00358   }
00359 }
00360 
00361 
00365 namespace pcl
00366 {
00367   namespace keypoints
00368   {
00369     namespace agast
00370     {
00372       // Helper method for AgastDetector7_12s::detect
00373       template <typename T1, typename T2> void
00374       AgastDetector7_12s_detect (
00375           const T1* im, 
00376           int img_width, int img_height,
00377           double threshold,
00378           int_fast16_t s_offset0,
00379           int_fast16_t s_offset1,
00380           int_fast16_t s_offset2,
00381           int_fast16_t s_offset3,
00382           int_fast16_t s_offset4,
00383           int_fast16_t s_offset5,
00384           int_fast16_t s_offset6,
00385           int_fast16_t s_offset7,
00386           int_fast16_t s_offset8,
00387           int_fast16_t s_offset9,
00388           int_fast16_t s_offset10,
00389           int_fast16_t s_offset11,
00390           std::vector<pcl::PointUV, Eigen::aligned_allocator<pcl::PointUV> >& corners)
00391       {
00392         int total = 0;
00393         int n_expected_corners = int (corners.capacity ());
00394         pcl::PointUV h;
00395         register int x, y;
00396         register int width_b  = img_width - 3; //2, +1 due to faster test x>width_b
00397         register int height_b = img_height - 2;
00398         register int_fast16_t offset0, offset1, offset2, offset3, offset4, offset5, offset6, offset7, offset8, offset9, offset10, offset11;
00399         register int width;
00400 
00401         corners.resize (0);
00402 
00403         offset0  = s_offset0;
00404         offset1  = s_offset1;
00405         offset2  = s_offset2;
00406         offset3  = s_offset3;
00407         offset4  = s_offset4;
00408         offset5  = s_offset5;
00409         offset6  = s_offset6;
00410         offset7  = s_offset7;
00411         offset8  = s_offset8;
00412         offset9  = s_offset9;
00413         offset10 = s_offset10;
00414         offset11 = s_offset11;
00415         width    = img_width;
00416 
00417         for (y = 2; y < height_b; y++)
00418         {                    
00419           x = 1;
00420           while (1)              
00421           {                  
00422       homogeneous:
00423       {
00424             x++;      
00425             if (x > width_b)  
00426               break;
00427             else
00428             {
00429               register const T1* const p = im + y * width + x;
00430               register const T2 cb = *p + T2 (threshold);
00431               register const T2 c_b = *p - T2 (threshold);
00432               if (p[offset0] > cb)
00433                 if (p[offset2] > cb)
00434                 if (p[offset5] > cb)
00435                   if (p[offset9] > cb)
00436                   if (p[offset7] > cb)
00437                     if (p[offset1] > cb)
00438                     if (p[offset6] > cb)
00439                       if (p[offset3] > cb)
00440                       if (p[offset4] > cb)
00441                         goto success_structured;
00442                       else
00443                         if (p[offset10] > cb)
00444                         if (p[offset11] > cb)
00445                           goto success_structured;
00446                         else
00447                           goto structured;
00448                         else
00449                         goto homogeneous;
00450                       else
00451                       if (p[offset8] > cb)
00452                         if (p[offset10] > cb)
00453                         if (p[offset4] > cb)
00454                           goto success_structured;
00455                         else
00456                           if (p[offset11] > cb)
00457                           goto success_structured;
00458                           else
00459                           goto structured;
00460                         else
00461                         goto homogeneous;
00462                       else
00463                         goto homogeneous;
00464                     else
00465                       if (p[offset11] > cb)
00466                       if (p[offset3] > cb)
00467                         if (p[offset4] > cb)
00468                         goto success_structured;
00469                         else
00470                         if (p[offset10] > cb)
00471                           goto success_structured;
00472                         else
00473                           goto homogeneous;
00474                       else
00475                         if (p[offset8] > cb)
00476                         if (p[offset10] > cb)
00477                           goto success_structured;
00478                         else
00479                           goto homogeneous;
00480                         else
00481                         goto homogeneous;
00482                       else
00483                       goto homogeneous;
00484                     else
00485                     if (p[offset6] > cb)
00486                       if (p[offset8] > cb)
00487                       if (p[offset4] > cb)
00488                         if (p[offset3] > cb)
00489                         goto success_structured;
00490                         else
00491                         if (p[offset10] > cb)
00492                           goto success_structured;
00493                         else
00494                           goto homogeneous;
00495                       else
00496                         if (p[offset10] > cb)
00497                         if (p[offset11] > cb)
00498                           goto success_structured;
00499                         else
00500                           goto homogeneous;
00501                         else
00502                         goto homogeneous;
00503                       else
00504                       goto homogeneous;
00505                     else
00506                       goto homogeneous;
00507                   else
00508                     if (p[offset1] > cb)
00509                     if (p[offset11] > cb)
00510                       if (p[offset3] > cb)
00511                       if (p[offset4] > cb)
00512                         goto success_homogeneous;
00513                       else
00514                         if (p[offset10] > cb)
00515                         goto success_homogeneous;
00516                         else
00517                         goto homogeneous;
00518                       else
00519                       if (p[offset8] > cb)
00520                         if (p[offset10] > cb)
00521                         goto success_homogeneous;
00522                         else
00523                         goto homogeneous;
00524                       else
00525                         goto homogeneous;
00526                     else
00527                       if (p[offset6] > cb)
00528                       if (p[offset3] > cb)
00529                         if (p[offset4] > cb)
00530                         goto success_homogeneous;
00531                         else
00532                         goto homogeneous;
00533                       else
00534                         goto homogeneous;
00535                       else
00536                       goto homogeneous;
00537                     else
00538                     goto homogeneous;
00539                   else
00540                   if (p[offset3] > cb)
00541                     if (p[offset4] > cb)
00542                     if (p[offset7] > cb)
00543                       if (p[offset1] > cb)
00544                       if (p[offset6] > cb)
00545                         goto success_homogeneous;
00546                       else
00547                         if (p[offset11] > cb)
00548                         goto success_homogeneous;
00549                         else
00550                         goto homogeneous;
00551                       else
00552                       if (p[offset6] > cb)
00553                         if (p[offset8] > cb)
00554                         goto success_homogeneous;
00555                         else
00556                         goto homogeneous;
00557                       else
00558                         goto homogeneous;
00559                     else
00560                       if (p[offset1] > cb)
00561                       if (p[offset6] > cb)
00562                         goto success_homogeneous;
00563                       else
00564                         if (p[offset11] > cb)
00565                         goto success_homogeneous;
00566                         else
00567                         goto homogeneous;
00568                       else
00569                       goto homogeneous;
00570                     else
00571                     goto homogeneous;
00572                   else
00573                     goto homogeneous;
00574                 else
00575                   if (p[offset9] < c_b)
00576                   if (p[offset7] < c_b)
00577                     if (p[offset5] < c_b)
00578                     if (p[offset1] > cb)
00579                       if (p[offset4] > cb)
00580                       if (p[offset10] > cb)
00581                         if (p[offset3] > cb)
00582                         if (p[offset11] > cb)
00583                           goto success_structured;
00584                         else
00585                           goto structured;
00586                         else
00587                         goto homogeneous;
00588                       else
00589                         if (p[offset6] < c_b)
00590                         if (p[offset8] < c_b)
00591                           if (p[offset11] < c_b)
00592                           if (p[offset10] < c_b)
00593                             goto success_structured;
00594                           else
00595                             goto structured;
00596                           else
00597                           goto structured;
00598                         else
00599                           goto homogeneous;
00600                         else
00601                         goto homogeneous;
00602                       else
00603                       if (p[offset6] < c_b)
00604                         if (p[offset8] < c_b)
00605                         if (p[offset10] < c_b)
00606                           if (p[offset4] < c_b)
00607                           goto success_structured;
00608                           else
00609                           if (p[offset11] < c_b)
00610                             goto success_structured;
00611                           else
00612                             goto structured;
00613                         else
00614                           if (p[offset3] < c_b)
00615                           if (p[offset4] < c_b)
00616                             goto success_structured;
00617                           else
00618                             goto structured;
00619                           else
00620                           goto homogeneous;
00621                         else
00622                         goto homogeneous;
00623                       else
00624                         goto homogeneous;
00625                     else
00626                       if (p[offset6] < c_b)
00627                       if (p[offset8] < c_b)
00628                         if (p[offset4] < c_b)
00629                         if (p[offset3] < c_b)
00630                           goto success_structured;
00631                         else
00632                           if (p[offset10] < c_b)
00633                           goto success_structured;
00634                           else
00635                           goto homogeneous;
00636                         else
00637                         if (p[offset10] < c_b)
00638                           if (p[offset11] < c_b)
00639                           goto success_structured;
00640                           else
00641                           goto homogeneous;
00642                         else
00643                           goto homogeneous;
00644                       else
00645                         goto homogeneous;
00646                       else
00647                       goto homogeneous;
00648                     else
00649                     if (p[offset1] > cb)
00650                       if (p[offset3] > cb)
00651                       if (p[offset4] > cb)
00652                         if (p[offset10] > cb)
00653                         if (p[offset11] > cb)
00654                           goto success_structured;
00655                         else
00656                           goto homogeneous;
00657                         else
00658                         goto homogeneous;
00659                       else
00660                         goto homogeneous;
00661                       else
00662                       goto homogeneous;
00663                     else
00664                       goto homogeneous;
00665                   else
00666                     if (p[offset1] > cb)
00667                     if (p[offset3] > cb)
00668                       if (p[offset4] > cb)
00669                       if (p[offset10] > cb)
00670                         if (p[offset11] > cb)
00671                         goto success_homogeneous;
00672                         else
00673                         goto homogeneous;
00674                       else
00675                         goto homogeneous;
00676                       else
00677                       goto homogeneous;
00678                     else
00679                       goto homogeneous;
00680                     else
00681                     goto homogeneous;
00682                   else
00683                   if (p[offset10] > cb)
00684                     if (p[offset11] > cb)
00685                     if (p[offset9] > cb)
00686                       if (p[offset7] > cb)
00687                       if (p[offset1] > cb)
00688                         if (p[offset3] > cb)
00689                         goto success_homogeneous;
00690                         else
00691                         if (p[offset8] > cb)
00692                           goto success_homogeneous;
00693                         else
00694                           goto homogeneous;
00695                       else
00696                         if (p[offset6] > cb)
00697                         if (p[offset8] > cb)
00698                           goto success_homogeneous;
00699                         else
00700                           goto homogeneous;
00701                         else
00702                         goto homogeneous;
00703                       else
00704                       if (p[offset1] > cb)
00705                         if (p[offset3] > cb)
00706                         goto success_homogeneous;
00707                         else
00708                         if (p[offset8] > cb)
00709                           goto success_homogeneous;
00710                         else
00711                           goto homogeneous;
00712                       else
00713                         goto homogeneous;
00714                     else
00715                       if (p[offset1] > cb)
00716                       if (p[offset3] > cb)
00717                         if (p[offset4] > cb)
00718                         goto success_homogeneous;
00719                         else
00720                         goto homogeneous;
00721                       else
00722                         goto homogeneous;
00723                       else
00724                       goto homogeneous;
00725                     else
00726                     goto homogeneous;
00727                   else
00728                     goto homogeneous;
00729                 else
00730                 if (p[offset7] > cb)
00731                   if (p[offset9] > cb)
00732                   if (p[offset8] > cb)
00733                     if (p[offset5] > cb)
00734                     if (p[offset1] > cb)
00735                       if (p[offset10] > cb)
00736                       if (p[offset11] > cb)
00737                         goto success_homogeneous;
00738                       else
00739                         if (p[offset6] > cb)
00740                         if (p[offset4] > cb)
00741                           goto success_structured;
00742                         else
00743                           goto homogeneous;
00744                         else
00745                         goto homogeneous;
00746                       else
00747                       if (p[offset6] > cb)
00748                         if (p[offset3] > cb)
00749                         if (p[offset4] > cb)
00750                           goto success_structured;
00751                         else
00752                           goto homogeneous;
00753                         else
00754                         goto homogeneous;
00755                       else
00756                         goto homogeneous;
00757                     else
00758                       if (p[offset6] > cb)
00759                       if (p[offset4] > cb)
00760                         if (p[offset3] > cb)
00761                         goto success_homogeneous;
00762                         else
00763                         if (p[offset10] > cb)
00764                           goto success_homogeneous;
00765                         else
00766                           goto homogeneous;
00767                       else
00768                         if (p[offset10] > cb)
00769                         if (p[offset11] > cb)
00770                           goto success_homogeneous;
00771                         else
00772                           goto homogeneous;
00773                         else
00774                         goto homogeneous;
00775                       else
00776                       goto homogeneous;
00777                     else
00778                     if (p[offset10] > cb)
00779                       if (p[offset11] > cb)
00780                       if (p[offset1] > cb)
00781                         goto success_homogeneous;
00782                       else
00783                         if (p[offset6] > cb)
00784                         goto success_homogeneous;
00785                         else
00786                         goto homogeneous;
00787                       else
00788                       goto homogeneous;
00789                     else
00790                       goto homogeneous;
00791                   else
00792                     goto homogeneous;
00793                   else
00794                   goto homogeneous;
00795                 else
00796                   if (p[offset7] < c_b)
00797                   if (p[offset5] < c_b)
00798                     if (p[offset2] < c_b)
00799                     if (p[offset6] < c_b)
00800                       if (p[offset4] < c_b)
00801                       if (p[offset3] < c_b)
00802                         if (p[offset1] < c_b)
00803                         goto success_homogeneous;
00804                         else
00805                         if (p[offset8] < c_b)
00806                           goto success_homogeneous;
00807                         else
00808                           goto homogeneous;
00809                       else
00810                         if (p[offset9] < c_b)
00811                         if (p[offset8] < c_b)
00812                           if (p[offset10] < c_b)
00813                           goto success_structured;
00814                           else
00815                           goto homogeneous;
00816                         else
00817                           goto homogeneous;
00818                         else
00819                         goto homogeneous;
00820                       else
00821                       if (p[offset9] < c_b)
00822                         if (p[offset8] < c_b)
00823                         if (p[offset10] < c_b)
00824                           if (p[offset11] < c_b)
00825                           goto success_structured;
00826                           else
00827                           goto homogeneous;
00828                         else
00829                           goto homogeneous;
00830                         else
00831                         goto homogeneous;
00832                       else
00833                         goto homogeneous;
00834                     else
00835                       goto homogeneous;
00836                     else
00837                     if (p[offset9] < c_b)
00838                       if (p[offset6] < c_b)
00839                       if (p[offset8] < c_b)
00840                         if (p[offset4] < c_b)
00841                         if (p[offset3] < c_b)
00842                           goto success_homogeneous;
00843                         else
00844                           if (p[offset10] < c_b)
00845                           goto success_homogeneous;
00846                           else
00847                           goto homogeneous;
00848                         else
00849                         if (p[offset10] < c_b)
00850                           if (p[offset11] < c_b)
00851                           goto success_homogeneous;
00852                           else
00853                           goto homogeneous;
00854                         else
00855                           goto homogeneous;
00856                       else
00857                         goto homogeneous;
00858                       else
00859                       goto homogeneous;
00860                     else
00861                       goto homogeneous;
00862                   else
00863                     goto homogeneous;
00864                   else
00865                   goto homogeneous;
00866               else if (p[offset0] < c_b)
00867                 if (p[offset2] < c_b)
00868                 if (p[offset9] < c_b)
00869                   if (p[offset5] < c_b)
00870                   if (p[offset7] < c_b)
00871                     if (p[offset1] < c_b)
00872                     if (p[offset6] < c_b)
00873                       if (p[offset3] < c_b)
00874                       if (p[offset4] < c_b)
00875                         goto success_structured;
00876                       else
00877                         if (p[offset10] < c_b)
00878                         if (p[offset11] < c_b)
00879                           goto success_structured;
00880                         else
00881                           goto structured;
00882                         else
00883                         goto homogeneous;
00884                       else
00885                       if (p[offset8] < c_b)
00886                         if (p[offset10] < c_b)
00887                         if (p[offset4] < c_b)
00888                           goto success_structured;
00889                         else
00890                           if (p[offset11] < c_b)
00891                           goto success_structured;
00892                           else
00893                           goto structured;
00894                         else
00895                         goto homogeneous;
00896                       else
00897                         goto homogeneous;
00898                     else
00899                       if (p[offset11] < c_b)
00900                       if (p[offset3] < c_b)
00901                         if (p[offset4] < c_b)
00902                         goto success_structured;
00903                         else
00904                         if (p[offset10] < c_b)
00905                           goto success_structured;
00906                         else
00907                           goto homogeneous;
00908                       else
00909                         if (p[offset8] < c_b)
00910                         if (p[offset10] < c_b)
00911                           goto success_structured;
00912                         else
00913                           goto homogeneous;
00914                         else
00915                         goto homogeneous;
00916                       else
00917                       goto homogeneous;
00918                     else
00919                     if (p[offset6] < c_b)
00920                       if (p[offset8] < c_b)
00921                       if (p[offset4] < c_b)
00922                         if (p[offset3] < c_b)
00923                         goto success_structured;
00924                         else
00925                         if (p[offset10] < c_b)
00926                           goto success_structured;
00927                         else
00928                           goto homogeneous;
00929                       else
00930                         if (p[offset10] < c_b)
00931                         if (p[offset11] < c_b)
00932                           goto success_structured;
00933                         else
00934                           goto homogeneous;
00935                         else
00936                         goto homogeneous;
00937                       else
00938                       goto homogeneous;
00939                     else
00940                       goto homogeneous;
00941                   else
00942                     if (p[offset1] < c_b)
00943                     if (p[offset11] < c_b)
00944                       if (p[offset3] < c_b)
00945                       if (p[offset4] < c_b)
00946                         goto success_homogeneous;
00947                       else
00948                         if (p[offset10] < c_b)
00949                         goto success_homogeneous;
00950                         else
00951                         goto homogeneous;
00952                       else
00953                       if (p[offset8] < c_b)
00954                         if (p[offset10] < c_b)
00955                         goto success_homogeneous;
00956                         else
00957                         goto homogeneous;
00958                       else
00959                         goto homogeneous;
00960                     else
00961                       if (p[offset6] < c_b)
00962                       if (p[offset3] < c_b)
00963                         if (p[offset4] < c_b)
00964                         goto success_homogeneous;
00965                         else
00966                         goto homogeneous;
00967                       else
00968                         goto homogeneous;
00969                       else
00970                       goto homogeneous;
00971                     else
00972                     goto homogeneous;
00973                   else
00974                   if (p[offset10] < c_b)
00975                     if (p[offset11] < c_b)
00976                     if (p[offset7] < c_b)
00977                       if (p[offset1] < c_b)
00978                       if (p[offset3] < c_b)
00979                         goto success_homogeneous;
00980                       else
00981                         if (p[offset8] < c_b)
00982                         goto success_homogeneous;
00983                         else
00984                         goto homogeneous;
00985                       else
00986                       if (p[offset6] < c_b)
00987                         if (p[offset8] < c_b)
00988                         goto success_homogeneous;
00989                         else
00990                         goto homogeneous;
00991                       else
00992                         goto homogeneous;
00993                     else
00994                       if (p[offset1] < c_b)
00995                       if (p[offset3] < c_b)
00996                         goto success_homogeneous;
00997                       else
00998                         if (p[offset8] < c_b)
00999                         goto success_homogeneous;
01000                         else
01001                         goto homogeneous;
01002                       else
01003                       goto homogeneous;
01004                     else
01005                     goto homogeneous;
01006                   else
01007                     goto homogeneous;
01008                 else
01009                   if (p[offset9] > cb)
01010                   if (p[offset5] > cb)
01011                     if (p[offset7] > cb)
01012                     if (p[offset1] < c_b)
01013                       if (p[offset4] < c_b)
01014                       if (p[offset10] < c_b)
01015                         if (p[offset3] < c_b)
01016                         if (p[offset11] < c_b)
01017                           goto success_structured;
01018                         else
01019                           goto structured;
01020                         else
01021                         goto homogeneous;
01022                       else
01023                         if (p[offset6] > cb)
01024                         if (p[offset8] > cb)
01025                           if (p[offset11] > cb)
01026                           if (p[offset10] > cb)
01027                             goto success_structured;
01028                           else
01029                             goto structured;
01030                           else
01031                           goto structured;
01032                         else
01033                           goto homogeneous;
01034                         else
01035                         goto homogeneous;
01036                       else
01037                       if (p[offset6] > cb)
01038                         if (p[offset8] > cb)
01039                         if (p[offset10] > cb)
01040                           if (p[offset4] > cb)
01041                           goto success_structured;
01042                           else
01043                           if (p[offset11] > cb)
01044                             goto success_structured;
01045                           else
01046                             goto structured;
01047                         else
01048                           if (p[offset3] > cb)
01049                           if (p[offset4] > cb)
01050                             goto success_structured;
01051                           else
01052                             goto structured;
01053                           else
01054                           goto homogeneous;
01055                         else
01056                         goto homogeneous;
01057                       else
01058                         goto homogeneous;
01059                     else
01060                       if (p[offset6] > cb)
01061                       if (p[offset8] > cb)
01062                         if (p[offset4] > cb)
01063                         if (p[offset3] > cb)
01064                           goto success_structured;
01065                         else
01066                           if (p[offset10] > cb)
01067                           goto success_structured;
01068                           else
01069                           goto homogeneous;
01070                         else
01071                         if (p[offset10] > cb)
01072                           if (p[offset11] > cb)
01073                           goto success_structured;
01074                           else
01075                           goto homogeneous;
01076                         else
01077                           goto homogeneous;
01078                       else
01079                         goto homogeneous;
01080                       else
01081                       goto homogeneous;
01082                     else
01083                     if (p[offset1] < c_b)
01084                       if (p[offset3] < c_b)
01085                       if (p[offset4] < c_b)
01086                         if (p[offset10] < c_b)
01087                         if (p[offset11] < c_b)
01088                           goto success_structured;
01089                         else
01090                           goto homogeneous;
01091                         else
01092                         goto homogeneous;
01093                       else
01094                         goto homogeneous;
01095                       else
01096                       goto homogeneous;
01097                     else
01098                       goto homogeneous;
01099                   else
01100                     if (p[offset3] < c_b)
01101                     if (p[offset4] < c_b)
01102                       if (p[offset5] < c_b)
01103                       if (p[offset7] < c_b)
01104                         if (p[offset1] < c_b)
01105                         if (p[offset6] < c_b)
01106                           goto success_structured;
01107                         else
01108                           if (p[offset11] < c_b)
01109                           goto success_structured;
01110                           else
01111                           goto homogeneous;
01112                         else
01113                         if (p[offset6] < c_b)
01114                           if (p[offset8] < c_b)
01115                           goto success_structured;
01116                           else
01117                           goto homogeneous;
01118                         else
01119                           goto homogeneous;
01120                       else
01121                         if (p[offset1] < c_b)
01122                         if (p[offset6] < c_b)
01123                           goto success_homogeneous;
01124                         else
01125                           if (p[offset11] < c_b)
01126                           goto success_homogeneous;
01127                           else
01128                           goto homogeneous;
01129                         else
01130                         goto homogeneous;
01131                       else
01132                       if (p[offset1] < c_b)
01133                         if (p[offset10] < c_b)
01134                         if (p[offset11] < c_b)
01135                           goto success_homogeneous;
01136                         else
01137                           goto homogeneous;
01138                         else
01139                         goto homogeneous;
01140                       else
01141                         goto homogeneous;
01142                     else
01143                       goto homogeneous;
01144                     else
01145                     goto homogeneous;
01146                   else
01147                   if (p[offset3] < c_b)
01148                     if (p[offset4] < c_b)
01149                     if (p[offset5] < c_b)
01150                       if (p[offset7] < c_b)
01151                       if (p[offset1] < c_b)
01152                         if (p[offset6] < c_b)
01153                         goto success_homogeneous;
01154                         else
01155                         if (p[offset11] < c_b)
01156                           goto success_homogeneous;
01157                         else
01158                           goto homogeneous;
01159                       else
01160                         if (p[offset6] < c_b)
01161                         if (p[offset8] < c_b)
01162                           goto success_homogeneous;
01163                         else
01164                           goto homogeneous;
01165                         else
01166                         goto homogeneous;
01167                       else
01168                       if (p[offset1] < c_b)
01169                         if (p[offset6] < c_b)
01170                         goto success_homogeneous;
01171                         else
01172                         if (p[offset11] < c_b)
01173                           goto success_homogeneous;
01174                         else
01175                           goto homogeneous;
01176                       else
01177                         goto homogeneous;
01178                     else
01179                       if (p[offset1] < c_b)
01180                       if (p[offset10] < c_b)
01181                         if (p[offset11] < c_b)
01182                         goto success_homogeneous;
01183                         else
01184                         goto homogeneous;
01185                       else
01186                         goto homogeneous;
01187                       else
01188                       goto homogeneous;
01189                     else
01190                     goto homogeneous;
01191                   else
01192                     goto homogeneous;
01193                 else
01194                 if (p[offset7] > cb)
01195                   if (p[offset5] > cb)
01196                   if (p[offset2] > cb)
01197                     if (p[offset6] > cb)
01198                     if (p[offset4] > cb)
01199                       if (p[offset3] > cb)
01200                       if (p[offset1] > cb)
01201                         goto success_homogeneous;
01202                       else
01203                         if (p[offset8] > cb)
01204                         goto success_homogeneous;
01205                         else
01206                         goto homogeneous;
01207                       else
01208                       if (p[offset9] > cb)
01209                         if (p[offset8] > cb)
01210                         if (p[offset10] > cb)
01211                           goto success_structured;
01212                         else
01213                           goto homogeneous;
01214                         else
01215                         goto homogeneous;
01216                       else
01217                         goto homogeneous;
01218                     else
01219                       if (p[offset9] > cb)
01220                       if (p[offset8] > cb)
01221                         if (p[offset10] > cb)
01222                         if (p[offset11] > cb)
01223                           goto success_structured;
01224                         else
01225                           goto homogeneous;
01226                         else
01227                         goto homogeneous;
01228                       else
01229                         goto homogeneous;
01230                       else
01231                       goto homogeneous;
01232                     else
01233                     goto homogeneous;
01234                   else
01235                     if (p[offset9] > cb)
01236                     if (p[offset6] > cb)
01237                       if (p[offset8] > cb)
01238                       if (p[offset4] > cb)
01239                         if (p[offset3] > cb)
01240                         goto success_homogeneous;
01241                         else
01242                         if (p[offset10] > cb)
01243                           goto success_homogeneous;
01244                         else
01245                           goto homogeneous;
01246                       else
01247                         if (p[offset10] > cb)
01248                         if (p[offset11] > cb)
01249                           goto success_homogeneous;
01250                         else
01251                           goto homogeneous;
01252                         else
01253                         goto homogeneous;
01254                       else
01255                       goto homogeneous;
01256                     else
01257                       goto homogeneous;
01258                     else
01259                     goto homogeneous;
01260                   else
01261                   goto homogeneous;
01262                 else
01263                   if (p[offset7] < c_b)
01264                   if (p[offset9] < c_b)
01265                     if (p[offset8] < c_b)
01266                     if (p[offset5] < c_b)
01267                       if (p[offset1] < c_b)
01268                       if (p[offset10] < c_b)
01269                         if (p[offset11] < c_b)
01270                         goto success_homogeneous;
01271                         else
01272                         if (p[offset6] < c_b)
01273                           if (p[offset4] < c_b)
01274                           goto success_structured;
01275                           else
01276                           goto homogeneous;
01277                         else
01278                           goto homogeneous;
01279                       else
01280                         if (p[offset6] < c_b)
01281                         if (p[offset3] < c_b)
01282                           if (p[offset4] < c_b)
01283                           goto success_structured;
01284                           else
01285                           goto homogeneous;
01286                         else
01287                           goto homogeneous;
01288                         else
01289                         goto homogeneous;
01290                       else
01291                       if (p[offset6] < c_b)
01292                         if (p[offset4] < c_b)
01293                         if (p[offset3] < c_b)
01294                           goto success_homogeneous;
01295                         else
01296                           if (p[offset10] < c_b)
01297                           goto success_homogeneous;
01298                           else
01299                           goto homogeneous;
01300                         else
01301                         if (p[offset10] < c_b)
01302                           if (p[offset11] < c_b)
01303                           goto success_homogeneous;
01304                           else
01305                           goto homogeneous;
01306                         else
01307                           goto homogeneous;
01308                       else
01309                         goto homogeneous;
01310                     else
01311                       if (p[offset10] < c_b)
01312                       if (p[offset11] < c_b)
01313                         if (p[offset1] < c_b)
01314                         goto success_homogeneous;
01315                         else
01316                         if (p[offset6] < c_b)
01317                           goto success_homogeneous;
01318                         else
01319                           goto homogeneous;
01320                       else
01321                         goto homogeneous;
01322                       else
01323                       goto homogeneous;
01324                     else
01325                     goto homogeneous;
01326                   else
01327                     goto homogeneous;
01328                   else
01329                   goto homogeneous;
01330               else
01331                 if (p[offset5] > cb)
01332                 if (p[offset7] > cb)
01333                   if (p[offset9] > cb)
01334                   if (p[offset6] > cb)
01335                     if (p[offset4] > cb)
01336                     if (p[offset3] > cb)
01337                       if (p[offset8] > cb)
01338                       goto success_homogeneous;
01339                       else
01340                       if (p[offset1] > cb)
01341                         if (p[offset2] > cb)
01342                         goto success_homogeneous;
01343                         else
01344                         goto homogeneous;
01345                       else
01346                         goto homogeneous;
01347                     else
01348                       if (p[offset8] > cb)
01349                       if (p[offset10] > cb)
01350                         goto success_homogeneous;
01351                       else
01352                         goto homogeneous;
01353                       else
01354                       goto homogeneous;
01355                     else
01356                     if (p[offset11] > cb)
01357                       if (p[offset8] > cb)
01358                       if (p[offset10] > cb)
01359                         goto success_homogeneous;
01360                       else
01361                         goto homogeneous;
01362                       else
01363                       goto homogeneous;
01364                     else
01365                       goto homogeneous;
01366                   else
01367                     goto homogeneous;
01368                   else
01369                   if (p[offset2] > cb)
01370                     if (p[offset3] > cb)
01371                     if (p[offset4] > cb)
01372                       if (p[offset1] > cb)
01373                       if (p[offset6] > cb)
01374                         goto success_homogeneous;
01375                       else
01376                         goto homogeneous;
01377                       else
01378                       if (p[offset6] > cb)
01379                         if (p[offset8] > cb)
01380                         goto success_homogeneous;
01381                         else
01382                         goto homogeneous;
01383                       else
01384                         goto homogeneous;
01385                     else
01386                       goto homogeneous;
01387                     else
01388                     goto homogeneous;
01389                   else
01390                     goto homogeneous;
01391                 else
01392                   goto homogeneous;
01393                 else
01394                 if (p[offset5] < c_b)
01395                   if (p[offset7] < c_b)
01396                   if (p[offset9] < c_b)
01397                     if (p[offset6] < c_b)
01398                     if (p[offset4] < c_b)
01399                       if (p[offset3] < c_b)
01400                       if (p[offset8] < c_b)
01401                         goto success_homogeneous;
01402                       else
01403                         if (p[offset1] < c_b)
01404                         if (p[offset2] < c_b)
01405                           goto success_homogeneous;
01406                         else
01407                           goto homogeneous;
01408                         else
01409                         goto homogeneous;
01410                       else
01411                       if (p[offset8] < c_b)
01412                         if (p[offset10] < c_b)
01413                         goto success_homogeneous;
01414                         else
01415                         goto homogeneous;
01416                       else
01417                         goto homogeneous;
01418                     else
01419                       if (p[offset11] < c_b)
01420                       if (p[offset8] < c_b)
01421                         if (p[offset10] < c_b)
01422                         goto success_homogeneous;
01423                         else
01424                         goto homogeneous;
01425                       else
01426                         goto homogeneous;
01427                       else
01428                       goto homogeneous;
01429                     else
01430                     goto homogeneous;
01431                   else
01432                     if (p[offset2] < c_b)
01433                     if (p[offset3] < c_b)
01434                       if (p[offset4] < c_b)
01435                       if (p[offset1] < c_b)
01436                         if (p[offset6] < c_b)
01437                         goto success_homogeneous;
01438                         else
01439                         goto homogeneous;
01440                       else
01441                         if (p[offset6] < c_b)
01442                         if (p[offset8] < c_b)
01443                           goto success_homogeneous;
01444                         else
01445                           goto homogeneous;
01446                         else
01447                         goto homogeneous;
01448                       else
01449                       goto homogeneous;
01450                     else
01451                       goto homogeneous;
01452                     else
01453                     goto homogeneous;
01454                   else
01455                   goto homogeneous;
01456                 else
01457                   goto homogeneous;
01458             }
01459       }
01460       structured:
01461       {
01462             x++;      
01463             if (x > width_b)  
01464               break;    
01465             else
01466             {
01467               register const T1* const p = im + y * width + x;
01468               register const T2 cb = *p + T2 (threshold);
01469               register const T2 c_b = *p - T2 (threshold);
01470               if (p[offset0] > cb)
01471                 if (p[offset2] > cb)
01472                 if (p[offset5] > cb)
01473                   if (p[offset9] > cb)
01474                   if (p[offset7] > cb)
01475                     if (p[offset1] > cb)
01476                     if (p[offset6] > cb)
01477                       if (p[offset3] > cb)
01478                       if (p[offset4] > cb)
01479                         goto success_structured;
01480                       else
01481                         if (p[offset10] > cb)
01482                         if (p[offset11] > cb)
01483                           goto success_structured;
01484                         else
01485                           goto structured;
01486                         else
01487                         goto structured;
01488                       else
01489                       if (p[offset8] > cb)
01490                         if (p[offset10] > cb)
01491                         if (p[offset4] > cb)
01492                           goto success_structured;
01493                         else
01494                           if (p[offset11] > cb)
01495                           goto success_structured;
01496                           else
01497                           goto structured;
01498                         else
01499                         goto structured;
01500                       else
01501                         goto structured;
01502                     else
01503                       if (p[offset11] > cb)
01504                       if (p[offset3] > cb)
01505                         if (p[offset4] > cb)
01506                         goto success_structured;
01507                         else
01508                         if (p[offset10] > cb)
01509                           goto success_structured;
01510                         else
01511                           goto structured;
01512                       else
01513                         if (p[offset8] > cb)
01514                         if (p[offset10] > cb)
01515                           goto success_structured;
01516                         else
01517                           goto structured;
01518                         else
01519                         goto structured;
01520                       else
01521                       goto structured;
01522                     else
01523                     if (p[offset6] > cb)
01524                       if (p[offset8] > cb)
01525                       if (p[offset4] > cb)
01526                         if (p[offset3] > cb)
01527                         goto success_structured;
01528                         else
01529                         if (p[offset10] > cb)
01530                           goto success_structured;
01531                         else
01532                           goto structured;
01533                       else
01534                         if (p[offset10] > cb)
01535                         if (p[offset11] > cb)
01536                           goto success_structured;
01537                         else
01538                           goto structured;
01539                         else
01540                         goto structured;
01541                       else
01542                       goto structured;
01543                     else
01544                       goto structured;
01545                   else
01546                     if (p[offset1] > cb)
01547                     if (p[offset11] > cb)
01548                       if (p[offset3] > cb)
01549                       if (p[offset4] > cb)
01550                         goto success_structured;
01551                       else
01552                         if (p[offset10] > cb)
01553                         goto success_structured;
01554                         else
01555                         goto structured;
01556                       else
01557                       if (p[offset8] > cb)
01558                         if (p[offset10] > cb)
01559                         goto success_structured;
01560                         else
01561                         goto structured;
01562                       else
01563                         goto structured;
01564                     else
01565                       if (p[offset6] > cb)
01566                       if (p[offset3] > cb)
01567                         if (p[offset4] > cb)
01568                         goto success_structured;
01569                         else
01570                         goto structured;
01571                       else
01572                         goto structured;
01573                       else
01574                       goto structured;
01575                     else
01576                     goto structured;
01577                   else
01578                   if (p[offset3] > cb)
01579                     if (p[offset4] > cb)
01580                     if (p[offset7] > cb)
01581                       if (p[offset1] > cb)
01582                       if (p[offset6] > cb)
01583                         goto success_structured;
01584                       else
01585                         if (p[offset11] > cb)
01586                         goto success_structured;
01587                         else
01588                         goto structured;
01589                       else
01590                       if (p[offset6] > cb)
01591                         if (p[offset8] > cb)
01592                         goto success_structured;
01593                         else
01594                         goto structured;
01595                       else
01596                         goto structured;
01597                     else
01598                       if (p[offset1] > cb)
01599                       if (p[offset6] > cb)
01600                         goto success_structured;
01601                       else
01602                         if (p[offset11] > cb)
01603                         goto success_structured;
01604                         else
01605                         goto structured;
01606                       else
01607                       goto structured;
01608                     else
01609                     goto structured;
01610                   else
01611                     goto structured;
01612                 else
01613                   if (p[offset7] < c_b)
01614                   if (p[offset9] < c_b)
01615                     if (p[offset5] < c_b)
01616                     if (p[offset1] > cb)
01617                       if (p[offset4] > cb)
01618                       if (p[offset10] > cb)
01619                         if (p[offset3] > cb)
01620                         if (p[offset11] > cb)
01621                           goto success_structured;
01622                         else
01623                           goto structured;
01624                         else
01625                         goto structured;
01626                       else
01627                         if (p[offset6] < c_b)
01628                         if (p[offset8] < c_b)
01629                           if (p[offset11] < c_b)
01630                           if (p[offset10] < c_b)
01631                             goto success_structured;
01632                           else
01633                             goto structured;
01634                           else
01635                           goto structured;
01636                         else
01637                           goto structured;
01638                         else
01639                         goto structured;
01640                       else
01641                       if (p[offset6] < c_b)
01642                         if (p[offset8] < c_b)
01643                         if (p[offset10] < c_b)
01644                           if (p[offset4] < c_b)
01645                           goto success_structured;
01646                           else
01647                           if (p[offset11] < c_b)
01648                             goto success_structured;
01649                           else
01650                             goto structured;
01651                         else
01652                           if (p[offset3] < c_b)
01653                           if (p[offset4] < c_b)
01654                             goto success_structured;
01655                           else
01656                             goto structured;
01657                           else
01658                           goto structured;
01659                         else
01660                         goto structured;
01661                       else
01662                         goto structured;
01663                     else
01664                       if (p[offset6] < c_b)
01665                       if (p[offset8] < c_b)
01666                         if (p[offset4] < c_b)
01667                         if (p[offset3] < c_b)
01668                           goto success_structured;
01669                         else
01670                           if (p[offset10] < c_b)
01671                           goto success_structured;
01672                           else
01673                           goto structured;
01674                         else
01675                         if (p[offset10] < c_b)
01676                           if (p[offset11] < c_b)
01677                           goto success_structured;
01678                           else
01679                           goto structured;
01680                         else
01681                           goto structured;
01682                       else
01683                         goto structured;
01684                       else
01685                       goto structured;
01686                     else
01687                     if (p[offset1] > cb)
01688                       if (p[offset3] > cb)
01689                       if (p[offset4] > cb)
01690                         if (p[offset10] > cb)
01691                         if (p[offset11] > cb)
01692                           goto success_structured;
01693                         else
01694                           goto structured;
01695                         else
01696                         goto structured;
01697                       else
01698                         goto structured;
01699                       else
01700                       goto structured;
01701                     else
01702                       goto structured;
01703                   else
01704                     if (p[offset10] > cb)
01705                     if (p[offset11] > cb)
01706                       if (p[offset9] > cb)
01707                       if (p[offset1] > cb)
01708                         if (p[offset3] > cb)
01709                         goto success_structured;
01710                         else
01711                         if (p[offset8] > cb)
01712                           goto success_structured;
01713                         else
01714                           goto structured;
01715                       else
01716                         goto structured;
01717                       else
01718                       if (p[offset1] > cb)
01719                         if (p[offset3] > cb)
01720                         if (p[offset4] > cb)
01721                           goto success_structured;
01722                         else
01723                           goto structured;
01724                         else
01725                         goto structured;
01726                       else
01727                         goto structured;
01728                     else
01729                       goto structured;
01730                     else
01731                     goto structured;
01732                   else
01733                   if (p[offset10] > cb)
01734                     if (p[offset11] > cb)
01735                     if (p[offset9] > cb)
01736                       if (p[offset1] > cb)
01737                       if (p[offset3] > cb)
01738                         goto success_structured;
01739                       else
01740                         if (p[offset8] > cb)
01741                         goto success_structured;
01742                         else
01743                         goto structured;
01744                       else
01745                       if (p[offset6] > cb)
01746                         if (p[offset8] > cb)
01747                         if (p[offset7] > cb)
01748                           goto success_structured;
01749                         else
01750                           goto structured;
01751                         else
01752                         goto structured;
01753                       else
01754                         goto structured;
01755                     else
01756                       if (p[offset1] > cb)
01757                       if (p[offset3] > cb)
01758                         if (p[offset4] > cb)
01759                         goto success_structured;
01760                         else
01761                         goto structured;
01762                       else
01763                         goto structured;
01764                       else
01765                       goto structured;
01766                     else
01767                     goto structured;
01768                   else
01769                     goto structured;
01770                 else
01771                 if (p[offset7] > cb)
01772                   if (p[offset9] > cb)
01773                   if (p[offset8] > cb)
01774                     if (p[offset5] > cb)
01775                     if (p[offset1] > cb)
01776                       if (p[offset10] > cb)
01777                       if (p[offset11] > cb)
01778                         goto success_structured;
01779                       else
01780                         if (p[offset6] > cb)
01781                         if (p[offset4] > cb)
01782                           goto success_structured;
01783                         else
01784                           goto structured;
01785                         else
01786                         goto structured;
01787                       else
01788                       if (p[offset6] > cb)
01789                         if (p[offset3] > cb)
01790                         if (p[offset4] > cb)
01791                           goto success_structured;
01792                         else
01793                           goto structured;
01794                         else
01795                         goto structured;
01796                       else
01797                         goto structured;
01798                     else
01799                       if (p[offset6] > cb)
01800                       if (p[offset4] > cb)
01801                         if (p[offset3] > cb)
01802                         goto success_structured;
01803                         else
01804                         if (p[offset10] > cb)
01805                           goto success_structured;
01806                         else
01807                           goto structured;
01808                       else
01809                         if (p[offset10] > cb)
01810                         if (p[offset11] > cb)
01811                           goto success_structured;
01812                         else
01813                           goto structured;
01814                         else
01815                         goto structured;
01816                       else
01817                       goto structured;
01818                     else
01819                     if (p[offset10] > cb)
01820                       if (p[offset11] > cb)
01821                       if (p[offset1] > cb)
01822                         goto success_structured;
01823                       else
01824                         if (p[offset6] > cb)
01825                         goto success_structured;
01826                         else
01827                         goto structured;
01828                       else
01829                       goto structured;
01830                     else
01831                       goto structured;
01832                   else
01833                     goto structured;
01834                   else
01835                   goto structured;
01836                 else
01837                   if (p[offset7] < c_b)
01838                   if (p[offset5] < c_b)
01839                     if (p[offset2] < c_b)
01840                     if (p[offset6] < c_b)
01841                       if (p[offset4] < c_b)
01842                       if (p[offset3] < c_b)
01843                         if (p[offset1] < c_b)
01844                         goto success_structured;
01845                         else
01846                         if (p[offset8] < c_b)
01847                           goto success_structured;
01848                         else
01849                           goto structured;
01850                       else
01851                         if (p[offset9] < c_b)
01852                         if (p[offset8] < c_b)
01853                           if (p[offset10] < c_b)
01854                           goto success_structured;
01855                           else
01856                           goto structured;
01857                         else
01858                           goto structured;
01859                         else
01860                         goto structured;
01861                       else
01862                       if (p[offset9] < c_b)
01863                         if (p[offset8] < c_b)
01864                         if (p[offset10] < c_b)
01865                           if (p[offset11] < c_b)
01866                           goto success_structured;
01867                           else
01868                           goto structured;
01869                         else
01870                           goto structured;
01871                         else
01872                         goto structured;
01873                       else
01874                         goto structured;
01875                     else
01876                       goto structured;
01877                     else
01878                     if (p[offset9] < c_b)
01879                       if (p[offset6] < c_b)
01880                       if (p[offset8] < c_b)
01881                         if (p[offset4] < c_b)
01882                         if (p[offset3] < c_b)
01883                           goto success_structured;
01884                         else
01885                           if (p[offset10] < c_b)
01886                           goto success_structured;
01887                           else
01888                           goto structured;
01889                         else
01890                         if (p[offset10] < c_b)
01891                           if (p[offset11] < c_b)
01892                           goto success_structured;
01893                           else
01894                           goto structured;
01895                         else
01896                           goto structured;
01897                       else
01898                         goto structured;
01899                       else
01900                       goto structured;
01901                     else
01902                       goto structured;
01903                   else
01904                     goto structured;
01905                   else
01906                   goto structured;
01907               else if (p[offset0] < c_b)
01908                 if (p[offset2] < c_b)
01909                 if (p[offset11] < c_b)
01910                   if (p[offset3] < c_b)
01911                   if (p[offset5] < c_b)
01912                     if (p[offset9] < c_b)
01913                     if (p[offset7] < c_b)
01914                       if (p[offset1] < c_b)
01915                       if (p[offset4] < c_b)
01916                         goto success_structured;
01917                       else
01918                         if (p[offset10] < c_b)
01919                         goto success_structured;
01920                         else
01921                         goto structured;
01922                       else
01923                       if (p[offset6] < c_b)
01924                         if (p[offset8] < c_b)
01925                         if (p[offset4] < c_b)
01926                           goto success_structured;
01927                         else
01928                           if (p[offset10] < c_b)
01929                           goto success_structured;
01930                           else
01931                           goto structured;
01932                         else
01933                         goto structured;
01934                       else
01935                         goto structured;
01936                     else
01937                       if (p[offset1] < c_b)
01938                       if (p[offset4] < c_b)
01939                         goto success_structured;
01940                       else
01941                         if (p[offset10] < c_b)
01942                         goto success_structured;
01943                         else
01944                         goto structured;
01945                       else
01946                       goto structured;
01947                     else
01948                     if (p[offset4] < c_b)
01949                       if (p[offset7] < c_b)
01950                       if (p[offset1] < c_b)
01951                         goto success_structured;
01952                       else
01953                         if (p[offset6] < c_b)
01954                         if (p[offset8] < c_b)
01955                           goto success_structured;
01956                         else
01957                           goto structured;
01958                         else
01959                         goto structured;
01960                       else
01961                       if (p[offset1] < c_b)
01962                         goto success_structured;
01963                       else
01964                         goto structured;
01965                     else
01966                       goto structured;
01967                   else
01968                     if (p[offset10] < c_b)
01969                     if (p[offset9] < c_b)
01970                       if (p[offset7] < c_b)
01971                       if (p[offset1] < c_b)
01972                         goto success_structured;
01973                       else
01974                         if (p[offset6] < c_b)
01975                         if (p[offset8] < c_b)
01976                           goto success_structured;
01977                         else
01978                           goto structured;
01979                         else
01980                         goto structured;
01981                       else
01982                       if (p[offset1] < c_b)
01983                         goto success_structured;
01984                       else
01985                         goto structured;
01986                     else
01987                       if (p[offset1] < c_b)
01988                       if (p[offset4] < c_b)
01989                         goto success_structured;
01990                       else
01991                         goto structured;
01992                       else
01993                       goto structured;
01994                     else
01995                     if (p[offset7] > cb)
01996                       if (p[offset9] > cb)
01997                       if (p[offset5] > cb)
01998                         if (p[offset4] > cb)
01999                         if (p[offset6] > cb)
02000                           if (p[offset8] > cb)
02001                           if (p[offset10] > cb)
02002                             goto success_structured;
02003                           else
02004                             goto structured;
02005                           else
02006                           goto structured;
02007                         else
02008                           goto structured;
02009                         else
02010                         goto structured;
02011                       else
02012                         goto structured;
02013                       else
02014                       goto structured;
02015                     else
02016                       goto structured;
02017                   else
02018                   if (p[offset9] < c_b)
02019                     if (p[offset8] < c_b)
02020                     if (p[offset10] < c_b)
02021                       if (p[offset7] < c_b)
02022                       if (p[offset1] < c_b)
02023                         goto success_structured;
02024                       else
02025                         if (p[offset6] < c_b)
02026                         goto success_structured;
02027                         else
02028                         goto structured;
02029                       else
02030                       if (p[offset1] < c_b)
02031                         goto success_structured;
02032                       else
02033                         goto structured;
02034                     else
02035                       goto structured;
02036                     else
02037                     goto structured;
02038                   else
02039                     if (p[offset5] > cb)
02040                     if (p[offset7] > cb)
02041                       if (p[offset9] > cb)
02042                       if (p[offset4] > cb)
02043                         if (p[offset6] > cb)
02044                         if (p[offset8] > cb)
02045                           if (p[offset3] > cb)
02046                           goto success_structured;
02047                           else
02048                           if (p[offset10] > cb)
02049                             goto success_structured;
02050                           else
02051                             goto structured;
02052                         else
02053                           goto structured;
02054                         else
02055                         goto structured;
02056                       else
02057                         goto structured;
02058                       else
02059                       goto structured;
02060                     else
02061                       goto structured;
02062                     else
02063                     goto structured;
02064                 else
02065                   if (p[offset4] < c_b)
02066                   if (p[offset5] < c_b)
02067                     if (p[offset7] < c_b)
02068                     if (p[offset6] < c_b)
02069                       if (p[offset3] < c_b)
02070                       if (p[offset1] < c_b)
02071                         goto success_structured;
02072                       else
02073                         if (p[offset8] < c_b)
02074                         goto success_structured;
02075                         else
02076                         goto structured;
02077                       else
02078                       if (p[offset9] < c_b)
02079                         if (p[offset8] < c_b)
02080                         if (p[offset10] < c_b)
02081                           goto success_structured;
02082                         else
02083                           goto structured;
02084                         else
02085                         goto structured;
02086                       else
02087                         goto structured;
02088                     else
02089                       goto structured;
02090                     else
02091                     if (p[offset1] < c_b)
02092                       if (p[offset6] < c_b)
02093                       if (p[offset3] < c_b)
02094                         goto success_structured;
02095                       else
02096                         goto structured;
02097                       else
02098                       goto structured;
02099                     else
02100                       goto structured;
02101                   else
02102                     if (p[offset7] > cb)
02103                     if (p[offset9] > cb)
02104                       if (p[offset5] > cb)
02105                       if (p[offset6] > cb)
02106                         if (p[offset8] > cb)
02107                         if (p[offset10] > cb)
02108                           if (p[offset11] > cb)
02109                           goto success_structured;
02110                           else
02111                           goto structured;
02112                         else
02113                           goto structured;
02114                         else
02115                         goto structured;
02116                       else
02117                         goto structured;
02118                       else
02119                       goto structured;
02120                     else
02121                       goto structured;
02122                     else
02123                     goto structured;
02124                   else
02125                   if (p[offset5] > cb)
02126                     if (p[offset7] > cb)
02127                     if (p[offset9] > cb)
02128                       if (p[offset6] > cb)
02129                       if (p[offset8] > cb)
02130                         if (p[offset10] > cb)
02131                         if (p[offset4] > cb)
02132                           goto success_structured;
02133                         else
02134                           if (p[offset11] > cb)
02135                           goto success_structured;
02136                           else
02137                           goto homogeneous;
02138                         else
02139                         if (p[offset3] > cb)
02140                           if (p[offset4] > cb)
02141                           goto success_structured;
02142                           else
02143                           goto structured;
02144                         else
02145                           goto structured;
02146                       else
02147                         goto structured;
02148                       else
02149                       goto structured;
02150                     else
02151                       goto structured;
02152                     else
02153                     goto structured;
02154                   else
02155                     goto structured;
02156                 else
02157                 if (p[offset7] > cb)
02158                   if (p[offset5] > cb)
02159                   if (p[offset2] > cb)
02160                     if (p[offset6] > cb)
02161                     if (p[offset4] > cb)
02162                       if (p[offset3] > cb)
02163                       if (p[offset1] > cb)
02164                         goto success_structured;
02165                       else
02166                         if (p[offset8] > cb)
02167                         goto success_structured;
02168                         else
02169                         goto structured;
02170                       else
02171                       if (p[offset9] > cb)
02172                         if (p[offset8] > cb)
02173                         if (p[offset10] > cb)
02174                           goto success_structured;
02175                         else
02176                           goto structured;
02177                         else
02178                         goto structured;
02179                       else
02180                         goto structured;
02181                     else
02182                       if (p[offset9] > cb)
02183                       if (p[offset8] > cb)
02184                         if (p[offset10] > cb)
02185                         if (p[offset11] > cb)
02186                           goto success_structured;
02187                         else
02188                           goto structured;
02189                         else
02190                         goto structured;
02191                       else
02192                         goto structured;
02193                       else
02194                       goto structured;
02195                     else
02196                     goto structured;
02197                   else
02198                     if (p[offset9] > cb)
02199                     if (p[offset6] > cb)
02200                       if (p[offset8] > cb)
02201                       if (p[offset4] > cb)
02202                         if (p[offset3] > cb)
02203                         goto success_structured;
02204                         else
02205                         if (p[offset10] > cb)
02206                           goto success_structured;
02207                         else
02208                           goto structured;
02209                       else
02210                         if (p[offset10] > cb)
02211                         if (p[offset11] > cb)
02212                           goto success_structured;
02213                         else
02214                           goto structured;
02215                         else
02216                         goto structured;
02217                       else
02218                       goto structured;
02219                     else
02220                       goto structured;
02221                     else
02222                     goto structured;
02223                   else
02224                   goto structured;
02225                 else
02226                   if (p[offset7] < c_b)
02227                   if (p[offset9] < c_b)
02228                     if (p[offset8] < c_b)
02229                     if (p[offset5] < c_b)
02230                       if (p[offset1] < c_b)
02231                       if (p[offset10] < c_b)
02232                         if (p[offset11] < c_b)
02233                         goto success_structured;
02234                         else
02235                         if (p[offset6] < c_b)
02236                           if (p[offset4] < c_b)
02237                           goto success_structured;
02238                           else
02239                           goto structured;
02240                         else
02241                           goto structured;
02242                       else
02243                         if (p[offset6] < c_b)
02244                         if (p[offset3] < c_b)
02245                           if (p[offset4] < c_b)
02246                           goto success_structured;
02247                           else
02248                           goto structured;
02249                         else
02250                           goto structured;
02251                         else
02252                         goto structured;
02253                       else
02254                       if (p[offset6] < c_b)
02255                         if (p[offset4] < c_b)
02256                         if (p[offset3] < c_b)
02257                           goto success_structured;
02258                         else
02259                           if (p[offset10] < c_b)
02260                           goto success_structured;
02261                           else
02262                           goto structured;
02263                         else
02264                         if (p[offset10] < c_b)
02265                           if (p[offset11] < c_b)
02266                           goto success_structured;
02267                           else
02268                           goto structured;
02269                         else
02270                           goto structured;
02271                       else
02272                         goto structured;
02273                     else
02274                       if (p[offset10] < c_b)
02275                       if (p[offset11] < c_b)
02276                         if (p[offset1] < c_b)
02277                         goto success_structured;
02278                         else
02279                         if (p[offset6] < c_b)
02280                           goto success_structured;
02281                         else
02282                           goto structured;
02283                       else
02284                         goto structured;
02285                       else
02286                       goto structured;
02287                     else
02288                     goto structured;
02289                   else
02290                     goto structured;
02291                   else
02292                   goto structured;
02293               else
02294                 if (p[offset5] > cb)
02295                 if (p[offset7] > cb)
02296                   if (p[offset9] > cb)
02297                   if (p[offset6] > cb)
02298                     if (p[offset4] > cb)
02299                     if (p[offset3] > cb)
02300                       if (p[offset8] > cb)
02301                       goto success_structured;
02302                       else
02303                       if (p[offset1] > cb)
02304                         if (p[offset2] > cb)
02305                         goto success_structured;
02306                         else
02307                         goto structured;
02308                       else
02309                         goto structured;
02310                     else
02311                       if (p[offset8] > cb)
02312                       if (p[offset10] > cb)
02313                         goto success_structured;
02314                       else
02315                         goto structured;
02316                       else
02317                       goto structured;
02318                     else
02319                     if (p[offset11] > cb)
02320                       if (p[offset8] > cb)
02321                       if (p[offset10] > cb)
02322                         goto success_structured;
02323                       else
02324                         goto structured;
02325                       else
02326                       goto structured;
02327                     else
02328                       goto structured;
02329                   else
02330                     goto structured;
02331                   else
02332                   if (p[offset2] > cb)
02333                     if (p[offset3] > cb)
02334                     if (p[offset4] > cb)
02335                       if (p[offset1] > cb)
02336                       if (p[offset6] > cb)
02337                         goto success_structured;
02338                       else
02339                         goto structured;
02340                       else
02341                       if (p[offset6] > cb)
02342                         if (p[offset8] > cb)
02343                         goto success_structured;
02344                         else
02345                         goto structured;
02346                       else
02347                         goto structured;
02348                     else
02349                       goto structured;
02350                     else
02351                     goto structured;
02352                   else
02353                     goto structured;
02354                 else
02355                   goto structured;
02356                 else
02357                 if (p[offset5] < c_b)
02358                   if (p[offset7] < c_b)
02359                   if (p[offset9] < c_b)
02360                     if (p[offset6] < c_b)
02361                     if (p[offset4] < c_b)
02362                       if (p[offset3] < c_b)
02363                       if (p[offset8] < c_b)
02364                         goto success_structured;
02365                       else
02366                         if (p[offset1] < c_b)
02367                         if (p[offset2] < c_b)
02368                           goto success_structured;
02369                         else
02370                           goto structured;
02371                         else
02372                         goto structured;
02373                       else
02374                       if (p[offset8] < c_b)
02375                         if (p[offset10] < c_b)
02376                         goto success_structured;
02377                         else
02378                         goto structured;
02379                       else
02380                         goto structured;
02381                     else
02382                       if (p[offset11] < c_b)
02383                       if (p[offset8] < c_b)
02384                         if (p[offset10] < c_b)
02385                         goto success_structured;
02386                         else
02387                         goto structured;
02388                       else
02389                         goto structured;
02390                       else
02391                       goto structured;
02392                     else
02393                     goto structured;
02394                   else
02395                     if (p[offset2] < c_b)
02396                     if (p[offset3] < c_b)
02397                       if (p[offset4] < c_b)
02398                       if (p[offset1] < c_b)
02399                         if (p[offset6] < c_b)
02400                         goto success_structured;
02401                         else
02402                         goto structured;
02403                       else
02404                         if (p[offset6] < c_b)
02405                         if (p[offset8] < c_b)
02406                           goto success_structured;
02407                         else
02408                           goto structured;
02409                         else
02410                         goto structured;
02411                       else
02412                       goto structured;
02413                     else
02414                       goto structured;
02415                     else
02416                     goto structured;
02417                   else
02418                   goto structured;
02419                 else
02420                   goto homogeneous;
02421             }
02422       }
02423       success_homogeneous:
02424             if (total == n_expected_corners)
02425             {
02426               if (n_expected_corners == 0)
02427               {
02428                 n_expected_corners = 512;
02429                 corners.reserve (n_expected_corners);
02430               }
02431               else
02432               {
02433                 n_expected_corners *= 2;
02434                 corners.reserve (n_expected_corners);
02435               }
02436             }
02437             h.u = float (x);
02438             h.v = float (y);
02439             corners.push_back (h);
02440             total++;
02441             goto homogeneous;
02442       success_structured:
02443             if (total == n_expected_corners)
02444             {
02445               if (n_expected_corners == 0)
02446               {
02447                 n_expected_corners = 512;
02448                 corners.reserve (n_expected_corners);
02449               }
02450               else
02451               {
02452                 n_expected_corners *= 2;
02453                 corners.reserve (n_expected_corners);
02454               }
02455             }
02456             h.u = float (x);
02457             h.v = float (y);
02458             corners.push_back (h);
02459             total++;            
02460             goto structured;        
02461           }                  
02462         }                    
02463       }
02464 
02466       // Helper method for AgastDetector7_12s::computeCornerScore
02467       template <typename T1, typename T2> int
02468       AgastDetector7_12s_computeCornerScore (
02469           const T1* p,
02470           double im_bmax,
02471           double score_threshold,
02472           int_fast16_t s_offset0,
02473           int_fast16_t s_offset1,
02474           int_fast16_t s_offset2,
02475           int_fast16_t s_offset3,
02476           int_fast16_t s_offset4,
02477           int_fast16_t s_offset5,
02478           int_fast16_t s_offset6,
02479           int_fast16_t s_offset7,
02480           int_fast16_t s_offset8,
02481           int_fast16_t s_offset9,
02482           int_fast16_t s_offset10,
02483           int_fast16_t s_offset11)
02484       {
02485         T2 bmin = T2 (score_threshold);
02486         T2 bmax = T2 (im_bmax); // 255;
02487         int b_test = int ((bmax + bmin) / 2);
02488 
02489         register int_fast16_t offset0  = s_offset0;
02490         register int_fast16_t offset1  = s_offset1;
02491         register int_fast16_t offset2  = s_offset2;
02492         register int_fast16_t offset3  = s_offset3;
02493         register int_fast16_t offset4  = s_offset4;
02494         register int_fast16_t offset5  = s_offset5;
02495         register int_fast16_t offset6  = s_offset6;
02496         register int_fast16_t offset7  = s_offset7;
02497         register int_fast16_t offset8  = s_offset8;
02498         register int_fast16_t offset9  = s_offset9;
02499         register int_fast16_t offset10 = s_offset10;
02500         register int_fast16_t offset11 = s_offset11;
02501 
02502         while (1)
02503         {
02504           register const T2 cb = *p + T2 (b_test);
02505           register const T2 c_b = *p - T2 (b_test);
02506           if (p[offset0] > cb)
02507             if (p[offset5] > cb)
02508               if (p[offset2] < c_b)
02509                 if (p[offset7] > cb)
02510                   if (p[offset9] < c_b)
02511                     goto is_not_a_corner;
02512                   else
02513                     if (p[offset9] > cb)
02514                       if (p[offset1] < c_b)
02515                         if (p[offset6] < c_b)
02516                           goto is_not_a_corner;
02517                         else
02518                           if (p[offset6] > cb)
02519                             if (p[offset8] > cb)
02520                               if (p[offset4] > cb)
02521                                 if (p[offset3] > cb)
02522                                   goto is_a_corner;
02523                                 else
02524                                   if (p[offset10] > cb)
02525                                     goto is_a_corner;
02526                                   else
02527                                     goto is_not_a_corner;
02528                               else
02529                                 if (p[offset10] > cb)
02530                                   if (p[offset11] > cb)
02531                                     goto is_a_corner;
02532                                   else
02533                                     goto is_not_a_corner;
02534                                 else
02535                                   goto is_not_a_corner;
02536                             else
02537                               goto is_not_a_corner;
02538                           else
02539                             goto is_not_a_corner;
02540                       else
02541                         if (p[offset1] > cb)
02542                           if (p[offset6] < c_b)
02543                             if (p[offset8] > cb)
02544                               if (p[offset10] > cb)
02545                                 if (p[offset11] > cb)
02546                                   goto is_a_corner;
02547                                 else
02548                                   goto is_not_a_corner;
02549                               else
02550                                 goto is_not_a_corner;
02551                             else
02552                               goto is_not_a_corner;
02553                           else
02554                             if (p[offset6] > cb)
02555                               if (p[offset8] > cb)
02556                                 if (p[offset4] > cb)
02557                                   if (p[offset3] > cb)
02558                                     goto is_a_corner;
02559                                   else
02560                                     if (p[offset10] > cb)
02561                                       goto is_a_corner;
02562                                     else
02563                                       goto is_not_a_corner;
02564                                 else
02565                                   if (p[offset10] > cb)
02566                                     if (p[offset11] > cb)
02567                                       goto is_a_corner;
02568                                     else
02569                                       goto is_not_a_corner;
02570                                   else
02571                                     goto is_not_a_corner;
02572                               else
02573                                 goto is_not_a_corner;
02574                             else
02575                               if (p[offset8] > cb)
02576                                 if (p[offset10] > cb)
02577                                   if (p[offset11] > cb)
02578                                     goto is_a_corner;
02579                                   else
02580                                     goto is_not_a_corner;
02581                                 else
02582                                   goto is_not_a_corner;
02583                               else
02584                                 goto is_not_a_corner;
02585                         else
02586                           if (p[offset6] < c_b)
02587                             goto is_not_a_corner;
02588                           else
02589                             if (p[offset6] > cb)
02590                               if (p[offset8] > cb)
02591                                 if (p[offset4] > cb)
02592                                   if (p[offset3] > cb)
02593                                     goto is_a_corner;
02594                                   else
02595                                     if (p[offset10] > cb)
02596                                       goto is_a_corner;
02597                                     else
02598                                       goto is_not_a_corner;
02599                                 else
02600                                   if (p[offset10] > cb)
02601                                     if (p[offset11] > cb)
02602                                       goto is_a_corner;
02603                                     else
02604                                       goto is_not_a_corner;
02605                                   else
02606                                     goto is_not_a_corner;
02607                               else
02608                                 goto is_not_a_corner;
02609                             else
02610                               goto is_not_a_corner;
02611                     else
02612                       goto is_not_a_corner;
02613                 else
02614                   goto is_not_a_corner;
02615               else
02616                 if (p[offset2] > cb)
02617                   if (p[offset7] < c_b)
02618                     if (p[offset9] < c_b)
02619                       if (p[offset1] < c_b)
02620                         goto is_not_a_corner;
02621                       else
02622                         if (p[offset1] > cb)
02623                           if (p[offset6] > cb)
02624                             if (p[offset3] > cb)
02625                               if (p[offset4] > cb)
02626                                 goto is_a_corner;
02627                               else
02628                                 goto is_not_a_corner;
02629                             else
02630                               goto is_not_a_corner;
02631                           else
02632                             if (p[offset6] < c_b)
02633                               if (p[offset3] > cb)
02634                                 if (p[offset4] > cb)
02635                                   if (p[offset11] > cb)
02636                                     goto is_a_corner;
02637                                   else
02638                                     goto is_not_a_corner;
02639                                 else
02640                                   goto is_not_a_corner;
02641                               else
02642                                 goto is_not_a_corner;
02643                             else
02644                               if (p[offset3] > cb)
02645                                 if (p[offset4] > cb)
02646                                   if (p[offset11] > cb)
02647                                     goto is_a_corner;
02648                                   else
02649                                     goto is_not_a_corner;
02650                                 else
02651                                   goto is_not_a_corner;
02652                               else
02653                                 goto is_not_a_corner;
02654                         else
02655                           goto is_not_a_corner;
02656                     else
02657                       if (p[offset9] > cb)
02658                         if (p[offset1] < c_b)
02659                           goto is_not_a_corner;
02660                         else
02661                           if (p[offset1] > cb)
02662                             if (p[offset6] < c_b)
02663                               if (p[offset11] > cb)
02664                                 if (p[offset3] > cb)
02665                                   if (p[offset4] > cb)
02666                                     goto is_a_corner;
02667                                   else
02668                                     if (p[offset10] > cb)
02669                                       goto is_a_corner;
02670                                     else
02671                                       goto is_not_a_corner;
02672                                 else
02673                                   if (p[offset8] > cb)
02674                                     if (p[offset10] > cb)
02675                                       goto is_a_corner;
02676                                     else
02677                                       goto is_not_a_corner;
02678                                   else
02679                                     goto is_not_a_corner;
02680                               else
02681                                 goto is_not_a_corner;
02682                             else
02683                               if (p[offset6] > cb)
02684                                 if (p[offset3] > cb)
02685                                   if (p[offset4] > cb)
02686                                     goto is_a_corner;
02687                                   else
02688                                     if (p[offset10] > cb)
02689                                       if (p[offset11] > cb)
02690                                         goto is_a_corner;
02691                                       else
02692                                         goto is_not_a_corner;
02693                                     else
02694                                       goto is_not_a_corner;
02695                                 else
02696                                   if (p[offset8] > cb)
02697                                     if (p[offset10] > cb)
02698                                       if (p[offset11] > cb)
02699                                         goto is_a_corner;
02700                                       else
02701                                         goto is_not_a_corner;
02702                                     else
02703                                       goto is_not_a_corner;
02704                                   else
02705                                     goto is_not_a_corner;
02706                               else
02707                                 if (p[offset11] > cb)
02708                                   if (p[offset3] > cb)
02709                                     if (p[offset4] > cb)
02710                                       goto is_a_corner;
02711                                     else
02712                                       if (p[offset10] > cb)
02713                                         goto is_a_corner;
02714                                       else
02715                                         goto is_not_a_corner;
02716                                   else
02717                                     if (p[offset8] > cb)
02718                                       if (p[offset10] > cb)
02719                                         goto is_a_corner;
02720                                       else
02721                                         goto is_not_a_corner;
02722                                     else
02723                                       goto is_not_a_corner;
02724                                 else
02725                                   goto is_not_a_corner;
02726                           else
02727                             goto is_not_a_corner;
02728                       else
02729                         if (p[offset1] < c_b)
02730                           goto is_not_a_corner;
02731                         else
02732                           if (p[offset1] > cb)
02733                             if (p[offset6] > cb)
02734                               if (p[offset3] > cb)
02735                                 if (p[offset4] > cb)
02736                                   goto is_a_corner;
02737                                 else
02738                                   goto is_not_a_corner;
02739                               else
02740                                 goto is_not_a_corner;
02741                             else
02742                               if (p[offset6] < c_b)
02743                                 if (p[offset3] > cb)
02744                                   if (p[offset4] > cb)
02745                                     if (p[offset11] > cb)
02746                                       goto is_a_corner;
02747                                     else
02748                                       goto is_not_a_corner;
02749                                   else
02750                                     goto is_not_a_corner;
02751                                 else
02752                                   goto is_not_a_corner;
02753                               else
02754                                 if (p[offset3] > cb)
02755                                   if (p[offset4] > cb)
02756                                     if (p[offset11] > cb)
02757                                       goto is_a_corner;
02758                                     else
02759                                       goto is_not_a_corner;
02760                                   else
02761                                     goto is_not_a_corner;
02762                                 else
02763                                   goto is_not_a_corner;
02764                           else
02765                             goto is_not_a_corner;
02766                   else
02767                     if (p[offset9] < c_b)
02768                       if (p[offset7] > cb)
02769                         if (p[offset1] < c_b)
02770                           if (p[offset6] < c_b)
02771                             goto is_not_a_corner;
02772                           else
02773                             if (p[offset6] > cb)
02774                               if (p[offset3] > cb)
02775                                 if (p[offset4] > cb)
02776                                   if (p[offset8] > cb)
02777                                     goto is_a_corner;
02778                                   else
02779                                     goto is_not_a_corner;
02780                                 else
02781                                   goto is_not_a_corner;
02782                               else
02783                                 goto is_not_a_corner;
02784                             else
02785                               goto is_not_a_corner;
02786                         else
02787                           if (p[offset1] > cb)
02788                             if (p[offset6] > cb)
02789                               if (p[offset3] > cb)
02790                                 if (p[offset4] > cb)
02791                                   goto is_a_corner;
02792                                 else
02793                                   goto is_not_a_corner;
02794                               else
02795                                 goto is_not_a_corner;
02796                             else
02797                               if (p[offset6] < c_b)
02798                                 if (p[offset3] > cb)
02799                                   if (p[offset4] > cb)
02800                                     if (p[offset11] > cb)
02801                                       goto is_a_corner;
02802                                     else
02803                                       goto is_not_a_corner;
02804                                   else
02805                                     goto is_not_a_corner;
02806                                 else
02807                                   goto is_not_a_corner;
02808                               else
02809                                 if (p[offset3] > cb)
02810                                   if (p[offset4] > cb)
02811                                     if (p[offset11] > cb)
02812                                       goto is_a_corner;
02813                                     else
02814                                       goto is_not_a_corner;
02815                                   else
02816                                     goto is_not_a_corner;
02817                                 else
02818                                   goto is_not_a_corner;
02819                           else
02820                             if (p[offset6] < c_b)
02821                               goto is_not_a_corner;
02822                             else
02823                               if (p[offset6] > cb)
02824                                 if (p[offset3] > cb)
02825                                   if (p[offset4] > cb)
02826                                     if (p[offset8] > cb)
02827                                       goto is_a_corner;
02828                                     else
02829                                       goto is_not_a_corner;
02830                                   else
02831                                     goto is_not_a_corner;
02832                                 else
02833                                   goto is_not_a_corner;
02834                               else
02835                                 goto is_not_a_corner;
02836                       else
02837                         if (p[offset1] < c_b)
02838                           goto is_not_a_corner;
02839                         else
02840                           if (p[offset1] > cb)
02841                             if (p[offset6] > cb)
02842                               if (p[offset3] > cb)
02843                                 if (p[offset4] > cb)
02844                                   goto is_a_corner;
02845                                 else
02846                                   goto is_not_a_corner;
02847                               else
02848                                 goto is_not_a_corner;
02849                             else
02850                               if (p[offset6] < c_b)
02851                                 if (p[offset3] > cb)
02852                                   if (p[offset4] > cb)
02853                                     if (p[offset11] > cb)
02854                                       goto is_a_corner;
02855                                     else
02856                                       goto is_not_a_corner;
02857                                   else
02858                                     goto is_not_a_corner;
02859                                 else
02860                                   goto is_not_a_corner;
02861                               else
02862                                 if (p[offset3] > cb)
02863                                   if (p[offset4] > cb)
02864                                     if (p[offset11] > cb)
02865                                       goto is_a_corner;
02866                                     else
02867                                       goto is_not_a_corner;
02868                                   else
02869                                     goto is_not_a_corner;
02870                                 else
02871                                   goto is_not_a_corner;
02872                           else
02873                             goto is_not_a_corner;
02874                     else
02875                       if (p[offset7] > cb)
02876                         if (p[offset9] > cb)
02877                           if (p[offset1] < c_b)
02878                             if (p[offset6] < c_b)
02879                               goto is_not_a_corner;
02880                             else
02881                               if (p[offset6] > cb)
02882                                 if (p[offset8] > cb)
02883                                   if (p[offset4] > cb)
02884                                     if (p[offset3] > cb)
02885                                       goto is_a_corner;
02886                                     else
02887                                       if (p[offset10] > cb)
02888                                         goto is_a_corner;
02889                                       else
02890                                         goto is_not_a_corner;
02891                                   else
02892                                     if (p[offset10] > cb)
02893                                       if (p[offset11] > cb)
02894                                         goto is_a_corner;
02895                                       else
02896                                         goto is_not_a_corner;
02897                                     else
02898                                       goto is_not_a_corner;
02899                                 else
02900                                   goto is_not_a_corner;
02901                               else
02902                                 goto is_not_a_corner;
02903                           else
02904                             if (p[offset1] > cb)
02905                               if (p[offset6] < c_b)
02906                                 if (p[offset11] > cb)
02907                                   if (p[offset3] > cb)
02908                                     if (p[offset4] > cb)
02909                                       goto is_a_corner;
02910                                     else
02911                                       if (p[offset10] > cb)
02912                                         goto is_a_corner;
02913                                       else
02914                                         goto is_not_a_corner;
02915                                   else
02916                                     if (p[offset8] > cb)
02917                                       if (p[offset10] > cb)
02918                                         goto is_a_corner;
02919                                       else
02920                                         goto is_not_a_corner;
02921                                     else
02922                                       goto is_not_a_corner;
02923                                 else
02924                                   goto is_not_a_corner;
02925                               else
02926                                 if (p[offset6] > cb)
02927                                   if (p[offset3] > cb)
02928                                     if (p[offset4] > cb)
02929                                       goto is_a_corner;
02930                                     else
02931                                       if (p[offset10] > cb)
02932                                         if (p[offset11] > cb)
02933                                           goto is_a_corner;
02934                                         else
02935                                           goto is_not_a_corner;
02936                                       else
02937                                         goto is_not_a_corner;
02938                                   else
02939                                     if (p[offset8] > cb)
02940                                       if (p[offset10] > cb)
02941                                         if (p[offset4] > cb)
02942                                           goto is_a_corner;
02943                                         else
02944                                           if (p[offset11] > cb)
02945                                             goto is_a_corner;
02946                                           else
02947                                             goto is_not_a_corner;
02948                                       else
02949                                         goto is_not_a_corner;
02950                                     else
02951                                       goto is_not_a_corner;
02952                                 else
02953                                   if (p[offset11] > cb)
02954                                     if (p[offset3] > cb)
02955                                       if (p[offset4] > cb)
02956                                         goto is_a_corner;
02957                                       else
02958                                         if (p[offset10] > cb)
02959                                           goto is_a_corner;
02960                                         else
02961                                           goto is_not_a_corner;
02962                                     else
02963                                       if (p[offset8] > cb)
02964                                         if (p[offset10] > cb)
02965                                           goto is_a_corner;
02966                                         else
02967                                           goto is_not_a_corner;
02968                                       else
02969                                         goto is_not_a_corner;
02970                                   else
02971                                     goto is_not_a_corner;
02972                             else
02973                               if (p[offset6] < c_b)
02974                                 goto is_not_a_corner;
02975                               else
02976                                 if (p[offset6] > cb)
02977                                   if (p[offset8] > cb)
02978                                     if (p[offset4] > cb)
02979                                       if (p[offset3] > cb)
02980                                         goto is_a_corner;
02981                                       else
02982                                         if (p[offset10] > cb)
02983                                           goto is_a_corner;
02984                                         else
02985                                           goto is_not_a_corner;
02986                                     else
02987                                       if (p[offset10] > cb)
02988                                         if (p[offset11] > cb)
02989                                           goto is_a_corner;
02990                                         else
02991                                           goto is_not_a_corner;
02992                                       else
02993                                         goto is_not_a_corner;
02994                                   else
02995                                     goto is_not_a_corner;
02996                                 else
02997                                   goto is_not_a_corner;
02998                         else
02999                           if (p[offset1] < c_b)
03000                             if (p[offset6] < c_b)
03001                               goto is_not_a_corner;
03002                             else
03003                               if (p[offset6] > cb)
03004                                 if (p[offset3] > cb)
03005                                   if (p[offset4] > cb)
03006                                     if (p[offset8] > cb)
03007                                       goto is_a_corner;
03008                                     else
03009                                       goto is_not_a_corner;
03010                                   else
03011                                     goto is_not_a_corner;
03012                                 else
03013                                   goto is_not_a_corner;
03014                               else
03015                                 goto is_not_a_corner;
03016                           else
03017                             if (p[offset1] > cb)
03018                               if (p[offset6] > cb)
03019                                 if (p[offset3] > cb)
03020                                   if (p[offset4] > cb)
03021                                     goto is_a_corner;
03022                                   else
03023                                     goto is_not_a_corner;
03024                                 else
03025                                   goto is_not_a_corner;
03026                               else
03027                                 if (p[offset6] < c_b)
03028                                   if (p[offset3] > cb)
03029                                     if (p[offset4] > cb)
03030                                       if (p[offset11] > cb)
03031                                         goto is_a_corner;
03032                                       else
03033                                         goto is_not_a_corner;
03034                                     else
03035                                       goto is_not_a_corner;
03036                                   else
03037                                     goto is_not_a_corner;
03038                                 else
03039                                   if (p[offset3] > cb)
03040                                     if (p[offset4] > cb)
03041                                       if (p[offset11] > cb)
03042                                         goto is_a_corner;
03043                                       else
03044                                         goto is_not_a_corner;
03045                                     else
03046                                       goto is_not_a_corner;
03047                                   else
03048                                     goto is_not_a_corner;
03049                             else
03050                               if (p[offset6] < c_b)
03051                                 goto is_not_a_corner;
03052                               else
03053                                 if (p[offset6] > cb)
03054                                   if (p[offset3] > cb)
03055                                     if (p[offset4] > cb)
03056                                       if (p[offset8] > cb)
03057                                         goto is_a_corner;
03058                                       else
03059                                         goto is_not_a_corner;
03060                                     else
03061                                       goto is_not_a_corner;
03062                                   else
03063                                     goto is_not_a_corner;
03064                                 else
03065                                   goto is_not_a_corner;
03066                       else
03067                         if (p[offset9] > cb)
03068                           if (p[offset1] < c_b)
03069                             goto is_not_a_corner;
03070                           else
03071                             if (p[offset1] > cb)
03072                               if (p[offset6] < c_b)
03073                                 if (p[offset11] > cb)
03074                                   if (p[offset3] > cb)
03075                                     if (p[offset4] > cb)
03076                                       goto is_a_corner;
03077                                     else
03078                                       if (p[offset10] > cb)
03079                                         goto is_a_corner;
03080                                       else
03081                                         goto is_not_a_corner;
03082                                   else
03083                                     if (p[offset8] > cb)
03084                                       if (p[offset10] > cb)
03085                                         goto is_a_corner;
03086                                       else
03087                                         goto is_not_a_corner;
03088                                     else
03089                                       goto is_not_a_corner;
03090                                 else
03091                                   goto is_not_a_corner;
03092                               else
03093                                 if (p[offset6] > cb)
03094                                   if (p[offset3] > cb)
03095                                     if (p[offset4] > cb)
03096                                       goto is_a_corner;
03097                                     else
03098                                       if (p[offset10] > cb)
03099                                         if (p[offset11] > cb)
03100                                           goto is_a_corner;
03101                                         else
03102                                           goto is_not_a_corner;
03103                                       else
03104                                         goto is_not_a_corner;
03105                                   else
03106                                     if (p[offset8] > cb)
03107                                       if (p[offset10] > cb)
03108                                         if (p[offset11] > cb)
03109                                           goto is_a_corner;
03110                                         else
03111                                           goto is_not_a_corner;
03112                                       else
03113                                         goto is_not_a_corner;
03114                                     else
03115                                       goto is_not_a_corner;
03116                                 else
03117                                   if (p[offset11] > cb)
03118                                     if (p[offset3] > cb)
03119                                       if (p[offset4] > cb)
03120                                         goto is_a_corner;
03121                                       else
03122                                         if (p[offset10] > cb)
03123                                           goto is_a_corner;
03124                                         else
03125                                           goto is_not_a_corner;
03126                                     else
03127                                       if (p[offset8] > cb)
03128                                         if (p[offset10] > cb)
03129                                           goto is_a_corner;
03130                                         else
03131                                           goto is_not_a_corner;
03132                                       else
03133                                         goto is_not_a_corner;
03134                                   else
03135                                     goto is_not_a_corner;
03136                             else
03137                               goto is_not_a_corner;
03138                         else
03139                           if (p[offset1] < c_b)
03140                             goto is_not_a_corner;
03141                           else
03142                             if (p[offset1] > cb)
03143                               if (p[offset6] > cb)
03144                                 if (p[offset3] > cb)
03145                                   if (p[offset4] > cb)
03146                                     goto is_a_corner;
03147                                   else
03148                                     goto is_not_a_corner;
03149                                 else
03150                                   goto is_not_a_corner;
03151                               else
03152                                 if (p[offset6] < c_b)
03153                                   if (p[offset3] > cb)
03154                                     if (p[offset4] > cb)
03155                                       if (p[offset11] > cb)
03156                                         goto is_a_corner;
03157                                       else
03158                                         goto is_not_a_corner;
03159                                     else
03160                                       goto is_not_a_corner;
03161                                   else
03162                                     goto is_not_a_corner;
03163                                 else
03164                                   if (p[offset3] > cb)
03165                                     if (p[offset4] > cb)
03166                                       if (p[offset11] > cb)
03167                                         goto is_a_corner;
03168                                       else
03169                                         goto is_not_a_corner;
03170                                     else
03171                                       goto is_not_a_corner;
03172                                   else
03173                                     goto is_not_a_corner;
03174                             else
03175                               goto is_not_a_corner;
03176                 else
03177                   if (p[offset7] > cb)
03178                     if (p[offset9] < c_b)
03179                       goto is_not_a_corner;
03180                     else
03181                       if (p[offset9] > cb)
03182                         if (p[offset1] < c_b)
03183                           if (p[offset6] < c_b)
03184                             goto is_not_a_corner;
03185                           else
03186                             if (p[offset6] > cb)
03187                               if (p[offset8] > cb)
03188                                 if (p[offset4] > cb)
03189                                   if (p[offset3] > cb)
03190                                     goto is_a_corner;
03191                                   else
03192                                     if (p[offset10] > cb)
03193                                       goto is_a_corner;
03194                                     else
03195                                       goto is_not_a_corner;
03196                                 else
03197                                   if (p[offset10] > cb)
03198                                     if (p[offset11] > cb)
03199                                       goto is_a_corner;
03200                                     else
03201                                       goto is_not_a_corner;
03202                                   else
03203                                     goto is_not_a_corner;
03204                               else
03205                                 goto is_not_a_corner;
03206                             else
03207                               goto is_not_a_corner;
03208                         else
03209                           if (p[offset1] > cb)
03210                             if (p[offset6] < c_b)
03211                               if (p[offset8] > cb)
03212                                 if (p[offset10] > cb)
03213                                   if (p[offset11] > cb)
03214                                     goto is_a_corner;
03215                                   else
03216                                     goto is_not_a_corner;
03217                                 else
03218                                   goto is_not_a_corner;
03219                               else
03220                                 goto is_not_a_corner;
03221                             else
03222                               if (p[offset6] > cb)
03223                                 if (p[offset8] > cb)
03224                                   if (p[offset4] > cb)
03225                                     if (p[offset3] > cb)
03226                                       goto is_a_corner;
03227                                     else
03228                                       if (p[offset10] > cb)
03229                                         goto is_a_corner;
03230                                       else
03231                                         goto is_not_a_corner;
03232                                   else
03233                                     if (p[offset10] > cb)
03234                                       if (p[offset11] > cb)
03235                                         goto is_a_corner;
03236                                       else
03237                                         goto is_not_a_corner;
03238                                     else
03239                                       goto is_not_a_corner;
03240                                 else
03241                                   goto is_not_a_corner;
03242                               else
03243                                 if (p[offset8] > cb)
03244                                   if (p[offset10] > cb)
03245                                     if (p[offset11] > cb)
03246                                       goto is_a_corner;
03247                                     else
03248                                       goto is_not_a_corner;
03249                                   else
03250                                     goto is_not_a_corner;
03251                                 else
03252                                   goto is_not_a_corner;
03253                           else
03254                             if (p[offset6] < c_b)
03255                               goto is_not_a_corner;
03256                             else
03257                               if (p[offset6] > cb)
03258                                 if (p[offset8] > cb)
03259                                   if (p[offset4] > cb)
03260                                     if (p[offset3] > cb)
03261                                       goto is_a_corner;
03262                                     else
03263                                       if (p[offset10] > cb)
03264                                         goto is_a_corner;
03265                                       else
03266                                         goto is_not_a_corner;
03267                                   else
03268                                     if (p[offset10] > cb)
03269                                       if (p[offset11] > cb)
03270                                         goto is_a_corner;
03271                                       else
03272                                         goto is_not_a_corner;
03273                                     else
03274                                       goto is_not_a_corner;
03275                                 else
03276                                   goto is_not_a_corner;
03277                               else
03278                                 goto is_not_a_corner;
03279                       else
03280                         goto is_not_a_corner;
03281                   else
03282                     goto is_not_a_corner;
03283             else
03284               if (p[offset5] < c_b)
03285                 if (p[offset9] < c_b)
03286                   if (p[offset7] > cb)
03287                     if (p[offset2] < c_b)
03288                       goto is_not_a_corner;
03289                     else
03290                       if (p[offset2] > cb)
03291                         if (p[offset1] < c_b)
03292                           goto is_not_a_corner;
03293                         else
03294                           if (p[offset1] > cb)
03295                             if (p[offset6] > cb)
03296                               if (p[offset3] > cb)
03297                                 if (p[offset4] > cb)
03298                                   if (p[offset10] > cb)
03299                                     if (p[offset11] > cb)
03300                                       goto is_a_corner;
03301                                     else
03302                                       goto is_not_a_corner;
03303                                   else
03304                                     goto is_not_a_corner;
03305                                 else
03306                                   goto is_not_a_corner;
03307                               else
03308                                 goto is_not_a_corner;
03309                             else
03310                               if (p[offset6] < c_b)
03311                                 if (p[offset3] > cb)
03312                                   if (p[offset4] > cb)
03313                                     if (p[offset10] > cb)
03314                                       if (p[offset11] > cb)
03315                                         goto is_a_corner;
03316                                       else
03317                                         goto is_not_a_corner;
03318                                     else
03319                                       goto is_not_a_corner;
03320                                   else
03321                                     goto is_not_a_corner;
03322                                 else
03323                                   goto is_not_a_corner;
03324                               else
03325                                 if (p[offset3] > cb)
03326                                   if (p[offset4] > cb)
03327                                     if (p[offset10] > cb)
03328                                       if (p[offset11] > cb)
03329                                         goto is_a_corner;
03330                                       else
03331                                         goto is_not_a_corner;
03332                                     else
03333                                       goto is_not_a_corner;
03334                                   else
03335                                     goto is_not_a_corner;
03336                                 else
03337                                   goto is_not_a_corner;
03338                           else
03339                             goto is_not_a_corner;
03340                       else
03341                         goto is_not_a_corner;
03342                   else
03343                     if (p[offset7] < c_b)
03344                       if (p[offset2] < c_b)
03345                         if (p[offset1] > cb)
03346                           if (p[offset6] > cb)
03347                             goto is_not_a_corner;
03348                           else
03349                             if (p[offset6] < c_b)
03350                               if (p[offset8] < c_b)
03351                                 if (p[offset4] < c_b)
03352                                   if (p[offset3] < c_b)
03353                                     goto is_a_corner;
03354                                   else
03355                                     if (p[offset10] < c_b)
03356                                       goto is_a_corner;
03357                                     else
03358                                       goto is_not_a_corner;
03359                                 else
03360                                   if (p[offset10] < c_b)
03361                                     if (p[offset11] < c_b)
03362                                       goto is_a_corner;
03363                                     else
03364                                       goto is_not_a_corner;
03365                                   else
03366                                     goto is_not_a_corner;
03367                               else
03368                                 goto is_not_a_corner;
03369                             else
03370                               goto is_not_a_corner;
03371                         else
03372                           if (p[offset1] < c_b)
03373                             if (p[offset6] > cb)
03374                               goto is_not_a_corner;
03375                             else
03376                               if (p[offset6] < c_b)
03377                                 if (p[offset4] < c_b)
03378                                   if (p[offset3] < c_b)
03379                                     goto is_a_corner;
03380                                   else
03381                                     if (p[offset8] < c_b)
03382                                       if (p[offset10] < c_b)
03383                                         goto is_a_corner;
03384                                       else
03385                                         goto is_not_a_corner;
03386                                     else
03387                                       goto is_not_a_corner;
03388                                 else
03389                                   if (p[offset8] < c_b)
03390                                     if (p[offset10] < c_b)
03391                                       if (p[offset11] < c_b)
03392                                         goto is_a_corner;
03393                                       else
03394                                         goto is_not_a_corner;
03395                                     else
03396                                       goto is_not_a_corner;
03397                                   else
03398                                     goto is_not_a_corner;
03399                               else
03400                                 goto is_not_a_corner;
03401                           else
03402                             if (p[offset6] > cb)
03403                               goto is_not_a_corner;
03404                             else
03405                               if (p[offset6] < c_b)
03406                                 if (p[offset8] < c_b)
03407                                   if (p[offset4] < c_b)
03408                                     if (p[offset3] < c_b)
03409                                       goto is_a_corner;
03410                                     else
03411                                       if (p[offset10] < c_b)
03412                                         goto is_a_corner;
03413                                       else
03414                                         goto is_not_a_corner;
03415                                   else
03416                                     if (p[offset10] < c_b)
03417                                       if (p[offset11] < c_b)
03418                                         goto is_a_corner;
03419                                       else
03420                                         goto is_not_a_corner;
03421                                     else
03422                                       goto is_not_a_corner;
03423                                 else
03424                                   goto is_not_a_corner;
03425                               else
03426                                 goto is_not_a_corner;
03427                       else
03428                         if (p[offset2] > cb)
03429                           if (p[offset1] < c_b)
03430                             if (p[offset6] > cb)
03431                               goto is_not_a_corner;
03432                             else
03433                               if (p[offset6] < c_b)
03434                                 if (p[offset8] < c_b)
03435                                   if (p[offset4] < c_b)
03436                                     if (p[offset3] < c_b)
03437                                       goto is_a_corner;
03438                                     else
03439                                       if (p[offset10] < c_b)
03440                                         goto is_a_corner;
03441                                       else
03442                                         goto is_not_a_corner;
03443                                   else
03444                                     if (p[offset10] < c_b)
03445                                       if (p[offset11] < c_b)
03446                                         goto is_a_corner;
03447                                       else
03448                                         goto is_not_a_corner;
03449                                     else
03450                                       goto is_not_a_corner;
03451                                 else
03452                                   goto is_not_a_corner;
03453                               else
03454                                 goto is_not_a_corner;
03455                           else
03456                             if (p[offset1] > cb)
03457                               if (p[offset6] > cb)
03458                                 if (p[offset3] > cb)
03459                                   if (p[offset4] > cb)
03460                                     if (p[offset10] > cb)
03461                                       if (p[offset11] > cb)
03462                                         goto is_a_corner;
03463                                       else
03464                                         goto is_not_a_corner;
03465                                     else
03466                                       goto is_not_a_corner;
03467                                   else
03468                                     goto is_not_a_corner;
03469                                 else
03470                                   goto is_not_a_corner;
03471                               else
03472                                 if (p[offset6] < c_b)
03473                                   if (p[offset4] > cb)
03474                                     if (p[offset10] > cb)
03475                                       if (p[offset3] > cb)
03476                                         if (p[offset11] > cb)
03477                                           goto is_a_corner;
03478                                         else
03479                                           goto is_not_a_corner;
03480                                       else
03481                                         goto is_not_a_corner;
03482                                     else
03483                                       if (p[offset8] < c_b)
03484                                         if (p[offset11] < c_b)
03485                                           if (p[offset10] < c_b)
03486                                             goto is_a_corner;
03487                                           else
03488                                             goto is_not_a_corner;
03489                                         else
03490                                           goto is_not_a_corner;
03491                                       else
03492                                         goto is_not_a_corner;
03493                                   else
03494                                     if (p[offset8] < c_b)
03495                                       if (p[offset10] < c_b)
03496                                         if (p[offset4] < c_b)
03497                                           goto is_a_corner;
03498                                         else
03499                                           if (p[offset11] < c_b)
03500                                             goto is_a_corner;
03501                                           else
03502                                             goto is_not_a_corner;
03503                                       else
03504                                         if (p[offset3] < c_b)
03505                                           if (p[offset4] < c_b)
03506                                             goto is_a_corner;
03507                                           else
03508                                             goto is_not_a_corner;
03509                                         else
03510                                           goto is_not_a_corner;
03511                                     else
03512                                       goto is_not_a_corner;
03513                                 else
03514                                   if (p[offset3] > cb)
03515                                     if (p[offset4] > cb)
03516                                       if (p[offset10] > cb)
03517                                         if (p[offset11] > cb)
03518                                           goto is_a_corner;
03519                                         else
03520                                           goto is_not_a_corner;
03521                                       else
03522                                         goto is_not_a_corner;
03523                                     else
03524                                       goto is_not_a_corner;
03525                                   else
03526                                     goto is_not_a_corner;
03527                             else
03528                               if (p[offset6] > cb)
03529                                 goto is_not_a_corner;
03530                               else
03531                                 if (p[offset6] < c_b)
03532                                   if (p[offset8] < c_b)
03533                                     if (p[offset4] < c_b)
03534                                       if (p[offset3] < c_b)
03535                                         goto is_a_corner;
03536                                       else
03537                                         if (p[offset10] < c_b)
03538                                           goto is_a_corner;
03539                                         else
03540                                           goto is_not_a_corner;
03541                                     else
03542                                       if (p[offset10] < c_b)
03543                                         if (p[offset11] < c_b)
03544                                           goto is_a_corner;
03545                                         else
03546                                           goto is_not_a_corner;
03547                                       else
03548                                         goto is_not_a_corner;
03549                                   else
03550                                     goto is_not_a_corner;
03551                                 else
03552                                   goto is_not_a_corner;
03553                         else
03554                           if (p[offset1] > cb)
03555                             if (p[offset6] > cb)
03556                               goto is_not_a_corner;
03557                             else
03558                               if (p[offset6] < c_b)
03559                                 if (p[offset8] < c_b)
03560                                   if (p[offset4] < c_b)
03561                                     if (p[offset3] < c_b)
03562                                       goto is_a_corner;
03563                                     else
03564                                       if (p[offset10] < c_b)
03565                                         goto is_a_corner;
03566                                       else
03567                                         goto is_not_a_corner;
03568                                   else
03569                                     if (p[offset10] < c_b)
03570                                       if (p[offset11] < c_b)
03571                                         goto is_a_corner;
03572                                       else
03573                                         goto is_not_a_corner;
03574                                     else
03575                                       goto is_not_a_corner;
03576                                 else
03577                                   goto is_not_a_corner;
03578                               else
03579                                 goto is_not_a_corner;
03580                           else
03581                             if (p[offset1] < c_b)
03582                               if (p[offset6] > cb)
03583                                 goto is_not_a_corner;
03584                               else
03585                                 if (p[offset6] < c_b)
03586                                   if (p[offset8] < c_b)
03587                                     if (p[offset4] < c_b)
03588                                       if (p[offset3] < c_b)
03589                                         goto is_a_corner;
03590                                       else
03591                                         if (p[offset10] < c_b)
03592                                           goto is_a_corner;
03593                                         else
03594                                           goto is_not_a_corner;
03595                                     else
03596                                       if (p[offset10] < c_b)
03597                                         if (p[offset11] < c_b)
03598                                           goto is_a_corner;
03599                                         else
03600                                           goto is_not_a_corner;
03601                                       else
03602                                         goto is_not_a_corner;
03603                                   else
03604                                     goto is_not_a_corner;
03605                                 else
03606                                   goto is_not_a_corner;
03607                             else
03608                               if (p[offset6] > cb)
03609                                 goto is_not_a_corner;
03610                               else
03611                                 if (p[offset6] < c_b)
03612                                   if (p[offset8] < c_b)
03613                                     if (p[offset4] < c_b)
03614                                       if (p[offset3] < c_b)
03615                                         goto is_a_corner;
03616                                       else
03617                                         if (p[offset10] < c_b)
03618                                           goto is_a_corner;
03619                                         else
03620                                           goto is_not_a_corner;
03621                                     else
03622                                       if (p[offset10] < c_b)
03623                                         if (p[offset11] < c_b)
03624                                           goto is_a_corner;
03625                                         else
03626                                           goto is_not_a_corner;
03627                                       else
03628                                         goto is_not_a_corner;
03629                                   else
03630                                     goto is_not_a_corner;
03631                                 else
03632                                   goto is_not_a_corner;
03633                     else
03634                       if (p[offset2] < c_b)
03635                         goto is_not_a_corner;
03636                       else
03637                         if (p[offset2] > cb)
03638                           if (p[offset1] < c_b)
03639                             goto is_not_a_corner;
03640                           else
03641                             if (p[offset1] > cb)
03642                               if (p[offset6] > cb)
03643                                 if (p[offset3] > cb)
03644                                   if (p[offset4] > cb)
03645                                     if (p[offset10] > cb)
03646                                       if (p[offset11] > cb)
03647                                         goto is_a_corner;
03648                                       else
03649                                         goto is_not_a_corner;
03650                                     else
03651                                       goto is_not_a_corner;
03652                                   else
03653                                     goto is_not_a_corner;
03654                                 else
03655                                   goto is_not_a_corner;
03656                               else
03657                                 if (p[offset6] < c_b)
03658                                   if (p[offset3] > cb)
03659                                     if (p[offset4] > cb)
03660                                       if (p[offset10] > cb)
03661                                         if (p[offset11] > cb)
03662                                           goto is_a_corner;
03663                                         else
03664                                           goto is_not_a_corner;
03665                                       else
03666                                         goto is_not_a_corner;
03667                                     else
03668                                       goto is_not_a_corner;
03669                                   else
03670                                     goto is_not_a_corner;
03671                                 else
03672                                   if (p[offset3] > cb)
03673                                     if (p[offset4] > cb)
03674                                       if (p[offset10] > cb)
03675                                         if (p[offset11] > cb)
03676                                           goto is_a_corner;
03677                                         else
03678                                           goto is_not_a_corner;
03679                                       else
03680                                         goto is_not_a_corner;
03681                                     else
03682                                       goto is_not_a_corner;
03683                                   else
03684                                     goto is_not_a_corner;
03685                             else
03686                               goto is_not_a_corner;
03687                         else
03688                           goto is_not_a_corner;
03689                 else
03690                   if (p[offset9] > cb)
03691                     if (p[offset7] < c_b)
03692                       if (p[offset2] > cb)
03693                         if (p[offset1] < c_b)
03694                           goto is_not_a_corner;
03695                         else
03696                           if (p[offset1] > cb)
03697                             if (p[offset6] > cb)
03698                               if (p[offset10] > cb)
03699                                 if (p[offset11] > cb)
03700                                   if (p[offset3] > cb)
03701                                     goto is_a_corner;
03702                                   else
03703                                     if (p[offset8] > cb)
03704                                       goto is_a_corner;
03705                                     else
03706                                       goto is_not_a_corner;
03707                                 else
03708                                   goto is_not_a_corner;
03709                               else
03710                                 goto is_not_a_corner;
03711                             else
03712                               if (p[offset6] < c_b)
03713                                 if (p[offset10] > cb)
03714                                   if (p[offset11] > cb)
03715                                     if (p[offset3] > cb)
03716                                       goto is_a_corner;
03717                                     else
03718                                       if (p[offset8] > cb)
03719                                         goto is_a_corner;
03720                                       else
03721                                         goto is_not_a_corner;
03722                                   else
03723                                     goto is_not_a_corner;
03724                                 else
03725                                   goto is_not_a_corner;
03726                               else
03727                                 if (p[offset10] > cb)
03728                                   if (p[offset11] > cb)
03729                                     if (p[offset3] > cb)
03730                                       goto is_a_corner;
03731                                     else
03732                                       if (p[offset8] > cb)
03733                                         goto is_a_corner;
03734                                       else
03735                                         goto is_not_a_corner;
03736                                   else
03737                                     goto is_not_a_corner;
03738                                 else
03739                                   goto is_not_a_corner;
03740                           else
03741                             goto is_not_a_corner;
03742                       else
03743                         if (p[offset2] < c_b)
03744                           if (p[offset1] < c_b)
03745                             if (p[offset6] > cb)
03746                               goto is_not_a_corner;
03747                             else
03748                               if (p[offset6] < c_b)
03749                                 if (p[offset3] < c_b)
03750                                   if (p[offset4] < c_b)
03751                                     goto is_a_corner;
03752                                   else
03753                                     goto is_not_a_corner;
03754                                 else
03755                                   goto is_not_a_corner;
03756                               else
03757                                 goto is_not_a_corner;
03758                           else
03759                             if (p[offset1] > cb)
03760                               if (p[offset6] > cb)
03761                                 goto is_not_a_corner;
03762                               else
03763                                 if (p[offset6] < c_b)
03764                                   if (p[offset3] < c_b)
03765                                     if (p[offset4] < c_b)
03766                                       if (p[offset8] < c_b)
03767                                         goto is_a_corner;
03768                                       else
03769                                         goto is_not_a_corner;
03770                                     else
03771                                       goto is_not_a_corner;
03772                                   else
03773                                     goto is_not_a_corner;
03774                                 else
03775                                   goto is_not_a_corner;
03776                             else
03777                               if (p[offset6] > cb)
03778                                 goto is_not_a_corner;
03779                               else
03780                                 if (p[offset6] < c_b)
03781                                   if (p[offset3] < c_b)
03782                                     if (p[offset4] < c_b)
03783                                       if (p[offset8] < c_b)
03784                                         goto is_a_corner;
03785                                       else
03786                                         goto is_not_a_corner;
03787                                     else
03788                                       goto is_not_a_corner;
03789                                   else
03790                                     goto is_not_a_corner;
03791                                 else
03792                                   goto is_not_a_corner;
03793                         else
03794                           goto is_not_a_corner;
03795                     else
03796                       if (p[offset7] > cb)
03797                         if (p[offset2] < c_b)
03798                           if (p[offset1] < c_b)
03799                             if (p[offset6] < c_b)
03800                               goto is_not_a_corner;
03801                             else
03802                               if (p[offset6] > cb)
03803                                 if (p[offset8] > cb)
03804                                   if (p[offset10] > cb)
03805                                     if (p[offset11] > cb)
03806                                       goto is_a_corner;
03807                                     else
03808                                       goto is_not_a_corner;
03809                                   else
03810                                     goto is_not_a_corner;
03811                                 else
03812                                   goto is_not_a_corner;
03813                               else
03814                                 goto is_not_a_corner;
03815                           else
03816                             if (p[offset1] > cb)
03817                               if (p[offset6] > cb)
03818                                 if (p[offset8] > cb)
03819                                   if (p[offset10] > cb)
03820                                     if (p[offset11] > cb)
03821                                       goto is_a_corner;
03822                                     else
03823                                       goto is_not_a_corner;
03824                                   else
03825                                     goto is_not_a_corner;
03826                                 else
03827                                   goto is_not_a_corner;
03828                               else
03829                                 if (p[offset6] < c_b)
03830                                   if (p[offset8] > cb)
03831                                     if (p[offset10] > cb)
03832                                       if (p[offset11] > cb)
03833                                         goto is_a_corner;
03834                                       else
03835                                         goto is_not_a_corner;
03836                                     else
03837                                       goto is_not_a_corner;
03838                                   else
03839                                     goto is_not_a_corner;
03840                                 else
03841                                   if (p[offset8] > cb)
03842                                     if (p[offset10] > cb)
03843                                       if (p[offset11] > cb)
03844                                         goto is_a_corner;
03845                                       else
03846                                         goto is_not_a_corner;
03847                                     else
03848                                       goto is_not_a_corner;
03849                                   else
03850                                     goto is_not_a_corner;
03851                             else
03852                               if (p[offset6] < c_b)
03853                                 goto is_not_a_corner;
03854                               else
03855                                 if (p[offset6] > cb)
03856                                   if (p[offset8] > cb)
03857                                     if (p[offset10] > cb)
03858                                       if (p[offset11] > cb)
03859                                         goto is_a_corner;
03860                                       else
03861                                         goto is_not_a_corner;
03862                                     else
03863                                       goto is_not_a_corner;
03864                                   else
03865                                     goto is_not_a_corner;
03866                                 else
03867                                   goto is_not_a_corner;
03868                         else
03869                           if (p[offset2] > cb)
03870                             if (p[offset1] < c_b)
03871                               if (p[offset6] < c_b)
03872                                 goto is_not_a_corner;
03873                               else
03874                                 if (p[offset6] > cb)
03875                                   if (p[offset8] > cb)
03876                                     if (p[offset10] > cb)
03877                                       if (p[offset11] > cb)
03878                                         goto is_a_corner;
03879                                       else
03880                                         goto is_not_a_corner;
03881                                     else
03882                                       goto is_not_a_corner;
03883                                   else
03884                                     goto is_not_a_corner;
03885                                 else
03886                                   goto is_not_a_corner;
03887                             else
03888                               if (p[offset1] > cb)
03889                                 if (p[offset6] > cb)
03890                                   if (p[offset10] > cb)
03891                                     if (p[offset11] > cb)
03892                                       if (p[offset3] > cb)
03893                                         goto is_a_corner;
03894                                       else
03895                                         if (p[offset8] > cb)
03896                                           goto is_a_corner;
03897                                         else
03898                                           goto is_not_a_corner;
03899                                     else
03900                                       goto is_not_a_corner;
03901                                   else
03902                                     goto is_not_a_corner;
03903                                 else
03904                                   if (p[offset6] < c_b)
03905                                     if (p[offset10] > cb)
03906                                       if (p[offset11] > cb)
03907                                         if (p[offset3] > cb)
03908                                           goto is_a_corner;
03909                                         else
03910                                           if (p[offset8] > cb)
03911                                             goto is_a_corner;
03912                                           else
03913                                             goto is_not_a_corner;
03914                                       else
03915                                         goto is_not_a_corner;
03916                                     else
03917                                       goto is_not_a_corner;
03918                                   else
03919                                     if (p[offset10] > cb)
03920                                       if (p[offset11] > cb)
03921                                         if (p[offset3] > cb)
03922                                           goto is_a_corner;
03923                                         else
03924                                           if (p[offset8] > cb)
03925                                             goto is_a_corner;
03926                                           else
03927                                             goto is_not_a_corner;
03928                                       else
03929                                         goto is_not_a_corner;
03930                                     else
03931                                       goto is_not_a_corner;
03932                               else
03933                                 if (p[offset6] < c_b)
03934                                   goto is_not_a_corner;
03935                                 else
03936                                   if (p[offset6] > cb)
03937                                     if (p[offset8] > cb)
03938                                       if (p[offset10] > cb)
03939                                         if (p[offset11] > cb)
03940                                           goto is_a_corner;
03941                                         else
03942                                           goto is_not_a_corner;
03943                                       else
03944                                         goto is_not_a_corner;
03945                                     else
03946                                       goto is_not_a_corner;
03947                                   else
03948                                     goto is_not_a_corner;
03949                           else
03950                             if (p[offset1] < c_b)
03951                               if (p[offset6] < c_b)
03952                                 goto is_not_a_corner;
03953                               else
03954                                 if (p[offset6] > cb)
03955                                   if (p[offset8] > cb)
03956                                     if (p[offset10] > cb)
03957                                       if (p[offset11] > cb)
03958                                         goto is_a_corner;
03959                                       else
03960                                         goto is_not_a_corner;
03961                                     else
03962                                       goto is_not_a_corner;
03963                                   else
03964                                     goto is_not_a_corner;
03965                                 else
03966                                   goto is_not_a_corner;
03967                             else
03968                               if (p[offset1] > cb)
03969                                 if (p[offset6] > cb)
03970                                   if (p[offset8] > cb)
03971                                     if (p[offset10] > cb)
03972                                       if (p[offset11] > cb)
03973                                         goto is_a_corner;
03974                                       else
03975                                         goto is_not_a_corner;
03976                                     else
03977                                       goto is_not_a_corner;
03978                                   else
03979                                     goto is_not_a_corner;
03980                                 else
03981                                   if (p[offset6] < c_b)
03982                                     if (p[offset8] > cb)
03983                                       if (p[offset10] > cb)
03984                                         if (p[offset11] > cb)
03985                                           goto is_a_corner;
03986                                         else
03987                                           goto is_not_a_corner;
03988                                       else
03989                                         goto is_not_a_corner;
03990                                     else
03991                                       goto is_not_a_corner;
03992                                   else
03993                                     if (p[offset8] > cb)
03994                                       if (p[offset10] > cb)
03995                                         if (p[offset11] > cb)
03996                                           goto is_a_corner;
03997                                         else
03998                                           goto is_not_a_corner;
03999                                       else
04000                                         goto is_not_a_corner;
04001                                     else
04002                                       goto is_not_a_corner;
04003                               else
04004                                 if (p[offset6] < c_b)
04005                                   goto is_not_a_corner;
04006                                 else
04007                                   if (p[offset6] > cb)
04008                                     if (p[offset8] > cb)
04009                                       if (p[offset10] > cb)
04010                                         if (p[offset11] > cb)
04011                                           goto is_a_corner;
04012                                         else
04013                                           goto is_not_a_corner;
04014                                       else
04015                                         goto is_not_a_corner;
04016                                     else
04017                                       goto is_not_a_corner;
04018                                   else
04019                                     goto is_not_a_corner;
04020                       else
04021                         if (p[offset2] < c_b)
04022                           goto is_not_a_corner;
04023                         else
04024                           if (p[offset2] > cb)
04025                             if (p[offset1] < c_b)
04026                               goto is_not_a_corner;
04027                             else
04028                               if (p[offset1] > cb)
04029                                 if (p[offset6] > cb)
04030                                   if (p[offset10] > cb)
04031                                     if (p[offset11] > cb)
04032                                       if (p[offset3] > cb)
04033                                         goto is_a_corner;
04034                                       else
04035                                         if (p[offset8] > cb)
04036                                           goto is_a_corner;
04037                                         else
04038                                           goto is_not_a_corner;
04039                                     else
04040                                       goto is_not_a_corner;
04041                                   else
04042                                     goto is_not_a_corner;
04043                                 else
04044                                   if (p[offset6] < c_b)
04045                                     if (p[offset10] > cb)
04046                                       if (p[offset11] > cb)
04047                                         if (p[offset3] > cb)
04048                                           goto is_a_corner;
04049                                         else
04050                                           if (p[offset8] > cb)
04051                                             goto is_a_corner;
04052                                           else
04053                                             goto is_not_a_corner;
04054                                       else
04055                                         goto is_not_a_corner;
04056                                     else
04057                                       goto is_not_a_corner;
04058                                   else
04059                                     if (p[offset10] > cb)
04060                                       if (p[offset11] > cb)
04061                                         if (p[offset3] > cb)
04062                                           goto is_a_corner;
04063                                         else
04064                                           if (p[offset8] > cb)
04065                                             goto is_a_corner;
04066                                           else
04067                                             goto is_not_a_corner;
04068                                       else
04069                                         goto is_not_a_corner;
04070                                     else
04071                                       goto is_not_a_corner;
04072                               else
04073                                 goto is_not_a_corner;
04074                           else
04075                             goto is_not_a_corner;
04076                   else
04077                     if (p[offset2] < c_b)
04078                       if (p[offset7] > cb)
04079                         goto is_not_a_corner;
04080                       else
04081                         if (p[offset7] < c_b)
04082                           if (p[offset1] < c_b)
04083                             if (p[offset6] > cb)
04084                               goto is_not_a_corner;
04085                             else
04086                               if (p[offset6] < c_b)
04087                                 if (p[offset3] < c_b)
04088                                   if (p[offset4] < c_b)
04089                                     goto is_a_corner;
04090                                   else
04091                                     goto is_not_a_corner;
04092                                 else
04093                                   goto is_not_a_corner;
04094                               else
04095                                 goto is_not_a_corner;
04096                           else
04097                             if (p[offset1] > cb)
04098                               if (p[offset6] > cb)
04099                                 goto is_not_a_corner;
04100                               else
04101                                 if (p[offset6] < c_b)
04102                                   if (p[offset3] < c_b)
04103                                     if (p[offset4] < c_b)
04104                                       if (p[offset8] < c_b)
04105                                         goto is_a_corner;
04106                                       else
04107                                         goto is_not_a_corner;
04108                                     else
04109                                       goto is_not_a_corner;
04110                                   else
04111                                     goto is_not_a_corner;
04112                                 else
04113                                   goto is_not_a_corner;
04114                             else
04115                               if (p[offset6] > cb)
04116                                 goto is_not_a_corner;
04117                               else
04118                                 if (p[offset6] < c_b)
04119                                   if (p[offset3] < c_b)
04120                                     if (p[offset4] < c_b)
04121                                       if (p[offset8] < c_b)
04122                                         goto is_a_corner;
04123                                       else
04124                                         goto is_not_a_corner;
04125                                     else
04126                                       goto is_not_a_corner;
04127                                   else
04128                                     goto is_not_a_corner;
04129                                 else
04130                                   goto is_not_a_corner;
04131                         else
04132                           goto is_not_a_corner;
04133                     else
04134                       if (p[offset2] > cb)
04135                         if (p[offset7] > cb)
04136                           if (p[offset1] < c_b)
04137                             goto is_not_a_corner;
04138                           else
04139                             if (p[offset1] > cb)
04140                               if (p[offset6] > cb)
04141                                 if (p[offset3] > cb)
04142                                   if (p[offset4] > cb)
04143                                     if (p[offset10] > cb)
04144                                       if (p[offset11] > cb)
04145                                         goto is_a_corner;
04146                                       else
04147                                         goto is_not_a_corner;
04148                                     else
04149                                       goto is_not_a_corner;
04150                                   else
04151                                     goto is_not_a_corner;
04152                                 else
04153                                   goto is_not_a_corner;
04154                               else
04155                                 if (p[offset6] < c_b)
04156                                   if (p[offset3] > cb)
04157                                     if (p[offset4] > cb)
04158                                       if (p[offset10] > cb)
04159                                         if (p[offset11] > cb)
04160                                           goto is_a_corner;
04161                                         else
04162                                           goto is_not_a_corner;
04163                                       else
04164                                         goto is_not_a_corner;
04165                                     else
04166                                       goto is_not_a_corner;
04167                                   else
04168                                     goto is_not_a_corner;
04169                                 else
04170                                   if (p[offset3] > cb)
04171                                     if (p[offset4] > cb)
04172                                       if (p[offset10] > cb)
04173                                         if (p[offset11] > cb)
04174                                           goto is_a_corner;
04175                                         else
04176                                           goto is_not_a_corner;
04177                                       else
04178                                         goto is_not_a_corner;
04179                                     else
04180                                       goto is_not_a_corner;
04181                                   else
04182                                     goto is_not_a_corner;
04183                             else
04184                               goto is_not_a_corner;
04185                         else
04186                           if (p[offset7] < c_b)
04187                             if (p[offset1] < c_b)
04188                               goto is_not_a_corner;
04189                             else
04190                               if (p[offset1] > cb)
04191                                 if (p[offset6] > cb)
04192                                   if (p[offset3] > cb)
04193                                     if (p[offset4] > cb)
04194                                       if (p[offset10] > cb)
04195                                         if (p[offset11] > cb)
04196                                           goto is_a_corner;
04197                                         else
04198                                           goto is_not_a_corner;
04199                                       else
04200                                         goto is_not_a_corner;
04201                                     else
04202                                       goto is_not_a_corner;
04203                                   else
04204                                     goto is_not_a_corner;
04205                                 else
04206                                   if (p[offset6] < c_b)
04207                                     if (p[offset3] > cb)
04208                                       if (p[offset4] > cb)
04209                                         if (p[offset10] > cb)
04210                                           if (p[offset11] > cb)
04211                                             goto is_a_corner;
04212                                           else
04213                                             goto is_not_a_corner;
04214                                         else
04215                                           goto is_not_a_corner;
04216                                       else
04217                                         goto is_not_a_corner;
04218                                     else
04219                                       goto is_not_a_corner;
04220                                   else
04221                                     if (p[offset3] > cb)
04222                                       if (p[offset4] > cb)
04223                                         if (p[offset10] > cb)
04224                                           if (p[offset11] > cb)
04225                                             goto is_a_corner;
04226                                           else
04227                                             goto is_not_a_corner;
04228                                         else
04229                                           goto is_not_a_corner;
04230                                       else
04231                                         goto is_not_a_corner;
04232                                     else
04233                                       goto is_not_a_corner;
04234                               else
04235                                 goto is_not_a_corner;
04236                           else
04237                             if (p[offset1] < c_b)
04238                               goto is_not_a_corner;
04239                             else
04240                               if (p[offset1] > cb)
04241                                 if (p[offset6] > cb)
04242                                   if (p[offset3] > cb)
04243                                     if (p[offset4] > cb)
04244                                       if (p[offset10] > cb)
04245                                         if (p[offset11] > cb)
04246                                           goto is_a_corner;
04247                                         else
04248                                           goto is_not_a_corner;
04249                                       else
04250                                         goto is_not_a_corner;
04251                                     else
04252                                       goto is_not_a_corner;
04253                                   else
04254                                     goto is_not_a_corner;
04255                                 else
04256                                   if (p[offset6] < c_b)
04257                                     if (p[offset3] > cb)
04258                                       if (p[offset4] > cb)
04259                                         if (p[offset10] > cb)
04260                                           if (p[offset11] > cb)
04261                                             goto is_a_corner;
04262                                           else
04263                                             goto is_not_a_corner;
04264                                         else
04265                                           goto is_not_a_corner;
04266                                       else
04267                                         goto is_not_a_corner;
04268                                     else
04269                                       goto is_not_a_corner;
04270                                   else
04271                                     if (p[offset3] > cb)
04272                                       if (p[offset4] > cb)
04273                                         if (p[offset10] > cb)
04274                                           if (p[offset11] > cb)
04275                                             goto is_a_corner;
04276                                           else
04277                                             goto is_not_a_corner;
04278                                         else
04279                                           goto is_not_a_corner;
04280                                       else
04281                                         goto is_not_a_corner;
04282                                     else
04283                                       goto is_not_a_corner;
04284                               else
04285                                 goto is_not_a_corner;
04286                       else
04287                         goto is_not_a_corner;
04288               else
04289                 if (p[offset2] < c_b)
04290                   if (p[offset7] > cb)
04291                     if (p[offset9] < c_b)
04292                       goto is_not_a_corner;
04293                     else
04294                       if (p[offset9] > cb)
04295                         if (p[offset1] < c_b)
04296                           if (p[offset6] < c_b)
04297                             goto is_not_a_corner;
04298                           else
04299                             if (p[offset6] > cb)
04300                               if (p[offset8] > cb)
04301                                 if (p[offset10] > cb)
04302                                   if (p[offset11] > cb)
04303                                     goto is_a_corner;
04304                                   else
04305                                     goto is_not_a_corner;
04306                                 else
04307                                   goto is_not_a_corner;
04308                               else
04309                                 goto is_not_a_corner;
04310                             else
04311                               goto is_not_a_corner;
04312                         else
04313                           if (p[offset1] > cb)
04314                             if (p[offset6] > cb)
04315                               if (p[offset8] > cb)
04316                                 if (p[offset10] > cb)
04317                                   if (p[offset11] > cb)
04318                                     goto is_a_corner;
04319                                   else
04320                                     goto is_not_a_corner;
04321                                 else
04322                                   goto is_not_a_corner;
04323                               else
04324                                 goto is_not_a_corner;
04325                             else
04326                               if (p[offset6] < c_b)
04327                                 if (p[offset8] > cb)
04328                                   if (p[offset10] > cb)
04329                                     if (p[offset11] > cb)
04330                                       goto is_a_corner;
04331                                     else
04332                                       goto is_not_a_corner;
04333                                   else
04334                                     goto is_not_a_corner;
04335                                 else
04336                                   goto is_not_a_corner;
04337                               else
04338                                 if (p[offset8] > cb)
04339                                   if (p[offset10] > cb)
04340                                     if (p[offset11] > cb)
04341                                       goto is_a_corner;
04342                                     else
04343                                       goto is_not_a_corner;
04344                                   else
04345                                     goto is_not_a_corner;
04346                                 else
04347                                   goto is_not_a_corner;
04348                           else
04349                             if (p[offset6] < c_b)
04350                               goto is_not_a_corner;
04351                             else
04352                               if (p[offset6] > cb)
04353                                 if (p[offset8] > cb)
04354                                   if (p[offset10] > cb)
04355                                     if (p[offset11] > cb)
04356                                       goto is_a_corner;
04357                                     else
04358                                       goto is_not_a_corner;
04359                                   else
04360                                     goto is_not_a_corner;
04361                                 else
04362                                   goto is_not_a_corner;
04363                               else
04364                                 goto is_not_a_corner;
04365                       else
04366                         goto is_not_a_corner;
04367                   else
04368                     goto is_not_a_corner;
04369                 else
04370                   if (p[offset2] > cb)
04371                     if (p[offset7] < c_b)
04372                       if (p[offset9] < c_b)
04373                         if (p[offset1] < c_b)
04374                           goto is_not_a_corner;
04375                         else
04376                           if (p[offset1] > cb)
04377                             if (p[offset6] > cb)
04378                               if (p[offset3] > cb)
04379                                 if (p[offset4] > cb)
04380                                   if (p[offset10] > cb)
04381                                     if (p[offset11] > cb)
04382                                       goto is_a_corner;
04383                                     else
04384                                       goto is_not_a_corner;
04385                                   else
04386                                     goto is_not_a_corner;
04387                                 else
04388                                   goto is_not_a_corner;
04389                               else
04390                                 goto is_not_a_corner;
04391                             else
04392                               if (p[offset6] < c_b)
04393                                 if (p[offset3] > cb)
04394                                   if (p[offset4] > cb)
04395                                     if (p[offset10] > cb)
04396                                       if (p[offset11] > cb)
04397                                         goto is_a_corner;
04398                                       else
04399                                         goto is_not_a_corner;
04400                                     else
04401                                       goto is_not_a_corner;
04402                                   else
04403                                     goto is_not_a_corner;
04404                                 else
04405                                   goto is_not_a_corner;
04406                               else
04407                                 if (p[offset3] > cb)
04408                                   if (p[offset4] > cb)
04409                                     if (p[offset10] > cb)
04410                                       if (p[offset11] > cb)
04411                                         goto is_a_corner;
04412                                       else
04413                                         goto is_not_a_corner;
04414                                     else
04415                                       goto is_not_a_corner;
04416                                   else
04417                                     goto is_not_a_corner;
04418                                 else
04419                                   goto is_not_a_corner;
04420                           else
04421                             goto is_not_a_corner;
04422                       else
04423                         if (p[offset9] > cb)
04424                           if (p[offset1] < c_b)
04425                             goto is_not_a_corner;
04426                           else
04427                             if (p[offset1] > cb)
04428                               if (p[offset6] > cb)
04429                                 if (p[offset10] > cb)
04430                                   if (p[offset11] > cb)
04431                                     if (p[offset3] > cb)
04432                                       goto is_a_corner;
04433                                     else
04434                                       if (p[offset8] > cb)
04435                                         goto is_a_corner;
04436                                       else
04437                                         goto is_not_a_corner;
04438                                   else
04439                                     goto is_not_a_corner;
04440                                 else
04441                                   goto is_not_a_corner;
04442                               else
04443                                 if (p[offset6] < c_b)
04444                                   if (p[offset10] > cb)
04445                                     if (p[offset11] > cb)
04446                                       if (p[offset3] > cb)
04447                                         goto is_a_corner;
04448                                       else
04449                                         if (p[offset8] > cb)
04450                                           goto is_a_corner;
04451                                         else
04452                                           goto is_not_a_corner;
04453                                     else
04454                                       goto is_not_a_corner;
04455                                   else
04456                                     goto is_not_a_corner;
04457                                 else
04458                                   if (p[offset10] > cb)
04459                                     if (p[offset11] > cb)
04460                                       if (p[offset3] > cb)
04461                                         goto is_a_corner;
04462                                       else
04463                                         if (p[offset8] > cb)
04464                                           goto is_a_corner;
04465                                         else
04466                                           goto is_not_a_corner;
04467                                     else
04468                                       goto is_not_a_corner;
04469                                   else
04470                                     goto is_not_a_corner;
04471                             else
04472                               goto is_not_a_corner;
04473                         else
04474                           if (p[offset1] < c_b)
04475                             goto is_not_a_corner;
04476                           else
04477                             if (p[offset1] > cb)
04478                               if (p[offset6] > cb)
04479                                 if (p[offset3] > cb)
04480                                   if (p[offset4] > cb)
04481                                     if (p[offset10] > cb)
04482                                       if (p[offset11] > cb)
04483                                         goto is_a_corner;
04484                                       else
04485                                         goto is_not_a_corner;
04486                                     else
04487                                       goto is_not_a_corner;
04488                                   else
04489                                     goto is_not_a_corner;
04490                                 else
04491                                   goto is_not_a_corner;
04492                               else
04493                                 if (p[offset6] < c_b)
04494                                   if (p[offset3] > cb)
04495                                     if (p[offset4] > cb)
04496                                       if (p[offset10] > cb)
04497                                         if (p[offset11] > cb)
04498                                           goto is_a_corner;
04499                                         else
04500                                           goto is_not_a_corner;
04501                                       else
04502                                         goto is_not_a_corner;
04503                                     else
04504                                       goto is_not_a_corner;
04505                                   else
04506                                     goto is_not_a_corner;
04507                                 else
04508                                   if (p[offset3] > cb)
04509                                     if (p[offset4] > cb)
04510                                       if (p[offset10] > cb)
04511                                         if (p[offset11] > cb)
04512                                           goto is_a_corner;
04513                                         else
04514                                           goto is_not_a_corner;
04515                                       else
04516                                         goto is_not_a_corner;
04517                                     else
04518                                       goto is_not_a_corner;
04519                                   else
04520                                     goto is_not_a_corner;
04521                             else
04522                               goto is_not_a_corner;
04523                     else
04524                       if (p[offset9] < c_b)
04525                         if (p[offset7] > cb)
04526                           if (p[offset1] < c_b)
04527                             goto is_not_a_corner;
04528                           else
04529                             if (p[offset1] > cb)
04530                               if (p[offset6] > cb)
04531                                 if (p[offset3] > cb)
04532                                   if (p[offset4] > cb)
04533                                     if (p[offset10] > cb)
04534                                       if (p[offset11] > cb)
04535                                         goto is_a_corner;
04536                                       else
04537                                         goto is_not_a_corner;
04538                                     else
04539                                       goto is_not_a_corner;
04540                                   else
04541                                     goto is_not_a_corner;
04542                                 else
04543                                   goto is_not_a_corner;
04544                               else
04545                                 if (p[offset6] < c_b)
04546                                   if (p[offset3] > cb)
04547                                     if (p[offset4] > cb)
04548                                       if (p[offset10] > cb)
04549                                         if (p[offset11] > cb)
04550                                           goto is_a_corner;
04551                                         else
04552                                           goto is_not_a_corner;
04553                                       else
04554                                         goto is_not_a_corner;
04555                                     else
04556                                       goto is_not_a_corner;
04557                                   else
04558                                     goto is_not_a_corner;
04559                                 else
04560                                   if (p[offset3] > cb)
04561                                     if (p[offset4] > cb)
04562                                       if (p[offset10] > cb)
04563                                         if (p[offset11] > cb)
04564                                           goto is_a_corner;
04565                                         else
04566                                           goto is_not_a_corner;
04567                                       else
04568                                         goto is_not_a_corner;
04569                                     else
04570                                       goto is_not_a_corner;
04571                                   else
04572                                     goto is_not_a_corner;
04573                             else
04574                               goto is_not_a_corner;
04575                         else
04576                           if (p[offset1] < c_b)
04577                             goto is_not_a_corner;
04578                           else
04579                             if (p[offset1] > cb)
04580                               if (p[offset6] > cb)
04581                                 if (p[offset3] > cb)
04582                                   if (p[offset4] > cb)
04583                                     if (p[offset10] > cb)
04584                                       if (p[offset11] > cb)
04585                                         goto is_a_corner;
04586                                       else
04587                                         goto is_not_a_corner;
04588                                     else
04589                                       goto is_not_a_corner;
04590                                   else
04591                                     goto is_not_a_corner;
04592                                 else
04593                                   goto is_not_a_corner;
04594                               else
04595                                 if (p[offset6] < c_b)
04596                                   if (p[offset3] > cb)
04597                                     if (p[offset4] > cb)
04598                                       if (p[offset10] > cb)
04599                                         if (p[offset11] > cb)
04600                                           goto is_a_corner;
04601                                         else
04602                                           goto is_not_a_corner;
04603                                       else
04604                                         goto is_not_a_corner;
04605                                     else
04606                                       goto is_not_a_corner;
04607                                   else
04608                                     goto is_not_a_corner;
04609                                 else
04610                                   if (p[offset3] > cb)
04611                                     if (p[offset4] > cb)
04612                                       if (p[offset10] > cb)
04613                                         if (p[offset11] > cb)
04614                                           goto is_a_corner;
04615                                         else
04616                                           goto is_not_a_corner;
04617                                       else
04618                                         goto is_not_a_corner;
04619                                     else
04620                                       goto is_not_a_corner;
04621                                   else
04622                                     goto is_not_a_corner;
04623                             else
04624                               goto is_not_a_corner;
04625                       else
04626                         if (p[offset7] > cb)
04627                           if (p[offset9] > cb)
04628                             if (p[offset1] < c_b)
04629                               if (p[offset6] < c_b)
04630                                 goto is_not_a_corner;
04631                               else
04632                                 if (p[offset6] > cb)
04633                                   if (p[offset8] > cb)
04634                                     if (p[offset10] > cb)
04635                                       if (p[offset11] > cb)
04636                                         goto is_a_corner;
04637                                       else
04638                                         goto is_not_a_corner;
04639                                     else
04640                                       goto is_not_a_corner;
04641                                   else
04642                                     goto is_not_a_corner;
04643                                 else
04644                                   goto is_not_a_corner;
04645                             else
04646                               if (p[offset1] > cb)
04647                                 if (p[offset6] > cb)
04648                                   if (p[offset10] > cb)
04649                                     if (p[offset11] > cb)
04650                                       if (p[offset3] > cb)
04651                                         goto is_a_corner;
04652                                       else
04653                                         if (p[offset8] > cb)
04654                                           goto is_a_corner;
04655                                         else
04656                                           goto is_not_a_corner;
04657                                     else
04658                                       goto is_not_a_corner;
04659                                   else
04660                                     goto is_not_a_corner;
04661                                 else
04662                                   if (p[offset6] < c_b)
04663                                     if (p[offset10] > cb)
04664                                       if (p[offset11] > cb)
04665                                         if (p[offset3] > cb)
04666                                           goto is_a_corner;
04667                                         else
04668                                           if (p[offset8] > cb)
04669                                             goto is_a_corner;
04670                                           else
04671                                             goto is_not_a_corner;
04672                                       else
04673                                         goto is_not_a_corner;
04674                                     else
04675                                       goto is_not_a_corner;
04676                                   else
04677                                     if (p[offset10] > cb)
04678                                       if (p[offset11] > cb)
04679                                         if (p[offset3] > cb)
04680                                           goto is_a_corner;
04681                                         else
04682                                           if (p[offset8] > cb)
04683                                             goto is_a_corner;
04684                                           else
04685                                             goto is_not_a_corner;
04686                                       else
04687                                         goto is_not_a_corner;
04688                                     else
04689                                       goto is_not_a_corner;
04690                               else
04691                                 if (p[offset6] < c_b)
04692                                   goto is_not_a_corner;
04693                                 else
04694                                   if (p[offset6] > cb)
04695                                     if (p[offset8] > cb)
04696                                       if (p[offset10] > cb)
04697                                         if (p[offset11] > cb)
04698                                           goto is_a_corner;
04699                                         else
04700                                           goto is_not_a_corner;
04701                                       else
04702                                         goto is_not_a_corner;
04703                                     else
04704                                       goto is_not_a_corner;
04705                                   else
04706                                     goto is_not_a_corner;
04707                           else
04708                             if (p[offset1] < c_b)
04709                               goto is_not_a_corner;
04710                             else
04711                               if (p[offset1] > cb)
04712                                 if (p[offset6] > cb)
04713                                   if (p[offset3] > cb)
04714                                     if (p[offset4] > cb)
04715                                       if (p[offset10] > cb)
04716                                         if (p[offset11] > cb)
04717                                           goto is_a_corner;
04718                                         else
04719                                           goto is_not_a_corner;
04720                                       else
04721                                         goto is_not_a_corner;
04722                                     else
04723                                       goto is_not_a_corner;
04724                                   else
04725                                     goto is_not_a_corner;
04726                                 else
04727                                   if (p[offset6] < c_b)
04728                                     if (p[offset3] > cb)
04729                                       if (p[offset4] > cb)
04730                                         if (p[offset10] > cb)
04731                                           if (p[offset11] > cb)
04732                                             goto is_a_corner;
04733                                           else
04734                                             goto is_not_a_corner;
04735                                         else
04736                                           goto is_not_a_corner;
04737                                       else
04738                                         goto is_not_a_corner;
04739                                     else
04740                                       goto is_not_a_corner;
04741                                   else
04742                                     if (p[offset3] > cb)
04743                                       if (p[offset4] > cb)
04744                                         if (p[offset10] > cb)
04745                                           if (p[offset11] > cb)
04746                                             goto is_a_corner;
04747                                           else
04748                                             goto is_not_a_corner;
04749                                         else
04750                                           goto is_not_a_corner;
04751                                       else
04752                                         goto is_not_a_corner;
04753                                     else
04754                                       goto is_not_a_corner;
04755                               else
04756                                 goto is_not_a_corner;
04757                         else
04758                           if (p[offset9] > cb)
04759                             if (p[offset1] < c_b)
04760                               goto is_not_a_corner;
04761                             else
04762                               if (p[offset1] > cb)
04763                                 if (p[offset6] > cb)
04764                                   if (p[offset10] > cb)
04765                                     if (p[offset11] > cb)
04766                                       if (p[offset3] > cb)
04767                                         goto is_a_corner;
04768                                       else
04769                                         if (p[offset8] > cb)
04770                                           goto is_a_corner;
04771                                         else
04772                                           goto is_not_a_corner;
04773                                     else
04774                                       goto is_not_a_corner;
04775                                   else
04776                                     goto is_not_a_corner;
04777                                 else
04778                                   if (p[offset6] < c_b)
04779                                     if (p[offset10] > cb)
04780                                       if (p[offset11] > cb)
04781                                         if (p[offset3] > cb)
04782                                           goto is_a_corner;
04783                                         else
04784                                           if (p[offset8] > cb)
04785                                             goto is_a_corner;
04786                                           else
04787                                             goto is_not_a_corner;
04788                                       else
04789                                         goto is_not_a_corner;
04790                                     else
04791                                       goto is_not_a_corner;
04792                                   else
04793                                     if (p[offset10] > cb)
04794                                       if (p[offset11] > cb)
04795                                         if (p[offset3] > cb)
04796                                           goto is_a_corner;
04797                                         else
04798                                           if (p[offset8] > cb)
04799                                             goto is_a_corner;
04800                                           else
04801                                             goto is_not_a_corner;
04802                                       else
04803                                         goto is_not_a_corner;
04804                                     else
04805                                       goto is_not_a_corner;
04806                               else
04807                                 goto is_not_a_corner;
04808                           else
04809                             if (p[offset1] < c_b)
04810                               goto is_not_a_corner;
04811                             else
04812                               if (p[offset1] > cb)
04813                                 if (p[offset6] > cb)
04814                                   if (p[offset3] > cb)
04815                                     if (p[offset4] > cb)
04816                                       if (p[offset10] > cb)
04817                                         if (p[offset11] > cb)
04818                                           goto is_a_corner;
04819                                         else
04820                                           goto is_not_a_corner;
04821                                       else
04822                                         goto is_not_a_corner;
04823                                     else
04824                                       goto is_not_a_corner;
04825                                   else
04826                                     goto is_not_a_corner;
04827                                 else
04828                                   if (p[offset6] < c_b)
04829                                     if (p[offset3] > cb)
04830                                       if (p[offset4] > cb)
04831                                         if (p[offset10] > cb)
04832                                           if (p[offset11] > cb)
04833                                             goto is_a_corner;
04834                                           else
04835                                             goto is_not_a_corner;
04836                                         else
04837                                           goto is_not_a_corner;
04838                                       else
04839                                         goto is_not_a_corner;
04840                                     else
04841                                       goto is_not_a_corner;
04842                                   else
04843                                     if (p[offset3] > cb)
04844                                       if (p[offset4] > cb)
04845                                         if (p[offset10] > cb)
04846                                           if (p[offset11] > cb)
04847                                             goto is_a_corner;
04848                                           else
04849                                             goto is_not_a_corner;
04850                                         else
04851                                           goto is_not_a_corner;
04852                                       else
04853                                         goto is_not_a_corner;
04854                                     else
04855                                       goto is_not_a_corner;
04856                               else
04857                                 goto is_not_a_corner;
04858                   else
04859                     if (p[offset7] > cb)
04860                       if (p[offset9] < c_b)
04861                         goto is_not_a_corner;
04862                       else
04863                         if (p[offset9] > cb)
04864                           if (p[offset1] < c_b)
04865                             if (p[offset6] < c_b)
04866                               goto is_not_a_corner;
04867                             else
04868                               if (p[offset6] > cb)
04869                                 if (p[offset8] > cb)
04870                                   if (p[offset10] > cb)
04871                                     if (p[offset11] > cb)
04872                                       goto is_a_corner;
04873                                     else
04874                                       goto is_not_a_corner;
04875                                   else
04876                                     goto is_not_a_corner;
04877                                 else
04878                                   goto is_not_a_corner;
04879                               else
04880                                 goto is_not_a_corner;
04881                           else
04882                             if (p[offset1] > cb)
04883                               if (p[offset6] > cb)
04884                                 if (p[offset8] > cb)
04885                                   if (p[offset10] > cb)
04886                                     if (p[offset11] > cb)
04887                                       goto is_a_corner;
04888                                     else
04889                                       goto is_not_a_corner;
04890                                   else
04891                                     goto is_not_a_corner;
04892                                 else
04893                                   goto is_not_a_corner;
04894                               else
04895                                 if (p[offset6] < c_b)
04896                                   if (p[offset8] > cb)
04897                                     if (p[offset10] > cb)
04898                                       if (p[offset11] > cb)
04899                                         goto is_a_corner;
04900                                       else
04901                                         goto is_not_a_corner;
04902                                     else
04903                                       goto is_not_a_corner;
04904                                   else
04905                                     goto is_not_a_corner;
04906                                 else
04907                                   if (p[offset8] > cb)
04908                                     if (p[offset10] > cb)
04909                                       if (p[offset11] > cb)
04910                                         goto is_a_corner;
04911                                       else
04912                                         goto is_not_a_corner;
04913                                     else
04914                                       goto is_not_a_corner;
04915                                   else
04916                                     goto is_not_a_corner;
04917                             else
04918                               if (p[offset6] < c_b)
04919                                 goto is_not_a_corner;
04920                               else
04921                                 if (p[offset6] > cb)
04922                                   if (p[offset8] > cb)
04923                                     if (p[offset10] > cb)
04924                                       if (p[offset11] > cb)
04925                                         goto is_a_corner;
04926                                       else
04927                                         goto is_not_a_corner;
04928                                     else
04929                                       goto is_not_a_corner;
04930                                   else
04931                                     goto is_not_a_corner;
04932                                 else
04933                                   goto is_not_a_corner;
04934                         else
04935                           goto is_not_a_corner;
04936                     else
04937                       goto is_not_a_corner;
04938           else if (p[offset0] < c_b)
04939             if (p[offset5] < c_b)
04940               if (p[offset9] > cb)
04941                 if (p[offset2] > cb)
04942                   goto is_not_a_corner;
04943                 else
04944                   if (p[offset2] < c_b)
04945                     if (p[offset7] > cb)
04946                       if (p[offset1] > cb)
04947                         goto is_not_a_corner;
04948                       else
04949                         if (p[offset1] < c_b)
04950                           if (p[offset6] < c_b)
04951                             if (p[offset3] < c_b)
04952                               if (p[offset4] < c_b)
04953                                 goto is_a_corner;
04954                               else
04955                                 goto is_not_a_corner;
04956                             else
04957                               goto is_not_a_corner;
04958                           else
04959                             if (p[offset6] > cb)
04960                               if (p[offset3] < c_b)
04961                                 if (p[offset4] < c_b)
04962                                   if (p[offset11] < c_b)
04963                                     goto is_a_corner;
04964                                   else
04965                                     goto is_not_a_corner;
04966                                 else
04967                                   goto is_not_a_corner;
04968                               else
04969                                 goto is_not_a_corner;
04970                             else
04971                               if (p[offset3] < c_b)
04972                                 if (p[offset4] < c_b)
04973                                   if (p[offset11] < c_b)
04974                                     goto is_a_corner;
04975                                   else
04976                                     goto is_not_a_corner;
04977                                 else
04978                                   goto is_not_a_corner;
04979                               else
04980                                 goto is_not_a_corner;
04981                         else
04982                           goto is_not_a_corner;
04983                     else
04984                       if (p[offset7] < c_b)
04985                         if (p[offset1] > cb)
04986                           if (p[offset6] > cb)
04987                             goto is_not_a_corner;
04988                           else
04989                             if (p[offset6] < c_b)
04990                               if (p[offset3] < c_b)
04991                                 if (p[offset4] < c_b)
04992                                   if (p[offset8] < c_b)
04993                                     goto is_a_corner;
04994                                   else
04995                                     goto is_not_a_corner;
04996                                 else
04997                                   goto is_not_a_corner;
04998                               else
04999                                 goto is_not_a_corner;
05000                             else
05001                               goto is_not_a_corner;
05002                         else
05003                           if (p[offset1] < c_b)
05004                             if (p[offset6] < c_b)
05005                               if (p[offset3] < c_b)
05006                                 if (p[offset4] < c_b)
05007                                   goto is_a_corner;
05008                                 else
05009                                   goto is_not_a_corner;
05010                               else
05011                                 goto is_not_a_corner;
05012                             else
05013                               if (p[offset6] > cb)
05014                                 if (p[offset3] < c_b)
05015                                   if (p[offset4] < c_b)
05016                                     if (p[offset11] < c_b)
05017                                       goto is_a_corner;
05018                                     else
05019                                       goto is_not_a_corner;
05020                                   else
05021                                     goto is_not_a_corner;
05022                                 else
05023                                   goto is_not_a_corner;
05024                               else
05025                                 if (p[offset3] < c_b)
05026                                   if (p[offset4] < c_b)
05027                                     if (p[offset11] < c_b)
05028                                       goto is_a_corner;
05029                                     else
05030                                       goto is_not_a_corner;
05031                                   else
05032                                     goto is_not_a_corner;
05033                                 else
05034                                   goto is_not_a_corner;
05035                           else
05036                             if (p[offset6] > cb)
05037                               goto is_not_a_corner;
05038                             else
05039                               if (p[offset6] < c_b)
05040                                 if (p[offset3] < c_b)
05041                                   if (p[offset4] < c_b)
05042                                     if (p[offset8] < c_b)
05043                                       goto is_a_corner;
05044                                     else
05045                                       goto is_not_a_corner;
05046                                   else
05047                                     goto is_not_a_corner;
05048                                 else
05049                                   goto is_not_a_corner;
05050                               else
05051                                 goto is_not_a_corner;
05052                       else
05053                         if (p[offset1] > cb)
05054                           goto is_not_a_corner;
05055                         else
05056                           if (p[offset1] < c_b)
05057                             if (p[offset6] < c_b)
05058                               if (p[offset3] < c_b)
05059                                 if (p[offset4] < c_b)
05060                                   goto is_a_corner;
05061                                 else
05062                                   goto is_not_a_corner;
05063                               else
05064                                 goto is_not_a_corner;
05065                             else
05066                               if (p[offset6] > cb)
05067                                 if (p[offset3] < c_b)
05068                                   if (p[offset4] < c_b)
05069                                     if (p[offset11] < c_b)
05070                                       goto is_a_corner;
05071                                     else
05072                                       goto is_not_a_corner;
05073                                   else
05074                                     goto is_not_a_corner;
05075                                 else
05076                                   goto is_not_a_corner;
05077                               else
05078                                 if (p[offset3] < c_b)
05079                                   if (p[offset4] < c_b)
05080                                     if (p[offset11] < c_b)
05081                                       goto is_a_corner;
05082                                     else
05083                                       goto is_not_a_corner;
05084                                   else
05085                                     goto is_not_a_corner;
05086                                 else
05087                                   goto is_not_a_corner;
05088                           else
05089                             goto is_not_a_corner;
05090                   else
05091                     goto is_not_a_corner;
05092               else
05093                 if (p[offset9] < c_b)
05094                   if (p[offset7] > cb)
05095                     if (p[offset2] > cb)
05096                       goto is_not_a_corner;
05097                     else
05098                       if (p[offset2] < c_b)
05099                         if (p[offset1] > cb)
05100                           goto is_not_a_corner;
05101                         else
05102                           if (p[offset1] < c_b)
05103                             if (p[offset6] > cb)
05104                               if (p[offset11] < c_b)
05105                                 if (p[offset3] < c_b)
05106                                   if (p[offset4] < c_b)
05107                                     goto is_a_corner;
05108                                   else
05109                                     if (p[offset10] < c_b)
05110                                       goto is_a_corner;
05111                                     else
05112                                       goto is_not_a_corner;
05113                                 else
05114                                   if (p[offset8] < c_b)
05115                                     if (p[offset10] < c_b)
05116                                       goto is_a_corner;
05117                                     else
05118                                       goto is_not_a_corner;
05119                                   else
05120                                     goto is_not_a_corner;
05121                               else
05122                                 goto is_not_a_corner;
05123                             else
05124                               if (p[offset6] < c_b)
05125                                 if (p[offset3] < c_b)
05126                                   if (p[offset4] < c_b)
05127                                     goto is_a_corner;
05128                                   else
05129                                     if (p[offset10] < c_b)
05130                                       if (p[offset11] < c_b)
05131                                         goto is_a_corner;
05132                                       else
05133                                         goto is_not_a_corner;
05134                                     else
05135                                       goto is_not_a_corner;
05136                                 else
05137                                   if (p[offset8] < c_b)
05138                                     if (p[offset10] < c_b)
05139                                       if (p[offset11] < c_b)
05140                                         goto is_a_corner;
05141                                       else
05142                                         goto is_not_a_corner;
05143                                     else
05144                                       goto is_not_a_corner;
05145                                   else
05146                                     goto is_not_a_corner;
05147                               else
05148                                 if (p[offset11] < c_b)
05149                                   if (p[offset3] < c_b)
05150                                     if (p[offset4] < c_b)
05151                                       goto is_a_corner;
05152                                     else
05153                                       if (p[offset10] < c_b)
05154                                         goto is_a_corner;
05155                                       else
05156                                         goto is_not_a_corner;
05157                                   else
05158                                     if (p[offset8] < c_b)
05159                                       if (p[offset10] < c_b)
05160                                         goto is_a_corner;
05161                                       else
05162                                         goto is_not_a_corner;
05163                                     else
05164                                       goto is_not_a_corner;
05165                                 else
05166                                   goto is_not_a_corner;
05167                           else
05168                             goto is_not_a_corner;
05169                       else
05170                         goto is_not_a_corner;
05171                   else
05172                     if (p[offset7] < c_b)
05173                       if (p[offset2] > cb)
05174                         if (p[offset1] > cb)
05175                           if (p[offset6] > cb)
05176                             goto is_not_a_corner;
05177                           else
05178                             if (p[offset6] < c_b)
05179                               if (p[offset8] < c_b)
05180                                 if (p[offset4] < c_b)
05181                                   if (p[offset3] < c_b)
05182                                     goto is_a_corner;
05183                                   else
05184                                     if (p[offset10] < c_b)
05185                                       goto is_a_corner;
05186                                     else
05187                                       goto is_not_a_corner;
05188                                 else
05189                                   if (p[offset10] < c_b)
05190                                     if (p[offset11] < c_b)
05191                                       goto is_a_corner;
05192                                     else
05193                                       goto is_not_a_corner;
05194                                   else
05195                                     goto is_not_a_corner;
05196                               else
05197                                 goto is_not_a_corner;
05198                             else
05199                               goto is_not_a_corner;
05200                         else
05201                           if (p[offset1] < c_b)
05202                             if (p[offset6] > cb)
05203                               if (p[offset8] < c_b)
05204                                 if (p[offset10] < c_b)
05205                                   if (p[offset11] < c_b)
05206                                     goto is_a_corner;
05207                                   else
05208                                     goto is_not_a_corner;
05209                                 else
05210                                   goto is_not_a_corner;
05211                               else
05212                                 goto is_not_a_corner;
05213                             else
05214                               if (p[offset6] < c_b)
05215                                 if (p[offset8] < c_b)
05216                                   if (p[offset4] < c_b)
05217                                     if (p[offset3] < c_b)
05218                                       goto is_a_corner;
05219                                     else
05220                                       if (p[offset10] < c_b)
05221                                         goto is_a_corner;
05222                                       else
05223                                         goto is_not_a_corner;
05224                                   else
05225                                     if (p[offset10] < c_b)
05226                                       if (p[offset11] < c_b)
05227                                         goto is_a_corner;
05228                                       else
05229                                         goto is_not_a_corner;
05230                                     else
05231                                       goto is_not_a_corner;
05232                                 else
05233                                   goto is_not_a_corner;
05234                               else
05235                                 if (p[offset8] < c_b)
05236                                   if (p[offset10] < c_b)
05237                                     if (p[offset11] < c_b)
05238                                       goto is_a_corner;
05239                                     else
05240                                       goto is_not_a_corner;
05241                                   else
05242                                     goto is_not_a_corner;
05243                                 else
05244                                   goto is_not_a_corner;
05245                           else
05246                             if (p[offset6] > cb)
05247                               goto is_not_a_corner;
05248                             else
05249                               if (p[offset6] < c_b)
05250                                 if (p[offset8] < c_b)
05251                                   if (p[offset4] < c_b)
05252                                     if (p[offset3] < c_b)
05253                                       goto is_a_corner;
05254                                     else
05255                                       if (p[offset10] < c_b)
05256                                         goto is_a_corner;
05257                                       else
05258                                         goto is_not_a_corner;
05259                                   else
05260                                     if (p[offset10] < c_b)
05261                                       if (p[offset11] < c_b)
05262                                         goto is_a_corner;
05263                                       else
05264                                         goto is_not_a_corner;
05265                                     else
05266                                       goto is_not_a_corner;
05267                                 else
05268                                   goto is_not_a_corner;
05269                               else
05270                                 goto is_not_a_corner;
05271                       else
05272                         if (p[offset2] < c_b)
05273                           if (p[offset1] > cb)
05274                             if (p[offset6] > cb)
05275                               goto is_not_a_corner;
05276                             else
05277                               if (p[offset6] < c_b)
05278                                 if (p[offset8] < c_b)
05279                                   if (p[offset4] < c_b)
05280                                     if (p[offset3] < c_b)
05281                                       goto is_a_corner;
05282                                     else
05283                                       if (p[offset10] < c_b)
05284                                         goto is_a_corner;
05285                                       else
05286                                         goto is_not_a_corner;
05287                                   else
05288                                     if (p[offset10] < c_b)
05289                                       if (p[offset11] < c_b)
05290                                         goto is_a_corner;
05291                                       else
05292                                         goto is_not_a_corner;
05293                                     else
05294                                       goto is_not_a_corner;
05295                                 else
05296                                   goto is_not_a_corner;
05297                               else
05298                                 goto is_not_a_corner;
05299                           else
05300                             if (p[offset1] < c_b)
05301                               if (p[offset6] > cb)
05302                                 if (p[offset11] < c_b)
05303                                   if (p[offset3] < c_b)
05304                                     if (p[offset4] < c_b)
05305                                       goto is_a_corner;
05306                                     else
05307                                       if (p[offset10] < c_b)
05308                                         goto is_a_corner;
05309                                       else
05310                                         goto is_not_a_corner;
05311                                   else
05312                                     if (p[offset8] < c_b)
05313                                       if (p[offset10] < c_b)
05314                                         goto is_a_corner;
05315                                       else
05316                                         goto is_not_a_corner;
05317                                     else
05318                                       goto is_not_a_corner;
05319                                 else
05320                                   goto is_not_a_corner;
05321                               else
05322                                 if (p[offset6] < c_b)
05323                                   if (p[offset3] < c_b)
05324                                     if (p[offset4] < c_b)
05325                                       goto is_a_corner;
05326                                     else
05327                                       if (p[offset10] < c_b)
05328                                         if (p[offset11] < c_b)
05329                                           goto is_a_corner;
05330                                         else
05331                                           goto is_not_a_corner;
05332                                       else
05333                                         goto is_not_a_corner;
05334                                   else
05335                                     if (p[offset8] < c_b)
05336                                       if (p[offset10] < c_b)
05337                                         if (p[offset4] < c_b)
05338                                           goto is_a_corner;
05339                                         else
05340                                           if (p[offset11] < c_b)
05341                                             goto is_a_corner;
05342                                           else
05343                                             goto is_not_a_corner;
05344                                       else
05345                                         goto is_not_a_corner;
05346                                     else
05347                                       goto is_not_a_corner;
05348                                 else
05349                                   if (p[offset11] < c_b)
05350                                     if (p[offset3] < c_b)
05351                                       if (p[offset4] < c_b)
05352                                         goto is_a_corner;
05353                                       else
05354                                         if (p[offset10] < c_b)
05355                                           goto is_a_corner;
05356                                         else
05357                                           goto is_not_a_corner;
05358                                     else
05359                                       if (p[offset8] < c_b)
05360                                         if (p[offset10] < c_b)
05361                                           goto is_a_corner;
05362                                         else
05363                                           goto is_not_a_corner;
05364                                       else
05365                                         goto is_not_a_corner;
05366                                   else
05367                                     goto is_not_a_corner;
05368                             else
05369                               if (p[offset6] > cb)
05370                                 goto is_not_a_corner;
05371                               else
05372                                 if (p[offset6] < c_b)
05373                                   if (p[offset8] < c_b)
05374                                     if (p[offset4] < c_b)
05375                                       if (p[offset3] < c_b)
05376                                         goto is_a_corner;
05377                                       else
05378                                         if (p[offset10] < c_b)
05379                                           goto is_a_corner;
05380                                         else
05381                                           goto is_not_a_corner;
05382                                     else
05383                                       if (p[offset10] < c_b)
05384                                         if (p[offset11] < c_b)
05385                                           goto is_a_corner;
05386                                         else
05387                                           goto is_not_a_corner;
05388                                       else
05389                                         goto is_not_a_corner;
05390                                   else
05391                                     goto is_not_a_corner;
05392                                 else
05393                                   goto is_not_a_corner;
05394                         else
05395                           if (p[offset1] > cb)
05396                             if (p[offset6] > cb)
05397                               goto is_not_a_corner;
05398                             else
05399                               if (p[offset6] < c_b)
05400                                 if (p[offset8] < c_b)
05401                                   if (p[offset4] < c_b)
05402                                     if (p[offset3] < c_b)
05403                                       goto is_a_corner;
05404                                     else
05405                                       if (p[offset10] < c_b)
05406                                         goto is_a_corner;
05407                                       else
05408                                         goto is_not_a_corner;
05409                                   else
05410                                     if (p[offset10] < c_b)
05411                                       if (p[offset11] < c_b)
05412                                         goto is_a_corner;
05413                                       else
05414                                         goto is_not_a_corner;
05415                                     else
05416                                       goto is_not_a_corner;
05417                                 else
05418                                   goto is_not_a_corner;
05419                               else
05420                                 goto is_not_a_corner;
05421                           else
05422                             if (p[offset1] < c_b)
05423                               if (p[offset6] > cb)
05424                                 if (p[offset8] < c_b)
05425                                   if (p[offset10] < c_b)
05426                                     if (p[offset11] < c_b)
05427                                       goto is_a_corner;
05428                                     else
05429                                       goto is_not_a_corner;
05430                                   else
05431                                     goto is_not_a_corner;
05432                                 else
05433                                   goto is_not_a_corner;
05434                               else
05435                                 if (p[offset6] < c_b)
05436                                   if (p[offset8] < c_b)
05437                                     if (p[offset4] < c_b)
05438                                       if (p[offset3] < c_b)
05439                                         goto is_a_corner;
05440                                       else
05441                                         if (p[offset10] < c_b)
05442                                           goto is_a_corner;
05443                                         else
05444                                           goto is_not_a_corner;
05445                                     else
05446                                       if (p[offset10] < c_b)
05447                                         if (p[offset11] < c_b)
05448                                           goto is_a_corner;
05449                                         else
05450                                           goto is_not_a_corner;
05451                                       else
05452                                         goto is_not_a_corner;
05453                                   else
05454                                     goto is_not_a_corner;
05455                                 else
05456                                   if (p[offset8] < c_b)
05457                                     if (p[offset10] < c_b)
05458                                       if (p[offset11] < c_b)
05459                                         goto is_a_corner;
05460                                       else
05461                                         goto is_not_a_corner;
05462                                     else
05463                                       goto is_not_a_corner;
05464                                   else
05465                                     goto is_not_a_corner;
05466                             else
05467                               if (p[offset6] > cb)
05468                                 goto is_not_a_corner;
05469                               else
05470                                 if (p[offset6] < c_b)
05471                                   if (p[offset8] < c_b)
05472                                     if (p[offset4] < c_b)
05473                                       if (p[offset3] < c_b)
05474                                         goto is_a_corner;
05475                                       else
05476                                         if (p[offset10] < c_b)
05477                                           goto is_a_corner;
05478                                         else
05479                                           goto is_not_a_corner;
05480                                     else
05481                                       if (p[offset10] < c_b)
05482                                         if (p[offset11] < c_b)
05483                                           goto is_a_corner;
05484                                         else
05485                                           goto is_not_a_corner;
05486                                       else
05487                                         goto is_not_a_corner;
05488                                   else
05489                                     goto is_not_a_corner;
05490                                 else
05491                                   goto is_not_a_corner;
05492                     else
05493                       if (p[offset2] > cb)
05494                         goto is_not_a_corner;
05495                       else
05496                         if (p[offset2] < c_b)
05497                           if (p[offset1] > cb)
05498                             goto is_not_a_corner;
05499                           else
05500                             if (p[offset1] < c_b)
05501                               if (p[offset6] > cb)
05502                                 if (p[offset11] < c_b)
05503                                   if (p[offset3] < c_b)
05504                                     if (p[offset4] < c_b)
05505                                       goto is_a_corner;
05506                                     else
05507                                       if (p[offset10] < c_b)
05508                                         goto is_a_corner;
05509                                       else
05510                                         goto is_not_a_corner;
05511                                   else
05512                                     if (p[offset8] < c_b)
05513                                       if (p[offset10] < c_b)
05514                                         goto is_a_corner;
05515                                       else
05516                                         goto is_not_a_corner;
05517                                     else
05518                                       goto is_not_a_corner;
05519                                 else
05520                                   goto is_not_a_corner;
05521                               else
05522                                 if (p[offset6] < c_b)
05523                                   if (p[offset3] < c_b)
05524                                     if (p[offset4] < c_b)
05525                                       goto is_a_corner;
05526                                     else
05527                                       if (p[offset10] < c_b)
05528                                         if (p[offset11] < c_b)
05529                                           goto is_a_corner;
05530                                         else
05531                                           goto is_not_a_corner;
05532                                       else
05533                                         goto is_not_a_corner;
05534                                   else
05535                                     if (p[offset8] < c_b)
05536                                       if (p[offset10] < c_b)
05537                                         if (p[offset11] < c_b)
05538                                           goto is_a_corner;
05539                                         else
05540                                           goto is_not_a_corner;
05541                                       else
05542                                         goto is_not_a_corner;
05543                                     else
05544                                       goto is_not_a_corner;
05545                                 else
05546                                   if (p[offset11] < c_b)
05547                                     if (p[offset3] < c_b)
05548                                       if (p[offset4] < c_b)
05549                                         goto is_a_corner;
05550                                       else
05551                                         if (p[offset10] < c_b)
05552                                           goto is_a_corner;
05553                                         else
05554                                           goto is_not_a_corner;
05555                                     else
05556                                       if (p[offset8] < c_b)
05557                                         if (p[offset10] < c_b)
05558                                           goto is_a_corner;
05559                                         else
05560                                           goto is_not_a_corner;
05561                                       else
05562                                         goto is_not_a_corner;
05563                                   else
05564                                     goto is_not_a_corner;
05565                             else
05566                               goto is_not_a_corner;
05567                         else
05568                           goto is_not_a_corner;
05569                 else
05570                   if (p[offset2] > cb)
05571                     goto is_not_a_corner;
05572                   else
05573                     if (p[offset2] < c_b)
05574                       if (p[offset7] > cb)
05575                         if (p[offset1] > cb)
05576                           goto is_not_a_corner;
05577                         else
05578                           if (p[offset1] < c_b)
05579                             if (p[offset6] < c_b)
05580                               if (p[offset3] < c_b)
05581                                 if (p[offset4] < c_b)
05582                                   goto is_a_corner;
05583                                 else
05584                                   goto is_not_a_corner;
05585                               else
05586                                 goto is_not_a_corner;
05587                             else
05588                               if (p[offset6] > cb)
05589                                 if (p[offset3] < c_b)
05590                                   if (p[offset4] < c_b)
05591                                     if (p[offset11] < c_b)
05592                                       goto is_a_corner;
05593                                     else
05594                                       goto is_not_a_corner;
05595                                   else
05596                                     goto is_not_a_corner;
05597                                 else
05598                                   goto is_not_a_corner;
05599                               else
05600                                 if (p[offset3] < c_b)
05601                                   if (p[offset4] < c_b)
05602                                     if (p[offset11] < c_b)
05603                                       goto is_a_corner;
05604                                     else
05605                                       goto is_not_a_corner;
05606                                   else
05607                                     goto is_not_a_corner;
05608                                 else
05609                                   goto is_not_a_corner;
05610                           else
05611                             goto is_not_a_corner;
05612                       else
05613                         if (p[offset7] < c_b)
05614                           if (p[offset1] > cb)
05615                             if (p[offset6] > cb)
05616                               goto is_not_a_corner;
05617                             else
05618                               if (p[offset6] < c_b)
05619                                 if (p[offset3] < c_b)
05620                                   if (p[offset4] < c_b)
05621                                     if (p[offset8] < c_b)
05622                                       goto is_a_corner;
05623                                     else
05624                                       goto is_not_a_corner;
05625                                   else
05626                                     goto is_not_a_corner;
05627                                 else
05628                                   goto is_not_a_corner;
05629                               else
05630                                 goto is_not_a_corner;
05631                           else
05632                             if (p[offset1] < c_b)
05633                               if (p[offset6] < c_b)
05634                                 if (p[offset3] < c_b)
05635                                   if (p[offset4] < c_b)
05636                                     goto is_a_corner;
05637                                   else
05638                                     goto is_not_a_corner;
05639                                 else
05640                                   goto is_not_a_corner;
05641                               else
05642                                 if (p[offset6] > cb)
05643                                   if (p[offset3] < c_b)
05644                                     if (p[offset4] < c_b)
05645                                       if (p[offset11] < c_b)
05646                                         goto is_a_corner;
05647                                       else
05648                                         goto is_not_a_corner;
05649                                     else
05650                                       goto is_not_a_corner;
05651                                   else
05652                                     goto is_not_a_corner;
05653                                 else
05654                                   if (p[offset3] < c_b)
05655                                     if (p[offset4] < c_b)
05656                                       if (p[offset11] < c_b)
05657                                         goto is_a_corner;
05658                                       else
05659                                         goto is_not_a_corner;
05660                                     else
05661                                       goto is_not_a_corner;
05662                                   else
05663                                     goto is_not_a_corner;
05664                             else
05665                               if (p[offset6] > cb)
05666                                 goto is_not_a_corner;
05667                               else
05668                                 if (p[offset6] < c_b)
05669                                   if (p[offset3] < c_b)
05670                                     if (p[offset4] < c_b)
05671                                       if (p[offset8] < c_b)
05672                                         goto is_a_corner;
05673                                       else
05674                                         goto is_not_a_corner;
05675                                     else
05676                                       goto is_not_a_corner;
05677                                   else
05678                                     goto is_not_a_corner;
05679                                 else
05680                                   goto is_not_a_corner;
05681                         else
05682                           if (p[offset1] > cb)
05683                             goto is_not_a_corner;
05684                           else
05685                             if (p[offset1] < c_b)
05686                               if (p[offset6] < c_b)
05687                                 if (p[offset3] < c_b)
05688                                   if (p[offset4] < c_b)
05689                                     goto is_a_corner;
05690                                   else
05691                                     goto is_not_a_corner;
05692                                 else
05693                                   goto is_not_a_corner;
05694                               else
05695                                 if (p[offset6] > cb)
05696                                   if (p[offset3] < c_b)
05697                                     if (p[offset4] < c_b)
05698                                       if (p[offset11] < c_b)
05699                                         goto is_a_corner;
05700                                       else
05701                                         goto is_not_a_corner;
05702                                     else
05703                                       goto is_not_a_corner;
05704                                   else
05705                                     goto is_not_a_corner;
05706                                 else
05707                                   if (p[offset3] < c_b)
05708                                     if (p[offset4] < c_b)
05709                                       if (p[offset11] < c_b)
05710                                         goto is_a_corner;
05711                                       else
05712                                         goto is_not_a_corner;
05713                                     else
05714                                       goto is_not_a_corner;
05715                                   else
05716                                     goto is_not_a_corner;
05717                             else
05718                               goto is_not_a_corner;
05719                     else
05720                       goto is_not_a_corner;
05721             else
05722               if (p[offset5] > cb)
05723                 if (p[offset2] > cb)
05724                   if (p[offset7] < c_b)
05725                     if (p[offset9] > cb)
05726                       goto is_not_a_corner;
05727                     else
05728                       if (p[offset9] < c_b)
05729                         if (p[offset1] > cb)
05730                           if (p[offset6] > cb)
05731                             goto is_not_a_corner;
05732                           else
05733                             if (p[offset6] < c_b)
05734                               if (p[offset8] < c_b)
05735                                 if (p[offset10] < c_b)
05736                                   if (p[offset11] < c_b)
05737                                     goto is_a_corner;
05738                                   else
05739                                     goto is_not_a_corner;
05740                                 else
05741                                   goto is_not_a_corner;
05742                               else
05743                                 goto is_not_a_corner;
05744                             else
05745                               goto is_not_a_corner;
05746                         else
05747                           if (p[offset1] < c_b)
05748                             if (p[offset6] > cb)
05749                               if (p[offset8] < c_b)
05750                                 if (p[offset10] < c_b)
05751                                   if (p[offset11] < c_b)
05752                                     goto is_a_corner;
05753                                   else
05754                                     goto is_not_a_corner;
05755                                 else
05756                                   goto is_not_a_corner;
05757                               else
05758                                 goto is_not_a_corner;
05759                             else
05760                               if (p[offset6] < c_b)
05761                                 if (p[offset8] < c_b)
05762                                   if (p[offset10] < c_b)
05763                                     if (p[offset11] < c_b)
05764                                       goto is_a_corner;
05765                                     else
05766                                       goto is_not_a_corner;
05767                                   else
05768                                     goto is_not_a_corner;
05769                                 else
05770                                   goto is_not_a_corner;
05771                               else
05772                                 if (p[offset8] < c_b)
05773                                   if (p[offset10] < c_b)
05774                                     if (p[offset11] < c_b)
05775                                       goto is_a_corner;
05776                                     else
05777                                       goto is_not_a_corner;
05778                                   else
05779                                     goto is_not_a_corner;
05780                                 else
05781                                   goto is_not_a_corner;
05782                           else
05783                             if (p[offset6] > cb)
05784                               goto is_not_a_corner;
05785                             else
05786                               if (p[offset6] < c_b)
05787                                 if (p[offset8] < c_b)
05788                                   if (p[offset10] < c_b)
05789                                     if (p[offset11] < c_b)
05790                                       goto is_a_corner;
05791                                     else
05792                                       goto is_not_a_corner;
05793                                   else
05794                                     goto is_not_a_corner;
05795                                 else
05796                                   goto is_not_a_corner;
05797                               else
05798                                 goto is_not_a_corner;
05799                       else
05800                         goto is_not_a_corner;
05801                   else
05802                     if (p[offset7] > cb)
05803                       if (p[offset9] < c_b)
05804                         if (p[offset1] > cb)
05805                           if (p[offset6] < c_b)
05806                             goto is_not_a_corner;
05807                           else
05808                             if (p[offset6] > cb)
05809                               if (p[offset3] > cb)
05810                                 if (p[offset4] > cb)
05811                                   goto is_a_corner;
05812                                 else
05813                                   goto is_not_a_corner;
05814                               else
05815                                 goto is_not_a_corner;
05816                             else
05817                               goto is_not_a_corner;
05818                         else
05819                           if (p[offset1] < c_b)
05820                             if (p[offset6] < c_b)
05821                               goto is_not_a_corner;
05822                             else
05823                               if (p[offset6] > cb)
05824                                 if (p[offset3] > cb)
05825                                   if (p[offset4] > cb)
05826                                     if (p[offset8] > cb)
05827                                       goto is_a_corner;
05828                                     else
05829                                       goto is_not_a_corner;
05830                                   else
05831                                     goto is_not_a_corner;
05832                                 else
05833                                   goto is_not_a_corner;
05834                               else
05835                                 goto is_not_a_corner;
05836                           else
05837                             if (p[offset6] < c_b)
05838                               goto is_not_a_corner;
05839                             else
05840                               if (p[offset6] > cb)
05841                                 if (p[offset3] > cb)
05842                                   if (p[offset4] > cb)
05843                                     if (p[offset8] > cb)
05844                                       goto is_a_corner;
05845                                     else
05846                                       goto is_not_a_corner;
05847                                   else
05848                                     goto is_not_a_corner;
05849                                 else
05850                                   goto is_not_a_corner;
05851                               else
05852                                 goto is_not_a_corner;
05853                       else
05854                         if (p[offset9] > cb)
05855                           if (p[offset1] < c_b)
05856                             if (p[offset6] < c_b)
05857                               goto is_not_a_corner;
05858                             else
05859                               if (p[offset6] > cb)
05860                                 if (p[offset8] > cb)
05861                                   if (p[offset4] > cb)
05862                                     if (p[offset3] > cb)
05863                                       goto is_a_corner;
05864                                     else
05865                                       if (p[offset10] > cb)
05866                                         goto is_a_corner;
05867                                       else
05868                                         goto is_not_a_corner;
05869                                   else
05870                                     if (p[offset10] > cb)
05871                                       if (p[offset11] > cb)
05872                                         goto is_a_corner;
05873                                       else
05874                                         goto is_not_a_corner;
05875                                     else
05876                                       goto is_not_a_corner;
05877                                 else
05878                                   goto is_not_a_corner;
05879                               else
05880                                 goto is_not_a_corner;
05881                           else
05882                             if (p[offset1] > cb)
05883                               if (p[offset6] < c_b)
05884                                 goto is_not_a_corner;
05885                               else
05886                                 if (p[offset6] > cb)
05887                                   if (p[offset4] > cb)
05888                                     if (p[offset3] > cb)
05889                                       goto is_a_corner;
05890                                     else
05891                                       if (p[offset8] > cb)
05892                                         if (p[offset10] > cb)
05893                                           goto is_a_corner;
05894                                         else
05895                                           goto is_not_a_corner;
05896                                       else
05897                                         goto is_not_a_corner;
05898                                   else
05899                                     if (p[offset8] > cb)
05900                                       if (p[offset10] > cb)
05901                                         if (p[offset11] > cb)
05902                                           goto is_a_corner;
05903                                         else
05904                                           goto is_not_a_corner;
05905                                       else
05906                                         goto is_not_a_corner;
05907                                     else
05908                                       goto is_not_a_corner;
05909                                 else
05910                                   goto is_not_a_corner;
05911                             else
05912                               if (p[offset6] < c_b)
05913                                 goto is_not_a_corner;
05914                               else
05915                                 if (p[offset6] > cb)
05916                                   if (p[offset8] > cb)
05917                                     if (p[offset4] > cb)
05918                                       if (p[offset3] > cb)
05919                                         goto is_a_corner;
05920                                       else
05921                                         if (p[offset10] > cb)
05922                                           goto is_a_corner;
05923                                         else
05924                                           goto is_not_a_corner;
05925                                     else
05926                                       if (p[offset10] > cb)
05927                                         if (p[offset11] > cb)
05928                                           goto is_a_corner;
05929                                         else
05930                                           goto is_not_a_corner;
05931                                       else
05932                                         goto is_not_a_corner;
05933                                   else
05934                                     goto is_not_a_corner;
05935                                 else
05936                                   goto is_not_a_corner;
05937                         else
05938                           if (p[offset1] > cb)
05939                             if (p[offset6] < c_b)
05940                               goto is_not_a_corner;
05941                             else
05942                               if (p[offset6] > cb)
05943                                 if (p[offset3] > cb)
05944                                   if (p[offset4] > cb)
05945                                     goto is_a_corner;
05946                                   else
05947                                     goto is_not_a_corner;
05948                                 else
05949                                   goto is_not_a_corner;
05950                               else
05951                                 goto is_not_a_corner;
05952                           else
05953                             if (p[offset1] < c_b)
05954                               if (p[offset6] < c_b)
05955                                 goto is_not_a_corner;
05956                               else
05957                                 if (p[offset6] > cb)
05958                                   if (p[offset3] > cb)
05959                                     if (p[offset4] > cb)
05960                                       if (p[offset8] > cb)
05961                                         goto is_a_corner;
05962                                       else
05963                                         goto is_not_a_corner;
05964                                     else
05965                                       goto is_not_a_corner;
05966                                   else
05967                                     goto is_not_a_corner;
05968                                 else
05969                                   goto is_not_a_corner;
05970                             else
05971                               if (p[offset6] < c_b)
05972                                 goto is_not_a_corner;
05973                               else
05974                                 if (p[offset6] > cb)
05975                                   if (p[offset3] > cb)
05976                                     if (p[offset4] > cb)
05977                                       if (p[offset8] > cb)
05978                                         goto is_a_corner;
05979                                       else
05980                                         goto is_not_a_corner;
05981                                     else
05982                                       goto is_not_a_corner;
05983                                   else
05984                                     goto is_not_a_corner;
05985                                 else
05986                                   goto is_not_a_corner;
05987                     else
05988                       goto is_not_a_corner;
05989                 else
05990                   if (p[offset2] < c_b)
05991                     if (p[offset7] < c_b)
05992                       if (p[offset9] > cb)
05993                         if (p[offset1] > cb)
05994                           goto is_not_a_corner;
05995                         else
05996                           if (p[offset1] < c_b)
05997                             if (p[offset6] > cb)
05998                               if (p[offset3] < c_b)
05999                                 if (p[offset4] < c_b)
06000                                   if (p[offset10] < c_b)
06001                                     if (p[offset11] < c_b)
06002                                       goto is_a_corner;
06003                                     else
06004                                       goto is_not_a_corner;
06005                                   else
06006                                     goto is_not_a_corner;
06007                                 else
06008                                   goto is_not_a_corner;
06009                               else
06010                                 goto is_not_a_corner;
06011                             else
06012                               if (p[offset6] < c_b)
06013                                 if (p[offset3] < c_b)
06014                                   if (p[offset4] < c_b)
06015                                     if (p[offset10] < c_b)
06016                                       if (p[offset11] < c_b)
06017                                         goto is_a_corner;
06018                                       else
06019                                         goto is_not_a_corner;
06020                                     else
06021                                       goto is_not_a_corner;
06022                                   else
06023                                     goto is_not_a_corner;
06024                                 else
06025                                   goto is_not_a_corner;
06026                               else
06027                                 if (p[offset3] < c_b)
06028                                   if (p[offset4] < c_b)
06029                                     if (p[offset10] < c_b)
06030                                       if (p[offset11] < c_b)
06031                                         goto is_a_corner;
06032                                       else
06033                                         goto is_not_a_corner;
06034                                     else
06035                                       goto is_not_a_corner;
06036                                   else
06037                                     goto is_not_a_corner;
06038                                 else
06039                                   goto is_not_a_corner;
06040                           else
06041                             goto is_not_a_corner;
06042                       else
06043                         if (p[offset9] < c_b)
06044                           if (p[offset1] > cb)
06045                             if (p[offset6] > cb)
06046                               goto is_not_a_corner;
06047                             else
06048                               if (p[offset6] < c_b)
06049                                 if (p[offset8] < c_b)
06050                                   if (p[offset10] < c_b)
06051                                     if (p[offset11] < c_b)
06052                                       goto is_a_corner;
06053                                     else
06054                                       goto is_not_a_corner;
06055                                   else
06056                                     goto is_not_a_corner;
06057                                 else
06058                                   goto is_not_a_corner;
06059                               else
06060                                 goto is_not_a_corner;
06061                           else
06062                             if (p[offset1] < c_b)
06063                               if (p[offset6] > cb)
06064                                 if (p[offset10] < c_b)
06065                                   if (p[offset11] < c_b)
06066                                     if (p[offset3] < c_b)
06067                                       goto is_a_corner;
06068                                     else
06069                                       if (p[offset8] < c_b)
06070                                         goto is_a_corner;
06071                                       else
06072                                         goto is_not_a_corner;
06073                                   else
06074                                     goto is_not_a_corner;
06075                                 else
06076                                   goto is_not_a_corner;
06077                               else
06078                                 if (p[offset6] < c_b)
06079                                   if (p[offset10] < c_b)
06080                                     if (p[offset11] < c_b)
06081                                       if (p[offset3] < c_b)
06082                                         goto is_a_corner;
06083                                       else
06084                                         if (p[offset8] < c_b)
06085                                           goto is_a_corner;
06086                                         else
06087                                           goto is_not_a_corner;
06088                                     else
06089                                       goto is_not_a_corner;
06090                                   else
06091                                     goto is_not_a_corner;
06092                                 else
06093                                   if (p[offset10] < c_b)
06094                                     if (p[offset11] < c_b)
06095                                       if (p[offset3] < c_b)
06096                                         goto is_a_corner;
06097                                       else
06098                                         if (p[offset8] < c_b)
06099                                           goto is_a_corner;
06100                                         else
06101                                           goto is_not_a_corner;
06102                                     else
06103                                       goto is_not_a_corner;
06104                                   else
06105                                     goto is_not_a_corner;
06106                             else
06107                               if (p[offset6] > cb)
06108                                 goto is_not_a_corner;
06109                               else
06110                                 if (p[offset6] < c_b)
06111                                   if (p[offset8] < c_b)
06112                                     if (p[offset10] < c_b)
06113                                       if (p[offset11] < c_b)
06114                                         goto is_a_corner;
06115                                       else
06116                                         goto is_not_a_corner;
06117                                     else
06118                                       goto is_not_a_corner;
06119                                   else
06120                                     goto is_not_a_corner;
06121                                 else
06122                                   goto is_not_a_corner;
06123                         else
06124                           if (p[offset1] > cb)
06125                             goto is_not_a_corner;
06126                           else
06127                             if (p[offset1] < c_b)
06128                               if (p[offset6] > cb)
06129                                 if (p[offset3] < c_b)
06130                                   if (p[offset4] < c_b)
06131                                     if (p[offset10] < c_b)
06132                                       if (p[offset11] < c_b)
06133                                         goto is_a_corner;
06134                                       else
06135                                         goto is_not_a_corner;
06136                                     else
06137                                       goto is_not_a_corner;
06138                                   else
06139                                     goto is_not_a_corner;
06140                                 else
06141                                   goto is_not_a_corner;
06142                               else
06143                                 if (p[offset6] < c_b)
06144                                   if (p[offset3] < c_b)
06145                                     if (p[offset4] < c_b)
06146                                       if (p[offset10] < c_b)
06147                                         if (p[offset11] < c_b)
06148                                           goto is_a_corner;
06149                                         else
06150                                           goto is_not_a_corner;
06151                                       else
06152                                         goto is_not_a_corner;
06153                                     else
06154                                       goto is_not_a_corner;
06155                                   else
06156                                     goto is_not_a_corner;
06157                                 else
06158                                   if (p[offset3] < c_b)
06159                                     if (p[offset4] < c_b)
06160                                       if (p[offset10] < c_b)
06161                                         if (p[offset11] < c_b)
06162                                           goto is_a_corner;
06163                                         else
06164                                           goto is_not_a_corner;
06165                                       else
06166                                         goto is_not_a_corner;
06167                                     else
06168                                       goto is_not_a_corner;
06169                                   else
06170                                     goto is_not_a_corner;
06171                             else
06172                               goto is_not_a_corner;
06173                     else
06174                       if (p[offset7] > cb)
06175                         if (p[offset9] < c_b)
06176                           if (p[offset1] > cb)
06177                             goto is_not_a_corner;
06178                           else
06179                             if (p[offset1] < c_b)
06180                               if (p[offset6] > cb)
06181                                 if (p[offset10] < c_b)
06182                                   if (p[offset11] < c_b)
06183                                     if (p[offset3] < c_b)
06184                                       goto is_a_corner;
06185                                     else
06186                                       if (p[offset8] < c_b)
06187                                         goto is_a_corner;
06188                                       else
06189                                         goto is_not_a_corner;
06190                                   else
06191                                     goto is_not_a_corner;
06192                                 else
06193                                   goto is_not_a_corner;
06194                               else
06195                                 if (p[offset6] < c_b)
06196                                   if (p[offset10] < c_b)
06197                                     if (p[offset11] < c_b)
06198                                       if (p[offset3] < c_b)
06199                                         goto is_a_corner;
06200                                       else
06201                                         if (p[offset8] < c_b)
06202                                           goto is_a_corner;
06203                                         else
06204                                           goto is_not_a_corner;
06205                                     else
06206                                       goto is_not_a_corner;
06207                                   else
06208                                     goto is_not_a_corner;
06209                                 else
06210                                   if (p[offset10] < c_b)
06211                                     if (p[offset11] < c_b)
06212                                       if (p[offset3] < c_b)
06213                                         goto is_a_corner;
06214                                       else
06215                                         if (p[offset8] < c_b)
06216                                           goto is_a_corner;
06217                                         else
06218                                           goto is_not_a_corner;
06219                                     else
06220                                       goto is_not_a_corner;
06221                                   else
06222                                     goto is_not_a_corner;
06223                             else
06224                               goto is_not_a_corner;
06225                         else
06226                           if (p[offset9] > cb)
06227                             if (p[offset1] > cb)
06228                               if (p[offset6] < c_b)
06229                                 goto is_not_a_corner;
06230                               else
06231                                 if (p[offset6] > cb)
06232                                   if (p[offset8] > cb)
06233                                     if (p[offset4] > cb)
06234                                       if (p[offset3] > cb)
06235                                         goto is_a_corner;
06236                                       else
06237                                         if (p[offset10] > cb)
06238                                           goto is_a_corner;
06239                                         else
06240                                           goto is_not_a_corner;
06241                                     else
06242                                       if (p[offset10] > cb)
06243                                         if (p[offset11] > cb)
06244                                           goto is_a_corner;
06245                                         else
06246                                           goto is_not_a_corner;
06247                                       else
06248                                         goto is_not_a_corner;
06249                                   else
06250                                     goto is_not_a_corner;
06251                                 else
06252                                   goto is_not_a_corner;
06253                             else
06254                               if (p[offset1] < c_b)
06255                                 if (p[offset6] < c_b)
06256                                   if (p[offset3] < c_b)
06257                                     if (p[offset4] < c_b)
06258                                       if (p[offset10] < c_b)
06259                                         if (p[offset11] < c_b)
06260                                           goto is_a_corner;
06261                                         else
06262                                           goto is_not_a_corner;
06263                                       else
06264                                         goto is_not_a_corner;
06265                                     else
06266                                       goto is_not_a_corner;
06267                                   else
06268                                     goto is_not_a_corner;
06269                                 else
06270                                   if (p[offset6] > cb)
06271                                     if (p[offset4] < c_b)
06272                                       if (p[offset10] > cb)
06273                                         if (p[offset8] > cb)
06274                                           if (p[offset11] > cb)
06275                                             goto is_a_corner;
06276                                           else
06277                                             goto is_not_a_corner;
06278                                         else
06279                                           goto is_not_a_corner;
06280                                       else
06281                                         if (p[offset3] < c_b)
06282                                           if (p[offset11] < c_b)
06283                                             if (p[offset10] < c_b)
06284                                               goto is_a_corner;
06285                                             else
06286                                               goto is_not_a_corner;
06287                                           else
06288                                             goto is_not_a_corner;
06289                                         else
06290                                           goto is_not_a_corner;
06291                                     else
06292                                       if (p[offset8] > cb)
06293                                         if (p[offset10] > cb)
06294                                           if (p[offset4] > cb)
06295                                             goto is_a_corner;
06296                                           else
06297                                             if (p[offset11] > cb)
06298                                               goto is_a_corner;
06299                                             else
06300                                               goto is_not_a_corner;
06301                                         else
06302                                           if (p[offset3] > cb)
06303                                             if (p[offset4] > cb)
06304                                               goto is_a_corner;
06305                                             else
06306                                               goto is_not_a_corner;
06307                                           else
06308                                             goto is_not_a_corner;
06309                                       else
06310                                         goto is_not_a_corner;
06311                                   else
06312                                     if (p[offset3] < c_b)
06313                                       if (p[offset4] < c_b)
06314                                         if (p[offset10] < c_b)
06315                                           if (p[offset11] < c_b)
06316                                             goto is_a_corner;
06317                                           else
06318                                             goto is_not_a_corner;
06319                                         else
06320                                           goto is_not_a_corner;
06321                                       else
06322                                         goto is_not_a_corner;
06323                                     else
06324                                       goto is_not_a_corner;
06325                               else
06326                                 if (p[offset6] < c_b)
06327                                   goto is_not_a_corner;
06328                                 else
06329                                   if (p[offset6] > cb)
06330                                     if (p[offset8] > cb)
06331                                       if (p[offset4] > cb)
06332                                         if (p[offset3] > cb)
06333                                           goto is_a_corner;
06334                                         else
06335                                           if (p[offset10] > cb)
06336                                             goto is_a_corner;
06337                                           else
06338                                             goto is_not_a_corner;
06339                                       else
06340                                         if (p[offset10] > cb)
06341                                           if (p[offset11] > cb)
06342                                             goto is_a_corner;
06343                                           else
06344                                             goto is_not_a_corner;
06345                                         else
06346                                           goto is_not_a_corner;
06347                                     else
06348                                       goto is_not_a_corner;
06349                                   else
06350                                     goto is_not_a_corner;
06351                           else
06352                             if (p[offset1] > cb)
06353                               goto is_not_a_corner;
06354                             else
06355                               if (p[offset1] < c_b)
06356                                 if (p[offset6] > cb)
06357                                   if (p[offset3] < c_b)
06358                                     if (p[offset4] < c_b)
06359                                       if (p[offset10] < c_b)
06360                                         if (p[offset11] < c_b)
06361                                           goto is_a_corner;
06362                                         else
06363                                           goto is_not_a_corner;
06364                                       else
06365                                         goto is_not_a_corner;
06366                                     else
06367                                       goto is_not_a_corner;
06368                                   else
06369                                     goto is_not_a_corner;
06370                                 else
06371                                   if (p[offset6] < c_b)
06372                                     if (p[offset3] < c_b)
06373                                       if (p[offset4] < c_b)
06374                                         if (p[offset10] < c_b)
06375                                           if (p[offset11] < c_b)
06376                                             goto is_a_corner;
06377                                           else
06378                                             goto is_not_a_corner;
06379                                         else
06380                                           goto is_not_a_corner;
06381                                       else
06382                                         goto is_not_a_corner;
06383                                     else
06384                                       goto is_not_a_corner;
06385                                   else
06386                                     if (p[offset3] < c_b)
06387                                       if (p[offset4] < c_b)
06388                                         if (p[offset10] < c_b)
06389                                           if (p[offset11] < c_b)
06390                                             goto is_a_corner;
06391                                           else
06392                                             goto is_not_a_corner;
06393                                         else
06394                                           goto is_not_a_corner;
06395                                       else
06396                                         goto is_not_a_corner;
06397                                     else
06398                                       goto is_not_a_corner;
06399                               else
06400                                 goto is_not_a_corner;
06401                       else
06402                         if (p[offset9] > cb)
06403                           if (p[offset1] > cb)
06404                             goto is_not_a_corner;
06405                           else
06406                             if (p[offset1] < c_b)
06407                               if (p[offset6] > cb)
06408                                 if (p[offset3] < c_b)
06409                                   if (p[offset4] < c_b)
06410                                     if (p[offset10] < c_b)
06411                                       if (p[offset11] < c_b)
06412                                         goto is_a_corner;
06413                                       else
06414                                         goto is_not_a_corner;
06415                                     else
06416                                       goto is_not_a_corner;
06417                                   else
06418                                     goto is_not_a_corner;
06419                                 else
06420                                   goto is_not_a_corner;
06421                               else
06422                                 if (p[offset6] < c_b)
06423                                   if (p[offset3] < c_b)
06424                                     if (p[offset4] < c_b)
06425                                       if (p[offset10] < c_b)
06426                                         if (p[offset11] < c_b)
06427                                           goto is_a_corner;
06428                                         else
06429                                           goto is_not_a_corner;
06430                                       else
06431                                         goto is_not_a_corner;
06432                                     else
06433                                       goto is_not_a_corner;
06434                                   else
06435                                     goto is_not_a_corner;
06436                                 else
06437                                   if (p[offset3] < c_b)
06438                                     if (p[offset4] < c_b)
06439                                       if (p[offset10] < c_b)
06440                                         if (p[offset11] < c_b)
06441                                           goto is_a_corner;
06442                                         else
06443                                           goto is_not_a_corner;
06444                                       else
06445                                         goto is_not_a_corner;
06446                                     else
06447                                       goto is_not_a_corner;
06448                                   else
06449                                     goto is_not_a_corner;
06450                             else
06451                               goto is_not_a_corner;
06452                         else
06453                           if (p[offset9] < c_b)
06454                             if (p[offset1] > cb)
06455                               goto is_not_a_corner;
06456                             else
06457                               if (p[offset1] < c_b)
06458                                 if (p[offset6] > cb)
06459                                   if (p[offset10] < c_b)
06460                                     if (p[offset11] < c_b)
06461                                       if (p[offset3] < c_b)
06462                                         goto is_a_corner;
06463                                       else
06464                                         if (p[offset8] < c_b)
06465                                           goto is_a_corner;
06466                                         else
06467                                           goto is_not_a_corner;
06468                                     else
06469                                       goto is_not_a_corner;
06470                                   else
06471                                     goto is_not_a_corner;
06472                                 else
06473                                   if (p[offset6] < c_b)
06474                                     if (p[offset10] < c_b)
06475                                       if (p[offset11] < c_b)
06476                                         if (p[offset3] < c_b)
06477                                           goto is_a_corner;
06478                                         else
06479                                           if (p[offset8] < c_b)
06480                                             goto is_a_corner;
06481                                           else
06482                                             goto is_not_a_corner;
06483                                       else
06484                                         goto is_not_a_corner;
06485                                     else
06486                                       goto is_not_a_corner;
06487                                   else
06488                                     if (p[offset10] < c_b)
06489                                       if (p[offset11] < c_b)
06490                                         if (p[offset3] < c_b)
06491                                           goto is_a_corner;
06492                                         else
06493                                           if (p[offset8] < c_b)
06494                                             goto is_a_corner;
06495                                           else
06496                                             goto is_not_a_corner;
06497                                       else
06498                                         goto is_not_a_corner;
06499                                     else
06500                                       goto is_not_a_corner;
06501                               else
06502                                 goto is_not_a_corner;
06503                           else
06504                             if (p[offset1] > cb)
06505                               goto is_not_a_corner;
06506                             else
06507                               if (p[offset1] < c_b)
06508                                 if (p[offset6] > cb)
06509                                   if (p[offset3] < c_b)
06510                                     if (p[offset4] < c_b)
06511                                       if (p[offset10] < c_b)
06512                                         if (p[offset11] < c_b)
06513                                           goto is_a_corner;
06514                                         else
06515                                           goto is_not_a_corner;
06516                                       else
06517                                         goto is_not_a_corner;
06518                                     else
06519                                       goto is_not_a_corner;
06520                                   else
06521                                     goto is_not_a_corner;
06522                                 else
06523                                   if (p[offset6] < c_b)
06524                                     if (p[offset3] < c_b)
06525                                       if (p[offset4] < c_b)
06526                                         if (p[offset10] < c_b)
06527                                           if (p[offset11] < c_b)
06528                                             goto is_a_corner;
06529                                           else
06530                                             goto is_not_a_corner;
06531                                         else
06532                                           goto is_not_a_corner;
06533                                       else
06534                                         goto is_not_a_corner;
06535                                     else
06536                                       goto is_not_a_corner;
06537                                   else
06538                                     if (p[offset3] < c_b)
06539                                       if (p[offset4] < c_b)
06540                                         if (p[offset10] < c_b)
06541                                           if (p[offset11] < c_b)
06542                                             goto is_a_corner;
06543                                           else
06544                                             goto is_not_a_corner;
06545                                         else
06546                                           goto is_not_a_corner;
06547                                       else
06548                                         goto is_not_a_corner;
06549                                     else
06550                                       goto is_not_a_corner;
06551                               else
06552                                 goto is_not_a_corner;
06553                   else
06554                     if (p[offset7] > cb)
06555                       if (p[offset9] < c_b)
06556                         goto is_not_a_corner;
06557                       else
06558                         if (p[offset9] > cb)
06559                           if (p[offset1] > cb)
06560                             if (p[offset6] < c_b)
06561                               goto is_not_a_corner;
06562                             else
06563                               if (p[offset6] > cb)
06564                                 if (p[offset8] > cb)
06565                                   if (p[offset4] > cb)
06566                                     if (p[offset3] > cb)
06567                                       goto is_a_corner;
06568                                     else
06569                                       if (p[offset10] > cb)
06570                                         goto is_a_corner;
06571                                       else
06572                                         goto is_not_a_corner;
06573                                   else
06574                                     if (p[offset10] > cb)
06575                                       if (p[offset11] > cb)
06576                                         goto is_a_corner;
06577                                       else
06578                                         goto is_not_a_corner;
06579                                     else
06580                                       goto is_not_a_corner;
06581                                 else
06582                                   goto is_not_a_corner;
06583                               else
06584                                 goto is_not_a_corner;
06585                           else
06586                             if (p[offset1] < c_b)
06587                               if (p[offset6] < c_b)
06588                                 goto is_not_a_corner;
06589                               else
06590                                 if (p[offset6] > cb)
06591                                   if (p[offset8] > cb)
06592                                     if (p[offset4] > cb)
06593                                       if (p[offset3] > cb)
06594                                         goto is_a_corner;
06595                                       else
06596                                         if (p[offset10] > cb)
06597                                           goto is_a_corner;
06598                                         else
06599                                           goto is_not_a_corner;
06600                                     else
06601                                       if (p[offset10] > cb)
06602                                         if (p[offset11] > cb)
06603                                           goto is_a_corner;
06604                                         else
06605                                           goto is_not_a_corner;
06606                                       else
06607                                         goto is_not_a_corner;
06608                                   else
06609                                     goto is_not_a_corner;
06610                                 else
06611                                   goto is_not_a_corner;
06612                             else
06613                               if (p[offset6] < c_b)
06614                                 goto is_not_a_corner;
06615                               else
06616                                 if (p[offset6] > cb)
06617                                   if (p[offset8] > cb)
06618                                     if (p[offset4] > cb)
06619                                       if (p[offset3] > cb)
06620                                         goto is_a_corner;
06621                                       else
06622                                         if (p[offset10] > cb)
06623                                           goto is_a_corner;
06624                                         else
06625                                           goto is_not_a_corner;
06626                                     else
06627                                       if (p[offset10] > cb)
06628                                         if (p[offset11] > cb)
06629                                           goto is_a_corner;
06630                                         else
06631                                           goto is_not_a_corner;
06632                                       else
06633                                         goto is_not_a_corner;
06634                                   else
06635                                     goto is_not_a_corner;
06636                                 else
06637                                   goto is_not_a_corner;
06638                         else
06639                           goto is_not_a_corner;
06640                     else
06641                       if (p[offset9] < c_b)
06642                         if (p[offset7] < c_b)
06643                           if (p[offset1] > cb)
06644                             if (p[offset6] > cb)
06645                               goto is_not_a_corner;
06646                             else
06647                               if (p[offset6] < c_b)
06648                                 if (p[offset8] < c_b)
06649                                   if (p[offset10] < c_b)
06650                                     if (p[offset11] < c_b)
06651                                       goto is_a_corner;
06652                                     else
06653                                       goto is_not_a_corner;
06654                                   else
06655                                     goto is_not_a_corner;
06656                                 else
06657                                   goto is_not_a_corner;
06658                               else
06659                                 goto is_not_a_corner;
06660                           else
06661                             if (p[offset1] < c_b)
06662                               if (p[offset6] > cb)
06663                                 if (p[offset8] < c_b)
06664                                   if (p[offset10] < c_b)
06665                                     if (p[offset11] < c_b)
06666                                       goto is_a_corner;
06667                                     else
06668                                       goto is_not_a_corner;
06669                                   else
06670                                     goto is_not_a_corner;
06671                                 else
06672                                   goto is_not_a_corner;
06673                               else
06674                                 if (p[offset6] < c_b)
06675                                   if (p[offset8] < c_b)
06676                                     if (p[offset10] < c_b)
06677                                       if (p[offset11] < c_b)
06678                                         goto is_a_corner;
06679                                       else
06680                                         goto is_not_a_corner;
06681                                     else
06682                                       goto is_not_a_corner;
06683                                   else
06684                                     goto is_not_a_corner;
06685                                 else
06686                                   if (p[offset8] < c_b)
06687                                     if (p[offset10] < c_b)
06688                                       if (p[offset11] < c_b)
06689                                         goto is_a_corner;
06690                                       else
06691                                         goto is_not_a_corner;
06692                                     else
06693                                       goto is_not_a_corner;
06694                                   else
06695                                     goto is_not_a_corner;
06696                             else
06697                               if (p[offset6] > cb)
06698                                 goto is_not_a_corner;
06699                               else
06700                                 if (p[offset6] < c_b)
06701                                   if (p[offset8] < c_b)
06702                                     if (p[offset10] < c_b)
06703                                       if (p[offset11] < c_b)
06704                                         goto is_a_corner;
06705                                       else
06706                                         goto is_not_a_corner;
06707                                     else
06708                                       goto is_not_a_corner;
06709                                   else
06710                                     goto is_not_a_corner;
06711                                 else
06712                                   goto is_not_a_corner;
06713                         else
06714                           goto is_not_a_corner;
06715                       else
06716                         goto is_not_a_corner;
06717               else
06718                 if (p[offset2] > cb)
06719                   if (p[offset7] < c_b)
06720                     if (p[offset9] > cb)
06721                       goto is_not_a_corner;
06722                     else
06723                       if (p[offset9] < c_b)
06724                         if (p[offset1] > cb)
06725                           if (p[offset6] > cb)
06726                             goto is_not_a_corner;
06727                           else
06728                             if (p[offset6] < c_b)
06729                               if (p[offset8] < c_b)
06730                                 if (p[offset10] < c_b)
06731                                   if (p[offset11] < c_b)
06732                                     goto is_a_corner;
06733                                   else
06734                                     goto is_not_a_corner;
06735                                 else
06736                                   goto is_not_a_corner;
06737                               else
06738                                 goto is_not_a_corner;
06739                             else
06740                               goto is_not_a_corner;
06741                         else
06742                           if (p[offset1] < c_b)
06743                             if (p[offset6] > cb)
06744                               if (p[offset8] < c_b)
06745                                 if (p[offset10] < c_b)
06746                                   if (p[offset11] < c_b)
06747                                     goto is_a_corner;
06748                                   else
06749                                     goto is_not_a_corner;
06750                                 else
06751                                   goto is_not_a_corner;
06752                               else
06753                                 goto is_not_a_corner;
06754                             else
06755                               if (p[offset6] < c_b)
06756                                 if (p[offset8] < c_b)
06757                                   if (p[offset10] < c_b)
06758                                     if (p[offset11] < c_b)
06759                                       goto is_a_corner;
06760                                     else
06761                                       goto is_not_a_corner;
06762                                   else
06763                                     goto is_not_a_corner;
06764                                 else
06765                                   goto is_not_a_corner;
06766                               else
06767                                 if (p[offset8] < c_b)
06768                                   if (p[offset10] < c_b)
06769                                     if (p[offset11] < c_b)
06770                                       goto is_a_corner;
06771                                     else
06772                                       goto is_not_a_corner;
06773                                   else
06774                                     goto is_not_a_corner;
06775                                 else
06776                                   goto is_not_a_corner;
06777                           else
06778                             if (p[offset6] > cb)
06779                               goto is_not_a_corner;
06780                             else
06781                               if (p[offset6] < c_b)
06782                                 if (p[offset8] < c_b)
06783                                   if (p[offset10] < c_b)
06784                                     if (p[offset11] < c_b)
06785                                       goto is_a_corner;
06786                                     else
06787                                       goto is_not_a_corner;
06788                                   else
06789                                     goto is_not_a_corner;
06790                                 else
06791                                   goto is_not_a_corner;
06792                               else
06793                                 goto is_not_a_corner;
06794                       else
06795                         goto is_not_a_corner;
06796                   else
06797                     goto is_not_a_corner;
06798                 else
06799                   if (p[offset2] < c_b)
06800                     if (p[offset7] > cb)
06801                       if (p[offset9] > cb)
06802                         if (p[offset1] > cb)
06803                           goto is_not_a_corner;
06804                         else
06805                           if (p[offset1] < c_b)
06806                             if (p[offset6] > cb)
06807                               if (p[offset3] < c_b)
06808                                 if (p[offset4] < c_b)
06809                                   if (p[offset10] < c_b)
06810                                     if (p[offset11] < c_b)
06811                                       goto is_a_corner;
06812                                     else
06813                                       goto is_not_a_corner;
06814                                   else
06815                                     goto is_not_a_corner;
06816                                 else
06817                                   goto is_not_a_corner;
06818                               else
06819                                 goto is_not_a_corner;
06820                             else
06821                               if (p[offset6] < c_b)
06822                                 if (p[offset3] < c_b)
06823                                   if (p[offset4] < c_b)
06824                                     if (p[offset10] < c_b)
06825                                       if (p[offset11] < c_b)
06826                                         goto is_a_corner;
06827                                       else
06828                                         goto is_not_a_corner;
06829                                     else
06830                                       goto is_not_a_corner;
06831                                   else
06832                                     goto is_not_a_corner;
06833                                 else
06834                                   goto is_not_a_corner;
06835                               else
06836                                 if (p[offset3] < c_b)
06837                                   if (p[offset4] < c_b)
06838                                     if (p[offset10] < c_b)
06839                                       if (p[offset11] < c_b)
06840                                         goto is_a_corner;
06841                                       else
06842                                         goto is_not_a_corner;
06843                                     else
06844                                       goto is_not_a_corner;
06845                                   else
06846                                     goto is_not_a_corner;
06847                                 else
06848                                   goto is_not_a_corner;
06849                           else
06850                             goto is_not_a_corner;
06851                       else
06852                         if (p[offset9] < c_b)
06853                           if (p[offset1] > cb)
06854                             goto is_not_a_corner;
06855                           else
06856                             if (p[offset1] < c_b)
06857                               if (p[offset6] > cb)
06858                                 if (p[offset10] < c_b)
06859                                   if (p[offset11] < c_b)
06860                                     if (p[offset3] < c_b)
06861                                       goto is_a_corner;
06862                                     else
06863                                       if (p[offset8] < c_b)
06864                                         goto is_a_corner;
06865                                       else
06866                                         goto is_not_a_corner;
06867                                   else
06868                                     goto is_not_a_corner;
06869                                 else
06870                                   goto is_not_a_corner;
06871                               else
06872                                 if (p[offset6] < c_b)
06873                                   if (p[offset10] < c_b)
06874                                     if (p[offset11] < c_b)
06875                                       if (p[offset3] < c_b)
06876                                         goto is_a_corner;
06877                                       else
06878                                         if (p[offset8] < c_b)
06879                                           goto is_a_corner;
06880                                         else
06881                                           goto is_not_a_corner;
06882                                     else
06883                                       goto is_not_a_corner;
06884                                   else
06885                                     goto is_not_a_corner;
06886                                 else
06887                                   if (p[offset10] < c_b)
06888                                     if (p[offset11] < c_b)
06889                                       if (p[offset3] < c_b)
06890                                         goto is_a_corner;
06891                                       else
06892                                         if (p[offset8] < c_b)
06893                                           goto is_a_corner;
06894                                         else
06895                                           goto is_not_a_corner;
06896                                     else
06897                                       goto is_not_a_corner;
06898                                   else
06899                                     goto is_not_a_corner;
06900                             else
06901                               goto is_not_a_corner;
06902                         else
06903                           if (p[offset1] > cb)
06904                             goto is_not_a_corner;
06905                           else
06906                             if (p[offset1] < c_b)
06907                               if (p[offset6] > cb)
06908                                 if (p[offset3] < c_b)
06909                                   if (p[offset4] < c_b)
06910                                     if (p[offset10] < c_b)
06911                                       if (p[offset11] < c_b)
06912                                         goto is_a_corner;
06913                                       else
06914                                         goto is_not_a_corner;
06915                                     else
06916                                       goto is_not_a_corner;
06917                                   else
06918                                     goto is_not_a_corner;
06919                                 else
06920                                   goto is_not_a_corner;
06921                               else
06922                                 if (p[offset6] < c_b)
06923                                   if (p[offset3] < c_b)
06924                                     if (p[offset4] < c_b)
06925                                       if (p[offset10] < c_b)
06926                                         if (p[offset11] < c_b)
06927                                           goto is_a_corner;
06928                                         else
06929                                           goto is_not_a_corner;
06930                                       else
06931                                         goto is_not_a_corner;
06932                                     else
06933                                       goto is_not_a_corner;
06934                                   else
06935                                     goto is_not_a_corner;
06936                                 else
06937                                   if (p[offset3] < c_b)
06938                                     if (p[offset4] < c_b)
06939                                       if (p[offset10] < c_b)
06940                                         if (p[offset11] < c_b)
06941                                           goto is_a_corner;
06942                                         else
06943                                           goto is_not_a_corner;
06944                                       else
06945                                         goto is_not_a_corner;
06946                                     else
06947                                       goto is_not_a_corner;
06948                                   else
06949                                     goto is_not_a_corner;
06950                             else
06951                               goto is_not_a_corner;
06952                     else
06953                       if (p[offset9] > cb)
06954                         if (p[offset7] < c_b)
06955                           if (p[offset1] > cb)
06956                             goto is_not_a_corner;
06957                           else
06958                             if (p[offset1] < c_b)
06959                               if (p[offset6] > cb)
06960                                 if (p[offset3] < c_b)
06961                                   if (p[offset4] < c_b)
06962                                     if (p[offset10] < c_b)
06963                                       if (p[offset11] < c_b)
06964                                         goto is_a_corner;
06965                                       else
06966                                         goto is_not_a_corner;
06967                                     else
06968                                       goto is_not_a_corner;
06969                                   else
06970                                     goto is_not_a_corner;
06971                                 else
06972                                   goto is_not_a_corner;
06973                               else
06974                                 if (p[offset6] < c_b)
06975                                   if (p[offset3] < c_b)
06976                                     if (p[offset4] < c_b)
06977                                       if (p[offset10] < c_b)
06978                                         if (p[offset11] < c_b)
06979                                           goto is_a_corner;
06980                                         else
06981                                           goto is_not_a_corner;
06982                                       else
06983                                         goto is_not_a_corner;
06984                                     else
06985                                       goto is_not_a_corner;
06986                                   else
06987                                     goto is_not_a_corner;
06988                                 else
06989                                   if (p[offset3] < c_b)
06990                                     if (p[offset4] < c_b)
06991                                       if (p[offset10] < c_b)
06992                                         if (p[offset11] < c_b)
06993                                           goto is_a_corner;
06994                                         else
06995                                           goto is_not_a_corner;
06996                                       else
06997                                         goto is_not_a_corner;
06998                                     else
06999                                       goto is_not_a_corner;
07000                                   else
07001                                     goto is_not_a_corner;
07002                             else
07003                               goto is_not_a_corner;
07004                         else
07005                           if (p[offset1] > cb)
07006                             goto is_not_a_corner;
07007                           else
07008                             if (p[offset1] < c_b)
07009                               if (p[offset6] > cb)
07010                                 if (p[offset3] < c_b)
07011                                   if (p[offset4] < c_b)
07012                                     if (p[offset10] < c_b)
07013                                       if (p[offset11] < c_b)
07014                                         goto is_a_corner;
07015                                       else
07016                                         goto is_not_a_corner;
07017                                     else
07018                                       goto is_not_a_corner;
07019                                   else
07020                                     goto is_not_a_corner;
07021                                 else
07022                                   goto is_not_a_corner;
07023                               else
07024                                 if (p[offset6] < c_b)
07025                                   if (p[offset3] < c_b)
07026                                     if (p[offset4] < c_b)
07027                                       if (p[offset10] < c_b)
07028                                         if (p[offset11] < c_b)
07029                                           goto is_a_corner;
07030                                         else
07031                                           goto is_not_a_corner;
07032                                       else
07033                                         goto is_not_a_corner;
07034                                     else
07035                                       goto is_not_a_corner;
07036                                   else
07037                                     goto is_not_a_corner;
07038                                 else
07039                                   if (p[offset3] < c_b)
07040                                     if (p[offset4] < c_b)
07041                                       if (p[offset10] < c_b)
07042                                         if (p[offset11] < c_b)
07043                                           goto is_a_corner;
07044                                         else
07045                                           goto is_not_a_corner;
07046                                       else
07047                                         goto is_not_a_corner;
07048                                     else
07049                                       goto is_not_a_corner;
07050                                   else
07051                                     goto is_not_a_corner;
07052                             else
07053                               goto is_not_a_corner;
07054                       else
07055                         if (p[offset7] < c_b)
07056                           if (p[offset9] < c_b)
07057                             if (p[offset1] > cb)
07058                               if (p[offset6] > cb)
07059                                 goto is_not_a_corner;
07060                               else
07061                                 if (p[offset6] < c_b)
07062                                   if (p[offset8] < c_b)
07063                                     if (p[offset10] < c_b)
07064                                       if (p[offset11] < c_b)
07065                                         goto is_a_corner;
07066                                       else
07067                                         goto is_not_a_corner;
07068                                     else
07069                                       goto is_not_a_corner;
07070                                   else
07071                                     goto is_not_a_corner;
07072                                 else
07073                                   goto is_not_a_corner;
07074                             else
07075                               if (p[offset1] < c_b)
07076                                 if (p[offset6] > cb)
07077                                   if (p[offset10] < c_b)
07078                                     if (p[offset11] < c_b)
07079                                       if (p[offset3] < c_b)
07080                                         goto is_a_corner;
07081                                       else
07082                                         if (p[offset8] < c_b)
07083                                           goto is_a_corner;
07084                                         else
07085                                           goto is_not_a_corner;
07086                                     else
07087                                       goto is_not_a_corner;
07088                                   else
07089                                     goto is_not_a_corner;
07090                                 else
07091                                   if (p[offset6] < c_b)
07092                                     if (p[offset10] < c_b)
07093                                       if (p[offset11] < c_b)
07094                                         if (p[offset3] < c_b)
07095                                           goto is_a_corner;
07096                                         else
07097                                           if (p[offset8] < c_b)
07098                                             goto is_a_corner;
07099                                           else
07100                                             goto is_not_a_corner;
07101                                       else
07102                                         goto is_not_a_corner;
07103                                     else
07104                                       goto is_not_a_corner;
07105                                   else
07106                                     if (p[offset10] < c_b)
07107                                       if (p[offset11] < c_b)
07108                                         if (p[offset3] < c_b)
07109                                           goto is_a_corner;
07110                                         else
07111                                           if (p[offset8] < c_b)
07112                                             goto is_a_corner;
07113                                           else
07114                                             goto is_not_a_corner;
07115                                       else
07116                                         goto is_not_a_corner;
07117                                     else
07118                                       goto is_not_a_corner;
07119                               else
07120                                 if (p[offset6] > cb)
07121                                   goto is_not_a_corner;
07122                                 else
07123                                   if (p[offset6] < c_b)
07124                                     if (p[offset8] < c_b)
07125                                       if (p[offset10] < c_b)
07126                                         if (p[offset11] < c_b)
07127                                           goto is_a_corner;
07128                                         else
07129                                           goto is_not_a_corner;
07130                                       else
07131                                         goto is_not_a_corner;
07132                                     else
07133                                       goto is_not_a_corner;
07134                                   else
07135                                     goto is_not_a_corner;
07136                           else
07137                             if (p[offset1] > cb)
07138                               goto is_not_a_corner;
07139                             else
07140                               if (p[offset1] < c_b)
07141                                 if (p[offset6] > cb)
07142                                   if (p[offset3] < c_b)
07143                                     if (p[offset4] < c_b)
07144                                       if (p[offset10] < c_b)
07145                                         if (p[offset11] < c_b)
07146                                           goto is_a_corner;
07147                                         else
07148                                           goto is_not_a_corner;
07149                                       else
07150                                         goto is_not_a_corner;
07151                                     else
07152                                       goto is_not_a_corner;
07153                                   else
07154                                     goto is_not_a_corner;
07155                                 else
07156                                   if (p[offset6] < c_b)
07157                                     if (p[offset3] < c_b)
07158                                       if (p[offset4] < c_b)
07159                                         if (p[offset10] < c_b)
07160                                           if (p[offset11] < c_b)
07161                                             goto is_a_corner;
07162                                           else
07163                                             goto is_not_a_corner;
07164                                         else
07165                                           goto is_not_a_corner;
07166                                       else
07167                                         goto is_not_a_corner;
07168                                     else
07169                                       goto is_not_a_corner;
07170                                   else
07171                                     if (p[offset3] < c_b)
07172                                       if (p[offset4] < c_b)
07173                                         if (p[offset10] < c_b)
07174                                           if (p[offset11] < c_b)
07175                                             goto is_a_corner;
07176                                           else
07177                                             goto is_not_a_corner;
07178                                         else
07179                                           goto is_not_a_corner;
07180                                       else
07181                                         goto is_not_a_corner;
07182                                     else
07183                                       goto is_not_a_corner;
07184                               else
07185                                 goto is_not_a_corner;
07186                         else
07187                           if (p[offset9] < c_b)
07188                             if (p[offset1] > cb)
07189                               goto is_not_a_corner;
07190                             else
07191                               if (p[offset1] < c_b)
07192                                 if (p[offset6] > cb)
07193                                   if (p[offset10] < c_b)
07194                                     if (p[offset11] < c_b)
07195                                       if (p[offset3] < c_b)
07196                                         goto is_a_corner;
07197                                       else
07198                                         if (p[offset8] < c_b)
07199                                           goto is_a_corner;
07200                                         else
07201                                           goto is_not_a_corner;
07202                                     else
07203                                       goto is_not_a_corner;
07204                                   else
07205                                     goto is_not_a_corner;
07206                                 else
07207                                   if (p[offset6] < c_b)
07208                                     if (p[offset10] < c_b)
07209                                       if (p[offset11] < c_b)
07210                                         if (p[offset3] < c_b)
07211                                           goto is_a_corner;
07212                                         else
07213                                           if (p[offset8] < c_b)
07214                                             goto is_a_corner;
07215                                           else
07216                                             goto is_not_a_corner;
07217                                       else
07218                                         goto is_not_a_corner;
07219                                     else
07220                                       goto is_not_a_corner;
07221                                   else
07222                                     if (p[offset10] < c_b)
07223                                       if (p[offset11] < c_b)
07224                                         if (p[offset3] < c_b)
07225                                           goto is_a_corner;
07226                                         else
07227                                           if (p[offset8] < c_b)
07228                                             goto is_a_corner;
07229                                           else
07230                                             goto is_not_a_corner;
07231                                       else
07232                                         goto is_not_a_corner;
07233                                     else
07234                                       goto is_not_a_corner;
07235                               else
07236                                 goto is_not_a_corner;
07237                           else
07238                             if (p[offset1] > cb)
07239                               goto is_not_a_corner;
07240                             else
07241                               if (p[offset1] < c_b)
07242                                 if (p[offset6] > cb)
07243                                   if (p[offset3] < c_b)
07244                                     if (p[offset4] < c_b)
07245                                       if (p[offset10] < c_b)
07246                                         if (p[offset11] < c_b)
07247                                           goto is_a_corner;
07248                                         else
07249                                           goto is_not_a_corner;
07250                                       else
07251                                         goto is_not_a_corner;
07252                                     else
07253                                       goto is_not_a_corner;
07254                                   else
07255                                     goto is_not_a_corner;
07256                                 else
07257                                   if (p[offset6] < c_b)
07258                                     if (p[offset3] < c_b)
07259                                       if (p[offset4] < c_b)
07260                                         if (p[offset10] < c_b)
07261                                           if (p[offset11] < c_b)
07262                                             goto is_a_corner;
07263                                           else
07264                                             goto is_not_a_corner;
07265                                         else
07266                                           goto is_not_a_corner;
07267                                       else
07268                                         goto is_not_a_corner;
07269                                     else
07270                                       goto is_not_a_corner;
07271                                   else
07272                                     if (p[offset3] < c_b)
07273                                       if (p[offset4] < c_b)
07274                                         if (p[offset10] < c_b)
07275                                           if (p[offset11] < c_b)
07276                                             goto is_a_corner;
07277                                           else
07278                                             goto is_not_a_corner;
07279                                         else
07280                                           goto is_not_a_corner;
07281                                       else
07282                                         goto is_not_a_corner;
07283                                     else
07284                                       goto is_not_a_corner;
07285                               else
07286                                 goto is_not_a_corner;
07287                   else
07288                     if (p[offset7] < c_b)
07289                       if (p[offset9] > cb)
07290                         goto is_not_a_corner;
07291                       else
07292                         if (p[offset9] < c_b)
07293                           if (p[offset1] > cb)
07294                             if (p[offset6] > cb)
07295                               goto is_not_a_corner;
07296                             else
07297                               if (p[offset6] < c_b)
07298                                 if (p[offset8] < c_b)
07299                                   if (p[offset10] < c_b)
07300                                     if (p[offset11] < c_b)
07301                                       goto is_a_corner;
07302                                     else
07303                                       goto is_not_a_corner;
07304                                   else
07305                                     goto is_not_a_corner;
07306                                 else
07307                                   goto is_not_a_corner;
07308                               else
07309                                 goto is_not_a_corner;
07310                           else
07311                             if (p[offset1] < c_b)
07312                               if (p[offset6] > cb)
07313                                 if (p[offset8] < c_b)
07314                                   if (p[offset10] < c_b)
07315                                     if (p[offset11] < c_b)
07316                                       goto is_a_corner;
07317                                     else
07318                                       goto is_not_a_corner;
07319                                   else
07320                                     goto is_not_a_corner;
07321                                 else
07322                                   goto is_not_a_corner;
07323                               else
07324                                 if (p[offset6] < c_b)
07325                                   if (p[offset8] < c_b)
07326                                     if (p[offset10] < c_b)
07327                                       if (p[offset11] < c_b)
07328                                         goto is_a_corner;
07329                                       else
07330                                         goto is_not_a_corner;
07331                                     else
07332                                       goto is_not_a_corner;
07333                                   else
07334                                     goto is_not_a_corner;
07335                                 else
07336                                   if (p[offset8] < c_b)
07337                                     if (p[offset10] < c_b)
07338                                       if (p[offset11] < c_b)
07339                                         goto is_a_corner;
07340                                       else
07341                                         goto is_not_a_corner;
07342                                     else
07343                                       goto is_not_a_corner;
07344                                   else
07345                                     goto is_not_a_corner;
07346                             else
07347                               if (p[offset6] > cb)
07348                                 goto is_not_a_corner;
07349                               else
07350                                 if (p[offset6] < c_b)
07351                                   if (p[offset8] < c_b)
07352                                     if (p[offset10] < c_b)
07353                                       if (p[offset11] < c_b)
07354                                         goto is_a_corner;
07355                                       else
07356                                         goto is_not_a_corner;
07357                                     else
07358                                       goto is_not_a_corner;
07359                                   else
07360                                     goto is_not_a_corner;
07361                                 else
07362                                   goto is_not_a_corner;
07363                         else
07364                           goto is_not_a_corner;
07365                     else
07366                       goto is_not_a_corner;
07367           else
07368             if (p[offset5] < c_b)
07369               if (p[offset7] > cb)
07370                 goto is_not_a_corner;
07371               else
07372                 if (p[offset7] < c_b)
07373                   if (p[offset2] > cb)
07374                     if (p[offset9] > cb)
07375                       goto is_not_a_corner;
07376                     else
07377                       if (p[offset9] < c_b)
07378                         if (p[offset1] > cb)
07379                           if (p[offset6] > cb)
07380                             goto is_not_a_corner;
07381                           else
07382                             if (p[offset6] < c_b)
07383                               if (p[offset8] < c_b)
07384                                 if (p[offset4] < c_b)
07385                                   if (p[offset3] < c_b)
07386                                     goto is_a_corner;
07387                                   else
07388                                     if (p[offset10] < c_b)
07389                                       goto is_a_corner;
07390                                     else
07391                                       goto is_not_a_corner;
07392                                 else
07393                                   if (p[offset10] < c_b)
07394                                     if (p[offset11] < c_b)
07395                                       goto is_a_corner;
07396                                     else
07397                                       goto is_not_a_corner;
07398                                   else
07399                                     goto is_not_a_corner;
07400                               else
07401                                 goto is_not_a_corner;
07402                             else
07403                               goto is_not_a_corner;
07404                         else
07405                           if (p[offset1] < c_b)
07406                             if (p[offset6] > cb)
07407                               goto is_not_a_corner;
07408                             else
07409                               if (p[offset6] < c_b)
07410                                 if (p[offset8] < c_b)
07411                                   if (p[offset4] < c_b)
07412                                     if (p[offset3] < c_b)
07413                                       goto is_a_corner;
07414                                     else
07415                                       if (p[offset10] < c_b)
07416                                         goto is_a_corner;
07417                                       else
07418                                         goto is_not_a_corner;
07419                                   else
07420                                     if (p[offset10] < c_b)
07421                                       if (p[offset11] < c_b)
07422                                         goto is_a_corner;
07423                                       else
07424                                         goto is_not_a_corner;
07425                                     else
07426                                       goto is_not_a_corner;
07427                                 else
07428                                   goto is_not_a_corner;
07429                               else
07430                                 goto is_not_a_corner;
07431                           else
07432                             if (p[offset6] > cb)
07433                               goto is_not_a_corner;
07434                             else
07435                               if (p[offset6] < c_b)
07436                                 if (p[offset8] < c_b)
07437                                   if (p[offset4] < c_b)
07438                                     if (p[offset3] < c_b)
07439                                       goto is_a_corner;
07440                                     else
07441                                       if (p[offset10] < c_b)
07442                                         goto is_a_corner;
07443                                       else
07444                                         goto is_not_a_corner;
07445                                   else
07446                                     if (p[offset10] < c_b)
07447                                       if (p[offset11] < c_b)
07448                                         goto is_a_corner;
07449                                       else
07450                                         goto is_not_a_corner;
07451                                     else
07452                                       goto is_not_a_corner;
07453                                 else
07454                                   goto is_not_a_corner;
07455                               else
07456                                 goto is_not_a_corner;
07457                       else
07458                         goto is_not_a_corner;
07459                   else
07460                     if (p[offset2] < c_b)
07461                       if (p[offset9] > cb)
07462                         if (p[offset1] < c_b)
07463                           if (p[offset6] > cb)
07464                             goto is_not_a_corner;
07465                           else
07466                             if (p[offset6] < c_b)
07467                               if (p[offset3] < c_b)
07468                                 if (p[offset4] < c_b)
07469                                   goto is_a_corner;
07470                                 else
07471                                   goto is_not_a_corner;
07472                               else
07473                                 goto is_not_a_corner;
07474                             else
07475                               goto is_not_a_corner;
07476                         else
07477                           if (p[offset1] > cb)
07478                             if (p[offset6] > cb)
07479                               goto is_not_a_corner;
07480                             else
07481                               if (p[offset6] < c_b)
07482                                 if (p[offset3] < c_b)
07483                                   if (p[offset4] < c_b)
07484                                     if (p[offset8] < c_b)
07485                                       goto is_a_corner;
07486                                     else
07487                                       goto is_not_a_corner;
07488                                   else
07489                                     goto is_not_a_corner;
07490                                 else
07491                                   goto is_not_a_corner;
07492                               else
07493                                 goto is_not_a_corner;
07494                           else
07495                             if (p[offset6] > cb)
07496                               goto is_not_a_corner;
07497                             else
07498                               if (p[offset6] < c_b)
07499                                 if (p[offset3] < c_b)
07500                                   if (p[offset4] < c_b)
07501                                     if (p[offset8] < c_b)
07502                                       goto is_a_corner;
07503                                     else
07504                                       goto is_not_a_corner;
07505                                   else
07506                                     goto is_not_a_corner;
07507                                 else
07508                                   goto is_not_a_corner;
07509                               else
07510                                 goto is_not_a_corner;
07511                       else
07512                         if (p[offset9] < c_b)
07513                           if (p[offset1] > cb)
07514                             if (p[offset6] > cb)
07515                               goto is_not_a_corner;
07516                             else
07517                               if (p[offset6] < c_b)
07518                                 if (p[offset8] < c_b)
07519                                   if (p[offset4] < c_b)
07520                                     if (p[offset3] < c_b)
07521                                       goto is_a_corner;
07522                                     else
07523                                       if (p[offset10] < c_b)
07524                                         goto is_a_corner;
07525                                       else
07526                                         goto is_not_a_corner;
07527                                   else
07528                                     if (p[offset10] < c_b)
07529                                       if (p[offset11] < c_b)
07530                                         goto is_a_corner;
07531                                       else
07532                                         goto is_not_a_corner;
07533                                     else
07534                                       goto is_not_a_corner;
07535                                 else
07536                                   goto is_not_a_corner;
07537                               else
07538                                 goto is_not_a_corner;
07539                           else
07540                             if (p[offset1] < c_b)
07541                               if (p[offset6] > cb)
07542                                 goto is_not_a_corner;
07543                               else
07544                                 if (p[offset6] < c_b)
07545                                   if (p[offset4] < c_b)
07546                                     if (p[offset3] < c_b)
07547                                       goto is_a_corner;
07548                                     else
07549                                       if (p[offset8] < c_b)
07550                                         if (p[offset10] < c_b)
07551                                           goto is_a_corner;
07552                                         else
07553                                           goto is_not_a_corner;
07554                                       else
07555                                         goto is_not_a_corner;
07556                                   else
07557                                     if (p[offset8] < c_b)
07558                                       if (p[offset10] < c_b)
07559                                         if (p[offset11] < c_b)
07560                                           goto is_a_corner;
07561                                         else
07562                                           goto is_not_a_corner;
07563                                       else
07564                                         goto is_not_a_corner;
07565                                     else
07566                                       goto is_not_a_corner;
07567                                 else
07568                                   goto is_not_a_corner;
07569                             else
07570                               if (p[offset6] > cb)
07571                                 goto is_not_a_corner;
07572                               else
07573                                 if (p[offset6] < c_b)
07574                                   if (p[offset8] < c_b)
07575                                     if (p[offset4] < c_b)
07576                                       if (p[offset3] < c_b)
07577                                         goto is_a_corner;
07578                                       else
07579                                         if (p[offset10] < c_b)
07580                                           goto is_a_corner;
07581                                         else
07582                                           goto is_not_a_corner;
07583                                     else
07584                                       if (p[offset10] < c_b)
07585                                         if (p[offset11] < c_b)
07586                                           goto is_a_corner;
07587                                         else
07588                                           goto is_not_a_corner;
07589                                       else
07590                                         goto is_not_a_corner;
07591                                   else
07592                                     goto is_not_a_corner;
07593                                 else
07594                                   goto is_not_a_corner;
07595                         else
07596                           if (p[offset1] < c_b)
07597                             if (p[offset6] > cb)
07598                               goto is_not_a_corner;
07599                             else
07600                               if (p[offset6] < c_b)
07601                                 if (p[offset3] < c_b)
07602                                   if (p[offset4] < c_b)
07603                                     goto is_a_corner;
07604                                   else
07605                                     goto is_not_a_corner;
07606                                 else
07607                                   goto is_not_a_corner;
07608                               else
07609                                 goto is_not_a_corner;
07610                           else
07611                             if (p[offset1] > cb)
07612                               if (p[offset6] > cb)
07613                                 goto is_not_a_corner;
07614                               else
07615                                 if (p[offset6] < c_b)
07616                                   if (p[offset3] < c_b)
07617                                     if (p[offset4] < c_b)
07618                                       if (p[offset8] < c_b)
07619                                         goto is_a_corner;
07620                                       else
07621                                         goto is_not_a_corner;
07622                                     else
07623                                       goto is_not_a_corner;
07624                                   else
07625                                     goto is_not_a_corner;
07626                                 else
07627                                   goto is_not_a_corner;
07628                             else
07629                               if (p[offset6] > cb)
07630                                 goto is_not_a_corner;
07631                               else
07632                                 if (p[offset6] < c_b)
07633                                   if (p[offset3] < c_b)
07634                                     if (p[offset4] < c_b)
07635                                       if (p[offset8] < c_b)
07636                                         goto is_a_corner;
07637                                       else
07638                                         goto is_not_a_corner;
07639                                     else
07640                                       goto is_not_a_corner;
07641                                   else
07642                                     goto is_not_a_corner;
07643                                 else
07644                                   goto is_not_a_corner;
07645                     else
07646                       if (p[offset9] > cb)
07647                         goto is_not_a_corner;
07648                       else
07649                         if (p[offset9] < c_b)
07650                           if (p[offset1] > cb)
07651                             if (p[offset6] > cb)
07652                               goto is_not_a_corner;
07653                             else
07654                               if (p[offset6] < c_b)
07655                                 if (p[offset8] < c_b)
07656                                   if (p[offset4] < c_b)
07657                                     if (p[offset3] < c_b)
07658                                       goto is_a_corner;
07659                                     else
07660                                       if (p[offset10] < c_b)
07661                                         goto is_a_corner;
07662                                       else
07663                                         goto is_not_a_corner;
07664                                   else
07665                                     if (p[offset10] < c_b)
07666                                       if (p[offset11] < c_b)
07667                                         goto is_a_corner;
07668                                       else
07669                                         goto is_not_a_corner;
07670                                     else
07671                                       goto is_not_a_corner;
07672                                 else
07673                                   goto is_not_a_corner;
07674                               else
07675                                 goto is_not_a_corner;
07676                           else
07677                             if (p[offset1] < c_b)
07678                               if (p[offset6] > cb)
07679                                 goto is_not_a_corner;
07680                               else
07681                                 if (p[offset6] < c_b)
07682                                   if (p[offset8] < c_b)
07683                                     if (p[offset4] < c_b)
07684                                       if (p[offset3] < c_b)
07685                                         goto is_a_corner;
07686                                       else
07687                                         if (p[offset10] < c_b)
07688                                           goto is_a_corner;
07689                                         else
07690                                           goto is_not_a_corner;
07691                                     else
07692                                       if (p[offset10] < c_b)
07693                                         if (p[offset11] < c_b)
07694                                           goto is_a_corner;
07695                                         else
07696                                           goto is_not_a_corner;
07697                                       else
07698                                         goto is_not_a_corner;
07699                                   else
07700                                     goto is_not_a_corner;
07701                                 else
07702                                   goto is_not_a_corner;
07703                             else
07704                               if (p[offset6] > cb)
07705                                 goto is_not_a_corner;
07706                               else
07707                                 if (p[offset6] < c_b)
07708                                   if (p[offset8] < c_b)
07709                                     if (p[offset4] < c_b)
07710                                       if (p[offset3] < c_b)
07711                                         goto is_a_corner;
07712                                       else
07713                                         if (p[offset10] < c_b)
07714                                           goto is_a_corner;
07715                                         else
07716                                           goto is_not_a_corner;
07717                                     else
07718                                       if (p[offset10] < c_b)
07719                                         if (p[offset11] < c_b)
07720                                           goto is_a_corner;
07721                                         else
07722                                           goto is_not_a_corner;
07723                                       else
07724                                         goto is_not_a_corner;
07725                                   else
07726                                     goto is_not_a_corner;
07727                                 else
07728                                   goto is_not_a_corner;
07729                         else
07730                           goto is_not_a_corner;
07731                 else
07732                   goto is_not_a_corner;
07733             else
07734               if (p[offset5] > cb)
07735                 if (p[offset7] > cb)
07736                   if (p[offset2] < c_b)
07737                     if (p[offset9] < c_b)
07738                       goto is_not_a_corner;
07739                     else
07740                       if (p[offset9] > cb)
07741                         if (p[offset1] > cb)
07742                           if (p[offset6] < c_b)
07743                             goto is_not_a_corner;
07744                           else
07745                             if (p[offset6] > cb)
07746                               if (p[offset8] > cb)
07747                                 if (p[offset4] > cb)
07748                                   if (p[offset3] > cb)
07749                                     goto is_a_corner;
07750                                   else
07751                                     if (p[offset10] > cb)
07752                                       goto is_a_corner;
07753                                     else
07754                                       goto is_not_a_corner;
07755                                 else
07756                                   if (p[offset10] > cb)
07757                                     if (p[offset11] > cb)
07758                                       goto is_a_corner;
07759                                     else
07760                                       goto is_not_a_corner;
07761                                   else
07762                                     goto is_not_a_corner;
07763                               else
07764                                 goto is_not_a_corner;
07765                             else
07766                               goto is_not_a_corner;
07767                         else
07768                           if (p[offset1] < c_b)
07769                             if (p[offset6] < c_b)
07770                               goto is_not_a_corner;
07771                             else
07772                               if (p[offset6] > cb)
07773                                 if (p[offset8] > cb)
07774                                   if (p[offset4] > cb)
07775                                     if (p[offset3] > cb)
07776                                       goto is_a_corner;
07777                                     else
07778                                       if (p[offset10] > cb)
07779                                         goto is_a_corner;
07780                                       else
07781                                         goto is_not_a_corner;
07782                                   else
07783                                     if (p[offset10] > cb)
07784                                       if (p[offset11] > cb)
07785                                         goto is_a_corner;
07786                                       else
07787                                         goto is_not_a_corner;
07788                                     else
07789                                       goto is_not_a_corner;
07790                                 else
07791                                   goto is_not_a_corner;
07792                               else
07793                                 goto is_not_a_corner;
07794                           else
07795                             if (p[offset6] < c_b)
07796                               goto is_not_a_corner;
07797                             else
07798                               if (p[offset6] > cb)
07799                                 if (p[offset8] > cb)
07800                                   if (p[offset4] > cb)
07801                                     if (p[offset3] > cb)
07802                                       goto is_a_corner;
07803                                     else
07804                                       if (p[offset10] > cb)
07805                                         goto is_a_corner;
07806                                       else
07807                                         goto is_not_a_corner;
07808                                   else
07809                                     if (p[offset10] > cb)
07810                                       if (p[offset11] > cb)
07811                                         goto is_a_corner;
07812                                       else
07813                                         goto is_not_a_corner;
07814                                     else
07815                                       goto is_not_a_corner;
07816                                 else
07817                                   goto is_not_a_corner;
07818                               else
07819                                 goto is_not_a_corner;
07820                       else
07821                         goto is_not_a_corner;
07822                   else
07823                     if (p[offset2] > cb)
07824                       if (p[offset9] < c_b)
07825                         if (p[offset1] > cb)
07826                           if (p[offset6] < c_b)
07827                             goto is_not_a_corner;
07828                           else
07829                             if (p[offset6] > cb)
07830                               if (p[offset3] > cb)
07831                                 if (p[offset4] > cb)
07832                                   goto is_a_corner;
07833                                 else
07834                                   goto is_not_a_corner;
07835                               else
07836                                 goto is_not_a_corner;
07837                             else
07838                               goto is_not_a_corner;
07839                         else
07840                           if (p[offset1] < c_b)
07841                             if (p[offset6] < c_b)
07842                               goto is_not_a_corner;
07843                             else
07844                               if (p[offset6] > cb)
07845                                 if (p[offset3] > cb)
07846                                   if (p[offset4] > cb)
07847                                     if (p[offset8] > cb)
07848                                       goto is_a_corner;
07849                                     else
07850                                       goto is_not_a_corner;
07851                                   else
07852                                     goto is_not_a_corner;
07853                                 else
07854                                   goto is_not_a_corner;
07855                               else
07856                                 goto is_not_a_corner;
07857                           else
07858                             if (p[offset6] < c_b)
07859                               goto is_not_a_corner;
07860                             else
07861                               if (p[offset6] > cb)
07862                                 if (p[offset3] > cb)
07863                                   if (p[offset4] > cb)
07864                                     if (p[offset8] > cb)
07865                                       goto is_a_corner;
07866                                     else
07867                                       goto is_not_a_corner;
07868                                   else
07869                                     goto is_not_a_corner;
07870                                 else
07871                                   goto is_not_a_corner;
07872                               else
07873                                 goto is_not_a_corner;
07874                       else
07875                         if (p[offset9] > cb)
07876                           if (p[offset1] < c_b)
07877                             if (p[offset6] < c_b)
07878                               goto is_not_a_corner;
07879                             else
07880                               if (p[offset6] > cb)
07881                                 if (p[offset8] > cb)
07882                                   if (p[offset4] > cb)
07883                                     if (p[offset3] > cb)
07884                                       goto is_a_corner;
07885                                     else
07886                                       if (p[offset10] > cb)
07887                                         goto is_a_corner;
07888                                       else
07889                                         goto is_not_a_corner;
07890                                   else
07891                                     if (p[offset10] > cb)
07892                                       if (p[offset11] > cb)
07893                                         goto is_a_corner;
07894                                       else
07895                                         goto is_not_a_corner;
07896                                     else
07897                                       goto is_not_a_corner;
07898                                 else
07899                                   goto is_not_a_corner;
07900                               else
07901                                 goto is_not_a_corner;
07902                           else
07903                             if (p[offset1] > cb)
07904                               if (p[offset6] < c_b)
07905                                 goto is_not_a_corner;
07906                               else
07907                                 if (p[offset6] > cb)
07908                                   if (p[offset4] > cb)
07909                                     if (p[offset3] > cb)
07910                                       goto is_a_corner;
07911                                     else
07912                                       if (p[offset8] > cb)
07913                                         if (p[offset10] > cb)
07914                                           goto is_a_corner;
07915                                         else
07916                                           goto is_not_a_corner;
07917                                       else
07918                                         goto is_not_a_corner;
07919                                   else
07920                                     if (p[offset8] > cb)
07921                                       if (p[offset10] > cb)
07922                                         if (p[offset11] > cb)
07923                                           goto is_a_corner;
07924                                         else
07925                                           goto is_not_a_corner;
07926                                       else
07927                                         goto is_not_a_corner;
07928                                     else
07929                                       goto is_not_a_corner;
07930                                 else
07931                                   goto is_not_a_corner;
07932                             else
07933                               if (p[offset6] < c_b)
07934                                 goto is_not_a_corner;
07935                               else
07936                                 if (p[offset6] > cb)
07937                                   if (p[offset8] > cb)
07938                                     if (p[offset4] > cb)
07939                                       if (p[offset3] > cb)
07940                                         goto is_a_corner;
07941                                       else
07942                                         if (p[offset10] > cb)
07943                                           goto is_a_corner;
07944                                         else
07945                                           goto is_not_a_corner;
07946                                     else
07947                                       if (p[offset10] > cb)
07948                                         if (p[offset11] > cb)
07949                                           goto is_a_corner;
07950                                         else
07951                                           goto is_not_a_corner;
07952                                       else
07953                                         goto is_not_a_corner;
07954                                   else
07955                                     goto is_not_a_corner;
07956                                 else
07957                                   goto is_not_a_corner;
07958                         else
07959                           if (p[offset1] > cb)
07960                             if (p[offset6] < c_b)
07961                               goto is_not_a_corner;
07962                             else
07963                               if (p[offset6] > cb)
07964                                 if (p[offset3] > cb)
07965                                   if (p[offset4] > cb)
07966                                     goto is_a_corner;
07967                                   else
07968                                     goto is_not_a_corner;
07969                                 else
07970                                   goto is_not_a_corner;
07971                               else
07972                                 goto is_not_a_corner;
07973                           else
07974                             if (p[offset1] < c_b)
07975                               if (p[offset6] < c_b)
07976                                 goto is_not_a_corner;
07977                               else
07978                                 if (p[offset6] > cb)
07979                                   if (p[offset3] > cb)
07980                                     if (p[offset4] > cb)
07981                                       if (p[offset8] > cb)
07982                                         goto is_a_corner;
07983                                       else
07984                                         goto is_not_a_corner;
07985                                     else
07986                                       goto is_not_a_corner;
07987                                   else
07988                                     goto is_not_a_corner;
07989                                 else
07990                                   goto is_not_a_corner;
07991                             else
07992                               if (p[offset6] < c_b)
07993                                 goto is_not_a_corner;
07994                               else
07995                                 if (p[offset6] > cb)
07996                                   if (p[offset3] > cb)
07997                                     if (p[offset4] > cb)
07998                                       if (p[offset8] > cb)
07999                                         goto is_a_corner;
08000                                       else
08001                                         goto is_not_a_corner;
08002                                     else
08003                                       goto is_not_a_corner;
08004                                   else
08005                                     goto is_not_a_corner;
08006                                 else
08007                                   goto is_not_a_corner;
08008                     else
08009                       if (p[offset9] < c_b)
08010                         goto is_not_a_corner;
08011                       else
08012                         if (p[offset9] > cb)
08013                           if (p[offset1] > cb)
08014                             if (p[offset6] < c_b)
08015                               goto is_not_a_corner;
08016                             else
08017                               if (p[offset6] > cb)
08018                                 if (p[offset8] > cb)
08019                                   if (p[offset4] > cb)
08020                                     if (p[offset3] > cb)
08021                                       goto is_a_corner;
08022                                     else
08023                                       if (p[offset10] > cb)
08024                                         goto is_a_corner;
08025                                       else
08026                                         goto is_not_a_corner;
08027                                   else
08028                                     if (p[offset10] > cb)
08029                                       if (p[offset11] > cb)
08030                                         goto is_a_corner;
08031                                       else
08032                                         goto is_not_a_corner;
08033                                     else
08034                                       goto is_not_a_corner;
08035                                 else
08036                                   goto is_not_a_corner;
08037                               else
08038                                 goto is_not_a_corner;
08039                           else
08040                             if (p[offset1] < c_b)
08041                               if (p[offset6] < c_b)
08042                                 goto is_not_a_corner;
08043                               else
08044                                 if (p[offset6] > cb)
08045                                   if (p[offset8] > cb)
08046                                     if (p[offset4] > cb)
08047                                       if (p[offset3] > cb)
08048                                         goto is_a_corner;
08049                                       else
08050                                         if (p[offset10] > cb)
08051                                           goto is_a_corner;
08052                                         else
08053                                           goto is_not_a_corner;
08054                                     else
08055                                       if (p[offset10] > cb)
08056                                         if (p[offset11] > cb)
08057                                           goto is_a_corner;
08058                                         else
08059                                           goto is_not_a_corner;
08060                                       else
08061                                         goto is_not_a_corner;
08062                                   else
08063                                     goto is_not_a_corner;
08064                                 else
08065                                   goto is_not_a_corner;
08066                             else
08067                               if (p[offset6] < c_b)
08068                                 goto is_not_a_corner;
08069                               else
08070                                 if (p[offset6] > cb)
08071                                   if (p[offset8] > cb)
08072                                     if (p[offset4] > cb)
08073                                       if (p[offset3] > cb)
08074                                         goto is_a_corner;
08075                                       else
08076                                         if (p[offset10] > cb)
08077                                           goto is_a_corner;
08078                                         else
08079                                           goto is_not_a_corner;
08080                                     else
08081                                       if (p[offset10] > cb)
08082                                         if (p[offset11] > cb)
08083                                           goto is_a_corner;
08084                                         else
08085                                           goto is_not_a_corner;
08086                                       else
08087                                         goto is_not_a_corner;
08088                                   else
08089                                     goto is_not_a_corner;
08090                                 else
08091                                   goto is_not_a_corner;
08092                         else
08093                           goto is_not_a_corner;
08094                 else
08095                   goto is_not_a_corner;
08096               else
08097                 goto is_not_a_corner;
08098 
08099           is_a_corner:
08100             bmin = T2 (b_test);
08101             goto end;
08102 
08103           is_not_a_corner:
08104             bmax = T2 (b_test);
08105             goto end;
08106 
08107           end:
08108 
08109           if (bmin == bmax - 1 || bmin == bmax)
08110             return (int (bmin));
08111           b_test = int ((bmin + bmax) / 2);
08112         }
08113       }
08114     } // namespace agast
08115   } // namespace keypoints
08116 } // namespace pcl
08117 
08121 void
08122 pcl::keypoints::agast::AgastDetector7_12s::initPattern ()
08123 {
08124   s_offset0_  = static_cast<int_fast16_t> ((-2) + (0)  * width_);
08125   s_offset1_  = static_cast<int_fast16_t> ((-2) + (-1) * width_);
08126   s_offset2_  = static_cast<int_fast16_t> ((-1) + (-2) * width_);
08127   s_offset3_  = static_cast<int_fast16_t> ((0)  + (-2) * width_);
08128   s_offset4_  = static_cast<int_fast16_t> ((1)  + (-2) * width_);
08129   s_offset5_  = static_cast<int_fast16_t> ((2)  + (-1) * width_);
08130   s_offset6_  = static_cast<int_fast16_t> ((2)  + (0)  * width_);
08131   s_offset7_  = static_cast<int_fast16_t> ((2)  + (1)  * width_);
08132   s_offset8_  = static_cast<int_fast16_t> ((1)  + (2)  * width_);
08133   s_offset9_  = static_cast<int_fast16_t> ((0)  + (2)  * width_);
08134   s_offset10_ = static_cast<int_fast16_t> ((-1) + (2)  * width_);
08135   s_offset11_ = static_cast<int_fast16_t> ((-2) + (1)  * width_);
08136 }
08137 
08139 void
08140 pcl::keypoints::agast::AgastDetector7_12s::detect (const unsigned char* im, std::vector<pcl::PointUV, Eigen::aligned_allocator<pcl::PointUV> > & corners) const
08141 {
08142   return (pcl::keypoints::agast::AgastDetector7_12s_detect<unsigned char, int> (
08143         im, int (width_), int (height_), threshold_, 
08144         s_offset0_, 
08145         s_offset1_,
08146         s_offset2_,
08147         s_offset3_,
08148         s_offset4_,
08149         s_offset5_,
08150         s_offset6_,
08151         s_offset7_,
08152         s_offset8_,
08153         s_offset9_,
08154         s_offset10_,
08155         s_offset11_,
08156         corners));
08157 }
08158 
08160 void
08161 pcl::keypoints::agast::AgastDetector7_12s::detect (const float* im, std::vector<pcl::PointUV, Eigen::aligned_allocator<pcl::PointUV> > & corners) const
08162 {
08163   return (pcl::keypoints::agast::AgastDetector7_12s_detect<float, float> (
08164         im, int (width_), int (height_), threshold_, 
08165         s_offset0_, 
08166         s_offset1_,
08167         s_offset2_,
08168         s_offset3_,
08169         s_offset4_,
08170         s_offset5_,
08171         s_offset6_,
08172         s_offset7_,
08173         s_offset8_,
08174         s_offset9_,
08175         s_offset10_,
08176         s_offset11_,
08177         corners));
08178 }
08179 
08181 int
08182 pcl::keypoints::agast::AgastDetector7_12s::computeCornerScore (const unsigned char* p) const
08183 {
08184   return (pcl::keypoints::agast::AgastDetector7_12s_computeCornerScore<unsigned char, int> (
08185         p, bmax_, threshold_, 
08186         s_offset0_, 
08187         s_offset1_,
08188         s_offset2_,
08189         s_offset3_,
08190         s_offset4_,
08191         s_offset5_,
08192         s_offset6_,
08193         s_offset7_,
08194         s_offset8_,
08195         s_offset9_,
08196         s_offset10_,
08197         s_offset11_));
08198 }
08199 
08201 int
08202 pcl::keypoints::agast::AgastDetector7_12s::computeCornerScore (const float* p) const
08203 {
08204   return (pcl::keypoints::agast::AgastDetector7_12s_computeCornerScore<float, float> (
08205         p, bmax_, threshold_, 
08206         s_offset0_, 
08207         s_offset1_,
08208         s_offset2_,
08209         s_offset3_,
08210         s_offset4_,
08211         s_offset5_,
08212         s_offset6_,
08213         s_offset7_,
08214         s_offset8_,
08215         s_offset9_,
08216         s_offset10_,
08217         s_offset11_));
08218 }
08219 
08223 namespace pcl
08224 {
08225   namespace keypoints
08226   {
08227     namespace agast
08228     {
08230       // Helper method for AgastDetector5_8::detect
08231       template <typename T1, typename T2> void
08232       AgastDetector5_8_detect (
08233           const T1* im, 
08234           int img_width, int img_height,
08235           double threshold,
08236           int_fast16_t s_offset0,
08237           int_fast16_t s_offset1,
08238           int_fast16_t s_offset2,
08239           int_fast16_t s_offset3,
08240           int_fast16_t s_offset4,
08241           int_fast16_t s_offset5,
08242           int_fast16_t s_offset6,
08243           int_fast16_t s_offset7,
08244           std::vector<pcl::PointUV, Eigen::aligned_allocator<pcl::PointUV> >& corners)
08245       {
08246         int total = 0;
08247         int n_expected_corners = int (corners.capacity ());
08248         pcl::PointUV h;
08249         register int x, y;
08250         register int xsize_b = int (img_width) - 2;
08251         register int ysize_b = int (img_height) - 1;
08252         register int_fast16_t offset0, offset1, offset2, offset3, offset4, offset5, offset6, offset7;
08253         register int width;
08254 
08255         corners.resize (0);
08256 
08257         offset0 = s_offset0;
08258         offset1 = s_offset1;
08259         offset2 = s_offset2;
08260         offset3 = s_offset3;
08261         offset4 = s_offset4;
08262         offset5 = s_offset5;
08263         offset6 = s_offset6;
08264         offset7 = s_offset7;
08265         width   = int (img_width);
08266 
08267         for (y = 1; y < ysize_b; y++)
08268         {
08269           x = 0;
08270           while (1)
08271           { 
08272       homogeneous:
08273       {
08274             x++;
08275             if (x > xsize_b)
08276               break;
08277             else
08278             {
08279               register const T1* const p = im + y * width + x;
08280               register const T2 cb = *p + T2 (threshold);
08281               register const T2 c_b = *p - T2 (threshold);
08282               if (p[offset0] > cb)
08283                 if (p[offset2] > cb)
08284                 if (p[offset3] > cb)
08285                   if (p[offset5] > cb)
08286                   if (p[offset1] > cb)
08287                     if (p[offset4] > cb)
08288                     goto success_structured;
08289                     else
08290                     if (p[offset7] > cb)
08291                       goto success_structured;
08292                     else
08293                       goto homogeneous;
08294                   else
08295                     if (p[offset4] > cb)
08296                     if (p[offset6] > cb)
08297                       goto success_structured;
08298                     else
08299                       goto homogeneous;
08300                     else
08301                     goto homogeneous;
08302                   else
08303                   if (p[offset1] > cb)
08304                     if (p[offset4] > cb)
08305                     goto success_homogeneous;
08306                     else
08307                     if (p[offset7] > cb)
08308                       goto success_homogeneous;
08309                     else
08310                       goto homogeneous;
08311                   else
08312                     goto homogeneous;
08313                 else
08314                   if (p[offset7] > cb)
08315                   if (p[offset6] > cb)
08316                     if (p[offset5] > cb)
08317                     if (p[offset1] > cb)
08318                       goto success_structured;
08319                     else
08320                       if (p[offset4] > cb)
08321                       goto success_structured;
08322                       else
08323                       goto homogeneous;
08324                     else
08325                     if (p[offset1] > cb)
08326                       goto success_homogeneous;
08327                     else
08328                       goto homogeneous;
08329                   else
08330                     goto homogeneous;
08331                   else
08332                   if (p[offset5] < c_b)
08333                     if (p[offset3] < c_b)
08334                     if (p[offset7] < c_b)
08335                       if (p[offset4] < c_b)
08336                       if (p[offset6] < c_b)
08337                         goto success_structured;
08338                       else
08339                         goto structured;
08340                       else
08341                       goto homogeneous;
08342                     else
08343                       goto homogeneous;
08344                     else
08345                     goto homogeneous;
08346                   else
08347                     goto homogeneous;
08348                 else
08349                 if (p[offset5] > cb)
08350                   if (p[offset7] > cb)
08351                   if (p[offset6] > cb)
08352                     if (p[offset1] > cb)
08353                     goto success_homogeneous;
08354                     else
08355                     if (p[offset4] > cb)
08356                       goto success_homogeneous;
08357                     else
08358                       goto homogeneous;
08359                   else
08360                     goto homogeneous;
08361                   else
08362                   goto homogeneous;
08363                 else
08364                   if (p[offset5] < c_b)
08365                   if (p[offset3] < c_b)
08366                     if (p[offset2] < c_b)
08367                     if (p[offset1] < c_b)
08368                       if (p[offset4] < c_b)
08369                       goto success_structured;
08370                       else
08371                       goto homogeneous;
08372                     else
08373                       if (p[offset4] < c_b)
08374                       if (p[offset6] < c_b)
08375                         goto success_structured;
08376                       else
08377                         goto homogeneous;
08378                       else
08379                       goto homogeneous;
08380                     else
08381                     if (p[offset7] < c_b)
08382                       if (p[offset4] < c_b)
08383                       if (p[offset6] < c_b)
08384                         goto success_structured;
08385                       else
08386                         goto homogeneous;
08387                       else
08388                       goto homogeneous;
08389                     else
08390                       goto homogeneous;
08391                   else
08392                     goto homogeneous;
08393                   else
08394                   goto homogeneous;
08395               else if (p[offset0] < c_b)
08396                 if (p[offset2] < c_b)
08397                 if (p[offset7] > cb)
08398                   if (p[offset3] < c_b)
08399                   if (p[offset5] < c_b)
08400                     if (p[offset1] < c_b)
08401                     if (p[offset4] < c_b)
08402                       goto success_structured;
08403                     else
08404                       goto structured;
08405                     else
08406                     if (p[offset4] < c_b)
08407                       if (p[offset6] < c_b)
08408                       goto success_structured;
08409                       else
08410                       goto structured;
08411                     else
08412                       goto homogeneous;
08413                   else
08414                     if (p[offset1] < c_b)
08415                     if (p[offset4] < c_b)
08416                       goto success_structured;
08417                     else
08418                       goto homogeneous;
08419                     else
08420                     goto homogeneous;
08421                   else
08422                   if (p[offset5] > cb)
08423                     if (p[offset3] > cb)
08424                     if (p[offset4] > cb)
08425                       if (p[offset6] > cb)
08426                       goto success_structured;
08427                       else
08428                       goto structured;
08429                     else
08430                       goto homogeneous;
08431                     else
08432                     goto homogeneous;
08433                   else
08434                     goto homogeneous;
08435                 else
08436                   if (p[offset7] < c_b)
08437                   if (p[offset3] < c_b)
08438                     if (p[offset5] < c_b)
08439                     if (p[offset1] < c_b)
08440                       goto success_structured;
08441                     else
08442                       if (p[offset4] < c_b)
08443                       if (p[offset6] < c_b)
08444                         goto success_structured;
08445                       else
08446                         goto structured;
08447                       else
08448                       goto homogeneous;
08449                     else
08450                     if (p[offset1] < c_b)
08451                       goto success_homogeneous;
08452                     else
08453                       goto homogeneous;
08454                   else
08455                     if (p[offset6] < c_b)
08456                     if (p[offset5] < c_b)
08457                       if (p[offset1] < c_b)
08458                       goto success_structured;
08459                       else
08460                       if (p[offset4] < c_b)
08461                         goto success_structured;
08462                       else
08463                         goto homogeneous;
08464                     else
08465                       if (p[offset1] < c_b)
08466                       goto success_homogeneous;
08467                       else
08468                       goto homogeneous;
08469                     else
08470                     goto homogeneous;
08471                   else
08472                   if (p[offset3] < c_b)
08473                     if (p[offset5] < c_b)
08474                     if (p[offset1] < c_b)
08475                       if (p[offset4] < c_b)
08476                       goto success_structured;
08477                       else
08478                       goto homogeneous;
08479                     else
08480                       if (p[offset4] < c_b)
08481                       if (p[offset6] < c_b)
08482                         goto success_structured;
08483                       else
08484                         goto homogeneous;
08485                       else
08486                       goto homogeneous;
08487                     else
08488                     if (p[offset1] < c_b)
08489                       if (p[offset4] < c_b)
08490                       goto success_homogeneous;
08491                       else
08492                       goto homogeneous;
08493                     else
08494                       goto homogeneous;
08495                   else
08496                     goto homogeneous;
08497                 else
08498                 if (p[offset5] > cb)
08499                   if (p[offset3] > cb)
08500                   if (p[offset2] > cb)
08501                     if (p[offset1] > cb)
08502                     if (p[offset4] > cb)
08503                       goto success_structured;
08504                     else
08505                       goto homogeneous;
08506                     else
08507                     if (p[offset4] > cb)
08508                       if (p[offset6] > cb)
08509                       goto success_structured;
08510                       else
08511                       goto homogeneous;
08512                     else
08513                       goto homogeneous;
08514                   else
08515                     if (p[offset7] > cb)
08516                     if (p[offset4] > cb)
08517                       if (p[offset6] > cb)
08518                       goto success_structured;
08519                       else
08520                       goto homogeneous;
08521                     else
08522                       goto homogeneous;
08523                     else
08524                     goto homogeneous;
08525                   else
08526                   goto homogeneous;
08527                 else
08528                   if (p[offset5] < c_b)
08529                   if (p[offset7] < c_b)
08530                     if (p[offset6] < c_b)
08531                     if (p[offset1] < c_b)
08532                       goto success_homogeneous;
08533                     else
08534                       if (p[offset4] < c_b)
08535                       goto success_homogeneous;
08536                       else
08537                       goto homogeneous;
08538                     else
08539                     goto homogeneous;
08540                   else
08541                     goto homogeneous;
08542                   else
08543                   goto homogeneous;
08544               else
08545                 if (p[offset3] > cb)
08546                 if (p[offset5] > cb)
08547                   if (p[offset2] > cb)
08548                   if (p[offset1] > cb)
08549                     if (p[offset4] > cb)
08550                     goto success_homogeneous;
08551                     else
08552                     goto homogeneous;
08553                   else
08554                     if (p[offset4] > cb)
08555                     if (p[offset6] > cb)
08556                       goto success_homogeneous;
08557                     else
08558                       goto homogeneous;
08559                     else
08560                     goto homogeneous;
08561                   else
08562                   if (p[offset7] > cb)
08563                     if (p[offset4] > cb)
08564                     if (p[offset6] > cb)
08565                       goto success_homogeneous;
08566                     else
08567                       goto homogeneous;
08568                     else
08569                     goto homogeneous;
08570                   else
08571                     goto homogeneous;
08572                 else
08573                   goto homogeneous;
08574                 else
08575                 if (p[offset3] < c_b)
08576                   if (p[offset5] < c_b)
08577                   if (p[offset2] < c_b)
08578                     if (p[offset1] < c_b)
08579                     if (p[offset4] < c_b)
08580                       goto success_homogeneous;
08581                     else
08582                       goto homogeneous;
08583                     else
08584                     if (p[offset4] < c_b)
08585                       if (p[offset6] < c_b)
08586                       goto success_homogeneous;
08587                       else
08588                       goto homogeneous;
08589                     else
08590                       goto homogeneous;
08591                   else
08592                     if (p[offset7] < c_b)
08593                     if (p[offset4] < c_b)
08594                       if (p[offset6] < c_b)
08595                       goto success_homogeneous;
08596                       else
08597                       goto homogeneous;
08598                     else
08599                       goto homogeneous;
08600                     else
08601                     goto homogeneous;
08602                   else
08603                   goto homogeneous;
08604                 else
08605                   goto homogeneous;
08606             }
08607       }
08608       structured:
08609       {
08610             x++;      
08611             if (x > xsize_b)
08612               break;
08613             else
08614             {
08615               register const T1* const p = im + y * width + x;
08616               register const T2 cb = *p + T2 (threshold);
08617               register const T2 c_b = *p - T2 (threshold);
08618               if (p[offset0] > cb)
08619                 if (p[offset2] > cb)
08620                 if (p[offset3] > cb)
08621                   if (p[offset5] > cb)
08622                   if (p[offset7] > cb)
08623                     if (p[offset1] > cb)
08624                     goto success_structured;
08625                     else
08626                     if (p[offset4] > cb)
08627                       if (p[offset6] > cb)
08628                       goto success_structured;
08629                       else
08630                       goto structured;
08631                     else
08632                       goto structured;
08633                   else
08634                     if (p[offset1] > cb)
08635                     if (p[offset4] > cb)
08636                       goto success_structured;
08637                     else
08638                       goto structured;
08639                     else
08640                     if (p[offset4] > cb)
08641                       if (p[offset6] > cb)
08642                       goto success_structured;
08643                       else
08644                       goto structured;
08645                     else
08646                       goto structured;
08647                   else
08648                   if (p[offset7] > cb)
08649                     if (p[offset1] > cb)
08650                     goto success_structured;
08651                     else
08652                     goto structured;
08653                   else
08654                     if (p[offset1] > cb)
08655                     if (p[offset4] > cb)
08656                       goto success_structured;
08657                     else
08658                       goto structured;
08659                     else
08660                     goto structured;
08661                 else
08662                   if (p[offset7] > cb)
08663                   if (p[offset6] > cb)
08664                     if (p[offset5] > cb)
08665                     if (p[offset1] > cb)
08666                       goto success_structured;
08667                     else
08668                       if (p[offset4] > cb)
08669                       goto success_structured;
08670                       else
08671                       goto structured;
08672                     else
08673                     if (p[offset1] > cb)
08674                       goto success_structured;
08675                     else
08676                       goto structured;
08677                   else
08678                     goto structured;
08679                   else
08680                   if (p[offset5] < c_b)
08681                     if (p[offset3] < c_b)
08682                     if (p[offset7] < c_b)
08683                       if (p[offset4] < c_b)
08684                       if (p[offset6] < c_b)
08685                         goto success_structured;
08686                       else
08687                         goto structured;
08688                       else
08689                       goto structured;
08690                     else
08691                       goto homogeneous;
08692                     else
08693                     goto homogeneous;
08694                   else
08695                     goto structured;
08696                 else
08697                 if (p[offset5] > cb)
08698                   if (p[offset7] > cb)
08699                   if (p[offset6] > cb)
08700                     if (p[offset1] > cb)
08701                     goto success_structured;
08702                     else
08703                     if (p[offset4] > cb)
08704                       goto success_structured;
08705                     else
08706                       goto structured;
08707                   else
08708                     goto structured;
08709                   else
08710                   goto structured;
08711                 else
08712                   if (p[offset5] < c_b)
08713                   if (p[offset3] < c_b)
08714                     if (p[offset2] < c_b)
08715                     if (p[offset1] < c_b)
08716                       if (p[offset4] < c_b)
08717                       goto success_structured;
08718                       else
08719                       goto structured;
08720                     else
08721                       if (p[offset4] < c_b)
08722                       if (p[offset6] < c_b)
08723                         goto success_structured;
08724                       else
08725                         goto structured;
08726                       else
08727                       goto structured;
08728                     else
08729                     if (p[offset7] < c_b)
08730                       if (p[offset4] < c_b)
08731                       if (p[offset6] < c_b)
08732                         goto success_homogeneous;
08733                       else
08734                         goto homogeneous;
08735                       else
08736                       goto homogeneous;
08737                     else
08738                       goto homogeneous;
08739                   else
08740                     goto structured;
08741                   else
08742                   goto homogeneous;
08743               else if (p[offset0] < c_b)
08744                 if (p[offset2] < c_b)
08745                 if (p[offset7] > cb)
08746                   if (p[offset3] < c_b)
08747                   if (p[offset5] < c_b)
08748                     if (p[offset1] < c_b)
08749                     if (p[offset4] < c_b)
08750                       goto success_structured;
08751                     else
08752                       goto structured;
08753                     else
08754                     if (p[offset4] < c_b)
08755                       if (p[offset6] < c_b)
08756                       goto success_structured;
08757                       else
08758                       goto structured;
08759                     else
08760                       goto structured;
08761                   else
08762                     if (p[offset1] < c_b)
08763                     if (p[offset4] < c_b)
08764                       goto success_structured;
08765                     else
08766                       goto structured;
08767                     else
08768                     goto structured;
08769                   else
08770                   if (p[offset5] > cb)
08771                     if (p[offset3] > cb)
08772                     if (p[offset4] > cb)
08773                       if (p[offset6] > cb)
08774                       goto success_structured;
08775                       else
08776                       goto structured;
08777                     else
08778                       goto structured;
08779                     else
08780                     goto homogeneous;
08781                   else
08782                     goto structured;
08783                 else
08784                   if (p[offset7] < c_b)
08785                   if (p[offset3] < c_b)
08786                     if (p[offset5] < c_b)
08787                     if (p[offset1] < c_b)
08788                       goto success_structured;
08789                     else
08790                       if (p[offset4] < c_b)
08791                       if (p[offset6] < c_b)
08792                         goto success_structured;
08793                       else
08794                         goto structured;
08795                       else
08796                       goto structured;
08797                     else
08798                     if (p[offset1] < c_b)
08799                       goto success_structured;
08800                     else
08801                       goto structured;
08802                   else
08803                     if (p[offset6] < c_b)
08804                     if (p[offset5] < c_b)
08805                       if (p[offset1] < c_b)
08806                       goto success_structured;
08807                       else
08808                       if (p[offset4] < c_b)
08809                         goto success_structured;
08810                       else
08811                         goto structured;
08812                     else
08813                       if (p[offset1] < c_b)
08814                       goto success_structured;
08815                       else
08816                       goto structured;
08817                     else
08818                     goto structured;
08819                   else
08820                   if (p[offset3] < c_b)
08821                     if (p[offset5] < c_b)
08822                     if (p[offset1] < c_b)
08823                       if (p[offset4] < c_b)
08824                       goto success_homogeneous;
08825                       else
08826                       goto homogeneous;
08827                     else
08828                       if (p[offset4] < c_b)
08829                       if (p[offset6] < c_b)
08830                         goto success_homogeneous;
08831                       else
08832                         goto homogeneous;
08833                       else
08834                       goto homogeneous;
08835                     else
08836                     if (p[offset1] < c_b)
08837                       if (p[offset4] < c_b)
08838                       goto success_homogeneous;
08839                       else
08840                       goto homogeneous;
08841                     else
08842                       goto homogeneous;
08843                   else
08844                     goto homogeneous;
08845                 else
08846                 if (p[offset5] > cb)
08847                   if (p[offset3] > cb)
08848                   if (p[offset2] > cb)
08849                     if (p[offset1] > cb)
08850                     if (p[offset4] > cb)
08851                       goto success_structured;
08852                     else
08853                       goto structured;
08854                     else
08855                     if (p[offset4] > cb)
08856                       if (p[offset6] > cb)
08857                       goto success_structured;
08858                       else
08859                       goto structured;
08860                     else
08861                       goto structured;
08862                   else
08863                     if (p[offset7] > cb)
08864                     if (p[offset4] > cb)
08865                       if (p[offset6] > cb)
08866                       goto success_homogeneous;
08867                       else
08868                       goto homogeneous;
08869                     else
08870                       goto homogeneous;
08871                     else
08872                     goto homogeneous;
08873                   else
08874                   goto structured;
08875                 else
08876                   if (p[offset5] < c_b)
08877                   if (p[offset7] < c_b)
08878                     if (p[offset6] < c_b)
08879                     if (p[offset1] < c_b)
08880                       goto success_structured;
08881                     else
08882                       if (p[offset4] < c_b)
08883                       goto success_structured;
08884                       else
08885                       goto structured;
08886                     else
08887                     goto structured;
08888                   else
08889                     goto structured;
08890                   else
08891                   goto homogeneous;
08892               else
08893                 if (p[offset3] > cb)
08894                 if (p[offset5] > cb)
08895                   if (p[offset2] > cb)
08896                   if (p[offset1] > cb)
08897                     if (p[offset4] > cb)
08898                     goto success_homogeneous;
08899                     else
08900                     goto homogeneous;
08901                   else
08902                     if (p[offset4] > cb)
08903                     if (p[offset6] > cb)
08904                       goto success_homogeneous;
08905                     else
08906                       goto homogeneous;
08907                     else
08908                     goto homogeneous;
08909                   else
08910                   if (p[offset7] > cb)
08911                     if (p[offset4] > cb)
08912                     if (p[offset6] > cb)
08913                       goto success_homogeneous;
08914                     else
08915                       goto homogeneous;
08916                     else
08917                     goto homogeneous;
08918                   else
08919                     goto homogeneous;
08920                 else
08921                   goto homogeneous;
08922                 else
08923                 if (p[offset3] < c_b)
08924                   if (p[offset5] < c_b)
08925                   if (p[offset2] < c_b)
08926                     if (p[offset1] < c_b)
08927                     if (p[offset4] < c_b)
08928                       goto success_homogeneous;
08929                     else
08930                       goto homogeneous;
08931                     else
08932                     if (p[offset4] < c_b)
08933                       if (p[offset6] < c_b)
08934                       goto success_homogeneous;
08935                       else
08936                       goto homogeneous;
08937                     else
08938                       goto homogeneous;
08939                   else
08940                     if (p[offset7] < c_b)
08941                     if (p[offset4] < c_b)
08942                       if (p[offset6] < c_b)
08943                       goto success_homogeneous;
08944                       else
08945                       goto homogeneous;
08946                     else
08947                       goto homogeneous;
08948                     else
08949                     goto homogeneous;
08950                   else
08951                   goto homogeneous;
08952                 else
08953                   goto homogeneous;
08954             }
08955       }
08956       success_homogeneous:
08957             if (total == n_expected_corners)
08958             {
08959               if (n_expected_corners == 0)
08960               {
08961                 n_expected_corners = 512;
08962                 corners.reserve (n_expected_corners);
08963               }
08964               else
08965               {
08966                 n_expected_corners *= 2;
08967                 corners.reserve (n_expected_corners);
08968               }
08969             }
08970             h.u = float (x);
08971             h.v = float (y);
08972             corners.push_back (h);
08973             total++;
08974             goto homogeneous;
08975       success_structured:
08976             if (total == n_expected_corners)
08977             {
08978               if (n_expected_corners == 0)
08979               {
08980                 n_expected_corners = 512;
08981                 corners.reserve (n_expected_corners);
08982               }
08983               else
08984               {
08985                 n_expected_corners *= 2;
08986                 corners.reserve (n_expected_corners);
08987               }
08988             }
08989             h.u = float (x);
08990             h.v = float (y);
08991             corners.push_back (h);
08992             total++;
08993             goto structured;
08994           }
08995         }
08996       }
08997 
08999       // Helper method for AgastDetector5_8::computeCornerScore
09000       template <typename T1, typename T2> int
09001       AgastDetector5_8_computeCornerScore (
09002           const T1* p, 
09003           double im_bmax,
09004           double score_threshold,
09005           int_fast16_t s_offset0,
09006           int_fast16_t s_offset1,
09007           int_fast16_t s_offset2,
09008           int_fast16_t s_offset3,
09009           int_fast16_t s_offset4,
09010           int_fast16_t s_offset5,
09011           int_fast16_t s_offset6,
09012           int_fast16_t s_offset7)
09013       {
09014         T2 bmin = T2 (score_threshold);
09015         T2 bmax = T2 (im_bmax);
09016         int b_test = int ((bmax + bmin) / 2);
09017 
09018         register int_fast16_t offset0 = s_offset0;
09019         register int_fast16_t offset1 = s_offset1;
09020         register int_fast16_t offset2 = s_offset2;
09021         register int_fast16_t offset3 = s_offset3;
09022         register int_fast16_t offset4 = s_offset4;
09023         register int_fast16_t offset5 = s_offset5;
09024         register int_fast16_t offset6 = s_offset6;
09025         register int_fast16_t offset7 = s_offset7;
09026 
09027         while (1)
09028         {
09029           register const T2 cb = *p + T2 (b_test);
09030           register const T2 c_b = *p - T2 (b_test);
09031           if (p[offset0] > cb)
09032             if (p[offset2] > cb)
09033               if (p[offset3] > cb)
09034                 if (p[offset5] > cb)
09035                   if (p[offset1] > cb)
09036                     if (p[offset4] > cb)
09037                       goto is_a_corner;
09038                     else
09039                       if (p[offset7] > cb)
09040                         goto is_a_corner;
09041                       else
09042                         goto is_not_a_corner;
09043                   else
09044                     if (p[offset4] > cb)
09045                       if (p[offset6] > cb)
09046                         goto is_a_corner;
09047                       else
09048                         goto is_not_a_corner;
09049                     else
09050                       goto is_not_a_corner;
09051                 else
09052                   if (p[offset1] > cb)
09053                     if (p[offset4] > cb)
09054                       goto is_a_corner;
09055                     else
09056                       if (p[offset7] > cb)
09057                         goto is_a_corner;
09058                       else
09059                         goto is_not_a_corner;
09060                   else
09061                     goto is_not_a_corner;
09062               else
09063                 if (p[offset7] > cb)
09064                   if (p[offset6] > cb)
09065                     if (p[offset5] > cb)
09066                       if (p[offset1] > cb)
09067                         goto is_a_corner;
09068                       else
09069                         if (p[offset4] > cb)
09070                           goto is_a_corner;
09071                         else
09072                           goto is_not_a_corner;
09073                     else
09074                       if (p[offset1] > cb)
09075                         goto is_a_corner;
09076                       else
09077                         goto is_not_a_corner;
09078                   else
09079                     goto is_not_a_corner;
09080                 else
09081                   if (p[offset5] < c_b)
09082                     if (p[offset3] < c_b)
09083                       if (p[offset7] < c_b)
09084                         if (p[offset4] < c_b)
09085                           if (p[offset6] < c_b)
09086                             goto is_a_corner;
09087                           else
09088                             goto is_not_a_corner;
09089                         else
09090                           goto is_not_a_corner;
09091                       else
09092                         goto is_not_a_corner;
09093                     else
09094                       goto is_not_a_corner;
09095                   else
09096                     goto is_not_a_corner;
09097             else
09098               if (p[offset5] > cb)
09099                 if (p[offset7] > cb)
09100                   if (p[offset6] > cb)
09101                     if (p[offset1] > cb)
09102                       goto is_a_corner;
09103                     else
09104                       if (p[offset4] > cb)
09105                         goto is_a_corner;
09106                       else
09107                         goto is_not_a_corner;
09108                   else
09109                     goto is_not_a_corner;
09110                 else
09111                   goto is_not_a_corner;
09112               else
09113                 if (p[offset5] < c_b)
09114                   if (p[offset3] < c_b)
09115                     if (p[offset2] < c_b)
09116                       if (p[offset1] < c_b)
09117                         if (p[offset4] < c_b)
09118                           goto is_a_corner;
09119                         else
09120                           goto is_not_a_corner;
09121                       else
09122                         if (p[offset4] < c_b)
09123                           if (p[offset6] < c_b)
09124                             goto is_a_corner;
09125                           else
09126                             goto is_not_a_corner;
09127                         else
09128                           goto is_not_a_corner;
09129                     else
09130                       if (p[offset7] < c_b)
09131                         if (p[offset4] < c_b)
09132                           if (p[offset6] < c_b)
09133                             goto is_a_corner;
09134                           else
09135                             goto is_not_a_corner;
09136                         else
09137                           goto is_not_a_corner;
09138                       else
09139                         goto is_not_a_corner;
09140                   else
09141                     goto is_not_a_corner;
09142                 else
09143                   goto is_not_a_corner;
09144           else if (p[offset0] < c_b)
09145             if (p[offset2] < c_b)
09146               if (p[offset7] > cb)
09147                 if (p[offset3] < c_b)
09148                   if (p[offset5] < c_b)
09149                     if (p[offset1] < c_b)
09150                       if (p[offset4] < c_b)
09151                         goto is_a_corner;
09152                       else
09153                         goto is_not_a_corner;
09154                     else
09155                       if (p[offset4] < c_b)
09156                         if (p[offset6] < c_b)
09157                           goto is_a_corner;
09158                         else
09159                           goto is_not_a_corner;
09160                       else
09161                         goto is_not_a_corner;
09162                   else
09163                     if (p[offset1] < c_b)
09164                       if (p[offset4] < c_b)
09165                         goto is_a_corner;
09166                       else
09167                         goto is_not_a_corner;
09168                     else
09169                       goto is_not_a_corner;
09170                 else
09171                   if (p[offset5] > cb)
09172                     if (p[offset3] > cb)
09173                       if (p[offset4] > cb)
09174                         if (p[offset6] > cb)
09175                           goto is_a_corner;
09176                         else
09177                           goto is_not_a_corner;
09178                       else
09179                         goto is_not_a_corner;
09180                     else
09181                       goto is_not_a_corner;
09182                   else
09183                     goto is_not_a_corner;
09184               else
09185                 if (p[offset7] < c_b)
09186                   if (p[offset3] < c_b)
09187                     if (p[offset5] < c_b)
09188                       if (p[offset1] < c_b)
09189                         goto is_a_corner;
09190                       else
09191                         if (p[offset4] < c_b)
09192                           if (p[offset6] < c_b)
09193                             goto is_a_corner;
09194                           else
09195                             goto is_not_a_corner;
09196                         else
09197                           goto is_not_a_corner;
09198                     else
09199                       if (p[offset1] < c_b)
09200                         goto is_a_corner;
09201                       else
09202                         goto is_not_a_corner;
09203                   else
09204                     if (p[offset6] < c_b)
09205                       if (p[offset5] < c_b)
09206                         if (p[offset1] < c_b)
09207                           goto is_a_corner;
09208                         else
09209                           if (p[offset4] < c_b)
09210                             goto is_a_corner;
09211                           else
09212                             goto is_not_a_corner;
09213                       else
09214                         if (p[offset1] < c_b)
09215                           goto is_a_corner;
09216                         else
09217                           goto is_not_a_corner;
09218                     else
09219                       goto is_not_a_corner;
09220                 else
09221                   if (p[offset3] < c_b)
09222                     if (p[offset5] < c_b)
09223                       if (p[offset1] < c_b)
09224                         if (p[offset4] < c_b)
09225                           goto is_a_corner;
09226                         else
09227                           goto is_not_a_corner;
09228                       else
09229                         if (p[offset4] < c_b)
09230                           if (p[offset6] < c_b)
09231                             goto is_a_corner;
09232                           else
09233                             goto is_not_a_corner;
09234                         else
09235                           goto is_not_a_corner;
09236                     else
09237                       if (p[offset1] < c_b)
09238                         if (p[offset4] < c_b)
09239                           goto is_a_corner;
09240                         else
09241                           goto is_not_a_corner;
09242                       else
09243                         goto is_not_a_corner;
09244                   else
09245                     goto is_not_a_corner;
09246             else
09247               if (p[offset5] > cb)
09248                 if (p[offset3] > cb)
09249                   if (p[offset2] > cb)
09250                     if (p[offset1] > cb)
09251                       if (p[offset4] > cb)
09252                         goto is_a_corner;
09253                       else
09254                         goto is_not_a_corner;
09255                     else
09256                       if (p[offset4] > cb)
09257                         if (p[offset6] > cb)
09258                           goto is_a_corner;
09259                         else
09260                           goto is_not_a_corner;
09261                       else
09262                         goto is_not_a_corner;
09263                   else
09264                     if (p[offset7] > cb)
09265                       if (p[offset4] > cb)
09266                         if (p[offset6] > cb)
09267                           goto is_a_corner;
09268                         else
09269                           goto is_not_a_corner;
09270                       else
09271                         goto is_not_a_corner;
09272                     else
09273                       goto is_not_a_corner;
09274                 else
09275                   goto is_not_a_corner;
09276               else
09277                 if (p[offset5] < c_b)
09278                   if (p[offset7] < c_b)
09279                     if (p[offset6] < c_b)
09280                       if (p[offset1] < c_b)
09281                         goto is_a_corner;
09282                       else
09283                         if (p[offset4] < c_b)
09284                           goto is_a_corner;
09285                         else
09286                           goto is_not_a_corner;
09287                     else
09288                       goto is_not_a_corner;
09289                   else
09290                     goto is_not_a_corner;
09291                 else
09292                   goto is_not_a_corner;
09293           else
09294             if (p[offset3] > cb)
09295               if (p[offset5] > cb)
09296                 if (p[offset2] > cb)
09297                   if (p[offset1] > cb)
09298                     if (p[offset4] > cb)
09299                       goto is_a_corner;
09300                     else
09301                       goto is_not_a_corner;
09302                   else
09303                     if (p[offset4] > cb)
09304                       if (p[offset6] > cb)
09305                         goto is_a_corner;
09306                       else
09307                         goto is_not_a_corner;
09308                     else
09309                       goto is_not_a_corner;
09310                 else
09311                   if (p[offset7] > cb)
09312                     if (p[offset4] > cb)
09313                       if (p[offset6] > cb)
09314                         goto is_a_corner;
09315                       else
09316                         goto is_not_a_corner;
09317                     else
09318                       goto is_not_a_corner;
09319                   else
09320                     goto is_not_a_corner;
09321               else
09322                 goto is_not_a_corner;
09323             else
09324               if (p[offset3] < c_b)
09325                 if (p[offset5] < c_b)
09326                   if (p[offset2] < c_b)
09327                     if (p[offset1] < c_b)
09328                       if (p[offset4] < c_b)
09329                         goto is_a_corner;
09330                       else
09331                         goto is_not_a_corner;
09332                     else
09333                       if (p[offset4] < c_b)
09334                         if (p[offset6] < c_b)
09335                           goto is_a_corner;
09336                         else
09337                           goto is_not_a_corner;
09338                       else
09339                         goto is_not_a_corner;
09340                   else
09341                     if (p[offset7] < c_b)
09342                       if (p[offset4] < c_b)
09343                         if (p[offset6] < c_b)
09344                           goto is_a_corner;
09345                         else
09346                           goto is_not_a_corner;
09347                       else
09348                         goto is_not_a_corner;
09349                     else
09350                       goto is_not_a_corner;
09351                 else
09352                   goto is_not_a_corner;
09353               else
09354                 goto is_not_a_corner;
09355 
09356           is_a_corner:
09357             bmin = T2 (b_test);
09358             goto end;
09359 
09360           is_not_a_corner:
09361             bmax = T2 (b_test);
09362             goto end;
09363 
09364           end:
09365 
09366           if (bmin == bmax - 1 || bmin == bmax)
09367             return (int (bmin));
09368           b_test = int ((bmin + bmax) / 2);
09369         }
09370       }
09371     } // namespace agast
09372   } // namespace keypoints
09373 } // namespace pcl
09374 
09377 void
09378 pcl::keypoints::agast::AgastDetector5_8::initPattern ()
09379 {
09380   s_offset0_ = static_cast<int_fast16_t> ((-1) + (0)  * width_);
09381   s_offset1_ = static_cast<int_fast16_t> ((-1) + (-1) * width_);
09382   s_offset2_ = static_cast<int_fast16_t> ((0)  + (-1) * width_);
09383   s_offset3_ = static_cast<int_fast16_t> ((1)  + (-1) * width_);
09384   s_offset4_ = static_cast<int_fast16_t> ((1)  + (0)  * width_);
09385   s_offset5_ = static_cast<int_fast16_t> ((1)  + (1)  * width_);
09386   s_offset6_ = static_cast<int_fast16_t> ((0)  + (1)  * width_);
09387   s_offset7_ = static_cast<int_fast16_t> ((-1) + (1)  * width_);
09388 }
09389 
09391 void
09392 pcl::keypoints::agast::AgastDetector5_8::detect (const unsigned char* im, std::vector<pcl::PointUV, Eigen::aligned_allocator<pcl::PointUV> > & corners) const
09393 {
09394   return (pcl::keypoints::agast::AgastDetector5_8_detect<unsigned char, int> (
09395         im, int (width_), int (height_), threshold_, 
09396         s_offset0_, 
09397         s_offset1_,
09398         s_offset2_,
09399         s_offset3_,
09400         s_offset4_,
09401         s_offset5_,
09402         s_offset6_,
09403         s_offset7_,
09404         corners));
09405 }
09406 
09408 void
09409 pcl::keypoints::agast::AgastDetector5_8::detect (const float* im, std::vector<pcl::PointUV, Eigen::aligned_allocator<pcl::PointUV> > & corners) const
09410 {
09411   return (pcl::keypoints::agast::AgastDetector5_8_detect<float, float> (
09412         im, int (width_), int (height_), threshold_, 
09413         s_offset0_, 
09414         s_offset1_,
09415         s_offset2_,
09416         s_offset3_,
09417         s_offset4_,
09418         s_offset5_,
09419         s_offset6_,
09420         s_offset7_,
09421         corners));
09422 }
09423 
09425 int
09426 pcl::keypoints::agast::AgastDetector5_8::computeCornerScore (const unsigned char* p) const
09427 {
09428   return (pcl::keypoints::agast::AgastDetector5_8_computeCornerScore<unsigned char, int> (
09429         p, bmax_, threshold_, 
09430         s_offset0_, 
09431         s_offset1_,
09432         s_offset2_,
09433         s_offset3_,
09434         s_offset4_,
09435         s_offset5_,
09436         s_offset6_,
09437         s_offset7_));
09438 }
09439 
09441 int
09442 pcl::keypoints::agast::AgastDetector5_8::computeCornerScore (const float* p) const
09443 {
09444   return (pcl::keypoints::agast::AgastDetector5_8_computeCornerScore<float, float> (
09445         p, bmax_, threshold_, 
09446         s_offset0_, 
09447         s_offset1_,
09448         s_offset2_,
09449         s_offset3_,
09450         s_offset4_,
09451         s_offset5_,
09452         s_offset6_,
09453         s_offset7_));
09454 }
09455 
09459 namespace pcl
09460 {
09461   namespace keypoints
09462   {
09463     namespace agast
09464     {
09466       // Helper method for OastDetector9_16::detect
09467       template <typename T1, typename T2> void
09468       OastDetector9_16_detect (
09469           const T1* im, 
09470           int img_width, int img_height,
09471           double threshold,
09472           int_fast16_t s_offset0,
09473           int_fast16_t s_offset1,
09474           int_fast16_t s_offset2,
09475           int_fast16_t s_offset3,
09476           int_fast16_t s_offset4,
09477           int_fast16_t s_offset5,
09478           int_fast16_t s_offset6,
09479           int_fast16_t s_offset7,
09480           int_fast16_t s_offset8,
09481           int_fast16_t s_offset9,
09482           int_fast16_t s_offset10,
09483           int_fast16_t s_offset11,
09484           int_fast16_t s_offset12,
09485           int_fast16_t s_offset13,
09486           int_fast16_t s_offset14,
09487           int_fast16_t s_offset15,
09488           std::vector<pcl::PointUV, Eigen::aligned_allocator<pcl::PointUV> >& corners)
09489       {
09490         int total = 0;
09491         int n_expected_corners = int (corners.capacity ());
09492         pcl::PointUV h;
09493         register int x, y;
09494         register int xsize_b = int (img_width) - 4;
09495         register int ysize_b = int (img_height) - 3;
09496         register int_fast16_t offset0, offset1, offset2, offset3, offset4, offset5, offset6, offset7, offset8, offset9, offset10, offset11, offset12, offset13, offset14, offset15;
09497         register int width;
09498 
09499         corners.resize (0);
09500 
09501         offset0  = s_offset0;
09502         offset1  = s_offset1;
09503         offset2  = s_offset2;
09504         offset3  = s_offset3;
09505         offset4  = s_offset4;
09506         offset5  = s_offset5;
09507         offset6  = s_offset6;
09508         offset7  = s_offset7;
09509         offset8  = s_offset8;
09510         offset9  = s_offset9;
09511         offset10 = s_offset10;
09512         offset11 = s_offset11;
09513         offset12 = s_offset12;
09514         offset13 = s_offset13;
09515         offset14 = s_offset14;
09516         offset15 = s_offset15;
09517         width    = int (img_width);
09518 
09519         for (y = 3; y < ysize_b; y++)
09520         {
09521           x = 2;
09522           while (1)
09523           {
09524             x++;
09525             if (x > xsize_b)
09526               break;
09527             else
09528             {
09529               register const T1* const p = im + y * width + x;
09530               register const T2 cb = *p + T2 (threshold);
09531               register const T2 c_b = *p - T2 (threshold);
09532               if (p[offset0] > cb)
09533                 if (p[offset2] > cb)
09534                 if (p[offset4] > cb)
09535                   if (p[offset5] > cb)
09536                   if (p[offset7] > cb)
09537                     if (p[offset3] > cb)
09538                     if (p[offset1] > cb)
09539                       if (p[offset6] > cb)
09540                       if (p[offset8] > cb)
09541                         {}
09542                       else
09543                         if (p[offset15] > cb)
09544                         {}
09545                         else
09546                         continue;
09547                       else
09548                       if (p[offset13] > cb)
09549                         if (p[offset14] > cb)
09550                         if (p[offset15] > cb)
09551                           {}
09552                         else
09553                           continue;
09554                         else
09555                         continue;
09556                       else
09557                         continue;
09558                     else
09559                       if (p[offset8] > cb)
09560                       if (p[offset9] > cb)
09561                         if (p[offset10] > cb)
09562                         if (p[offset6] > cb)
09563                           {}
09564                         else
09565                           if (p[offset11] > cb)
09566                           if (p[offset12] > cb)
09567                             if (p[offset13] > cb)
09568                             if (p[offset14] > cb)
09569                               if (p[offset15] > cb)
09570                               {}
09571                               else
09572                               continue;
09573                             else
09574                               continue;
09575                             else
09576                             continue;
09577                           else
09578                             continue;
09579                           else
09580                           continue;
09581                         else
09582                         continue;
09583                       else
09584                         continue;
09585                       else
09586                       continue;
09587                     else
09588                     if (p[offset10] > cb)
09589                       if (p[offset11] > cb)
09590                       if (p[offset12] > cb)
09591                         if (p[offset8] > cb)
09592                         if (p[offset9] > cb)
09593                           if (p[offset6] > cb)
09594                           {}
09595                           else
09596                           if (p[offset13] > cb)
09597                             if (p[offset14] > cb)
09598                             if (p[offset15] > cb)
09599                               {}
09600                             else
09601                               continue;
09602                             else
09603                             continue;
09604                           else
09605                             continue;
09606                         else
09607                           if (p[offset1] > cb)
09608                           if (p[offset13] > cb)
09609                             if (p[offset14] > cb)
09610                             if (p[offset15] > cb)
09611                               {}
09612                             else
09613                               continue;
09614                             else
09615                             continue;
09616                           else
09617                             continue;
09618                           else
09619                           continue;
09620                         else
09621                         if (p[offset1] > cb)
09622                           if (p[offset13] > cb)
09623                           if (p[offset14] > cb)
09624                             if (p[offset15] > cb)
09625                             {}
09626                             else
09627                             continue;
09628                           else
09629                             continue;
09630                           else
09631                           continue;
09632                         else
09633                           continue;
09634                       else
09635                         continue;
09636                       else
09637                       continue;
09638                     else
09639                       continue;
09640                   else if (p[offset7] < c_b)
09641                     if (p[offset14] > cb)
09642                     if (p[offset15] > cb)
09643                       if (p[offset1] > cb)
09644                       if (p[offset3] > cb)
09645                         if (p[offset6] > cb)
09646                         {}
09647                         else
09648                         if (p[offset13] > cb)
09649                           {}
09650                         else
09651                           continue;
09652                       else
09653                         if (p[offset10] > cb)
09654                         if (p[offset11] > cb)
09655                           if (p[offset12] > cb)
09656                           if (p[offset13] > cb)
09657                             {}
09658                           else
09659                             continue;
09660                           else
09661                           continue;
09662                         else
09663                           continue;
09664                         else
09665                         continue;
09666                       else
09667                       if (p[offset8] > cb)
09668                         if (p[offset9] > cb)
09669                         if (p[offset10] > cb)
09670                           if (p[offset11] > cb)
09671                           if (p[offset12] > cb)
09672                             if (p[offset13] > cb)
09673                             {}
09674                             else
09675                             continue;
09676                           else
09677                             continue;
09678                           else
09679                           continue;
09680                         else
09681                           continue;
09682                         else
09683                         continue;
09684                       else
09685                         continue;
09686                     else
09687                       continue;
09688                     else if (p[offset14] < c_b)
09689                     if (p[offset8] < c_b)
09690                       if (p[offset9] < c_b)
09691                       if (p[offset10] < c_b)
09692                         if (p[offset11] < c_b)
09693                         if (p[offset12] < c_b)
09694                           if (p[offset13] < c_b)
09695                           if (p[offset6] < c_b)
09696                             {}
09697                           else
09698                             if (p[offset15] < c_b)
09699                             {}
09700                             else
09701                             continue;
09702                           else
09703                           continue;
09704                         else
09705                           continue;
09706                         else
09707                         continue;
09708                       else
09709                         continue;
09710                       else
09711                       continue;
09712                     else
09713                       continue;
09714                     else
09715                     continue;
09716                   else
09717                     if (p[offset14] > cb)
09718                     if (p[offset15] > cb)
09719                       if (p[offset1] > cb)
09720                       if (p[offset3] > cb)
09721                         if (p[offset6] > cb)
09722                         {}
09723                         else
09724                         if (p[offset13] > cb)
09725                           {}
09726                         else
09727                           continue;
09728                       else
09729                         if (p[offset10] > cb)
09730                         if (p[offset11] > cb)
09731                           if (p[offset12] > cb)
09732                           if (p[offset13] > cb)
09733                             {}
09734                           else
09735                             continue;
09736                           else
09737                           continue;
09738                         else
09739                           continue;
09740                         else
09741                         continue;
09742                       else
09743                       if (p[offset8] > cb)
09744                         if (p[offset9] > cb)
09745                         if (p[offset10] > cb)
09746                           if (p[offset11] > cb)
09747                           if (p[offset12] > cb)
09748                             if (p[offset13] > cb)
09749                             {}
09750                             else
09751                             continue;
09752                           else
09753                             continue;
09754                           else
09755                           continue;
09756                         else
09757                           continue;
09758                         else
09759                         continue;
09760                       else
09761                         continue;
09762                     else
09763                       continue;
09764                     else
09765                     continue;
09766                   else if (p[offset5] < c_b)
09767                   if (p[offset12] > cb)
09768                     if (p[offset13] > cb)
09769                     if (p[offset14] > cb)
09770                       if (p[offset15] > cb)
09771                       if (p[offset1] > cb)
09772                         if (p[offset3] > cb)
09773                         {}
09774                         else
09775                         if (p[offset10] > cb)
09776                           if (p[offset11] > cb)
09777                           {}
09778                           else
09779                           continue;
09780                         else
09781                           continue;
09782                       else
09783                         if (p[offset8] > cb)
09784                         if (p[offset9] > cb)
09785                           if (p[offset10] > cb)
09786                           if (p[offset11] > cb)
09787                             {}
09788                           else
09789                             continue;
09790                           else
09791                           continue;
09792                         else
09793                           continue;
09794                         else
09795                         continue;
09796                       else
09797                       if (p[offset6] > cb)
09798                         if (p[offset7] > cb)
09799                         if (p[offset8] > cb)
09800                           if (p[offset9] > cb)
09801                           if (p[offset10] > cb)
09802                             if (p[offset11] > cb)
09803                             {}
09804                             else
09805                             continue;
09806                           else
09807                             continue;
09808                           else
09809                           continue;
09810                         else
09811                           continue;
09812                         else
09813                         continue;
09814                       else
09815                         continue;
09816                     else
09817                       continue;
09818                     else
09819                     continue;
09820                   else if (p[offset12] < c_b)
09821                     if (p[offset7] < c_b)
09822                     if (p[offset8] < c_b)
09823                       if (p[offset9] < c_b)
09824                       if (p[offset10] < c_b)
09825                         if (p[offset11] < c_b)
09826                         if (p[offset13] < c_b)
09827                           if (p[offset6] < c_b)
09828                           {}
09829                           else
09830                           if (p[offset14] < c_b)
09831                             if (p[offset15] < c_b)
09832                             {}
09833                             else
09834                             continue;
09835                           else
09836                             continue;
09837                         else
09838                           continue;
09839                         else
09840                         continue;
09841                       else
09842                         continue;
09843                       else
09844                       continue;
09845                     else
09846                       continue;
09847                     else
09848                     continue;
09849                   else
09850                     continue;
09851                   else
09852                   if (p[offset12] > cb)
09853                     if (p[offset13] > cb)
09854                     if (p[offset14] > cb)
09855                       if (p[offset15] > cb)
09856                       if (p[offset1] > cb)
09857                         if (p[offset3] > cb)
09858                         {}
09859                         else
09860                         if (p[offset10] > cb)
09861                           if (p[offset11] > cb)
09862                           {}
09863                           else
09864                           continue;
09865                         else
09866                           continue;
09867                       else
09868                         if (p[offset8] > cb)
09869                         if (p[offset9] > cb)
09870                           if (p[offset10] > cb)
09871                           if (p[offset11] > cb)
09872                             {}
09873                           else
09874                             continue;
09875                           else
09876                           continue;
09877                         else
09878                           continue;
09879                         else
09880                         continue;
09881                       else
09882                       if (p[offset6] > cb)
09883                         if (p[offset7] > cb)
09884                         if (p[offset8] > cb)
09885                           if (p[offset9] > cb)
09886                           if (p[offset10] > cb)
09887                             if (p[offset11] > cb)
09888                             {}
09889                             else
09890                             continue;
09891                           else
09892                             continue;
09893                           else
09894                           continue;
09895                         else
09896                           continue;
09897                         else
09898                         continue;
09899                       else
09900                         continue;
09901                     else
09902                       continue;
09903                     else
09904                     continue;
09905                   else if (p[offset12] < c_b)
09906                     if (p[offset7] < c_b)
09907                     if (p[offset8] < c_b)
09908                       if (p[offset9] < c_b)
09909                       if (p[offset10] < c_b)
09910                         if (p[offset11] < c_b)
09911                         if (p[offset13] < c_b)
09912                           if (p[offset14] < c_b)
09913                           if (p[offset6] < c_b)
09914                             {}
09915                           else
09916                             if (p[offset15] < c_b)
09917                             {}
09918                             else
09919                             continue;
09920                           else
09921                           continue;
09922                         else
09923                           continue;
09924                         else
09925                         continue;
09926                       else
09927                         continue;
09928                       else
09929                       continue;
09930                     else
09931                       continue;
09932                     else
09933                     continue;
09934                   else
09935                     continue;
09936                 else if (p[offset4] < c_b)
09937                   if (p[offset11] > cb)
09938                   if (p[offset12] > cb)
09939                     if (p[offset13] > cb)
09940                     if (p[offset10] > cb)
09941                       if (p[offset14] > cb)
09942                       if (p[offset15] > cb)
09943                         if (p[offset1] > cb)
09944                         {}
09945                         else
09946                         if (p[offset8] > cb)
09947                           if (p[offset9] > cb)
09948                           {}
09949                           else
09950                           continue;
09951                         else
09952                           continue;
09953                       else
09954                         if (p[offset6] > cb)
09955                         if (p[offset7] > cb)
09956                           if (p[offset8] > cb)
09957                           if (p[offset9] > cb)
09958                             {}
09959                           else
09960                             continue;
09961                           else
09962                           continue;
09963                         else
09964                           continue;
09965                         else
09966                         continue;
09967                       else
09968                       if (p[offset5] > cb)
09969                         if (p[offset6] > cb)
09970                         if (p[offset7] > cb)
09971                           if (p[offset8] > cb)
09972                           if (p[offset9] > cb)
09973                             {}
09974                           else
09975                             continue;
09976                           else
09977                           continue;
09978                         else
09979                           continue;
09980                         else
09981                         continue;
09982                       else
09983                         continue;
09984                     else
09985                       if (p[offset1] > cb)
09986                       if (p[offset3] > cb)
09987                         if (p[offset14] > cb)
09988                         if (p[offset15] > cb)
09989                           {}
09990                         else
09991                           continue;
09992                         else
09993                         continue;
09994                       else
09995                         continue;
09996                       else
09997                       continue;
09998                     else
09999                     continue;
10000                   else
10001                     continue;
10002                   else if (p[offset11] < c_b)
10003                   if (p[offset7] < c_b)
10004                     if (p[offset8] < c_b)
10005                     if (p[offset9] < c_b)
10006                       if (p[offset10] < c_b)
10007                       if (p[offset6] < c_b)
10008                         if (p[offset5] < c_b)
10009                         if (p[offset3] < c_b)
10010                           {}
10011                         else
10012                           if (p[offset12] < c_b)
10013                           {}
10014                           else
10015                           continue;
10016                         else
10017                         if (p[offset12] < c_b)
10018                           if (p[offset13] < c_b)
10019                           if (p[offset14] < c_b)
10020                             {}
10021                           else
10022                             continue;
10023                           else
10024                           continue;
10025                         else
10026                           continue;
10027                       else
10028                         if (p[offset12] < c_b)
10029                         if (p[offset13] < c_b)
10030                           if (p[offset14] < c_b)
10031                           if (p[offset15] < c_b)
10032                             {}
10033                           else
10034                             continue;
10035                           else
10036                           continue;
10037                         else
10038                           continue;
10039                         else
10040                         continue;
10041                       else
10042                       continue;
10043                     else
10044                       continue;
10045                     else
10046                     continue;
10047                   else
10048                     continue;
10049                   else
10050                   continue;
10051                 else
10052                   if (p[offset11] > cb)
10053                   if (p[offset12] > cb)
10054                     if (p[offset13] > cb)
10055                     if (p[offset10] > cb)
10056                       if (p[offset14] > cb)
10057                       if (p[offset15] > cb)
10058                         if (p[offset1] > cb)
10059                         {}
10060                         else
10061                         if (p[offset8] > cb)
10062                           if (p[offset9] > cb)
10063                           {}
10064                           else
10065                           continue;
10066                         else
10067                           continue;
10068                       else
10069                         if (p[offset6] > cb)
10070                         if (p[offset7] > cb)
10071                           if (p[offset8] > cb)
10072                           if (p[offset9] > cb)
10073                             {}
10074                           else
10075                             continue;
10076                           else
10077                           continue;
10078                         else
10079                           continue;
10080                         else
10081                         continue;
10082                       else
10083                       if (p[offset5] > cb)
10084                         if (p[offset6] > cb)
10085                         if (p[offset7] > cb)
10086                           if (p[offset8] > cb)
10087                           if (p[offset9] > cb)
10088                             {}
10089                           else
10090                             continue;
10091                           else
10092                           continue;
10093                         else
10094                           continue;
10095                         else
10096                         continue;
10097                       else
10098                         continue;
10099                     else
10100                       if (p[offset1] > cb)
10101                       if (p[offset3] > cb)
10102                         if (p[offset14] > cb)
10103                         if (p[offset15] > cb)
10104                           {}
10105                         else
10106                           continue;
10107                         else
10108                         continue;
10109                       else
10110                         continue;
10111                       else
10112                       continue;
10113                     else
10114                     continue;
10115                   else
10116                     continue;
10117                   else if (p[offset11] < c_b)
10118                   if (p[offset7] < c_b)
10119                     if (p[offset8] < c_b)
10120                     if (p[offset9] < c_b)
10121                       if (p[offset10] < c_b)
10122                       if (p[offset12] < c_b)
10123                         if (p[offset13] < c_b)
10124                         if (p[offset6] < c_b)
10125                           if (p[offset5] < c_b)
10126                           {}
10127                           else
10128                           if (p[offset14] < c_b)
10129                             {}
10130                           else
10131                             continue;
10132                         else
10133                           if (p[offset14] < c_b)
10134                           if (p[offset15] < c_b)
10135                             {}
10136                           else
10137                             continue;
10138                           else
10139                           continue;
10140                         else
10141                         continue;
10142                       else
10143                         continue;
10144                       else
10145                       continue;
10146                     else
10147                       continue;
10148                     else
10149                     continue;
10150                   else
10151                     continue;
10152                   else
10153                   continue;
10154                 else if (p[offset2] < c_b)
10155                 if (p[offset9] > cb)
10156                   if (p[offset10] > cb)
10157                   if (p[offset11] > cb)
10158                     if (p[offset8] > cb)
10159                     if (p[offset12] > cb)
10160                       if (p[offset13] > cb)
10161                       if (p[offset14] > cb)
10162                         if (p[offset15] > cb)
10163                         {}
10164                         else
10165                         if (p[offset6] > cb)
10166                           if (p[offset7] > cb)
10167                           {}
10168                           else
10169                           continue;
10170                         else
10171                           continue;
10172                       else
10173                         if (p[offset5] > cb)
10174                         if (p[offset6] > cb)
10175                           if (p[offset7] > cb)
10176                           {}
10177                           else
10178                           continue;
10179                         else
10180                           continue;
10181                         else
10182                         continue;
10183                       else
10184                       if (p[offset4] > cb)
10185                         if (p[offset5] > cb)
10186                         if (p[offset6] > cb)
10187                           if (p[offset7] > cb)
10188                           {}
10189                           else
10190                           continue;
10191                         else
10192                           continue;
10193                         else
10194                         continue;
10195                       else
10196                         continue;
10197                     else
10198                       if (p[offset3] > cb)
10199                       if (p[offset4] > cb)
10200                         if (p[offset5] > cb)
10201                         if (p[offset6] > cb)
10202                           if (p[offset7] > cb)
10203                           {}
10204                           else
10205                           continue;
10206                         else
10207                           continue;
10208                         else
10209                         continue;
10210                       else
10211                         continue;
10212                       else
10213                       continue;
10214                     else
10215                     if (p[offset1] > cb)
10216                       if (p[offset12] > cb)
10217                       if (p[offset13] > cb)
10218                         if (p[offset14] > cb)
10219                         if (p[offset15] > cb)
10220                           {}
10221                         else
10222                           continue;
10223                         else
10224                         continue;
10225                       else
10226                         continue;
10227                       else
10228                       continue;
10229                     else
10230                       continue;
10231                   else
10232                     continue;
10233                   else
10234                   continue;
10235                 else if (p[offset9] < c_b)
10236                   if (p[offset7] < c_b)
10237                   if (p[offset8] < c_b)
10238                     if (p[offset6] < c_b)
10239                     if (p[offset5] < c_b)
10240                       if (p[offset4] < c_b)
10241                       if (p[offset3] < c_b)
10242                         if (p[offset1] < c_b)
10243                         {}
10244                         else
10245                         if (p[offset10] < c_b)
10246                           {}
10247                         else
10248                           continue;
10249                       else
10250                         if (p[offset10] < c_b)
10251                         if (p[offset11] < c_b)
10252                           if (p[offset12] < c_b)
10253                           {}
10254                           else
10255                           continue;
10256                         else
10257                           continue;
10258                         else
10259                         continue;
10260                       else
10261                       if (p[offset10] < c_b)
10262                         if (p[offset11] < c_b)
10263                         if (p[offset12] < c_b)
10264                           if (p[offset13] < c_b)
10265                           {}
10266                           else
10267                           continue;
10268                         else
10269                           continue;
10270                         else
10271                         continue;
10272                       else
10273                         continue;
10274                     else
10275                       if (p[offset10] < c_b)
10276                       if (p[offset11] < c_b)
10277                         if (p[offset12] < c_b)
10278                         if (p[offset13] < c_b)
10279                           if (p[offset14] < c_b)
10280                           {}
10281                           else
10282                           continue;
10283                         else
10284                           continue;
10285                         else
10286                         continue;
10287                       else
10288                         continue;
10289                       else
10290                       continue;
10291                     else
10292                     if (p[offset10] < c_b)
10293                       if (p[offset11] < c_b)
10294                       if (p[offset12] < c_b)
10295                         if (p[offset13] < c_b)
10296                         if (p[offset14] < c_b)
10297                           if (p[offset15] < c_b)
10298                           {}
10299                           else
10300                           continue;
10301                         else
10302                           continue;
10303                         else
10304                         continue;
10305                       else
10306                         continue;
10307                       else
10308                       continue;
10309                     else
10310                       continue;
10311                   else
10312                     continue;
10313                   else
10314                   continue;
10315                 else
10316                   continue;
10317                 else
10318                 if (p[offset9] > cb)
10319                   if (p[offset10] > cb)
10320                   if (p[offset11] > cb)
10321                     if (p[offset8] > cb)
10322                     if (p[offset12] > cb)
10323                       if (p[offset13] > cb)
10324                       if (p[offset14] > cb)
10325                         if (p[offset15] > cb)
10326                         {}
10327                         else
10328                         if (p[offset6] > cb)
10329                           if (p[offset7] > cb)
10330                           {}
10331                           else
10332                           continue;
10333                         else
10334                           continue;
10335                       else
10336                         if (p[offset5] > cb)
10337                         if (p[offset6] > cb)
10338                           if (p[offset7] > cb)
10339                           {}
10340                           else
10341                           continue;
10342                         else
10343                           continue;
10344                         else
10345                         continue;
10346                       else
10347                       if (p[offset4] > cb)
10348                         if (p[offset5] > cb)
10349                         if (p[offset6] > cb)
10350                           if (p[offset7] > cb)
10351                           {}
10352                           else
10353                           continue;
10354                         else
10355                           continue;
10356                         else
10357                         continue;
10358                       else
10359                         continue;
10360                     else
10361                       if (p[offset3] > cb)
10362                       if (p[offset4] > cb)
10363                         if (p[offset5] > cb)
10364                         if (p[offset6] > cb)
10365                           if (p[offset7] > cb)
10366                           {}
10367                           else
10368                           continue;
10369                         else
10370                           continue;
10371                         else
10372                         continue;
10373                       else
10374                         continue;
10375                       else
10376                       continue;
10377                     else
10378                     if (p[offset1] > cb)
10379                       if (p[offset12] > cb)
10380                       if (p[offset13] > cb)
10381                         if (p[offset14] > cb)
10382                         if (p[offset15] > cb)
10383                           {}
10384                         else
10385                           continue;
10386                         else
10387                         continue;
10388                       else
10389                         continue;
10390                       else
10391                       continue;
10392                     else
10393                       continue;
10394                   else
10395                     continue;
10396                   else
10397                   continue;
10398                 else if (p[offset9] < c_b)
10399                   if (p[offset7] < c_b)
10400                   if (p[offset8] < c_b)
10401                     if (p[offset10] < c_b)
10402                     if (p[offset11] < c_b)
10403                       if (p[offset6] < c_b)
10404                       if (p[offset5] < c_b)
10405                         if (p[offset4] < c_b)
10406                         if (p[offset3] < c_b)
10407                           {}
10408                         else
10409                           if (p[offset12] < c_b)
10410                           {}
10411                           else
10412                           continue;
10413                         else
10414                         if (p[offset12] < c_b)
10415                           if (p[offset13] < c_b)
10416                           {}
10417                           else
10418                           continue;
10419                         else
10420                           continue;
10421                       else
10422                         if (p[offset12] < c_b)
10423                         if (p[offset13] < c_b)
10424                           if (p[offset14] < c_b)
10425                           {}
10426                           else
10427                           continue;
10428                         else
10429                           continue;
10430                         else
10431                         continue;
10432                       else
10433                       if (p[offset12] < c_b)
10434                         if (p[offset13] < c_b)
10435                         if (p[offset14] < c_b)
10436                           if (p[offset15] < c_b)
10437                           {}
10438                           else
10439                           continue;
10440                         else
10441                           continue;
10442                         else
10443                         continue;
10444                       else
10445                         continue;
10446                     else
10447                       continue;
10448                     else
10449                     continue;
10450                   else
10451                     continue;
10452                   else
10453                   continue;
10454                 else
10455                   continue;
10456               else if (p[offset0] < c_b)
10457                 if (p[offset2] > cb)
10458                 if (p[offset9] > cb)
10459                   if (p[offset7] > cb)
10460                   if (p[offset8] > cb)
10461                     if (p[offset6] > cb)
10462                     if (p[offset5] > cb)
10463                       if (p[offset4] > cb)
10464                       if (p[offset3] > cb)
10465                         if (p[offset1] > cb)
10466                         {}
10467                         else
10468                         if (p[offset10] > cb)
10469                           {}
10470                         else
10471                           continue;
10472                       else
10473                         if (p[offset10] > cb)
10474                         if (p[offset11] > cb)
10475                           if (p[offset12] > cb)
10476                           {}
10477                           else
10478                           continue;
10479                         else
10480                           continue;
10481                         else
10482                         continue;
10483                       else
10484                       if (p[offset10] > cb)
10485                         if (p[offset11] > cb)
10486                         if (p[offset12] > cb)
10487                           if (p[offset13] > cb)
10488                           {}
10489                           else
10490                           continue;
10491                         else
10492                           continue;
10493                         else
10494                         continue;
10495                       else
10496                         continue;
10497                     else
10498                       if (p[offset10] > cb)
10499                       if (p[offset11] > cb)
10500                         if (p[offset12] > cb)
10501                         if (p[offset13] > cb)
10502                           if (p[offset14] > cb)
10503                           {}
10504                           else
10505                           continue;
10506                         else
10507                           continue;
10508                         else
10509                         continue;
10510                       else
10511                         continue;
10512                       else
10513                       continue;
10514                     else
10515                     if (p[offset10] > cb)
10516                       if (p[offset11] > cb)
10517                       if (p[offset12] > cb)
10518                         if (p[offset13] > cb)
10519                         if (p[offset14] > cb)
10520                           if (p[offset15] > cb)
10521                           {}
10522                           else
10523                           continue;
10524                         else
10525                           continue;
10526                         else
10527                         continue;
10528                       else
10529                         continue;
10530                       else
10531                       continue;
10532                     else
10533                       continue;
10534                   else
10535                     continue;
10536                   else
10537                   continue;
10538                 else if (p[offset9] < c_b)
10539                   if (p[offset10] < c_b)
10540                   if (p[offset11] < c_b)
10541                     if (p[offset8] < c_b)
10542                     if (p[offset12] < c_b)
10543                       if (p[offset13] < c_b)
10544                       if (p[offset14] < c_b)
10545                         if (p[offset15] < c_b)
10546                         {}
10547                         else
10548                         if (p[offset6] < c_b)
10549                           if (p[offset7] < c_b)
10550                           {}
10551                           else
10552                           continue;
10553                         else
10554                           continue;
10555                       else
10556                         if (p[offset5] < c_b)
10557                         if (p[offset6] < c_b)
10558                           if (p[offset7] < c_b)
10559                           {}
10560                           else
10561                           continue;
10562                         else
10563                           continue;
10564                         else
10565                         continue;
10566                       else
10567                       if (p[offset4] < c_b)
10568                         if (p[offset5] < c_b)
10569                         if (p[offset6] < c_b)
10570                           if (p[offset7] < c_b)
10571                           {}
10572                           else
10573                           continue;
10574                         else
10575                           continue;
10576                         else
10577                         continue;
10578                       else
10579                         continue;
10580                     else
10581                       if (p[offset3] < c_b)
10582                       if (p[offset4] < c_b)
10583                         if (p[offset5] < c_b)
10584                         if (p[offset6] < c_b)
10585                           if (p[offset7] < c_b)
10586                           {}
10587                           else
10588                           continue;
10589                         else
10590                           continue;
10591                         else
10592                         continue;
10593                       else
10594                         continue;
10595                       else
10596                       continue;
10597                     else
10598                     if (p[offset1] < c_b)
10599                       if (p[offset12] < c_b)
10600                       if (p[offset13] < c_b)
10601                         if (p[offset14] < c_b)
10602                         if (p[offset15] < c_b)
10603                           {}
10604                         else
10605                           continue;
10606                         else
10607                         continue;
10608                       else
10609                         continue;
10610                       else
10611                       continue;
10612                     else
10613                       continue;
10614                   else
10615                     continue;
10616                   else
10617                   continue;
10618                 else
10619                   continue;
10620                 else if (p[offset2] < c_b)
10621                 if (p[offset4] > cb)
10622                   if (p[offset11] > cb)
10623                   if (p[offset7] > cb)
10624                     if (p[offset8] > cb)
10625                     if (p[offset9] > cb)
10626                       if (p[offset10] > cb)
10627                       if (p[offset6] > cb)
10628                         if (p[offset5] > cb)
10629                         if (p[offset3] > cb)
10630                           {}
10631                         else
10632                           if (p[offset12] > cb)
10633                           {}
10634                           else
10635                           continue;
10636                         else
10637                         if (p[offset12] > cb)
10638                           if (p[offset13] > cb)
10639                           if (p[offset14] > cb)
10640                             {}
10641                           else
10642                             continue;
10643                           else
10644                           continue;
10645                         else
10646                           continue;
10647                       else
10648                         if (p[offset12] > cb)
10649                         if (p[offset13] > cb)
10650                           if (p[offset14] > cb)
10651                           if (p[offset15] > cb)
10652                             {}
10653                           else
10654                             continue;
10655                           else
10656                           continue;
10657                         else
10658                           continue;
10659                         else
10660                         continue;
10661                       else
10662                       continue;
10663                     else
10664                       continue;
10665                     else
10666                     continue;
10667                   else
10668                     continue;
10669                   else if (p[offset11] < c_b)
10670                   if (p[offset12] < c_b)
10671                     if (p[offset13] < c_b)
10672                     if (p[offset10] < c_b)
10673                       if (p[offset14] < c_b)
10674                       if (p[offset15] < c_b)
10675                         if (p[offset1] < c_b)
10676                         {}
10677                         else
10678                         if (p[offset8] < c_b)
10679                           if (p[offset9] < c_b)
10680                           {}
10681                           else
10682                           continue;
10683                         else
10684                           continue;
10685                       else
10686                         if (p[offset6] < c_b)
10687                         if (p[offset7] < c_b)
10688                           if (p[offset8] < c_b)
10689                           if (p[offset9] < c_b)
10690                             {}
10691                           else
10692                             continue;
10693                           else
10694                           continue;
10695                         else
10696                           continue;
10697                         else
10698                         continue;
10699                       else
10700                       if (p[offset5] < c_b)
10701                         if (p[offset6] < c_b)
10702                         if (p[offset7] < c_b)
10703                           if (p[offset8] < c_b)
10704                           if (p[offset9] < c_b)
10705                             {}
10706                           else
10707                             continue;
10708                           else
10709                           continue;
10710                         else
10711                           continue;
10712                         else
10713                         continue;
10714                       else
10715                         continue;
10716                     else
10717                       if (p[offset1] < c_b)
10718                       if (p[offset3] < c_b)
10719                         if (p[offset14] < c_b)
10720                         if (p[offset15] < c_b)
10721                           {}
10722                         else
10723                           continue;
10724                         else
10725                         continue;
10726                       else
10727                         continue;
10728                       else
10729                       continue;
10730                     else
10731                     continue;
10732                   else
10733                     continue;
10734                   else
10735                   continue;
10736                 else if (p[offset4] < c_b)
10737                   if (p[offset5] > cb)
10738                   if (p[offset12] > cb)
10739                     if (p[offset7] > cb)
10740                     if (p[offset8] > cb)
10741                       if (p[offset9] > cb)
10742                       if (p[offset10] > cb)
10743                         if (p[offset11] > cb)
10744                         if (p[offset13] > cb)
10745                           if (p[offset6] > cb)
10746                           {}
10747                           else
10748                           if (p[offset14] > cb)
10749                             if (p[offset15] > cb)
10750                             {}
10751                             else
10752                             continue;
10753                           else
10754                             continue;
10755                         else
10756                           continue;
10757                         else
10758                         continue;
10759                       else
10760                         continue;
10761                       else
10762                       continue;
10763                     else
10764                       continue;
10765                     else
10766                     continue;
10767                   else if (p[offset12] < c_b)
10768                     if (p[offset13] < c_b)
10769                     if (p[offset14] < c_b)
10770                       if (p[offset15] < c_b)
10771                       if (p[offset1] < c_b)
10772                         if (p[offset3] < c_b)
10773                         {}
10774                         else
10775                         if (p[offset10] < c_b)
10776                           if (p[offset11] < c_b)
10777                           {}
10778                           else
10779                           continue;
10780                         else
10781                           continue;
10782                       else
10783                         if (p[offset8] < c_b)
10784                         if (p[offset9] < c_b)
10785                           if (p[offset10] < c_b)
10786                           if (p[offset11] < c_b)
10787                             {}
10788                           else
10789                             continue;
10790                           else
10791                           continue;
10792                         else
10793                           continue;
10794                         else
10795                         continue;
10796                       else
10797                       if (p[offset6] < c_b)
10798                         if (p[offset7] < c_b)
10799                         if (p[offset8] < c_b)
10800                           if (p[offset9] < c_b)
10801                           if (p[offset10] < c_b)
10802                             if (p[offset11] < c_b)
10803                             {}
10804                             else
10805                             continue;
10806                           else
10807                             continue;
10808                           else
10809                           continue;
10810                         else
10811                           continue;
10812                         else
10813                         continue;
10814                       else
10815                         continue;
10816                     else
10817                       continue;
10818                     else
10819                     continue;
10820                   else
10821                     continue;
10822                   else if (p[offset5] < c_b)
10823                   if (p[offset7] > cb)
10824                     if (p[offset14] > cb)
10825                     if (p[offset8] > cb)
10826                       if (p[offset9] > cb)
10827                       if (p[offset10] > cb)
10828                         if (p[offset11] > cb)
10829                         if (p[offset12] > cb)
10830                           if (p[offset13] > cb)
10831                           if (p[offset6] > cb)
10832                             {}
10833                           else
10834                             if (p[offset15] > cb)
10835                             {}
10836                             else
10837                             continue;
10838                           else
10839                           continue;
10840                         else
10841                           continue;
10842                         else
10843                         continue;
10844                       else
10845                         continue;
10846                       else
10847                       continue;
10848                     else
10849                       continue;
10850                     else if (p[offset14] < c_b)
10851                     if (p[offset15] < c_b)
10852                       if (p[offset1] < c_b)
10853                       if (p[offset3] < c_b)
10854                         if (p[offset6] < c_b)
10855                         {}
10856                         else
10857                         if (p[offset13] < c_b)
10858                           {}
10859                         else
10860                           continue;
10861                       else
10862                         if (p[offset10] < c_b)
10863                         if (p[offset11] < c_b)
10864                           if (p[offset12] < c_b)
10865                           if (p[offset13] < c_b)
10866                             {}
10867                           else
10868                             continue;
10869                           else
10870                           continue;
10871                         else
10872                           continue;
10873                         else
10874                         continue;
10875                       else
10876                       if (p[offset8] < c_b)
10877                         if (p[offset9] < c_b)
10878                         if (p[offset10] < c_b)
10879                           if (p[offset11] < c_b)
10880                           if (p[offset12] < c_b)
10881                             if (p[offset13] < c_b)
10882                             {}
10883                             else
10884                             continue;
10885                           else
10886                             continue;
10887                           else
10888                           continue;
10889                         else
10890                           continue;
10891                         else
10892                         continue;
10893                       else
10894                         continue;
10895                     else
10896                       continue;
10897                     else
10898                     continue;
10899                   else if (p[offset7] < c_b)
10900                     if (p[offset3] < c_b)
10901                     if (p[offset1] < c_b)
10902                       if (p[offset6] < c_b)
10903                       if (p[offset8] < c_b)
10904                         {}
10905                       else
10906                         if (p[offset15] < c_b)
10907                         {}
10908                         else
10909                         continue;
10910                       else
10911                       if (p[offset13] < c_b)
10912                         if (p[offset14] < c_b)
10913                         if (p[offset15] < c_b)
10914                           {}
10915                         else
10916                           continue;
10917                         else
10918                         continue;
10919                       else
10920                         continue;
10921                     else
10922                       if (p[offset8] < c_b)
10923                       if (p[offset9] < c_b)
10924                         if (p[offset10] < c_b)
10925                         if (p[offset6] < c_b)
10926                           {}
10927                         else
10928                           if (p[offset11] < c_b)
10929                           if (p[offset12] < c_b)
10930                             if (p[offset13] < c_b)
10931                             if (p[offset14] < c_b)
10932                               if (p[offset15] < c_b)
10933                               {}
10934                               else
10935                               continue;
10936                             else
10937                               continue;
10938                             else
10939                             continue;
10940                           else
10941                             continue;
10942                           else
10943                           continue;
10944                         else
10945                         continue;
10946                       else
10947                         continue;
10948                       else
10949                       continue;
10950                     else
10951                     if (p[offset10] < c_b)
10952                       if (p[offset11] < c_b)
10953                       if (p[offset12] < c_b)
10954                         if (p[offset8] < c_b)
10955                         if (p[offset9] < c_b)
10956                           if (p[offset6] < c_b)
10957                           {}
10958                           else
10959                           if (p[offset13] < c_b)
10960                             if (p[offset14] < c_b)
10961                             if (p[offset15] < c_b)
10962                               {}
10963                             else
10964                               continue;
10965                             else
10966                             continue;
10967                           else
10968                             continue;
10969                         else
10970                           if (p[offset1] < c_b)
10971                           if (p[offset13] < c_b)
10972                             if (p[offset14] < c_b)
10973                             if (p[offset15] < c_b)
10974                               {}
10975                             else
10976                               continue;
10977                             else
10978                             continue;
10979                           else
10980                             continue;
10981                           else
10982                           continue;
10983                         else
10984                         if (p[offset1] < c_b)
10985                           if (p[offset13] < c_b)
10986                           if (p[offset14] < c_b)
10987                             if (p[offset15] < c_b)
10988                             {}
10989                             else
10990                             continue;
10991                           else
10992                             continue;
10993                           else
10994                           continue;
10995                         else
10996                           continue;
10997                       else
10998                         continue;
10999                       else
11000                       continue;
11001                     else
11002                       continue;
11003                   else
11004                     if (p[offset14] < c_b)
11005                     if (p[offset15] < c_b)
11006                       if (p[offset1] < c_b)
11007                       if (p[offset3] < c_b)
11008                         if (p[offset6] < c_b)
11009                         {}
11010                         else
11011                         if (p[offset13] < c_b)
11012                           {}
11013                         else
11014                           continue;
11015                       else
11016                         if (p[offset10] < c_b)
11017                         if (p[offset11] < c_b)
11018                           if (p[offset12] < c_b)
11019                           if (p[offset13] < c_b)
11020                             {}
11021                           else
11022                             continue;
11023                           else
11024                           continue;
11025                         else
11026                           continue;
11027                         else
11028                         continue;
11029                       else
11030                       if (p[offset8] < c_b)
11031                         if (p[offset9] < c_b)
11032                         if (p[offset10] < c_b)
11033                           if (p[offset11] < c_b)
11034                           if (p[offset12] < c_b)
11035                             if (p[offset13] < c_b)
11036                             {}
11037                             else
11038                             continue;
11039                           else
11040                             continue;
11041                           else
11042                           continue;
11043                         else
11044                           continue;
11045                         else
11046                         continue;
11047                       else
11048                         continue;
11049                     else
11050                       continue;
11051                     else
11052                     continue;
11053                   else
11054                   if (p[offset12] > cb)
11055                     if (p[offset7] > cb)
11056                     if (p[offset8] > cb)
11057                       if (p[offset9] > cb)
11058                       if (p[offset10] > cb)
11059                         if (p[offset11] > cb)
11060                         if (p[offset13] > cb)
11061                           if (p[offset14] > cb)
11062                           if (p[offset6] > cb)
11063                             {}
11064                           else
11065                             if (p[offset15] > cb)
11066                             {}
11067                             else
11068                             continue;
11069                           else
11070                           continue;
11071                         else
11072                           continue;
11073                         else
11074                         continue;
11075                       else
11076                         continue;
11077                       else
11078                       continue;
11079                     else
11080                       continue;
11081                     else
11082                     continue;
11083                   else if (p[offset12] < c_b)
11084                     if (p[offset13] < c_b)
11085                     if (p[offset14] < c_b)
11086                       if (p[offset15] < c_b)
11087                       if (p[offset1] < c_b)
11088                         if (p[offset3] < c_b)
11089                         {}
11090                         else
11091                         if (p[offset10] < c_b)
11092                           if (p[offset11] < c_b)
11093                           {}
11094                           else
11095                           continue;
11096                         else
11097                           continue;
11098                       else
11099                         if (p[offset8] < c_b)
11100                         if (p[offset9] < c_b)
11101                           if (p[offset10] < c_b)
11102                           if (p[offset11] < c_b)
11103                             {}
11104                           else
11105                             continue;
11106                           else
11107                           continue;
11108                         else
11109                           continue;
11110                         else
11111                         continue;
11112                       else
11113                       if (p[offset6] < c_b)
11114                         if (p[offset7] < c_b)
11115                         if (p[offset8] < c_b)
11116                           if (p[offset9] < c_b)
11117                           if (p[offset10] < c_b)
11118                             if (p[offset11] < c_b)
11119                             {}
11120                             else
11121                             continue;
11122                           else
11123                             continue;
11124                           else
11125                           continue;
11126                         else
11127                           continue;
11128                         else
11129                         continue;
11130                       else
11131                         continue;
11132                     else
11133                       continue;
11134                     else
11135                     continue;
11136                   else
11137                     continue;
11138                 else
11139                   if (p[offset11] > cb)
11140                   if (p[offset7] > cb)
11141                     if (p[offset8] > cb)
11142                     if (p[offset9] > cb)
11143                       if (p[offset10] > cb)
11144                       if (p[offset12] > cb)
11145                         if (p[offset13] > cb)
11146                         if (p[offset6] > cb)
11147                           if (p[offset5] > cb)
11148                           {}
11149                           else
11150                           if (p[offset14] > cb)
11151                             {}
11152                           else
11153                             continue;
11154                         else
11155                           if (p[offset14] > cb)
11156                           if (p[offset15] > cb)
11157                             {}
11158                           else
11159                             continue;
11160                           else
11161                           continue;
11162                         else
11163                         continue;
11164                       else
11165                         continue;
11166                       else
11167                       continue;
11168                     else
11169                       continue;
11170                     else
11171                     continue;
11172                   else
11173                     continue;
11174                   else if (p[offset11] < c_b)
11175                   if (p[offset12] < c_b)
11176                     if (p[offset13] < c_b)
11177                     if (p[offset10] < c_b)
11178                       if (p[offset14] < c_b)
11179                       if (p[offset15] < c_b)
11180                         if (p[offset1] < c_b)
11181                         {}
11182                         else
11183                         if (p[offset8] < c_b)
11184                           if (p[offset9] < c_b)
11185                           {}
11186                           else
11187                           continue;
11188                         else
11189                           continue;
11190                       else
11191                         if (p[offset6] < c_b)
11192                         if (p[offset7] < c_b)
11193                           if (p[offset8] < c_b)
11194                           if (p[offset9] < c_b)
11195                             {}
11196                           else
11197                             continue;
11198                           else
11199                           continue;
11200                         else
11201                           continue;
11202                         else
11203                         continue;
11204                       else
11205                       if (p[offset5] < c_b)
11206                         if (p[offset6] < c_b)
11207                         if (p[offset7] < c_b)
11208                           if (p[offset8] < c_b)
11209                           if (p[offset9] < c_b)
11210                             {}
11211                           else
11212                             continue;
11213                           else
11214                           continue;
11215                         else
11216                           continue;
11217                         else
11218                         continue;
11219                       else
11220                         continue;
11221                     else
11222                       if (p[offset1] < c_b)
11223                       if (p[offset3] < c_b)
11224                         if (p[offset14] < c_b)
11225                         if (p[offset15] < c_b)
11226                           {}
11227                         else
11228                           continue;
11229                         else
11230                         continue;
11231                       else
11232                         continue;
11233                       else
11234                       continue;
11235                     else
11236                     continue;
11237                   else
11238                     continue;
11239                   else
11240                   continue;
11241                 else
11242                 if (p[offset9] > cb)
11243                   if (p[offset7] > cb)
11244                   if (p[offset8] > cb)
11245                     if (p[offset10] > cb)
11246                     if (p[offset11] > cb)
11247                       if (p[offset6] > cb)
11248                       if (p[offset5] > cb)
11249                         if (p[offset4] > cb)
11250                         if (p[offset3] > cb)
11251                           {}
11252                         else
11253                           if (p[offset12] > cb)
11254                           {}
11255                           else
11256                           continue;
11257                         else
11258                         if (p[offset12] > cb)
11259                           if (p[offset13] > cb)
11260                           {}
11261                           else
11262                           continue;
11263                         else
11264                           continue;
11265                       else
11266                         if (p[offset12] > cb)
11267                         if (p[offset13] > cb)
11268                           if (p[offset14] > cb)
11269                           {}
11270                           else
11271                           continue;
11272                         else
11273                           continue;
11274                         else
11275                         continue;
11276                       else
11277                       if (p[offset12] > cb)
11278                         if (p[offset13] > cb)
11279                         if (p[offset14] > cb)
11280                           if (p[offset15] > cb)
11281                           {}
11282                           else
11283                           continue;
11284                         else
11285                           continue;
11286                         else
11287                         continue;
11288                       else
11289                         continue;
11290                     else
11291                       continue;
11292                     else
11293                     continue;
11294                   else
11295                     continue;
11296                   else
11297                   continue;
11298                 else if (p[offset9] < c_b)
11299                   if (p[offset10] < c_b)
11300                   if (p[offset11] < c_b)
11301                     if (p[offset8] < c_b)
11302                     if (p[offset12] < c_b)
11303                       if (p[offset13] < c_b)
11304                       if (p[offset14] < c_b)
11305                         if (p[offset15] < c_b)
11306                         {}
11307                         else
11308                         if (p[offset6] < c_b)
11309                           if (p[offset7] < c_b)
11310                           {}
11311                           else
11312                           continue;
11313                         else
11314                           continue;
11315                       else
11316                         if (p[offset5] < c_b)
11317                         if (p[offset6] < c_b)
11318                           if (p[offset7] < c_b)
11319                           {}
11320                           else
11321                           continue;
11322                         else
11323                           continue;
11324                         else
11325                         continue;
11326                       else
11327                       if (p[offset4] < c_b)
11328                         if (p[offset5] < c_b)
11329                         if (p[offset6] < c_b)
11330                           if (p[offset7] < c_b)
11331                           {}
11332                           else
11333                           continue;
11334                         else
11335                           continue;
11336                         else
11337                         continue;
11338                       else
11339                         continue;
11340                     else
11341                       if (p[offset3] < c_b)
11342                       if (p[offset4] < c_b)
11343                         if (p[offset5] < c_b)
11344                         if (p[offset6] < c_b)
11345                           if (p[offset7] < c_b)
11346                           {}
11347                           else
11348                           continue;
11349                         else
11350                           continue;
11351                         else
11352                         continue;
11353                       else
11354                         continue;
11355                       else
11356                       continue;
11357                     else
11358                     if (p[offset1] < c_b)
11359                       if (p[offset12] < c_b)
11360                       if (p[offset13] < c_b)
11361                         if (p[offset14] < c_b)
11362                         if (p[offset15] < c_b)
11363                           {}
11364                         else
11365                           continue;
11366                         else
11367                         continue;
11368                       else
11369                         continue;
11370                       else
11371                       continue;
11372                     else
11373                       continue;
11374                   else
11375                     continue;
11376                   else
11377                   continue;
11378                 else
11379                   continue;
11380               else
11381                 if (p[offset7] > cb)
11382                 if (p[offset8] > cb)
11383                   if (p[offset9] > cb)
11384                   if (p[offset6] > cb)
11385                     if (p[offset5] > cb)
11386                     if (p[offset4] > cb)
11387                       if (p[offset3] > cb)
11388                       if (p[offset2] > cb)
11389                         if (p[offset1] > cb)
11390                         {}
11391                         else
11392                         if (p[offset10] > cb)
11393                           {}
11394                         else
11395                           continue;
11396                       else
11397                         if (p[offset10] > cb)
11398                         if (p[offset11] > cb)
11399                           {}
11400                         else
11401                           continue;
11402                         else
11403                         continue;
11404                       else
11405                       if (p[offset10] > cb)
11406                         if (p[offset11] > cb)
11407                         if (p[offset12] > cb)
11408                           {}
11409                         else
11410                           continue;
11411                         else
11412                         continue;
11413                       else
11414                         continue;
11415                     else
11416                       if (p[offset10] > cb)
11417                       if (p[offset11] > cb)
11418                         if (p[offset12] > cb)
11419                         if (p[offset13] > cb)
11420                           {}
11421                         else
11422                           continue;
11423                         else
11424                         continue;
11425                       else
11426                         continue;
11427                       else
11428                       continue;
11429                     else
11430                     if (p[offset10] > cb)
11431                       if (p[offset11] > cb)
11432                       if (p[offset12] > cb)
11433                         if (p[offset13] > cb)
11434                         if (p[offset14] > cb)
11435                           {}
11436                         else
11437                           continue;
11438                         else
11439                         continue;
11440                       else
11441                         continue;
11442                       else
11443                       continue;
11444                     else
11445                       continue;
11446                   else
11447                     if (p[offset10] > cb)
11448                     if (p[offset11] > cb)
11449                       if (p[offset12] > cb)
11450                       if (p[offset13] > cb)
11451                         if (p[offset14] > cb)
11452                         if (p[offset15] > cb)
11453                           {}
11454                         else
11455                           continue;
11456                         else
11457                         continue;
11458                       else
11459                         continue;
11460                       else
11461                       continue;
11462                     else
11463                       continue;
11464                     else
11465                     continue;
11466                   else
11467                   continue;
11468                 else
11469                   continue;
11470                 else if (p[offset7] < c_b)
11471                 if (p[offset8] < c_b)
11472                   if (p[offset9] < c_b)
11473                   if (p[offset6] < c_b)
11474                     if (p[offset5] < c_b)
11475                     if (p[offset4] < c_b)
11476                       if (p[offset3] < c_b)
11477                       if (p[offset2] < c_b)
11478                         if (p[offset1] < c_b)
11479                         {}
11480                         else
11481                         if (p[offset10] < c_b)
11482                           {}
11483                         else
11484                           continue;
11485                       else
11486                         if (p[offset10] < c_b)
11487                         if (p[offset11] < c_b)
11488                           {}
11489                         else
11490                           continue;
11491                         else
11492                         continue;
11493                       else
11494                       if (p[offset10] < c_b)
11495                         if (p[offset11] < c_b)
11496                         if (p[offset12] < c_b)
11497                           {}
11498                         else
11499                           continue;
11500                         else
11501                         continue;
11502                       else
11503                         continue;
11504                     else
11505                       if (p[offset10] < c_b)
11506                       if (p[offset11] < c_b)
11507                         if (p[offset12] < c_b)
11508                         if (p[offset13] < c_b)
11509                           {}
11510                         else
11511                           continue;
11512                         else
11513                         continue;
11514                       else
11515                         continue;
11516                       else
11517                       continue;
11518                     else
11519                     if (p[offset10] < c_b)
11520                       if (p[offset11] < c_b)
11521                       if (p[offset12] < c_b)
11522                         if (p[offset13] < c_b)
11523                         if (p[offset14] < c_b)
11524                           {}
11525                         else
11526                           continue;
11527                         else
11528                         continue;
11529                       else
11530                         continue;
11531                       else
11532                       continue;
11533                     else
11534                       continue;
11535                   else
11536                     if (p[offset10] < c_b)
11537                     if (p[offset11] < c_b)
11538                       if (p[offset12] < c_b)
11539                       if (p[offset13] < c_b)
11540                         if (p[offset14] < c_b)
11541                         if (p[offset15] < c_b)
11542                           {}
11543                         else
11544                           continue;
11545                         else
11546                         continue;
11547                       else
11548                         continue;
11549                       else
11550                       continue;
11551                     else
11552                       continue;
11553                     else
11554                     continue;
11555                   else
11556                   continue;
11557                 else
11558                   continue;
11559                 else
11560                 continue;
11561             }
11562             if (total == n_expected_corners)   
11563             {                
11564               if (n_expected_corners == 0)
11565               {
11566                 n_expected_corners = 512;
11567                 corners.reserve (n_expected_corners);
11568               }
11569               else
11570               {
11571                 n_expected_corners *= 2;
11572                 corners.reserve (n_expected_corners);
11573               }
11574             }
11575             h.u = float (x);
11576             h.v = float (y);
11577             corners.push_back (h);
11578             total++;
11579           }
11580         }
11581       }
11582 
11584       // Helper method for OastDetector9_16::computeCornerScore
11585       template <typename T1, typename T2> int
11586       OastDetector9_16_computeCornerScore (
11587           const T1* p, 
11588           double im_bmax,
11589           double score_threshold,
11590           int_fast16_t s_offset0,
11591           int_fast16_t s_offset1,
11592           int_fast16_t s_offset2,
11593           int_fast16_t s_offset3,
11594           int_fast16_t s_offset4,
11595           int_fast16_t s_offset5,
11596           int_fast16_t s_offset6,
11597           int_fast16_t s_offset7,
11598           int_fast16_t s_offset8,
11599           int_fast16_t s_offset9,
11600           int_fast16_t s_offset10,
11601           int_fast16_t s_offset11,
11602           int_fast16_t s_offset12,
11603           int_fast16_t s_offset13,
11604           int_fast16_t s_offset14,
11605           int_fast16_t s_offset15)
11606       {
11607         T2 bmin = T2 (score_threshold);
11608         T2 bmax = T2 (im_bmax);
11609         int b_test = int ((bmax + bmin) / 2);
11610 
11611         register int_fast16_t offset0  = s_offset0;
11612         register int_fast16_t offset1  = s_offset1;
11613         register int_fast16_t offset2  = s_offset2;
11614         register int_fast16_t offset3  = s_offset3;
11615         register int_fast16_t offset4  = s_offset4;
11616         register int_fast16_t offset5  = s_offset5;
11617         register int_fast16_t offset6  = s_offset6;
11618         register int_fast16_t offset7  = s_offset7;
11619         register int_fast16_t offset8  = s_offset8;
11620         register int_fast16_t offset9  = s_offset9;
11621         register int_fast16_t offset10 = s_offset10;
11622         register int_fast16_t offset11 = s_offset11;
11623         register int_fast16_t offset12 = s_offset12;
11624         register int_fast16_t offset13 = s_offset13;
11625         register int_fast16_t offset14 = s_offset14;
11626         register int_fast16_t offset15 = s_offset15;
11627 
11628         while (1)
11629         {
11630           register const T2 cb = *p + T2 (b_test);
11631           register const T2 c_b = *p - T2 (b_test);
11632           if (p[offset0] > cb)
11633             if (p[offset2] > cb)
11634               if (p[offset4] > cb)
11635                 if (p[offset5] > cb)
11636                   if (p[offset7] > cb)
11637                     if (p[offset3] > cb)
11638                       if (p[offset1] > cb)
11639                         if (p[offset6] > cb)
11640                           if (p[offset8] > cb)
11641                             goto is_a_corner;
11642                           else
11643                             if (p[offset15] > cb)
11644                               goto is_a_corner;
11645                             else
11646                               goto is_not_a_corner;
11647                         else
11648                           if (p[offset13] > cb)
11649                             if (p[offset14] > cb)
11650                               if (p[offset15] > cb)
11651                                 goto is_a_corner;
11652                               else
11653                                 goto is_not_a_corner;
11654                             else
11655                               goto is_not_a_corner;
11656                           else
11657                             goto is_not_a_corner;
11658                       else
11659                         if (p[offset8] > cb)
11660                           if (p[offset9] > cb)
11661                             if (p[offset10] > cb)
11662                               if (p[offset6] > cb)
11663                                 goto is_a_corner;
11664                               else
11665                                 if (p[offset11] > cb)
11666                                   if (p[offset12] > cb)
11667                                     if (p[offset13] > cb)
11668                                       if (p[offset14] > cb)
11669                                         if (p[offset15] > cb)
11670                                           goto is_a_corner;
11671                                         else
11672                                           goto is_not_a_corner;
11673                                       else
11674                                         goto is_not_a_corner;
11675                                     else
11676                                       goto is_not_a_corner;
11677                                   else
11678                                     goto is_not_a_corner;
11679                                 else
11680                                   goto is_not_a_corner;
11681                             else
11682                               goto is_not_a_corner;
11683                           else
11684                             goto is_not_a_corner;
11685                         else
11686                           goto is_not_a_corner;
11687                     else
11688                       if (p[offset10] > cb)
11689                         if (p[offset11] > cb)
11690                           if (p[offset12] > cb)
11691                             if (p[offset8] > cb)
11692                               if (p[offset9] > cb)
11693                                 if (p[offset6] > cb)
11694                                   goto is_a_corner;
11695                                 else
11696                                   if (p[offset13] > cb)
11697                                     if (p[offset14] > cb)
11698                                       if (p[offset15] > cb)
11699                                         goto is_a_corner;
11700                                       else
11701                                         goto is_not_a_corner;
11702                                     else
11703                                       goto is_not_a_corner;
11704                                   else
11705                                     goto is_not_a_corner;
11706                               else
11707                                 if (p[offset1] > cb)
11708                                   if (p[offset13] > cb)
11709                                     if (p[offset14] > cb)
11710                                       if (p[offset15] > cb)
11711                                         goto is_a_corner;
11712                                       else
11713                                         goto is_not_a_corner;
11714                                     else
11715                                       goto is_not_a_corner;
11716                                   else
11717                                     goto is_not_a_corner;
11718                                 else
11719                                   goto is_not_a_corner;
11720                             else
11721                               if (p[offset1] > cb)
11722                                 if (p[offset13] > cb)
11723                                   if (p[offset14] > cb)
11724                                     if (p[offset15] > cb)
11725                                       goto is_a_corner;
11726                                     else
11727                                       goto is_not_a_corner;
11728                                   else
11729                                     goto is_not_a_corner;
11730                                 else
11731                                   goto is_not_a_corner;
11732                               else
11733                                 goto is_not_a_corner;
11734                           else
11735                             goto is_not_a_corner;
11736                         else
11737                           goto is_not_a_corner;
11738                       else
11739                         goto is_not_a_corner;
11740                   else if (p[offset7] < c_b)
11741                     if (p[offset14] > cb)
11742                       if (p[offset15] > cb)
11743                         if (p[offset1] > cb)
11744                           if (p[offset3] > cb)
11745                             if (p[offset6] > cb)
11746                               goto is_a_corner;
11747                             else
11748                               if (p[offset13] > cb)
11749                                 goto is_a_corner;
11750                               else
11751                                 goto is_not_a_corner;
11752                           else
11753                             if (p[offset10] > cb)
11754                               if (p[offset11] > cb)
11755                                 if (p[offset12] > cb)
11756                                   if (p[offset13] > cb)
11757                                     goto is_a_corner;
11758                                   else
11759                                     goto is_not_a_corner;
11760                                 else
11761                                   goto is_not_a_corner;
11762                               else
11763                                 goto is_not_a_corner;
11764                             else
11765                               goto is_not_a_corner;
11766                         else
11767                           if (p[offset8] > cb)
11768                             if (p[offset9] > cb)
11769                               if (p[offset10] > cb)
11770                                 if (p[offset11] > cb)
11771                                   if (p[offset12] > cb)
11772                                     if (p[offset13] > cb)
11773                                       goto is_a_corner;
11774                                     else
11775                                       goto is_not_a_corner;
11776                                   else
11777                                     goto is_not_a_corner;
11778                                 else
11779                                   goto is_not_a_corner;
11780                               else
11781                                 goto is_not_a_corner;
11782                             else
11783                               goto is_not_a_corner;
11784                           else
11785                             goto is_not_a_corner;
11786                       else
11787                         goto is_not_a_corner;
11788                     else if (p[offset14] < c_b)
11789                       if (p[offset8] < c_b)
11790                         if (p[offset9] < c_b)
11791                           if (p[offset10] < c_b)
11792                             if (p[offset11] < c_b)
11793                               if (p[offset12] < c_b)
11794                                 if (p[offset13] < c_b)
11795                                   if (p[offset6] < c_b)
11796                                     goto is_a_corner;
11797                                   else
11798                                     if (p[offset15] < c_b)
11799                                       goto is_a_corner;
11800                                     else
11801                                       goto is_not_a_corner;
11802                                 else
11803                                   goto is_not_a_corner;
11804                               else
11805                                 goto is_not_a_corner;
11806                             else
11807                               goto is_not_a_corner;
11808                           else
11809                             goto is_not_a_corner;
11810                         else
11811                           goto is_not_a_corner;
11812                       else
11813                         goto is_not_a_corner;
11814                     else
11815                       goto is_not_a_corner;
11816                   else
11817                     if (p[offset14] > cb)
11818                       if (p[offset15] > cb)
11819                         if (p[offset1] > cb)
11820                           if (p[offset3] > cb)
11821                             if (p[offset6] > cb)
11822                               goto is_a_corner;
11823                             else
11824                               if (p[offset13] > cb)
11825                                 goto is_a_corner;
11826                               else
11827                                 goto is_not_a_corner;
11828                           else
11829                             if (p[offset10] > cb)
11830                               if (p[offset11] > cb)
11831                                 if (p[offset12] > cb)
11832                                   if (p[offset13] > cb)
11833                                     goto is_a_corner;
11834                                   else
11835                                     goto is_not_a_corner;
11836                                 else
11837                                   goto is_not_a_corner;
11838                               else
11839                                 goto is_not_a_corner;
11840                             else
11841                               goto is_not_a_corner;
11842                         else
11843                           if (p[offset8] > cb)
11844                             if (p[offset9] > cb)
11845                               if (p[offset10] > cb)
11846                                 if (p[offset11] > cb)
11847                                   if (p[offset12] > cb)
11848                                     if (p[offset13] > cb)
11849                                       goto is_a_corner;
11850                                     else
11851                                       goto is_not_a_corner;
11852                                   else
11853                                     goto is_not_a_corner;
11854                                 else
11855                                   goto is_not_a_corner;
11856                               else
11857                                 goto is_not_a_corner;
11858                             else
11859                               goto is_not_a_corner;
11860                           else
11861                             goto is_not_a_corner;
11862                       else
11863                         goto is_not_a_corner;
11864                     else
11865                       goto is_not_a_corner;
11866                 else if (p[offset5] < c_b)
11867                   if (p[offset12] > cb)
11868                     if (p[offset13] > cb)
11869                       if (p[offset14] > cb)
11870                         if (p[offset15] > cb)
11871                           if (p[offset1] > cb)
11872                             if (p[offset3] > cb)
11873                               goto is_a_corner;
11874                             else
11875                               if (p[offset10] > cb)
11876                                 if (p[offset11] > cb)
11877                                   goto is_a_corner;
11878                                 else
11879                                   goto is_not_a_corner;
11880                               else
11881                                 goto is_not_a_corner;
11882                           else
11883                             if (p[offset8] > cb)
11884                               if (p[offset9] > cb)
11885                                 if (p[offset10] > cb)
11886                                   if (p[offset11] > cb)
11887                                     goto is_a_corner;
11888                                   else
11889                                     goto is_not_a_corner;
11890                                 else
11891                                   goto is_not_a_corner;
11892                               else
11893                                 goto is_not_a_corner;
11894                             else
11895                               goto is_not_a_corner;
11896                         else
11897                           if (p[offset6] > cb)
11898                             if (p[offset7] > cb)
11899                               if (p[offset8] > cb)
11900                                 if (p[offset9] > cb)
11901                                   if (p[offset10] > cb)
11902                                     if (p[offset11] > cb)
11903                                       goto is_a_corner;
11904                                     else
11905                                       goto is_not_a_corner;
11906                                   else
11907                                     goto is_not_a_corner;
11908                                 else
11909                                   goto is_not_a_corner;
11910                               else
11911                                 goto is_not_a_corner;
11912                             else
11913                               goto is_not_a_corner;
11914                           else
11915                             goto is_not_a_corner;
11916                       else
11917                         goto is_not_a_corner;
11918                     else
11919                       goto is_not_a_corner;
11920                   else if (p[offset12] < c_b)
11921                     if (p[offset7] < c_b)
11922                       if (p[offset8] < c_b)
11923                         if (p[offset9] < c_b)
11924                           if (p[offset10] < c_b)
11925                             if (p[offset11] < c_b)
11926                               if (p[offset13] < c_b)
11927                                 if (p[offset6] < c_b)
11928                                   goto is_a_corner;
11929                                 else
11930                                   if (p[offset14] < c_b)
11931                                     if (p[offset15] < c_b)
11932                                       goto is_a_corner;
11933                                     else
11934                                       goto is_not_a_corner;
11935                                   else
11936                                     goto is_not_a_corner;
11937                               else
11938                                 goto is_not_a_corner;
11939                             else
11940                               goto is_not_a_corner;
11941                           else
11942                             goto is_not_a_corner;
11943                         else
11944                           goto is_not_a_corner;
11945                       else
11946                         goto is_not_a_corner;
11947                     else
11948                       goto is_not_a_corner;
11949                   else
11950                     goto is_not_a_corner;
11951                 else
11952                   if (p[offset12] > cb)
11953                     if (p[offset13] > cb)
11954                       if (p[offset14] > cb)
11955                         if (p[offset15] > cb)
11956                           if (p[offset1] > cb)
11957                             if (p[offset3] > cb)
11958                               goto is_a_corner;
11959                             else
11960                               if (p[offset10] > cb)
11961                                 if (p[offset11] > cb)
11962                                   goto is_a_corner;
11963                                 else
11964                                   goto is_not_a_corner;
11965                               else
11966                                 goto is_not_a_corner;
11967                           else
11968                             if (p[offset8] > cb)
11969                               if (p[offset9] > cb)
11970                                 if (p[offset10] > cb)
11971                                   if (p[offset11] > cb)
11972                                     goto is_a_corner;
11973                                   else
11974                                     goto is_not_a_corner;
11975                                 else
11976                                   goto is_not_a_corner;
11977                               else
11978                                 goto is_not_a_corner;
11979                             else
11980                               goto is_not_a_corner;
11981                         else
11982                           if (p[offset6] > cb)
11983                             if (p[offset7] > cb)
11984                               if (p[offset8] > cb)
11985                                 if (p[offset9] > cb)
11986                                   if (p[offset10] > cb)
11987                                     if (p[offset11] > cb)
11988                                       goto is_a_corner;
11989                                     else
11990                                       goto is_not_a_corner;
11991                                   else
11992                                     goto is_not_a_corner;
11993                                 else
11994                                   goto is_not_a_corner;
11995                               else
11996                                 goto is_not_a_corner;
11997                             else
11998                               goto is_not_a_corner;
11999                           else
12000                             goto is_not_a_corner;
12001                       else
12002                         goto is_not_a_corner;
12003                     else
12004                       goto is_not_a_corner;
12005                   else if (p[offset12] < c_b)
12006                     if (p[offset7] < c_b)
12007                       if (p[offset8] < c_b)
12008                         if (p[offset9] < c_b)
12009                           if (p[offset10] < c_b)
12010                             if (p[offset11] < c_b)
12011                               if (p[offset13] < c_b)
12012                                 if (p[offset14] < c_b)
12013                                   if (p[offset6] < c_b)
12014                                     goto is_a_corner;
12015                                   else
12016                                     if (p[offset15] < c_b)
12017                                       goto is_a_corner;
12018                                     else
12019                                       goto is_not_a_corner;
12020                                 else
12021                                   goto is_not_a_corner;
12022                               else
12023                                 goto is_not_a_corner;
12024                             else
12025                               goto is_not_a_corner;
12026                           else
12027                             goto is_not_a_corner;
12028                         else
12029                           goto is_not_a_corner;
12030                       else
12031                         goto is_not_a_corner;
12032                     else
12033                       goto is_not_a_corner;
12034                   else
12035                     goto is_not_a_corner;
12036               else if (p[offset4] < c_b)
12037                 if (p[offset11] > cb)
12038                   if (p[offset12] > cb)
12039                     if (p[offset13] > cb)
12040                       if (p[offset10] > cb)
12041                         if (p[offset14] > cb)
12042                           if (p[offset15] > cb)
12043                             if (p[offset1] > cb)
12044                               goto is_a_corner;
12045                             else
12046                               if (p[offset8] > cb)
12047                                 if (p[offset9] > cb)
12048                                   goto is_a_corner;
12049                                 else
12050                                   goto is_not_a_corner;
12051                               else
12052                                 goto is_not_a_corner;
12053                           else
12054                             if (p[offset6] > cb)
12055                               if (p[offset7] > cb)
12056                                 if (p[offset8] > cb)
12057                                   if (p[offset9] > cb)
12058                                     goto is_a_corner;
12059                                   else
12060                                     goto is_not_a_corner;
12061                                 else
12062                                   goto is_not_a_corner;
12063                               else
12064                                 goto is_not_a_corner;
12065                             else
12066                               goto is_not_a_corner;
12067                         else
12068                           if (p[offset5] > cb)
12069                             if (p[offset6] > cb)
12070                               if (p[offset7] > cb)
12071                                 if (p[offset8] > cb)
12072                                   if (p[offset9] > cb)
12073                                     goto is_a_corner;
12074                                   else
12075                                     goto is_not_a_corner;
12076                                 else
12077                                   goto is_not_a_corner;
12078                               else
12079                                 goto is_not_a_corner;
12080                             else
12081                               goto is_not_a_corner;
12082                           else
12083                             goto is_not_a_corner;
12084                       else
12085                         if (p[offset1] > cb)
12086                           if (p[offset3] > cb)
12087                             if (p[offset14] > cb)
12088                               if (p[offset15] > cb)
12089                                 goto is_a_corner;
12090                               else
12091                                 goto is_not_a_corner;
12092                             else
12093                               goto is_not_a_corner;
12094                           else
12095                             goto is_not_a_corner;
12096                         else
12097                           goto is_not_a_corner;
12098                     else
12099                       goto is_not_a_corner;
12100                   else
12101                     goto is_not_a_corner;
12102                 else if (p[offset11] < c_b)
12103                   if (p[offset7] < c_b)
12104                     if (p[offset8] < c_b)
12105                       if (p[offset9] < c_b)
12106                         if (p[offset10] < c_b)
12107                           if (p[offset6] < c_b)
12108                             if (p[offset5] < c_b)
12109                               if (p[offset3] < c_b)
12110                                 goto is_a_corner;
12111                               else
12112                                 if (p[offset12] < c_b)
12113                                   goto is_a_corner;
12114                                 else
12115                                   goto is_not_a_corner;
12116                             else
12117                               if (p[offset12] < c_b)
12118                                 if (p[offset13] < c_b)
12119                                   if (p[offset14] < c_b)
12120                                     goto is_a_corner;
12121                                   else
12122                                     goto is_not_a_corner;
12123                                 else
12124                                   goto is_not_a_corner;
12125                               else
12126                                 goto is_not_a_corner;
12127                           else
12128                             if (p[offset12] < c_b)
12129                               if (p[offset13] < c_b)
12130                                 if (p[offset14] < c_b)
12131                                   if (p[offset15] < c_b)
12132                                     goto is_a_corner;
12133                                   else
12134                                     goto is_not_a_corner;
12135                                 else
12136                                   goto is_not_a_corner;
12137                               else
12138                                 goto is_not_a_corner;
12139                             else
12140                               goto is_not_a_corner;
12141                         else
12142                           goto is_not_a_corner;
12143                       else
12144                         goto is_not_a_corner;
12145                     else
12146                       goto is_not_a_corner;
12147                   else
12148                     goto is_not_a_corner;
12149                 else
12150                   goto is_not_a_corner;
12151               else
12152                 if (p[offset11] > cb)
12153                   if (p[offset12] > cb)
12154                     if (p[offset13] > cb)
12155                       if (p[offset10] > cb)
12156                         if (p[offset14] > cb)
12157                           if (p[offset15] > cb)
12158                             if (p[offset1] > cb)
12159                               goto is_a_corner;
12160                             else
12161                               if (p[offset8] > cb)
12162                                 if (p[offset9] > cb)
12163                                   goto is_a_corner;
12164                                 else
12165                                   goto is_not_a_corner;
12166                               else
12167                                 goto is_not_a_corner;
12168                           else
12169                             if (p[offset6] > cb)
12170                               if (p[offset7] > cb)
12171                                 if (p[offset8] > cb)
12172                                   if (p[offset9] > cb)
12173                                     goto is_a_corner;
12174                                   else
12175                                     goto is_not_a_corner;
12176                                 else
12177                                   goto is_not_a_corner;
12178                               else
12179                                 goto is_not_a_corner;
12180                             else
12181                               goto is_not_a_corner;
12182                         else
12183                           if (p[offset5] > cb)
12184                             if (p[offset6] > cb)
12185                               if (p[offset7] > cb)
12186                                 if (p[offset8] > cb)
12187                                   if (p[offset9] > cb)
12188                                     goto is_a_corner;
12189                                   else
12190                                     goto is_not_a_corner;
12191                                 else
12192                                   goto is_not_a_corner;
12193                               else
12194                                 goto is_not_a_corner;
12195                             else
12196                               goto is_not_a_corner;
12197                           else
12198                             goto is_not_a_corner;
12199                       else
12200                         if (p[offset1] > cb)
12201                           if (p[offset3] > cb)
12202                             if (p[offset14] > cb)
12203                               if (p[offset15] > cb)
12204                                 goto is_a_corner;
12205                               else
12206                                 goto is_not_a_corner;
12207                             else
12208                               goto is_not_a_corner;
12209                           else
12210                             goto is_not_a_corner;
12211                         else
12212                           goto is_not_a_corner;
12213                     else
12214                       goto is_not_a_corner;
12215                   else
12216                     goto is_not_a_corner;
12217                 else if (p[offset11] < c_b)
12218                   if (p[offset7] < c_b)
12219                     if (p[offset8] < c_b)
12220                       if (p[offset9] < c_b)
12221                         if (p[offset10] < c_b)
12222                           if (p[offset12] < c_b)
12223                             if (p[offset13] < c_b)
12224                               if (p[offset6] < c_b)
12225                                 if (p[offset5] < c_b)
12226                                   goto is_a_corner;
12227                                 else
12228                                   if (p[offset14] < c_b)
12229                                     goto is_a_corner;
12230                                   else
12231                                     goto is_not_a_corner;
12232                               else
12233                                 if (p[offset14] < c_b)
12234                                   if (p[offset15] < c_b)
12235                                     goto is_a_corner;
12236                                   else
12237                                     goto is_not_a_corner;
12238                                 else
12239                                   goto is_not_a_corner;
12240                             else
12241                               goto is_not_a_corner;
12242                           else
12243                             goto is_not_a_corner;
12244                         else
12245                           goto is_not_a_corner;
12246                       else
12247                         goto is_not_a_corner;
12248                     else
12249                       goto is_not_a_corner;
12250                   else
12251                     goto is_not_a_corner;
12252                 else
12253                   goto is_not_a_corner;
12254             else if (p[offset2] < c_b)
12255               if (p[offset9] > cb)
12256                 if (p[offset10] > cb)
12257                   if (p[offset11] > cb)
12258                     if (p[offset8] > cb)
12259                       if (p[offset12] > cb)
12260                         if (p[offset13] > cb)
12261                           if (p[offset14] > cb)
12262                             if (p[offset15] > cb)
12263                               goto is_a_corner;
12264                             else
12265                               if (p[offset6] > cb)
12266                                 if (p[offset7] > cb)
12267                                   goto is_a_corner;
12268                                 else
12269                                   goto is_not_a_corner;
12270                               else
12271                                 goto is_not_a_corner;
12272                           else
12273                             if (p[offset5] > cb)
12274                               if (p[offset6] > cb)
12275                                 if (p[offset7] > cb)
12276                                   goto is_a_corner;
12277                                 else
12278                                   goto is_not_a_corner;
12279                               else
12280                                 goto is_not_a_corner;
12281                             else
12282                               goto is_not_a_corner;
12283                         else
12284                           if (p[offset4] > cb)
12285                             if (p[offset5] > cb)
12286                               if (p[offset6] > cb)
12287                                 if (p[offset7] > cb)
12288                                   goto is_a_corner;
12289                                 else
12290                                   goto is_not_a_corner;
12291                               else
12292                                 goto is_not_a_corner;
12293                             else
12294                               goto is_not_a_corner;
12295                           else
12296                             goto is_not_a_corner;
12297                       else
12298                         if (p[offset3] > cb)
12299                           if (p[offset4] > cb)
12300                             if (p[offset5] > cb)
12301                               if (p[offset6] > cb)
12302                                 if (p[offset7] > cb)
12303                                   goto is_a_corner;
12304                                 else
12305                                   goto is_not_a_corner;
12306                               else
12307                                 goto is_not_a_corner;
12308                             else
12309                               goto is_not_a_corner;
12310                           else
12311                             goto is_not_a_corner;
12312                         else
12313                           goto is_not_a_corner;
12314                     else
12315                       if (p[offset1] > cb)
12316                         if (p[offset12] > cb)
12317                           if (p[offset13] > cb)
12318                             if (p[offset14] > cb)
12319                               if (p[offset15] > cb)
12320                                 goto is_a_corner;
12321                               else
12322                                 goto is_not_a_corner;
12323                             else
12324                               goto is_not_a_corner;
12325                           else
12326                             goto is_not_a_corner;
12327                         else
12328                           goto is_not_a_corner;
12329                       else
12330                         goto is_not_a_corner;
12331                   else
12332                     goto is_not_a_corner;
12333                 else
12334                   goto is_not_a_corner;
12335               else if (p[offset9] < c_b)
12336                 if (p[offset7] < c_b)
12337                   if (p[offset8] < c_b)
12338                     if (p[offset6] < c_b)
12339                       if (p[offset5] < c_b)
12340                         if (p[offset4] < c_b)
12341                           if (p[offset3] < c_b)
12342                             if (p[offset1] < c_b)
12343                               goto is_a_corner;
12344                             else
12345                               if (p[offset10] < c_b)
12346                                 goto is_a_corner;
12347                               else
12348                                 goto is_not_a_corner;
12349                           else
12350                             if (p[offset10] < c_b)
12351                               if (p[offset11] < c_b)
12352                                 if (p[offset12] < c_b)
12353                                   goto is_a_corner;
12354                                 else
12355                                   goto is_not_a_corner;
12356                               else
12357                                 goto is_not_a_corner;
12358                             else
12359                               goto is_not_a_corner;
12360                         else
12361                           if (p[offset10] < c_b)
12362                             if (p[offset11] < c_b)
12363                               if (p[offset12] < c_b)
12364                                 if (p[offset13] < c_b)
12365                                   goto is_a_corner;
12366                                 else
12367                                   goto is_not_a_corner;
12368                               else
12369                                 goto is_not_a_corner;
12370                             else
12371                               goto is_not_a_corner;
12372                           else
12373                             goto is_not_a_corner;
12374                       else
12375                         if (p[offset10] < c_b)
12376                           if (p[offset11] < c_b)
12377                             if (p[offset12] < c_b)
12378                               if (p[offset13] < c_b)
12379                                 if (p[offset14] < c_b)
12380                                   goto is_a_corner;
12381                                 else
12382                                   goto is_not_a_corner;
12383                               else
12384                                 goto is_not_a_corner;
12385                             else
12386                               goto is_not_a_corner;
12387                           else
12388                             goto is_not_a_corner;
12389                         else
12390                           goto is_not_a_corner;
12391                     else
12392                       if (p[offset10] < c_b)
12393                         if (p[offset11] < c_b)
12394                           if (p[offset12] < c_b)
12395                             if (p[offset13] < c_b)
12396                               if (p[offset14] < c_b)
12397                                 if (p[offset15] < c_b)
12398                                   goto is_a_corner;
12399                                 else
12400                                   goto is_not_a_corner;
12401                               else
12402                                 goto is_not_a_corner;
12403                             else
12404                               goto is_not_a_corner;
12405                           else
12406                             goto is_not_a_corner;
12407                         else
12408                           goto is_not_a_corner;
12409                       else
12410                         goto is_not_a_corner;
12411                   else
12412                     goto is_not_a_corner;
12413                 else
12414                   goto is_not_a_corner;
12415               else
12416                 goto is_not_a_corner;
12417             else
12418               if (p[offset9] > cb)
12419                 if (p[offset10] > cb)
12420                   if (p[offset11] > cb)
12421                     if (p[offset8] > cb)
12422                       if (p[offset12] > cb)
12423                         if (p[offset13] > cb)
12424                           if (p[offset14] > cb)
12425                             if (p[offset15] > cb)
12426                               goto is_a_corner;
12427                             else
12428                               if (p[offset6] > cb)
12429                                 if (p[offset7] > cb)
12430                                   goto is_a_corner;
12431                                 else
12432                                   goto is_not_a_corner;
12433                               else
12434                                 goto is_not_a_corner;
12435                           else
12436                             if (p[offset5] > cb)
12437                               if (p[offset6] > cb)
12438                                 if (p[offset7] > cb)
12439                                   goto is_a_corner;
12440                                 else
12441                                   goto is_not_a_corner;
12442                               else
12443                                 goto is_not_a_corner;
12444                             else
12445                               goto is_not_a_corner;
12446                         else
12447                           if (p[offset4] > cb)
12448                             if (p[offset5] > cb)
12449                               if (p[offset6] > cb)
12450                                 if (p[offset7] > cb)
12451                                   goto is_a_corner;
12452                                 else
12453                                   goto is_not_a_corner;
12454                               else
12455                                 goto is_not_a_corner;
12456                             else
12457                               goto is_not_a_corner;
12458                           else
12459                             goto is_not_a_corner;
12460                       else
12461                         if (p[offset3] > cb)
12462                           if (p[offset4] > cb)
12463                             if (p[offset5] > cb)
12464                               if (p[offset6] > cb)
12465                                 if (p[offset7] > cb)
12466                                   goto is_a_corner;
12467                                 else
12468                                   goto is_not_a_corner;
12469                               else
12470                                 goto is_not_a_corner;
12471                             else
12472                               goto is_not_a_corner;
12473                           else
12474                             goto is_not_a_corner;
12475                         else
12476                           goto is_not_a_corner;
12477                     else
12478                       if (p[offset1] > cb)
12479                         if (p[offset12] > cb)
12480                           if (p[offset13] > cb)
12481                             if (p[offset14] > cb)
12482                               if (p[offset15] > cb)
12483                                 goto is_a_corner;
12484                               else
12485                                 goto is_not_a_corner;
12486                             else
12487                               goto is_not_a_corner;
12488                           else
12489                             goto is_not_a_corner;
12490                         else
12491                           goto is_not_a_corner;
12492                       else
12493                         goto is_not_a_corner;
12494                   else
12495                     goto is_not_a_corner;
12496                 else
12497                   goto is_not_a_corner;
12498               else if (p[offset9] < c_b)
12499                 if (p[offset7] < c_b)
12500                   if (p[offset8] < c_b)
12501                     if (p[offset10] < c_b)
12502                       if (p[offset11] < c_b)
12503                         if (p[offset6] < c_b)
12504                           if (p[offset5] < c_b)
12505                             if (p[offset4] < c_b)
12506                               if (p[offset3] < c_b)
12507                                 goto is_a_corner;
12508                               else
12509                                 if (p[offset12] < c_b)
12510                                   goto is_a_corner;
12511                                 else
12512                                   goto is_not_a_corner;
12513                             else
12514                               if (p[offset12] < c_b)
12515                                 if (p[offset13] < c_b)
12516                                   goto is_a_corner;
12517                                 else
12518                                   goto is_not_a_corner;
12519                               else
12520                                 goto is_not_a_corner;
12521                           else
12522                             if (p[offset12] < c_b)
12523                               if (p[offset13] < c_b)
12524                                 if (p[offset14] < c_b)
12525                                   goto is_a_corner;
12526                                 else
12527                                   goto is_not_a_corner;
12528                               else
12529                                 goto is_not_a_corner;
12530                             else
12531                               goto is_not_a_corner;
12532                         else
12533                           if (p[offset12] < c_b)
12534                             if (p[offset13] < c_b)
12535                               if (p[offset14] < c_b)
12536                                 if (p[offset15] < c_b)
12537                                   goto is_a_corner;
12538                                 else
12539                                   goto is_not_a_corner;
12540                               else
12541                                 goto is_not_a_corner;
12542                             else
12543                               goto is_not_a_corner;
12544                           else
12545                             goto is_not_a_corner;
12546                       else
12547                         goto is_not_a_corner;
12548                     else
12549                       goto is_not_a_corner;
12550                   else
12551                     goto is_not_a_corner;
12552                 else
12553                   goto is_not_a_corner;
12554               else
12555                 goto is_not_a_corner;
12556           else if (p[offset0] < c_b)
12557             if (p[offset2] > cb)
12558               if (p[offset9] > cb)
12559                 if (p[offset7] > cb)
12560                   if (p[offset8] > cb)
12561                     if (p[offset6] > cb)
12562                       if (p[offset5] > cb)
12563                         if (p[offset4] > cb)
12564                           if (p[offset3] > cb)
12565                             if (p[offset1] > cb)
12566                               goto is_a_corner;
12567                             else
12568                               if (p[offset10] > cb)
12569                                 goto is_a_corner;
12570                               else
12571                                 goto is_not_a_corner;
12572                           else
12573                             if (p[offset10] > cb)
12574                               if (p[offset11] > cb)
12575                                 if (p[offset12] > cb)
12576                                   goto is_a_corner;
12577                                 else
12578                                   goto is_not_a_corner;
12579                               else
12580                                 goto is_not_a_corner;
12581                             else
12582                               goto is_not_a_corner;
12583                         else
12584                           if (p[offset10] > cb)
12585                             if (p[offset11] > cb)
12586                               if (p[offset12] > cb)
12587                                 if (p[offset13] > cb)
12588                                   goto is_a_corner;
12589                                 else
12590                                   goto is_not_a_corner;
12591                               else
12592                                 goto is_not_a_corner;
12593                             else
12594                               goto is_not_a_corner;
12595                           else
12596                             goto is_not_a_corner;
12597                       else
12598                         if (p[offset10] > cb)
12599                           if (p[offset11] > cb)
12600                             if (p[offset12] > cb)
12601                               if (p[offset13] > cb)
12602                                 if (p[offset14] > cb)
12603                                   goto is_a_corner;
12604                                 else
12605                                   goto is_not_a_corner;
12606                               else
12607                                 goto is_not_a_corner;
12608                             else
12609                               goto is_not_a_corner;
12610                           else
12611                             goto is_not_a_corner;
12612                         else
12613                           goto is_not_a_corner;
12614                     else
12615                       if (p[offset10] > cb)
12616                         if (p[offset11] > cb)
12617                           if (p[offset12] > cb)
12618                             if (p[offset13] > cb)
12619                               if (p[offset14] > cb)
12620                                 if (p[offset15] > cb)
12621                                   goto is_a_corner;
12622                                 else
12623                                   goto is_not_a_corner;
12624                               else
12625                                 goto is_not_a_corner;
12626                             else
12627                               goto is_not_a_corner;
12628                           else
12629                             goto is_not_a_corner;
12630                         else
12631                           goto is_not_a_corner;
12632                       else
12633                         goto is_not_a_corner;
12634                   else
12635                     goto is_not_a_corner;
12636                 else
12637                   goto is_not_a_corner;
12638               else if (p[offset9] < c_b)
12639                 if (p[offset10] < c_b)
12640                   if (p[offset11] < c_b)
12641                     if (p[offset8] < c_b)
12642                       if (p[offset12] < c_b)
12643                         if (p[offset13] < c_b)
12644                           if (p[offset14] < c_b)
12645                             if (p[offset15] < c_b)
12646                               goto is_a_corner;
12647                             else
12648                               if (p[offset6] < c_b)
12649                                 if (p[offset7] < c_b)
12650                                   goto is_a_corner;
12651                                 else
12652                                   goto is_not_a_corner;
12653                               else
12654                                 goto is_not_a_corner;
12655                           else
12656                             if (p[offset5] < c_b)
12657                               if (p[offset6] < c_b)
12658                                 if (p[offset7] < c_b)
12659                                   goto is_a_corner;
12660                                 else
12661                                   goto is_not_a_corner;
12662                               else
12663                                 goto is_not_a_corner;
12664                             else
12665                               goto is_not_a_corner;
12666                         else
12667                           if (p[offset4] < c_b)
12668                             if (p[offset5] < c_b)
12669                               if (p[offset6] < c_b)
12670                                 if (p[offset7] < c_b)
12671                                   goto is_a_corner;
12672                                 else
12673                                   goto is_not_a_corner;
12674                               else
12675                                 goto is_not_a_corner;
12676                             else
12677                               goto is_not_a_corner;
12678                           else
12679                             goto is_not_a_corner;
12680                       else
12681                         if (p[offset3] < c_b)
12682                           if (p[offset4] < c_b)
12683                             if (p[offset5] < c_b)
12684                               if (p[offset6] < c_b)
12685                                 if (p[offset7] < c_b)
12686                                   goto is_a_corner;
12687                                 else
12688                                   goto is_not_a_corner;
12689                               else
12690                                 goto is_not_a_corner;
12691                             else
12692                               goto is_not_a_corner;
12693                           else
12694                             goto is_not_a_corner;
12695                         else
12696                           goto is_not_a_corner;
12697                     else
12698                       if (p[offset1] < c_b)
12699                         if (p[offset12] < c_b)
12700                           if (p[offset13] < c_b)
12701                             if (p[offset14] < c_b)
12702                               if (p[offset15] < c_b)
12703                                 goto is_a_corner;
12704                               else
12705                                 goto is_not_a_corner;
12706                             else
12707                               goto is_not_a_corner;
12708                           else
12709                             goto is_not_a_corner;
12710                         else
12711                           goto is_not_a_corner;
12712                       else
12713                         goto is_not_a_corner;
12714                   else
12715                     goto is_not_a_corner;
12716                 else
12717                   goto is_not_a_corner;
12718               else
12719                 goto is_not_a_corner;
12720             else if (p[offset2] < c_b)
12721               if (p[offset4] > cb)
12722                 if (p[offset11] > cb)
12723                   if (p[offset7] > cb)
12724                     if (p[offset8] > cb)
12725                       if (p[offset9] > cb)
12726                         if (p[offset10] > cb)
12727                           if (p[offset6] > cb)
12728                             if (p[offset5] > cb)
12729                               if (p[offset3] > cb)
12730                                 goto is_a_corner;
12731                               else
12732                                 if (p[offset12] > cb)
12733                                   goto is_a_corner;
12734                                 else
12735                                   goto is_not_a_corner;
12736                             else
12737                               if (p[offset12] > cb)
12738                                 if (p[offset13] > cb)
12739                                   if (p[offset14] > cb)
12740                                     goto is_a_corner;
12741                                   else
12742                                     goto is_not_a_corner;
12743                                 else
12744                                   goto is_not_a_corner;
12745                               else
12746                                 goto is_not_a_corner;
12747                           else
12748                             if (p[offset12] > cb)
12749                               if (p[offset13] > cb)
12750                                 if (p[offset14] > cb)
12751                                   if (p[offset15] > cb)
12752                                     goto is_a_corner;
12753                                   else
12754                                     goto is_not_a_corner;
12755                                 else
12756                                   goto is_not_a_corner;
12757                               else
12758                                 goto is_not_a_corner;
12759                             else
12760                               goto is_not_a_corner;
12761                         else
12762                           goto is_not_a_corner;
12763                       else
12764                         goto is_not_a_corner;
12765                     else
12766                       goto is_not_a_corner;
12767                   else
12768                     goto is_not_a_corner;
12769                 else if (p[offset11] < c_b)
12770                   if (p[offset12] < c_b)
12771                     if (p[offset13] < c_b)
12772                       if (p[offset10] < c_b)
12773                         if (p[offset14] < c_b)
12774                           if (p[offset15] < c_b)
12775                             if (p[offset1] < c_b)
12776                               goto is_a_corner;
12777                             else
12778                               if (p[offset8] < c_b)
12779                                 if (p[offset9] < c_b)
12780                                   goto is_a_corner;
12781                                 else
12782                                   goto is_not_a_corner;
12783                               else
12784                                 goto is_not_a_corner;
12785                           else
12786                             if (p[offset6] < c_b)
12787                               if (p[offset7] < c_b)
12788                                 if (p[offset8] < c_b)
12789                                   if (p[offset9] < c_b)
12790                                     goto is_a_corner;
12791                                   else
12792                                     goto is_not_a_corner;
12793                                 else
12794                                   goto is_not_a_corner;
12795                               else
12796                                 goto is_not_a_corner;
12797                             else
12798                               goto is_not_a_corner;
12799                         else
12800                           if (p[offset5] < c_b)
12801                             if (p[offset6] < c_b)
12802                               if (p[offset7] < c_b)
12803                                 if (p[offset8] < c_b)
12804                                   if (p[offset9] < c_b)
12805                                     goto is_a_corner;
12806                                   else
12807                                     goto is_not_a_corner;
12808                                 else
12809                                   goto is_not_a_corner;
12810                               else
12811                                 goto is_not_a_corner;
12812                             else
12813                               goto is_not_a_corner;
12814                           else
12815                             goto is_not_a_corner;
12816                       else
12817                         if (p[offset1] < c_b)
12818                           if (p[offset3] < c_b)
12819                             if (p[offset14] < c_b)
12820                               if (p[offset15] < c_b)
12821                                 goto is_a_corner;
12822                               else
12823                                 goto is_not_a_corner;
12824                             else
12825                               goto is_not_a_corner;
12826                           else
12827                             goto is_not_a_corner;
12828                         else
12829                           goto is_not_a_corner;
12830                     else
12831                       goto is_not_a_corner;
12832                   else
12833                     goto is_not_a_corner;
12834                 else
12835                   goto is_not_a_corner;
12836               else if (p[offset4] < c_b)
12837                 if (p[offset5] > cb)
12838                   if (p[offset12] > cb)
12839                     if (p[offset7] > cb)
12840                       if (p[offset8] > cb)
12841                         if (p[offset9] > cb)
12842                           if (p[offset10] > cb)
12843                             if (p[offset11] > cb)
12844                               if (p[offset13] > cb)
12845                                 if (p[offset6] > cb)
12846                                   goto is_a_corner;
12847                                 else
12848                                   if (p[offset14] > cb)
12849                                     if (p[offset15] > cb)
12850                                       goto is_a_corner;
12851                                     else
12852                                       goto is_not_a_corner;
12853                                   else
12854                                     goto is_not_a_corner;
12855                               else
12856                                 goto is_not_a_corner;
12857                             else
12858                               goto is_not_a_corner;
12859                           else
12860                             goto is_not_a_corner;
12861                         else
12862                           goto is_not_a_corner;
12863                       else
12864                         goto is_not_a_corner;
12865                     else
12866                       goto is_not_a_corner;
12867                   else if (p[offset12] < c_b)
12868                     if (p[offset13] < c_b)
12869                       if (p[offset14] < c_b)
12870                         if (p[offset15] < c_b)
12871                           if (p[offset1] < c_b)
12872                             if (p[offset3] < c_b)
12873                               goto is_a_corner;
12874                             else
12875                               if (p[offset10] < c_b)
12876                                 if (p[offset11] < c_b)
12877                                   goto is_a_corner;
12878                                 else
12879                                   goto is_not_a_corner;
12880                               else
12881                                 goto is_not_a_corner;
12882                           else
12883                             if (p[offset8] < c_b)
12884                               if (p[offset9] < c_b)
12885                                 if (p[offset10] < c_b)
12886                                   if (p[offset11] < c_b)
12887                                     goto is_a_corner;
12888                                   else
12889                                     goto is_not_a_corner;
12890                                 else
12891                                   goto is_not_a_corner;
12892                               else
12893                                 goto is_not_a_corner;
12894                             else
12895                               goto is_not_a_corner;
12896                         else
12897                           if (p[offset6] < c_b)
12898                             if (p[offset7] < c_b)
12899                               if (p[offset8] < c_b)
12900                                 if (p[offset9] < c_b)
12901                                   if (p[offset10] < c_b)
12902                                     if (p[offset11] < c_b)
12903                                       goto is_a_corner;
12904                                     else
12905                                       goto is_not_a_corner;
12906                                   else
12907                                     goto is_not_a_corner;
12908                                 else
12909                                   goto is_not_a_corner;
12910                               else
12911                                 goto is_not_a_corner;
12912                             else
12913                               goto is_not_a_corner;
12914                           else
12915                             goto is_not_a_corner;
12916                       else
12917                         goto is_not_a_corner;
12918                     else
12919                       goto is_not_a_corner;
12920                   else
12921                     goto is_not_a_corner;
12922                 else if (p[offset5] < c_b)
12923                   if (p[offset7] > cb)
12924                     if (p[offset14] > cb)
12925                       if (p[offset8] > cb)
12926                         if (p[offset9] > cb)
12927                           if (p[offset10] > cb)
12928                             if (p[offset11] > cb)
12929                               if (p[offset12] > cb)
12930                                 if (p[offset13] > cb)
12931                                   if (p[offset6] > cb)
12932                                     goto is_a_corner;
12933                                   else
12934                                     if (p[offset15] > cb)
12935                                       goto is_a_corner;
12936                                     else
12937                                       goto is_not_a_corner;
12938                                 else
12939                                   goto is_not_a_corner;
12940                               else
12941                                 goto is_not_a_corner;
12942                             else
12943                               goto is_not_a_corner;
12944                           else
12945                             goto is_not_a_corner;
12946                         else
12947                           goto is_not_a_corner;
12948                       else
12949                         goto is_not_a_corner;
12950                     else if (p[offset14] < c_b)
12951                       if (p[offset15] < c_b)
12952                         if (p[offset1] < c_b)
12953                           if (p[offset3] < c_b)
12954                             if (p[offset6] < c_b)
12955                               goto is_a_corner;
12956                             else
12957                               if (p[offset13] < c_b)
12958                                 goto is_a_corner;
12959                               else
12960                                 goto is_not_a_corner;
12961                           else
12962                             if (p[offset10] < c_b)
12963                               if (p[offset11] < c_b)
12964                                 if (p[offset12] < c_b)
12965                                   if (p[offset13] < c_b)
12966                                     goto is_a_corner;
12967                                   else
12968                                     goto is_not_a_corner;
12969                                 else
12970                                   goto is_not_a_corner;
12971                               else
12972                                 goto is_not_a_corner;
12973                             else
12974                               goto is_not_a_corner;
12975                         else
12976                           if (p[offset8] < c_b)
12977                             if (p[offset9] < c_b)
12978                               if (p[offset10] < c_b)
12979                                 if (p[offset11] < c_b)
12980                                   if (p[offset12] < c_b)
12981                                     if (p[offset13] < c_b)
12982                                       goto is_a_corner;
12983                                     else
12984                                       goto is_not_a_corner;
12985                                   else
12986                                     goto is_not_a_corner;
12987                                 else
12988                                   goto is_not_a_corner;
12989                               else
12990                                 goto is_not_a_corner;
12991                             else
12992                               goto is_not_a_corner;
12993                           else
12994                             goto is_not_a_corner;
12995                       else
12996                         goto is_not_a_corner;
12997                     else
12998                       goto is_not_a_corner;
12999                   else if (p[offset7] < c_b)
13000                     if (p[offset3] < c_b)
13001                       if (p[offset1] < c_b)
13002                         if (p[offset6] < c_b)
13003                           if (p[offset8] < c_b)
13004                             goto is_a_corner;
13005                           else
13006                             if (p[offset15] < c_b)
13007                               goto is_a_corner;
13008                             else
13009                               goto is_not_a_corner;
13010                         else
13011                           if (p[offset13] < c_b)
13012                             if (p[offset14] < c_b)
13013                               if (p[offset15] < c_b)
13014                                 goto is_a_corner;
13015                               else
13016                                 goto is_not_a_corner;
13017                             else
13018                               goto is_not_a_corner;
13019                           else
13020                             goto is_not_a_corner;
13021                       else
13022                         if (p[offset8] < c_b)
13023                           if (p[offset9] < c_b)
13024                             if (p[offset10] < c_b)
13025                               if (p[offset6] < c_b)
13026                                 goto is_a_corner;
13027                               else
13028                                 if (p[offset11] < c_b)
13029                                   if (p[offset12] < c_b)
13030                                     if (p[offset13] < c_b)
13031                                       if (p[offset14] < c_b)
13032                                         if (p[offset15] < c_b)
13033                                           goto is_a_corner;
13034                                         else
13035                                           goto is_not_a_corner;
13036                                       else
13037                                         goto is_not_a_corner;
13038                                     else
13039                                       goto is_not_a_corner;
13040                                   else
13041                                     goto is_not_a_corner;
13042                                 else
13043                                   goto is_not_a_corner;
13044                             else
13045                               goto is_not_a_corner;
13046                           else
13047                             goto is_not_a_corner;
13048                         else
13049                           goto is_not_a_corner;
13050                     else
13051                       if (p[offset10] < c_b)
13052                         if (p[offset11] < c_b)
13053                           if (p[offset12] < c_b)
13054                             if (p[offset8] < c_b)
13055                               if (p[offset9] < c_b)
13056                                 if (p[offset6] < c_b)
13057                                   goto is_a_corner;
13058                                 else
13059                                   if (p[offset13] < c_b)
13060                                     if (p[offset14] < c_b)
13061                                       if (p[offset15] < c_b)
13062                                         goto is_a_corner;
13063                                       else
13064                                         goto is_not_a_corner;
13065                                     else
13066                                       goto is_not_a_corner;
13067                                   else
13068                                     goto is_not_a_corner;
13069                               else
13070                                 if (p[offset1] < c_b)
13071                                   if (p[offset13] < c_b)
13072                                     if (p[offset14] < c_b)
13073                                       if (p[offset15] < c_b)
13074                                         goto is_a_corner;
13075                                       else
13076                                         goto is_not_a_corner;
13077                                     else
13078                                       goto is_not_a_corner;
13079                                   else
13080                                     goto is_not_a_corner;
13081                                 else
13082                                   goto is_not_a_corner;
13083                             else
13084                               if (p[offset1] < c_b)
13085                                 if (p[offset13] < c_b)
13086                                   if (p[offset14] < c_b)
13087                                     if (p[offset15] < c_b)
13088                                       goto is_a_corner;
13089                                     else
13090                                       goto is_not_a_corner;
13091                                   else
13092                                     goto is_not_a_corner;
13093                                 else
13094                                   goto is_not_a_corner;
13095                               else
13096                                 goto is_not_a_corner;
13097                           else
13098                             goto is_not_a_corner;
13099                         else
13100                           goto is_not_a_corner;
13101                       else
13102                         goto is_not_a_corner;
13103                   else
13104                     if (p[offset14] < c_b)
13105                       if (p[offset15] < c_b)
13106                         if (p[offset1] < c_b)
13107                           if (p[offset3] < c_b)
13108                             if (p[offset6] < c_b)
13109                               goto is_a_corner;
13110                             else
13111                               if (p[offset13] < c_b)
13112                                 goto is_a_corner;
13113                               else
13114                                 goto is_not_a_corner;
13115                           else
13116                             if (p[offset10] < c_b)
13117                               if (p[offset11] < c_b)
13118                                 if (p[offset12] < c_b)
13119                                   if (p[offset13] < c_b)
13120                                     goto is_a_corner;
13121                                   else
13122                                     goto is_not_a_corner;
13123                                 else
13124                                   goto is_not_a_corner;
13125                               else
13126                                 goto is_not_a_corner;
13127                             else
13128                               goto is_not_a_corner;
13129                         else
13130                           if (p[offset8] < c_b)
13131                             if (p[offset9] < c_b)
13132                               if (p[offset10] < c_b)
13133                                 if (p[offset11] < c_b)
13134                                   if (p[offset12] < c_b)
13135                                     if (p[offset13] < c_b)
13136                                       goto is_a_corner;
13137                                     else
13138                                       goto is_not_a_corner;
13139                                   else
13140                                     goto is_not_a_corner;
13141                                 else
13142                                   goto is_not_a_corner;
13143                               else
13144                                 goto is_not_a_corner;
13145                             else
13146                               goto is_not_a_corner;
13147                           else
13148                             goto is_not_a_corner;
13149                       else
13150                         goto is_not_a_corner;
13151                     else
13152                       goto is_not_a_corner;
13153                 else
13154                   if (p[offset12] > cb)
13155                     if (p[offset7] > cb)
13156                       if (p[offset8] > cb)
13157                         if (p[offset9] > cb)
13158                           if (p[offset10] > cb)
13159                             if (p[offset11] > cb)
13160                               if (p[offset13] > cb)
13161                                 if (p[offset14] > cb)
13162                                   if (p[offset6] > cb)
13163                                     goto is_a_corner;
13164                                   else
13165                                     if (p[offset15] > cb)
13166                                       goto is_a_corner;
13167                                     else
13168                                       goto is_not_a_corner;
13169                                 else
13170                                   goto is_not_a_corner;
13171                               else
13172                                 goto is_not_a_corner;
13173                             else
13174                               goto is_not_a_corner;
13175                           else
13176                             goto is_not_a_corner;
13177                         else
13178                           goto is_not_a_corner;
13179                       else
13180                         goto is_not_a_corner;
13181                     else
13182                       goto is_not_a_corner;
13183                   else if (p[offset12] < c_b)
13184                     if (p[offset13] < c_b)
13185                       if (p[offset14] < c_b)
13186                         if (p[offset15] < c_b)
13187                           if (p[offset1] < c_b)
13188                             if (p[offset3] < c_b)
13189                               goto is_a_corner;
13190                             else
13191                               if (p[offset10] < c_b)
13192                                 if (p[offset11] < c_b)
13193                                   goto is_a_corner;
13194                                 else
13195                                   goto is_not_a_corner;
13196                               else
13197                                 goto is_not_a_corner;
13198                           else
13199                             if (p[offset8] < c_b)
13200                               if (p[offset9] < c_b)
13201                                 if (p[offset10] < c_b)
13202                                   if (p[offset11] < c_b)
13203                                     goto is_a_corner;
13204                                   else
13205                                     goto is_not_a_corner;
13206                                 else
13207                                   goto is_not_a_corner;
13208                               else
13209                                 goto is_not_a_corner;
13210                             else
13211                               goto is_not_a_corner;
13212                         else
13213                           if (p[offset6] < c_b)
13214                             if (p[offset7] < c_b)
13215                               if (p[offset8] < c_b)
13216                                 if (p[offset9] < c_b)
13217                                   if (p[offset10] < c_b)
13218                                     if (p[offset11] < c_b)
13219                                       goto is_a_corner;
13220                                     else
13221                                       goto is_not_a_corner;
13222                                   else
13223                                     goto is_not_a_corner;
13224                                 else
13225                                   goto is_not_a_corner;
13226                               else
13227                                 goto is_not_a_corner;
13228                             else
13229                               goto is_not_a_corner;
13230                           else
13231                             goto is_not_a_corner;
13232                       else
13233                         goto is_not_a_corner;
13234                     else
13235                       goto is_not_a_corner;
13236                   else
13237                     goto is_not_a_corner;
13238               else
13239                 if (p[offset11] > cb)
13240                   if (p[offset7] > cb)
13241                     if (p[offset8] > cb)
13242                       if (p[offset9] > cb)
13243                         if (p[offset10] > cb)
13244                           if (p[offset12] > cb)
13245                             if (p[offset13] > cb)
13246                               if (p[offset6] > cb)
13247                                 if (p[offset5] > cb)
13248                                   goto is_a_corner;
13249                                 else
13250                                   if (p[offset14] > cb)
13251                                     goto is_a_corner;
13252                                   else
13253                                     goto is_not_a_corner;
13254                               else
13255                                 if (p[offset14] > cb)
13256                                   if (p[offset15] > cb)
13257                                     goto is_a_corner;
13258                                   else
13259                                     goto is_not_a_corner;
13260                                 else
13261                                   goto is_not_a_corner;
13262                             else
13263                               goto is_not_a_corner;
13264                           else
13265                             goto is_not_a_corner;
13266                         else
13267                           goto is_not_a_corner;
13268                       else
13269                         goto is_not_a_corner;
13270                     else
13271                       goto is_not_a_corner;
13272                   else
13273                     goto is_not_a_corner;
13274                 else if (p[offset11] < c_b)
13275                   if (p[offset12] < c_b)
13276                     if (p[offset13] < c_b)
13277                       if (p[offset10] < c_b)
13278                         if (p[offset14] < c_b)
13279                           if (p[offset15] < c_b)
13280                             if (p[offset1] < c_b)
13281                               goto is_a_corner;
13282                             else
13283                               if (p[offset8] < c_b)
13284                                 if (p[offset9] < c_b)
13285                                   goto is_a_corner;
13286                                 else
13287                                   goto is_not_a_corner;
13288                               else
13289                                 goto is_not_a_corner;
13290                           else
13291                             if (p[offset6] < c_b)
13292                               if (p[offset7] < c_b)
13293                                 if (p[offset8] < c_b)
13294                                   if (p[offset9] < c_b)
13295                                     goto is_a_corner;
13296                                   else
13297                                     goto is_not_a_corner;
13298                                 else
13299                                   goto is_not_a_corner;
13300                               else
13301                                 goto is_not_a_corner;
13302                             else
13303                               goto is_not_a_corner;
13304                         else
13305                           if (p[offset5] < c_b)
13306                             if (p[offset6] < c_b)
13307                               if (p[offset7] < c_b)
13308                                 if (p[offset8] < c_b)
13309                                   if (p[offset9] < c_b)
13310                                     goto is_a_corner;
13311                                   else
13312                                     goto is_not_a_corner;
13313                                 else
13314                                   goto is_not_a_corner;
13315                               else
13316                                 goto is_not_a_corner;
13317                             else
13318                               goto is_not_a_corner;
13319                           else
13320                             goto is_not_a_corner;
13321                       else
13322                         if (p[offset1] < c_b)
13323                           if (p[offset3] < c_b)
13324                             if (p[offset14] < c_b)
13325                               if (p[offset15] < c_b)
13326                                 goto is_a_corner;
13327                               else
13328                                 goto is_not_a_corner;
13329                             else
13330                               goto is_not_a_corner;
13331                           else
13332                             goto is_not_a_corner;
13333                         else
13334                           goto is_not_a_corner;
13335                     else
13336                       goto is_not_a_corner;
13337                   else
13338                     goto is_not_a_corner;
13339                 else
13340                   goto is_not_a_corner;
13341             else
13342               if (p[offset9] > cb)
13343                 if (p[offset7] > cb)
13344                   if (p[offset8] > cb)
13345                     if (p[offset10] > cb)
13346                       if (p[offset11] > cb)
13347                         if (p[offset6] > cb)
13348                           if (p[offset5] > cb)
13349                             if (p[offset4] > cb)
13350                               if (p[offset3] > cb)
13351                                 goto is_a_corner;
13352                               else
13353                                 if (p[offset12] > cb)
13354                                   goto is_a_corner;
13355                                 else
13356                                   goto is_not_a_corner;
13357                             else
13358                               if (p[offset12] > cb)
13359                                 if (p[offset13] > cb)
13360                                   goto is_a_corner;
13361                                 else
13362                                   goto is_not_a_corner;
13363                               else
13364                                 goto is_not_a_corner;
13365                           else
13366                             if (p[offset12] > cb)
13367                               if (p[offset13] > cb)
13368                                 if (p[offset14] > cb)
13369                                   goto is_a_corner;
13370                                 else
13371                                   goto is_not_a_corner;
13372                               else
13373                                 goto is_not_a_corner;
13374                             else
13375                               goto is_not_a_corner;
13376                         else
13377                           if (p[offset12] > cb)
13378                             if (p[offset13] > cb)
13379                               if (p[offset14] > cb)
13380                                 if (p[offset15] > cb)
13381                                   goto is_a_corner;
13382                                 else
13383                                   goto is_not_a_corner;
13384                               else
13385                                 goto is_not_a_corner;
13386                             else
13387                               goto is_not_a_corner;
13388                           else
13389                             goto is_not_a_corner;
13390                       else
13391                         goto is_not_a_corner;
13392                     else
13393                       goto is_not_a_corner;
13394                   else
13395                     goto is_not_a_corner;
13396                 else
13397                   goto is_not_a_corner;
13398               else if (p[offset9] < c_b)
13399                 if (p[offset10] < c_b)
13400                   if (p[offset11] < c_b)
13401                     if (p[offset8] < c_b)
13402                       if (p[offset12] < c_b)
13403                         if (p[offset13] < c_b)
13404                           if (p[offset14] < c_b)
13405                             if (p[offset15] < c_b)
13406                               goto is_a_corner;
13407                             else
13408                               if (p[offset6] < c_b)
13409                                 if (p[offset7] < c_b)
13410                                   goto is_a_corner;
13411                                 else
13412                                   goto is_not_a_corner;
13413                               else
13414                                 goto is_not_a_corner;
13415                           else
13416                             if (p[offset5] < c_b)
13417                               if (p[offset6] < c_b)
13418                                 if (p[offset7] < c_b)
13419                                   goto is_a_corner;
13420                                 else
13421                                   goto is_not_a_corner;
13422                               else
13423                                 goto is_not_a_corner;
13424                             else
13425                               goto is_not_a_corner;
13426                         else
13427                           if (p[offset4] < c_b)
13428                             if (p[offset5] < c_b)
13429                               if (p[offset6] < c_b)
13430                                 if (p[offset7] < c_b)
13431                                   goto is_a_corner;
13432                                 else
13433                                   goto is_not_a_corner;
13434                               else
13435                                 goto is_not_a_corner;
13436                             else
13437                               goto is_not_a_corner;
13438                           else
13439                             goto is_not_a_corner;
13440                       else
13441                         if (p[offset3] < c_b)
13442                           if (p[offset4] < c_b)
13443                             if (p[offset5] < c_b)
13444                               if (p[offset6] < c_b)
13445                                 if (p[offset7] < c_b)
13446                                   goto is_a_corner;
13447                                 else
13448                                   goto is_not_a_corner;
13449                               else
13450                                 goto is_not_a_corner;
13451                             else
13452                               goto is_not_a_corner;
13453                           else
13454                             goto is_not_a_corner;
13455                         else
13456                           goto is_not_a_corner;
13457                     else
13458                       if (p[offset1] < c_b)
13459                         if (p[offset12] < c_b)
13460                           if (p[offset13] < c_b)
13461                             if (p[offset14] < c_b)
13462                               if (p[offset15] < c_b)
13463                                 goto is_a_corner;
13464                               else
13465                                 goto is_not_a_corner;
13466                             else
13467                               goto is_not_a_corner;
13468                           else
13469                             goto is_not_a_corner;
13470                         else
13471                           goto is_not_a_corner;
13472                       else
13473                         goto is_not_a_corner;
13474                   else
13475                     goto is_not_a_corner;
13476                 else
13477                   goto is_not_a_corner;
13478               else
13479                 goto is_not_a_corner;
13480           else
13481             if (p[offset7] > cb)
13482               if (p[offset8] > cb)
13483                 if (p[offset9] > cb)
13484                   if (p[offset6] > cb)
13485                     if (p[offset5] > cb)
13486                       if (p[offset4] > cb)
13487                         if (p[offset3] > cb)
13488                           if (p[offset2] > cb)
13489                             if (p[offset1] > cb)
13490                               goto is_a_corner;
13491                             else
13492                               if (p[offset10] > cb)
13493                                 goto is_a_corner;
13494                               else
13495                                 goto is_not_a_corner;
13496                           else
13497                             if (p[offset10] > cb)
13498                               if (p[offset11] > cb)
13499                                 goto is_a_corner;
13500                               else
13501                                 goto is_not_a_corner;
13502                             else
13503                               goto is_not_a_corner;
13504                         else
13505                           if (p[offset10] > cb)
13506                             if (p[offset11] > cb)
13507                               if (p[offset12] > cb)
13508                                 goto is_a_corner;
13509                               else
13510                                 goto is_not_a_corner;
13511                             else
13512                               goto is_not_a_corner;
13513                           else
13514                             goto is_not_a_corner;
13515                       else
13516                         if (p[offset10] > cb)
13517                           if (p[offset11] > cb)
13518                             if (p[offset12] > cb)
13519                               if (p[offset13] > cb)
13520                                 goto is_a_corner;
13521                               else
13522                                 goto is_not_a_corner;
13523                             else
13524                               goto is_not_a_corner;
13525                           else
13526                             goto is_not_a_corner;
13527                         else
13528                           goto is_not_a_corner;
13529                     else
13530                       if (p[offset10] > cb)
13531                         if (p[offset11] > cb)
13532                           if (p[offset12] > cb)
13533                             if (p[offset13] > cb)
13534                               if (p[offset14] > cb)
13535                                 goto is_a_corner;
13536                               else
13537                                 goto is_not_a_corner;
13538                             else
13539                               goto is_not_a_corner;
13540                           else
13541                             goto is_not_a_corner;
13542                         else
13543                           goto is_not_a_corner;
13544                       else
13545                         goto is_not_a_corner;
13546                   else
13547                     if (p[offset10] > cb)
13548                       if (p[offset11] > cb)
13549                         if (p[offset12] > cb)
13550                           if (p[offset13] > cb)
13551                             if (p[offset14] > cb)
13552                               if (p[offset15] > cb)
13553                                 goto is_a_corner;
13554                               else
13555                                 goto is_not_a_corner;
13556                             else
13557                               goto is_not_a_corner;
13558                           else
13559                             goto is_not_a_corner;
13560                         else
13561                           goto is_not_a_corner;
13562                       else
13563                         goto is_not_a_corner;
13564                     else
13565                       goto is_not_a_corner;
13566                 else
13567                   goto is_not_a_corner;
13568               else
13569                 goto is_not_a_corner;
13570             else if (p[offset7] < c_b)
13571               if (p[offset8] < c_b)
13572                 if (p[offset9] < c_b)
13573                   if (p[offset6] < c_b)
13574                     if (p[offset5] < c_b)
13575                       if (p[offset4] < c_b)
13576                         if (p[offset3] < c_b)
13577                           if (p[offset2] < c_b)
13578                             if (p[offset1] < c_b)
13579                               goto is_a_corner;
13580                             else
13581                               if (p[offset10] < c_b)
13582                                 goto is_a_corner;
13583                               else
13584                                 goto is_not_a_corner;
13585                           else
13586                             if (p[offset10] < c_b)
13587                               if (p[offset11] < c_b)
13588                                 goto is_a_corner;
13589                               else
13590                                 goto is_not_a_corner;
13591                             else
13592                               goto is_not_a_corner;
13593                         else
13594                           if (p[offset10] < c_b)
13595                             if (p[offset11] < c_b)
13596                               if (p[offset12] < c_b)
13597                                 goto is_a_corner;
13598                               else
13599                                 goto is_not_a_corner;
13600                             else
13601                               goto is_not_a_corner;
13602                           else
13603                             goto is_not_a_corner;
13604                       else
13605                         if (p[offset10] < c_b)
13606                           if (p[offset11] < c_b)
13607                             if (p[offset12] < c_b)
13608                               if (p[offset13] < c_b)
13609                                 goto is_a_corner;
13610                               else
13611                                 goto is_not_a_corner;
13612                             else
13613                               goto is_not_a_corner;
13614                           else
13615                             goto is_not_a_corner;
13616                         else
13617                           goto is_not_a_corner;
13618                     else
13619                       if (p[offset10] < c_b)
13620                         if (p[offset11] < c_b)
13621                           if (p[offset12] < c_b)
13622                             if (p[offset13] < c_b)
13623                               if (p[offset14] < c_b)
13624                                 goto is_a_corner;
13625                               else
13626                                 goto is_not_a_corner;
13627                             else
13628                               goto is_not_a_corner;
13629                           else
13630                             goto is_not_a_corner;
13631                         else
13632                           goto is_not_a_corner;
13633                       else
13634                         goto is_not_a_corner;
13635                   else
13636                     if (p[offset10] < c_b)
13637                       if (p[offset11] < c_b)
13638                         if (p[offset12] < c_b)
13639                           if (p[offset13] < c_b)
13640                             if (p[offset14] < c_b)
13641                               if (p[offset15] < c_b)
13642                                 goto is_a_corner;
13643                               else
13644                                 goto is_not_a_corner;
13645                             else
13646                               goto is_not_a_corner;
13647                           else
13648                             goto is_not_a_corner;
13649                         else
13650                           goto is_not_a_corner;
13651                       else
13652                         goto is_not_a_corner;
13653                     else
13654                       goto is_not_a_corner;
13655                 else
13656                   goto is_not_a_corner;
13657               else
13658                 goto is_not_a_corner;
13659             else
13660               goto is_not_a_corner;
13661 
13662           is_a_corner:
13663             bmin = T2 (b_test);
13664             goto end;
13665 
13666           is_not_a_corner:
13667             bmax = T2 (b_test);
13668             goto end;
13669 
13670           end:
13671 
13672           if (bmin == bmax - 1 || bmin == bmax)
13673             return (int (bmin));
13674           b_test = int ((bmin + bmax) / 2);
13675         }
13676       }
13677     } // namespace agast
13678   } // namespace keypoints
13679 } // namespace pcl
13680 
13684 void
13685 pcl::keypoints::agast::OastDetector9_16::initPattern ()
13686 {
13687   s_offset0_  = static_cast<int_fast16_t> ((-3) + (0)  * width_);
13688   s_offset1_  = static_cast<int_fast16_t> ((-3) + (-1) * width_);
13689   s_offset2_  = static_cast<int_fast16_t> ((-2) + (-2) * width_);
13690   s_offset3_  = static_cast<int_fast16_t> ((-1) + (-3) * width_);
13691   s_offset4_  = static_cast<int_fast16_t> ((0)  + (-3) * width_);
13692   s_offset5_  = static_cast<int_fast16_t> ((1)  + (-3) * width_);
13693   s_offset6_  = static_cast<int_fast16_t> ((2)  + (-2) * width_);
13694   s_offset7_  = static_cast<int_fast16_t> ((3)  + (-1) * width_);
13695   s_offset8_  = static_cast<int_fast16_t> ((3)  + (0)  * width_);
13696   s_offset9_  = static_cast<int_fast16_t> ((3)  + (1)  * width_);
13697   s_offset10_ = static_cast<int_fast16_t> ((2)  + (2)  * width_);
13698   s_offset11_ = static_cast<int_fast16_t> ((1)  + (3)  * width_);
13699   s_offset12_ = static_cast<int_fast16_t> ((0)  + (3)  * width_);
13700   s_offset13_ = static_cast<int_fast16_t> ((-1) + (3)  * width_);
13701   s_offset14_ = static_cast<int_fast16_t> ((-2) + (2)  * width_);
13702   s_offset15_ = static_cast<int_fast16_t> ((-3) + (1)  * width_);
13703 }
13704 
13706 void
13707 pcl::keypoints::agast::OastDetector9_16::detect (const unsigned char* im, std::vector<pcl::PointUV, Eigen::aligned_allocator<pcl::PointUV> > & corners) const
13708 {
13709   return (pcl::keypoints::agast::OastDetector9_16_detect<unsigned char, int> (
13710         im, int (width_), int (height_), threshold_, 
13711         s_offset0_, 
13712         s_offset1_,
13713         s_offset2_,
13714         s_offset3_,
13715         s_offset4_,
13716         s_offset5_,
13717         s_offset6_,
13718         s_offset7_,
13719         s_offset8_,
13720         s_offset9_,
13721         s_offset10_,
13722         s_offset11_,
13723         s_offset12_,
13724         s_offset13_,
13725         s_offset14_,
13726         s_offset15_,
13727         corners));
13728 }
13729 
13731 void
13732 pcl::keypoints::agast::OastDetector9_16::detect (const float* im, std::vector<pcl::PointUV, Eigen::aligned_allocator<pcl::PointUV> > & corners) const
13733 {
13734   return (pcl::keypoints::agast::OastDetector9_16_detect<float, float> (
13735         im, int (width_), int (height_), threshold_, 
13736         s_offset0_, 
13737         s_offset1_,
13738         s_offset2_,
13739         s_offset3_,
13740         s_offset4_,
13741         s_offset5_,
13742         s_offset6_,
13743         s_offset7_,
13744         s_offset8_,
13745         s_offset9_,
13746         s_offset10_,
13747         s_offset11_,
13748         s_offset12_,
13749         s_offset13_,
13750         s_offset14_,
13751         s_offset15_,
13752         corners));
13753 }
13754 
13756 int
13757 pcl::keypoints::agast::OastDetector9_16::computeCornerScore (const unsigned char* p) const
13758 {
13759   return (pcl::keypoints::agast::OastDetector9_16_computeCornerScore<unsigned char, int> (
13760         p, bmax_, threshold_, 
13761         s_offset0_, 
13762         s_offset1_,
13763         s_offset2_,
13764         s_offset3_,
13765         s_offset4_,
13766         s_offset5_,
13767         s_offset6_,
13768         s_offset7_,
13769         s_offset8_,
13770         s_offset9_,
13771         s_offset10_,
13772         s_offset11_,
13773         s_offset12_,
13774         s_offset13_,
13775         s_offset14_,
13776         s_offset15_));
13777 }
13778 
13780 int
13781 pcl::keypoints::agast::OastDetector9_16::computeCornerScore (const float* p) const
13782 {
13783   return (pcl::keypoints::agast::OastDetector9_16_computeCornerScore<float, float> (
13784         p, bmax_, threshold_, 
13785         s_offset0_, 
13786         s_offset1_,
13787         s_offset2_,
13788         s_offset3_,
13789         s_offset4_,
13790         s_offset5_,
13791         s_offset6_,
13792         s_offset7_,
13793         s_offset8_,
13794         s_offset9_,
13795         s_offset10_,
13796         s_offset11_,
13797         s_offset12_,
13798         s_offset13_,
13799         s_offset14_,
13800         s_offset15_));
13801 }
13802 


pcl
Author(s): Open Perception
autogenerated on Wed Aug 26 2015 15:22:32