// Copyright (c) 2006, 2008 Edward Rosten
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
//
//  *Redistributions of source code must retain the above copyright
//   notice, this list of conditions and the following disclaimer.
//
//  *Redistributions in binary form must reproduce the above copyright
//   notice, this list of conditions and the following disclaimer in the
//   documentation and/or other materials provided with the distribution.
//
//  *Neither the name of the University of Cambridge nor the names of
//   its contributors may be used to endorse or promote products derived
//   from this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER
// OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

// clang-format off
/*This is mechanically generated code*/
#include <stdlib.h>
#include "fast.h"

int aom_fast9_corner_score(const byte* p, const int pixel[], int bstart)
{
  int bmin = bstart;
  int bmax = 255;
  int b = (bmax + bmin)/2;

  /*Compute the score using binary search*/
  for(;;)
  {
    int cb = *p + b;
    int c_b= *p - b;


    if( p[pixel[0]] > cb)
      if( p[pixel[1]] > cb)
        if( p[pixel[2]] > cb)
          if( p[pixel[3]] > cb)
            if( p[pixel[4]] > cb)
              if( p[pixel[5]] > cb)
                if( p[pixel[6]] > cb)
                  if( p[pixel[7]] > cb)
                    if( p[pixel[8]] > cb)
                      goto is_a_corner;
                    else
                      if( p[pixel[15]] > cb)
                        goto is_a_corner;
                      else
                        goto is_not_a_corner;
                  else if( p[pixel[7]] < c_b)
                    if( p[pixel[14]] > cb)
                      if( p[pixel[15]] > cb)
                        goto is_a_corner;
                      else
                        goto is_not_a_corner;
                    else if( p[pixel[14]] < c_b)
                      if( p[pixel[8]] < c_b)
                        if( p[pixel[9]] < c_b)
                          if( p[pixel[10]] < c_b)
                            if( p[pixel[11]] < c_b)
                              if( p[pixel[12]] < c_b)
                                if( p[pixel[13]] < c_b)
                                  if( p[pixel[15]] < c_b)
                                    goto is_a_corner;
                                  else
                                    goto is_not_a_corner;
                                else
                                  goto is_not_a_corner;
                              else
                                goto is_not_a_corner;
                            else
                              goto is_not_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                      else
                        goto is_not_a_corner;
                    else
                      goto is_not_a_corner;
                  else
                    if( p[pixel[14]] > cb)
                      if( p[pixel[15]] > cb)
                        goto is_a_corner;
                      else
                        goto is_not_a_corner;
                    else
                      goto is_not_a_corner;
                else if( p[pixel[6]] < c_b)
                  if( p[pixel[15]] > cb)
                    if( p[pixel[13]] > cb)
                      if( p[pixel[14]] > cb)
                        goto is_a_corner;
                      else
                        goto is_not_a_corner;
                    else if( p[pixel[13]] < c_b)
                      if( p[pixel[7]] < c_b)
                        if( p[pixel[8]] < c_b)
                          if( p[pixel[9]] < c_b)
                            if( p[pixel[10]] < c_b)
                              if( p[pixel[11]] < c_b)
                                if( p[pixel[12]] < c_b)
                                  if( p[pixel[14]] < c_b)
                                    goto is_a_corner;
                                  else
                                    goto is_not_a_corner;
                                else
                                  goto is_not_a_corner;
                              else
                                goto is_not_a_corner;
                            else
                              goto is_not_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                      else
                        goto is_not_a_corner;
                    else
                      goto is_not_a_corner;
                  else
                    if( p[pixel[7]] < c_b)
                      if( p[pixel[8]] < c_b)
                        if( p[pixel[9]] < c_b)
                          if( p[pixel[10]] < c_b)
                            if( p[pixel[11]] < c_b)
                              if( p[pixel[12]] < c_b)
                                if( p[pixel[13]] < c_b)
                                  if( p[pixel[14]] < c_b)
                                    goto is_a_corner;
                                  else
                                    goto is_not_a_corner;
                                else
                                  goto is_not_a_corner;
                              else
                                goto is_not_a_corner;
                            else
                              goto is_not_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                      else
                        goto is_not_a_corner;
                    else
                      goto is_not_a_corner;
                else
                  if( p[pixel[13]] > cb)
                    if( p[pixel[14]] > cb)
                      if( p[pixel[15]] > cb)
                        goto is_a_corner;
                      else
                        goto is_not_a_corner;
                    else
                      goto is_not_a_corner;
                  else if( p[pixel[13]] < c_b)
                    if( p[pixel[7]] < c_b)
                      if( p[pixel[8]] < c_b)
                        if( p[pixel[9]] < c_b)
                          if( p[pixel[10]] < c_b)
                            if( p[pixel[11]] < c_b)
                              if( p[pixel[12]] < c_b)
                                if( p[pixel[14]] < c_b)
                                  if( p[pixel[15]] < c_b)
                                    goto is_a_corner;
                                  else
                                    goto is_not_a_corner;
                                else
                                  goto is_not_a_corner;
                              else
                                goto is_not_a_corner;
                            else
                              goto is_not_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                      else
                        goto is_not_a_corner;
                    else
                      goto is_not_a_corner;
                  else
                    goto is_not_a_corner;
              else if( p[pixel[5]] < c_b)
                if( p[pixel[14]] > cb)
                  if( p[pixel[12]] > cb)
                    if( p[pixel[13]] > cb)
                      if( p[pixel[15]] > cb)
                        goto is_a_corner;
                      else
                        if( p[pixel[6]] > cb)
                          if( p[pixel[7]] > cb)
                            if( p[pixel[8]] > cb)
                              if( p[pixel[9]] > cb)
                                if( p[pixel[10]] > cb)
                                  if( p[pixel[11]] > cb)
                                    goto is_a_corner;
                                  else
                                    goto is_not_a_corner;
                                else
                                  goto is_not_a_corner;
                              else
                                goto is_not_a_corner;
                            else
                              goto is_not_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                    else
                      goto is_not_a_corner;
                  else if( p[pixel[12]] < c_b)
                    if( p[pixel[6]] < c_b)
                      if( p[pixel[7]] < c_b)
                        if( p[pixel[8]] < c_b)
                          if( p[pixel[9]] < c_b)
                            if( p[pixel[10]] < c_b)
                              if( p[pixel[11]] < c_b)
                                if( p[pixel[13]] < c_b)
                                  goto is_a_corner;
                                else
                                  goto is_not_a_corner;
                              else
                                goto is_not_a_corner;
                            else
                              goto is_not_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                      else
                        goto is_not_a_corner;
                    else
                      goto is_not_a_corner;
                  else
                    goto is_not_a_corner;
                else if( p[pixel[14]] < c_b)
                  if( p[pixel[7]] < c_b)
                    if( p[pixel[8]] < c_b)
                      if( p[pixel[9]] < c_b)
                        if( p[pixel[10]] < c_b)
                          if( p[pixel[11]] < c_b)
                            if( p[pixel[12]] < c_b)
                              if( p[pixel[13]] < c_b)
                                if( p[pixel[6]] < c_b)
                                  goto is_a_corner;
                                else
                                  if( p[pixel[15]] < c_b)
                                    goto is_a_corner;
                                  else
                                    goto is_not_a_corner;
                              else
                                goto is_not_a_corner;
                            else
                              goto is_not_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                      else
                        goto is_not_a_corner;
                    else
                      goto is_not_a_corner;
                  else
                    goto is_not_a_corner;
                else
                  if( p[pixel[6]] < c_b)
                    if( p[pixel[7]] < c_b)
                      if( p[pixel[8]] < c_b)
                        if( p[pixel[9]] < c_b)
                          if( p[pixel[10]] < c_b)
                            if( p[pixel[11]] < c_b)
                              if( p[pixel[12]] < c_b)
                                if( p[pixel[13]] < c_b)
                                  goto is_a_corner;
                                else
                                  goto is_not_a_corner;
                              else
                                goto is_not_a_corner;
                            else
                              goto is_not_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                      else
                        goto is_not_a_corner;
                    else
                      goto is_not_a_corner;
                  else
                    goto is_not_a_corner;
              else
                if( p[pixel[12]] > cb)
                  if( p[pixel[13]] > cb)
                    if( p[pixel[14]] > cb)
                      if( p[pixel[15]] > cb)
                        goto is_a_corner;
                      else
                        if( p[pixel[6]] > cb)
                          if( p[pixel[7]] > cb)
                            if( p[pixel[8]] > cb)
                              if( p[pixel[9]] > cb)
                                if( p[pixel[10]] > cb)
                                  if( p[pixel[11]] > cb)
                                    goto is_a_corner;
                                  else
                                    goto is_not_a_corner;
                                else
                                  goto is_not_a_corner;
                              else
                                goto is_not_a_corner;
                            else
                              goto is_not_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                    else
                      goto is_not_a_corner;
                  else
                    goto is_not_a_corner;
                else if( p[pixel[12]] < c_b)
                  if( p[pixel[7]] < c_b)
                    if( p[pixel[8]] < c_b)
                      if( p[pixel[9]] < c_b)
                        if( p[pixel[10]] < c_b)
                          if( p[pixel[11]] < c_b)
                            if( p[pixel[13]] < c_b)
                              if( p[pixel[14]] < c_b)
                                if( p[pixel[6]] < c_b)
                                  goto is_a_corner;
                                else
                                  if( p[pixel[15]] < c_b)
                                    goto is_a_corner;
                                  else
                                    goto is_not_a_corner;
                              else
                                goto is_not_a_corner;
                            else
                              goto is_not_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                      else
                        goto is_not_a_corner;
                    else
                      goto is_not_a_corner;
                  else
                    goto is_not_a_corner;
                else
                  goto is_not_a_corner;
            else if( p[pixel[4]] < c_b)
              if( p[pixel[13]] > cb)
                if( p[pixel[11]] > cb)
                  if( p[pixel[12]] > cb)
                    if( p[pixel[14]] > cb)
                      if( p[pixel[15]] > cb)
                        goto is_a_corner;
                      else
                        if( p[pixel[6]] > cb)
                          if( p[pixel[7]] > cb)
                            if( p[pixel[8]] > cb)
                              if( p[pixel[9]] > cb)
                                if( p[pixel[10]] > cb)
                                  goto is_a_corner;
                                else
                                  goto is_not_a_corner;
                              else
                                goto is_not_a_corner;
                            else
                              goto is_not_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                    else
                      if( p[pixel[5]] > cb)
                        if( p[pixel[6]] > cb)
                          if( p[pixel[7]] > cb)
                            if( p[pixel[8]] > cb)
                              if( p[pixel[9]] > cb)
                                if( p[pixel[10]] > cb)
                                  goto is_a_corner;
                                else
                                  goto is_not_a_corner;
                              else
                                goto is_not_a_corner;
                            else
                              goto is_not_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                      else
                        goto is_not_a_corner;
                  else
                    goto is_not_a_corner;
                else if( p[pixel[11]] < c_b)
                  if( p[pixel[5]] < c_b)
                    if( p[pixel[6]] < c_b)
                      if( p[pixel[7]] < c_b)
                        if( p[pixel[8]] < c_b)
                          if( p[pixel[9]] < c_b)
                            if( p[pixel[10]] < c_b)
                              if( p[pixel[12]] < c_b)
                                goto is_a_corner;
                              else
                                goto is_not_a_corner;
                            else
                              goto is_not_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                      else
                        goto is_not_a_corner;
                    else
                      goto is_not_a_corner;
                  else
                    goto is_not_a_corner;
                else
                  goto is_not_a_corner;
              else if( p[pixel[13]] < c_b)
                if( p[pixel[7]] < c_b)
                  if( p[pixel[8]] < c_b)
                    if( p[pixel[9]] < c_b)
                      if( p[pixel[10]] < c_b)
                        if( p[pixel[11]] < c_b)
                          if( p[pixel[12]] < c_b)
                            if( p[pixel[6]] < c_b)
                              if( p[pixel[5]] < c_b)
                                goto is_a_corner;
                              else
                                if( p[pixel[14]] < c_b)
                                  goto is_a_corner;
                                else
                                  goto is_not_a_corner;
                            else
                              if( p[pixel[14]] < c_b)
                                if( p[pixel[15]] < c_b)
                                  goto is_a_corner;
                                else
                                  goto is_not_a_corner;
                              else
                                goto is_not_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                      else
                        goto is_not_a_corner;
                    else
                      goto is_not_a_corner;
                  else
                    goto is_not_a_corner;
                else
                  goto is_not_a_corner;
              else
                if( p[pixel[5]] < c_b)
                  if( p[pixel[6]] < c_b)
                    if( p[pixel[7]] < c_b)
                      if( p[pixel[8]] < c_b)
                        if( p[pixel[9]] < c_b)
                          if( p[pixel[10]] < c_b)
                            if( p[pixel[11]] < c_b)
                              if( p[pixel[12]] < c_b)
                                goto is_a_corner;
                              else
                                goto is_not_a_corner;
                            else
                              goto is_not_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                      else
                        goto is_not_a_corner;
                    else
                      goto is_not_a_corner;
                  else
                    goto is_not_a_corner;
                else
                  goto is_not_a_corner;
            else
              if( p[pixel[11]] > cb)
                if( p[pixel[12]] > cb)
                  if( p[pixel[13]] > cb)
                    if( p[pixel[14]] > cb)
                      if( p[pixel[15]] > cb)
                        goto is_a_corner;
                      else
                        if( p[pixel[6]] > cb)
                          if( p[pixel[7]] > cb)
                            if( p[pixel[8]] > cb)
                              if( p[pixel[9]] > cb)
                                if( p[pixel[10]] > cb)
                                  goto is_a_corner;
                                else
                                  goto is_not_a_corner;
                              else
                                goto is_not_a_corner;
                            else
                              goto is_not_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                    else
                      if( p[pixel[5]] > cb)
                        if( p[pixel[6]] > cb)
                          if( p[pixel[7]] > cb)
                            if( p[pixel[8]] > cb)
                              if( p[pixel[9]] > cb)
                                if( p[pixel[10]] > cb)
                                  goto is_a_corner;
                                else
                                  goto is_not_a_corner;
                              else
                                goto is_not_a_corner;
                            else
                              goto is_not_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                      else
                        goto is_not_a_corner;
                  else
                    goto is_not_a_corner;
                else
                  goto is_not_a_corner;
              else if( p[pixel[11]] < c_b)
                if( p[pixel[7]] < c_b)
                  if( p[pixel[8]] < c_b)
                    if( p[pixel[9]] < c_b)
                      if( p[pixel[10]] < c_b)
                        if( p[pixel[12]] < c_b)
                          if( p[pixel[13]] < c_b)
                            if( p[pixel[6]] < c_b)
                              if( p[pixel[5]] < c_b)
                                goto is_a_corner;
                              else
                                if( p[pixel[14]] < c_b)
                                  goto is_a_corner;
                                else
                                  goto is_not_a_corner;
                            else
                              if( p[pixel[14]] < c_b)
                                if( p[pixel[15]] < c_b)
                                  goto is_a_corner;
                                else
                                  goto is_not_a_corner;
                              else
                                goto is_not_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                      else
                        goto is_not_a_corner;
                    else
                      goto is_not_a_corner;
                  else
                    goto is_not_a_corner;
                else
                  goto is_not_a_corner;
              else
                goto is_not_a_corner;
          else if( p[pixel[3]] < c_b)
            if( p[pixel[10]] > cb)
              if( p[pixel[11]] > cb)
                if( p[pixel[12]] > cb)
                  if( p[pixel[13]] > cb)
                    if( p[pixel[14]] > cb)
                      if( p[pixel[15]] > cb)
                        goto is_a_corner;
                      else
                        if( p[pixel[6]] > cb)
                          if( p[pixel[7]] > cb)
                            if( p[pixel[8]] > cb)
                              if( p[pixel[9]] > cb)
                                goto is_a_corner;
                              else
                                goto is_not_a_corner;
                            else
                              goto is_not_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                    else
                      if( p[pixel[5]] > cb)
                        if( p[pixel[6]] > cb)
                          if( p[pixel[7]] > cb)
                            if( p[pixel[8]] > cb)
                              if( p[pixel[9]] > cb)
                                goto is_a_corner;
                              else
                                goto is_not_a_corner;
                            else
                              goto is_not_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                      else
                        goto is_not_a_corner;
                  else
                    if( p[pixel[4]] > cb)
                      if( p[pixel[5]] > cb)
                        if( p[pixel[6]] > cb)
                          if( p[pixel[7]] > cb)
                            if( p[pixel[8]] > cb)
                              if( p[pixel[9]] > cb)
                                goto is_a_corner;
                              else
                                goto is_not_a_corner;
                            else
                              goto is_not_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                      else
                        goto is_not_a_corner;
                    else
                      goto is_not_a_corner;
                else
                  goto is_not_a_corner;
              else
                goto is_not_a_corner;
            else if( p[pixel[10]] < c_b)
              if( p[pixel[7]] < c_b)
                if( p[pixel[8]] < c_b)
                  if( p[pixel[9]] < c_b)
                    if( p[pixel[11]] < c_b)
                      if( p[pixel[6]] < c_b)
                        if( p[pixel[5]] < c_b)
                          if( p[pixel[4]] < c_b)
                            goto is_a_corner;
                          else
                            if( p[pixel[12]] < c_b)
                              if( p[pixel[13]] < c_b)
                                goto is_a_corner;
                              else
                                goto is_not_a_corner;
                            else
                              goto is_not_a_corner;
                        else
                          if( p[pixel[12]] < c_b)
                            if( p[pixel[13]] < c_b)
                              if( p[pixel[14]] < c_b)
                                goto is_a_corner;
                              else
                                goto is_not_a_corner;
                            else
                              goto is_not_a_corner;
                          else
                            goto is_not_a_corner;
                      else
                        if( p[pixel[12]] < c_b)
                          if( p[pixel[13]] < c_b)
                            if( p[pixel[14]] < c_b)
                              if( p[pixel[15]] < c_b)
                                goto is_a_corner;
                              else
                                goto is_not_a_corner;
                            else
                              goto is_not_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                    else
                      goto is_not_a_corner;
                  else
                    goto is_not_a_corner;
                else
                  goto is_not_a_corner;
              else
                goto is_not_a_corner;
            else
              goto is_not_a_corner;
          else
            if( p[pixel[10]] > cb)
              if( p[pixel[11]] > cb)
                if( p[pixel[12]] > cb)
                  if( p[pixel[13]] > cb)
                    if( p[pixel[14]] > cb)
                      if( p[pixel[15]] > cb)
                        goto is_a_corner;
                      else
                        if( p[pixel[6]] > cb)
                          if( p[pixel[7]] > cb)
                            if( p[pixel[8]] > cb)
                              if( p[pixel[9]] > cb)
                                goto is_a_corner;
                              else
                                goto is_not_a_corner;
                            else
                              goto is_not_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                    else
                      if( p[pixel[5]] > cb)
                        if( p[pixel[6]] > cb)
                          if( p[pixel[7]] > cb)
                            if( p[pixel[8]] > cb)
                              if( p[pixel[9]] > cb)
                                goto is_a_corner;
                              else
                                goto is_not_a_corner;
                            else
                              goto is_not_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                      else
                        goto is_not_a_corner;
                  else
                    if( p[pixel[4]] > cb)
                      if( p[pixel[5]] > cb)
                        if( p[pixel[6]] > cb)
                          if( p[pixel[7]] > cb)
                            if( p[pixel[8]] > cb)
                              if( p[pixel[9]] > cb)
                                goto is_a_corner;
                              else
                                goto is_not_a_corner;
                            else
                              goto is_not_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                      else
                        goto is_not_a_corner;
                    else
                      goto is_not_a_corner;
                else
                  goto is_not_a_corner;
              else
                goto is_not_a_corner;
            else if( p[pixel[10]] < c_b)
              if( p[pixel[7]] < c_b)
                if( p[pixel[8]] < c_b)
                  if( p[pixel[9]] < c_b)
                    if( p[pixel[11]] < c_b)
                      if( p[pixel[12]] < c_b)
                        if( p[pixel[6]] < c_b)
                          if( p[pixel[5]] < c_b)
                            if( p[pixel[4]] < c_b)
                              goto is_a_corner;
                            else
                              if( p[pixel[13]] < c_b)
                                goto is_a_corner;
                              else
                                goto is_not_a_corner;
                          else
                            if( p[pixel[13]] < c_b)
                              if( p[pixel[14]] < c_b)
                                goto is_a_corner;
                              else
                                goto is_not_a_corner;
                            else
                              goto is_not_a_corner;
                        else
                          if( p[pixel[13]] < c_b)
                            if( p[pixel[14]] < c_b)
                              if( p[pixel[15]] < c_b)
                                goto is_a_corner;
                              else
                                goto is_not_a_corner;
                            else
                              goto is_not_a_corner;
                          else
                            goto is_not_a_corner;
                      else
                        goto is_not_a_corner;
                    else
                      goto is_not_a_corner;
                  else
                    goto is_not_a_corner;
                else
                  goto is_not_a_corner;
              else
                goto is_not_a_corner;
            else
              goto is_not_a_corner;
        else if( p[pixel[2]] < c_b)
          if( p[pixel[9]] > cb)
            if( p[pixel[10]] > cb)
              if( p[pixel[11]] > cb)
                if( p[pixel[12]] > cb)
                  if( p[pixel[13]] > cb)
                    if( p[pixel[14]] > cb)
                      if( p[pixel[15]] > cb)
                        goto is_a_corner;
                      else
                        if( p[pixel[6]] > cb)
                          if( p[pixel[7]] > cb)
                            if( p[pixel[8]] > cb)
                              goto is_a_corner;
                            else
                              goto is_not_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                    else
                      if( p[pixel[5]] > cb)
                        if( p[pixel[6]] > cb)
                          if( p[pixel[7]] > cb)
                            if( p[pixel[8]] > cb)
                              goto is_a_corner;
                            else
                              goto is_not_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                      else
                        goto is_not_a_corner;
                  else
                    if( p[pixel[4]] > cb)
                      if( p[pixel[5]] > cb)
                        if( p[pixel[6]] > cb)
                          if( p[pixel[7]] > cb)
                            if( p[pixel[8]] > cb)
                              goto is_a_corner;
                            else
                              goto is_not_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                      else
                        goto is_not_a_corner;
                    else
                      goto is_not_a_corner;
                else
                  if( p[pixel[3]] > cb)
                    if( p[pixel[4]] > cb)
                      if( p[pixel[5]] > cb)
                        if( p[pixel[6]] > cb)
                          if( p[pixel[7]] > cb)
                            if( p[pixel[8]] > cb)
                              goto is_a_corner;
                            else
                              goto is_not_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                      else
                        goto is_not_a_corner;
                    else
                      goto is_not_a_corner;
                  else
                    goto is_not_a_corner;
              else
                goto is_not_a_corner;
            else
              goto is_not_a_corner;
          else if( p[pixel[9]] < c_b)
            if( p[pixel[7]] < c_b)
              if( p[pixel[8]] < c_b)
                if( p[pixel[10]] < c_b)
                  if( p[pixel[6]] < c_b)
                    if( p[pixel[5]] < c_b)
                      if( p[pixel[4]] < c_b)
                        if( p[pixel[3]] < c_b)
                          goto is_a_corner;
                        else
                          if( p[pixel[11]] < c_b)
                            if( p[pixel[12]] < c_b)
                              goto is_a_corner;
                            else
                              goto is_not_a_corner;
                          else
                            goto is_not_a_corner;
                      else
                        if( p[pixel[11]] < c_b)
                          if( p[pixel[12]] < c_b)
                            if( p[pixel[13]] < c_b)
                              goto is_a_corner;
                            else
                              goto is_not_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                    else
                      if( p[pixel[11]] < c_b)
                        if( p[pixel[12]] < c_b)
                          if( p[pixel[13]] < c_b)
                            if( p[pixel[14]] < c_b)
                              goto is_a_corner;
                            else
                              goto is_not_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                      else
                        goto is_not_a_corner;
                  else
                    if( p[pixel[11]] < c_b)
                      if( p[pixel[12]] < c_b)
                        if( p[pixel[13]] < c_b)
                          if( p[pixel[14]] < c_b)
                            if( p[pixel[15]] < c_b)
                              goto is_a_corner;
                            else
                              goto is_not_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                      else
                        goto is_not_a_corner;
                    else
                      goto is_not_a_corner;
                else
                  goto is_not_a_corner;
              else
                goto is_not_a_corner;
            else
              goto is_not_a_corner;
          else
            goto is_not_a_corner;
        else
          if( p[pixel[9]] > cb)
            if( p[pixel[10]] > cb)
              if( p[pixel[11]] > cb)
                if( p[pixel[12]] > cb)
                  if( p[pixel[13]] > cb)
                    if( p[pixel[14]] > cb)
                      if( p[pixel[15]] > cb)
                        goto is_a_corner;
                      else
                        if( p[pixel[6]] > cb)
                          if( p[pixel[7]] > cb)
                            if( p[pixel[8]] > cb)
                              goto is_a_corner;
                            else
                              goto is_not_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                    else
                      if( p[pixel[5]] > cb)
                        if( p[pixel[6]] > cb)
                          if( p[pixel[7]] > cb)
                            if( p[pixel[8]] > cb)
                              goto is_a_corner;
                            else
                              goto is_not_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                      else
                        goto is_not_a_corner;
                  else
                    if( p[pixel[4]] > cb)
                      if( p[pixel[5]] > cb)
                        if( p[pixel[6]] > cb)
                          if( p[pixel[7]] > cb)
                            if( p[pixel[8]] > cb)
                              goto is_a_corner;
                            else
                              goto is_not_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                      else
                        goto is_not_a_corner;
                    else
                      goto is_not_a_corner;
                else
                  if( p[pixel[3]] > cb)
                    if( p[pixel[4]] > cb)
                      if( p[pixel[5]] > cb)
                        if( p[pixel[6]] > cb)
                          if( p[pixel[7]] > cb)
                            if( p[pixel[8]] > cb)
                              goto is_a_corner;
                            else
                              goto is_not_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                      else
                        goto is_not_a_corner;
                    else
                      goto is_not_a_corner;
                  else
                    goto is_not_a_corner;
              else
                goto is_not_a_corner;
            else
              goto is_not_a_corner;
          else if( p[pixel[9]] < c_b)
            if( p[pixel[7]] < c_b)
              if( p[pixel[8]] < c_b)
                if( p[pixel[10]] < c_b)
                  if( p[pixel[11]] < c_b)
                    if( p[pixel[6]] < c_b)
                      if( p[pixel[5]] < c_b)
                        if( p[pixel[4]] < c_b)
                          if( p[pixel[3]] < c_b)
                            goto is_a_corner;
                          else
                            if( p[pixel[12]] < c_b)
                              goto is_a_corner;
                            else
                              goto is_not_a_corner;
                        else
                          if( p[pixel[12]] < c_b)
                            if( p[pixel[13]] < c_b)
                              goto is_a_corner;
                            else
                              goto is_not_a_corner;
                          else
                            goto is_not_a_corner;
                      else
                        if( p[pixel[12]] < c_b)
                          if( p[pixel[13]] < c_b)
                            if( p[pixel[14]] < c_b)
                              goto is_a_corner;
                            else
                              goto is_not_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                    else
                      if( p[pixel[12]] < c_b)
                        if( p[pixel[13]] < c_b)
                          if( p[pixel[14]] < c_b)
                            if( p[pixel[15]] < c_b)
                              goto is_a_corner;
                            else
                              goto is_not_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                      else
                        goto is_not_a_corner;
                  else
                    goto is_not_a_corner;
                else
                  goto is_not_a_corner;
              else
                goto is_not_a_corner;
            else
              goto is_not_a_corner;
          else
            goto is_not_a_corner;
      else if( p[pixel[1]] < c_b)
        if( p[pixel[8]] > cb)
          if( p[pixel[9]] > cb)
            if( p[pixel[10]] > cb)
              if( p[pixel[11]] > cb)
                if( p[pixel[12]] > cb)
                  if( p[pixel[13]] > cb)
                    if( p[pixel[14]] > cb)
                      if( p[pixel[15]] > cb)
                        goto is_a_corner;
                      else
                        if( p[pixel[6]] > cb)
                          if( p[pixel[7]] > cb)
                            goto is_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                    else
                      if( p[pixel[5]] > cb)
                        if( p[pixel[6]] > cb)
                          if( p[pixel[7]] > cb)
                            goto is_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                      else
                        goto is_not_a_corner;
                  else
                    if( p[pixel[4]] > cb)
                      if( p[pixel[5]] > cb)
                        if( p[pixel[6]] > cb)
                          if( p[pixel[7]] > cb)
                            goto is_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                      else
                        goto is_not_a_corner;
                    else
                      goto is_not_a_corner;
                else
                  if( p[pixel[3]] > cb)
                    if( p[pixel[4]] > cb)
                      if( p[pixel[5]] > cb)
                        if( p[pixel[6]] > cb)
                          if( p[pixel[7]] > cb)
                            goto is_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                      else
                        goto is_not_a_corner;
                    else
                      goto is_not_a_corner;
                  else
                    goto is_not_a_corner;
              else
                if( p[pixel[2]] > cb)
                  if( p[pixel[3]] > cb)
                    if( p[pixel[4]] > cb)
                      if( p[pixel[5]] > cb)
                        if( p[pixel[6]] > cb)
                          if( p[pixel[7]] > cb)
                            goto is_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                      else
                        goto is_not_a_corner;
                    else
                      goto is_not_a_corner;
                  else
                    goto is_not_a_corner;
                else
                  goto is_not_a_corner;
            else
              goto is_not_a_corner;
          else
            goto is_not_a_corner;
        else if( p[pixel[8]] < c_b)
          if( p[pixel[7]] < c_b)
            if( p[pixel[9]] < c_b)
              if( p[pixel[6]] < c_b)
                if( p[pixel[5]] < c_b)
                  if( p[pixel[4]] < c_b)
                    if( p[pixel[3]] < c_b)
                      if( p[pixel[2]] < c_b)
                        goto is_a_corner;
                      else
                        if( p[pixel[10]] < c_b)
                          if( p[pixel[11]] < c_b)
                            goto is_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                    else
                      if( p[pixel[10]] < c_b)
                        if( p[pixel[11]] < c_b)
                          if( p[pixel[12]] < c_b)
                            goto is_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                      else
                        goto is_not_a_corner;
                  else
                    if( p[pixel[10]] < c_b)
                      if( p[pixel[11]] < c_b)
                        if( p[pixel[12]] < c_b)
                          if( p[pixel[13]] < c_b)
                            goto is_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                      else
                        goto is_not_a_corner;
                    else
                      goto is_not_a_corner;
                else
                  if( p[pixel[10]] < c_b)
                    if( p[pixel[11]] < c_b)
                      if( p[pixel[12]] < c_b)
                        if( p[pixel[13]] < c_b)
                          if( p[pixel[14]] < c_b)
                            goto is_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                      else
                        goto is_not_a_corner;
                    else
                      goto is_not_a_corner;
                  else
                    goto is_not_a_corner;
              else
                if( p[pixel[10]] < c_b)
                  if( p[pixel[11]] < c_b)
                    if( p[pixel[12]] < c_b)
                      if( p[pixel[13]] < c_b)
                        if( p[pixel[14]] < c_b)
                          if( p[pixel[15]] < c_b)
                            goto is_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                      else
                        goto is_not_a_corner;
                    else
                      goto is_not_a_corner;
                  else
                    goto is_not_a_corner;
                else
                  goto is_not_a_corner;
            else
              goto is_not_a_corner;
          else
            goto is_not_a_corner;
        else
          goto is_not_a_corner;
      else
        if( p[pixel[8]] > cb)
          if( p[pixel[9]] > cb)
            if( p[pixel[10]] > cb)
              if( p[pixel[11]] > cb)
                if( p[pixel[12]] > cb)
                  if( p[pixel[13]] > cb)
                    if( p[pixel[14]] > cb)
                      if( p[pixel[15]] > cb)
                        goto is_a_corner;
                      else
                        if( p[pixel[6]] > cb)
                          if( p[pixel[7]] > cb)
                            goto is_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                    else
                      if( p[pixel[5]] > cb)
                        if( p[pixel[6]] > cb)
                          if( p[pixel[7]] > cb)
                            goto is_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                      else
                        goto is_not_a_corner;
                  else
                    if( p[pixel[4]] > cb)
                      if( p[pixel[5]] > cb)
                        if( p[pixel[6]] > cb)
                          if( p[pixel[7]] > cb)
                            goto is_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                      else
                        goto is_not_a_corner;
                    else
                      goto is_not_a_corner;
                else
                  if( p[pixel[3]] > cb)
                    if( p[pixel[4]] > cb)
                      if( p[pixel[5]] > cb)
                        if( p[pixel[6]] > cb)
                          if( p[pixel[7]] > cb)
                            goto is_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                      else
                        goto is_not_a_corner;
                    else
                      goto is_not_a_corner;
                  else
                    goto is_not_a_corner;
              else
                if( p[pixel[2]] > cb)
                  if( p[pixel[3]] > cb)
                    if( p[pixel[4]] > cb)
                      if( p[pixel[5]] > cb)
                        if( p[pixel[6]] > cb)
                          if( p[pixel[7]] > cb)
                            goto is_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                      else
                        goto is_not_a_corner;
                    else
                      goto is_not_a_corner;
                  else
                    goto is_not_a_corner;
                else
                  goto is_not_a_corner;
            else
              goto is_not_a_corner;
          else
            goto is_not_a_corner;
        else if( p[pixel[8]] < c_b)
          if( p[pixel[7]] < c_b)
            if( p[pixel[9]] < c_b)
              if( p[pixel[10]] < c_b)
                if( p[pixel[6]] < c_b)
                  if( p[pixel[5]] < c_b)
                    if( p[pixel[4]] < c_b)
                      if( p[pixel[3]] < c_b)
                        if( p[pixel[2]] < c_b)
                          goto is_a_corner;
                        else
                          if( p[pixel[11]] < c_b)
                            goto is_a_corner;
                          else
                            goto is_not_a_corner;
                      else
                        if( p[pixel[11]] < c_b)
                          if( p[pixel[12]] < c_b)
                            goto is_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                    else
                      if( p[pixel[11]] < c_b)
                        if( p[pixel[12]] < c_b)
                          if( p[pixel[13]] < c_b)
                            goto is_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                      else
                        goto is_not_a_corner;
                  else
                    if( p[pixel[11]] < c_b)
                      if( p[pixel[12]] < c_b)
                        if( p[pixel[13]] < c_b)
                          if( p[pixel[14]] < c_b)
                            goto is_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                      else
                        goto is_not_a_corner;
                    else
                      goto is_not_a_corner;
                else
                  if( p[pixel[11]] < c_b)
                    if( p[pixel[12]] < c_b)
                      if( p[pixel[13]] < c_b)
                        if( p[pixel[14]] < c_b)
                          if( p[pixel[15]] < c_b)
                            goto is_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                      else
                        goto is_not_a_corner;
                    else
                      goto is_not_a_corner;
                  else
                    goto is_not_a_corner;
              else
                goto is_not_a_corner;
            else
              goto is_not_a_corner;
          else
            goto is_not_a_corner;
        else
          goto is_not_a_corner;
    else if( p[pixel[0]] < c_b)
      if( p[pixel[1]] > cb)
        if( p[pixel[8]] > cb)
          if( p[pixel[7]] > cb)
            if( p[pixel[9]] > cb)
              if( p[pixel[6]] > cb)
                if( p[pixel[5]] > cb)
                  if( p[pixel[4]] > cb)
                    if( p[pixel[3]] > cb)
                      if( p[pixel[2]] > cb)
                        goto is_a_corner;
                      else
                        if( p[pixel[10]] > cb)
                          if( p[pixel[11]] > cb)
                            goto is_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                    else
                      if( p[pixel[10]] > cb)
                        if( p[pixel[11]] > cb)
                          if( p[pixel[12]] > cb)
                            goto is_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                      else
                        goto is_not_a_corner;
                  else
                    if( p[pixel[10]] > cb)
                      if( p[pixel[11]] > cb)
                        if( p[pixel[12]] > cb)
                          if( p[pixel[13]] > cb)
                            goto is_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                      else
                        goto is_not_a_corner;
                    else
                      goto is_not_a_corner;
                else
                  if( p[pixel[10]] > cb)
                    if( p[pixel[11]] > cb)
                      if( p[pixel[12]] > cb)
                        if( p[pixel[13]] > cb)
                          if( p[pixel[14]] > cb)
                            goto is_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                      else
                        goto is_not_a_corner;
                    else
                      goto is_not_a_corner;
                  else
                    goto is_not_a_corner;
              else
                if( p[pixel[10]] > cb)
                  if( p[pixel[11]] > cb)
                    if( p[pixel[12]] > cb)
                      if( p[pixel[13]] > cb)
                        if( p[pixel[14]] > cb)
                          if( p[pixel[15]] > cb)
                            goto is_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                      else
                        goto is_not_a_corner;
                    else
                      goto is_not_a_corner;
                  else
                    goto is_not_a_corner;
                else
                  goto is_not_a_corner;
            else
              goto is_not_a_corner;
          else
            goto is_not_a_corner;
        else if( p[pixel[8]] < c_b)
          if( p[pixel[9]] < c_b)
            if( p[pixel[10]] < c_b)
              if( p[pixel[11]] < c_b)
                if( p[pixel[12]] < c_b)
                  if( p[pixel[13]] < c_b)
                    if( p[pixel[14]] < c_b)
                      if( p[pixel[15]] < c_b)
                        goto is_a_corner;
                      else
                        if( p[pixel[6]] < c_b)
                          if( p[pixel[7]] < c_b)
                            goto is_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                    else
                      if( p[pixel[5]] < c_b)
                        if( p[pixel[6]] < c_b)
                          if( p[pixel[7]] < c_b)
                            goto is_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                      else
                        goto is_not_a_corner;
                  else
                    if( p[pixel[4]] < c_b)
                      if( p[pixel[5]] < c_b)
                        if( p[pixel[6]] < c_b)
                          if( p[pixel[7]] < c_b)
                            goto is_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                      else
                        goto is_not_a_corner;
                    else
                      goto is_not_a_corner;
                else
                  if( p[pixel[3]] < c_b)
                    if( p[pixel[4]] < c_b)
                      if( p[pixel[5]] < c_b)
                        if( p[pixel[6]] < c_b)
                          if( p[pixel[7]] < c_b)
                            goto is_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                      else
                        goto is_not_a_corner;
                    else
                      goto is_not_a_corner;
                  else
                    goto is_not_a_corner;
              else
                if( p[pixel[2]] < c_b)
                  if( p[pixel[3]] < c_b)
                    if( p[pixel[4]] < c_b)
                      if( p[pixel[5]] < c_b)
                        if( p[pixel[6]] < c_b)
                          if( p[pixel[7]] < c_b)
                            goto is_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                      else
                        goto is_not_a_corner;
                    else
                      goto is_not_a_corner;
                  else
                    goto is_not_a_corner;
                else
                  goto is_not_a_corner;
            else
              goto is_not_a_corner;
          else
            goto is_not_a_corner;
        else
          goto is_not_a_corner;
      else if( p[pixel[1]] < c_b)
        if( p[pixel[2]] > cb)
          if( p[pixel[9]] > cb)
            if( p[pixel[7]] > cb)
              if( p[pixel[8]] > cb)
                if( p[pixel[10]] > cb)
                  if( p[pixel[6]] > cb)
                    if( p[pixel[5]] > cb)
                      if( p[pixel[4]] > cb)
                        if( p[pixel[3]] > cb)
                          goto is_a_corner;
                        else
                          if( p[pixel[11]] > cb)
                            if( p[pixel[12]] > cb)
                              goto is_a_corner;
                            else
                              goto is_not_a_corner;
                          else
                            goto is_not_a_corner;
                      else
                        if( p[pixel[11]] > cb)
                          if( p[pixel[12]] > cb)
                            if( p[pixel[13]] > cb)
                              goto is_a_corner;
                            else
                              goto is_not_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                    else
                      if( p[pixel[11]] > cb)
                        if( p[pixel[12]] > cb)
                          if( p[pixel[13]] > cb)
                            if( p[pixel[14]] > cb)
                              goto is_a_corner;
                            else
                              goto is_not_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                      else
                        goto is_not_a_corner;
                  else
                    if( p[pixel[11]] > cb)
                      if( p[pixel[12]] > cb)
                        if( p[pixel[13]] > cb)
                          if( p[pixel[14]] > cb)
                            if( p[pixel[15]] > cb)
                              goto is_a_corner;
                            else
                              goto is_not_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                      else
                        goto is_not_a_corner;
                    else
                      goto is_not_a_corner;
                else
                  goto is_not_a_corner;
              else
                goto is_not_a_corner;
            else
              goto is_not_a_corner;
          else if( p[pixel[9]] < c_b)
            if( p[pixel[10]] < c_b)
              if( p[pixel[11]] < c_b)
                if( p[pixel[12]] < c_b)
                  if( p[pixel[13]] < c_b)
                    if( p[pixel[14]] < c_b)
                      if( p[pixel[15]] < c_b)
                        goto is_a_corner;
                      else
                        if( p[pixel[6]] < c_b)
                          if( p[pixel[7]] < c_b)
                            if( p[pixel[8]] < c_b)
                              goto is_a_corner;
                            else
                              goto is_not_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                    else
                      if( p[pixel[5]] < c_b)
                        if( p[pixel[6]] < c_b)
                          if( p[pixel[7]] < c_b)
                            if( p[pixel[8]] < c_b)
                              goto is_a_corner;
                            else
                              goto is_not_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                      else
                        goto is_not_a_corner;
                  else
                    if( p[pixel[4]] < c_b)
                      if( p[pixel[5]] < c_b)
                        if( p[pixel[6]] < c_b)
                          if( p[pixel[7]] < c_b)
                            if( p[pixel[8]] < c_b)
                              goto is_a_corner;
                            else
                              goto is_not_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                      else
                        goto is_not_a_corner;
                    else
                      goto is_not_a_corner;
                else
                  if( p[pixel[3]] < c_b)
                    if( p[pixel[4]] < c_b)
                      if( p[pixel[5]] < c_b)
                        if( p[pixel[6]] < c_b)
                          if( p[pixel[7]] < c_b)
                            if( p[pixel[8]] < c_b)
                              goto is_a_corner;
                            else
                              goto is_not_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                      else
                        goto is_not_a_corner;
                    else
                      goto is_not_a_corner;
                  else
                    goto is_not_a_corner;
              else
                goto is_not_a_corner;
            else
              goto is_not_a_corner;
          else
            goto is_not_a_corner;
        else if( p[pixel[2]] < c_b)
          if( p[pixel[3]] > cb)
            if( p[pixel[10]] > cb)
              if( p[pixel[7]] > cb)
                if( p[pixel[8]] > cb)
                  if( p[pixel[9]] > cb)
                    if( p[pixel[11]] > cb)
                      if( p[pixel[6]] > cb)
                        if( p[pixel[5]] > cb)
                          if( p[pixel[4]] > cb)
                            goto is_a_corner;
                          else
                            if( p[pixel[12]] > cb)
                              if( p[pixel[13]] > cb)
                                goto is_a_corner;
                              else
                                goto is_not_a_corner;
                            else
                              goto is_not_a_corner;
                        else
                          if( p[pixel[12]] > cb)
                            if( p[pixel[13]] > cb)
                              if( p[pixel[14]] > cb)
                                goto is_a_corner;
                              else
                                goto is_not_a_corner;
                            else
                              goto is_not_a_corner;
                          else
                            goto is_not_a_corner;
                      else
                        if( p[pixel[12]] > cb)
                          if( p[pixel[13]] > cb)
                            if( p[pixel[14]] > cb)
                              if( p[pixel[15]] > cb)
                                goto is_a_corner;
                              else
                                goto is_not_a_corner;
                            else
                              goto is_not_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                    else
                      goto is_not_a_corner;
                  else
                    goto is_not_a_corner;
                else
                  goto is_not_a_corner;
              else
                goto is_not_a_corner;
            else if( p[pixel[10]] < c_b)
              if( p[pixel[11]] < c_b)
                if( p[pixel[12]] < c_b)
                  if( p[pixel[13]] < c_b)
                    if( p[pixel[14]] < c_b)
                      if( p[pixel[15]] < c_b)
                        goto is_a_corner;
                      else
                        if( p[pixel[6]] < c_b)
                          if( p[pixel[7]] < c_b)
                            if( p[pixel[8]] < c_b)
                              if( p[pixel[9]] < c_b)
                                goto is_a_corner;
                              else
                                goto is_not_a_corner;
                            else
                              goto is_not_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                    else
                      if( p[pixel[5]] < c_b)
                        if( p[pixel[6]] < c_b)
                          if( p[pixel[7]] < c_b)
                            if( p[pixel[8]] < c_b)
                              if( p[pixel[9]] < c_b)
                                goto is_a_corner;
                              else
                                goto is_not_a_corner;
                            else
                              goto is_not_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                      else
                        goto is_not_a_corner;
                  else
                    if( p[pixel[4]] < c_b)
                      if( p[pixel[5]] < c_b)
                        if( p[pixel[6]] < c_b)
                          if( p[pixel[7]] < c_b)
                            if( p[pixel[8]] < c_b)
                              if( p[pixel[9]] < c_b)
                                goto is_a_corner;
                              else
                                goto is_not_a_corner;
                            else
                              goto is_not_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                      else
                        goto is_not_a_corner;
                    else
                      goto is_not_a_corner;
                else
                  goto is_not_a_corner;
              else
                goto is_not_a_corner;
            else
              goto is_not_a_corner;
          else if( p[pixel[3]] < c_b)
            if( p[pixel[4]] > cb)
              if( p[pixel[13]] > cb)
                if( p[pixel[7]] > cb)
                  if( p[pixel[8]] > cb)
                    if( p[pixel[9]] > cb)
                      if( p[pixel[10]] > cb)
                        if( p[pixel[11]] > cb)
                          if( p[pixel[12]] > cb)
                            if( p[pixel[6]] > cb)
                              if( p[pixel[5]] > cb)
                                goto is_a_corner;
                              else
                                if( p[pixel[14]] > cb)
                                  goto is_a_corner;
                                else
                                  goto is_not_a_corner;
                            else
                              if( p[pixel[14]] > cb)
                                if( p[pixel[15]] > cb)
                                  goto is_a_corner;
                                else
                                  goto is_not_a_corner;
                              else
                                goto is_not_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                      else
                        goto is_not_a_corner;
                    else
                      goto is_not_a_corner;
                  else
                    goto is_not_a_corner;
                else
                  goto is_not_a_corner;
              else if( p[pixel[13]] < c_b)
                if( p[pixel[11]] > cb)
                  if( p[pixel[5]] > cb)
                    if( p[pixel[6]] > cb)
                      if( p[pixel[7]] > cb)
                        if( p[pixel[8]] > cb)
                          if( p[pixel[9]] > cb)
                            if( p[pixel[10]] > cb)
                              if( p[pixel[12]] > cb)
                                goto is_a_corner;
                              else
                                goto is_not_a_corner;
                            else
                              goto is_not_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                      else
                        goto is_not_a_corner;
                    else
                      goto is_not_a_corner;
                  else
                    goto is_not_a_corner;
                else if( p[pixel[11]] < c_b)
                  if( p[pixel[12]] < c_b)
                    if( p[pixel[14]] < c_b)
                      if( p[pixel[15]] < c_b)
                        goto is_a_corner;
                      else
                        if( p[pixel[6]] < c_b)
                          if( p[pixel[7]] < c_b)
                            if( p[pixel[8]] < c_b)
                              if( p[pixel[9]] < c_b)
                                if( p[pixel[10]] < c_b)
                                  goto is_a_corner;
                                else
                                  goto is_not_a_corner;
                              else
                                goto is_not_a_corner;
                            else
                              goto is_not_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                    else
                      if( p[pixel[5]] < c_b)
                        if( p[pixel[6]] < c_b)
                          if( p[pixel[7]] < c_b)
                            if( p[pixel[8]] < c_b)
                              if( p[pixel[9]] < c_b)
                                if( p[pixel[10]] < c_b)
                                  goto is_a_corner;
                                else
                                  goto is_not_a_corner;
                              else
                                goto is_not_a_corner;
                            else
                              goto is_not_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                      else
                        goto is_not_a_corner;
                  else
                    goto is_not_a_corner;
                else
                  goto is_not_a_corner;
              else
                if( p[pixel[5]] > cb)
                  if( p[pixel[6]] > cb)
                    if( p[pixel[7]] > cb)
                      if( p[pixel[8]] > cb)
                        if( p[pixel[9]] > cb)
                          if( p[pixel[10]] > cb)
                            if( p[pixel[11]] > cb)
                              if( p[pixel[12]] > cb)
                                goto is_a_corner;
                              else
                                goto is_not_a_corner;
                            else
                              goto is_not_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                      else
                        goto is_not_a_corner;
                    else
                      goto is_not_a_corner;
                  else
                    goto is_not_a_corner;
                else
                  goto is_not_a_corner;
            else if( p[pixel[4]] < c_b)
              if( p[pixel[5]] > cb)
                if( p[pixel[14]] > cb)
                  if( p[pixel[7]] > cb)
                    if( p[pixel[8]] > cb)
                      if( p[pixel[9]] > cb)
                        if( p[pixel[10]] > cb)
                          if( p[pixel[11]] > cb)
                            if( p[pixel[12]] > cb)
                              if( p[pixel[13]] > cb)
                                if( p[pixel[6]] > cb)
                                  goto is_a_corner;
                                else
                                  if( p[pixel[15]] > cb)
                                    goto is_a_corner;
                                  else
                                    goto is_not_a_corner;
                              else
                                goto is_not_a_corner;
                            else
                              goto is_not_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                      else
                        goto is_not_a_corner;
                    else
                      goto is_not_a_corner;
                  else
                    goto is_not_a_corner;
                else if( p[pixel[14]] < c_b)
                  if( p[pixel[12]] > cb)
                    if( p[pixel[6]] > cb)
                      if( p[pixel[7]] > cb)
                        if( p[pixel[8]] > cb)
                          if( p[pixel[9]] > cb)
                            if( p[pixel[10]] > cb)
                              if( p[pixel[11]] > cb)
                                if( p[pixel[13]] > cb)
                                  goto is_a_corner;
                                else
                                  goto is_not_a_corner;
                              else
                                goto is_not_a_corner;
                            else
                              goto is_not_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                      else
                        goto is_not_a_corner;
                    else
                      goto is_not_a_corner;
                  else if( p[pixel[12]] < c_b)
                    if( p[pixel[13]] < c_b)
                      if( p[pixel[15]] < c_b)
                        goto is_a_corner;
                      else
                        if( p[pixel[6]] < c_b)
                          if( p[pixel[7]] < c_b)
                            if( p[pixel[8]] < c_b)
                              if( p[pixel[9]] < c_b)
                                if( p[pixel[10]] < c_b)
                                  if( p[pixel[11]] < c_b)
                                    goto is_a_corner;
                                  else
                                    goto is_not_a_corner;
                                else
                                  goto is_not_a_corner;
                              else
                                goto is_not_a_corner;
                            else
                              goto is_not_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                    else
                      goto is_not_a_corner;
                  else
                    goto is_not_a_corner;
                else
                  if( p[pixel[6]] > cb)
                    if( p[pixel[7]] > cb)
                      if( p[pixel[8]] > cb)
                        if( p[pixel[9]] > cb)
                          if( p[pixel[10]] > cb)
                            if( p[pixel[11]] > cb)
                              if( p[pixel[12]] > cb)
                                if( p[pixel[13]] > cb)
                                  goto is_a_corner;
                                else
                                  goto is_not_a_corner;
                              else
                                goto is_not_a_corner;
                            else
                              goto is_not_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                      else
                        goto is_not_a_corner;
                    else
                      goto is_not_a_corner;
                  else
                    goto is_not_a_corner;
              else if( p[pixel[5]] < c_b)
                if( p[pixel[6]] > cb)
                  if( p[pixel[15]] < c_b)
                    if( p[pixel[13]] > cb)
                      if( p[pixel[7]] > cb)
                        if( p[pixel[8]] > cb)
                          if( p[pixel[9]] > cb)
                            if( p[pixel[10]] > cb)
                              if( p[pixel[11]] > cb)
                                if( p[pixel[12]] > cb)
                                  if( p[pixel[14]] > cb)
                                    goto is_a_corner;
                                  else
                                    goto is_not_a_corner;
                                else
                                  goto is_not_a_corner;
                              else
                                goto is_not_a_corner;
                            else
                              goto is_not_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                      else
                        goto is_not_a_corner;
                    else if( p[pixel[13]] < c_b)
                      if( p[pixel[14]] < c_b)
                        goto is_a_corner;
                      else
                        goto is_not_a_corner;
                    else
                      goto is_not_a_corner;
                  else
                    if( p[pixel[7]] > cb)
                      if( p[pixel[8]] > cb)
                        if( p[pixel[9]] > cb)
                          if( p[pixel[10]] > cb)
                            if( p[pixel[11]] > cb)
                              if( p[pixel[12]] > cb)
                                if( p[pixel[13]] > cb)
                                  if( p[pixel[14]] > cb)
                                    goto is_a_corner;
                                  else
                                    goto is_not_a_corner;
                                else
                                  goto is_not_a_corner;
                              else
                                goto is_not_a_corner;
                            else
                              goto is_not_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                      else
                        goto is_not_a_corner;
                    else
                      goto is_not_a_corner;
                else if( p[pixel[6]] < c_b)
                  if( p[pixel[7]] > cb)
                    if( p[pixel[14]] > cb)
                      if( p[pixel[8]] > cb)
                        if( p[pixel[9]] > cb)
                          if( p[pixel[10]] > cb)
                            if( p[pixel[11]] > cb)
                              if( p[pixel[12]] > cb)
                                if( p[pixel[13]] > cb)
                                  if( p[pixel[15]] > cb)
                                    goto is_a_corner;
                                  else
                                    goto is_not_a_corner;
                                else
                                  goto is_not_a_corner;
                              else
                                goto is_not_a_corner;
                            else
                              goto is_not_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                      else
                        goto is_not_a_corner;
                    else if( p[pixel[14]] < c_b)
                      if( p[pixel[15]] < c_b)
                        goto is_a_corner;
                      else
                        goto is_not_a_corner;
                    else
                      goto is_not_a_corner;
                  else if( p[pixel[7]] < c_b)
                    if( p[pixel[8]] < c_b)
                      goto is_a_corner;
                    else
                      if( p[pixel[15]] < c_b)
                        goto is_a_corner;
                      else
                        goto is_not_a_corner;
                  else
                    if( p[pixel[14]] < c_b)
                      if( p[pixel[15]] < c_b)
                        goto is_a_corner;
                      else
                        goto is_not_a_corner;
                    else
                      goto is_not_a_corner;
                else
                  if( p[pixel[13]] > cb)
                    if( p[pixel[7]] > cb)
                      if( p[pixel[8]] > cb)
                        if( p[pixel[9]] > cb)
                          if( p[pixel[10]] > cb)
                            if( p[pixel[11]] > cb)
                              if( p[pixel[12]] > cb)
                                if( p[pixel[14]] > cb)
                                  if( p[pixel[15]] > cb)
                                    goto is_a_corner;
                                  else
                                    goto is_not_a_corner;
                                else
                                  goto is_not_a_corner;
                              else
                                goto is_not_a_corner;
                            else
                              goto is_not_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                      else
                        goto is_not_a_corner;
                    else
                      goto is_not_a_corner;
                  else if( p[pixel[13]] < c_b)
                    if( p[pixel[14]] < c_b)
                      if( p[pixel[15]] < c_b)
                        goto is_a_corner;
                      else
                        goto is_not_a_corner;
                    else
                      goto is_not_a_corner;
                  else
                    goto is_not_a_corner;
              else
                if( p[pixel[12]] > cb)
                  if( p[pixel[7]] > cb)
                    if( p[pixel[8]] > cb)
                      if( p[pixel[9]] > cb)
                        if( p[pixel[10]] > cb)
                          if( p[pixel[11]] > cb)
                            if( p[pixel[13]] > cb)
                              if( p[pixel[14]] > cb)
                                if( p[pixel[6]] > cb)
                                  goto is_a_corner;
                                else
                                  if( p[pixel[15]] > cb)
                                    goto is_a_corner;
                                  else
                                    goto is_not_a_corner;
                              else
                                goto is_not_a_corner;
                            else
                              goto is_not_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                      else
                        goto is_not_a_corner;
                    else
                      goto is_not_a_corner;
                  else
                    goto is_not_a_corner;
                else if( p[pixel[12]] < c_b)
                  if( p[pixel[13]] < c_b)
                    if( p[pixel[14]] < c_b)
                      if( p[pixel[15]] < c_b)
                        goto is_a_corner;
                      else
                        if( p[pixel[6]] < c_b)
                          if( p[pixel[7]] < c_b)
                            if( p[pixel[8]] < c_b)
                              if( p[pixel[9]] < c_b)
                                if( p[pixel[10]] < c_b)
                                  if( p[pixel[11]] < c_b)
                                    goto is_a_corner;
                                  else
                                    goto is_not_a_corner;
                                else
                                  goto is_not_a_corner;
                              else
                                goto is_not_a_corner;
                            else
                              goto is_not_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                    else
                      goto is_not_a_corner;
                  else
                    goto is_not_a_corner;
                else
                  goto is_not_a_corner;
            else
              if( p[pixel[11]] > cb)
                if( p[pixel[7]] > cb)
                  if( p[pixel[8]] > cb)
                    if( p[pixel[9]] > cb)
                      if( p[pixel[10]] > cb)
                        if( p[pixel[12]] > cb)
                          if( p[pixel[13]] > cb)
                            if( p[pixel[6]] > cb)
                              if( p[pixel[5]] > cb)
                                goto is_a_corner;
                              else
                                if( p[pixel[14]] > cb)
                                  goto is_a_corner;
                                else
                                  goto is_not_a_corner;
                            else
                              if( p[pixel[14]] > cb)
                                if( p[pixel[15]] > cb)
                                  goto is_a_corner;
                                else
                                  goto is_not_a_corner;
                              else
                                goto is_not_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                      else
                        goto is_not_a_corner;
                    else
                      goto is_not_a_corner;
                  else
                    goto is_not_a_corner;
                else
                  goto is_not_a_corner;
              else if( p[pixel[11]] < c_b)
                if( p[pixel[12]] < c_b)
                  if( p[pixel[13]] < c_b)
                    if( p[pixel[14]] < c_b)
                      if( p[pixel[15]] < c_b)
                        goto is_a_corner;
                      else
                        if( p[pixel[6]] < c_b)
                          if( p[pixel[7]] < c_b)
                            if( p[pixel[8]] < c_b)
                              if( p[pixel[9]] < c_b)
                                if( p[pixel[10]] < c_b)
                                  goto is_a_corner;
                                else
                                  goto is_not_a_corner;
                              else
                                goto is_not_a_corner;
                            else
                              goto is_not_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                    else
                      if( p[pixel[5]] < c_b)
                        if( p[pixel[6]] < c_b)
                          if( p[pixel[7]] < c_b)
                            if( p[pixel[8]] < c_b)
                              if( p[pixel[9]] < c_b)
                                if( p[pixel[10]] < c_b)
                                  goto is_a_corner;
                                else
                                  goto is_not_a_corner;
                              else
                                goto is_not_a_corner;
                            else
                              goto is_not_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                      else
                        goto is_not_a_corner;
                  else
                    goto is_not_a_corner;
                else
                  goto is_not_a_corner;
              else
                goto is_not_a_corner;
          else
            if( p[pixel[10]] > cb)
              if( p[pixel[7]] > cb)
                if( p[pixel[8]] > cb)
                  if( p[pixel[9]] > cb)
                    if( p[pixel[11]] > cb)
                      if( p[pixel[12]] > cb)
                        if( p[pixel[6]] > cb)
                          if( p[pixel[5]] > cb)
                            if( p[pixel[4]] > cb)
                              goto is_a_corner;
                            else
                              if( p[pixel[13]] > cb)
                                goto is_a_corner;
                              else
                                goto is_not_a_corner;
                          else
                            if( p[pixel[13]] > cb)
                              if( p[pixel[14]] > cb)
                                goto is_a_corner;
                              else
                                goto is_not_a_corner;
                            else
                              goto is_not_a_corner;
                        else
                          if( p[pixel[13]] > cb)
                            if( p[pixel[14]] > cb)
                              if( p[pixel[15]] > cb)
                                goto is_a_corner;
                              else
                                goto is_not_a_corner;
                            else
                              goto is_not_a_corner;
                          else
                            goto is_not_a_corner;
                      else
                        goto is_not_a_corner;
                    else
                      goto is_not_a_corner;
                  else
                    goto is_not_a_corner;
                else
                  goto is_not_a_corner;
              else
                goto is_not_a_corner;
            else if( p[pixel[10]] < c_b)
              if( p[pixel[11]] < c_b)
                if( p[pixel[12]] < c_b)
                  if( p[pixel[13]] < c_b)
                    if( p[pixel[14]] < c_b)
                      if( p[pixel[15]] < c_b)
                        goto is_a_corner;
                      else
                        if( p[pixel[6]] < c_b)
                          if( p[pixel[7]] < c_b)
                            if( p[pixel[8]] < c_b)
                              if( p[pixel[9]] < c_b)
                                goto is_a_corner;
                              else
                                goto is_not_a_corner;
                            else
                              goto is_not_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                    else
                      if( p[pixel[5]] < c_b)
                        if( p[pixel[6]] < c_b)
                          if( p[pixel[7]] < c_b)
                            if( p[pixel[8]] < c_b)
                              if( p[pixel[9]] < c_b)
                                goto is_a_corner;
                              else
                                goto is_not_a_corner;
                            else
                              goto is_not_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                      else
                        goto is_not_a_corner;
                  else
                    if( p[pixel[4]] < c_b)
                      if( p[pixel[5]] < c_b)
                        if( p[pixel[6]] < c_b)
                          if( p[pixel[7]] < c_b)
                            if( p[pixel[8]] < c_b)
                              if( p[pixel[9]] < c_b)
                                goto is_a_corner;
                              else
                                goto is_not_a_corner;
                            else
                              goto is_not_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                      else
                        goto is_not_a_corner;
                    else
                      goto is_not_a_corner;
                else
                  goto is_not_a_corner;
              else
                goto is_not_a_corner;
            else
              goto is_not_a_corner;
        else
          if( p[pixel[9]] > cb)
            if( p[pixel[7]] > cb)
              if( p[pixel[8]] > cb)
                if( p[pixel[10]] > cb)
                  if( p[pixel[11]] > cb)
                    if( p[pixel[6]] > cb)
                      if( p[pixel[5]] > cb)
                        if( p[pixel[4]] > cb)
                          if( p[pixel[3]] > cb)
                            goto is_a_corner;
                          else
                            if( p[pixel[12]] > cb)
                              goto is_a_corner;
                            else
                              goto is_not_a_corner;
                        else
                          if( p[pixel[12]] > cb)
                            if( p[pixel[13]] > cb)
                              goto is_a_corner;
                            else
                              goto is_not_a_corner;
                          else
                            goto is_not_a_corner;
                      else
                        if( p[pixel[12]] > cb)
                          if( p[pixel[13]] > cb)
                            if( p[pixel[14]] > cb)
                              goto is_a_corner;
                            else
                              goto is_not_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                    else
                      if( p[pixel[12]] > cb)
                        if( p[pixel[13]] > cb)
                          if( p[pixel[14]] > cb)
                            if( p[pixel[15]] > cb)
                              goto is_a_corner;
                            else
                              goto is_not_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                      else
                        goto is_not_a_corner;
                  else
                    goto is_not_a_corner;
                else
                  goto is_not_a_corner;
              else
                goto is_not_a_corner;
            else
              goto is_not_a_corner;
          else if( p[pixel[9]] < c_b)
            if( p[pixel[10]] < c_b)
              if( p[pixel[11]] < c_b)
                if( p[pixel[12]] < c_b)
                  if( p[pixel[13]] < c_b)
                    if( p[pixel[14]] < c_b)
                      if( p[pixel[15]] < c_b)
                        goto is_a_corner;
                      else
                        if( p[pixel[6]] < c_b)
                          if( p[pixel[7]] < c_b)
                            if( p[pixel[8]] < c_b)
                              goto is_a_corner;
                            else
                              goto is_not_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                    else
                      if( p[pixel[5]] < c_b)
                        if( p[pixel[6]] < c_b)
                          if( p[pixel[7]] < c_b)
                            if( p[pixel[8]] < c_b)
                              goto is_a_corner;
                            else
                              goto is_not_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                      else
                        goto is_not_a_corner;
                  else
                    if( p[pixel[4]] < c_b)
                      if( p[pixel[5]] < c_b)
                        if( p[pixel[6]] < c_b)
                          if( p[pixel[7]] < c_b)
                            if( p[pixel[8]] < c_b)
                              goto is_a_corner;
                            else
                              goto is_not_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                      else
                        goto is_not_a_corner;
                    else
                      goto is_not_a_corner;
                else
                  if( p[pixel[3]] < c_b)
                    if( p[pixel[4]] < c_b)
                      if( p[pixel[5]] < c_b)
                        if( p[pixel[6]] < c_b)
                          if( p[pixel[7]] < c_b)
                            if( p[pixel[8]] < c_b)
                              goto is_a_corner;
                            else
                              goto is_not_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                      else
                        goto is_not_a_corner;
                    else
                      goto is_not_a_corner;
                  else
                    goto is_not_a_corner;
              else
                goto is_not_a_corner;
            else
              goto is_not_a_corner;
          else
            goto is_not_a_corner;
      else
        if( p[pixel[8]] > cb)
          if( p[pixel[7]] > cb)
            if( p[pixel[9]] > cb)
              if( p[pixel[10]] > cb)
                if( p[pixel[6]] > cb)
                  if( p[pixel[5]] > cb)
                    if( p[pixel[4]] > cb)
                      if( p[pixel[3]] > cb)
                        if( p[pixel[2]] > cb)
                          goto is_a_corner;
                        else
                          if( p[pixel[11]] > cb)
                            goto is_a_corner;
                          else
                            goto is_not_a_corner;
                      else
                        if( p[pixel[11]] > cb)
                          if( p[pixel[12]] > cb)
                            goto is_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                    else
                      if( p[pixel[11]] > cb)
                        if( p[pixel[12]] > cb)
                          if( p[pixel[13]] > cb)
                            goto is_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                      else
                        goto is_not_a_corner;
                  else
                    if( p[pixel[11]] > cb)
                      if( p[pixel[12]] > cb)
                        if( p[pixel[13]] > cb)
                          if( p[pixel[14]] > cb)
                            goto is_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                      else
                        goto is_not_a_corner;
                    else
                      goto is_not_a_corner;
                else
                  if( p[pixel[11]] > cb)
                    if( p[pixel[12]] > cb)
                      if( p[pixel[13]] > cb)
                        if( p[pixel[14]] > cb)
                          if( p[pixel[15]] > cb)
                            goto is_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                      else
                        goto is_not_a_corner;
                    else
                      goto is_not_a_corner;
                  else
                    goto is_not_a_corner;
              else
                goto is_not_a_corner;
            else
              goto is_not_a_corner;
          else
            goto is_not_a_corner;
        else if( p[pixel[8]] < c_b)
          if( p[pixel[9]] < c_b)
            if( p[pixel[10]] < c_b)
              if( p[pixel[11]] < c_b)
                if( p[pixel[12]] < c_b)
                  if( p[pixel[13]] < c_b)
                    if( p[pixel[14]] < c_b)
                      if( p[pixel[15]] < c_b)
                        goto is_a_corner;
                      else
                        if( p[pixel[6]] < c_b)
                          if( p[pixel[7]] < c_b)
                            goto is_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                    else
                      if( p[pixel[5]] < c_b)
                        if( p[pixel[6]] < c_b)
                          if( p[pixel[7]] < c_b)
                            goto is_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                      else
                        goto is_not_a_corner;
                  else
                    if( p[pixel[4]] < c_b)
                      if( p[pixel[5]] < c_b)
                        if( p[pixel[6]] < c_b)
                          if( p[pixel[7]] < c_b)
                            goto is_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                      else
                        goto is_not_a_corner;
                    else
                      goto is_not_a_corner;
                else
                  if( p[pixel[3]] < c_b)
                    if( p[pixel[4]] < c_b)
                      if( p[pixel[5]] < c_b)
                        if( p[pixel[6]] < c_b)
                          if( p[pixel[7]] < c_b)
                            goto is_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                      else
                        goto is_not_a_corner;
                    else
                      goto is_not_a_corner;
                  else
                    goto is_not_a_corner;
              else
                if( p[pixel[2]] < c_b)
                  if( p[pixel[3]] < c_b)
                    if( p[pixel[4]] < c_b)
                      if( p[pixel[5]] < c_b)
                        if( p[pixel[6]] < c_b)
                          if( p[pixel[7]] < c_b)
                            goto is_a_corner;
                          else
                            goto is_not_a_corner;
                        else
                          goto is_not_a_corner;
                      else
                        goto is_not_a_corner;
                    else
                      goto is_not_a_corner;
                  else
                    goto is_not_a_corner;
                else
                  goto is_not_a_corner;
            else
              goto is_not_a_corner;
          else
            goto is_not_a_corner;
        else
          goto is_not_a_corner;
    else
      if( p[pixel[7]] > cb)
        if( p[pixel[8]] > cb)
          if( p[pixel[9]] > cb)
            if( p[pixel[6]] > cb)
              if( p[pixel[5]] > cb)
                if( p[pixel[4]] > cb)
                  if( p[pixel[3]] > cb)
                    if( p[pixel[2]] > cb)
                      if( p[pixel[1]] > cb)
                        goto is_a_corner;
                      else
                        if( p[pixel[10]] > cb)
                          goto is_a_corner;
                        else
                          goto is_not_a_corner;
                    else
                      if( p[pixel[10]] > cb)
                        if( p[pixel[11]] > cb)
                          goto is_a_corner;
                        else
                          goto is_not_a_corner;
                      else
                        goto is_not_a_corner;
                  else
                    if( p[pixel[10]] > cb)
                      if( p[pixel[11]] > cb)
                        if( p[pixel[12]] > cb)
                          goto is_a_corner;
                        else
                          goto is_not_a_corner;
                      else
                        goto is_not_a_corner;
                    else
                      goto is_not_a_corner;
                else
                  if( p[pixel[10]] > cb)
                    if( p[pixel[11]] > cb)
                      if( p[pixel[12]] > cb)
                        if( p[pixel[13]] > cb)
                          goto is_a_corner;
                        else
                          goto is_not_a_corner;
                      else
                        goto is_not_a_corner;
                    else
                      goto is_not_a_corner;
                  else
                    goto is_not_a_corner;
              else
                if( p[pixel[10]] > cb)
                  if( p[pixel[11]] > cb)
                    if( p[pixel[12]] > cb)
                      if( p[pixel[13]] > cb)
                        if( p[pixel[14]] > cb)
                          goto is_a_corner;
                        else
                          goto is_not_a_corner;
                      else
                        goto is_not_a_corner;
                    else
                      goto is_not_a_corner;
                  else
                    goto is_not_a_corner;
                else
                  goto is_not_a_corner;
            else
              if( p[pixel[10]] > cb)
                if( p[pixel[11]] > cb)
                  if( p[pixel[12]] > cb)
                    if( p[pixel[13]] > cb)
                      if( p[pixel[14]] > cb)
                        if( p[pixel[15]] > cb)
                          goto is_a_corner;
                        else
                          goto is_not_a_corner;
                      else
                        goto is_not_a_corner;
                    else
                      goto is_not_a_corner;
                  else
                    goto is_not_a_corner;
                else
                  goto is_not_a_corner;
              else
                goto is_not_a_corner;
          else
            goto is_not_a_corner;
        else
          goto is_not_a_corner;
      else if( p[pixel[7]] < c_b)
        if( p[pixel[8]] < c_b)
          if( p[pixel[9]] < c_b)
            if( p[pixel[6]] < c_b)
              if( p[pixel[5]] < c_b)
                if( p[pixel[4]] < c_b)
                  if( p[pixel[3]] < c_b)
                    if( p[pixel[2]] < c_b)
                      if( p[pixel[1]] < c_b)
                        goto is_a_corner;
                      else
                        if( p[pixel[10]] < c_b)
                          goto is_a_corner;
                        else
                          goto is_not_a_corner;
                    else
                      if( p[pixel[10]] < c_b)
                        if( p[pixel[11]] < c_b)
                          goto is_a_corner;
                        else
                          goto is_not_a_corner;
                      else
                        goto is_not_a_corner;
                  else
                    if( p[pixel[10]] < c_b)
                      if( p[pixel[11]] < c_b)
                        if( p[pixel[12]] < c_b)
                          goto is_a_corner;
                        else
                          goto is_not_a_corner;
                      else
                        goto is_not_a_corner;
                    else
                      goto is_not_a_corner;
                else
                  if( p[pixel[10]] < c_b)
                    if( p[pixel[11]] < c_b)
                      if( p[pixel[12]] < c_b)
                        if( p[pixel[13]] < c_b)
                          goto is_a_corner;
                        else
                          goto is_not_a_corner;
                      else
                        goto is_not_a_corner;
                    else
                      goto is_not_a_corner;
                  else
                    goto is_not_a_corner;
              else
                if( p[pixel[10]] < c_b)
                  if( p[pixel[11]] < c_b)
                    if( p[pixel[12]] < c_b)
                      if( p[pixel[13]] < c_b)
                        if( p[pixel[14]] < c_b)
                          goto is_a_corner;
                        else
                          goto is_not_a_corner;
                      else
                        goto is_not_a_corner;
                    else
                      goto is_not_a_corner;
                  else
                    goto is_not_a_corner;
                else
                  goto is_not_a_corner;
            else
              if( p[pixel[10]] < c_b)
                if( p[pixel[11]] < c_b)
                  if( p[pixel[12]] < c_b)
                    if( p[pixel[13]] < c_b)
                      if( p[pixel[14]] < c_b)
                        if( p[pixel[15]] < c_b)
                          goto is_a_corner;
                        else
                          goto is_not_a_corner;
                      else
                        goto is_not_a_corner;
                    else
                      goto is_not_a_corner;
                  else
                    goto is_not_a_corner;
                else
                  goto is_not_a_corner;
              else
                goto is_not_a_corner;
          else
            goto is_not_a_corner;
        else
          goto is_not_a_corner;
      else
        goto is_not_a_corner;

is_a_corner:
    bmin=b;
    goto end_if;

is_not_a_corner:
    bmax=b;
    goto end_if;

end_if:

    if(bmin == bmax - 1 || bmin == bmax)
      return bmin;
    b = (bmin + bmax) / 2;
  }
}

static void make_offsets(int pixel[], int row_stride)
{
  pixel[0] = 0 + row_stride * 3;
  pixel[1] = 1 + row_stride * 3;
  pixel[2] = 2 + row_stride * 2;
  pixel[3] = 3 + row_stride * 1;
  pixel[4] = 3 + row_stride * 0;
  pixel[5] = 3 + row_stride * -1;
  pixel[6] = 2 + row_stride * -2;
  pixel[7] = 1 + row_stride * -3;
  pixel[8] = 0 + row_stride * -3;
  pixel[9] = -1 + row_stride * -3;
  pixel[10] = -2 + row_stride * -2;
  pixel[11] = -3 + row_stride * -1;
  pixel[12] = -3 + row_stride * 0;
  pixel[13] = -3 + row_stride * 1;
  pixel[14] = -2 + row_stride * 2;
  pixel[15] = -1 + row_stride * 3;
}



int* aom_fast9_score(const byte* i, int stride, const xy* corners, int num_corners, int b)
{
  int* scores = (int*)malloc(sizeof(int)* num_corners);
  int n;

  int pixel[16];
  if(!scores) return NULL;
  make_offsets(pixel, stride);

  for(n=0; n < num_corners; n++)
    scores[n] = aom_fast9_corner_score(i + corners[n].y*stride + corners[n].x, pixel, b);

  return scores;
}


xy* aom_fast9_detect(const byte* im, int xsize, int ysize, int stride, int b, int* ret_num_corners)
{
  int num_corners=0;
  xy* ret_corners;
  int rsize=512;
  int pixel[16];
  int x, y;

  ret_corners = (xy*)malloc(sizeof(xy)*rsize);
  if(!ret_corners) return NULL;
  make_offsets(pixel, stride);

  for(y=3; y < ysize - 3; y++)
    for(x=3; x < xsize - 3; x++)
    {
      const byte* p = im + y*stride + x;

      int cb = *p + b;
      int c_b= *p - b;
      if(p[pixel[0]] > cb)
        if(p[pixel[1]] > cb)
          if(p[pixel[2]] > cb)
            if(p[pixel[3]] > cb)
              if(p[pixel[4]] > cb)
                if(p[pixel[5]] > cb)
                  if(p[pixel[6]] > cb)
                    if(p[pixel[7]] > cb)
                      if(p[pixel[8]] > cb)
                      {}
                      else
                        if(p[pixel[15]] > cb)
                        {}
                        else
                          continue;
                    else if(p[pixel[7]] < c_b)
                      if(p[pixel[14]] > cb)
                        if(p[pixel[15]] > cb)
                        {}
                        else
                          continue;
                      else if(p[pixel[14]] < c_b)
                        if(p[pixel[8]] < c_b)
                          if(p[pixel[9]] < c_b)
                            if(p[pixel[10]] < c_b)
                              if(p[pixel[11]] < c_b)
                                if(p[pixel[12]] < c_b)
                                  if(p[pixel[13]] < c_b)
                                    if(p[pixel[15]] < c_b)
                                    {}
                                    else
                                      continue;
                                  else
                                    continue;
                                else
                                  continue;
                              else
                                continue;
                            else
                              continue;
                          else
                            continue;
                        else
                          continue;
                      else
                        continue;
                    else
                      if(p[pixel[14]] > cb)
                        if(p[pixel[15]] > cb)
                        {}
                        else
                          continue;
                      else
                        continue;
                  else if(p[pixel[6]] < c_b)
                    if(p[pixel[15]] > cb)
                      if(p[pixel[13]] > cb)
                        if(p[pixel[14]] > cb)
                        {}
                        else
                          continue;
                      else if(p[pixel[13]] < c_b)
                        if(p[pixel[7]] < c_b)
                          if(p[pixel[8]] < c_b)
                            if(p[pixel[9]] < c_b)
                              if(p[pixel[10]] < c_b)
                                if(p[pixel[11]] < c_b)
                                  if(p[pixel[12]] < c_b)
                                    if(p[pixel[14]] < c_b)
                                    {}
                                    else
                                      continue;
                                  else
                                    continue;
                                else
                                  continue;
                              else
                                continue;
                            else
                              continue;
                          else
                            continue;
                        else
                          continue;
                      else
                        continue;
                    else
                      if(p[pixel[7]] < c_b)
                        if(p[pixel[8]] < c_b)
                          if(p[pixel[9]] < c_b)
                            if(p[pixel[10]] < c_b)
                              if(p[pixel[11]] < c_b)
                                if(p[pixel[12]] < c_b)
                                  if(p[pixel[13]] < c_b)
                                    if(p[pixel[14]] < c_b)
                                    {}
                                    else
                                      continue;
                                  else
                                    continue;
                                else
                                  continue;
                              else
                                continue;
                            else
                              continue;
                          else
                            continue;
                        else
                          continue;
                      else
                        continue;
                  else
                    if(p[pixel[13]] > cb)
                      if(p[pixel[14]] > cb)
                        if(p[pixel[15]] > cb)
                        {}
                        else
                          continue;
                      else
                        continue;
                    else if(p[pixel[13]] < c_b)
                      if(p[pixel[7]] < c_b)
                        if(p[pixel[8]] < c_b)
                          if(p[pixel[9]] < c_b)
                            if(p[pixel[10]] < c_b)
                              if(p[pixel[11]] < c_b)
                                if(p[pixel[12]] < c_b)
                                  if(p[pixel[14]] < c_b)
                                    if(p[pixel[15]] < c_b)
                                    {}
                                    else
                                      continue;
                                  else
                                    continue;
                                else
                                  continue;
                              else
                                continue;
                            else
                              continue;
                          else
                            continue;
                        else
                          continue;
                      else
                        continue;
                    else
                      continue;
                else if(p[pixel[5]] < c_b)
                  if(p[pixel[14]] > cb)
                    if(p[pixel[12]] > cb)
                      if(p[pixel[13]] > cb)
                        if(p[pixel[15]] > cb)
                        {}
                        else
                          if(p[pixel[6]] > cb)
                            if(p[pixel[7]] > cb)
                              if(p[pixel[8]] > cb)
                                if(p[pixel[9]] > cb)
                                  if(p[pixel[10]] > cb)
                                    if(p[pixel[11]] > cb)
                                    {}
                                    else
                                      continue;
                                  else
                                    continue;
                                else
                                  continue;
                              else
                                continue;
                            else
                              continue;
                          else
                            continue;
                      else
                        continue;
                    else if(p[pixel[12]] < c_b)
                      if(p[pixel[6]] < c_b)
                        if(p[pixel[7]] < c_b)
                          if(p[pixel[8]] < c_b)
                            if(p[pixel[9]] < c_b)
                              if(p[pixel[10]] < c_b)
                                if(p[pixel[11]] < c_b)
                                  if(p[pixel[13]] < c_b)
                                  {}
                                  else
                                    continue;
                                else
                                  continue;
                              else
                                continue;
                            else
                              continue;
                          else
                            continue;
                        else
                          continue;
                      else
                        continue;
                    else
                      continue;
                  else if(p[pixel[14]] < c_b)
                    if(p[pixel[7]] < c_b)
                      if(p[pixel[8]] < c_b)
                        if(p[pixel[9]] < c_b)
                          if(p[pixel[10]] < c_b)
                            if(p[pixel[11]] < c_b)
                              if(p[pixel[12]] < c_b)
                                if(p[pixel[13]] < c_b)
                                  if(p[pixel[6]] < c_b)
                                  {}
                                  else
                                    if(p[pixel[15]] < c_b)
                                    {}
                                    else
                                      continue;
                                else
                                  continue;
                              else
                                continue;
                            else
                              continue;
                          else
                            continue;
                        else
                          continue;
                      else
                        continue;
                    else
                      continue;
                  else
                    if(p[pixel[6]] < c_b)
                      if(p[pixel[7]] < c_b)
                        if(p[pixel[8]] < c_b)
                          if(p[pixel[9]] < c_b)
                            if(p[pixel[10]] < c_b)
                              if(p[pixel[11]] < c_b)
                                if(p[pixel[12]] < c_b)
                                  if(p[pixel[13]] < c_b)
                                  {}
                                  else
                                    continue;
                                else
                                  continue;
                              else
                                continue;
                            else
                              continue;
                          else
                            continue;
                        else
                          continue;
                      else
                        continue;
                    else
                      continue;
                else
                  if(p[pixel[12]] > cb)
                    if(p[pixel[13]] > cb)
                      if(p[pixel[14]] > cb)
                        if(p[pixel[15]] > cb)
                        {}
                        else
                          if(p[pixel[6]] > cb)
                            if(p[pixel[7]] > cb)
                              if(p[pixel[8]] > cb)
                                if(p[pixel[9]] > cb)
                                  if(p[pixel[10]] > cb)
                                    if(p[pixel[11]] > cb)
                                    {}
                                    else
                                      continue;
                                  else
                                    continue;
                                else
                                  continue;
                              else
                                continue;
                            else
                              continue;
                          else
                            continue;
                      else
                        continue;
                    else
                      continue;
                  else if(p[pixel[12]] < c_b)
                    if(p[pixel[7]] < c_b)
                      if(p[pixel[8]] < c_b)
                        if(p[pixel[9]] < c_b)
                          if(p[pixel[10]] < c_b)
                            if(p[pixel[11]] < c_b)
                              if(p[pixel[13]] < c_b)
                                if(p[pixel[14]] < c_b)
                                  if(p[pixel[6]] < c_b)
                                  {}
                                  else
                                    if(p[pixel[15]] < c_b)
                                    {}
                                    else
                                      continue;
                                else
                                  continue;
                              else
                                continue;
                            else
                              continue;
                          else
                            continue;
                        else
                          continue;
                      else
                        continue;
                    else
                      continue;
                  else
                    continue;
              else if(p[pixel[4]] < c_b)
                if(p[pixel[13]] > cb)
                  if(p[pixel[11]] > cb)
                    if(p[pixel[12]] > cb)
                      if(p[pixel[14]] > cb)
                        if(p[pixel[15]] > cb)
                        {}
                        else
                          if(p[pixel[6]] > cb)
                            if(p[pixel[7]] > cb)
                              if(p[pixel[8]] > cb)
                                if(p[pixel[9]] > cb)
                                  if(p[pixel[10]] > cb)
                                  {}
                                  else
                                    continue;
                                else
                                  continue;
                              else
                                continue;
                            else
                              continue;
                          else
                            continue;
                      else
                        if(p[pixel[5]] > cb)
                          if(p[pixel[6]] > cb)
                            if(p[pixel[7]] > cb)
                              if(p[pixel[8]] > cb)
                                if(p[pixel[9]] > cb)
                                  if(p[pixel[10]] > cb)
                                  {}
                                  else
                                    continue;
                                else
                                  continue;
                              else
                                continue;
                            else
                              continue;
                          else
                            continue;
                        else
                          continue;
                    else
                      continue;
                  else if(p[pixel[11]] < c_b)
                    if(p[pixel[5]] < c_b)
                      if(p[pixel[6]] < c_b)
                        if(p[pixel[7]] < c_b)
                          if(p[pixel[8]] < c_b)
                            if(p[pixel[9]] < c_b)
                              if(p[pixel[10]] < c_b)
                                if(p[pixel[12]] < c_b)
                                {}
                                else
                                  continue;
                              else
                                continue;
                            else
                              continue;
                          else
                            continue;
                        else
                          continue;
                      else
                        continue;
                    else
                      continue;
                  else
                    continue;
                else if(p[pixel[13]] < c_b)
                  if(p[pixel[7]] < c_b)
                    if(p[pixel[8]] < c_b)
                      if(p[pixel[9]] < c_b)
                        if(p[pixel[10]] < c_b)
                          if(p[pixel[11]] < c_b)
                            if(p[pixel[12]] < c_b)
                              if(p[pixel[6]] < c_b)
                                if(p[pixel[5]] < c_b)
                                {}
                                else
                                  if(p[pixel[14]] < c_b)
                                  {}
                                  else
                                    continue;
                              else
                                if(p[pixel[14]] < c_b)
                                  if(p[pixel[15]] < c_b)
                                  {}
                                  else
                                    continue;
                                else
                                  continue;
                            else
                              continue;
                          else
                            continue;
                        else
                          continue;
                      else
                        continue;
                    else
                      continue;
                  else
                    continue;
                else
                  if(p[pixel[5]] < c_b)
                    if(p[pixel[6]] < c_b)
                      if(p[pixel[7]] < c_b)
                        if(p[pixel[8]] < c_b)
                          if(p[pixel[9]] < c_b)
                            if(p[pixel[10]] < c_b)
                              if(p[pixel[11]] < c_b)
                                if(p[pixel[12]] < c_b)
                                {}
                                else
                                  continue;
                              else
                                continue;
                            else
                              continue;
                          else
                            continue;
                        else
                          continue;
                      else
                        continue;
                    else
                      continue;
                  else
                    continue;
              else
                if(p[pixel[11]] > cb)
                  if(p[pixel[12]] > cb)
                    if(p[pixel[13]] > cb)
                      if(p[pixel[14]] > cb)
                        if(p[pixel[15]] > cb)
                        {}
                        else
                          if(p[pixel[6]] > cb)
                            if(p[pixel[7]] > cb)
                              if(p[pixel[8]] > cb)
                                if(p[pixel[9]] > cb)
                                  if(p[pixel[10]] > cb)
                                  {}
                                  else
                                    continue;
                                else
                                  continue;
                              else
                                continue;
                            else
                              continue;
                          else
                            continue;
                      else
                        if(p[pixel[5]] > cb)
                          if(p[pixel[6]] > cb)
                            if(p[pixel[7]] > cb)
                              if(p[pixel[8]] > cb)
                                if(p[pixel[9]] > cb)
                                  if(p[pixel[10]] > cb)
                                  {}
                                  else
                                    continue;
                                else
                                  continue;
                              else
                                continue;
                            else
                              continue;
                          else
                            continue;
                        else
                          continue;
                    else
                      continue;
                  else
                    continue;
                else if(p[pixel[11]] < c_b)
                  if(p[pixel[7]] < c_b)
                    if(p[pixel[8]] < c_b)
                      if(p[pixel[9]] < c_b)
                        if(p[pixel[10]] < c_b)
                          if(p[pixel[12]] < c_b)
                            if(p[pixel[13]] < c_b)
                              if(p[pixel[6]] < c_b)
                                if(p[pixel[5]] < c_b)
                                {}
                                else
                                  if(p[pixel[14]] < c_b)
                                  {}
                                  else
                                    continue;
                              else
                                if(p[pixel[14]] < c_b)
                                  if(p[pixel[15]] < c_b)
                                  {}
                                  else
                                    continue;
                                else
                                  continue;
                            else
                              continue;
                          else
                            continue;
                        else
                          continue;
                      else
                        continue;
                    else
                      continue;
                  else
                    continue;
                else
                  continue;
            else if(p[pixel[3]] < c_b)
              if(p[pixel[10]] > cb)
                if(p[pixel[11]] > cb)
                  if(p[pixel[12]] > cb)
                    if(p[pixel[13]] > cb)
                      if(p[pixel[14]] > cb)
                        if(p[pixel[15]] > cb)
                        {}
                        else
                          if(p[pixel[6]] > cb)
                            if(p[pixel[7]] > cb)
                              if(p[pixel[8]] > cb)
                                if(p[pixel[9]] > cb)
                                {}
                                else
                                  continue;
                              else
                                continue;
                            else
                              continue;
                          else
                            continue;
                      else
                        if(p[pixel[5]] > cb)
                          if(p[pixel[6]] > cb)
                            if(p[pixel[7]] > cb)
                              if(p[pixel[8]] > cb)
                                if(p[pixel[9]] > cb)
                                {}
                                else
                                  continue;
                              else
                                continue;
                            else
                              continue;
                          else
                            continue;
                        else
                          continue;
                    else
                      if(p[pixel[4]] > cb)
                        if(p[pixel[5]] > cb)
                          if(p[pixel[6]] > cb)
                            if(p[pixel[7]] > cb)
                              if(p[pixel[8]] > cb)
                                if(p[pixel[9]] > cb)
                                {}
                                else
                                  continue;
                              else
                                continue;
                            else
                              continue;
                          else
                            continue;
                        else
                          continue;
                      else
                        continue;
                  else
                    continue;
                else
                  continue;
              else if(p[pixel[10]] < c_b)
                if(p[pixel[7]] < c_b)
                  if(p[pixel[8]] < c_b)
                    if(p[pixel[9]] < c_b)
                      if(p[pixel[11]] < c_b)
                        if(p[pixel[6]] < c_b)
                          if(p[pixel[5]] < c_b)
                            if(p[pixel[4]] < c_b)
                            {}
                            else
                              if(p[pixel[12]] < c_b)
                                if(p[pixel[13]] < c_b)
                                {}
                                else
                                  continue;
                              else
                                continue;
                          else
                            if(p[pixel[12]] < c_b)
                              if(p[pixel[13]] < c_b)
                                if(p[pixel[14]] < c_b)
                                {}
                                else
                                  continue;
                              else
                                continue;
                            else
                              continue;
                        else
                          if(p[pixel[12]] < c_b)
                            if(p[pixel[13]] < c_b)
                              if(p[pixel[14]] < c_b)
                                if(p[pixel[15]] < c_b)
                                {}
                                else
                                  continue;
                              else
                                continue;
                            else
                              continue;
                          else
                            continue;
                      else
                        continue;
                    else
                      continue;
                  else
                    continue;
                else
                  continue;
              else
                continue;
            else
              if(p[pixel[10]] > cb)
                if(p[pixel[11]] > cb)
                  if(p[pixel[12]] > cb)
                    if(p[pixel[13]] > cb)
                      if(p[pixel[14]] > cb)
                        if(p[pixel[15]] > cb)
                        {}
                        else
                          if(p[pixel[6]] > cb)
                            if(p[pixel[7]] > cb)
                              if(p[pixel[8]] > cb)
                                if(p[pixel[9]] > cb)
                                {}
                                else
                                  continue;
                              else
                                continue;
                            else
                              continue;
                          else
                            continue;
                      else
                        if(p[pixel[5]] > cb)
                          if(p[pixel[6]] > cb)
                            if(p[pixel[7]] > cb)
                              if(p[pixel[8]] > cb)
                                if(p[pixel[9]] > cb)
                                {}
                                else
                                  continue;
                              else
                                continue;
                            else
                              continue;
                          else
                            continue;
                        else
                          continue;
                    else
                      if(p[pixel[4]] > cb)
                        if(p[pixel[5]] > cb)
                          if(p[pixel[6]] > cb)
                            if(p[pixel[7]] > cb)
                              if(p[pixel[8]] > cb)
                                if(p[pixel[9]] > cb)
                                {}
                                else
                                  continue;
                              else
                                continue;
                            else
                              continue;
                          else
                            continue;
                        else
                          continue;
                      else
                        continue;
                  else
                    continue;
                else
                  continue;
              else if(p[pixel[10]] < c_b)
                if(p[pixel[7]] < c_b)
                  if(p[pixel[8]] < c_b)
                    if(p[pixel[9]] < c_b)
                      if(p[pixel[11]] < c_b)
                        if(p[pixel[12]] < c_b)
                          if(p[pixel[6]] < c_b)
                            if(p[pixel[5]] < c_b)
                              if(p[pixel[4]] < c_b)
                              {}
                              else
                                if(p[pixel[13]] < c_b)
                                {}
                                else
                                  continue;
                            else
                              if(p[pixel[13]] < c_b)
                                if(p[pixel[14]] < c_b)
                                {}
                                else
                                  continue;
                              else
                                continue;
                          else
                            if(p[pixel[13]] < c_b)
                              if(p[pixel[14]] < c_b)
                                if(p[pixel[15]] < c_b)
                                {}
                                else
                                  continue;
                              else
                                continue;
                            else
                              continue;
                        else
                          continue;
                      else
                        continue;
                    else
                      continue;
                  else
                    continue;
                else
                  continue;
              else
                continue;
          else if(p[pixel[2]] < c_b)
            if(p[pixel[9]] > cb)
              if(p[pixel[10]] > cb)
                if(p[pixel[11]] > cb)
                  if(p[pixel[12]] > cb)
                    if(p[pixel[13]] > cb)
                      if(p[pixel[14]] > cb)
                        if(p[pixel[15]] > cb)
                        {}
                        else
                          if(p[pixel[6]] > cb)
                            if(p[pixel[7]] > cb)
                              if(p[pixel[8]] > cb)
                              {}
                              else
                                continue;
                            else
                              continue;
                          else
                            continue;
                      else
                        if(p[pixel[5]] > cb)
                          if(p[pixel[6]] > cb)
                            if(p[pixel[7]] > cb)
                              if(p[pixel[8]] > cb)
                              {}
                              else
                                continue;
                            else
                              continue;
                          else
                            continue;
                        else
                          continue;
                    else
                      if(p[pixel[4]] > cb)
                        if(p[pixel[5]] > cb)
                          if(p[pixel[6]] > cb)
                            if(p[pixel[7]] > cb)
                              if(p[pixel[8]] > cb)
                              {}
                              else
                                continue;
                            else
                              continue;
                          else
                            continue;
                        else
                          continue;
                      else
                        continue;
                  else
                    if(p[pixel[3]] > cb)
                      if(p[pixel[4]] > cb)
                        if(p[pixel[5]] > cb)
                          if(p[pixel[6]] > cb)
                            if(p[pixel[7]] > cb)
                              if(p[pixel[8]] > cb)
                              {}
                              else
                                continue;
                            else
                              continue;
                          else
                            continue;
                        else
                          continue;
                      else
                        continue;
                    else
                      continue;
                else
                  continue;
              else
                continue;
            else if(p[pixel[9]] < c_b)
              if(p[pixel[7]] < c_b)
                if(p[pixel[8]] < c_b)
                  if(p[pixel[10]] < c_b)
                    if(p[pixel[6]] < c_b)
                      if(p[pixel[5]] < c_b)
                        if(p[pixel[4]] < c_b)
                          if(p[pixel[3]] < c_b)
                          {}
                          else
                            if(p[pixel[11]] < c_b)
                              if(p[pixel[12]] < c_b)
                              {}
                              else
                                continue;
                            else
                              continue;
                        else
                          if(p[pixel[11]] < c_b)
                            if(p[pixel[12]] < c_b)
                              if(p[pixel[13]] < c_b)
                              {}
                              else
                                continue;
                            else
                              continue;
                          else
                            continue;
                      else
                        if(p[pixel[11]] < c_b)
                          if(p[pixel[12]] < c_b)
                            if(p[pixel[13]] < c_b)
                              if(p[pixel[14]] < c_b)
                              {}
                              else
                                continue;
                            else
                              continue;
                          else
                            continue;
                        else
                          continue;
                    else
                      if(p[pixel[11]] < c_b)
                        if(p[pixel[12]] < c_b)
                          if(p[pixel[13]] < c_b)
                            if(p[pixel[14]] < c_b)
                              if(p[pixel[15]] < c_b)
                              {}
                              else
                                continue;
                            else
                              continue;
                          else
                            continue;
                        else
                          continue;
                      else
                        continue;
                  else
                    continue;
                else
                  continue;
              else
                continue;
            else
              continue;
          else
            if(p[pixel[9]] > cb)
              if(p[pixel[10]] > cb)
                if(p[pixel[11]] > cb)
                  if(p[pixel[12]] > cb)
                    if(p[pixel[13]] > cb)
                      if(p[pixel[14]] > cb)
                        if(p[pixel[15]] > cb)
                        {}
                        else
                          if(p[pixel[6]] > cb)
                            if(p[pixel[7]] > cb)
                              if(p[pixel[8]] > cb)
                              {}
                              else
                                continue;
                            else
                              continue;
                          else
                            continue;
                      else
                        if(p[pixel[5]] > cb)
                          if(p[pixel[6]] > cb)
                            if(p[pixel[7]] > cb)
                              if(p[pixel[8]] > cb)
                              {}
                              else
                                continue;
                            else
                              continue;
                          else
                            continue;
                        else
                          continue;
                    else
                      if(p[pixel[4]] > cb)
                        if(p[pixel[5]] > cb)
                          if(p[pixel[6]] > cb)
                            if(p[pixel[7]] > cb)
                              if(p[pixel[8]] > cb)
                              {}
                              else
                                continue;
                            else
                              continue;
                          else
                            continue;
                        else
                          continue;
                      else
                        continue;
                  else
                    if(p[pixel[3]] > cb)
                      if(p[pixel[4]] > cb)
                        if(p[pixel[5]] > cb)
                          if(p[pixel[6]] > cb)
                            if(p[pixel[7]] > cb)
                              if(p[pixel[8]] > cb)
                              {}
                              else
                                continue;
                            else
                              continue;
                          else
                            continue;
                        else
                          continue;
                      else
                        continue;
                    else
                      continue;
                else
                  continue;
              else
                continue;
            else if(p[pixel[9]] < c_b)
              if(p[pixel[7]] < c_b)
                if(p[pixel[8]] < c_b)
                  if(p[pixel[10]] < c_b)
                    if(p[pixel[11]] < c_b)
                      if(p[pixel[6]] < c_b)
                        if(p[pixel[5]] < c_b)
                          if(p[pixel[4]] < c_b)
                            if(p[pixel[3]] < c_b)
                            {}
                            else
                              if(p[pixel[12]] < c_b)
                              {}
                              else
                                continue;
                          else
                            if(p[pixel[12]] < c_b)
                              if(p[pixel[13]] < c_b)
                              {}
                              else
                                continue;
                            else
                              continue;
                        else
                          if(p[pixel[12]] < c_b)
                            if(p[pixel[13]] < c_b)
                              if(p[pixel[14]] < c_b)
                              {}
                              else
                                continue;
                            else
                              continue;
                          else
                            continue;
                      else
                        if(p[pixel[12]] < c_b)
                          if(p[pixel[13]] < c_b)
                            if(p[pixel[14]] < c_b)
                              if(p[pixel[15]] < c_b)
                              {}
                              else
                                continue;
                            else
                              continue;
                          else
                            continue;
                        else
                          continue;
                    else
                      continue;
                  else
                    continue;
                else
                  continue;
              else
                continue;
            else
              continue;
        else if(p[pixel[1]] < c_b)
          if(p[pixel[8]] > cb)
            if(p[pixel[9]] > cb)
              if(p[pixel[10]] > cb)
                if(p[pixel[11]] > cb)
                  if(p[pixel[12]] > cb)
                    if(p[pixel[13]] > cb)
                      if(p[pixel[14]] > cb)
                        if(p[pixel[15]] > cb)
                        {}
                        else
                          if(p[pixel[6]] > cb)
                            if(p[pixel[7]] > cb)
                            {}
                            else
                              continue;
                          else
                            continue;
                      else
                        if(p[pixel[5]] > cb)
                          if(p[pixel[6]] > cb)
                            if(p[pixel[7]] > cb)
                            {}
                            else
                              continue;
                          else
                            continue;
                        else
                          continue;
                    else
                      if(p[pixel[4]] > cb)
                        if(p[pixel[5]] > cb)
                          if(p[pixel[6]] > cb)
                            if(p[pixel[7]] > cb)
                            {}
                            else
                              continue;
                          else
                            continue;
                        else
                          continue;
                      else
                        continue;
                  else
                    if(p[pixel[3]] > cb)
                      if(p[pixel[4]] > cb)
                        if(p[pixel[5]] > cb)
                          if(p[pixel[6]] > cb)
                            if(p[pixel[7]] > cb)
                            {}
                            else
                              continue;
                          else
                            continue;
                        else
                          continue;
                      else
                        continue;
                    else
                      continue;
                else
                  if(p[pixel[2]] > cb)
                    if(p[pixel[3]] > cb)
                      if(p[pixel[4]] > cb)
                        if(p[pixel[5]] > cb)
                          if(p[pixel[6]] > cb)
                            if(p[pixel[7]] > cb)
                            {}
                            else
                              continue;
                          else
                            continue;
                        else
                          continue;
                      else
                        continue;
                    else
                      continue;
                  else
                    continue;
              else
                continue;
            else
              continue;
          else if(p[pixel[8]] < c_b)
            if(p[pixel[7]] < c_b)
              if(p[pixel[9]] < c_b)
                if(p[pixel[6]] < c_b)
                  if(p[pixel[5]] < c_b)
                    if(p[pixel[4]] < c_b)
                      if(p[pixel[3]] < c_b)
                        if(p[pixel[2]] < c_b)
                        {}
                        else
                          if(p[pixel[10]] < c_b)
                            if(p[pixel[11]] < c_b)
                            {}
                            else
                              continue;
                          else
                            continue;
                      else
                        if(p[pixel[10]] < c_b)
                          if(p[pixel[11]] < c_b)
                            if(p[pixel[12]] < c_b)
                            {}
                            else
                              continue;
                          else
                            continue;
                        else
                          continue;
                    else
                      if(p[pixel[10]] < c_b)
                        if(p[pixel[11]] < c_b)
                          if(p[pixel[12]] < c_b)
                            if(p[pixel[13]] < c_b)
                            {}
                            else
                              continue;
                          else
                            continue;
                        else
                          continue;
                      else
                        continue;
                  else
                    if(p[pixel[10]] < c_b)
                      if(p[pixel[11]] < c_b)
                        if(p[pixel[12]] < c_b)
                          if(p[pixel[13]] < c_b)
                            if(p[pixel[14]] < c_b)
                            {}
                            else
                              continue;
                          else
                            continue;
                        else
                          continue;
                      else
                        continue;
                    else
                      continue;
                else
                  if(p[pixel[10]] < c_b)
                    if(p[pixel[11]] < c_b)
                      if(p[pixel[12]] < c_b)
                        if(p[pixel[13]] < c_b)
                          if(p[pixel[14]] < c_b)
                            if(p[pixel[15]] < c_b)
                            {}
                            else
                              continue;
                          else
                            continue;
                        else
                          continue;
                      else
                        continue;
                    else
                      continue;
                  else
                    continue;
              else
                continue;
            else
              continue;
          else
            continue;
        else
          if(p[pixel[8]] > cb)
            if(p[pixel[9]] > cb)
              if(p[pixel[10]] > cb)
                if(p[pixel[11]] > cb)
                  if(p[pixel[12]] > cb)
                    if(p[pixel[13]] > cb)
                      if(p[pixel[14]] > cb)
                        if(p[pixel[15]] > cb)
                        {}
                        else
                          if(p[pixel[6]] > cb)
                            if(p[pixel[7]] > cb)
                            {}
                            else
                              continue;
                          else
                            continue;
                      else
                        if(p[pixel[5]] > cb)
                          if(p[pixel[6]] > cb)
                            if(p[pixel[7]] > cb)
                            {}
                            else
                              continue;
                          else
                            continue;
                        else
                          continue;
                    else
                      if(p[pixel[4]] > cb)
                        if(p[pixel[5]] > cb)
                          if(p[pixel[6]] > cb)
                            if(p[pixel[7]] > cb)
                            {}
                            else
                              continue;
                          else
                            continue;
                        else
                          continue;
                      else
                        continue;
                  else
                    if(p[pixel[3]] > cb)
                      if(p[pixel[4]] > cb)
                        if(p[pixel[5]] > cb)
                          if(p[pixel[6]] > cb)
                            if(p[pixel[7]] > cb)
                            {}
                            else
                              continue;
                          else
                            continue;
                        else
                          continue;
                      else
                        continue;
                    else
                      continue;
                else
                  if(p[pixel[2]] > cb)
                    if(p[pixel[3]] > cb)
                      if(p[pixel[4]] > cb)
                        if(p[pixel[5]] > cb)
                          if(p[pixel[6]] > cb)
                            if(p[pixel[7]] > cb)
                            {}
                            else
                              continue;
                          else
                            continue;
                        else
                          continue;
                      else
                        continue;
                    else
                      continue;
                  else
                    continue;
              else
                continue;
            else
              continue;
          else if(p[pixel[8]] < c_b)
            if(p[pixel[7]] < c_b)
              if(p[pixel[9]] < c_b)
                if(p[pixel[10]] < c_b)
                  if(p[pixel[6]] < c_b)
                    if(p[pixel[5]] < c_b)
                      if(p[pixel[4]] < c_b)
                        if(p[pixel[3]] < c_b)
                          if(p[pixel[2]] < c_b)
                          {}
                          else
                            if(p[pixel[11]] < c_b)
                            {}
                            else
                              continue;
                        else
                          if(p[pixel[11]] < c_b)
                            if(p[pixel[12]] < c_b)
                            {}
                            else
                              continue;
                          else
                            continue;
                      else
                        if(p[pixel[11]] < c_b)
                          if(p[pixel[12]] < c_b)
                            if(p[pixel[13]] < c_b)
                            {}
                            else
                              continue;
                          else
                            continue;
                        else
                          continue;
                    else
                      if(p[pixel[11]] < c_b)
                        if(p[pixel[12]] < c_b)
                          if(p[pixel[13]] < c_b)
                            if(p[pixel[14]] < c_b)
                            {}
                            else
                              continue;
                          else
                            continue;
                        else
                          continue;
                      else
                        continue;
                  else
                    if(p[pixel[11]] < c_b)
                      if(p[pixel[12]] < c_b)
                        if(p[pixel[13]] < c_b)
                          if(p[pixel[14]] < c_b)
                            if(p[pixel[15]] < c_b)
                            {}
                            else
                              continue;
                          else
                            continue;
                        else
                          continue;
                      else
                        continue;
                    else
                      continue;
                else
                  continue;
              else
                continue;
            else
              continue;
          else
            continue;
      else if(p[pixel[0]] < c_b)
        if(p[pixel[1]] > cb)
          if(p[pixel[8]] > cb)
            if(p[pixel[7]] > cb)
              if(p[pixel[9]] > cb)
                if(p[pixel[6]] > cb)
                  if(p[pixel[5]] > cb)
                    if(p[pixel[4]] > cb)
                      if(p[pixel[3]] > cb)
                        if(p[pixel[2]] > cb)
                        {}
                        else
                          if(p[pixel[10]] > cb)
                            if(p[pixel[11]] > cb)
                            {}
                            else
                              continue;
                          else
                            continue;
                      else
                        if(p[pixel[10]] > cb)
                          if(p[pixel[11]] > cb)
                            if(p[pixel[12]] > cb)
                            {}
                            else
                              continue;
                          else
                            continue;
                        else
                          continue;
                    else
                      if(p[pixel[10]] > cb)
                        if(p[pixel[11]] > cb)
                          if(p[pixel[12]] > cb)
                            if(p[pixel[13]] > cb)
                            {}
                            else
                              continue;
                          else
                            continue;
                        else
                          continue;
                      else
                        continue;
                  else
                    if(p[pixel[10]] > cb)
                      if(p[pixel[11]] > cb)
                        if(p[pixel[12]] > cb)
                          if(p[pixel[13]] > cb)
                            if(p[pixel[14]] > cb)
                            {}
                            else
                              continue;
                          else
                            continue;
                        else
                          continue;
                      else
                        continue;
                    else
                      continue;
                else
                  if(p[pixel[10]] > cb)
                    if(p[pixel[11]] > cb)
                      if(p[pixel[12]] > cb)
                        if(p[pixel[13]] > cb)
                          if(p[pixel[14]] > cb)
                            if(p[pixel[15]] > cb)
                            {}
                            else
                              continue;
                          else
                            continue;
                        else
                          continue;
                      else
                        continue;
                    else
                      continue;
                  else
                    continue;
              else
                continue;
            else
              continue;
          else if(p[pixel[8]] < c_b)
            if(p[pixel[9]] < c_b)
              if(p[pixel[10]] < c_b)
                if(p[pixel[11]] < c_b)
                  if(p[pixel[12]] < c_b)
                    if(p[pixel[13]] < c_b)
                      if(p[pixel[14]] < c_b)
                        if(p[pixel[15]] < c_b)
                        {}
                        else
                          if(p[pixel[6]] < c_b)
                            if(p[pixel[7]] < c_b)
                            {}
                            else
                              continue;
                          else
                            continue;
                      else
                        if(p[pixel[5]] < c_b)
                          if(p[pixel[6]] < c_b)
                            if(p[pixel[7]] < c_b)
                            {}
                            else
                              continue;
                          else
                            continue;
                        else
                          continue;
                    else
                      if(p[pixel[4]] < c_b)
                        if(p[pixel[5]] < c_b)
                          if(p[pixel[6]] < c_b)
                            if(p[pixel[7]] < c_b)
                            {}
                            else
                              continue;
                          else
                            continue;
                        else
                          continue;
                      else
                        continue;
                  else
                    if(p[pixel[3]] < c_b)
                      if(p[pixel[4]] < c_b)
                        if(p[pixel[5]] < c_b)
                          if(p[pixel[6]] < c_b)
                            if(p[pixel[7]] < c_b)
                            {}
                            else
                              continue;
                          else
                            continue;
                        else
                          continue;
                      else
                        continue;
                    else
                      continue;
                else
                  if(p[pixel[2]] < c_b)
                    if(p[pixel[3]] < c_b)
                      if(p[pixel[4]] < c_b)
                        if(p[pixel[5]] < c_b)
                          if(p[pixel[6]] < c_b)
                            if(p[pixel[7]] < c_b)
                            {}
                            else
                              continue;
                          else
                            continue;
                        else
                          continue;
                      else
                        continue;
                    else
                      continue;
                  else
                    continue;
              else
                continue;
            else
              continue;
          else
            continue;
        else if(p[pixel[1]] < c_b)
          if(p[pixel[2]] > cb)
            if(p[pixel[9]] > cb)
              if(p[pixel[7]] > cb)
                if(p[pixel[8]] > cb)
                  if(p[pixel[10]] > cb)
                    if(p[pixel[6]] > cb)
                      if(p[pixel[5]] > cb)
                        if(p[pixel[4]] > cb)
                          if(p[pixel[3]] > cb)
                          {}
                          else
                            if(p[pixel[11]] > cb)
                              if(p[pixel[12]] > cb)
                              {}
                              else
                                continue;
                            else
                              continue;
                        else
                          if(p[pixel[11]] > cb)
                            if(p[pixel[12]] > cb)
                              if(p[pixel[13]] > cb)
                              {}
                              else
                                continue;
                            else
                              continue;
                          else
                            continue;
                      else
                        if(p[pixel[11]] > cb)
                          if(p[pixel[12]] > cb)
                            if(p[pixel[13]] > cb)
                              if(p[pixel[14]] > cb)
                              {}
                              else
                                continue;
                            else
                              continue;
                          else
                            continue;
                        else
                          continue;
                    else
                      if(p[pixel[11]] > cb)
                        if(p[pixel[12]] > cb)
                          if(p[pixel[13]] > cb)
                            if(p[pixel[14]] > cb)
                              if(p[pixel[15]] > cb)
                              {}
                              else
                                continue;
                            else
                              continue;
                          else
                            continue;
                        else
                          continue;
                      else
                        continue;
                  else
                    continue;
                else
                  continue;
              else
                continue;
            else if(p[pixel[9]] < c_b)
              if(p[pixel[10]] < c_b)
                if(p[pixel[11]] < c_b)
                  if(p[pixel[12]] < c_b)
                    if(p[pixel[13]] < c_b)
                      if(p[pixel[14]] < c_b)
                        if(p[pixel[15]] < c_b)
                        {}
                        else
                          if(p[pixel[6]] < c_b)
                            if(p[pixel[7]] < c_b)
                              if(p[pixel[8]] < c_b)
                              {}
                              else
                                continue;
                            else
                              continue;
                          else
                            continue;
                      else
                        if(p[pixel[5]] < c_b)
                          if(p[pixel[6]] < c_b)
                            if(p[pixel[7]] < c_b)
                              if(p[pixel[8]] < c_b)
                              {}
                              else
                                continue;
                            else
                              continue;
                          else
                            continue;
                        else
                          continue;
                    else
                      if(p[pixel[4]] < c_b)
                        if(p[pixel[5]] < c_b)
                          if(p[pixel[6]] < c_b)
                            if(p[pixel[7]] < c_b)
                              if(p[pixel[8]] < c_b)
                              {}
                              else
                                continue;
                            else
                              continue;
                          else
                            continue;
                        else
                          continue;
                      else
                        continue;
                  else
                    if(p[pixel[3]] < c_b)
                      if(p[pixel[4]] < c_b)
                        if(p[pixel[5]] < c_b)
                          if(p[pixel[6]] < c_b)
                            if(p[pixel[7]] < c_b)
                              if(p[pixel[8]] < c_b)
                              {}
                              else
                                continue;
                            else
                              continue;
                          else
                            continue;
                        else
                          continue;
                      else
                        continue;
                    else
                      continue;
                else
                  continue;
              else
                continue;
            else
              continue;
          else if(p[pixel[2]] < c_b)
            if(p[pixel[3]] > cb)
              if(p[pixel[10]] > cb)
                if(p[pixel[7]] > cb)
                  if(p[pixel[8]] > cb)
                    if(p[pixel[9]] > cb)
                      if(p[pixel[11]] > cb)
                        if(p[pixel[6]] > cb)
                          if(p[pixel[5]] > cb)
                            if(p[pixel[4]] > cb)
                            {}
                            else
                              if(p[pixel[12]] > cb)
                                if(p[pixel[13]] > cb)
                                {}
                                else
                                  continue;
                              else
                                continue;
                          else
                            if(p[pixel[12]] > cb)
                              if(p[pixel[13]] > cb)
                                if(p[pixel[14]] > cb)
                                {}
                                else
                                  continue;
                              else
                                continue;
                            else
                              continue;
                        else
                          if(p[pixel[12]] > cb)
                            if(p[pixel[13]] > cb)
                              if(p[pixel[14]] > cb)
                                if(p[pixel[15]] > cb)
                                {}
                                else
                                  continue;
                              else
                                continue;
                            else
                              continue;
                          else
                            continue;
                      else
                        continue;
                    else
                      continue;
                  else
                    continue;
                else
                  continue;
              else if(p[pixel[10]] < c_b)
                if(p[pixel[11]] < c_b)
                  if(p[pixel[12]] < c_b)
                    if(p[pixel[13]] < c_b)
                      if(p[pixel[14]] < c_b)
                        if(p[pixel[15]] < c_b)
                        {}
                        else
                          if(p[pixel[6]] < c_b)
                            if(p[pixel[7]] < c_b)
                              if(p[pixel[8]] < c_b)
                                if(p[pixel[9]] < c_b)
                                {}
                                else
                                  continue;
                              else
                                continue;
                            else
                              continue;
                          else
                            continue;
                      else
                        if(p[pixel[5]] < c_b)
                          if(p[pixel[6]] < c_b)
                            if(p[pixel[7]] < c_b)
                              if(p[pixel[8]] < c_b)
                                if(p[pixel[9]] < c_b)
                                {}
                                else
                                  continue;
                              else
                                continue;
                            else
                              continue;
                          else
                            continue;
                        else
                          continue;
                    else
                      if(p[pixel[4]] < c_b)
                        if(p[pixel[5]] < c_b)
                          if(p[pixel[6]] < c_b)
                            if(p[pixel[7]] < c_b)
                              if(p[pixel[8]] < c_b)
                                if(p[pixel[9]] < c_b)
                                {}
                                else
                                  continue;
                              else
                                continue;
                            else
                              continue;
                          else
                            continue;
                        else
                          continue;
                      else
                        continue;
                  else
                    continue;
                else
                  continue;
              else
                continue;
            else if(p[pixel[3]] < c_b)
              if(p[pixel[4]] > cb)
                if(p[pixel[13]] > cb)
                  if(p[pixel[7]] > cb)
                    if(p[pixel[8]] > cb)
                      if(p[pixel[9]] > cb)
                        if(p[pixel[10]] > cb)
                          if(p[pixel[11]] > cb)
                            if(p[pixel[12]] > cb)
                              if(p[pixel[6]] > cb)
                                if(p[pixel[5]] > cb)
                                {}
                                else
                                  if(p[pixel[14]] > cb)
                                  {}
                                  else
                                    continue;
                              else
                                if(p[pixel[14]] > cb)
                                  if(p[pixel[15]] > cb)
                                  {}
                                  else
                                    continue;
                                else
                                  continue;
                            else
                              continue;
                          else
                            continue;
                        else
                          continue;
                      else
                        continue;
                    else
                      continue;
                  else
                    continue;
                else if(p[pixel[13]] < c_b)
                  if(p[pixel[11]] > cb)
                    if(p[pixel[5]] > cb)
                      if(p[pixel[6]] > cb)
                        if(p[pixel[7]] > cb)
                          if(p[pixel[8]] > cb)
                            if(p[pixel[9]] > cb)
                              if(p[pixel[10]] > cb)
                                if(p[pixel[12]] > cb)
                                {}
                                else
                                  continue;
                              else
                                continue;
                            else
                              continue;
                          else
                            continue;
                        else
                          continue;
                      else
                        continue;
                    else
                      continue;
                  else if(p[pixel[11]] < c_b)
                    if(p[pixel[12]] < c_b)
                      if(p[pixel[14]] < c_b)
                        if(p[pixel[15]] < c_b)
                        {}
                        else
                          if(p[pixel[6]] < c_b)
                            if(p[pixel[7]] < c_b)
                              if(p[pixel[8]] < c_b)
                                if(p[pixel[9]] < c_b)
                                  if(p[pixel[10]] < c_b)
                                  {}
                                  else
                                    continue;
                                else
                                  continue;
                              else
                                continue;
                            else
                              continue;
                          else
                            continue;
                      else
                        if(p[pixel[5]] < c_b)
                          if(p[pixel[6]] < c_b)
                            if(p[pixel[7]] < c_b)
                              if(p[pixel[8]] < c_b)
                                if(p[pixel[9]] < c_b)
                                  if(p[pixel[10]] < c_b)
                                  {}
                                  else
                                    continue;
                                else
                                  continue;
                              else
                                continue;
                            else
                              continue;
                          else
                            continue;
                        else
                          continue;
                    else
                      continue;
                  else
                    continue;
                else
                  if(p[pixel[5]] > cb)
                    if(p[pixel[6]] > cb)
                      if(p[pixel[7]] > cb)
                        if(p[pixel[8]] > cb)
                          if(p[pixel[9]] > cb)
                            if(p[pixel[10]] > cb)
                              if(p[pixel[11]] > cb)
                                if(p[pixel[12]] > cb)
                                {}
                                else
                                  continue;
                              else
                                continue;
                            else
                              continue;
                          else
                            continue;
                        else
                          continue;
                      else
                        continue;
                    else
                      continue;
                  else
                    continue;
              else if(p[pixel[4]] < c_b)
                if(p[pixel[5]] > cb)
                  if(p[pixel[14]] > cb)
                    if(p[pixel[7]] > cb)
                      if(p[pixel[8]] > cb)
                        if(p[pixel[9]] > cb)
                          if(p[pixel[10]] > cb)
                            if(p[pixel[11]] > cb)
                              if(p[pixel[12]] > cb)
                                if(p[pixel[13]] > cb)
                                  if(p[pixel[6]] > cb)
                                  {}
                                  else
                                    if(p[pixel[15]] > cb)
                                    {}
                                    else
                                      continue;
                                else
                                  continue;
                              else
                                continue;
                            else
                              continue;
                          else
                            continue;
                        else
                          continue;
                      else
                        continue;
                    else
                      continue;
                  else if(p[pixel[14]] < c_b)
                    if(p[pixel[12]] > cb)
                      if(p[pixel[6]] > cb)
                        if(p[pixel[7]] > cb)
                          if(p[pixel[8]] > cb)
                            if(p[pixel[9]] > cb)
                              if(p[pixel[10]] > cb)
                                if(p[pixel[11]] > cb)
                                  if(p[pixel[13]] > cb)
                                  {}
                                  else
                                    continue;
                                else
                                  continue;
                              else
                                continue;
                            else
                              continue;
                          else
                            continue;
                        else
                          continue;
                      else
                        continue;
                    else if(p[pixel[12]] < c_b)
                      if(p[pixel[13]] < c_b)
                        if(p[pixel[15]] < c_b)
                        {}
                        else
                          if(p[pixel[6]] < c_b)
                            if(p[pixel[7]] < c_b)
                              if(p[pixel[8]] < c_b)
                                if(p[pixel[9]] < c_b)
                                  if(p[pixel[10]] < c_b)
                                    if(p[pixel[11]] < c_b)
                                    {}
                                    else
                                      continue;
                                  else
                                    continue;
                                else
                                  continue;
                              else
                                continue;
                            else
                              continue;
                          else
                            continue;
                      else
                        continue;
                    else
                      continue;
                  else
                    if(p[pixel[6]] > cb)
                      if(p[pixel[7]] > cb)
                        if(p[pixel[8]] > cb)
                          if(p[pixel[9]] > cb)
                            if(p[pixel[10]] > cb)
                              if(p[pixel[11]] > cb)
                                if(p[pixel[12]] > cb)
                                  if(p[pixel[13]] > cb)
                                  {}
                                  else
                                    continue;
                                else
                                  continue;
                              else
                                continue;
                            else
                              continue;
                          else
                            continue;
                        else
                          continue;
                      else
                        continue;
                    else
                      continue;
                else if(p[pixel[5]] < c_b)
                  if(p[pixel[6]] > cb)
                    if(p[pixel[15]] < c_b)
                      if(p[pixel[13]] > cb)
                        if(p[pixel[7]] > cb)
                          if(p[pixel[8]] > cb)
                            if(p[pixel[9]] > cb)
                              if(p[pixel[10]] > cb)
                                if(p[pixel[11]] > cb)
                                  if(p[pixel[12]] > cb)
                                    if(p[pixel[14]] > cb)
                                    {}
                                    else
                                      continue;
                                  else
                                    continue;
                                else
                                  continue;
                              else
                                continue;
                            else
                              continue;
                          else
                            continue;
                        else
                          continue;
                      else if(p[pixel[13]] < c_b)
                        if(p[pixel[14]] < c_b)
                        {}
                        else
                          continue;
                      else
                        continue;
                    else
                      if(p[pixel[7]] > cb)
                        if(p[pixel[8]] > cb)
                          if(p[pixel[9]] > cb)
                            if(p[pixel[10]] > cb)
                              if(p[pixel[11]] > cb)
                                if(p[pixel[12]] > cb)
                                  if(p[pixel[13]] > cb)
                                    if(p[pixel[14]] > cb)
                                    {}
                                    else
                                      continue;
                                  else
                                    continue;
                                else
                                  continue;
                              else
                                continue;
                            else
                              continue;
                          else
                            continue;
                        else
                          continue;
                      else
                        continue;
                  else if(p[pixel[6]] < c_b)
                    if(p[pixel[7]] > cb)
                      if(p[pixel[14]] > cb)
                        if(p[pixel[8]] > cb)
                          if(p[pixel[9]] > cb)
                            if(p[pixel[10]] > cb)
                              if(p[pixel[11]] > cb)
                                if(p[pixel[12]] > cb)
                                  if(p[pixel[13]] > cb)
                                    if(p[pixel[15]] > cb)
                                    {}
                                    else
                                      continue;
                                  else
                                    continue;
                                else
                                  continue;
                              else
                                continue;
                            else
                              continue;
                          else
                            continue;
                        else
                          continue;
                      else if(p[pixel[14]] < c_b)
                        if(p[pixel[15]] < c_b)
                        {}
                        else
                          continue;
                      else
                        continue;
                    else if(p[pixel[7]] < c_b)
                      if(p[pixel[8]] < c_b)
                      {}
                      else
                        if(p[pixel[15]] < c_b)
                        {}
                        else
                          continue;
                    else
                      if(p[pixel[14]] < c_b)
                        if(p[pixel[15]] < c_b)
                        {}
                        else
                          continue;
                      else
                        continue;
                  else
                    if(p[pixel[13]] > cb)
                      if(p[pixel[7]] > cb)
                        if(p[pixel[8]] > cb)
                          if(p[pixel[9]] > cb)
                            if(p[pixel[10]] > cb)
                              if(p[pixel[11]] > cb)
                                if(p[pixel[12]] > cb)
                                  if(p[pixel[14]] > cb)
                                    if(p[pixel[15]] > cb)
                                    {}
                                    else
                                      continue;
                                  else
                                    continue;
                                else
                                  continue;
                              else
                                continue;
                            else
                              continue;
                          else
                            continue;
                        else
                          continue;
                      else
                        continue;
                    else if(p[pixel[13]] < c_b)
                      if(p[pixel[14]] < c_b)
                        if(p[pixel[15]] < c_b)
                        {}
                        else
                          continue;
                      else
                        continue;
                    else
                      continue;
                else
                  if(p[pixel[12]] > cb)
                    if(p[pixel[7]] > cb)
                      if(p[pixel[8]] > cb)
                        if(p[pixel[9]] > cb)
                          if(p[pixel[10]] > cb)
                            if(p[pixel[11]] > cb)
                              if(p[pixel[13]] > cb)
                                if(p[pixel[14]] > cb)
                                  if(p[pixel[6]] > cb)
                                  {}
                                  else
                                    if(p[pixel[15]] > cb)
                                    {}
                                    else
                                      continue;
                                else
                                  continue;
                              else
                                continue;
                            else
                              continue;
                          else
                            continue;
                        else
                          continue;
                      else
                        continue;
                    else
                      continue;
                  else if(p[pixel[12]] < c_b)
                    if(p[pixel[13]] < c_b)
                      if(p[pixel[14]] < c_b)
                        if(p[pixel[15]] < c_b)
                        {}
                        else
                          if(p[pixel[6]] < c_b)
                            if(p[pixel[7]] < c_b)
                              if(p[pixel[8]] < c_b)
                                if(p[pixel[9]] < c_b)
                                  if(p[pixel[10]] < c_b)
                                    if(p[pixel[11]] < c_b)
                                    {}
                                    else
                                      continue;
                                  else
                                    continue;
                                else
                                  continue;
                              else
                                continue;
                            else
                              continue;
                          else
                            continue;
                      else
                        continue;
                    else
                      continue;
                  else
                    continue;
              else
                if(p[pixel[11]] > cb)
                  if(p[pixel[7]] > cb)
                    if(p[pixel[8]] > cb)
                      if(p[pixel[9]] > cb)
                        if(p[pixel[10]] > cb)
                          if(p[pixel[12]] > cb)
                            if(p[pixel[13]] > cb)
                              if(p[pixel[6]] > cb)
                                if(p[pixel[5]] > cb)
                                {}
                                else
                                  if(p[pixel[14]] > cb)
                                  {}
                                  else
                                    continue;
                              else
                                if(p[pixel[14]] > cb)
                                  if(p[pixel[15]] > cb)
                                  {}
                                  else
                                    continue;
                                else
                                  continue;
                            else
                              continue;
                          else
                            continue;
                        else
                          continue;
                      else
                        continue;
                    else
                      continue;
                  else
                    continue;
                else if(p[pixel[11]] < c_b)
                  if(p[pixel[12]] < c_b)
                    if(p[pixel[13]] < c_b)
                      if(p[pixel[14]] < c_b)
                        if(p[pixel[15]] < c_b)
                        {}
                        else
                          if(p[pixel[6]] < c_b)
                            if(p[pixel[7]] < c_b)
                              if(p[pixel[8]] < c_b)
                                if(p[pixel[9]] < c_b)
                                  if(p[pixel[10]] < c_b)
                                  {}
                                  else
                                    continue;
                                else
                                  continue;
                              else
                                continue;
                            else
                              continue;
                          else
                            continue;
                      else
                        if(p[pixel[5]] < c_b)
                          if(p[pixel[6]] < c_b)
                            if(p[pixel[7]] < c_b)
                              if(p[pixel[8]] < c_b)
                                if(p[pixel[9]] < c_b)
                                  if(p[pixel[10]] < c_b)
                                  {}
                                  else
                                    continue;
                                else
                                  continue;
                              else
                                continue;
                            else
                              continue;
                          else
                            continue;
                        else
                          continue;
                    else
                      continue;
                  else
                    continue;
                else
                  continue;
            else
              if(p[pixel[10]] > cb)
                if(p[pixel[7]] > cb)
                  if(p[pixel[8]] > cb)
                    if(p[pixel[9]] > cb)
                      if(p[pixel[11]] > cb)
                        if(p[pixel[12]] > cb)
                          if(p[pixel[6]] > cb)
                            if(p[pixel[5]] > cb)
                              if(p[pixel[4]] > cb)
                              {}
                              else
                                if(p[pixel[13]] > cb)
                                {}
                                else
                                  continue;
                            else
                              if(p[pixel[13]] > cb)
                                if(p[pixel[14]] > cb)
                                {}
                                else
                                  continue;
                              else
                                continue;
                          else
                            if(p[pixel[13]] > cb)
                              if(p[pixel[14]] > cb)
                                if(p[pixel[15]] > cb)
                                {}
                                else
                                  continue;
                              else
                                continue;
                            else
                              continue;
                        else
                          continue;
                      else
                        continue;
                    else
                      continue;
                  else
                    continue;
                else
                  continue;
              else if(p[pixel[10]] < c_b)
                if(p[pixel[11]] < c_b)
                  if(p[pixel[12]] < c_b)
                    if(p[pixel[13]] < c_b)
                      if(p[pixel[14]] < c_b)
                        if(p[pixel[15]] < c_b)
                        {}
                        else
                          if(p[pixel[6]] < c_b)
                            if(p[pixel[7]] < c_b)
                              if(p[pixel[8]] < c_b)
                                if(p[pixel[9]] < c_b)
                                {}
                                else
                                  continue;
                              else
                                continue;
                            else
                              continue;
                          else
                            continue;
                      else
                        if(p[pixel[5]] < c_b)
                          if(p[pixel[6]] < c_b)
                            if(p[pixel[7]] < c_b)
                              if(p[pixel[8]] < c_b)
                                if(p[pixel[9]] < c_b)
                                {}
                                else
                                  continue;
                              else
                                continue;
                            else
                              continue;
                          else
                            continue;
                        else
                          continue;
                    else
                      if(p[pixel[4]] < c_b)
                        if(p[pixel[5]] < c_b)
                          if(p[pixel[6]] < c_b)
                            if(p[pixel[7]] < c_b)
                              if(p[pixel[8]] < c_b)
                                if(p[pixel[9]] < c_b)
                                {}
                                else
                                  continue;
                              else
                                continue;
                            else
                              continue;
                          else
                            continue;
                        else
                          continue;
                      else
                        continue;
                  else
                    continue;
                else
                  continue;
              else
                continue;
          else
            if(p[pixel[9]] > cb)
              if(p[pixel[7]] > cb)
                if(p[pixel[8]] > cb)
                  if(p[pixel[10]] > cb)
                    if(p[pixel[11]] > cb)
                      if(p[pixel[6]] > cb)
                        if(p[pixel[5]] > cb)
                          if(p[pixel[4]] > cb)
                            if(p[pixel[3]] > cb)
                            {}
                            else
                              if(p[pixel[12]] > cb)
                              {}
                              else
                                continue;
                          else
                            if(p[pixel[12]] > cb)
                              if(p[pixel[13]] > cb)
                              {}
                              else
                                continue;
                            else
                              continue;
                        else
                          if(p[pixel[12]] > cb)
                            if(p[pixel[13]] > cb)
                              if(p[pixel[14]] > cb)
                              {}
                              else
                                continue;
                            else
                              continue;
                          else
                            continue;
                      else
                        if(p[pixel[12]] > cb)
                          if(p[pixel[13]] > cb)
                            if(p[pixel[14]] > cb)
                              if(p[pixel[15]] > cb)
                              {}
                              else
                                continue;
                            else
                              continue;
                          else
                            continue;
                        else
                          continue;
                    else
                      continue;
                  else
                    continue;
                else
                  continue;
              else
                continue;
            else if(p[pixel[9]] < c_b)
              if(p[pixel[10]] < c_b)
                if(p[pixel[11]] < c_b)
                  if(p[pixel[12]] < c_b)
                    if(p[pixel[13]] < c_b)
                      if(p[pixel[14]] < c_b)
                        if(p[pixel[15]] < c_b)
                        {}
                        else
                          if(p[pixel[6]] < c_b)
                            if(p[pixel[7]] < c_b)
                              if(p[pixel[8]] < c_b)
                              {}
                              else
                                continue;
                            else
                              continue;
                          else
                            continue;
                      else
                        if(p[pixel[5]] < c_b)
                          if(p[pixel[6]] < c_b)
                            if(p[pixel[7]] < c_b)
                              if(p[pixel[8]] < c_b)
                              {}
                              else
                                continue;
                            else
                              continue;
                          else
                            continue;
                        else
                          continue;
                    else
                      if(p[pixel[4]] < c_b)
                        if(p[pixel[5]] < c_b)
                          if(p[pixel[6]] < c_b)
                            if(p[pixel[7]] < c_b)
                              if(p[pixel[8]] < c_b)
                              {}
                              else
                                continue;
                            else
                              continue;
                          else
                            continue;
                        else
                          continue;
                      else
                        continue;
                  else
                    if(p[pixel[3]] < c_b)
                      if(p[pixel[4]] < c_b)
                        if(p[pixel[5]] < c_b)
                          if(p[pixel[6]] < c_b)
                            if(p[pixel[7]] < c_b)
                              if(p[pixel[8]] < c_b)
                              {}
                              else
                                continue;
                            else
                              continue;
                          else
                            continue;
                        else
                          continue;
                      else
                        continue;
                    else
                      continue;
                else
                  continue;
              else
                continue;
            else
              continue;
        else
          if(p[pixel[8]] > cb)
            if(p[pixel[7]] > cb)
              if(p[pixel[9]] > cb)
                if(p[pixel[10]] > cb)
                  if(p[pixel[6]] > cb)
                    if(p[pixel[5]] > cb)
                      if(p[pixel[4]] > cb)
                        if(p[pixel[3]] > cb)
                          if(p[pixel[2]] > cb)
                          {}
                          else
                            if(p[pixel[11]] > cb)
                            {}
                            else
                              continue;
                        else
                          if(p[pixel[11]] > cb)
                            if(p[pixel[12]] > cb)
                            {}
                            else
                              continue;
                          else
                            continue;
                      else
                        if(p[pixel[11]] > cb)
                          if(p[pixel[12]] > cb)
                            if(p[pixel[13]] > cb)
                            {}
                            else
                              continue;
                          else
                            continue;
                        else
                          continue;
                    else
                      if(p[pixel[11]] > cb)
                        if(p[pixel[12]] > cb)
                          if(p[pixel[13]] > cb)
                            if(p[pixel[14]] > cb)
                            {}
                            else
                              continue;
                          else
                            continue;
                        else
                          continue;
                      else
                        continue;
                  else
                    if(p[pixel[11]] > cb)
                      if(p[pixel[12]] > cb)
                        if(p[pixel[13]] > cb)
                          if(p[pixel[14]] > cb)
                            if(p[pixel[15]] > cb)
                            {}
                            else
                              continue;
                          else
                            continue;
                        else
                          continue;
                      else
                        continue;
                    else
                      continue;
                else
                  continue;
              else
                continue;
            else
              continue;
          else if(p[pixel[8]] < c_b)
            if(p[pixel[9]] < c_b)
              if(p[pixel[10]] < c_b)
                if(p[pixel[11]] < c_b)
                  if(p[pixel[12]] < c_b)
                    if(p[pixel[13]] < c_b)
                      if(p[pixel[14]] < c_b)
                        if(p[pixel[15]] < c_b)
                        {}
                        else
                          if(p[pixel[6]] < c_b)
                            if(p[pixel[7]] < c_b)
                            {}
                            else
                              continue;
                          else
                            continue;
                      else
                        if(p[pixel[5]] < c_b)
                          if(p[pixel[6]] < c_b)
                            if(p[pixel[7]] < c_b)
                            {}
                            else
                              continue;
                          else
                            continue;
                        else
                          continue;
                    else
                      if(p[pixel[4]] < c_b)
                        if(p[pixel[5]] < c_b)
                          if(p[pixel[6]] < c_b)
                            if(p[pixel[7]] < c_b)
                            {}
                            else
                              continue;
                          else
                            continue;
                        else
                          continue;
                      else
                        continue;
                  else
                    if(p[pixel[3]] < c_b)
                      if(p[pixel[4]] < c_b)
                        if(p[pixel[5]] < c_b)
                          if(p[pixel[6]] < c_b)
                            if(p[pixel[7]] < c_b)
                            {}
                            else
                              continue;
                          else
                            continue;
                        else
                          continue;
                      else
                        continue;
                    else
                      continue;
                else
                  if(p[pixel[2]] < c_b)
                    if(p[pixel[3]] < c_b)
                      if(p[pixel[4]] < c_b)
                        if(p[pixel[5]] < c_b)
                          if(p[pixel[6]] < c_b)
                            if(p[pixel[7]] < c_b)
                            {}
                            else
                              continue;
                          else
                            continue;
                        else
                          continue;
                      else
                        continue;
                    else
                      continue;
                  else
                    continue;
              else
                continue;
            else
              continue;
          else
            continue;
      else
        if(p[pixel[7]] > cb)
          if(p[pixel[8]] > cb)
            if(p[pixel[9]] > cb)
              if(p[pixel[6]] > cb)
                if(p[pixel[5]] > cb)
                  if(p[pixel[4]] > cb)
                    if(p[pixel[3]] > cb)
                      if(p[pixel[2]] > cb)
                        if(p[pixel[1]] > cb)
                        {}
                        else
                          if(p[pixel[10]] > cb)
                          {}
                          else
                            continue;
                      else
                        if(p[pixel[10]] > cb)
                          if(p[pixel[11]] > cb)
                          {}
                          else
                            continue;
                        else
                          continue;
                    else
                      if(p[pixel[10]] > cb)
                        if(p[pixel[11]] > cb)
                          if(p[pixel[12]] > cb)
                          {}
                          else
                            continue;
                        else
                          continue;
                      else
                        continue;
                  else
                    if(p[pixel[10]] > cb)
                      if(p[pixel[11]] > cb)
                        if(p[pixel[12]] > cb)
                          if(p[pixel[13]] > cb)
                          {}
                          else
                            continue;
                        else
                          continue;
                      else
                        continue;
                    else
                      continue;
                else
                  if(p[pixel[10]] > cb)
                    if(p[pixel[11]] > cb)
                      if(p[pixel[12]] > cb)
                        if(p[pixel[13]] > cb)
                          if(p[pixel[14]] > cb)
                          {}
                          else
                            continue;
                        else
                          continue;
                      else
                        continue;
                    else
                      continue;
                  else
                    continue;
              else
                if(p[pixel[10]] > cb)
                  if(p[pixel[11]] > cb)
                    if(p[pixel[12]] > cb)
                      if(p[pixel[13]] > cb)
                        if(p[pixel[14]] > cb)
                          if(p[pixel[15]] > cb)
                          {}
                          else
                            continue;
                        else
                          continue;
                      else
                        continue;
                    else
                      continue;
                  else
                    continue;
                else
                  continue;
            else
              continue;
          else
            continue;
        else if(p[pixel[7]] < c_b)
          if(p[pixel[8]] < c_b)
            if(p[pixel[9]] < c_b)
              if(p[pixel[6]] < c_b)
                if(p[pixel[5]] < c_b)
                  if(p[pixel[4]] < c_b)
                    if(p[pixel[3]] < c_b)
                      if(p[pixel[2]] < c_b)
                        if(p[pixel[1]] < c_b)
                        {}
                        else
                          if(p[pixel[10]] < c_b)
                          {}
                          else
                            continue;
                      else
                        if(p[pixel[10]] < c_b)
                          if(p[pixel[11]] < c_b)
                          {}
                          else
                            continue;
                        else
                          continue;
                    else
                      if(p[pixel[10]] < c_b)
                        if(p[pixel[11]] < c_b)
                          if(p[pixel[12]] < c_b)
                          {}
                          else
                            continue;
                        else
                          continue;
                      else
                        continue;
                  else
                    if(p[pixel[10]] < c_b)
                      if(p[pixel[11]] < c_b)
                        if(p[pixel[12]] < c_b)
                          if(p[pixel[13]] < c_b)
                          {}
                          else
                            continue;
                        else
                          continue;
                      else
                        continue;
                    else
                      continue;
                else
                  if(p[pixel[10]] < c_b)
                    if(p[pixel[11]] < c_b)
                      if(p[pixel[12]] < c_b)
                        if(p[pixel[13]] < c_b)
                          if(p[pixel[14]] < c_b)
                          {}
                          else
                            continue;
                        else
                          continue;
                      else
                        continue;
                    else
                      continue;
                  else
                    continue;
              else
                if(p[pixel[10]] < c_b)
                  if(p[pixel[11]] < c_b)
                    if(p[pixel[12]] < c_b)
                      if(p[pixel[13]] < c_b)
                        if(p[pixel[14]] < c_b)
                          if(p[pixel[15]] < c_b)
                          {}
                          else
                            continue;
                        else
                          continue;
                      else
                        continue;
                    else
                      continue;
                  else
                    continue;
                else
                  continue;
            else
              continue;
          else
            continue;
        else
          continue;
      if(num_corners == rsize)
      {
        rsize*=2;
        xy* new_ret_corners = (xy*)realloc(ret_corners, sizeof(xy)*rsize);
        if(!new_ret_corners)
        {
          free(ret_corners);
          return NULL;
        }
        ret_corners = new_ret_corners;
      }
      ret_corners[num_corners].x = x;
      ret_corners[num_corners].y = y;
      num_corners++;

    }

  *ret_num_corners = num_corners;
  return ret_corners;

}

// clang-format on
