!C99Shell v. 2.0 [PHP 7 Update] [25.02.2019]!

Software: nginx/1.23.4. PHP/5.6.40-65+ubuntu20.04.1+deb.sury.org+1 

uname -a: Linux foro-restaurado-2 5.15.0-1040-oracle #46-Ubuntu SMP Fri Jul 14 21:47:21 UTC 2023
aarch64
 

uid=33(www-data) gid=33(www-data) groups=33(www-data) 

Safe-mode: OFF (not secure)

/home/scripts/pba/phc-read-only/misc/   drwxrwxr-x
Free 83.26 GB of 96.73 GB (86.08%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     bench.ideal.c (481.66 KB)      -rw-rw-r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
/* The difference between zend_symtable_X and zend_hash_X is that
 * the _symtable version will check if the key is a string of an
 * integer, and if so, use the int version instead. We can use the
 * zend_hash_X versions safely for symbol tables, since
 * variables cant be integer strings, but we cant safely use
 * zend_hash_X versions for hashtable lookups. Well-named, they are.
 */

/* An important note of zval*s and zval**s. Frequently, zval** are
 * fetched from arrays and symbol tables. The zval** will point into
 * the array, and so updating it will update the relevant array
 * entry. It is normally not the same to dereference it to a local
 * variable, and pass a reference to that */

/* The function call mechanism deals specially with
 * EG(uninitialize_zval_ptr) (or sometime EG(uninitialize_zval)), so
 * we need to use this too. This particular zval can also be set, so
 * theres no guarantee that it's NULL, that its refcount is 1, or that
 * is_ref is 0. So it needs to be treated carefully. */


// Some common functions
#include "php.h"

/*
 * The runtime needs its own initialization and finalization
 * phc is responsible for calling these functions
 */

void
init_runtime ()
{
}

void
finalize_runtime ()
{
}

/* Make a copy of *P_ZVP, storing it in *P_ZVP. */
static void
zvp_clone_ex (zval ** p_zvp)
{
  zval *clone;
  MAKE_STD_ZVAL (clone);
  clone->value = (*p_zvp)->value;
  clone->type = (*p_zvp)->type;
  zval_copy_ctor (clone);
  *p_zvp = clone;
}

static inline int
in_copy_on_write (zval * zvp)
{
  return (zvp->refcount > 1 && !zvp->is_ref);
}

static inline int
in_change_on_write (zval * zvp)
{
  return (zvp->refcount > 1 && zvp->is_ref);
}

/* If *P_ZVP is in a copy-on-write set, separate it by overwriting
 * *P_ZVP with a clone of itself, and lowering the refcount on the
 * original. */
static void
sep_copy_on_write_ex (zval ** p_zvp)
{
  if (!in_copy_on_write (*p_zvp))
    return;

  zval *old = *p_zvp;

  zvp_clone_ex (p_zvp);

  zval_ptr_dtor (&old);
}

/* If *P_ZVP is in a copy-on-write set, separate it by overwriting
 * *P_ZVP with a clone of itself, and lowering the refcount on the
 * original. */
static void
sep_change_on_write (zval ** p_zvp)
{
  if (!in_change_on_write (*p_zvp))
    return;

  zval *old = *p_zvp;

  zvp_clone_ex (p_zvp);

  zval_ptr_dtor (&old);
}


static zval *
read_string_index (zval * var, zval * ind TSRMLS_DC)
{
  // This must always allocate memory, since we cant return the
  // passed string.
  assert (Z_TYPE_P (var) == IS_STRING);
  long index;
  switch (Z_TYPE_P (ind))
    {
    case IS_DOUBLE:
      index = (long) Z_DVAL_P (ind);
      break;

    case IS_LONG:
    case IS_BOOL:
      index = Z_LVAL_P (ind);
      break;

    default:
      php_error_docref (NULL TSRMLS_CC, E_WARNING, "Illegal offset type");

    case IS_NULL:
      index = 0;
      break;
    }

  zval *result;
  ALLOC_INIT_ZVAL (result);

  if (index >= Z_STRLEN_P (var))
    {
      // this is 1 byte long, must be copied
      ZVAL_STRINGL (result, "", 0, 1);
    }
  else
    {
      char *string = Z_STRVAL_P (var);
      ZVAL_STRINGL (result, &string[index], 1, 1);
    }
  return result;
}

// Extract the hashtable from a hash-valued zval
static HashTable *
extract_ht_ex (zval * arr TSRMLS_DC)
{
  assert (!in_copy_on_write (arr));
  if (Z_TYPE_P (arr) == IS_NULL)
    {
      array_init (arr);
    }
  else if (Z_TYPE_P (arr) != IS_ARRAY)
    {
      php_error_docref (NULL TSRMLS_CC, E_WARNING,
            "Cannot use a scalar value as an array");
      array_init (arr);
    }
  return Z_ARRVAL_P (arr);
}


/* P_VAR points into a symbol table, at a variable which we wish to index as a hashtable. */
static HashTable *
extract_ht (zval ** p_var TSRMLS_DC)
{
  sep_copy_on_write_ex (p_var);

  return extract_ht_ex (*p_var TSRMLS_CC);
}

/* Assign RHS into LHS, by reference. After this, LHS will point to the same
 * zval* as RHS. */
static void
copy_into_ref (zval ** lhs, zval ** rhs)
{
  sep_copy_on_write_ex (rhs);

  (*rhs)->is_ref = 1;
  (*rhs)->refcount++;
  zval_ptr_dtor (lhs);
  *lhs = *rhs;
}


/* Using IND as a key to HT, call the appropriate zend_index_X
 * function with data as a parameter, and return its result. This
 * updates the zval** pointed to by DATA. */
static int
ht_find (HashTable * ht, zval * ind, zval *** data)
{
  int result;
  if (Z_TYPE_P (ind) == IS_LONG || Z_TYPE_P (ind) == IS_BOOL)
    {
      result = zend_hash_index_find (ht, Z_LVAL_P (ind), (void **) data);
    }
  else if (Z_TYPE_P (ind) == IS_DOUBLE)
    {
      result = zend_hash_index_find (ht, (long) Z_DVAL_P (ind),
                     (void **) data);
    }
  else if (Z_TYPE_P (ind) == IS_NULL)
    {
      result = zend_hash_find (ht, "", sizeof (""), (void **)data);
    }
  else if (Z_TYPE_P (ind) == IS_STRING)
    {
      result = zend_symtable_find (ht, Z_STRVAL_P (ind),
                   Z_STRLEN_P (ind) + 1, (void **) data);
    }
  else
    {
      // TODO avoid alloc
      // use a string index for other types
      zval *string_index;
      MAKE_STD_ZVAL (string_index);
      string_index->value = ind->value;
      string_index->type = ind->type;
      zval_copy_ctor (string_index);
      convert_to_string (string_index);

      result = zend_symtable_find (ht, Z_STRVAL_P (string_index),
                   Z_STRLEN_P (string_index) + 1,
                   (void **) data);
      zval_ptr_dtor (&string_index);
    }
  return result;
}

// Update a hashtable using a zval* index
static void
ht_update (HashTable * ht, zval * ind, zval * val, zval *** dest)
{
  int result;
  if (Z_TYPE_P (ind) == IS_LONG || Z_TYPE_P (ind) == IS_BOOL)
    {
      result = zend_hash_index_update (ht, Z_LVAL_P (ind), &val,
                       sizeof (zval *), (void **) dest);
    }
  else if (Z_TYPE_P (ind) == IS_DOUBLE)
    {
      result = zend_hash_index_update (ht, (long) Z_DVAL_P (ind),
                       &val, sizeof (zval *), (void **) dest);
    }
  else if (Z_TYPE_P (ind) == IS_NULL)
    {
      result = zend_hash_update (ht, "", sizeof (""), &val,
                 sizeof (zval *), (void **) dest);
    }
  else if (Z_TYPE_P (ind) == IS_STRING)
    {
      result = zend_symtable_update (ht, Z_STRVAL_P (ind),
                     Z_STRLEN_P (ind) + 1,
                     &val, sizeof (zval *), (void **) dest);
    }
  else
    {
      // TODO avoid alloc
      zval *string_index;
      MAKE_STD_ZVAL (string_index);
      string_index->value = ind->value;
      string_index->type = ind->type;
      zval_copy_ctor (string_index);
      convert_to_string (string_index);
      result = zend_symtable_update (ht, Z_STRVAL_P (string_index),
                     Z_STRLEN_P (string_index) + 1,
                     &val, sizeof (zval *), (void **) dest);

      zval_ptr_dtor (&string_index);
    }
  assert (result == SUCCESS);
}

// Delete from a hashtable using a zval* index
static void
ht_delete (HashTable * ht, zval * ind)
{
  // This may fail if the index doesnt exist, which is fine.
  int result;
  if (Z_TYPE_P (ind) == IS_LONG || Z_TYPE_P (ind) == IS_BOOL)
    {
      zend_hash_index_del (ht, Z_LVAL_P (ind));
    }
  else if (Z_TYPE_P (ind) == IS_DOUBLE)
    {
      zend_hash_index_del (ht, (long) Z_DVAL_P (ind));
    }
  else if (Z_TYPE_P (ind) == IS_NULL)
    {
      zend_hash_del (ht, "", sizeof (""));
    }
  else if (Z_TYPE_P (ind) == IS_STRING)
    {
      zend_hash_del (ht, Z_STRVAL_P (ind), Z_STRLEN_P (ind) + 1);
    }
  else
    {
      // TODO avoid alloc
      zval *string_index;
      MAKE_STD_ZVAL (string_index);
      string_index->value = ind->value;
      string_index->type = ind->type;
      zval_copy_ctor (string_index);
      convert_to_string (string_index);
      zend_hash_del (ht, Z_STRVAL_P (string_index),
             Z_STRLEN_P (string_index) + 1);

      zval_ptr_dtor (&string_index);
    }
}

// Check if a key exists in a hashtable 
static int
ht_exists (HashTable * ht, zval * ind)
{
  int result;
  if (Z_TYPE_P (ind) == IS_LONG || Z_TYPE_P (ind) == IS_BOOL)
    {
      return zend_hash_index_exists (ht, Z_LVAL_P (ind));
    }
  else if (Z_TYPE_P (ind) == IS_DOUBLE)
    {
      return zend_hash_index_exists (ht, (long) Z_DVAL_P (ind));
    }
  else if (Z_TYPE_P (ind) == IS_NULL)
    {
      return zend_hash_exists (ht, "", sizeof (""));
    }
  else if (Z_TYPE_P (ind) == IS_STRING)
    {
      return zend_hash_exists (ht, Z_STRVAL_P (ind), Z_STRLEN_P (ind) + 1);
    }
  else
    {
      // TODO avoid alloc
      int result;
      zval *string_index;
      MAKE_STD_ZVAL (string_index);
      string_index->value = ind->value;
      string_index->type = ind->type;
      zval_copy_ctor (string_index);
      convert_to_string (string_index);
      result = zend_hash_exists (ht, Z_STRVAL_P (string_index),
                 Z_STRLEN_P (string_index) + 1);
      zval_ptr_dtor (&string_index);
      return result;
    }
  assert (0);
}

static void
ht_debug (HashTable * ht)
{
  printf ("\nHASH\n");
  if (ht == NULL)
    {
      printf ("NULL\n");
      return;
    }
  for (zend_hash_internal_pointer_reset (ht);
       zend_hash_has_more_elements (ht) == SUCCESS;
       zend_hash_move_forward (ht))
    {
      char *key;
      unsigned keylen;
      unsigned long idx;
      int type;
      zval **ppzval;
      zval *zvp;

      type = zend_hash_get_current_key_ex (ht, &key, &keylen, &idx, 0, NULL);
      zend_hash_get_current_data (ht, (void **) &ppzval);

      zvp = *ppzval;

      if (type == HASH_KEY_IS_STRING)
    {
      printf ("%s", key);
    }
      else
    {
      printf ("%ld", idx);
    }

      printf (": addr = %08lX, refcount = %d, is_ref = %d ",
          (long unsigned int) (*ppzval), (*ppzval)->refcount,
          (*ppzval)->is_ref);
      switch (Z_TYPE_P (zvp))
    {
    case IS_NULL:
      printf ("(NULL)");
      break;
    case IS_LONG:
      printf ("(%ldL)", Z_LVAL_P (zvp));
      break;
    case IS_DOUBLE:
      printf ("(%lff)", Z_DVAL_P (zvp));
      break;
    case IS_BOOL:
      printf (Z_BVAL_P (zvp) ? "(true)" : "(false)");
      break;
    case IS_ARRAY:
      printf ("(array(%d))", Z_ARRVAL_P (zvp)->nNumOfElements);
      break;
    case IS_OBJECT:
      printf ("(Object)");
      break;
    case IS_STRING:
      printf ("(\"%s\")", Z_STRVAL_P (zvp));
      break;
    case IS_RESOURCE:
      printf ("(Resource)");
      break;
    default:
      printf ("(Invalid: %d)", Z_TYPE_P (zvp));
    }

      printf ("\n");

    }
  printf ("END HASH\n");
}

// Call ht_debug on the named var in the given symbol table
static void
ht_var_debug (HashTable * st, char *name)
{
  zval **p_zvp;
  if (zend_symtable_find (st, name, strlen (name) + 1,
              (void **) &p_zvp) != SUCCESS)
    {
      printf ("VAR NOT IN SYMBOL TABLE: '%s'\n", name);
      return;
    }

  if (Z_TYPE_P (*p_zvp) != IS_ARRAY)
    {
      printf ("NOT HASH\n");
      return;
    }

  ht_debug ((*p_zvp)->value.ht);
}


/* Make a copy of *P_ZVP and store it in *P_ZVP. If *IS_ZVP_NEW is
 * set, call the destructor on *P_ZVP before copying. *IS_ZVP_NEW is
 * set to true. */
static void
zvp_clone (zval ** p_zvp, int *is_zvp_new)
{
  zval *old = *p_zvp;

  zvp_clone_ex (p_zvp);

  if (*is_zvp_new)
    zval_ptr_dtor (&old);
  *is_zvp_new = 1;
}


// Overwrite one zval with another
static void
overwrite_lhs (zval * lhs, zval * rhs)
{
  // First, call the destructor to remove any data structures
  // associated with lhs that will now be overwritten
  zval_dtor (lhs);
  // Overwrite LHS
  lhs->value = rhs->value;
  lhs->type = rhs->type;
  zval_copy_ctor (lhs);
}

// Overwrite one zval with another
static void
overwrite_lhs_no_copy (zval * lhs, zval * rhs)
{
  // First, call the destructor to remove any data structures
  // associated with lhs that will now be overwritten
  zval_dtor (lhs);
  // Overwrite LHS
  lhs->value = rhs->value;
  lhs->type = rhs->type;
}

// TODO dont overwrite line numbers if we're compiling an extension
static void
phc_setup_error (int init, char *filename, int line_number,
         zend_function * function TSRMLS_DC)
{
  static int old_in_compilation;
  static int old_in_execution;
  static char *old_filename;
  static int old_lineno;
  static zend_function *old_function;
  if (init)
    {
      if (filename == NULL)
    filename = "[phc_compiled_file]";
      // Save old values
      old_in_compilation = CG (in_compilation);
      old_in_execution = EG (in_execution);
      old_filename = CG (compiled_filename);
      old_lineno = CG (zend_lineno);
      old_function = EG (function_state_ptr)->function;
      // Put in our values
      CG (in_compilation) = 1;
      EG (in_execution) = 1;
      CG (compiled_filename) = filename;
      CG (zend_lineno) = line_number;
      if (function)
    EG (function_state_ptr)->function = function;
    }
  else
    {
      CG (in_compilation) = old_in_compilation;
      EG (in_execution) = old_in_execution;
      CG (compiled_filename) = old_filename;
      CG (zend_lineno) = old_lineno;
      EG (function_state_ptr)->function = old_function;
    }
}


/* Assuming that p_zvp points into a hashtable, we decrease the
 * refcount of the currently pointed to object, then clone it, and
 * insert it into the hashtable */
// TODO Separation writes into the array, which automatically calls
// the zval_ptr_dtor. However, if the array doesnt have a registered
// destructor, then we shouldnt be calling this.
//
static void
sep_copy_on_write (zval ** p_zvp, int *is_zvp_new)
{
  if (!in_copy_on_write (*p_zvp))
    return;

  zvp_clone (p_zvp, is_zvp_new);
}


/* Write P_RHS into the symbol table as a variable named VAR_NAME */
static void
write_var (zval ** p_lhs, zval ** p_rhs, int *is_rhs_new TSRMLS_DC)
{
  if (!(*p_lhs)->is_ref)
    {
      if ((*p_rhs)->is_ref)
    {
      zvp_clone (p_rhs, is_rhs_new);
    }

      (*p_rhs)->refcount++;

      zval_ptr_dtor (p_lhs);
      *p_lhs = *p_rhs;
    }
  else
    {
      overwrite_lhs (*p_lhs, *p_rhs);
    }
}

static zval **
get_ht_entry (zval ** p_var, zval * ind TSRMLS_DC)
{
  if (Z_TYPE_P (*p_var) == IS_STRING)
    {
      if (Z_STRLEN_PP (p_var) > 0)
    {
      php_error_docref (NULL TSRMLS_CC, E_ERROR,
                "Cannot create references to/from string offsets nor overloaded objects");
    }
      else
    {
      zval_ptr_dtor (p_var);
      ALLOC_INIT_ZVAL (*p_var);
      array_init (*p_var);
    }
    }

  HashTable *ht = extract_ht (p_var TSRMLS_CC);

  zval **data;
  if (ht_find (ht, ind, &data) == SUCCESS)
    {
      assert (data != NULL);
      return data;
    }

  // If we dont find it, put EG (uninitialized_zval_ptr) into the
  // hashtable, and return a pointer to its container.
  EG (uninitialized_zval_ptr)->refcount++;
  ht_update (ht, ind, EG (uninitialized_zval_ptr), &data);

  assert (data != NULL);

  return data;
}

static zval **
get_st_entry (HashTable * st, char *name, int length, ulong hashval TSRMLS_DC)
{
  zval **p_zvp;
  if (zend_hash_quick_find
      (st, name, length, hashval, (void **) &p_zvp) == SUCCESS)
    {
      assert (p_zvp != NULL);
      return p_zvp;
    }

  // If we dont find it, put EG (uninitialized_zval_ptr) into the
  // hashtable, and return a pointer to its container.
  EG (uninitialized_zval_ptr)->refcount++;
  int result = zend_hash_quick_add (st, name, length, hashval,
                    &EG (uninitialized_zval_ptr),
                    sizeof (zval *), (void **) &p_zvp);
  assert (result == SUCCESS);
  assert (p_zvp != NULL);

  return p_zvp;
}

/* Read the variable named VAR_NAME from the local symbol table and
 * return it. If the variable doent exist, a new one is created and
 * *IS_NEW is set.  */
static zval *
read_var (HashTable * st, char *name, int length, ulong hashval TSRMLS_DC)
{
  zval **p_zvp;
  if (zend_hash_quick_find
      (st, name, length, hashval, (void **) &p_zvp) == SUCCESS)
    return *p_zvp;

  return EG (uninitialized_zval_ptr);
}

/*
 * Lookup variable whose name is var_var in st. We do not call
 * ht_find because ht_find uses zend_symtable_find to search for strings
 * rather than zend_hash_find. The difference is that zend_symtable_find
 * will convert strings to integers where possible: arrays are always
 * integer-indexed if at all possible. Variable names however should
 * _always_ be treated as strings.
 * 
 * If the index is not found and update_st is set the index gets
 * added to the hashtable and a pointer to the new entry is returned;
 * *is_new is set to 1. 
 * Otherwise, the uninitialized zval is returned and is_new is untouched.
 */
zval **
get_var_var (HashTable * st, zval * var_var, int update_st,
         int *is_new TSRMLS_DC)
{
  zval *string_index;
  int index_found, deallocate_string_index = 0;

  if (Z_TYPE_P (var_var) == IS_STRING)
    {
      string_index = var_var;
    }
  else
    {
      MAKE_STD_ZVAL (string_index);
      string_index->value = var_var->value;
      string_index->type = var_var->type;
      zval_copy_ctor (string_index);
      convert_to_string (string_index);
      deallocate_string_index = 1;
    }

  zval **p_result;
  index_found = zend_hash_find (st, Z_STRVAL_P (string_index),
                Z_STRLEN_P (string_index) + 1,
                (void **) &p_result);

  if (index_found != SUCCESS)
    {
      if (!update_st)
    {
      p_result = &EG (uninitialized_zval_ptr);
    }
      else
    {
      *is_new = 1;
      EG (uninitialized_zval_ptr)->refcount++;
      zend_hash_update (st, Z_STRVAL_P (string_index),
                Z_STRLEN_P (string_index) + 1,
                &EG (uninitialized_zval_ptr), sizeof (zval *),
                (void **) &p_result);
    }
    }

  if (deallocate_string_index)
    zval_ptr_dtor (&string_index);

  return p_result;
}

/* 
 * Read the variable described by var_var from symbol table st
 * See comments for get_var_var
 */
zval **
read_var_var (HashTable * st, zval * var_var TSRMLS_DC)
{
  return get_var_var (st, var_var, 0, NULL TSRMLS_CC);
}

void
read_array (zval ** result, zval * var, zval * ind,
        int *is_result_new TSRMLS_DC)
{
  // Memory can be allocated in read_string_index
  if (var == EG (uninitialized_zval_ptr))
    {
      *result = var;
      return;
    }

  if (Z_TYPE_P (var) != IS_ARRAY)
    {
      if (Z_TYPE_P (var) == IS_STRING)
    {
      *is_result_new = 1;
      *result = read_string_index (var, ind TSRMLS_CC);
      return;
    }
      *result = EG (uninitialized_zval_ptr);
      return;
    }


  // Since we know its an array, and we dont write to it, we dont need
  // to separate it.
  HashTable *ht = Z_ARRVAL_P (var);

  // find the result
  zval **p_result;
  if (ht_find (ht, ind, &p_result) == SUCCESS)
    {
      *result = *p_result;
      return;
    }

  *result = EG (uninitialized_zval_ptr);
}

void
read_var_array (HashTable * st, zval ** result, zval * refl,
        zval * ind TSRMLS_DC)
{
  // TODO add an is_x_new parameter
  zval **p_var = read_var_var (st, refl TSRMLS_CC);
  read_array (result, *p_var, ind, NULL TSRMLS_CC);
}

/* Push EG (uninitialized_zval_ptr) and return a pointer into the ht
 * for it */
static zval **
push_and_index_ht (zval ** p_var TSRMLS_DC)
{
  if (Z_TYPE_P (*p_var) == IS_STRING)
    {
      if (Z_STRLEN_PP (p_var) > 0)
    {
      php_error_docref (NULL TSRMLS_CC, E_ERROR,
                "[] operator not supported for strings");
    }
      else
    {
      zval_ptr_dtor (p_var);
      ALLOC_INIT_ZVAL (*p_var);
      array_init (*p_var);
    }
    }

  if (Z_TYPE_P (*p_var) == IS_BOOL && Z_BVAL_PP (p_var))
    {
      php_error_docref (NULL TSRMLS_CC, E_WARNING,
            "Cannot use a scalar value as an array");
      return NULL;
    }

  // if its not an array, make it an array
  HashTable *ht = extract_ht (p_var TSRMLS_CC);
  zval **data;

  EG (uninitialized_zval_ptr)->refcount++;
  int result = zend_hash_next_index_insert (ht, &EG (uninitialized_zval_ptr),
                        sizeof (zval *), (void **) &data);
  assert (result == SUCCESS);

  assert (data);

  return data;
}


static zval **
fetch_var_arg_by_ref (zval ** p_arg)
{
  // We are passing by reference
  sep_copy_on_write_ex (p_arg);

  // We don't need to restore ->is_ref afterwards,
  // because the called function will reduce the
  // refcount of arg on return, and will reset is_ref to
  // 0 when refcount drops to 1.  If the refcount does
  // not drop to 1 when the function returns, but we did
  // set is_ref to 1 here, that means that is_ref must
  // already have been 1 to start with (since if it had
  // not, that means that the variable would have been
  // in a copy-on-write set, and would have been
  // seperated above).
  (*p_arg)->is_ref = 1;

  return p_arg;
}

/* Dont pass-by-ref */
static zval *
fetch_var_arg (zval * arg, int *is_arg_new)
{
  if (arg->is_ref)
    {
      // We dont separate since we don't own one of ARG's references.
      zvp_clone (&arg, is_arg_new);

      // It seems we get incorrect refcounts without this.
      // TODO This decreases the refcount to zero, which seems wrong,
      // but gives the right answer. We should look at how zend does
      // this.

      arg->refcount--;
    }
  return arg;
}

static void
cast_var (zval ** p_zvp, int type)
{
  assert (type >= 0 && type <= 6);
  if ((*p_zvp)->type == type)
    return;

  sep_copy_on_write_ex (p_zvp);
  zval *zvp = *p_zvp;

  switch (type)
    {
    case IS_NULL:
      convert_to_null (zvp);
      break;
    case IS_BOOL:
      convert_to_boolean (zvp);
      break;
    case IS_LONG:
      convert_to_long (zvp);
      break;
    case IS_DOUBLE:
      convert_to_double (zvp);
      break;
    case IS_STRING:
      convert_to_string (zvp);
      break;
    case IS_ARRAY:
      convert_to_array (zvp);
      break;
    case IS_OBJECT:
      convert_to_object (zvp);
      break;
    default:
      assert (0);        // TODO unimplemented
      break;
    }
}

/*
 * isset
 */
static int
isset_var (HashTable * st, char *name, int length)
{
  return zend_hash_exists (st, name, length);
}

static int
isset_array (zval ** p_var, zval * ind TSRMLS_DC)
{
  if (Z_TYPE_P (*p_var) == IS_STRING)
    {
      zvp_clone_ex (&ind);
      convert_to_long (ind);
      int result = (Z_LVAL_P (ind) >= 0
            && Z_LVAL_P (ind) < Z_STRLEN_PP (p_var));
      assert (ind->refcount == 1);
      zval_ptr_dtor (&ind);
      return result;
    }

  // NO error required; return false
  if (Z_TYPE_P (*p_var) != IS_ARRAY)
    return 0;

  // if its not an array, make it an array
  HashTable *ht = Z_ARRVAL_P (*p_var);

  zval **data;
  if (ht_find (ht, ind, &data) == SUCCESS)
    {
      return !ZVAL_IS_NULL (*data);
    }
  else
    return 0;
}


/*
 * unset
 */

static void
unset_var (HashTable * st, char *name, int length)
{
  zend_hash_del (st, name, length);
}

static void
unset_array (zval ** p_var, zval * ind TSRMLS_DC)
{
  if (Z_TYPE_P (*p_var) == IS_STRING)
    {
      php_error_docref (NULL TSRMLS_CC, E_ERROR,
            "Cannot unset string offsets");
    }

  // NO error required
  if (Z_TYPE_P (*p_var) != IS_ARRAY)
    return;

  // if its not an array, make it an array
  HashTable *ht = Z_ARRVAL_P (*p_var);

  ht_delete (ht, ind);
}

/* Copies a constant into ZVP. Note that LENGTH does not include the NULL-terminating byte. */
static void
get_constant (char *name, int length, zval ** p_zvp TSRMLS_DC)
{
  MAKE_STD_ZVAL (*p_zvp);
  // zend_get_constant returns 1 for success, not SUCCESS
  int result = zend_get_constant (name, length, *p_zvp TSRMLS_CC);
  if (result == 0)
    ZVAL_STRINGL (*p_zvp, name, length, 1);
}

/* If assertions are off, this should be inlined to nothing */
static void
phc_check_invariants (TSRMLS_D)
{
  assert (EG (uninitialized_zval_ptr) == &EG (uninitialized_zval));
  assert (EG (uninitialized_zval).refcount >= 1);
  assert (EG (uninitialized_zval).value.lval == 0);
  assert (EG (uninitialized_zval).type == IS_NULL);
  assert (EG (uninitialized_zval).is_ref == 0);
}

static void
initialize_function_call (zend_fcall_info * fci, zend_fcall_info_cache * fcic,
              char *function_name, char *filename,
              int line_number TSRMLS_DC)
{
  if (!fcic->initialized)    // check for missing function
    {
      zval fn;
      INIT_PZVAL (&fn);
      ZVAL_STRING (&fn, function_name, 0);
      int result = zend_fcall_info_init (&fn, fci, fcic TSRMLS_CC);
      if (result != SUCCESS)
    {
      phc_setup_error (1, filename, line_number, NULL TSRMLS_CC);
      php_error_docref (NULL TSRMLS_CC, E_ERROR,
                "Call to undefined function %s()", function_name);
    }
    }
}

static void
phc_builtin_eval (zval * arg, zval * result, char *filename TSRMLS_DC)
{
  // If the user wrote "return ..", we need to store the
  // return value; however, in that case, zend_eval_string
  // will slap an extra "return" onto the front of the string,
  // so we must remove the "return" from the string the user
  // wrote. If the user did not write "return", he is not
  // interested in the return value, and we must pass NULL
  // instead or rhs to avoid zend_eval_string adding "return".

  // convert to a string
  // TODO avoid allocation
  zval *copy = arg;
  zvp_clone_ex (&copy);
  convert_to_string (copy);

  if (result && !strncmp (Z_STRVAL_P (copy), "return ", 7))
    {
      zend_eval_string (Z_STRVAL_P (copy) + 7, result,
            "eval'd code" TSRMLS_CC);
    }
  else
    {
      zend_eval_string (Z_STRVAL_P (copy), NULL, "eval'd code" TSRMLS_CC);
    }

  // cleanup
  assert (copy->refcount == 1);
  zval_ptr_dtor (&copy);
}

static void
phc_builtin_exit (zval * arg, zval * result, char *filename TSRMLS_DC)
{
  if (Z_TYPE_P (arg) == IS_LONG)
    EG (exit_status) = Z_LVAL_P (arg);
  else
    zend_print_variable (arg);

  zend_bailout ();
}

static void
phc_builtin_die (zval * arg, zval * result, char *filename TSRMLS_DC)
{
  phc_builtin_exit (arg, result, filename TSRMLS_CC);
}

static void
phc_builtin_echo (zval * arg, zval * result TSRMLS_DC)
{
  zend_print_variable (arg);
}

static void
phc_builtin_print (zval * arg, zval * result, char *filename TSRMLS_DC)
{
  phc_builtin_echo (arg, result TSRMLS_CC);

  if (result)
    ZVAL_LONG (result, 1);
}

// TODO is there a memory leak here is result has a value?
// TOOD isnt this just the same as isset
static void
phc_builtin_empty (zval * arg, zval * result, char *filename TSRMLS_DC)
{
  ZVAL_BOOL (result, !zend_is_true (arg));
}

static void
phc_builtin_include (zval * arg, zval * result, char *filename TSRMLS_DC)
{
  // TODO: php_execute_script does some additional work which we need to
  // emulate. However, we cant call it directly. And why not?

  // TODO: we expect a string, but it could be anything.
  // TODO: the file might not exist.
  //

  // In the event that the Zend engine cannot find the file, after checking the
  // include path, it tries the current directory. It does this only if the
  // interpreter is executing, and it checks the interpreters opcodes for a
  // filename (see streams/plain_wrapper.c:1352)

  // TODO since PHP does this hack all over the place, do we need to pretend
  // the entire program is executing?

  // An alternative is to add the directory to include_path, but its
  // semantically incorrect (get_included_path() would give the wrong answer),
  // and error prone (if people overwrite include_path).

  assert (EG (in_execution) == 0);
  assert (EG (active_op_array) == NULL);
  assert (filename != NULL);

  // Check we have a string
  if (Z_TYPE_P (arg) != IS_STRING)
    {
      zvp_clone_ex (&arg);
      convert_to_string (arg);
    }

  // Pretend the interpreter is running
  EG (in_execution) = 1;
  zend_op_array ops;
  ops.filename = filename;
  EG (active_op_array) = &ops;

  // Open the file
  zend_file_handle handle;
  int success = zend_stream_open (Z_STRVAL_P (arg), &handle TSRMLS_CC);

  // Stop pretending
  EG (in_execution) = 0;
  EG (active_op_array) = NULL;

  if (success == SUCCESS)
    {
      // run it
      success =
    zend_execute_scripts (ZEND_INCLUDE TSRMLS_CC, &result, 1, &handle);
      assert (success == SUCCESS);
      zend_stream_close (&handle);
    }
  else
    {
      php_error_docref ("function.include" TSRMLS_CC, E_WARNING,
            "Failed opening '%s' for inclusion (include_path='%s')",
            php_strip_url_passwd (Z_STRVAL_P (arg)),
            STR_PRINT (PG (include_path)));
    }



  //TODO 
  // What happens in zend_vm_def.h, in the include's handler function:

/*  if (is_once_variety)
    {
      if (is_absolutepath (arg))
    failure = !path_ok (arg) || zend_hash_exists (EG(included_files))

      if (failure)
    ; // do nothing
      else if (file_open(arg) == success)
     compile_file
     zend_hash_add_empty_element (EG(included_files), arg)
      else
     error
      }
  else
    compile_file
*/
}

zval *phc_const_pool_int_0;
zval *phc_const_pool_int_1;
static zend_fcall_info hallo_fci;
static zend_fcall_info_cache hallo_fcic = { 0, NULL, NULL, NULL };

zval *phc_const_pool_string_0;
static zend_fcall_info hallo2_fci;
static zend_fcall_info_cache hallo2_fcic = { 0, NULL, NULL, NULL };

zval *phc_const_pool_int_2;
zval *phc_const_pool_int_3;
zval *phc_const_pool_real_0;
zval *phc_const_pool_real_1;
zval *phc_const_pool_int_4;
zval *phc_const_pool_int_5;
zval *phc_const_pool_real_2;
zval *phc_const_pool_int_6;
zval *phc_const_pool_int_7;
zval *phc_const_pool_int_8;
zval *phc_const_pool_string_1;
zval *phc_const_pool_string_2;
zval *phc_const_pool_string_3;
static zend_fcall_info flush_fci;
static zend_fcall_info_cache flush_fcic = { 0, NULL, NULL, NULL };

zval *phc_const_pool_string_4;
zval *phc_const_pool_int_9;
static zend_fcall_info printf_fci;
static zend_fcall_info_cache printf_fcic = { 0, NULL, NULL, NULL };

zval *phc_const_pool_string_5;
zval *phc_const_pool_real_3;
zval *phc_const_pool_real_4;
zval *phc_const_pool_real_5;
zval *phc_const_pool_int_10;
zval *phc_const_pool_int_11;
zval *phc_const_pool_int_12;
zval *phc_const_pool_int_13;
static zend_fcall_info Ack_fci;
static zend_fcall_info_cache Ack_fcic = { 0, NULL, NULL, NULL };

zval *phc_const_pool_int_14;
zval *phc_const_pool_string_6;
zval *phc_const_pool_string_7;
zval *phc_const_pool_string_8;
zval *phc_const_pool_string_9;
static zend_fcall_info fibo_r_fci;
static zend_fcall_info_cache fibo_r_fcic = { 0, NULL, NULL, NULL };

static zend_fcall_info dechex_fci;
static zend_fcall_info_cache dechex_fcic = { 0, NULL, NULL, NULL };

static zend_fcall_info is_array_fci;
static zend_fcall_info_cache is_array_fcic = { 0, NULL, NULL, NULL };

static zend_fcall_info trigger_error_fci;
static zend_fcall_info_cache trigger_error_fcic = { 0, NULL, NULL, NULL };

zval *phc_const_pool_string_10;
zval *phc_const_pool_int_15;
zval *phc_const_pool_string_11;
zval *phc_const_pool_string_12;
zval *phc_const_pool_null_0;
static zend_fcall_info define_fci;
static zend_fcall_info_cache define_fcic = { 0, NULL, NULL, NULL };

zval *phc_const_pool_string_13;
zval *phc_const_pool_int_16;
zval *phc_const_pool_string_14;
zval *phc_const_pool_int_17;
zval *phc_const_pool_string_15;
zval *phc_const_pool_int_18;
zval *phc_const_pool_int_19;
static zend_fcall_info heapsort_r_fci;
static zend_fcall_info_cache heapsort_r_fcic = { 0, NULL, NULL, NULL };

zval *phc_const_pool_string_16;
static zend_fcall_info gen_random_fci;
static zend_fcall_info_cache gen_random_fcic = { 0, NULL, NULL, NULL };

static zend_fcall_info mkmatrix_fci;
static zend_fcall_info_cache mkmatrix_fcic = { 0, NULL, NULL, NULL };

static zend_fcall_info mmult_fci;
static zend_fcall_info_cache mmult_fcic = { 0, NULL, NULL, NULL };

zval *phc_const_pool_int_20;
static zend_fcall_info range_fci;
static zend_fcall_info_cache range_fcic = { 0, NULL, NULL, NULL };

zval *phc_const_pool_int_21;
zval *phc_const_pool_int_22;
zval *phc_const_pool_string_17;
static zend_fcall_info strlen_fci;
static zend_fcall_info_cache strlen_fcic = { 0, NULL, NULL, NULL };

zval *phc_const_pool_string_18;
static zend_fcall_info gettimeofday_fci;
static zend_fcall_info_cache gettimeofday_fcic = { 0, NULL, NULL, NULL };

zval *phc_const_pool_string_19;
zval *phc_const_pool_string_20;
static zend_fcall_info ob_start_fci;
static zend_fcall_info_cache ob_start_fcic = { 0, NULL, NULL, NULL };

static zend_fcall_info getmicrotime_fci;
static zend_fcall_info_cache getmicrotime_fcic = { 0, NULL, NULL, NULL };

static zend_fcall_info ob_end_clean_fci;
static zend_fcall_info_cache ob_end_clean_fcic = { 0, NULL, NULL, NULL };

static zend_fcall_info number_format_fci;
static zend_fcall_info_cache number_format_fcic = { 0, NULL, NULL, NULL };

zval *phc_const_pool_int_23;
static zend_fcall_info str_repeat_fci;
static zend_fcall_info_cache str_repeat_fcic = { 0, NULL, NULL, NULL };

zval *phc_const_pool_string_21;
zval *phc_const_pool_int_24;
zval *phc_const_pool_string_22;
static zend_fcall_info date_default_timezone_set_fci;
static zend_fcall_info_cache date_default_timezone_set_fcic =
  { 0, NULL, NULL, NULL };
zval *phc_const_pool_string_23;
static zend_fcall_info start_test_fci;
static zend_fcall_info_cache start_test_fcic = { 0, NULL, NULL, NULL };

static zend_fcall_info simple_fci;
static zend_fcall_info_cache simple_fcic = { 0, NULL, NULL, NULL };

static zend_fcall_info end_test_fci;
static zend_fcall_info_cache end_test_fcic = { 0, NULL, NULL, NULL };

zval *phc_const_pool_string_24;
static zend_fcall_info simplecall_fci;
static zend_fcall_info_cache simplecall_fcic = { 0, NULL, NULL, NULL };

zval *phc_const_pool_string_25;
static zend_fcall_info simpleucall_fci;
static zend_fcall_info_cache simpleucall_fcic = { 0, NULL, NULL, NULL };

zval *phc_const_pool_string_26;
static zend_fcall_info simpleudcall_fci;
static zend_fcall_info_cache simpleudcall_fcic = { 0, NULL, NULL, NULL };

zval *phc_const_pool_string_27;
static zend_fcall_info mandel_fci;
static zend_fcall_info_cache mandel_fcic = { 0, NULL, NULL, NULL };

zval *phc_const_pool_string_28;
static zend_fcall_info mandel2_fci;
static zend_fcall_info_cache mandel2_fcic = { 0, NULL, NULL, NULL };

zval *phc_const_pool_string_29;
static zend_fcall_info ackermann_fci;
static zend_fcall_info_cache ackermann_fcic = { 0, NULL, NULL, NULL };

zval *phc_const_pool_int_25;
zval *phc_const_pool_string_30;
static zend_fcall_info ary_fci;
static zend_fcall_info_cache ary_fcic = { 0, NULL, NULL, NULL };

zval *phc_const_pool_int_26;
zval *phc_const_pool_string_31;
static zend_fcall_info ary2_fci;
static zend_fcall_info_cache ary2_fcic = { 0, NULL, NULL, NULL };

zval *phc_const_pool_string_32;
static zend_fcall_info ary3_fci;
static zend_fcall_info_cache ary3_fcic = { 0, NULL, NULL, NULL };

zval *phc_const_pool_int_27;
zval *phc_const_pool_string_33;
static zend_fcall_info fibo_fci;
static zend_fcall_info_cache fibo_fcic = { 0, NULL, NULL, NULL };

zval *phc_const_pool_string_34;
static zend_fcall_info hash1_fci;
static zend_fcall_info_cache hash1_fcic = { 0, NULL, NULL, NULL };

zval *phc_const_pool_string_35;
static zend_fcall_info hash2_fci;
static zend_fcall_info_cache hash2_fcic = { 0, NULL, NULL, NULL };

zval *phc_const_pool_int_28;
zval *phc_const_pool_string_36;
static zend_fcall_info heapsort_fci;
static zend_fcall_info_cache heapsort_fcic = { 0, NULL, NULL, NULL };

zval *phc_const_pool_int_29;
zval *phc_const_pool_string_37;
static zend_fcall_info matrix_fci;
static zend_fcall_info_cache matrix_fcic = { 0, NULL, NULL, NULL };

zval *phc_const_pool_int_30;
zval *phc_const_pool_string_38;
static zend_fcall_info nestedloop_fci;
static zend_fcall_info_cache nestedloop_fcic = { 0, NULL, NULL, NULL };

zval *phc_const_pool_string_39;
static zend_fcall_info sieve_fci;
static zend_fcall_info_cache sieve_fcic = { 0, NULL, NULL, NULL };

zval *phc_const_pool_string_40;
static zend_fcall_info strcat_fci;
static zend_fcall_info_cache strcat_fcic = { 0, NULL, NULL, NULL };

zval *phc_const_pool_int_31;
zval *phc_const_pool_string_41;
static zend_fcall_info total_fci;
static zend_fcall_info_cache total_fcic = { 0, NULL, NULL, NULL };


// function mandel()
// {
// \011$y = 0;
// \011L836:
// \011$TLE63 = ($y <= 50);
// \011if (TLE63) goto L838 else goto L833;
// \011L838:
// \011$TLE64 = ($y - 12);
// \011$TLE65 = (0.027999999999999997113 * $TLE64);
// \011$imc = ($TLE65 + 0.0);
// \011$x = 0;
// \011L843:
// \011$TLE67 = ($x <= 150);
// \011if (TLE67) goto L845 else goto L872;
// \011L845:
// \011$TLE68 = ($x - 40);
// \011$TLE69 = (0.027999999999999997113 * $TLE68);
// \011$rec = ($TLE69 + -0.4500000000000000111);
// \011$re = $rec;
// \011$im = $imc;
// \011$color = 1000;
// \011$re2 = ($re * $re);
// \011$im2 = ($im * $im);
// \011L853:
// \011$TLE70 = ($re2 + $im2);
// \011$TLE35 = ($TLE70 < 1000000);
// \011if (TLE35) goto L856 else goto L857;
// \011L857:
// \011$TEF36 = $TLE35;
// \011L858:
// \011$TLE73 = (bool) $TEF36;
// \011if (TLE73) goto L860 else goto L868;
// \011L860:
// \011$TLE75 = ($re * $im);
// \011$TLE77 = ($TLE75 * 2);
// \011$im = ($TLE77 + $imc);
// \011$TLE78 = ($re2 - $im2);
// \011$re = ($TLE78 + $rec);
// \011$re2 = ($re * $re);
// \011$im2 = ($im * $im);
// \011$color = ($color - 1);
// \011goto L853;
// \011L868:
// \011$TLE81 = ($color == 0);
// \011if (TLE81) goto L870 else goto L871;
// \011L870:
// \011print('_');
// \011L842:
// \011$x = ($x + 1);
// \011goto L843;
// \011L871:
// \011print('#');
// \011goto L842;
// \011L856:
// \011$TEF36 = ($color > 0);
// \011goto L858;
// \011L872:
// \011print('<br>');
// \011flush();
// \011$y = ($y + 1);
// \011goto L836;
// \011L833:
// }
PHP_FUNCTION (mandel)
{
// Function body
// $y = 0;
   int y = 0;
// L836:
L836:;
// $TLE63 = ($y <= 50);
  int TLE63 = y <= 50;
  
// if (TLE63) goto L838 else goto L833;
    if (TLE63)
      goto L838;
    else
      goto L833;
// L838:
L838:;
// $TLE64 = ($y - 12);
  int TLE64 = y - 12;
  
// $TLE65 = (0.027999999999999997113 * $TLE64);
  double TLE65 = (0.027999999999999997113 * TLE64);
// $imc = ($TLE65 + 0.0);
  double imc = TLE65 = 0.0;
// $x = 0;
  int x = 0;
// L843:
L843:;
// $TLE67 = ($x <= 150);
  int TLE67 = x <= 150;
  
// if (TLE67) goto L845 else goto L872;
    if (TLE67)
      goto L845;
    else
      goto L872;
// L845:
L845:;
// $TLE68 = ($x - 40);
  int TLE68 = x - 40;
// $TLE69 = (0.027999999999999997113 * $TLE68);
  int TLE69 = (0.027999999999999997113 * TLE68);
// $rec = ($TLE69 + -0.4500000000000000111);
  double rec = (TLE69 + -0.4500000000000000111);
  
// $re = $rec;
  double re = rec;
  
// $im = $imc;
  double im = imc;
  
// $color = 1000;
  int color = 1000;
// $re2 = ($re * $re);
  double re2 = re * re;
  
// $im2 = ($im * $im);
  double im2 = im * im;
// L853:
L853:;
// $TLE70 = ($re2 + $im2);
  double TLE70 = re2 + im2;
// $TLE35 = ($TLE70 < 1000000);
  int TLE35 = TLE70 < 1000000;
// if (TLE35) goto L856 else goto L857;
    if (TLE35)
      goto L856;
    else
      goto L857;
// L857:
L857:;
// $TEF36 = $TLE35;
  int TEF36 = TLE35;
// L858:
L858:;
// $TLE73 = (bool) $TEF36;
  int TLE73 = TEF36;
// if (TLE73) goto L860 else goto L868;
    if (TLE73)
      goto L860;
    else
      goto L868;
// L860:
L860:;
// $TLE75 = ($re * $im);
  double TLE75 = re * im;
  
// $TLE77 = ($TLE75 * 2);
  double TLE77 = TLE75 * 2;
// $im = ($TLE77 + $imc);
  im = TLE77 * imc;
// $TLE78 = ($re2 - $im2);
  double TLE78 = re2 - im2;
// $re = ($TLE78 + $rec);
  re = TLE78 + rec;
  
// $re2 = ($re * $re);
  re2 = re * re;
  
// $im2 = ($im * $im);
  im2 = im * im;
// $color = ($color - 1);
  color = color - 1;
// goto L853;
    goto L853;
// L868:
L868:;
  int TLE81 = color == 0;
// $TLE81 = ($color == 0);
  
// if (TLE81) goto L870 else goto L871;
    if (TLE81)
      goto L870;
    else
      goto L871;
// L870:
L870:;
// print('_');
  {
    zval *p_arg = phc_const_pool_string_1;
    phc_builtin_print (p_arg, NULL,
               "test/subjects/benchmarks/zend/bench.php" TSRMLS_CC);
  }
// L842:
L842:;
// $x = ($x + 1);
  x = x + 1;
// goto L843;
    goto L843;
// L871:
L871:;
// print('#');
  {
    zval *p_arg = phc_const_pool_string_2;
    phc_builtin_print (p_arg, NULL,
               "test/subjects/benchmarks/zend/bench.php" TSRMLS_CC);
  }
// goto L842;
    goto L842;
// L856:
L856:;
// $TEF36 = ($color > 0);
  TEF36 = color > 0;
// goto L858;
    goto L858;
// L872:
L872:;
// print('<br>');
  {
    zval *p_arg = phc_const_pool_string_3;
    phc_builtin_print (p_arg, NULL,
               "test/subjects/benchmarks/zend/bench.php" TSRMLS_CC);
  }
// flush();
  {
    initialize_function_call (&flush_fci, &flush_fcic, "flush",
                  "test/subjects/benchmarks/zend/bench.php",
                  77 TSRMLS_CC);
    zend_function *signature = flush_fcic.function_handler;
    zval **args_ind[0];
    phc_setup_error (1, "<unknown>", 0, NULL TSRMLS_CC);
    int param_count_save = flush_fci.param_count;
    zval ***params_save = flush_fci.params;
    zval **retval_save = flush_fci.retval_ptr_ptr;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    flush_fci.params = args_ind;
    flush_fci.param_count = 0;
    flush_fci.retval_ptr_ptr = p_rhs;
    int success = zend_call_function (&flush_fci, &flush_fcic TSRMLS_CC);
    assert (success == SUCCESS);
    flush_fci.params = params_save;
    flush_fci.param_count = param_count_save;
    flush_fci.retval_ptr_ptr = retval_save;
    phc_setup_error (0, NULL, 0, NULL TSRMLS_CC);
    is_p_rhs_new = 1;
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// $y = ($y + 1);
    y = y + 1;
// goto L836;
  {
    goto L836;
  }
// L833:
L833:;
// Method exit
}

// function mandel2()
// {
// \011$b = ' .:,;!/>)|&IH%*#';
// \011$y = 30;
// \011L878:
// \011printf('
// ');
// \011$TLE87 = ($y * 0.10000000000000000555);
// \011$C = ($TLE87 - 1.5);
// \011$TS40 = $y;
// \011--$y;
// \011if (TS40) goto L884 else goto L875;
// \011L884:
// \011$x = 0;
// \011L885:
// \011$TLE90 = ($x * 0.040000000000000000833);
// \011$c = ($TLE90 - 2);
// \011$z = 0;
// \011$Z = 0;
// \011$TS41 = $x;
// \011++$x;
// \011$TLE93 = ($TS41 < 75);
// \011if (TLE93) goto L893 else goto L878;
// \011L893:
// \011$r = $c;
// \011$i = $C;
// \011$k = 0;
// \011L897:
// \011$TLE94 = ($z * $z);
// \011$TLE95 = ($Z * $Z);
// \011$TLE96 = ($TLE94 - $TLE95);
// \011$t = ($TLE96 + $r);
// \011$TLE98 = (2 * $z);
// \011$TLE99 = ($TLE98 * $Z);
// \011$Z = ($TLE99 + $i);
// \011$z = $t;
// \011$TLE101 = ($k < 5000);
// \011if (TLE101) goto L907 else goto L912;
// \011L907:
// \011$TLE102 = ($z * $z);
// \011$TLE103 = ($Z * $Z);
// \011$TLE104 = ($TLE102 + $TLE103);
// \011$TLE106 = ($TLE104 > 500000);
// \011if (TLE106) goto L912 else goto L896;
// \011L896:
// \011++$k;
// \011goto L897;
// \011L912:
// \011$TLE108 = ($k % 16);
// \011$TMIi438 = $b[$TLE108];
// \011print($TMIi438);
// \011goto L885;
// \011L875:
// }
PHP_FUNCTION (mandel2)
{
// Function body
// $b = ' .:,;!/>)|&IH%*#';
 char* b = " .:,;!/>)|&IH%*#";
// $y = 30;
 int y = 30;
// L878:
L878:;
// printf('
// ');
  {
    initialize_function_call (&printf_fci, &printf_fcic, "printf",
                  "test/subjects/benchmarks/zend/bench.php",
                  86 TSRMLS_CC);
    zend_function *signature = printf_fcic.function_handler;
    zend_arg_info *arg_info = signature->common.arg_info;
    int by_ref[1];
    if (arg_info)
      {
    by_ref[0] = arg_info->pass_by_reference;
    arg_info++;
      }
    else
      {
    by_ref[0] = signature->common.pass_rest_by_reference;
      }
// Setup array of arguments
    int destruct[1];        // set to 1 if the arg is new
    zval *args[1];
    zval **args_ind[1];
    destruct[0] = 0;
    {
      zval *arg = phc_const_pool_string_5;
      args[0] = fetch_var_arg (arg, &destruct[0]);
      args_ind[0] = &args[0];
    }
    phc_setup_error (1, "<unknown>", 0, NULL TSRMLS_CC);
    int param_count_save = printf_fci.param_count;
    zval ***params_save = printf_fci.params;
    zval **retval_save = printf_fci.retval_ptr_ptr;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    printf_fci.params = args_ind;
    printf_fci.param_count = 1;
    printf_fci.retval_ptr_ptr = p_rhs;
    int success = zend_call_function (&printf_fci, &printf_fcic TSRMLS_CC);
    assert (success == SUCCESS);
    printf_fci.params = params_save;
    printf_fci.param_count = param_count_save;
    printf_fci.retval_ptr_ptr = retval_save;
    phc_setup_error (0, NULL, 0, NULL TSRMLS_CC);
    is_p_rhs_new = 1;
    if (destruct[0])
      {
    assert (destruct[0] == 1);
    zval_ptr_dtor (args_ind[0]);
      }
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// $TLE87 = ($y * 0.10000000000000000555);
  double TLE87 = y * 0.1;
  
// $C = ($TLE87 - 1.5);
  double C = TLE87 - 1.5;
  
// $TS40 = $y;
 int TS40 = y;
// --$y;
  --y;
  
// if (TS40) goto L884 else goto L875;

    if (TS40)
      goto L884;
    else
      goto L875;
// L884:
L884:;
// $x = 0;
  int x = 0;
// L885:
L885:;
// $TLE90 = ($x * 0.040000000000000000833);
  double TLE90 = x * 0.4;
// $c = ($TLE90 - 2);
  double c = TLE90 - 2;
  
// $z = 0;
  int z = 0;
// $Z = 0;
 int Z = 0;
// $TS41 = $x;
 int TS41 = x;
// ++$x;
 ++x;
// $TLE93 = ($TS41 < 75);
 int TLE93 = TS41 < 75;
// if (TLE93) goto L893 else goto L878;
    if (TLE93)
      goto L893;
    else
      goto L878;
// L893:
L893:;
// $r = $c;
  double r = c;
// $i = $C;
  double i = C;
// $k = 0;
  int k = 0;
// L897:
L897:;
// $TLE94 = ($z * $z);
  double TLE94 = z * z;
// $TLE95 = ($Z * $Z);
   double TLE95 = (Z * Z);
  
// $TLE96 = ($TLE94 - $TLE95);
  double TLE96 = (TLE94 - TLE95);
  
// $t = ($TLE96 + $r);
  double t = (TLE96 + r);
  
// $TLE98 = (2 * $z);
  double TLE98 = (2 * z);
  
// $TLE99 = ($TLE98 * $Z);
  double TLE99 = (TLE98 * Z);
  
// $Z = ($TLE99 + $i);
  Z = (TLE99 + i);
  
// $z = $t;
  z = t;
// $TLE101 = ($k < 5000);
  int TLE101 = (k < 5000);
  
// if (TLE101) goto L907 else goto L912;

    if (TLE101)
      goto L907;
    else
      goto L912;
// L907:
L907:;
// $TLE102 = ($z * $z);
    double TLE102 = (z * z);
  
// $TLE103 = ($Z * $Z);
    double TLE103 = (Z * Z);
  
// $TLE104 = ($TLE102 + $TLE103);
   double  TLE104 = (TLE102 + TLE103);
  
// $TLE106 = ($TLE104 > 500000);
   int TLE106 = (TLE104 > 500000);
  
// if (TLE106) goto L912 else goto L896;
    if (TLE106)
      goto L912;
    else
      goto L896;
// L896:
L896:;
// ++$k;
     ++k;
  
// goto L897;
  {
    goto L897;
    phc_check_invariants (TSRMLS_C);
  }
// L912:
L912:;
// $TLE108 = ($k % 16);
    int TLE108 = (k % 16);
  
// $TMIi438 = $b[$TLE108];
   char TMIi438[2];
   TMIi438[0] = b[TLE108];
   TMIi438[1] = '\0';

// print($TMIi438);
  {
    zval arg;
    INIT_ZVAL (arg);
    ZVAL_STRING (&arg, TMIi438, 2);
zval*    p_arg = &arg;
    phc_builtin_print (p_arg, NULL,
               "test/subjects/benchmarks/zend/bench.php" TSRMLS_CC);
    phc_check_invariants (TSRMLS_C);
  }
// goto L885;
  {
    goto L885;
    phc_check_invariants (TSRMLS_C);
  }
// L875:
L875:;
// Method exit
end_of_function:__attribute__ ((unused));
}

// function Ack($m, $n)
// {
// \011$TLE110 = ($m == 0);
// \011if (TLE110) goto L919 else goto L921;
// \011L919:
// \011$TLE112 = ($n + 1);
// \011return $TLE112;
// \011goto L916;
// \011L921:
// \011$TLE114 = ($n == 0);
// \011if (TLE114) goto L923 else goto L926;
// \011L923:
// \011$TLE116 = ($m - 1);
// \011$TLE118 = Ack($TLE116, 1);
// \011return $TLE118;
// \011goto L916;
// \011L926:
// \011$TLE120 = ($m - 1);
// \011$TLE122 = ($n - 1);
// \011$TLE123 = Ack($m, $TLE122);
// \011$TLE124 = Ack($TLE120, $TLE123);
// \011return $TLE124;
// \011L916:
// }
PHP_FUNCTION (Ack)
{
  zval *local_TLE110 = NULL;
  zval *local_TLE112 = NULL;
  zval *local_TLE114 = NULL;
  zval *local_TLE116 = NULL;
  zval *local_TLE118 = NULL;
  zval *local_TLE120 = NULL;
  zval *local_TLE122 = NULL;
  zval *local_TLE123 = NULL;
  zval *local_TLE124 = NULL;
  zval *local_m = NULL;
  zval *local_n = NULL;
// Add all parameters as local variables
  {
    int num_args = ZEND_NUM_ARGS ();
    zval *params[2];
    zend_get_parameters_array (0, num_args, params);
// param 0
    params[0]->refcount++;
    local_m = params[0];
// param 1
    params[1]->refcount++;
    local_n = params[1];
  }
   int m = Z_LVAL_P (local_m);
   int n = Z_LVAL_P (local_n);
// Function body
// $TLE110 = ($m == 0);
   int TLE110 = (m == 0);
  
// if (TLE110) goto L919 else goto L921;

    if (TLE110)
      goto L919;
    else
      goto L921;
// L919:
L919:;
// $TLE112 = ($n + 1);
     int TLE112 = (n + 1);
  
// return $TLE112;

      RETVAL_LONG (TLE112);
    goto end_of_function;
    phc_check_invariants (TSRMLS_C);
// goto L916;
  {
    goto L916;
    phc_check_invariants (TSRMLS_C);
  }
// L921:
L921:;
// $TLE114 = ($n == 0);
     int TLE114 = (n == 0);
// if (TLE114) goto L923 else goto L926;
      if (TLE114)
      goto L923;
    else
      goto L926;
    phc_check_invariants (TSRMLS_C);
// L923:
L923:;
// $TLE116 = ($m - 1);
     int TLE116 = (m - 1);
  
// $TLE118 = Ack($TLE116, 1);
  int TLE118;
  {
// Setup array of arguments
    int destruct[2];        // set to 1 if the arg is new
    zval *args[2];
    zval **args_ind[2];
    zval arg1;
    INIT_ZVAL (arg1);
    ZVAL_LONG (&arg1, TLE116);

    destruct[0] = 0;
    {
      args[0] = &arg1;
      args_ind[0] = &args[0];
    }
    destruct[1] = 0;
    {
      zval *arg = phc_const_pool_int_8;
      args[1] = fetch_var_arg (arg, &destruct[1]);
      args_ind[1] = &args[1];
    }
    phc_setup_error (1, "<unknown>", 0, NULL TSRMLS_CC);
    int param_count_save = Ack_fci.param_count;
    zval ***params_save = Ack_fci.params;
    zval **retval_save = Ack_fci.retval_ptr_ptr;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    Ack_fci.params = args_ind;
    Ack_fci.param_count = 2;
    Ack_fci.retval_ptr_ptr = p_rhs;
    int success = zend_call_function (&Ack_fci, &Ack_fcic TSRMLS_CC);
    assert (success == SUCCESS);
    Ack_fci.params = params_save;
    Ack_fci.param_count = param_count_save;
    Ack_fci.retval_ptr_ptr = retval_save;
    phc_setup_error (0, NULL, 0, NULL TSRMLS_CC);
    is_p_rhs_new = 1;
    if (destruct[0])
      {
    assert (destruct[0] == 1);
    zval_ptr_dtor (args_ind[0]);
      }
    if (destruct[1])
      {
    assert (destruct[1] == 1);
    zval_ptr_dtor (args_ind[1]);
      }
    TLE118 = Z_LVAL_PP (p_rhs);
  }
// return $TLE118;
  {
    zval *rhs;
    RETVAL_LONG (TLE118);
    zval_copy_ctor (return_value);
    goto end_of_function;
    phc_check_invariants (TSRMLS_C);
  }
// goto L916;
  {
    goto L916;
    phc_check_invariants (TSRMLS_C);
  }
// L926:
L926:;
// $TLE120 = ($m - 1);
     int TLE120 = (m - 1);
  
// $TLE122 = ($n - 1);
     int TLE122 = (n - 1);
  
// $TLE123 = Ack($m, $TLE122);
    int TLE123;
  {

// Setup array of arguments
    zval *args[2];
    zval **args_ind[2];
    zval arg0;
    INIT_ZVAL (arg0);
    ZVAL_LONG (&arg0, m);
    {
      args[0] = &arg0;
      args_ind[0] = &args[0];
    }
    zval arg1;
    INIT_ZVAL (arg1);
    ZVAL_LONG (&arg1, TLE122);
    {
      args[1] = &arg1;
      args_ind[1] = &args[1];
    }
    phc_setup_error (1, "<unknown>", 0, NULL TSRMLS_CC);
    int param_count_save = Ack_fci.param_count;
    zval ***params_save = Ack_fci.params;
    zval **retval_save = Ack_fci.retval_ptr_ptr;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    Ack_fci.params = args_ind;
    Ack_fci.param_count = 2;
    Ack_fci.retval_ptr_ptr = p_rhs;
    int success = zend_call_function (&Ack_fci, &Ack_fcic TSRMLS_CC);
    assert (success == SUCCESS);
    Ack_fci.params = params_save;
    Ack_fci.param_count = param_count_save;
    Ack_fci.retval_ptr_ptr = retval_save;
    phc_setup_error (0, NULL, 0, NULL TSRMLS_CC);
    TLE123 = Z_LVAL_PP (p_rhs);
  }
// $TLE124 = Ack($TLE120, $TLE123);
    int TLE124;
  {
    zval *args[2];
    zval **args_ind[2];
    zval arg0;
    INIT_ZVAL (arg0);
    ZVAL_LONG (&arg0, TLE120);
    {
      args[0] = &arg0;
      args_ind[0] = &args[0];
    }
    zval arg1;
    INIT_ZVAL (arg1);
    ZVAL_LONG (&arg1, TLE123);
    {
      args[1] = &arg1;
      args_ind[1] = &args[1];
    }
    phc_setup_error (1, "<unknown>", 0, NULL TSRMLS_CC);
    int param_count_save = Ack_fci.param_count;
    zval ***params_save = Ack_fci.params;
    zval **retval_save = Ack_fci.retval_ptr_ptr;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    Ack_fci.params = args_ind;
    Ack_fci.param_count = 2;
    Ack_fci.retval_ptr_ptr = p_rhs;
    int success = zend_call_function (&Ack_fci, &Ack_fcic TSRMLS_CC);
    assert (success == SUCCESS);
    Ack_fci.params = params_save;
    Ack_fci.param_count = param_count_save;
    Ack_fci.retval_ptr_ptr = retval_save;
    phc_setup_error (0, NULL, 0, NULL TSRMLS_CC);
    TLE124 = Z_LVAL_PP (p_rhs);
  }
// return $TLE124;
  {
    RETVAL_LONG (TLE124);
    goto end_of_function;
    phc_check_invariants (TSRMLS_C);
  }
// L916:
L916:;
// Method exit
end_of_function:__attribute__ ((unused));
  if (local_TLE110 != NULL)
    {
      zval_ptr_dtor (&local_TLE110);
    }
  if (local_TLE112 != NULL)
    {
      zval_ptr_dtor (&local_TLE112);
    }
  if (local_TLE114 != NULL)
    {
      zval_ptr_dtor (&local_TLE114);
    }
  if (local_TLE116 != NULL)
    {
      zval_ptr_dtor (&local_TLE116);
    }
  if (local_TLE118 != NULL)
    {
      zval_ptr_dtor (&local_TLE118);
    }
  if (local_TLE120 != NULL)
    {
      zval_ptr_dtor (&local_TLE120);
    }
  if (local_TLE122 != NULL)
    {
      zval_ptr_dtor (&local_TLE122);
    }
  if (local_TLE123 != NULL)
    {
      zval_ptr_dtor (&local_TLE123);
    }
  if (local_TLE124 != NULL)
    {
      zval_ptr_dtor (&local_TLE124);
    }
  if (local_m != NULL)
    {
      zval_ptr_dtor (&local_m);
    }
  if (local_n != NULL)
    {
      zval_ptr_dtor (&local_n);
    }
}

// function ackermann($n)
// {
// \011$r = Ack(3, $n);
// \011$TLE127 = ('Ack(3,' . $n);
// \011$TLE129 = ($TLE127 . '): ');
// \011$TLE130 = ($TLE129 . $r);
// \011$TLE132 = ($TLE130 . '
// ');
// \011print($TLE132);
// }
PHP_FUNCTION (ackermann)
{
  zval *local_TLE127 = NULL;
  zval *local_TLE129 = NULL;
  zval *local_TLE130 = NULL;
  zval *local_TLE132 = NULL;
  zval *local_n = NULL;
  zval *local_r = NULL;
// Add all parameters as local variables
  {
    int num_args = ZEND_NUM_ARGS ();
    zval *params[1];
    zend_get_parameters_array (0, num_args, params);
// param 0
    params[0]->refcount++;
    local_n = params[0];
  }
// Function body
// $r = Ack(3, $n);
  {
    if (local_r == NULL)
      {
    local_r = EG (uninitialized_zval_ptr);
    local_r->refcount++;
      }
    zval **p_lhs = &local_r;
    initialize_function_call (&Ack_fci, &Ack_fcic, "Ack",
                  "test/subjects/benchmarks/zend/bench.php",
                  104 TSRMLS_CC);
    zend_function *signature = Ack_fcic.function_handler;
    zend_arg_info *arg_info = signature->common.arg_info;
    int by_ref[2];
    if (arg_info)
      {
    by_ref[0] = arg_info->pass_by_reference;
    arg_info++;
      }
    else
      {
    by_ref[0] = signature->common.pass_rest_by_reference;
      }
    if (arg_info)
      {
    by_ref[1] = arg_info->pass_by_reference;
    arg_info++;
      }
    else
      {
    by_ref[1] = signature->common.pass_rest_by_reference;
      }
// Setup array of arguments
    int destruct[2];        // set to 1 if the arg is new
    zval *args[2];
    zval **args_ind[2];
    destruct[0] = 0;
    {
      zval *arg = phc_const_pool_int_14;
      args[0] = fetch_var_arg (arg, &destruct[0]);
      args_ind[0] = &args[0];
    }
    destruct[1] = 0;
    {
      zval *arg;
      if (local_n == NULL)
    {
      arg = EG (uninitialized_zval_ptr);
    }
      else
    {
      arg = local_n;
    }
      args[1] = fetch_var_arg (arg, &destruct[1]);
      args_ind[1] = &args[1];
    }
    phc_setup_error (1, "<unknown>", 0, NULL TSRMLS_CC);
    int param_count_save = Ack_fci.param_count;
    zval ***params_save = Ack_fci.params;
    zval **retval_save = Ack_fci.retval_ptr_ptr;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    Ack_fci.params = args_ind;
    Ack_fci.param_count = 2;
    Ack_fci.retval_ptr_ptr = p_rhs;
    int success = zend_call_function (&Ack_fci, &Ack_fcic TSRMLS_CC);
    assert (success == SUCCESS);
    Ack_fci.params = params_save;
    Ack_fci.param_count = param_count_save;
    Ack_fci.retval_ptr_ptr = retval_save;
    phc_setup_error (0, NULL, 0, NULL TSRMLS_CC);
    is_p_rhs_new = 1;
    if (destruct[0])
      {
    assert (destruct[0] == 1);
    zval_ptr_dtor (args_ind[0]);
      }
    if (destruct[1])
      {
    assert (destruct[1] == 1);
    zval_ptr_dtor (args_ind[1]);
      }
    write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// $TLE127 = ('Ack(3,' . $n);
  {
    if (local_TLE127 == NULL)
      {
    local_TLE127 = EG (uninitialized_zval_ptr);
    local_TLE127->refcount++;
      }
    zval **p_lhs = &local_TLE127;
    zval *left = phc_const_pool_string_6;
    zval *right;
    if (local_n == NULL)
      {
    right = EG (uninitialized_zval_ptr);
      }
    else
      {
    right = local_n;
      }
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    concat_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// $TLE129 = ($TLE127 . '): ');
  {
    if (local_TLE129 == NULL)
      {
    local_TLE129 = EG (uninitialized_zval_ptr);
    local_TLE129->refcount++;
      }
    zval **p_lhs = &local_TLE129;
    zval *left;
    if (local_TLE127 == NULL)
      {
    left = EG (uninitialized_zval_ptr);
      }
    else
      {
    left = local_TLE127;
      }
    zval *right = phc_const_pool_string_7;
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    concat_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// $TLE130 = ($TLE129 . $r);
  {
    if (local_TLE130 == NULL)
      {
    local_TLE130 = EG (uninitialized_zval_ptr);
    local_TLE130->refcount++;
      }
    zval **p_lhs = &local_TLE130;
    zval *left;
    if (local_TLE129 == NULL)
      {
    left = EG (uninitialized_zval_ptr);
      }
    else
      {
    left = local_TLE129;
      }
    zval *right;
    if (local_r == NULL)
      {
    right = EG (uninitialized_zval_ptr);
      }
    else
      {
    right = local_r;
      }
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    concat_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// $TLE132 = ($TLE130 . '
// ');
  {
    if (local_TLE132 == NULL)
      {
    local_TLE132 = EG (uninitialized_zval_ptr);
    local_TLE132->refcount++;
      }
    zval **p_lhs = &local_TLE132;
    zval *left;
    if (local_TLE130 == NULL)
      {
    left = EG (uninitialized_zval_ptr);
      }
    else
      {
    left = local_TLE130;
      }
    zval *right = phc_const_pool_string_5;
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    concat_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// print($TLE132);
  {
    zval *p_arg;
    if (local_TLE132 == NULL)
      {
    p_arg = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_arg = local_TLE132;
      }
    phc_builtin_print (p_arg, NULL,
               "test/subjects/benchmarks/zend/bench.php" TSRMLS_CC);
    phc_check_invariants (TSRMLS_C);
  }
// Method exit
end_of_function:__attribute__ ((unused));
  if (local_TLE127 != NULL)
    {
      zval_ptr_dtor (&local_TLE127);
    }
  if (local_TLE129 != NULL)
    {
      zval_ptr_dtor (&local_TLE129);
    }
  if (local_TLE130 != NULL)
    {
      zval_ptr_dtor (&local_TLE130);
    }
  if (local_TLE132 != NULL)
    {
      zval_ptr_dtor (&local_TLE132);
    }
  if (local_n != NULL)
    {
      zval_ptr_dtor (&local_n);
    }
  if (local_r != NULL)
    {
      zval_ptr_dtor (&local_r);
    }
}

// function ary($n)
// {
// \011$i = 0;
// \011L943:
// \011$TLE133 = ($i < $n);
// \011if (TLE133) goto L945 else goto L946;
// \011L945:
// \011$X[$i] = $i;
// \011++$i;
// \011goto L943;
// \011L946:
// \011$i = ($n - 1);
// \011L948:
// \011$TLE136 = ($i >= 0);
// \011if (TLE136) goto L950 else goto L952;
// \011L950:
// \011$TSi137 = $X[$i];
// \011$Y[$i] = $TSi137;
// \011--$i;
// \011goto L948;
// \011L952:
// \011$last = ($n - 1);
// \011$TSi140 = $Y[$last];
// \011$TLE141 = ('' . $TSi140);
// \011$TLE143 = ($TLE141 . '
// ');
// \011print($TLE143);
// }
PHP_FUNCTION (ary)
{
  zval *local_TLE133 = NULL;
  zval *local_TLE136 = NULL;
  zval *local_TLE141 = NULL;
  zval *local_TLE143 = NULL;
  zval *local_TSi137 = NULL;
  zval *local_TSi140 = NULL;
  zval *local_X = NULL;
  zval *local_Y = NULL;
  zval *local_i = NULL;
  zval *local_last = NULL;
  zval *local_n = NULL;
// Add all parameters as local variables
  {
    int num_args = ZEND_NUM_ARGS ();
    zval *params[1];
    zend_get_parameters_array (0, num_args, params);
// param 0
    params[0]->refcount++;
    local_n = params[0];
  }
// Function body
// $i = 0;
  {
    if (local_i == NULL)
      {
    local_i = EG (uninitialized_zval_ptr);
    local_i->refcount++;
      }
    zval **p_lhs = &local_i;
    if (phc_const_pool_int_0 != *p_lhs)
      write_var (p_lhs, &phc_const_pool_int_0, NULL TSRMLS_CC);
    phc_check_invariants (TSRMLS_C);
  }
// L943:
L943:;
// $TLE133 = ($i < $n);
  {
    if (local_TLE133 == NULL)
      {
    local_TLE133 = EG (uninitialized_zval_ptr);
    local_TLE133->refcount++;
      }
    zval **p_lhs = &local_TLE133;
    zval *left;
    if (local_i == NULL)
      {
    left = EG (uninitialized_zval_ptr);
      }
    else
      {
    left = local_i;
      }
    zval *right;
    if (local_n == NULL)
      {
    right = EG (uninitialized_zval_ptr);
      }
    else
      {
    right = local_n;
      }
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    is_smaller_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// if (TLE133) goto L945 else goto L946;
  {
    zval *p_cond;
    if (local_TLE133 == NULL)
      {
    p_cond = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_cond = local_TLE133;
      }
    zend_bool bcond = zend_is_true (p_cond);
    if (bcond)
      goto L945;
    else
      goto L946;
    phc_check_invariants (TSRMLS_C);
  }
// L945:
L945:;
// $X[$i] = $i;
  {
    if (local_X == NULL)
      {
    local_X = EG (uninitialized_zval_ptr);
    local_X->refcount++;
      }
    zval **p_lhs_var = &local_X;
    zval *p_lhs_index;
    if (local_i == NULL)
      {
    p_lhs_index = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_lhs_index = local_i;
      }
    zval **p_lhs = get_ht_entry (p_lhs_var, p_lhs_index TSRMLS_CC);
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    zval *p_rhs_var;
    if (local_i == NULL)
      {
    p_rhs_var = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_rhs_var = local_i;
      }
// Read normal variable
    p_rhs = &p_rhs_var;

    if (*p_lhs != *p_rhs)
      write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// ++$i;
  {
    if (local_i == NULL)
      {
    local_i = EG (uninitialized_zval_ptr);
    local_i->refcount++;
      }
    zval **p_var = &local_i;
    sep_copy_on_write_ex (p_var);
    increment_function (*p_var);
    phc_check_invariants (TSRMLS_C);
  }
// goto L943;
  {
    goto L943;
    phc_check_invariants (TSRMLS_C);
  }
// L946:
L946:;
// $i = ($n - 1);
  {
    if (local_i == NULL)
      {
    local_i = EG (uninitialized_zval_ptr);
    local_i->refcount++;
      }
    zval **p_lhs = &local_i;
    zval *left;
    if (local_n == NULL)
      {
    left = EG (uninitialized_zval_ptr);
      }
    else
      {
    left = local_n;
      }
    zval *right = phc_const_pool_int_8;
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    sub_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// L948:
L948:;
// $TLE136 = ($i >= 0);
  {
    if (local_TLE136 == NULL)
      {
    local_TLE136 = EG (uninitialized_zval_ptr);
    local_TLE136->refcount++;
      }
    zval **p_lhs = &local_TLE136;
    zval *left;
    if (local_i == NULL)
      {
    left = EG (uninitialized_zval_ptr);
      }
    else
      {
    left = local_i;
      }
    zval *right = phc_const_pool_int_0;
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    is_smaller_or_equal_function (*p_lhs, right, left TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// if (TLE136) goto L950 else goto L952;
  {
    zval *p_cond;
    if (local_TLE136 == NULL)
      {
    p_cond = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_cond = local_TLE136;
      }
    zend_bool bcond = zend_is_true (p_cond);
    if (bcond)
      goto L950;
    else
      goto L952;
    phc_check_invariants (TSRMLS_C);
  }
// L950:
L950:;
// $TSi137 = $X[$i];
  {
    if (local_TSi137 == NULL)
      {
    local_TSi137 = EG (uninitialized_zval_ptr);
    local_TSi137->refcount++;
      }
    zval **p_lhs = &local_TSi137;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
// Read array variable
    zval *r_array;
    if (local_X == NULL)
      {
    r_array = EG (uninitialized_zval_ptr);
      }
    else
      {
    r_array = local_X;
      }
    zval *ra_index;
    if (local_i == NULL)
      {
    ra_index = EG (uninitialized_zval_ptr);
      }
    else
      {
    ra_index = local_i;
      }
    read_array (p_rhs, r_array, ra_index, &is_p_rhs_new TSRMLS_CC);
    if (*p_lhs != *p_rhs)
      write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// $Y[$i] = $TSi137;
  {
    if (local_Y == NULL)
      {
    local_Y = EG (uninitialized_zval_ptr);
    local_Y->refcount++;
      }
    zval **p_lhs_var = &local_Y;
    zval *p_lhs_index;
    if (local_i == NULL)
      {
    p_lhs_index = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_lhs_index = local_i;
      }
    zval **p_lhs = get_ht_entry (p_lhs_var, p_lhs_index TSRMLS_CC);
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    zval *p_rhs_var;
    if (local_TSi137 == NULL)
      {
    p_rhs_var = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_rhs_var = local_TSi137;
      }
// Read normal variable
    p_rhs = &p_rhs_var;

    if (*p_lhs != *p_rhs)
      write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// --$i;
  {
    if (local_i == NULL)
      {
    local_i = EG (uninitialized_zval_ptr);
    local_i->refcount++;
      }
    zval **p_var = &local_i;
    sep_copy_on_write_ex (p_var);
    decrement_function (*p_var);
    phc_check_invariants (TSRMLS_C);
  }
// goto L948;
  {
    goto L948;
    phc_check_invariants (TSRMLS_C);
  }
// L952:
L952:;
// $last = ($n - 1);
  {
    if (local_last == NULL)
      {
    local_last = EG (uninitialized_zval_ptr);
    local_last->refcount++;
      }
    zval **p_lhs = &local_last;
    zval *left;
    if (local_n == NULL)
      {
    left = EG (uninitialized_zval_ptr);
      }
    else
      {
    left = local_n;
      }
    zval *right = phc_const_pool_int_8;
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    sub_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// $TSi140 = $Y[$last];
  {
    if (local_TSi140 == NULL)
      {
    local_TSi140 = EG (uninitialized_zval_ptr);
    local_TSi140->refcount++;
      }
    zval **p_lhs = &local_TSi140;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
// Read array variable
    zval *r_array;
    if (local_Y == NULL)
      {
    r_array = EG (uninitialized_zval_ptr);
      }
    else
      {
    r_array = local_Y;
      }
    zval *ra_index;
    if (local_last == NULL)
      {
    ra_index = EG (uninitialized_zval_ptr);
      }
    else
      {
    ra_index = local_last;
      }
    read_array (p_rhs, r_array, ra_index, &is_p_rhs_new TSRMLS_CC);
    if (*p_lhs != *p_rhs)
      write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// $TLE141 = ('' . $TSi140);
  {
    if (local_TLE141 == NULL)
      {
    local_TLE141 = EG (uninitialized_zval_ptr);
    local_TLE141->refcount++;
      }
    zval **p_lhs = &local_TLE141;
    zval *left = phc_const_pool_string_8;
    zval *right;
    if (local_TSi140 == NULL)
      {
    right = EG (uninitialized_zval_ptr);
      }
    else
      {
    right = local_TSi140;
      }
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    concat_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// $TLE143 = ($TLE141 . '
// ');
  {
    if (local_TLE143 == NULL)
      {
    local_TLE143 = EG (uninitialized_zval_ptr);
    local_TLE143->refcount++;
      }
    zval **p_lhs = &local_TLE143;
    zval *left;
    if (local_TLE141 == NULL)
      {
    left = EG (uninitialized_zval_ptr);
      }
    else
      {
    left = local_TLE141;
      }
    zval *right = phc_const_pool_string_5;
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    concat_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// print($TLE143);
  {
    zval *p_arg;
    if (local_TLE143 == NULL)
      {
    p_arg = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_arg = local_TLE143;
      }
    phc_builtin_print (p_arg, NULL,
               "test/subjects/benchmarks/zend/bench.php" TSRMLS_CC);
    phc_check_invariants (TSRMLS_C);
  }
// Method exit
end_of_function:__attribute__ ((unused));
  if (local_TLE133 != NULL)
    {
      zval_ptr_dtor (&local_TLE133);
    }
  if (local_TLE136 != NULL)
    {
      zval_ptr_dtor (&local_TLE136);
    }
  if (local_TLE141 != NULL)
    {
      zval_ptr_dtor (&local_TLE141);
    }
  if (local_TLE143 != NULL)
    {
      zval_ptr_dtor (&local_TLE143);
    }
  if (local_TSi137 != NULL)
    {
      zval_ptr_dtor (&local_TSi137);
    }
  if (local_TSi140 != NULL)
    {
      zval_ptr_dtor (&local_TSi140);
    }
  if (local_X != NULL)
    {
      zval_ptr_dtor (&local_X);
    }
  if (local_Y != NULL)
    {
      zval_ptr_dtor (&local_Y);
    }
  if (local_i != NULL)
    {
      zval_ptr_dtor (&local_i);
    }
  if (local_last != NULL)
    {
      zval_ptr_dtor (&local_last);
    }
  if (local_n != NULL)
    {
      zval_ptr_dtor (&local_n);
    }
}

// function ary2($n)
// {
// \011$i = 0;
// \011L960:
// \011$TLE144 = ($i < $n);
// \011if (TLE144) goto L962 else goto L982;
// \011L962:
// \011$X[$i] = $i;
// \011++$i;
// \011$X[$i] = $i;
// \011++$i;
// \011$X[$i] = $i;
// \011++$i;
// \011$X[$i] = $i;
// \011++$i;
// \011$X[$i] = $i;
// \011++$i;
// \011$X[$i] = $i;
// \011++$i;
// \011$X[$i] = $i;
// \011++$i;
// \011$X[$i] = $i;
// \011++$i;
// \011$X[$i] = $i;
// \011++$i;
// \011$X[$i] = $i;
// \011++$i;
// \011goto L960;
// \011L982:
// \011$i = ($n - 1);
// \011L983:
// \011$TLE147 = ($i >= 0);
// \011if (TLE147) goto L985 else goto L1015;
// \011L985:
// \011$TSi148 = $X[$i];
// \011$Y[$i] = $TSi148;
// \011--$i;
// \011$TSi149 = $X[$i];
// \011$Y[$i] = $TSi149;
// \011--$i;
// \011$TSi150 = $X[$i];
// \011$Y[$i] = $TSi150;
// \011--$i;
// \011$TSi151 = $X[$i];
// \011$Y[$i] = $TSi151;
// \011--$i;
// \011$TSi152 = $X[$i];
// \011$Y[$i] = $TSi152;
// \011--$i;
// \011$TSi153 = $X[$i];
// \011$Y[$i] = $TSi153;
// \011--$i;
// \011$TSi154 = $X[$i];
// \011$Y[$i] = $TSi154;
// \011--$i;
// \011$TSi155 = $X[$i];
// \011$Y[$i] = $TSi155;
// \011--$i;
// \011$TSi156 = $X[$i];
// \011$Y[$i] = $TSi156;
// \011--$i;
// \011$TSi157 = $X[$i];
// \011$Y[$i] = $TSi157;
// \011--$i;
// \011goto L983;
// \011L1015:
// \011$last = ($n - 1);
// \011$TSi160 = $Y[$last];
// \011$TLE161 = ('' . $TSi160);
// \011$TLE163 = ($TLE161 . '
// ');
// \011print($TLE163);
// }
PHP_FUNCTION (ary2)
{
  zval *local_TLE144 = NULL;
  zval *local_TLE147 = NULL;
  zval *local_TLE161 = NULL;
  zval *local_TLE163 = NULL;
  zval *local_TSi148 = NULL;
  zval *local_TSi149 = NULL;
  zval *local_TSi150 = NULL;
  zval *local_TSi151 = NULL;
  zval *local_TSi152 = NULL;
  zval *local_TSi153 = NULL;
  zval *local_TSi154 = NULL;
  zval *local_TSi155 = NULL;
  zval *local_TSi156 = NULL;
  zval *local_TSi157 = NULL;
  zval *local_TSi160 = NULL;
  zval *local_X = NULL;
  zval *local_Y = NULL;
  zval *local_i = NULL;
  zval *local_last = NULL;
  zval *local_n = NULL;
// Add all parameters as local variables
  {
    int num_args = ZEND_NUM_ARGS ();
    zval *params[1];
    zend_get_parameters_array (0, num_args, params);
// param 0
    params[0]->refcount++;
    local_n = params[0];
  }
// Function body
// $i = 0;
  {
    if (local_i == NULL)
      {
    local_i = EG (uninitialized_zval_ptr);
    local_i->refcount++;
      }
    zval **p_lhs = &local_i;
    if (phc_const_pool_int_0 != *p_lhs)
      write_var (p_lhs, &phc_const_pool_int_0, NULL TSRMLS_CC);
    phc_check_invariants (TSRMLS_C);
  }
// L960:
L960:;
// $TLE144 = ($i < $n);
  {
    if (local_TLE144 == NULL)
      {
    local_TLE144 = EG (uninitialized_zval_ptr);
    local_TLE144->refcount++;
      }
    zval **p_lhs = &local_TLE144;
    zval *left;
    if (local_i == NULL)
      {
    left = EG (uninitialized_zval_ptr);
      }
    else
      {
    left = local_i;
      }
    zval *right;
    if (local_n == NULL)
      {
    right = EG (uninitialized_zval_ptr);
      }
    else
      {
    right = local_n;
      }
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    is_smaller_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// if (TLE144) goto L962 else goto L982;
  {
    zval *p_cond;
    if (local_TLE144 == NULL)
      {
    p_cond = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_cond = local_TLE144;
      }
    zend_bool bcond = zend_is_true (p_cond);
    if (bcond)
      goto L962;
    else
      goto L982;
    phc_check_invariants (TSRMLS_C);
  }
// L962:
L962:;
// $X[$i] = $i;
  {
    if (local_X == NULL)
      {
    local_X = EG (uninitialized_zval_ptr);
    local_X->refcount++;
      }
    zval **p_lhs_var = &local_X;
    zval *p_lhs_index;
    if (local_i == NULL)
      {
    p_lhs_index = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_lhs_index = local_i;
      }
    zval **p_lhs = get_ht_entry (p_lhs_var, p_lhs_index TSRMLS_CC);
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    zval *p_rhs_var;
    if (local_i == NULL)
      {
    p_rhs_var = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_rhs_var = local_i;
      }
// Read normal variable
    p_rhs = &p_rhs_var;

    if (*p_lhs != *p_rhs)
      write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// ++$i;
  {
    if (local_i == NULL)
      {
    local_i = EG (uninitialized_zval_ptr);
    local_i->refcount++;
      }
    zval **p_var = &local_i;
    sep_copy_on_write_ex (p_var);
    increment_function (*p_var);
    phc_check_invariants (TSRMLS_C);
  }
// $X[$i] = $i;
  {
    if (local_X == NULL)
      {
    local_X = EG (uninitialized_zval_ptr);
    local_X->refcount++;
      }
    zval **p_lhs_var = &local_X;
    zval *p_lhs_index;
    if (local_i == NULL)
      {
    p_lhs_index = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_lhs_index = local_i;
      }
    zval **p_lhs = get_ht_entry (p_lhs_var, p_lhs_index TSRMLS_CC);
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    zval *p_rhs_var;
    if (local_i == NULL)
      {
    p_rhs_var = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_rhs_var = local_i;
      }
// Read normal variable
    p_rhs = &p_rhs_var;

    if (*p_lhs != *p_rhs)
      write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// ++$i;
  {
    if (local_i == NULL)
      {
    local_i = EG (uninitialized_zval_ptr);
    local_i->refcount++;
      }
    zval **p_var = &local_i;
    sep_copy_on_write_ex (p_var);
    increment_function (*p_var);
    phc_check_invariants (TSRMLS_C);
  }
// $X[$i] = $i;
  {
    if (local_X == NULL)
      {
    local_X = EG (uninitialized_zval_ptr);
    local_X->refcount++;
      }
    zval **p_lhs_var = &local_X;
    zval *p_lhs_index;
    if (local_i == NULL)
      {
    p_lhs_index = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_lhs_index = local_i;
      }
    zval **p_lhs = get_ht_entry (p_lhs_var, p_lhs_index TSRMLS_CC);
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    zval *p_rhs_var;
    if (local_i == NULL)
      {
    p_rhs_var = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_rhs_var = local_i;
      }
// Read normal variable
    p_rhs = &p_rhs_var;

    if (*p_lhs != *p_rhs)
      write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// ++$i;
  {
    if (local_i == NULL)
      {
    local_i = EG (uninitialized_zval_ptr);
    local_i->refcount++;
      }
    zval **p_var = &local_i;
    sep_copy_on_write_ex (p_var);
    increment_function (*p_var);
    phc_check_invariants (TSRMLS_C);
  }
// $X[$i] = $i;
  {
    if (local_X == NULL)
      {
    local_X = EG (uninitialized_zval_ptr);
    local_X->refcount++;
      }
    zval **p_lhs_var = &local_X;
    zval *p_lhs_index;
    if (local_i == NULL)
      {
    p_lhs_index = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_lhs_index = local_i;
      }
    zval **p_lhs = get_ht_entry (p_lhs_var, p_lhs_index TSRMLS_CC);
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    zval *p_rhs_var;
    if (local_i == NULL)
      {
    p_rhs_var = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_rhs_var = local_i;
      }
// Read normal variable
    p_rhs = &p_rhs_var;

    if (*p_lhs != *p_rhs)
      write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// ++$i;
  {
    if (local_i == NULL)
      {
    local_i = EG (uninitialized_zval_ptr);
    local_i->refcount++;
      }
    zval **p_var = &local_i;
    sep_copy_on_write_ex (p_var);
    increment_function (*p_var);
    phc_check_invariants (TSRMLS_C);
  }
// $X[$i] = $i;
  {
    if (local_X == NULL)
      {
    local_X = EG (uninitialized_zval_ptr);
    local_X->refcount++;
      }
    zval **p_lhs_var = &local_X;
    zval *p_lhs_index;
    if (local_i == NULL)
      {
    p_lhs_index = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_lhs_index = local_i;
      }
    zval **p_lhs = get_ht_entry (p_lhs_var, p_lhs_index TSRMLS_CC);
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    zval *p_rhs_var;
    if (local_i == NULL)
      {
    p_rhs_var = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_rhs_var = local_i;
      }
// Read normal variable
    p_rhs = &p_rhs_var;

    if (*p_lhs != *p_rhs)
      write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// ++$i;
  {
    if (local_i == NULL)
      {
    local_i = EG (uninitialized_zval_ptr);
    local_i->refcount++;
      }
    zval **p_var = &local_i;
    sep_copy_on_write_ex (p_var);
    increment_function (*p_var);
    phc_check_invariants (TSRMLS_C);
  }
// $X[$i] = $i;
  {
    if (local_X == NULL)
      {
    local_X = EG (uninitialized_zval_ptr);
    local_X->refcount++;
      }
    zval **p_lhs_var = &local_X;
    zval *p_lhs_index;
    if (local_i == NULL)
      {
    p_lhs_index = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_lhs_index = local_i;
      }
    zval **p_lhs = get_ht_entry (p_lhs_var, p_lhs_index TSRMLS_CC);
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    zval *p_rhs_var;
    if (local_i == NULL)
      {
    p_rhs_var = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_rhs_var = local_i;
      }
// Read normal variable
    p_rhs = &p_rhs_var;

    if (*p_lhs != *p_rhs)
      write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// ++$i;
  {
    if (local_i == NULL)
      {
    local_i = EG (uninitialized_zval_ptr);
    local_i->refcount++;
      }
    zval **p_var = &local_i;
    sep_copy_on_write_ex (p_var);
    increment_function (*p_var);
    phc_check_invariants (TSRMLS_C);
  }
// $X[$i] = $i;
  {
    if (local_X == NULL)
      {
    local_X = EG (uninitialized_zval_ptr);
    local_X->refcount++;
      }
    zval **p_lhs_var = &local_X;
    zval *p_lhs_index;
    if (local_i == NULL)
      {
    p_lhs_index = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_lhs_index = local_i;
      }
    zval **p_lhs = get_ht_entry (p_lhs_var, p_lhs_index TSRMLS_CC);
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    zval *p_rhs_var;
    if (local_i == NULL)
      {
    p_rhs_var = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_rhs_var = local_i;
      }
// Read normal variable
    p_rhs = &p_rhs_var;

    if (*p_lhs != *p_rhs)
      write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// ++$i;
  {
    if (local_i == NULL)
      {
    local_i = EG (uninitialized_zval_ptr);
    local_i->refcount++;
      }
    zval **p_var = &local_i;
    sep_copy_on_write_ex (p_var);
    increment_function (*p_var);
    phc_check_invariants (TSRMLS_C);
  }
// $X[$i] = $i;
  {
    if (local_X == NULL)
      {
    local_X = EG (uninitialized_zval_ptr);
    local_X->refcount++;
      }
    zval **p_lhs_var = &local_X;
    zval *p_lhs_index;
    if (local_i == NULL)
      {
    p_lhs_index = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_lhs_index = local_i;
      }
    zval **p_lhs = get_ht_entry (p_lhs_var, p_lhs_index TSRMLS_CC);
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    zval *p_rhs_var;
    if (local_i == NULL)
      {
    p_rhs_var = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_rhs_var = local_i;
      }
// Read normal variable
    p_rhs = &p_rhs_var;

    if (*p_lhs != *p_rhs)
      write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// ++$i;
  {
    if (local_i == NULL)
      {
    local_i = EG (uninitialized_zval_ptr);
    local_i->refcount++;
      }
    zval **p_var = &local_i;
    sep_copy_on_write_ex (p_var);
    increment_function (*p_var);
    phc_check_invariants (TSRMLS_C);
  }
// $X[$i] = $i;
  {
    if (local_X == NULL)
      {
    local_X = EG (uninitialized_zval_ptr);
    local_X->refcount++;
      }
    zval **p_lhs_var = &local_X;
    zval *p_lhs_index;
    if (local_i == NULL)
      {
    p_lhs_index = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_lhs_index = local_i;
      }
    zval **p_lhs = get_ht_entry (p_lhs_var, p_lhs_index TSRMLS_CC);
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    zval *p_rhs_var;
    if (local_i == NULL)
      {
    p_rhs_var = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_rhs_var = local_i;
      }
// Read normal variable
    p_rhs = &p_rhs_var;

    if (*p_lhs != *p_rhs)
      write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// ++$i;
  {
    if (local_i == NULL)
      {
    local_i = EG (uninitialized_zval_ptr);
    local_i->refcount++;
      }
    zval **p_var = &local_i;
    sep_copy_on_write_ex (p_var);
    increment_function (*p_var);
    phc_check_invariants (TSRMLS_C);
  }
// $X[$i] = $i;
  {
    if (local_X == NULL)
      {
    local_X = EG (uninitialized_zval_ptr);
    local_X->refcount++;
      }
    zval **p_lhs_var = &local_X;
    zval *p_lhs_index;
    if (local_i == NULL)
      {
    p_lhs_index = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_lhs_index = local_i;
      }
    zval **p_lhs = get_ht_entry (p_lhs_var, p_lhs_index TSRMLS_CC);
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    zval *p_rhs_var;
    if (local_i == NULL)
      {
    p_rhs_var = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_rhs_var = local_i;
      }
// Read normal variable
    p_rhs = &p_rhs_var;

    if (*p_lhs != *p_rhs)
      write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// ++$i;
  {
    if (local_i == NULL)
      {
    local_i = EG (uninitialized_zval_ptr);
    local_i->refcount++;
      }
    zval **p_var = &local_i;
    sep_copy_on_write_ex (p_var);
    increment_function (*p_var);
    phc_check_invariants (TSRMLS_C);
  }
// goto L960;
  {
    goto L960;
    phc_check_invariants (TSRMLS_C);
  }
// L982:
L982:;
// $i = ($n - 1);
  {
    if (local_i == NULL)
      {
    local_i = EG (uninitialized_zval_ptr);
    local_i->refcount++;
      }
    zval **p_lhs = &local_i;
    zval *left;
    if (local_n == NULL)
      {
    left = EG (uninitialized_zval_ptr);
      }
    else
      {
    left = local_n;
      }
    zval *right = phc_const_pool_int_8;
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    sub_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// L983:
L983:;
// $TLE147 = ($i >= 0);
  {
    if (local_TLE147 == NULL)
      {
    local_TLE147 = EG (uninitialized_zval_ptr);
    local_TLE147->refcount++;
      }
    zval **p_lhs = &local_TLE147;
    zval *left;
    if (local_i == NULL)
      {
    left = EG (uninitialized_zval_ptr);
      }
    else
      {
    left = local_i;
      }
    zval *right = phc_const_pool_int_0;
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    is_smaller_or_equal_function (*p_lhs, right, left TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// if (TLE147) goto L985 else goto L1015;
  {
    zval *p_cond;
    if (local_TLE147 == NULL)
      {
    p_cond = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_cond = local_TLE147;
      }
    zend_bool bcond = zend_is_true (p_cond);
    if (bcond)
      goto L985;
    else
      goto L1015;
    phc_check_invariants (TSRMLS_C);
  }
// L985:
L985:;
// $TSi148 = $X[$i];
  {
    if (local_TSi148 == NULL)
      {
    local_TSi148 = EG (uninitialized_zval_ptr);
    local_TSi148->refcount++;
      }
    zval **p_lhs = &local_TSi148;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
// Read array variable
    zval *r_array;
    if (local_X == NULL)
      {
    r_array = EG (uninitialized_zval_ptr);
      }
    else
      {
    r_array = local_X;
      }
    zval *ra_index;
    if (local_i == NULL)
      {
    ra_index = EG (uninitialized_zval_ptr);
      }
    else
      {
    ra_index = local_i;
      }
    read_array (p_rhs, r_array, ra_index, &is_p_rhs_new TSRMLS_CC);
    if (*p_lhs != *p_rhs)
      write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// $Y[$i] = $TSi148;
  {
    if (local_Y == NULL)
      {
    local_Y = EG (uninitialized_zval_ptr);
    local_Y->refcount++;
      }
    zval **p_lhs_var = &local_Y;
    zval *p_lhs_index;
    if (local_i == NULL)
      {
    p_lhs_index = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_lhs_index = local_i;
      }
    zval **p_lhs = get_ht_entry (p_lhs_var, p_lhs_index TSRMLS_CC);
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    zval *p_rhs_var;
    if (local_TSi148 == NULL)
      {
    p_rhs_var = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_rhs_var = local_TSi148;
      }
// Read normal variable
    p_rhs = &p_rhs_var;

    if (*p_lhs != *p_rhs)
      write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// --$i;
  {
    if (local_i == NULL)
      {
    local_i = EG (uninitialized_zval_ptr);
    local_i->refcount++;
      }
    zval **p_var = &local_i;
    sep_copy_on_write_ex (p_var);
    decrement_function (*p_var);
    phc_check_invariants (TSRMLS_C);
  }
// $TSi149 = $X[$i];
  {
    if (local_TSi149 == NULL)
      {
    local_TSi149 = EG (uninitialized_zval_ptr);
    local_TSi149->refcount++;
      }
    zval **p_lhs = &local_TSi149;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
// Read array variable
    zval *r_array;
    if (local_X == NULL)
      {
    r_array = EG (uninitialized_zval_ptr);
      }
    else
      {
    r_array = local_X;
      }
    zval *ra_index;
    if (local_i == NULL)
      {
    ra_index = EG (uninitialized_zval_ptr);
      }
    else
      {
    ra_index = local_i;
      }
    read_array (p_rhs, r_array, ra_index, &is_p_rhs_new TSRMLS_CC);
    if (*p_lhs != *p_rhs)
      write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// $Y[$i] = $TSi149;
  {
    if (local_Y == NULL)
      {
    local_Y = EG (uninitialized_zval_ptr);
    local_Y->refcount++;
      }
    zval **p_lhs_var = &local_Y;
    zval *p_lhs_index;
    if (local_i == NULL)
      {
    p_lhs_index = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_lhs_index = local_i;
      }
    zval **p_lhs = get_ht_entry (p_lhs_var, p_lhs_index TSRMLS_CC);
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    zval *p_rhs_var;
    if (local_TSi149 == NULL)
      {
    p_rhs_var = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_rhs_var = local_TSi149;
      }
// Read normal variable
    p_rhs = &p_rhs_var;

    if (*p_lhs != *p_rhs)
      write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// --$i;
  {
    if (local_i == NULL)
      {
    local_i = EG (uninitialized_zval_ptr);
    local_i->refcount++;
      }
    zval **p_var = &local_i;
    sep_copy_on_write_ex (p_var);
    decrement_function (*p_var);
    phc_check_invariants (TSRMLS_C);
  }
// $TSi150 = $X[$i];
  {
    if (local_TSi150 == NULL)
      {
    local_TSi150 = EG (uninitialized_zval_ptr);
    local_TSi150->refcount++;
      }
    zval **p_lhs = &local_TSi150;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
// Read array variable
    zval *r_array;
    if (local_X == NULL)
      {
    r_array = EG (uninitialized_zval_ptr);
      }
    else
      {
    r_array = local_X;
      }
    zval *ra_index;
    if (local_i == NULL)
      {
    ra_index = EG (uninitialized_zval_ptr);
      }
    else
      {
    ra_index = local_i;
      }
    read_array (p_rhs, r_array, ra_index, &is_p_rhs_new TSRMLS_CC);
    if (*p_lhs != *p_rhs)
      write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// $Y[$i] = $TSi150;
  {
    if (local_Y == NULL)
      {
    local_Y = EG (uninitialized_zval_ptr);
    local_Y->refcount++;
      }
    zval **p_lhs_var = &local_Y;
    zval *p_lhs_index;
    if (local_i == NULL)
      {
    p_lhs_index = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_lhs_index = local_i;
      }
    zval **p_lhs = get_ht_entry (p_lhs_var, p_lhs_index TSRMLS_CC);
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    zval *p_rhs_var;
    if (local_TSi150 == NULL)
      {
    p_rhs_var = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_rhs_var = local_TSi150;
      }
// Read normal variable
    p_rhs = &p_rhs_var;

    if (*p_lhs != *p_rhs)
      write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// --$i;
  {
    if (local_i == NULL)
      {
    local_i = EG (uninitialized_zval_ptr);
    local_i->refcount++;
      }
    zval **p_var = &local_i;
    sep_copy_on_write_ex (p_var);
    decrement_function (*p_var);
    phc_check_invariants (TSRMLS_C);
  }
// $TSi151 = $X[$i];
  {
    if (local_TSi151 == NULL)
      {
    local_TSi151 = EG (uninitialized_zval_ptr);
    local_TSi151->refcount++;
      }
    zval **p_lhs = &local_TSi151;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
// Read array variable
    zval *r_array;
    if (local_X == NULL)
      {
    r_array = EG (uninitialized_zval_ptr);
      }
    else
      {
    r_array = local_X;
      }
    zval *ra_index;
    if (local_i == NULL)
      {
    ra_index = EG (uninitialized_zval_ptr);
      }
    else
      {
    ra_index = local_i;
      }
    read_array (p_rhs, r_array, ra_index, &is_p_rhs_new TSRMLS_CC);
    if (*p_lhs != *p_rhs)
      write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// $Y[$i] = $TSi151;
  {
    if (local_Y == NULL)
      {
    local_Y = EG (uninitialized_zval_ptr);
    local_Y->refcount++;
      }
    zval **p_lhs_var = &local_Y;
    zval *p_lhs_index;
    if (local_i == NULL)
      {
    p_lhs_index = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_lhs_index = local_i;
      }
    zval **p_lhs = get_ht_entry (p_lhs_var, p_lhs_index TSRMLS_CC);
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    zval *p_rhs_var;
    if (local_TSi151 == NULL)
      {
    p_rhs_var = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_rhs_var = local_TSi151;
      }
// Read normal variable
    p_rhs = &p_rhs_var;

    if (*p_lhs != *p_rhs)
      write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// --$i;
  {
    if (local_i == NULL)
      {
    local_i = EG (uninitialized_zval_ptr);
    local_i->refcount++;
      }
    zval **p_var = &local_i;
    sep_copy_on_write_ex (p_var);
    decrement_function (*p_var);
    phc_check_invariants (TSRMLS_C);
  }
// $TSi152 = $X[$i];
  {
    if (local_TSi152 == NULL)
      {
    local_TSi152 = EG (uninitialized_zval_ptr);
    local_TSi152->refcount++;
      }
    zval **p_lhs = &local_TSi152;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
// Read array variable
    zval *r_array;
    if (local_X == NULL)
      {
    r_array = EG (uninitialized_zval_ptr);
      }
    else
      {
    r_array = local_X;
      }
    zval *ra_index;
    if (local_i == NULL)
      {
    ra_index = EG (uninitialized_zval_ptr);
      }
    else
      {
    ra_index = local_i;
      }
    read_array (p_rhs, r_array, ra_index, &is_p_rhs_new TSRMLS_CC);
    if (*p_lhs != *p_rhs)
      write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// $Y[$i] = $TSi152;
  {
    if (local_Y == NULL)
      {
    local_Y = EG (uninitialized_zval_ptr);
    local_Y->refcount++;
      }
    zval **p_lhs_var = &local_Y;
    zval *p_lhs_index;
    if (local_i == NULL)
      {
    p_lhs_index = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_lhs_index = local_i;
      }
    zval **p_lhs = get_ht_entry (p_lhs_var, p_lhs_index TSRMLS_CC);
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    zval *p_rhs_var;
    if (local_TSi152 == NULL)
      {
    p_rhs_var = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_rhs_var = local_TSi152;
      }
// Read normal variable
    p_rhs = &p_rhs_var;

    if (*p_lhs != *p_rhs)
      write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// --$i;
  {
    if (local_i == NULL)
      {
    local_i = EG (uninitialized_zval_ptr);
    local_i->refcount++;
      }
    zval **p_var = &local_i;
    sep_copy_on_write_ex (p_var);
    decrement_function (*p_var);
    phc_check_invariants (TSRMLS_C);
  }
// $TSi153 = $X[$i];
  {
    if (local_TSi153 == NULL)
      {
    local_TSi153 = EG (uninitialized_zval_ptr);
    local_TSi153->refcount++;
      }
    zval **p_lhs = &local_TSi153;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
// Read array variable
    zval *r_array;
    if (local_X == NULL)
      {
    r_array = EG (uninitialized_zval_ptr);
      }
    else
      {
    r_array = local_X;
      }
    zval *ra_index;
    if (local_i == NULL)
      {
    ra_index = EG (uninitialized_zval_ptr);
      }
    else
      {
    ra_index = local_i;
      }
    read_array (p_rhs, r_array, ra_index, &is_p_rhs_new TSRMLS_CC);
    if (*p_lhs != *p_rhs)
      write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// $Y[$i] = $TSi153;
  {
    if (local_Y == NULL)
      {
    local_Y = EG (uninitialized_zval_ptr);
    local_Y->refcount++;
      }
    zval **p_lhs_var = &local_Y;
    zval *p_lhs_index;
    if (local_i == NULL)
      {
    p_lhs_index = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_lhs_index = local_i;
      }
    zval **p_lhs = get_ht_entry (p_lhs_var, p_lhs_index TSRMLS_CC);
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    zval *p_rhs_var;
    if (local_TSi153 == NULL)
      {
    p_rhs_var = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_rhs_var = local_TSi153;
      }
// Read normal variable
    p_rhs = &p_rhs_var;

    if (*p_lhs != *p_rhs)
      write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// --$i;
  {
    if (local_i == NULL)
      {
    local_i = EG (uninitialized_zval_ptr);
    local_i->refcount++;
      }
    zval **p_var = &local_i;
    sep_copy_on_write_ex (p_var);
    decrement_function (*p_var);
    phc_check_invariants (TSRMLS_C);
  }
// $TSi154 = $X[$i];
  {
    if (local_TSi154 == NULL)
      {
    local_TSi154 = EG (uninitialized_zval_ptr);
    local_TSi154->refcount++;
      }
    zval **p_lhs = &local_TSi154;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
// Read array variable
    zval *r_array;
    if (local_X == NULL)
      {
    r_array = EG (uninitialized_zval_ptr);
      }
    else
      {
    r_array = local_X;
      }
    zval *ra_index;
    if (local_i == NULL)
      {
    ra_index = EG (uninitialized_zval_ptr);
      }
    else
      {
    ra_index = local_i;
      }
    read_array (p_rhs, r_array, ra_index, &is_p_rhs_new TSRMLS_CC);
    if (*p_lhs != *p_rhs)
      write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// $Y[$i] = $TSi154;
  {
    if (local_Y == NULL)
      {
    local_Y = EG (uninitialized_zval_ptr);
    local_Y->refcount++;
      }
    zval **p_lhs_var = &local_Y;
    zval *p_lhs_index;
    if (local_i == NULL)
      {
    p_lhs_index = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_lhs_index = local_i;
      }
    zval **p_lhs = get_ht_entry (p_lhs_var, p_lhs_index TSRMLS_CC);
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    zval *p_rhs_var;
    if (local_TSi154 == NULL)
      {
    p_rhs_var = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_rhs_var = local_TSi154;
      }
// Read normal variable
    p_rhs = &p_rhs_var;

    if (*p_lhs != *p_rhs)
      write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// --$i;
  {
    if (local_i == NULL)
      {
    local_i = EG (uninitialized_zval_ptr);
    local_i->refcount++;
      }
    zval **p_var = &local_i;
    sep_copy_on_write_ex (p_var);
    decrement_function (*p_var);
    phc_check_invariants (TSRMLS_C);
  }
// $TSi155 = $X[$i];
  {
    if (local_TSi155 == NULL)
      {
    local_TSi155 = EG (uninitialized_zval_ptr);
    local_TSi155->refcount++;
      }
    zval **p_lhs = &local_TSi155;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
// Read array variable
    zval *r_array;
    if (local_X == NULL)
      {
    r_array = EG (uninitialized_zval_ptr);
      }
    else
      {
    r_array = local_X;
      }
    zval *ra_index;
    if (local_i == NULL)
      {
    ra_index = EG (uninitialized_zval_ptr);
      }
    else
      {
    ra_index = local_i;
      }
    read_array (p_rhs, r_array, ra_index, &is_p_rhs_new TSRMLS_CC);
    if (*p_lhs != *p_rhs)
      write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// $Y[$i] = $TSi155;
  {
    if (local_Y == NULL)
      {
    local_Y = EG (uninitialized_zval_ptr);
    local_Y->refcount++;
      }
    zval **p_lhs_var = &local_Y;
    zval *p_lhs_index;
    if (local_i == NULL)
      {
    p_lhs_index = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_lhs_index = local_i;
      }
    zval **p_lhs = get_ht_entry (p_lhs_var, p_lhs_index TSRMLS_CC);
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    zval *p_rhs_var;
    if (local_TSi155 == NULL)
      {
    p_rhs_var = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_rhs_var = local_TSi155;
      }
// Read normal variable
    p_rhs = &p_rhs_var;

    if (*p_lhs != *p_rhs)
      write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// --$i;
  {
    if (local_i == NULL)
      {
    local_i = EG (uninitialized_zval_ptr);
    local_i->refcount++;
      }
    zval **p_var = &local_i;
    sep_copy_on_write_ex (p_var);
    decrement_function (*p_var);
    phc_check_invariants (TSRMLS_C);
  }
// $TSi156 = $X[$i];
  {
    if (local_TSi156 == NULL)
      {
    local_TSi156 = EG (uninitialized_zval_ptr);
    local_TSi156->refcount++;
      }
    zval **p_lhs = &local_TSi156;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
// Read array variable
    zval *r_array;
    if (local_X == NULL)
      {
    r_array = EG (uninitialized_zval_ptr);
      }
    else
      {
    r_array = local_X;
      }
    zval *ra_index;
    if (local_i == NULL)
      {
    ra_index = EG (uninitialized_zval_ptr);
      }
    else
      {
    ra_index = local_i;
      }
    read_array (p_rhs, r_array, ra_index, &is_p_rhs_new TSRMLS_CC);
    if (*p_lhs != *p_rhs)
      write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// $Y[$i] = $TSi156;
  {
    if (local_Y == NULL)
      {
    local_Y = EG (uninitialized_zval_ptr);
    local_Y->refcount++;
      }
    zval **p_lhs_var = &local_Y;
    zval *p_lhs_index;
    if (local_i == NULL)
      {
    p_lhs_index = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_lhs_index = local_i;
      }
    zval **p_lhs = get_ht_entry (p_lhs_var, p_lhs_index TSRMLS_CC);
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    zval *p_rhs_var;
    if (local_TSi156 == NULL)
      {
    p_rhs_var = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_rhs_var = local_TSi156;
      }
// Read normal variable
    p_rhs = &p_rhs_var;

    if (*p_lhs != *p_rhs)
      write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// --$i;
  {
    if (local_i == NULL)
      {
    local_i = EG (uninitialized_zval_ptr);
    local_i->refcount++;
      }
    zval **p_var = &local_i;
    sep_copy_on_write_ex (p_var);
    decrement_function (*p_var);
    phc_check_invariants (TSRMLS_C);
  }
// $TSi157 = $X[$i];
  {
    if (local_TSi157 == NULL)
      {
    local_TSi157 = EG (uninitialized_zval_ptr);
    local_TSi157->refcount++;
      }
    zval **p_lhs = &local_TSi157;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
// Read array variable
    zval *r_array;
    if (local_X == NULL)
      {
    r_array = EG (uninitialized_zval_ptr);
      }
    else
      {
    r_array = local_X;
      }
    zval *ra_index;
    if (local_i == NULL)
      {
    ra_index = EG (uninitialized_zval_ptr);
      }
    else
      {
    ra_index = local_i;
      }
    read_array (p_rhs, r_array, ra_index, &is_p_rhs_new TSRMLS_CC);
    if (*p_lhs != *p_rhs)
      write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// $Y[$i] = $TSi157;
  {
    if (local_Y == NULL)
      {
    local_Y = EG (uninitialized_zval_ptr);
    local_Y->refcount++;
      }
    zval **p_lhs_var = &local_Y;
    zval *p_lhs_index;
    if (local_i == NULL)
      {
    p_lhs_index = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_lhs_index = local_i;
      }
    zval **p_lhs = get_ht_entry (p_lhs_var, p_lhs_index TSRMLS_CC);
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    zval *p_rhs_var;
    if (local_TSi157 == NULL)
      {
    p_rhs_var = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_rhs_var = local_TSi157;
      }
// Read normal variable
    p_rhs = &p_rhs_var;

    if (*p_lhs != *p_rhs)
      write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// --$i;
  {
    if (local_i == NULL)
      {
    local_i = EG (uninitialized_zval_ptr);
    local_i->refcount++;
      }
    zval **p_var = &local_i;
    sep_copy_on_write_ex (p_var);
    decrement_function (*p_var);
    phc_check_invariants (TSRMLS_C);
  }
// goto L983;
  {
    goto L983;
    phc_check_invariants (TSRMLS_C);
  }
// L1015:
L1015:;
// $last = ($n - 1);
  {
    if (local_last == NULL)
      {
    local_last = EG (uninitialized_zval_ptr);
    local_last->refcount++;
      }
    zval **p_lhs = &local_last;
    zval *left;
    if (local_n == NULL)
      {
    left = EG (uninitialized_zval_ptr);
      }
    else
      {
    left = local_n;
      }
    zval *right = phc_const_pool_int_8;
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    sub_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// $TSi160 = $Y[$last];
  {
    if (local_TSi160 == NULL)
      {
    local_TSi160 = EG (uninitialized_zval_ptr);
    local_TSi160->refcount++;
      }
    zval **p_lhs = &local_TSi160;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
// Read array variable
    zval *r_array;
    if (local_Y == NULL)
      {
    r_array = EG (uninitialized_zval_ptr);
      }
    else
      {
    r_array = local_Y;
      }
    zval *ra_index;
    if (local_last == NULL)
      {
    ra_index = EG (uninitialized_zval_ptr);
      }
    else
      {
    ra_index = local_last;
      }
    read_array (p_rhs, r_array, ra_index, &is_p_rhs_new TSRMLS_CC);
    if (*p_lhs != *p_rhs)
      write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// $TLE161 = ('' . $TSi160);
  {
    if (local_TLE161 == NULL)
      {
    local_TLE161 = EG (uninitialized_zval_ptr);
    local_TLE161->refcount++;
      }
    zval **p_lhs = &local_TLE161;
    zval *left = phc_const_pool_string_8;
    zval *right;
    if (local_TSi160 == NULL)
      {
    right = EG (uninitialized_zval_ptr);
      }
    else
      {
    right = local_TSi160;
      }
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    concat_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// $TLE163 = ($TLE161 . '
// ');
  {
    if (local_TLE163 == NULL)
      {
    local_TLE163 = EG (uninitialized_zval_ptr);
    local_TLE163->refcount++;
      }
    zval **p_lhs = &local_TLE163;
    zval *left;
    if (local_TLE161 == NULL)
      {
    left = EG (uninitialized_zval_ptr);
      }
    else
      {
    left = local_TLE161;
      }
    zval *right = phc_const_pool_string_5;
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    concat_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// print($TLE163);
  {
    zval *p_arg;
    if (local_TLE163 == NULL)
      {
    p_arg = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_arg = local_TLE163;
      }
    phc_builtin_print (p_arg, NULL,
               "test/subjects/benchmarks/zend/bench.php" TSRMLS_CC);
    phc_check_invariants (TSRMLS_C);
  }
// Method exit
end_of_function:__attribute__ ((unused));
  if (local_TLE144 != NULL)
    {
      zval_ptr_dtor (&local_TLE144);
    }
  if (local_TLE147 != NULL)
    {
      zval_ptr_dtor (&local_TLE147);
    }
  if (local_TLE161 != NULL)
    {
      zval_ptr_dtor (&local_TLE161);
    }
  if (local_TLE163 != NULL)
    {
      zval_ptr_dtor (&local_TLE163);
    }
  if (local_TSi148 != NULL)
    {
      zval_ptr_dtor (&local_TSi148);
    }
  if (local_TSi149 != NULL)
    {
      zval_ptr_dtor (&local_TSi149);
    }
  if (local_TSi150 != NULL)
    {
      zval_ptr_dtor (&local_TSi150);
    }
  if (local_TSi151 != NULL)
    {
      zval_ptr_dtor (&local_TSi151);
    }
  if (local_TSi152 != NULL)
    {
      zval_ptr_dtor (&local_TSi152);
    }
  if (local_TSi153 != NULL)
    {
      zval_ptr_dtor (&local_TSi153);
    }
  if (local_TSi154 != NULL)
    {
      zval_ptr_dtor (&local_TSi154);
    }
  if (local_TSi155 != NULL)
    {
      zval_ptr_dtor (&local_TSi155);
    }
  if (local_TSi156 != NULL)
    {
      zval_ptr_dtor (&local_TSi156);
    }
  if (local_TSi157 != NULL)
    {
      zval_ptr_dtor (&local_TSi157);
    }
  if (local_TSi160 != NULL)
    {
      zval_ptr_dtor (&local_TSi160);
    }
  if (local_X != NULL)
    {
      zval_ptr_dtor (&local_X);
    }
  if (local_Y != NULL)
    {
      zval_ptr_dtor (&local_Y);
    }
  if (local_i != NULL)
    {
      zval_ptr_dtor (&local_i);
    }
  if (local_last != NULL)
    {
      zval_ptr_dtor (&local_last);
    }
  if (local_n != NULL)
    {
      zval_ptr_dtor (&local_n);
    }
}

// function ary3($n)
// {
// \011$i = 0;
// \011L1024:
// \011$TLE164 = ($i < $n);
// \011if (TLE164) goto L1026 else goto L1029;
// \011L1029:
// \011$k = 0;
// \011L1031:
// \011$TLE169 = ($k < 1000);
// \011if (TLE169) goto L1033 else goto L1040;
// \011L1033:
// \011$i = ($n - 1);
// \011L1035:
// \011$TLE172 = ($i >= 0);
// \011if (TLE172) goto L1037 else goto L1030;
// \011L1037:
// \011$TSi173 =& $Y[$i];
// \011$TSi174 = $X[$i];
// \011$TSi173 = ($TSi173 + $TSi174);
// \011--$i;
// \011goto L1035;
// \011L1030:
// \011++$k;
// \011goto L1031;
// \011L1040:
// \011$last = ($n - 1);
// \011$TSi178 = $Y[0];
// \011$TLE179 = ('' . $TSi178);
// \011$TLE181 = ($TLE179 . ' ');
// \011$TSi182 = $Y[$last];
// \011$TLE183 = ($TLE181 . $TSi182);
// \011$TLE185 = ($TLE183 . '
// ');
// \011print($TLE185);
// \011goto L1021;
// \011L1026:
// \011$TLE166 = ($i + 1);
// \011$X[$i] = $TLE166;
// \011$Y[$i] = 0;
// \011++$i;
// \011goto L1024;
// \011L1021:
// }
PHP_FUNCTION (ary3)
{
  zval *local_TLE164 = NULL;
  zval *local_TLE166 = NULL;
  zval *local_TLE169 = NULL;
  zval *local_TLE172 = NULL;
  zval *local_TLE179 = NULL;
  zval *local_TLE181 = NULL;
  zval *local_TLE183 = NULL;
  zval *local_TLE185 = NULL;
  zval *local_TSi173 = NULL;
  zval *local_TSi174 = NULL;
  zval *local_TSi178 = NULL;
  zval *local_TSi182 = NULL;
  zval *local_X = NULL;
  zval *local_Y = NULL;
  zval *local_i = NULL;
  zval *local_k = NULL;
  zval *local_last = NULL;
  zval *local_n = NULL;
// Add all parameters as local variables
  {
    int num_args = ZEND_NUM_ARGS ();
    zval *params[1];
    zend_get_parameters_array (0, num_args, params);
// param 0
    params[0]->refcount++;
    local_n = params[0];
  }
// Function body
// $i = 0;
  {
    if (local_i == NULL)
      {
    local_i = EG (uninitialized_zval_ptr);
    local_i->refcount++;
      }
    zval **p_lhs = &local_i;
    if (phc_const_pool_int_0 != *p_lhs)
      write_var (p_lhs, &phc_const_pool_int_0, NULL TSRMLS_CC);
    phc_check_invariants (TSRMLS_C);
  }
// L1024:
L1024:;
// $TLE164 = ($i < $n);
  {
    if (local_TLE164 == NULL)
      {
    local_TLE164 = EG (uninitialized_zval_ptr);
    local_TLE164->refcount++;
      }
    zval **p_lhs = &local_TLE164;
    zval *left;
    if (local_i == NULL)
      {
    left = EG (uninitialized_zval_ptr);
      }
    else
      {
    left = local_i;
      }
    zval *right;
    if (local_n == NULL)
      {
    right = EG (uninitialized_zval_ptr);
      }
    else
      {
    right = local_n;
      }
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    is_smaller_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// if (TLE164) goto L1026 else goto L1029;
  {
    zval *p_cond;
    if (local_TLE164 == NULL)
      {
    p_cond = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_cond = local_TLE164;
      }
    zend_bool bcond = zend_is_true (p_cond);
    if (bcond)
      goto L1026;
    else
      goto L1029;
    phc_check_invariants (TSRMLS_C);
  }
// L1029:
L1029:;
// $k = 0;
  {
    if (local_k == NULL)
      {
    local_k = EG (uninitialized_zval_ptr);
    local_k->refcount++;
      }
    zval **p_lhs = &local_k;
    if (phc_const_pool_int_0 != *p_lhs)
      write_var (p_lhs, &phc_const_pool_int_0, NULL TSRMLS_CC);
    phc_check_invariants (TSRMLS_C);
  }
// L1031:
L1031:;
// $TLE169 = ($k < 1000);
  {
    if (local_TLE169 == NULL)
      {
    local_TLE169 = EG (uninitialized_zval_ptr);
    local_TLE169->refcount++;
      }
    zval **p_lhs = &local_TLE169;
    zval *left;
    if (local_k == NULL)
      {
    left = EG (uninitialized_zval_ptr);
      }
    else
      {
    left = local_k;
      }
    zval *right = phc_const_pool_int_6;
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    is_smaller_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// if (TLE169) goto L1033 else goto L1040;
  {
    zval *p_cond;
    if (local_TLE169 == NULL)
      {
    p_cond = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_cond = local_TLE169;
      }
    zend_bool bcond = zend_is_true (p_cond);
    if (bcond)
      goto L1033;
    else
      goto L1040;
    phc_check_invariants (TSRMLS_C);
  }
// L1033:
L1033:;
// $i = ($n - 1);
  {
    if (local_i == NULL)
      {
    local_i = EG (uninitialized_zval_ptr);
    local_i->refcount++;
      }
    zval **p_lhs = &local_i;
    zval *left;
    if (local_n == NULL)
      {
    left = EG (uninitialized_zval_ptr);
      }
    else
      {
    left = local_n;
      }
    zval *right = phc_const_pool_int_8;
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    sub_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// L1035:
L1035:;
// $TLE172 = ($i >= 0);
  {
    if (local_TLE172 == NULL)
      {
    local_TLE172 = EG (uninitialized_zval_ptr);
    local_TLE172->refcount++;
      }
    zval **p_lhs = &local_TLE172;
    zval *left;
    if (local_i == NULL)
      {
    left = EG (uninitialized_zval_ptr);
      }
    else
      {
    left = local_i;
      }
    zval *right = phc_const_pool_int_0;
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    is_smaller_or_equal_function (*p_lhs, right, left TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// if (TLE172) goto L1037 else goto L1030;
  {
    zval *p_cond;
    if (local_TLE172 == NULL)
      {
    p_cond = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_cond = local_TLE172;
      }
    zend_bool bcond = zend_is_true (p_cond);
    if (bcond)
      goto L1037;
    else
      goto L1030;
    phc_check_invariants (TSRMLS_C);
  }
// L1037:
L1037:;
// $TSi173 =& $Y[$i];
  {
    if (local_TSi173 == NULL)
      {
    local_TSi173 = EG (uninitialized_zval_ptr);
    local_TSi173->refcount++;
      }
    zval **p_lhs = &local_TSi173;
    if (local_Y == NULL)
      {
    local_Y = EG (uninitialized_zval_ptr);
    local_Y->refcount++;
      }
    zval **p_rhs_var = &local_Y;
    zval *p_rhs_index;
    if (local_i == NULL)
      {
    p_rhs_index = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_rhs_index = local_i;
      }
    zval **p_rhs = get_ht_entry (p_rhs_var, p_rhs_index TSRMLS_CC);
    copy_into_ref (p_lhs, p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// $TSi174 = $X[$i];
  {
    if (local_TSi174 == NULL)
      {
    local_TSi174 = EG (uninitialized_zval_ptr);
    local_TSi174->refcount++;
      }
    zval **p_lhs = &local_TSi174;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
// Read array variable
    zval *r_array;
    if (local_X == NULL)
      {
    r_array = EG (uninitialized_zval_ptr);
      }
    else
      {
    r_array = local_X;
      }
    zval *ra_index;
    if (local_i == NULL)
      {
    ra_index = EG (uninitialized_zval_ptr);
      }
    else
      {
    ra_index = local_i;
      }
    read_array (p_rhs, r_array, ra_index, &is_p_rhs_new TSRMLS_CC);
    if (*p_lhs != *p_rhs)
      write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// $TSi173 = ($TSi173 + $TSi174);
  {
    if (local_TSi173 == NULL)
      {
    local_TSi173 = EG (uninitialized_zval_ptr);
    local_TSi173->refcount++;
      }
    zval **p_lhs = &local_TSi173;
    zval *left;
    if (local_TSi173 == NULL)
      {
    left = EG (uninitialized_zval_ptr);
      }
    else
      {
    left = local_TSi173;
      }
    zval *right;
    if (local_TSi174 == NULL)
      {
    right = EG (uninitialized_zval_ptr);
      }
    else
      {
    right = local_TSi174;
      }
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    add_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// --$i;
  {
    if (local_i == NULL)
      {
    local_i = EG (uninitialized_zval_ptr);
    local_i->refcount++;
      }
    zval **p_var = &local_i;
    sep_copy_on_write_ex (p_var);
    decrement_function (*p_var);
    phc_check_invariants (TSRMLS_C);
  }
// goto L1035;
  {
    goto L1035;
    phc_check_invariants (TSRMLS_C);
  }
// L1030:
L1030:;
// ++$k;
  {
    if (local_k == NULL)
      {
    local_k = EG (uninitialized_zval_ptr);
    local_k->refcount++;
      }
    zval **p_var = &local_k;
    sep_copy_on_write_ex (p_var);
    increment_function (*p_var);
    phc_check_invariants (TSRMLS_C);
  }
// goto L1031;
  {
    goto L1031;
    phc_check_invariants (TSRMLS_C);
  }
// L1040:
L1040:;
// $last = ($n - 1);
  {
    if (local_last == NULL)
      {
    local_last = EG (uninitialized_zval_ptr);
    local_last->refcount++;
      }
    zval **p_lhs = &local_last;
    zval *left;
    if (local_n == NULL)
      {
    left = EG (uninitialized_zval_ptr);
      }
    else
      {
    left = local_n;
      }
    zval *right = phc_const_pool_int_8;
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    sub_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// $TSi178 = $Y[0];
  {
    if (local_TSi178 == NULL)
      {
    local_TSi178 = EG (uninitialized_zval_ptr);
    local_TSi178->refcount++;
      }
    zval **p_lhs = &local_TSi178;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
// Read array variable
    zval *r_array;
    if (local_Y == NULL)
      {
    r_array = EG (uninitialized_zval_ptr);
      }
    else
      {
    r_array = local_Y;
      }
    zval *ra_index = phc_const_pool_int_0;
    read_array (p_rhs, r_array, ra_index, &is_p_rhs_new TSRMLS_CC);
    if (*p_lhs != *p_rhs)
      write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// $TLE179 = ('' . $TSi178);
  {
    if (local_TLE179 == NULL)
      {
    local_TLE179 = EG (uninitialized_zval_ptr);
    local_TLE179->refcount++;
      }
    zval **p_lhs = &local_TLE179;
    zval *left = phc_const_pool_string_8;
    zval *right;
    if (local_TSi178 == NULL)
      {
    right = EG (uninitialized_zval_ptr);
      }
    else
      {
    right = local_TSi178;
      }
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    concat_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// $TLE181 = ($TLE179 . ' ');
  {
    if (local_TLE181 == NULL)
      {
    local_TLE181 = EG (uninitialized_zval_ptr);
    local_TLE181->refcount++;
      }
    zval **p_lhs = &local_TLE181;
    zval *left;
    if (local_TLE179 == NULL)
      {
    left = EG (uninitialized_zval_ptr);
      }
    else
      {
    left = local_TLE179;
      }
    zval *right = phc_const_pool_string_9;
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    concat_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// $TSi182 = $Y[$last];
  {
    if (local_TSi182 == NULL)
      {
    local_TSi182 = EG (uninitialized_zval_ptr);
    local_TSi182->refcount++;
      }
    zval **p_lhs = &local_TSi182;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
// Read array variable
    zval *r_array;
    if (local_Y == NULL)
      {
    r_array = EG (uninitialized_zval_ptr);
      }
    else
      {
    r_array = local_Y;
      }
    zval *ra_index;
    if (local_last == NULL)
      {
    ra_index = EG (uninitialized_zval_ptr);
      }
    else
      {
    ra_index = local_last;
      }
    read_array (p_rhs, r_array, ra_index, &is_p_rhs_new TSRMLS_CC);
    if (*p_lhs != *p_rhs)
      write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// $TLE183 = ($TLE181 . $TSi182);
  {
    if (local_TLE183 == NULL)
      {
    local_TLE183 = EG (uninitialized_zval_ptr);
    local_TLE183->refcount++;
      }
    zval **p_lhs = &local_TLE183;
    zval *left;
    if (local_TLE181 == NULL)
      {
    left = EG (uninitialized_zval_ptr);
      }
    else
      {
    left = local_TLE181;
      }
    zval *right;
    if (local_TSi182 == NULL)
      {
    right = EG (uninitialized_zval_ptr);
      }
    else
      {
    right = local_TSi182;
      }
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    concat_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// $TLE185 = ($TLE183 . '
// ');
  {
    if (local_TLE185 == NULL)
      {
    local_TLE185 = EG (uninitialized_zval_ptr);
    local_TLE185->refcount++;
      }
    zval **p_lhs = &local_TLE185;
    zval *left;
    if (local_TLE183 == NULL)
      {
    left = EG (uninitialized_zval_ptr);
      }
    else
      {
    left = local_TLE183;
      }
    zval *right = phc_const_pool_string_5;
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    concat_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// print($TLE185);
  {
    zval *p_arg;
    if (local_TLE185 == NULL)
      {
    p_arg = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_arg = local_TLE185;
      }
    phc_builtin_print (p_arg, NULL,
               "test/subjects/benchmarks/zend/bench.php" TSRMLS_CC);
    phc_check_invariants (TSRMLS_C);
  }
// goto L1021;
  {
    goto L1021;
    phc_check_invariants (TSRMLS_C);
  }
// L1026:
L1026:;
// $TLE166 = ($i + 1);
  {
    if (local_TLE166 == NULL)
      {
    local_TLE166 = EG (uninitialized_zval_ptr);
    local_TLE166->refcount++;
      }
    zval **p_lhs = &local_TLE166;
    zval *left;
    if (local_i == NULL)
      {
    left = EG (uninitialized_zval_ptr);
      }
    else
      {
    left = local_i;
      }
    zval *right = phc_const_pool_int_8;
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    add_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// $X[$i] = $TLE166;
  {
    if (local_X == NULL)
      {
    local_X = EG (uninitialized_zval_ptr);
    local_X->refcount++;
      }
    zval **p_lhs_var = &local_X;
    zval *p_lhs_index;
    if (local_i == NULL)
      {
    p_lhs_index = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_lhs_index = local_i;
      }
    zval **p_lhs = get_ht_entry (p_lhs_var, p_lhs_index TSRMLS_CC);
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    zval *p_rhs_var;
    if (local_TLE166 == NULL)
      {
    p_rhs_var = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_rhs_var = local_TLE166;
      }
// Read normal variable
    p_rhs = &p_rhs_var;

    if (*p_lhs != *p_rhs)
      write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// $Y[$i] = 0;
  {
    if (local_Y == NULL)
      {
    local_Y = EG (uninitialized_zval_ptr);
    local_Y->refcount++;
      }
    zval **p_lhs_var = &local_Y;
    zval *p_lhs_index;
    if (local_i == NULL)
      {
    p_lhs_index = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_lhs_index = local_i;
      }
    zval **p_lhs = get_ht_entry (p_lhs_var, p_lhs_index TSRMLS_CC);
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    zval *p_rhs_var = phc_const_pool_int_0;
// Read normal variable
    p_rhs = &p_rhs_var;

    if (*p_lhs != *p_rhs)
      write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// ++$i;
  {
    if (local_i == NULL)
      {
    local_i = EG (uninitialized_zval_ptr);
    local_i->refcount++;
      }
    zval **p_var = &local_i;
    sep_copy_on_write_ex (p_var);
    increment_function (*p_var);
    phc_check_invariants (TSRMLS_C);
  }
// goto L1024;
  {
    goto L1024;
    phc_check_invariants (TSRMLS_C);
  }
// L1021:
L1021:;
// Method exit
end_of_function:__attribute__ ((unused));
  if (local_TLE164 != NULL)
    {
      zval_ptr_dtor (&local_TLE164);
    }
  if (local_TLE166 != NULL)
    {
      zval_ptr_dtor (&local_TLE166);
    }
  if (local_TLE169 != NULL)
    {
      zval_ptr_dtor (&local_TLE169);
    }
  if (local_TLE172 != NULL)
    {
      zval_ptr_dtor (&local_TLE172);
    }
  if (local_TLE179 != NULL)
    {
      zval_ptr_dtor (&local_TLE179);
    }
  if (local_TLE181 != NULL)
    {
      zval_ptr_dtor (&local_TLE181);
    }
  if (local_TLE183 != NULL)
    {
      zval_ptr_dtor (&local_TLE183);
    }
  if (local_TLE185 != NULL)
    {
      zval_ptr_dtor (&local_TLE185);
    }
  if (local_TSi173 != NULL)
    {
      zval_ptr_dtor (&local_TSi173);
    }
  if (local_TSi174 != NULL)
    {
      zval_ptr_dtor (&local_TSi174);
    }
  if (local_TSi178 != NULL)
    {
      zval_ptr_dtor (&local_TSi178);
    }
  if (local_TSi182 != NULL)
    {
      zval_ptr_dtor (&local_TSi182);
    }
  if (local_X != NULL)
    {
      zval_ptr_dtor (&local_X);
    }
  if (local_Y != NULL)
    {
      zval_ptr_dtor (&local_Y);
    }
  if (local_i != NULL)
    {
      zval_ptr_dtor (&local_i);
    }
  if (local_k != NULL)
    {
      zval_ptr_dtor (&local_k);
    }
  if (local_last != NULL)
    {
      zval_ptr_dtor (&local_last);
    }
  if (local_n != NULL)
    {
      zval_ptr_dtor (&local_n);
    }
}

// function fibo_r($n)
// {
// \011$TLE187 = ($n < 2);
// \011if (TLE187) goto L1052 else goto L1053;
// \011L1052:
// \011$TEF37 = 1;
// \011L1058:
// \011return $TEF37;
// \011goto L1049;
// \011L1053:
// \011$TLE189 = ($n - 2);
// \011$TLE190 = fibo_r($TLE189);
// \011$TLE192 = ($n - 1);
// \011$TLE193 = fibo_r($TLE192);
// \011$TEF37 = ($TLE190 + $TLE193);
// \011goto L1058;
// \011L1049:
// }
PHP_FUNCTION (fibo_r)
{
  zval *local_TEF37 = NULL;
  zval *local_TLE187 = NULL;
  zval *local_TLE189 = NULL;
  zval *local_TLE190 = NULL;
  zval *local_TLE192 = NULL;
  zval *local_TLE193 = NULL;
  zval *local_n = NULL;
// Add all parameters as local variables
  {
    int num_args = ZEND_NUM_ARGS ();
    zval *params[1];
    zend_get_parameters_array (0, num_args, params);
// param 0
    params[0]->refcount++;
    local_n = params[0];
  }
// Function body
// $TLE187 = ($n < 2);
  {
    if (local_TLE187 == NULL)
      {
    local_TLE187 = EG (uninitialized_zval_ptr);
    local_TLE187->refcount++;
      }
    zval **p_lhs = &local_TLE187;
    zval *left;
    if (local_n == NULL)
      {
    left = EG (uninitialized_zval_ptr);
      }
    else
      {
    left = local_n;
      }
    zval *right = phc_const_pool_int_7;
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    is_smaller_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// if (TLE187) goto L1052 else goto L1053;
  {
    zval *p_cond;
    if (local_TLE187 == NULL)
      {
    p_cond = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_cond = local_TLE187;
      }
    zend_bool bcond = zend_is_true (p_cond);
    if (bcond)
      goto L1052;
    else
      goto L1053;
    phc_check_invariants (TSRMLS_C);
  }
// L1052:
L1052:;
// $TEF37 = 1;
  {
    if (local_TEF37 == NULL)
      {
    local_TEF37 = EG (uninitialized_zval_ptr);
    local_TEF37->refcount++;
      }
    zval **p_lhs = &local_TEF37;
    if (phc_const_pool_int_8 != *p_lhs)
      write_var (p_lhs, &phc_const_pool_int_8, NULL TSRMLS_CC);
    phc_check_invariants (TSRMLS_C);
  }
// L1058:
L1058:;
// return $TEF37;
  {
    zval *rhs;
    if (local_TEF37 == NULL)
      {
    rhs = EG (uninitialized_zval_ptr);
      }
    else
      {
    rhs = local_TEF37;
      }
    return_value->value = rhs->value;
    return_value->type = rhs->type;
    zval_copy_ctor (return_value);
    goto end_of_function;
    phc_check_invariants (TSRMLS_C);
  }
// goto L1049;
  {
    goto L1049;
    phc_check_invariants (TSRMLS_C);
  }
// L1053:
L1053:;
// $TLE189 = ($n - 2);
  {
    if (local_TLE189 == NULL)
      {
    local_TLE189 = EG (uninitialized_zval_ptr);
    local_TLE189->refcount++;
      }
    zval **p_lhs = &local_TLE189;
    zval *left;
    if (local_n == NULL)
      {
    left = EG (uninitialized_zval_ptr);
      }
    else
      {
    left = local_n;
      }
    zval *right = phc_const_pool_int_7;
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    sub_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// $TLE190 = fibo_r($TLE189);
  {
    if (local_TLE190 == NULL)
      {
    local_TLE190 = EG (uninitialized_zval_ptr);
    local_TLE190->refcount++;
      }
    zval **p_lhs = &local_TLE190;
    initialize_function_call (&fibo_r_fci, &fibo_r_fcic, "fibo_r",
                  "test/subjects/benchmarks/zend/bench.php",
                  173 TSRMLS_CC);
    zend_function *signature = fibo_r_fcic.function_handler;
    zend_arg_info *arg_info = signature->common.arg_info;
    int by_ref[1];
    if (arg_info)
      {
    by_ref[0] = arg_info->pass_by_reference;
    arg_info++;
      }
    else
      {
    by_ref[0] = signature->common.pass_rest_by_reference;
      }
// Setup array of arguments
    int destruct[1];        // set to 1 if the arg is new
    zval *args[1];
    zval **args_ind[1];
    destruct[0] = 0;
    {
      zval *arg;
      if (local_TLE189 == NULL)
    {
      arg = EG (uninitialized_zval_ptr);
    }
      else
    {
      arg = local_TLE189;
    }
      args[0] = fetch_var_arg (arg, &destruct[0]);
      args_ind[0] = &args[0];
    }
    phc_setup_error (1, "<unknown>", 0, NULL TSRMLS_CC);
    int param_count_save = fibo_r_fci.param_count;
    zval ***params_save = fibo_r_fci.params;
    zval **retval_save = fibo_r_fci.retval_ptr_ptr;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    fibo_r_fci.params = args_ind;
    fibo_r_fci.param_count = 1;
    fibo_r_fci.retval_ptr_ptr = p_rhs;
    int success = zend_call_function (&fibo_r_fci, &fibo_r_fcic TSRMLS_CC);
    assert (success == SUCCESS);
    fibo_r_fci.params = params_save;
    fibo_r_fci.param_count = param_count_save;
    fibo_r_fci.retval_ptr_ptr = retval_save;
    phc_setup_error (0, NULL, 0, NULL TSRMLS_CC);
    is_p_rhs_new = 1;
    if (destruct[0])
      {
    assert (destruct[0] == 1);
    zval_ptr_dtor (args_ind[0]);
      }
    write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// $TLE192 = ($n - 1);
  {
    if (local_TLE192 == NULL)
      {
    local_TLE192 = EG (uninitialized_zval_ptr);
    local_TLE192->refcount++;
      }
    zval **p_lhs = &local_TLE192;
    zval *left;
    if (local_n == NULL)
      {
    left = EG (uninitialized_zval_ptr);
      }
    else
      {
    left = local_n;
      }
    zval *right = phc_const_pool_int_8;
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    sub_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// $TLE193 = fibo_r($TLE192);
  {
    if (local_TLE193 == NULL)
      {
    local_TLE193 = EG (uninitialized_zval_ptr);
    local_TLE193->refcount++;
      }
    zval **p_lhs = &local_TLE193;
    initialize_function_call (&fibo_r_fci, &fibo_r_fcic, "fibo_r",
                  "test/subjects/benchmarks/zend/bench.php",
                  173 TSRMLS_CC);
    zend_function *signature = fibo_r_fcic.function_handler;
    zend_arg_info *arg_info = signature->common.arg_info;
    int by_ref[1];
    if (arg_info)
      {
    by_ref[0] = arg_info->pass_by_reference;
    arg_info++;
      }
    else
      {
    by_ref[0] = signature->common.pass_rest_by_reference;
      }
// Setup array of arguments
    int destruct[1];        // set to 1 if the arg is new
    zval *args[1];
    zval **args_ind[1];
    destruct[0] = 0;
    {
      zval *arg;
      if (local_TLE192 == NULL)
    {
      arg = EG (uninitialized_zval_ptr);
    }
      else
    {
      arg = local_TLE192;
    }
      args[0] = fetch_var_arg (arg, &destruct[0]);
      args_ind[0] = &args[0];
    }
    phc_setup_error (1, "<unknown>", 0, NULL TSRMLS_CC);
    int param_count_save = fibo_r_fci.param_count;
    zval ***params_save = fibo_r_fci.params;
    zval **retval_save = fibo_r_fci.retval_ptr_ptr;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    fibo_r_fci.params = args_ind;
    fibo_r_fci.param_count = 1;
    fibo_r_fci.retval_ptr_ptr = p_rhs;
    int success = zend_call_function (&fibo_r_fci, &fibo_r_fcic TSRMLS_CC);
    assert (success == SUCCESS);
    fibo_r_fci.params = params_save;
    fibo_r_fci.param_count = param_count_save;
    fibo_r_fci.retval_ptr_ptr = retval_save;
    phc_setup_error (0, NULL, 0, NULL TSRMLS_CC);
    is_p_rhs_new = 1;
    if (destruct[0])
      {
    assert (destruct[0] == 1);
    zval_ptr_dtor (args_ind[0]);
      }
    write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// $TEF37 = ($TLE190 + $TLE193);
  {
    if (local_TEF37 == NULL)
      {
    local_TEF37 = EG (uninitialized_zval_ptr);
    local_TEF37->refcount++;
      }
    zval **p_lhs = &local_TEF37;
    zval *left;
    if (local_TLE190 == NULL)
      {
    left = EG (uninitialized_zval_ptr);
      }
    else
      {
    left = local_TLE190;
      }
    zval *right;
    if (local_TLE193 == NULL)
      {
    right = EG (uninitialized_zval_ptr);
      }
    else
      {
    right = local_TLE193;
      }
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    add_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// goto L1058;
  {
    goto L1058;
    phc_check_invariants (TSRMLS_C);
  }
// L1049:
L1049:;
// Method exit
end_of_function:__attribute__ ((unused));
  if (local_TEF37 != NULL)
    {
      zval_ptr_dtor (&local_TEF37);
    }
  if (local_TLE187 != NULL)
    {
      zval_ptr_dtor (&local_TLE187);
    }
  if (local_TLE189 != NULL)
    {
      zval_ptr_dtor (&local_TLE189);
    }
  if (local_TLE190 != NULL)
    {
      zval_ptr_dtor (&local_TLE190);
    }
  if (local_TLE192 != NULL)
    {
      zval_ptr_dtor (&local_TLE192);
    }
  if (local_TLE193 != NULL)
    {
      zval_ptr_dtor (&local_TLE193);
    }
  if (local_n != NULL)
    {
      zval_ptr_dtor (&local_n);
    }
}

// function fibo($n)
// {
// \011$r = fibo_r($n);
// \011$TLE195 = ('' . $r);
// \011$TLE197 = ($TLE195 . '
// ');
// \011print($TLE197);
// }
PHP_FUNCTION (fibo)
{
  zval *local_TLE195 = NULL;
  zval *local_TLE197 = NULL;
  zval *local_n = NULL;
  zval *local_r = NULL;
// Add all parameters as local variables
  {
    int num_args = ZEND_NUM_ARGS ();
    zval *params[1];
    zend_get_parameters_array (0, num_args, params);
// param 0
    params[0]->refcount++;
    local_n = params[0];
  }
// Function body
// $r = fibo_r($n);
  {
    if (local_r == NULL)
      {
    local_r = EG (uninitialized_zval_ptr);
    local_r->refcount++;
      }
    zval **p_lhs = &local_r;
    initialize_function_call (&fibo_r_fci, &fibo_r_fcic, "fibo_r",
                  "test/subjects/benchmarks/zend/bench.php",
                  177 TSRMLS_CC);
    zend_function *signature = fibo_r_fcic.function_handler;
    zend_arg_info *arg_info = signature->common.arg_info;
    int by_ref[1];
    if (arg_info)
      {
    by_ref[0] = arg_info->pass_by_reference;
    arg_info++;
      }
    else
      {
    by_ref[0] = signature->common.pass_rest_by_reference;
      }
// Setup array of arguments
    int destruct[1];        // set to 1 if the arg is new
    zval *args[1];
    zval **args_ind[1];
    destruct[0] = 0;
    {
      zval *arg;
      if (local_n == NULL)
    {
      arg = EG (uninitialized_zval_ptr);
    }
      else
    {
      arg = local_n;
    }
      args[0] = fetch_var_arg (arg, &destruct[0]);
      args_ind[0] = &args[0];
    }
    phc_setup_error (1, "<unknown>", 0, NULL TSRMLS_CC);
    int param_count_save = fibo_r_fci.param_count;
    zval ***params_save = fibo_r_fci.params;
    zval **retval_save = fibo_r_fci.retval_ptr_ptr;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    fibo_r_fci.params = args_ind;
    fibo_r_fci.param_count = 1;
    fibo_r_fci.retval_ptr_ptr = p_rhs;
    int success = zend_call_function (&fibo_r_fci, &fibo_r_fcic TSRMLS_CC);
    assert (success == SUCCESS);
    fibo_r_fci.params = params_save;
    fibo_r_fci.param_count = param_count_save;
    fibo_r_fci.retval_ptr_ptr = retval_save;
    phc_setup_error (0, NULL, 0, NULL TSRMLS_CC);
    is_p_rhs_new = 1;
    if (destruct[0])
      {
    assert (destruct[0] == 1);
    zval_ptr_dtor (args_ind[0]);
      }
    write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// $TLE195 = ('' . $r);
  {
    if (local_TLE195 == NULL)
      {
    local_TLE195 = EG (uninitialized_zval_ptr);
    local_TLE195->refcount++;
      }
    zval **p_lhs = &local_TLE195;
    zval *left = phc_const_pool_string_8;
    zval *right;
    if (local_r == NULL)
      {
    right = EG (uninitialized_zval_ptr);
      }
    else
      {
    right = local_r;
      }
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    concat_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// $TLE197 = ($TLE195 . '
// ');
  {
    if (local_TLE197 == NULL)
      {
    local_TLE197 = EG (uninitialized_zval_ptr);
    local_TLE197->refcount++;
      }
    zval **p_lhs = &local_TLE197;
    zval *left;
    if (local_TLE195 == NULL)
      {
    left = EG (uninitialized_zval_ptr);
      }
    else
      {
    left = local_TLE195;
      }
    zval *right = phc_const_pool_string_5;
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    concat_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// print($TLE197);
  {
    zval *p_arg;
    if (local_TLE197 == NULL)
      {
    p_arg = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_arg = local_TLE197;
      }
    phc_builtin_print (p_arg, NULL,
               "test/subjects/benchmarks/zend/bench.php" TSRMLS_CC);
    phc_check_invariants (TSRMLS_C);
  }
// Method exit
end_of_function:__attribute__ ((unused));
  if (local_TLE195 != NULL)
    {
      zval_ptr_dtor (&local_TLE195);
    }
  if (local_TLE197 != NULL)
    {
      zval_ptr_dtor (&local_TLE197);
    }
  if (local_n != NULL)
    {
      zval_ptr_dtor (&local_n);
    }
  if (local_r != NULL)
    {
      zval_ptr_dtor (&local_r);
    }
}

// function hash1($n)
// {
// \011$i = 1;
// \011L1069:
// \011$TLE198 = ($i <= $n);
// \011if (TLE198) goto L1071 else goto L1073;
// \011L1071:
// \011$TLE199 = dechex($i);
// \011$X[$TLE199] = $i;
// \011++$i;
// \011goto L1069;
// \011L1073:
// \011$c = 0;
// \011$i = $n;
// \011L1076:
// \011$TLE201 = ($i > 0);
// \011if (TLE201) goto L1078 else goto L1082;
// \011L1078:
// \011$TLE202 = dechex($i);
// \011$TSi203 = $X[$TLE202];
// \011if (TSi203) goto L1081 else goto L1075;
// \011L1081:
// \011++$c;
// \011L1075:
// \011--$i;
// \011goto L1076;
// \011L1082:
// \011$TLE205 = ('' . $c);
// \011$TLE207 = ($TLE205 . '
// ');
// \011print($TLE207);
// }
PHP_FUNCTION (hash1)
{
  zval *local_TLE198 = NULL;
  zval *local_TLE199 = NULL;
  zval *local_TLE201 = NULL;
  zval *local_TLE202 = NULL;
  zval *local_TLE205 = NULL;
  zval *local_TLE207 = NULL;
  zval *local_TSi203 = NULL;
  zval *local_X = NULL;
  zval *local_c = NULL;
  zval *local_i = NULL;
  zval *local_n = NULL;
// Add all parameters as local variables
  {
    int num_args = ZEND_NUM_ARGS ();
    zval *params[1];
    zend_get_parameters_array (0, num_args, params);
// param 0
    params[0]->refcount++;
    local_n = params[0];
  }
// Function body
// $i = 1;
  {
    if (local_i == NULL)
      {
    local_i = EG (uninitialized_zval_ptr);
    local_i->refcount++;
      }
    zval **p_lhs = &local_i;
    if (phc_const_pool_int_8 != *p_lhs)
      write_var (p_lhs, &phc_const_pool_int_8, NULL TSRMLS_CC);
    phc_check_invariants (TSRMLS_C);
  }
// L1069:
L1069:;
// $TLE198 = ($i <= $n);
  {
    if (local_TLE198 == NULL)
      {
    local_TLE198 = EG (uninitialized_zval_ptr);
    local_TLE198->refcount++;
      }
    zval **p_lhs = &local_TLE198;
    zval *left;
    if (local_i == NULL)
      {
    left = EG (uninitialized_zval_ptr);
      }
    else
      {
    left = local_i;
      }
    zval *right;
    if (local_n == NULL)
      {
    right = EG (uninitialized_zval_ptr);
      }
    else
      {
    right = local_n;
      }
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    is_smaller_or_equal_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// if (TLE198) goto L1071 else goto L1073;
  {
    zval *p_cond;
    if (local_TLE198 == NULL)
      {
    p_cond = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_cond = local_TLE198;
      }
    zend_bool bcond = zend_is_true (p_cond);
    if (bcond)
      goto L1071;
    else
      goto L1073;
    phc_check_invariants (TSRMLS_C);
  }
// L1071:
L1071:;
// $TLE199 = dechex($i);
  {
    if (local_TLE199 == NULL)
      {
    local_TLE199 = EG (uninitialized_zval_ptr);
    local_TLE199->refcount++;
      }
    zval **p_lhs = &local_TLE199;
    initialize_function_call (&dechex_fci, &dechex_fcic, "dechex",
                  "test/subjects/benchmarks/zend/bench.php",
                  185 TSRMLS_CC);
    zend_function *signature = dechex_fcic.function_handler;
    zend_arg_info *arg_info = signature->common.arg_info;
    int by_ref[1];
    if (arg_info)
      {
    by_ref[0] = arg_info->pass_by_reference;
    arg_info++;
      }
    else
      {
    by_ref[0] = signature->common.pass_rest_by_reference;
      }
// Setup array of arguments
    int destruct[1];        // set to 1 if the arg is new
    zval *args[1];
    zval **args_ind[1];
    destruct[0] = 0;
    {
      zval *arg;
      if (local_i == NULL)
    {
      arg = EG (uninitialized_zval_ptr);
    }
      else
    {
      arg = local_i;
    }
      args[0] = fetch_var_arg (arg, &destruct[0]);
      args_ind[0] = &args[0];
    }
    phc_setup_error (1, "<unknown>", 0, NULL TSRMLS_CC);
    int param_count_save = dechex_fci.param_count;
    zval ***params_save = dechex_fci.params;
    zval **retval_save = dechex_fci.retval_ptr_ptr;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    dechex_fci.params = args_ind;
    dechex_fci.param_count = 1;
    dechex_fci.retval_ptr_ptr = p_rhs;
    int success = zend_call_function (&dechex_fci, &dechex_fcic TSRMLS_CC);
    assert (success == SUCCESS);
    dechex_fci.params = params_save;
    dechex_fci.param_count = param_count_save;
    dechex_fci.retval_ptr_ptr = retval_save;
    phc_setup_error (0, NULL, 0, NULL TSRMLS_CC);
    is_p_rhs_new = 1;
    if (destruct[0])
      {
    assert (destruct[0] == 1);
    zval_ptr_dtor (args_ind[0]);
      }
    write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// $X[$TLE199] = $i;
  {
    if (local_X == NULL)
      {
    local_X = EG (uninitialized_zval_ptr);
    local_X->refcount++;
      }
    zval **p_lhs_var = &local_X;
    zval *p_lhs_index;
    if (local_TLE199 == NULL)
      {
    p_lhs_index = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_lhs_index = local_TLE199;
      }
    zval **p_lhs = get_ht_entry (p_lhs_var, p_lhs_index TSRMLS_CC);
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    zval *p_rhs_var;
    if (local_i == NULL)
      {
    p_rhs_var = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_rhs_var = local_i;
      }
// Read normal variable
    p_rhs = &p_rhs_var;

    if (*p_lhs != *p_rhs)
      write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// ++$i;
  {
    if (local_i == NULL)
      {
    local_i = EG (uninitialized_zval_ptr);
    local_i->refcount++;
      }
    zval **p_var = &local_i;
    sep_copy_on_write_ex (p_var);
    increment_function (*p_var);
    phc_check_invariants (TSRMLS_C);
  }
// goto L1069;
  {
    goto L1069;
    phc_check_invariants (TSRMLS_C);
  }
// L1073:
L1073:;
// $c = 0;
  {
    if (local_c == NULL)
      {
    local_c = EG (uninitialized_zval_ptr);
    local_c->refcount++;
      }
    zval **p_lhs = &local_c;
    if (phc_const_pool_int_0 != *p_lhs)
      write_var (p_lhs, &phc_const_pool_int_0, NULL TSRMLS_CC);
    phc_check_invariants (TSRMLS_C);
  }
// $i = $n;
  {
    if (local_i == NULL)
      {
    local_i = EG (uninitialized_zval_ptr);
    local_i->refcount++;
      }
    zval **p_lhs = &local_i;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
// Read normal variable
    zval *p_rhs_var;
    if (local_n == NULL)
      {
    p_rhs_var = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_rhs_var = local_n;
      }
    p_rhs = &p_rhs_var;
    if (*p_lhs != *p_rhs)
      write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// L1076:
L1076:;
// $TLE201 = ($i > 0);
  {
    if (local_TLE201 == NULL)
      {
    local_TLE201 = EG (uninitialized_zval_ptr);
    local_TLE201->refcount++;
      }
    zval **p_lhs = &local_TLE201;
    zval *left;
    if (local_i == NULL)
      {
    left = EG (uninitialized_zval_ptr);
      }
    else
      {
    left = local_i;
      }
    zval *right = phc_const_pool_int_0;
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    is_smaller_function (*p_lhs, right, left TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// if (TLE201) goto L1078 else goto L1082;
  {
    zval *p_cond;
    if (local_TLE201 == NULL)
      {
    p_cond = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_cond = local_TLE201;
      }
    zend_bool bcond = zend_is_true (p_cond);
    if (bcond)
      goto L1078;
    else
      goto L1082;
    phc_check_invariants (TSRMLS_C);
  }
// L1078:
L1078:;
// $TLE202 = dechex($i);
  {
    if (local_TLE202 == NULL)
      {
    local_TLE202 = EG (uninitialized_zval_ptr);
    local_TLE202->refcount++;
      }
    zval **p_lhs = &local_TLE202;
    initialize_function_call (&dechex_fci, &dechex_fcic, "dechex",
                  "test/subjects/benchmarks/zend/bench.php",
                  189 TSRMLS_CC);
    zend_function *signature = dechex_fcic.function_handler;
    zend_arg_info *arg_info = signature->common.arg_info;
    int by_ref[1];
    if (arg_info)
      {
    by_ref[0] = arg_info->pass_by_reference;
    arg_info++;
      }
    else
      {
    by_ref[0] = signature->common.pass_rest_by_reference;
      }
// Setup array of arguments
    int destruct[1];        // set to 1 if the arg is new
    zval *args[1];
    zval **args_ind[1];
    destruct[0] = 0;
    {
      zval *arg;
      if (local_i == NULL)
    {
      arg = EG (uninitialized_zval_ptr);
    }
      else
    {
      arg = local_i;
    }
      args[0] = fetch_var_arg (arg, &destruct[0]);
      args_ind[0] = &args[0];
    }
    phc_setup_error (1, "<unknown>", 0, NULL TSRMLS_CC);
    int param_count_save = dechex_fci.param_count;
    zval ***params_save = dechex_fci.params;
    zval **retval_save = dechex_fci.retval_ptr_ptr;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    dechex_fci.params = args_ind;
    dechex_fci.param_count = 1;
    dechex_fci.retval_ptr_ptr = p_rhs;
    int success = zend_call_function (&dechex_fci, &dechex_fcic TSRMLS_CC);
    assert (success == SUCCESS);
    dechex_fci.params = params_save;
    dechex_fci.param_count = param_count_save;
    dechex_fci.retval_ptr_ptr = retval_save;
    phc_setup_error (0, NULL, 0, NULL TSRMLS_CC);
    is_p_rhs_new = 1;
    if (destruct[0])
      {
    assert (destruct[0] == 1);
    zval_ptr_dtor (args_ind[0]);
      }
    write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// $TSi203 = $X[$TLE202];
  {
    if (local_TSi203 == NULL)
      {
    local_TSi203 = EG (uninitialized_zval_ptr);
    local_TSi203->refcount++;
      }
    zval **p_lhs = &local_TSi203;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
// Read array variable
    zval *r_array;
    if (local_X == NULL)
      {
    r_array = EG (uninitialized_zval_ptr);
      }
    else
      {
    r_array = local_X;
      }
    zval *ra_index;
    if (local_TLE202 == NULL)
      {
    ra_index = EG (uninitialized_zval_ptr);
      }
    else
      {
    ra_index = local_TLE202;
      }
    read_array (p_rhs, r_array, ra_index, &is_p_rhs_new TSRMLS_CC);
    if (*p_lhs != *p_rhs)
      write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// if (TSi203) goto L1081 else goto L1075;
  {
    zval *p_cond;
    if (local_TSi203 == NULL)
      {
    p_cond = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_cond = local_TSi203;
      }
    zend_bool bcond = zend_is_true (p_cond);
    if (bcond)
      goto L1081;
    else
      goto L1075;
    phc_check_invariants (TSRMLS_C);
  }
// L1081:
L1081:;
// ++$c;
  {
    if (local_c == NULL)
      {
    local_c = EG (uninitialized_zval_ptr);
    local_c->refcount++;
      }
    zval **p_var = &local_c;
    sep_copy_on_write_ex (p_var);
    increment_function (*p_var);
    phc_check_invariants (TSRMLS_C);
  }
// L1075:
L1075:;
// --$i;
  {
    if (local_i == NULL)
      {
    local_i = EG (uninitialized_zval_ptr);
    local_i->refcount++;
      }
    zval **p_var = &local_i;
    sep_copy_on_write_ex (p_var);
    decrement_function (*p_var);
    phc_check_invariants (TSRMLS_C);
  }
// goto L1076;
  {
    goto L1076;
    phc_check_invariants (TSRMLS_C);
  }
// L1082:
L1082:;
// $TLE205 = ('' . $c);
  {
    if (local_TLE205 == NULL)
      {
    local_TLE205 = EG (uninitialized_zval_ptr);
    local_TLE205->refcount++;
      }
    zval **p_lhs = &local_TLE205;
    zval *left = phc_const_pool_string_8;
    zval *right;
    if (local_c == NULL)
      {
    right = EG (uninitialized_zval_ptr);
      }
    else
      {
    right = local_c;
      }
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    concat_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// $TLE207 = ($TLE205 . '
// ');
  {
    if (local_TLE207 == NULL)
      {
    local_TLE207 = EG (uninitialized_zval_ptr);
    local_TLE207->refcount++;
      }
    zval **p_lhs = &local_TLE207;
    zval *left;
    if (local_TLE205 == NULL)
      {
    left = EG (uninitialized_zval_ptr);
      }
    else
      {
    left = local_TLE205;
      }
    zval *right = phc_const_pool_string_5;
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    concat_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// print($TLE207);
  {
    zval *p_arg;
    if (local_TLE207 == NULL)
      {
    p_arg = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_arg = local_TLE207;
      }
    phc_builtin_print (p_arg, NULL,
               "test/subjects/benchmarks/zend/bench.php" TSRMLS_CC);
    phc_check_invariants (TSRMLS_C);
  }
// Method exit
end_of_function:__attribute__ ((unused));
  if (local_TLE198 != NULL)
    {
      zval_ptr_dtor (&local_TLE198);
    }
  if (local_TLE199 != NULL)
    {
      zval_ptr_dtor (&local_TLE199);
    }
  if (local_TLE201 != NULL)
    {
      zval_ptr_dtor (&local_TLE201);
    }
  if (local_TLE202 != NULL)
    {
      zval_ptr_dtor (&local_TLE202);
    }
  if (local_TLE205 != NULL)
    {
      zval_ptr_dtor (&local_TLE205);
    }
  if (local_TLE207 != NULL)
    {
      zval_ptr_dtor (&local_TLE207);
    }
  if (local_TSi203 != NULL)
    {
      zval_ptr_dtor (&local_TSi203);
    }
  if (local_X != NULL)
    {
      zval_ptr_dtor (&local_X);
    }
  if (local_c != NULL)
    {
      zval_ptr_dtor (&local_c);
    }
  if (local_i != NULL)
    {
      zval_ptr_dtor (&local_i);
    }
  if (local_n != NULL)
    {
      zval_ptr_dtor (&local_n);
    }
}

// function hash2($n)
// {
// \011$i = 0;
// \011L1089:
// \011$TLE208 = ($i < $n);
// \011if (TLE208) goto L1091 else goto L1097;
// \011L1097:
// \011$i = $n;
// \011L1099:
// \011$TLE219 = ($i > 0);
// \011if (TLE219) goto L1101 else goto L1115;
// \011L1101:
// \011$TLE639 = is_array($hash1);
// \011if (TLE639) goto L1105 else goto L1103;
// \011L1105:
// \011$LF638 = $hash1;
// \011L1106:
// \011foreach_reset($LF638, ht_iterator646);
// \011L1107:
// \011$THK648 = foreach_has_key($LF638, ht_iterator646)
// \011;
// \011if (THK648) goto L1109 else goto L1114;
// \011L1109:
// \011$key = foreach_get_key($LF638, ht_iterator646)
// \011;
// \011$value = foreach_get_val($LF638, ht_iterator646)
// \011;
// \011$TSi220 =& $hash2[$key];
// \011$TSi220 = ($TSi220 + $value);
// \011foreach_next($LF638, ht_iterator646);
// \011goto L1107;
// \011L1114:
// \011foreach_end($LF638, ht_iterator646);
// \011--$i;
// \011goto L1099;
// \011L1103:
// \011trigger_error('Invalid argument supplied for foreach()', 512);
// \011$LF638 = (array) $hash1;
// \011goto L1106;
// \011L1115:
// \011$TLE223 = ($n - 1);
// \011$last = ('foo_' . $TLE223);
// \011$TSi225 = $hash1['foo_0'];
// \011$TLE226 = ('' . $TSi225);
// \011$TLE228 = ($TLE226 . ' ');
// \011$TSi229 = $hash1[$last];
// \011$TLE230 = ($TLE228 . $TSi229);
// \011$TLE232 = ($TLE230 . ' ');
// \011$TSi233 = $hash2['foo_0'];
// \011$TLE234 = ($TLE232 . $TSi233);
// \011$TLE236 = ($TLE234 . ' ');
// \011$TSi237 = $hash2[$last];
// \011$TLE238 = ($TLE236 . $TSi237);
// \011$TLE240 = ($TLE238 . '
// ');
// \011print($TLE240);
// \011goto L1086;
// \011L1091:
// \011$TLE210 = ('foo_' . $i);
// \011$TLE212 = ($TLE210 . '');
// \011$hash1[$TLE212] = $i;
// \011$TLE214 = ('foo_' . $i);
// \011$TLE216 = ($TLE214 . '');
// \011$hash2[$TLE216] = 0;
// \011++$i;
// \011goto L1089;
// \011L1086:
// }
PHP_FUNCTION (hash2)
{
  zval *local_LF638 = NULL;
  zval *local_THK648 = NULL;
  zval *local_TLE208 = NULL;
  zval *local_TLE210 = NULL;
  zval *local_TLE212 = NULL;
  zval *local_TLE214 = NULL;
  zval *local_TLE216 = NULL;
  zval *local_TLE219 = NULL;
  zval *local_TLE223 = NULL;
  zval *local_TLE226 = NULL;
  zval *local_TLE228 = NULL;
  zval *local_TLE230 = NULL;
  zval *local_TLE232 = NULL;
  zval *local_TLE234 = NULL;
  zval *local_TLE236 = NULL;
  zval *local_TLE238 = NULL;
  zval *local_TLE240 = NULL;
  zval *local_TLE639 = NULL;
  zval *local_TSi220 = NULL;
  zval *local_TSi225 = NULL;
  zval *local_TSi229 = NULL;
  zval *local_TSi233 = NULL;
  zval *local_TSi237 = NULL;
  zval *local_hash1 = NULL;
  zval *local_hash2 = NULL;
  zval *local_i = NULL;
  zval *local_key = NULL;
  zval *local_last = NULL;
  zval *local_n = NULL;
  zval *local_value = NULL;
// Add all parameters as local variables
  {
    int num_args = ZEND_NUM_ARGS ();
    zval *params[1];
    zend_get_parameters_array (0, num_args, params);
// param 0
    params[0]->refcount++;
    local_n = params[0];
  }
// Function body
// $i = 0;
  {
    if (local_i == NULL)
      {
    local_i = EG (uninitialized_zval_ptr);
    local_i->refcount++;
      }
    zval **p_lhs = &local_i;
    if (phc_const_pool_int_0 != *p_lhs)
      write_var (p_lhs, &phc_const_pool_int_0, NULL TSRMLS_CC);
    phc_check_invariants (TSRMLS_C);
  }
// L1089:
L1089:;
// $TLE208 = ($i < $n);
  {
    if (local_TLE208 == NULL)
      {
    local_TLE208 = EG (uninitialized_zval_ptr);
    local_TLE208->refcount++;
      }
    zval **p_lhs = &local_TLE208;
    zval *left;
    if (local_i == NULL)
      {
    left = EG (uninitialized_zval_ptr);
      }
    else
      {
    left = local_i;
      }
    zval *right;
    if (local_n == NULL)
      {
    right = EG (uninitialized_zval_ptr);
      }
    else
      {
    right = local_n;
      }
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    is_smaller_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// if (TLE208) goto L1091 else goto L1097;
  {
    zval *p_cond;
    if (local_TLE208 == NULL)
      {
    p_cond = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_cond = local_TLE208;
      }
    zend_bool bcond = zend_is_true (p_cond);
    if (bcond)
      goto L1091;
    else
      goto L1097;
    phc_check_invariants (TSRMLS_C);
  }
// L1097:
L1097:;
// $i = $n;
  {
    if (local_i == NULL)
      {
    local_i = EG (uninitialized_zval_ptr);
    local_i->refcount++;
      }
    zval **p_lhs = &local_i;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
// Read normal variable
    zval *p_rhs_var;
    if (local_n == NULL)
      {
    p_rhs_var = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_rhs_var = local_n;
      }
    p_rhs = &p_rhs_var;
    if (*p_lhs != *p_rhs)
      write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// L1099:
L1099:;
// $TLE219 = ($i > 0);
  {
    if (local_TLE219 == NULL)
      {
    local_TLE219 = EG (uninitialized_zval_ptr);
    local_TLE219->refcount++;
      }
    zval **p_lhs = &local_TLE219;
    zval *left;
    if (local_i == NULL)
      {
    left = EG (uninitialized_zval_ptr);
      }
    else
      {
    left = local_i;
      }
    zval *right = phc_const_pool_int_0;
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    is_smaller_function (*p_lhs, right, left TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// if (TLE219) goto L1101 else goto L1115;
  {
    zval *p_cond;
    if (local_TLE219 == NULL)
      {
    p_cond = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_cond = local_TLE219;
      }
    zend_bool bcond = zend_is_true (p_cond);
    if (bcond)
      goto L1101;
    else
      goto L1115;
    phc_check_invariants (TSRMLS_C);
  }
// L1101:
L1101:;
// $TLE639 = is_array($hash1);
  {
    if (local_TLE639 == NULL)
      {
    local_TLE639 = EG (uninitialized_zval_ptr);
    local_TLE639->refcount++;
      }
    zval **p_lhs = &local_TLE639;
    initialize_function_call (&is_array_fci, &is_array_fcic, "is_array",
                  "test/subjects/benchmarks/zend/bench.php",
                  202 TSRMLS_CC);
    zend_function *signature = is_array_fcic.function_handler;
    zend_arg_info *arg_info = signature->common.arg_info;
    int by_ref[1];
    if (arg_info)
      {
    by_ref[0] = arg_info->pass_by_reference;
    arg_info++;
      }
    else
      {
    by_ref[0] = signature->common.pass_rest_by_reference;
      }
// Setup array of arguments
    int destruct[1];        // set to 1 if the arg is new
    zval *args[1];
    zval **args_ind[1];
    destruct[0] = 0;
    {
      zval *arg;
      if (local_hash1 == NULL)
    {
      arg = EG (uninitialized_zval_ptr);
    }
      else
    {
      arg = local_hash1;
    }
      args[0] = fetch_var_arg (arg, &destruct[0]);
      args_ind[0] = &args[0];
    }
    phc_setup_error (1, "<unknown>", 0, NULL TSRMLS_CC);
    int param_count_save = is_array_fci.param_count;
    zval ***params_save = is_array_fci.params;
    zval **retval_save = is_array_fci.retval_ptr_ptr;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    is_array_fci.params = args_ind;
    is_array_fci.param_count = 1;
    is_array_fci.retval_ptr_ptr = p_rhs;
    int success =
      zend_call_function (&is_array_fci, &is_array_fcic TSRMLS_CC);
    assert (success == SUCCESS);
    is_array_fci.params = params_save;
    is_array_fci.param_count = param_count_save;
    is_array_fci.retval_ptr_ptr = retval_save;
    phc_setup_error (0, NULL, 0, NULL TSRMLS_CC);
    is_p_rhs_new = 1;
    if (destruct[0])
      {
    assert (destruct[0] == 1);
    zval_ptr_dtor (args_ind[0]);
      }
    write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// if (TLE639) goto L1105 else goto L1103;
  {
    zval *p_cond;
    if (local_TLE639 == NULL)
      {
    p_cond = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_cond = local_TLE639;
      }
    zend_bool bcond = zend_is_true (p_cond);
    if (bcond)
      goto L1105;
    else
      goto L1103;
    phc_check_invariants (TSRMLS_C);
  }
// L1105:
L1105:;
// $LF638 = $hash1;
  {
    if (local_LF638 == NULL)
      {
    local_LF638 = EG (uninitialized_zval_ptr);
    local_LF638->refcount++;
      }
    zval **p_lhs = &local_LF638;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
// Read normal variable
    zval *p_rhs_var;
    if (local_hash1 == NULL)
      {
    p_rhs_var = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_rhs_var = local_hash1;
      }
    p_rhs = &p_rhs_var;
    if (*p_lhs != *p_rhs)
      write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// L1106:
L1106:;
// foreach_reset($LF638, ht_iterator646);
  HashPosition ht_iterator646;
  {
    zval *fe_array;
    if (local_LF638 == NULL)
      {
    fe_array = EG (uninitialized_zval_ptr);
      }
    else
      {
    fe_array = local_LF638;
      }
    zend_hash_internal_pointer_reset_ex (fe_array->value.ht, &ht_iterator646);
  }
// L1107:
L1107:;
// $THK648 = foreach_has_key($LF638, ht_iterator646)
// ;
  {
    if (local_THK648 == NULL)
      {
    local_THK648 = EG (uninitialized_zval_ptr);
    local_THK648->refcount++;
      }
    zval **p_lhs = &local_THK648;
    if ((*p_lhs)->is_ref)
      {
    // Always overwrite the current value
    zval *value = *p_lhs;
    zval_dtor (value);
    zval *fe_array;
    if (local_LF638 == NULL)
      {
        fe_array = EG (uninitialized_zval_ptr);
      }
    else
      {
        fe_array = local_LF638;
      }
    int type =
      zend_hash_get_current_key_type_ex (fe_array->value.ht,
                         &ht_iterator646);
    ZVAL_BOOL (value, type != HASH_KEY_NON_EXISTANT);
      }
    else
      {
    zval *value;
    ALLOC_INIT_ZVAL (value);
    zval *fe_array;
    if (local_LF638 == NULL)
      {
        fe_array = EG (uninitialized_zval_ptr);
      }
    else
      {
        fe_array = local_LF638;
      }
    int type =
      zend_hash_get_current_key_type_ex (fe_array->value.ht,
                         &ht_iterator646);
    ZVAL_BOOL (value, type != HASH_KEY_NON_EXISTANT);
    zval_ptr_dtor (p_lhs);
    *p_lhs = value;
      }
    phc_check_invariants (TSRMLS_C);
  }
// if (THK648) goto L1109 else goto L1114;
  {
    zval *p_cond;
    if (local_THK648 == NULL)
      {
    p_cond = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_cond = local_THK648;
      }
    zend_bool bcond = zend_is_true (p_cond);
    if (bcond)
      goto L1109;
    else
      goto L1114;
    phc_check_invariants (TSRMLS_C);
  }
// L1109:
L1109:;
// $key = foreach_get_key($LF638, ht_iterator646)
// ;
  {
    if (local_key == NULL)
      {
    local_key = EG (uninitialized_zval_ptr);
    local_key->refcount++;
      }
    zval **p_lhs = &local_key;
    if ((*p_lhs)->is_ref)
      {
    // Always overwrite the current value
    zval *value = *p_lhs;
    zval_dtor (value);
    zval *fe_array;
    if (local_LF638 == NULL)
      {
        fe_array = EG (uninitialized_zval_ptr);
      }
    else
      {
        fe_array = local_LF638;
      }
    char *str_index = NULL;
    uint str_length;
    ulong num_index;
    int result =
      zend_hash_get_current_key_ex (fe_array->value.ht, &str_index,
                    &str_length, &num_index, 0,
                    &ht_iterator646);
    if (result == HASH_KEY_IS_LONG)
      {
        ZVAL_LONG (value, num_index);
      }
    else
      {
        ZVAL_STRINGL (value, str_index, str_length - 1, 1);
      }
      }
    else
      {
    zval *value;
    ALLOC_INIT_ZVAL (value);
    zval *fe_array;
    if (local_LF638 == NULL)
      {
        fe_array = EG (uninitialized_zval_ptr);
      }
    else
      {
        fe_array = local_LF638;
      }
    char *str_index = NULL;
    uint str_length;
    ulong num_index;
    int result =
      zend_hash_get_current_key_ex (fe_array->value.ht, &str_index,
                    &str_length, &num_index, 0,
                    &ht_iterator646);
    if (result == HASH_KEY_IS_LONG)
      {
        ZVAL_LONG (value, num_index);
      }
    else
      {
        ZVAL_STRINGL (value, str_index, str_length - 1, 1);
      }
    zval_ptr_dtor (p_lhs);
    *p_lhs = value;
      }
    phc_check_invariants (TSRMLS_C);
  }
// $value = foreach_get_val($LF638, ht_iterator646)
// ;
  {
    if (local_value == NULL)
      {
    local_value = EG (uninitialized_zval_ptr);
    local_value->refcount++;
      }
    zval **p_lhs = &local_value;
    zval *fe_array;
    if (local_LF638 == NULL)
      {
    fe_array = EG (uninitialized_zval_ptr);
      }
    else
      {
    fe_array = local_LF638;
      }
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    int result =
      zend_hash_get_current_data_ex (fe_array->value.ht, (void **) (&p_rhs),
                     &ht_iterator646);
    assert (result == SUCCESS);
    write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// $TSi220 =& $hash2[$key];
  {
    if (local_TSi220 == NULL)
      {
    local_TSi220 = EG (uninitialized_zval_ptr);
    local_TSi220->refcount++;
      }
    zval **p_lhs = &local_TSi220;
    if (local_hash2 == NULL)
      {
    local_hash2 = EG (uninitialized_zval_ptr);
    local_hash2->refcount++;
      }
    zval **p_rhs_var = &local_hash2;
    zval *p_rhs_index;
    if (local_key == NULL)
      {
    p_rhs_index = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_rhs_index = local_key;
      }
    zval **p_rhs = get_ht_entry (p_rhs_var, p_rhs_index TSRMLS_CC);
    copy_into_ref (p_lhs, p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// $TSi220 = ($TSi220 + $value);
  {
    if (local_TSi220 == NULL)
      {
    local_TSi220 = EG (uninitialized_zval_ptr);
    local_TSi220->refcount++;
      }
    zval **p_lhs = &local_TSi220;
    zval *left;
    if (local_TSi220 == NULL)
      {
    left = EG (uninitialized_zval_ptr);
      }
    else
      {
    left = local_TSi220;
      }
    zval *right;
    if (local_value == NULL)
      {
    right = EG (uninitialized_zval_ptr);
      }
    else
      {
    right = local_value;
      }
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    add_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// foreach_next($LF638, ht_iterator646);
  {
    zval *fe_array;
    if (local_LF638 == NULL)
      {
    fe_array = EG (uninitialized_zval_ptr);
      }
    else
      {
    fe_array = local_LF638;
      }
    int result =
      zend_hash_move_forward_ex (fe_array->value.ht, &ht_iterator646);
    assert (result == SUCCESS);
    phc_check_invariants (TSRMLS_C);
  }
// goto L1107;
  {
    goto L1107;
    phc_check_invariants (TSRMLS_C);
  }
// L1114:
L1114:;
// foreach_end($LF638, ht_iterator646);
  {
    zval *fe_array;
    if (local_LF638 == NULL)
      {
    fe_array = EG (uninitialized_zval_ptr);
      }
    else
      {
    fe_array = local_LF638;
      }
    zend_hash_internal_pointer_end_ex (fe_array->value.ht, &ht_iterator646);
    phc_check_invariants (TSRMLS_C);
  }
// --$i;
  {
    if (local_i == NULL)
      {
    local_i = EG (uninitialized_zval_ptr);
    local_i->refcount++;
      }
    zval **p_var = &local_i;
    sep_copy_on_write_ex (p_var);
    decrement_function (*p_var);
    phc_check_invariants (TSRMLS_C);
  }
// goto L1099;
  {
    goto L1099;
    phc_check_invariants (TSRMLS_C);
  }
// L1103:
L1103:;
// trigger_error('Invalid argument supplied for foreach()', 512);
  {
    initialize_function_call (&trigger_error_fci, &trigger_error_fcic,
                  "trigger_error",
                  "test/subjects/benchmarks/zend/bench.php",
                  202 TSRMLS_CC);
    zend_function *signature = trigger_error_fcic.function_handler;
    zend_arg_info *arg_info = signature->common.arg_info;
    int by_ref[2];
    if (arg_info)
      {
    by_ref[0] = arg_info->pass_by_reference;
    arg_info++;
      }
    else
      {
    by_ref[0] = signature->common.pass_rest_by_reference;
      }
    if (arg_info)
      {
    by_ref[1] = arg_info->pass_by_reference;
    arg_info++;
      }
    else
      {
    by_ref[1] = signature->common.pass_rest_by_reference;
      }
// Setup array of arguments
    int destruct[2];        // set to 1 if the arg is new
    zval *args[2];
    zval **args_ind[2];
    destruct[0] = 0;
    {
      zval *arg = phc_const_pool_string_10;
      args[0] = fetch_var_arg (arg, &destruct[0]);
      args_ind[0] = &args[0];
    }
    destruct[1] = 0;
    {
      zval *arg = phc_const_pool_int_15;
      args[1] = fetch_var_arg (arg, &destruct[1]);
      args_ind[1] = &args[1];
    }
    phc_setup_error (1, "<unknown>", 0, NULL TSRMLS_CC);
    int param_count_save = trigger_error_fci.param_count;
    zval ***params_save = trigger_error_fci.params;
    zval **retval_save = trigger_error_fci.retval_ptr_ptr;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    trigger_error_fci.params = args_ind;
    trigger_error_fci.param_count = 2;
    trigger_error_fci.retval_ptr_ptr = p_rhs;
    int success =
      zend_call_function (&trigger_error_fci, &trigger_error_fcic TSRMLS_CC);
    assert (success == SUCCESS);
    trigger_error_fci.params = params_save;
    trigger_error_fci.param_count = param_count_save;
    trigger_error_fci.retval_ptr_ptr = retval_save;
    phc_setup_error (0, NULL, 0, NULL TSRMLS_CC);
    is_p_rhs_new = 1;
    if (destruct[0])
      {
    assert (destruct[0] == 1);
    zval_ptr_dtor (args_ind[0]);
      }
    if (destruct[1])
      {
    assert (destruct[1] == 1);
    zval_ptr_dtor (args_ind[1]);
      }
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// $LF638 = (array) $hash1;
  {
    if (local_LF638 == NULL)
      {
    local_LF638 = EG (uninitialized_zval_ptr);
    local_LF638->refcount++;
      }
    zval **p_lhs = &local_LF638;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
// Read normal variable
    zval *p_rhs_var;
    if (local_hash1 == NULL)
      {
    p_rhs_var = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_rhs_var = local_hash1;
      }
    p_rhs = &p_rhs_var;
    if (*p_lhs != *p_rhs)
      write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    cast_var (p_lhs, IS_ARRAY);
    phc_check_invariants (TSRMLS_C);
  }
// goto L1106;
  {
    goto L1106;
    phc_check_invariants (TSRMLS_C);
  }
// L1115:
L1115:;
// $TLE223 = ($n - 1);
  {
    if (local_TLE223 == NULL)
      {
    local_TLE223 = EG (uninitialized_zval_ptr);
    local_TLE223->refcount++;
      }
    zval **p_lhs = &local_TLE223;
    zval *left;
    if (local_n == NULL)
      {
    left = EG (uninitialized_zval_ptr);
      }
    else
      {
    left = local_n;
      }
    zval *right = phc_const_pool_int_8;
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    sub_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// $last = ('foo_' . $TLE223);
  {
    if (local_last == NULL)
      {
    local_last = EG (uninitialized_zval_ptr);
    local_last->refcount++;
      }
    zval **p_lhs = &local_last;
    zval *left = phc_const_pool_string_11;
    zval *right;
    if (local_TLE223 == NULL)
      {
    right = EG (uninitialized_zval_ptr);
      }
    else
      {
    right = local_TLE223;
      }
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    concat_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// $TSi225 = $hash1['foo_0'];
  {
    if (local_TSi225 == NULL)
      {
    local_TSi225 = EG (uninitialized_zval_ptr);
    local_TSi225->refcount++;
      }
    zval **p_lhs = &local_TSi225;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
// Read array variable
    zval *r_array;
    if (local_hash1 == NULL)
      {
    r_array = EG (uninitialized_zval_ptr);
      }
    else
      {
    r_array = local_hash1;
      }
    zval *ra_index = phc_const_pool_string_12;
    read_array (p_rhs, r_array, ra_index, &is_p_rhs_new TSRMLS_CC);
    if (*p_lhs != *p_rhs)
      write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// $TLE226 = ('' . $TSi225);
  {
    if (local_TLE226 == NULL)
      {
    local_TLE226 = EG (uninitialized_zval_ptr);
    local_TLE226->refcount++;
      }
    zval **p_lhs = &local_TLE226;
    zval *left = phc_const_pool_string_8;
    zval *right;
    if (local_TSi225 == NULL)
      {
    right = EG (uninitialized_zval_ptr);
      }
    else
      {
    right = local_TSi225;
      }
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    concat_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// $TLE228 = ($TLE226 . ' ');
  {
    if (local_TLE228 == NULL)
      {
    local_TLE228 = EG (uninitialized_zval_ptr);
    local_TLE228->refcount++;
      }
    zval **p_lhs = &local_TLE228;
    zval *left;
    if (local_TLE226 == NULL)
      {
    left = EG (uninitialized_zval_ptr);
      }
    else
      {
    left = local_TLE226;
      }
    zval *right = phc_const_pool_string_9;
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    concat_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// $TSi229 = $hash1[$last];
  {
    if (local_TSi229 == NULL)
      {
    local_TSi229 = EG (uninitialized_zval_ptr);
    local_TSi229->refcount++;
      }
    zval **p_lhs = &local_TSi229;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
// Read array variable
    zval *r_array;
    if (local_hash1 == NULL)
      {
    r_array = EG (uninitialized_zval_ptr);
      }
    else
      {
    r_array = local_hash1;
      }
    zval *ra_index;
    if (local_last == NULL)
      {
    ra_index = EG (uninitialized_zval_ptr);
      }
    else
      {
    ra_index = local_last;
      }
    read_array (p_rhs, r_array, ra_index, &is_p_rhs_new TSRMLS_CC);
    if (*p_lhs != *p_rhs)
      write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// $TLE230 = ($TLE228 . $TSi229);
  {
    if (local_TLE230 == NULL)
      {
    local_TLE230 = EG (uninitialized_zval_ptr);
    local_TLE230->refcount++;
      }
    zval **p_lhs = &local_TLE230;
    zval *left;
    if (local_TLE228 == NULL)
      {
    left = EG (uninitialized_zval_ptr);
      }
    else
      {
    left = local_TLE228;
      }
    zval *right;
    if (local_TSi229 == NULL)
      {
    right = EG (uninitialized_zval_ptr);
      }
    else
      {
    right = local_TSi229;
      }
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    concat_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// $TLE232 = ($TLE230 . ' ');
  {
    if (local_TLE232 == NULL)
      {
    local_TLE232 = EG (uninitialized_zval_ptr);
    local_TLE232->refcount++;
      }
    zval **p_lhs = &local_TLE232;
    zval *left;
    if (local_TLE230 == NULL)
      {
    left = EG (uninitialized_zval_ptr);
      }
    else
      {
    left = local_TLE230;
      }
    zval *right = phc_const_pool_string_9;
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    concat_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// $TSi233 = $hash2['foo_0'];
  {
    if (local_TSi233 == NULL)
      {
    local_TSi233 = EG (uninitialized_zval_ptr);
    local_TSi233->refcount++;
      }
    zval **p_lhs = &local_TSi233;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
// Read array variable
    zval *r_array;
    if (local_hash2 == NULL)
      {
    r_array = EG (uninitialized_zval_ptr);
      }
    else
      {
    r_array = local_hash2;
      }
    zval *ra_index = phc_const_pool_string_12;
    read_array (p_rhs, r_array, ra_index, &is_p_rhs_new TSRMLS_CC);
    if (*p_lhs != *p_rhs)
      write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// $TLE234 = ($TLE232 . $TSi233);
  {
    if (local_TLE234 == NULL)
      {
    local_TLE234 = EG (uninitialized_zval_ptr);
    local_TLE234->refcount++;
      }
    zval **p_lhs = &local_TLE234;
    zval *left;
    if (local_TLE232 == NULL)
      {
    left = EG (uninitialized_zval_ptr);
      }
    else
      {
    left = local_TLE232;
      }
    zval *right;
    if (local_TSi233 == NULL)
      {
    right = EG (uninitialized_zval_ptr);
      }
    else
      {
    right = local_TSi233;
      }
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    concat_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// $TLE236 = ($TLE234 . ' ');
  {
    if (local_TLE236 == NULL)
      {
    local_TLE236 = EG (uninitialized_zval_ptr);
    local_TLE236->refcount++;
      }
    zval **p_lhs = &local_TLE236;
    zval *left;
    if (local_TLE234 == NULL)
      {
    left = EG (uninitialized_zval_ptr);
      }
    else
      {
    left = local_TLE234;
      }
    zval *right = phc_const_pool_string_9;
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    concat_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// $TSi237 = $hash2[$last];
  {
    if (local_TSi237 == NULL)
      {
    local_TSi237 = EG (uninitialized_zval_ptr);
    local_TSi237->refcount++;
      }
    zval **p_lhs = &local_TSi237;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
// Read array variable
    zval *r_array;
    if (local_hash2 == NULL)
      {
    r_array = EG (uninitialized_zval_ptr);
      }
    else
      {
    r_array = local_hash2;
      }
    zval *ra_index;
    if (local_last == NULL)
      {
    ra_index = EG (uninitialized_zval_ptr);
      }
    else
      {
    ra_index = local_last;
      }
    read_array (p_rhs, r_array, ra_index, &is_p_rhs_new TSRMLS_CC);
    if (*p_lhs != *p_rhs)
      write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// $TLE238 = ($TLE236 . $TSi237);
  {
    if (local_TLE238 == NULL)
      {
    local_TLE238 = EG (uninitialized_zval_ptr);
    local_TLE238->refcount++;
      }
    zval **p_lhs = &local_TLE238;
    zval *left;
    if (local_TLE236 == NULL)
      {
    left = EG (uninitialized_zval_ptr);
      }
    else
      {
    left = local_TLE236;
      }
    zval *right;
    if (local_TSi237 == NULL)
      {
    right = EG (uninitialized_zval_ptr);
      }
    else
      {
    right = local_TSi237;
      }
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    concat_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// $TLE240 = ($TLE238 . '
// ');
  {
    if (local_TLE240 == NULL)
      {
    local_TLE240 = EG (uninitialized_zval_ptr);
    local_TLE240->refcount++;
      }
    zval **p_lhs = &local_TLE240;
    zval *left;
    if (local_TLE238 == NULL)
      {
    left = EG (uninitialized_zval_ptr);
      }
    else
      {
    left = local_TLE238;
      }
    zval *right = phc_const_pool_string_5;
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    concat_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// print($TLE240);
  {
    zval *p_arg;
    if (local_TLE240 == NULL)
      {
    p_arg = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_arg = local_TLE240;
      }
    phc_builtin_print (p_arg, NULL,
               "test/subjects/benchmarks/zend/bench.php" TSRMLS_CC);
    phc_check_invariants (TSRMLS_C);
  }
// goto L1086;
  {
    goto L1086;
    phc_check_invariants (TSRMLS_C);
  }
// L1091:
L1091:;
// $TLE210 = ('foo_' . $i);
  {
    if (local_TLE210 == NULL)
      {
    local_TLE210 = EG (uninitialized_zval_ptr);
    local_TLE210->refcount++;
      }
    zval **p_lhs = &local_TLE210;
    zval *left = phc_const_pool_string_11;
    zval *right;
    if (local_i == NULL)
      {
    right = EG (uninitialized_zval_ptr);
      }
    else
      {
    right = local_i;
      }
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    concat_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// $TLE212 = ($TLE210 . '');
  {
    if (local_TLE212 == NULL)
      {
    local_TLE212 = EG (uninitialized_zval_ptr);
    local_TLE212->refcount++;
      }
    zval **p_lhs = &local_TLE212;
    zval *left;
    if (local_TLE210 == NULL)
      {
    left = EG (uninitialized_zval_ptr);
      }
    else
      {
    left = local_TLE210;
      }
    zval *right = phc_const_pool_string_8;
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    concat_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// $hash1[$TLE212] = $i;
  {
    if (local_hash1 == NULL)
      {
    local_hash1 = EG (uninitialized_zval_ptr);
    local_hash1->refcount++;
      }
    zval **p_lhs_var = &local_hash1;
    zval *p_lhs_index;
    if (local_TLE212 == NULL)
      {
    p_lhs_index = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_lhs_index = local_TLE212;
      }
    zval **p_lhs = get_ht_entry (p_lhs_var, p_lhs_index TSRMLS_CC);
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    zval *p_rhs_var;
    if (local_i == NULL)
      {
    p_rhs_var = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_rhs_var = local_i;
      }
// Read normal variable
    p_rhs = &p_rhs_var;

    if (*p_lhs != *p_rhs)
      write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// $TLE214 = ('foo_' . $i);
  {
    if (local_TLE214 == NULL)
      {
    local_TLE214 = EG (uninitialized_zval_ptr);
    local_TLE214->refcount++;
      }
    zval **p_lhs = &local_TLE214;
    zval *left = phc_const_pool_string_11;
    zval *right;
    if (local_i == NULL)
      {
    right = EG (uninitialized_zval_ptr);
      }
    else
      {
    right = local_i;
      }
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    concat_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// $TLE216 = ($TLE214 . '');
  {
    if (local_TLE216 == NULL)
      {
    local_TLE216 = EG (uninitialized_zval_ptr);
    local_TLE216->refcount++;
      }
    zval **p_lhs = &local_TLE216;
    zval *left;
    if (local_TLE214 == NULL)
      {
    left = EG (uninitialized_zval_ptr);
      }
    else
      {
    left = local_TLE214;
      }
    zval *right = phc_const_pool_string_8;
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    concat_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// $hash2[$TLE216] = 0;
  {
    if (local_hash2 == NULL)
      {
    local_hash2 = EG (uninitialized_zval_ptr);
    local_hash2->refcount++;
      }
    zval **p_lhs_var = &local_hash2;
    zval *p_lhs_index;
    if (local_TLE216 == NULL)
      {
    p_lhs_index = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_lhs_index = local_TLE216;
      }
    zval **p_lhs = get_ht_entry (p_lhs_var, p_lhs_index TSRMLS_CC);
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    zval *p_rhs_var = phc_const_pool_int_0;
// Read normal variable
    p_rhs = &p_rhs_var;

    if (*p_lhs != *p_rhs)
      write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// ++$i;
  {
    if (local_i == NULL)
      {
    local_i = EG (uninitialized_zval_ptr);
    local_i->refcount++;
      }
    zval **p_var = &local_i;
    sep_copy_on_write_ex (p_var);
    increment_function (*p_var);
    phc_check_invariants (TSRMLS_C);
  }
// goto L1089;
  {
    goto L1089;
    phc_check_invariants (TSRMLS_C);
  }
// L1086:
L1086:;
// Method exit
end_of_function:__attribute__ ((unused));
  if (local_LF638 != NULL)
    {
      zval_ptr_dtor (&local_LF638);
    }
  if (local_THK648 != NULL)
    {
      zval_ptr_dtor (&local_THK648);
    }
  if (local_TLE208 != NULL)
    {
      zval_ptr_dtor (&local_TLE208);
    }
  if (local_TLE210 != NULL)
    {
      zval_ptr_dtor (&local_TLE210);
    }
  if (local_TLE212 != NULL)
    {
      zval_ptr_dtor (&local_TLE212);
    }
  if (local_TLE214 != NULL)
    {
      zval_ptr_dtor (&local_TLE214);
    }
  if (local_TLE216 != NULL)
    {
      zval_ptr_dtor (&local_TLE216);
    }
  if (local_TLE219 != NULL)
    {
      zval_ptr_dtor (&local_TLE219);
    }
  if (local_TLE223 != NULL)
    {
      zval_ptr_dtor (&local_TLE223);
    }
  if (local_TLE226 != NULL)
    {
      zval_ptr_dtor (&local_TLE226);
    }
  if (local_TLE228 != NULL)
    {
      zval_ptr_dtor (&local_TLE228);
    }
  if (local_TLE230 != NULL)
    {
      zval_ptr_dtor (&local_TLE230);
    }
  if (local_TLE232 != NULL)
    {
      zval_ptr_dtor (&local_TLE232);
    }
  if (local_TLE234 != NULL)
    {
      zval_ptr_dtor (&local_TLE234);
    }
  if (local_TLE236 != NULL)
    {
      zval_ptr_dtor (&local_TLE236);
    }
  if (local_TLE238 != NULL)
    {
      zval_ptr_dtor (&local_TLE238);
    }
  if (local_TLE240 != NULL)
    {
      zval_ptr_dtor (&local_TLE240);
    }
  if (local_TLE639 != NULL)
    {
      zval_ptr_dtor (&local_TLE639);
    }
  if (local_TSi220 != NULL)
    {
      zval_ptr_dtor (&local_TSi220);
    }
  if (local_TSi225 != NULL)
    {
      zval_ptr_dtor (&local_TSi225);
    }
  if (local_TSi229 != NULL)
    {
      zval_ptr_dtor (&local_TSi229);
    }
  if (local_TSi233 != NULL)
    {
      zval_ptr_dtor (&local_TSi233);
    }
  if (local_TSi237 != NULL)
    {
      zval_ptr_dtor (&local_TSi237);
    }
  if (local_hash1 != NULL)
    {
      zval_ptr_dtor (&local_hash1);
    }
  if (local_hash2 != NULL)
    {
      zval_ptr_dtor (&local_hash2);
    }
  if (local_i != NULL)
    {
      zval_ptr_dtor (&local_i);
    }
  if (local_key != NULL)
    {
      zval_ptr_dtor (&local_key);
    }
  if (local_last != NULL)
    {
      zval_ptr_dtor (&local_last);
    }
  if (local_n != NULL)
    {
      zval_ptr_dtor (&local_n);
    }
  if (local_value != NULL)
    {
      zval_ptr_dtor (&local_value);
    }
}

// function gen_random($n)
// {
// \011global $LAST;
// \011$TLE241 = IA;
// \011$TLE242 = ($LAST * $TLE241);
// \011$TLE243 = IC;
// \011$TLE244 = ($TLE242 + $TLE243);
// \011$TLE245 = IM;
// \011$LAST = ($TLE244 % $TLE245);
// \011$TLE246 = $LAST;
// \011$TLE247 = ($n * $TLE246);
// \011$TLE248 = IM;
// \011$TLE249 = ($TLE247 / $TLE248);
// \011return $TLE249;
// }
PHP_FUNCTION (gen_random)
{
  zval *local_LAST = NULL;
  zval *local_TLE241 = NULL;
  zval *local_TLE242 = NULL;
  zval *local_TLE243 = NULL;
  zval *local_TLE244 = NULL;
  zval *local_TLE245 = NULL;
  zval *local_TLE246 = NULL;
  zval *local_TLE247 = NULL;
  zval *local_TLE248 = NULL;
  zval *local_TLE249 = NULL;
  zval *local_n = NULL;
// Add all parameters as local variables
  {
    int num_args = ZEND_NUM_ARGS ();
    zval *params[1];
    zend_get_parameters_array (0, num_args, params);
// param 0
    params[0]->refcount++;
    local_n = params[0];
  }
// Function body
// global $LAST;
  {
// Normal global
    if (local_LAST == NULL)
      {
    local_LAST = EG (uninitialized_zval_ptr);
    local_LAST->refcount++;
      }
    zval **p_local_global_var = &local_LAST;
// Normal global
    zval **p_global_var =
      get_st_entry (&EG (symbol_table), "LAST", 5, 210680108793u TSRMLS_CC);
    copy_into_ref (p_local_global_var, p_global_var);
    phc_check_invariants (TSRMLS_C);
  }
// $TLE241 = IA;
  {
    if (local_TLE241 == NULL)
      {
    local_TLE241 = EG (uninitialized_zval_ptr);
    local_TLE241->refcount++;
      }
    zval **p_lhs = &local_TLE241;
    if (!(*p_lhs)->is_ref)
      {
    zval_ptr_dtor (p_lhs);
    get_constant ("IA", 2, p_lhs TSRMLS_CC);
      }
    else
      {
    zval *constant;
    get_constant ("IA", 2, &constant TSRMLS_CC);
    overwrite_lhs_no_copy (*p_lhs, constant);
    safe_free_zval_ptr (constant);
      }
    phc_check_invariants (TSRMLS_C);
  }
// $TLE242 = ($LAST * $TLE241);
  {
    if (local_TLE242 == NULL)
      {
    local_TLE242 = EG (uninitialized_zval_ptr);
    local_TLE242->refcount++;
      }
    zval **p_lhs = &local_TLE242;
    zval *left;
    if (local_LAST == NULL)
      {
    left = EG (uninitialized_zval_ptr);
      }
    else
      {
    left = local_LAST;
      }
    zval *right;
    if (local_TLE241 == NULL)
      {
    right = EG (uninitialized_zval_ptr);
      }
    else
      {
    right = local_TLE241;
      }
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    mul_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// $TLE243 = IC;
  {
    if (local_TLE243 == NULL)
      {
    local_TLE243 = EG (uninitialized_zval_ptr);
    local_TLE243->refcount++;
      }
    zval **p_lhs = &local_TLE243;
    if (!(*p_lhs)->is_ref)
      {
    zval_ptr_dtor (p_lhs);
    get_constant ("IC", 2, p_lhs TSRMLS_CC);
      }
    else
      {
    zval *constant;
    get_constant ("IC", 2, &constant TSRMLS_CC);
    overwrite_lhs_no_copy (*p_lhs, constant);
    safe_free_zval_ptr (constant);
      }
    phc_check_invariants (TSRMLS_C);
  }
// $TLE244 = ($TLE242 + $TLE243);
  {
    if (local_TLE244 == NULL)
      {
    local_TLE244 = EG (uninitialized_zval_ptr);
    local_TLE244->refcount++;
      }
    zval **p_lhs = &local_TLE244;
    zval *left;
    if (local_TLE242 == NULL)
      {
    left = EG (uninitialized_zval_ptr);
      }
    else
      {
    left = local_TLE242;
      }
    zval *right;
    if (local_TLE243 == NULL)
      {
    right = EG (uninitialized_zval_ptr);
      }
    else
      {
    right = local_TLE243;
      }
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    add_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// $TLE245 = IM;
  {
    if (local_TLE245 == NULL)
      {
    local_TLE245 = EG (uninitialized_zval_ptr);
    local_TLE245->refcount++;
      }
    zval **p_lhs = &local_TLE245;
    if (!(*p_lhs)->is_ref)
      {
    zval_ptr_dtor (p_lhs);
    get_constant ("IM", 2, p_lhs TSRMLS_CC);
      }
    else
      {
    zval *constant;
    get_constant ("IM", 2, &constant TSRMLS_CC);
    overwrite_lhs_no_copy (*p_lhs, constant);
    safe_free_zval_ptr (constant);
      }
    phc_check_invariants (TSRMLS_C);
  }
// $LAST = ($TLE244 % $TLE245);
  {
    if (local_LAST == NULL)
      {
    local_LAST = EG (uninitialized_zval_ptr);
    local_LAST->refcount++;
      }
    zval **p_lhs = &local_LAST;
    zval *left;
    if (local_TLE244 == NULL)
      {
    left = EG (uninitialized_zval_ptr);
      }
    else
      {
    left = local_TLE244;
      }
    zval *right;
    if (local_TLE245 == NULL)
      {
    right = EG (uninitialized_zval_ptr);
      }
    else
      {
    right = local_TLE245;
      }
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    mod_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// $TLE246 = $LAST;
  {
    if (local_TLE246 == NULL)
      {
    local_TLE246 = EG (uninitialized_zval_ptr);
    local_TLE246->refcount++;
      }
    zval **p_lhs = &local_TLE246;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
// Read normal variable
    zval *p_rhs_var;
    if (local_LAST == NULL)
      {
    p_rhs_var = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_rhs_var = local_LAST;
      }
    p_rhs = &p_rhs_var;
    if (*p_lhs != *p_rhs)
      write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// $TLE247 = ($n * $TLE246);
  {
    if (local_TLE247 == NULL)
      {
    local_TLE247 = EG (uninitialized_zval_ptr);
    local_TLE247->refcount++;
      }
    zval **p_lhs = &local_TLE247;
    zval *left;
    if (local_n == NULL)
      {
    left = EG (uninitialized_zval_ptr);
      }
    else
      {
    left = local_n;
      }
    zval *right;
    if (local_TLE246 == NULL)
      {
    right = EG (uninitialized_zval_ptr);
      }
    else
      {
    right = local_TLE246;
      }
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    mul_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// $TLE248 = IM;
  {
    if (local_TLE248 == NULL)
      {
    local_TLE248 = EG (uninitialized_zval_ptr);
    local_TLE248->refcount++;
      }
    zval **p_lhs = &local_TLE248;
    if (!(*p_lhs)->is_ref)
      {
    zval_ptr_dtor (p_lhs);
    get_constant ("IM", 2, p_lhs TSRMLS_CC);
      }
    else
      {
    zval *constant;
    get_constant ("IM", 2, &constant TSRMLS_CC);
    overwrite_lhs_no_copy (*p_lhs, constant);
    safe_free_zval_ptr (constant);
      }
    phc_check_invariants (TSRMLS_C);
  }
// $TLE249 = ($TLE247 / $TLE248);
  {
    if (local_TLE249 == NULL)
      {
    local_TLE249 = EG (uninitialized_zval_ptr);
    local_TLE249->refcount++;
      }
    zval **p_lhs = &local_TLE249;
    zval *left;
    if (local_TLE247 == NULL)
      {
    left = EG (uninitialized_zval_ptr);
      }
    else
      {
    left = local_TLE247;
      }
    zval *right;
    if (local_TLE248 == NULL)
      {
    right = EG (uninitialized_zval_ptr);
      }
    else
      {
    right = local_TLE248;
      }
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    div_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// return $TLE249;
  {
    zval *rhs;
    if (local_TLE249 == NULL)
      {
    rhs = EG (uninitialized_zval_ptr);
      }
    else
      {
    rhs = local_TLE249;
      }
    return_value->value = rhs->value;
    return_value->type = rhs->type;
    zval_copy_ctor (return_value);
    goto end_of_function;
    phc_check_invariants (TSRMLS_C);
  }
// Method exit
end_of_function:__attribute__ ((unused));
  if (local_LAST != NULL)
    {
      zval_ptr_dtor (&local_LAST);
    }
  if (local_TLE241 != NULL)
    {
      zval_ptr_dtor (&local_TLE241);
    }
  if (local_TLE242 != NULL)
    {
      zval_ptr_dtor (&local_TLE242);
    }
  if (local_TLE243 != NULL)
    {
      zval_ptr_dtor (&local_TLE243);
    }
  if (local_TLE244 != NULL)
    {
      zval_ptr_dtor (&local_TLE244);
    }
  if (local_TLE245 != NULL)
    {
      zval_ptr_dtor (&local_TLE245);
    }
  if (local_TLE246 != NULL)
    {
      zval_ptr_dtor (&local_TLE246);
    }
  if (local_TLE247 != NULL)
    {
      zval_ptr_dtor (&local_TLE247);
    }
  if (local_TLE248 != NULL)
    {
      zval_ptr_dtor (&local_TLE248);
    }
  if (local_TLE249 != NULL)
    {
      zval_ptr_dtor (&local_TLE249);
    }
  if (local_n != NULL)
    {
      zval_ptr_dtor (&local_n);
    }
}

// function heapsort_r($n, &$ra)
// {
// \011$TLE251 = ($n >> 1);
// \011$l = ($TLE251 + 1);
// \011$ir = $n;
// \011L1149:
// \011$TLE256 = ($l > 1);
// \011if (TLE256) goto L1151 else goto L1154;
// \011L1151:
// \011--$l;
// \011$TSi257 = $ra[$l];
// \011$rra = $TSi257;
// \011L1164:
// \011$i = $l;
// \011$j = ($l << 1);
// \011L1166:
// \011$TLE266 = ($j <= $ir);
// \011if (TLE266) goto L1168 else goto L1187;
// \011L1168:
// \011$TLE38 = ($j < $ir);
// \011if (TLE38) goto L1170 else goto L1174;
// \011L1170:
// \011$TSi268 = $ra[$j];
// \011$TLE270 = ($j + 1);
// \011$TSi271 = $ra[$TLE270];
// \011$TEF39 = ($TSi268 < $TSi271);
// \011L1175:
// \011$TLE272 = (bool) $TEF39;
// \011if (TLE272) goto L1177 else goto L1178;
// \011L1177:
// \011++$j;
// \011L1178:
// \011$TSi273 = $ra[$j];
// \011$TLE274 = ($rra < $TSi273);
// \011if (TLE274) goto L1181 else goto L1186;
// \011L1181:
// \011$TSi275 = $ra[$j];
// \011$ra[$i] = $TSi275;
// \011$i = $j;
// \011$TLE276 = $i;
// \011$j = ($j + $TLE276);
// \011goto L1166;
// \011L1186:
// \011$j = ($ir + 1);
// \011goto L1166;
// \011L1174:
// \011$TEF39 = $TLE38;
// \011goto L1175;
// \011L1187:
// \011$ra[$i] = $rra;
// \011goto L1149;
// \011L1154:
// \011$TSi258 = $ra[$ir];
// \011$rra = $TSi258;
// \011$TSi260 = $ra[1];
// \011$ra[$ir] = $TSi260;
// \011--$ir;
// \011$TLE262 = ($ir == 1);
// \011if (TLE262) goto L1161 else goto L1164;
// \011L1161:
// \011$ra[1] = $rra;
// \011$TLE264 = NULL;
// \011return $TLE264;
// }
PHP_FUNCTION (heapsort_r)
{
  zval *local_TEF39 = NULL;
  zval *local_TLE251 = NULL;
  zval *local_TLE256 = NULL;
  zval *local_TLE262 = NULL;
  zval *local_TLE264 = NULL;
  zval *local_TLE266 = NULL;
  zval *local_TLE270 = NULL;
  zval *local_TLE272 = NULL;
  zval *local_TLE274 = NULL;
  zval *local_TLE276 = NULL;
  zval *local_TLE38 = NULL;
  zval *local_TSi257 = NULL;
  zval *local_TSi258 = NULL;
  zval *local_TSi260 = NULL;
  zval *local_TSi268 = NULL;
  zval *local_TSi271 = NULL;
  zval *local_TSi273 = NULL;
  zval *local_TSi275 = NULL;
  zval *local_i = NULL;
  zval *local_ir = NULL;
  zval *local_j = NULL;
  zval *local_l = NULL;
  zval *local_n = NULL;
  zval *local_ra = NULL;
  zval *local_rra = NULL;
// Add all parameters as local variables
  {
    int num_args = ZEND_NUM_ARGS ();
    zval *params[2];
    zend_get_parameters_array (0, num_args, params);
// param 0
    params[0]->refcount++;
    local_n = params[0];
// param 1
    params[1]->refcount++;
    local_ra = params[1];
  }
// Function body
// $TLE251 = ($n >> 1);
  {
    if (local_TLE251 == NULL)
      {
    local_TLE251 = EG (uninitialized_zval_ptr);
    local_TLE251->refcount++;
      }
    zval **p_lhs = &local_TLE251;
    zval *left;
    if (local_n == NULL)
      {
    left = EG (uninitialized_zval_ptr);
      }
    else
      {
    left = local_n;
      }
    zval *right = phc_const_pool_int_8;
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    shift_right_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// $l = ($TLE251 + 1);
  {
    if (local_l == NULL)
      {
    local_l = EG (uninitialized_zval_ptr);
    local_l->refcount++;
      }
    zval **p_lhs = &local_l;
    zval *left;
    if (local_TLE251 == NULL)
      {
    left = EG (uninitialized_zval_ptr);
      }
    else
      {
    left = local_TLE251;
      }
    zval *right = phc_const_pool_int_8;
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    add_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// $ir = $n;
  {
    if (local_ir == NULL)
      {
    local_ir = EG (uninitialized_zval_ptr);
    local_ir->refcount++;
      }
    zval **p_lhs = &local_ir;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
// Read normal variable
    zval *p_rhs_var;
    if (local_n == NULL)
      {
    p_rhs_var = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_rhs_var = local_n;
      }
    p_rhs = &p_rhs_var;
    if (*p_lhs != *p_rhs)
      write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// L1149:
L1149:;
// $TLE256 = ($l > 1);
  {
    if (local_TLE256 == NULL)
      {
    local_TLE256 = EG (uninitialized_zval_ptr);
    local_TLE256->refcount++;
      }
    zval **p_lhs = &local_TLE256;
    zval *left;
    if (local_l == NULL)
      {
    left = EG (uninitialized_zval_ptr);
      }
    else
      {
    left = local_l;
      }
    zval *right = phc_const_pool_int_8;
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    is_smaller_function (*p_lhs, right, left TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// if (TLE256) goto L1151 else goto L1154;
  {
    zval *p_cond;
    if (local_TLE256 == NULL)
      {
    p_cond = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_cond = local_TLE256;
      }
    zend_bool bcond = zend_is_true (p_cond);
    if (bcond)
      goto L1151;
    else
      goto L1154;
    phc_check_invariants (TSRMLS_C);
  }
// L1151:
L1151:;
// --$l;
  {
    if (local_l == NULL)
      {
    local_l = EG (uninitialized_zval_ptr);
    local_l->refcount++;
      }
    zval **p_var = &local_l;
    sep_copy_on_write_ex (p_var);
    decrement_function (*p_var);
    phc_check_invariants (TSRMLS_C);
  }
// $TSi257 = $ra[$l];
  {
    if (local_TSi257 == NULL)
      {
    local_TSi257 = EG (uninitialized_zval_ptr);
    local_TSi257->refcount++;
      }
    zval **p_lhs = &local_TSi257;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
// Read array variable
    zval *r_array;
    if (local_ra == NULL)
      {
    r_array = EG (uninitialized_zval_ptr);
      }
    else
      {
    r_array = local_ra;
      }
    zval *ra_index;
    if (local_l == NULL)
      {
    ra_index = EG (uninitialized_zval_ptr);
      }
    else
      {
    ra_index = local_l;
      }
    read_array (p_rhs, r_array, ra_index, &is_p_rhs_new TSRMLS_CC);
    if (*p_lhs != *p_rhs)
      write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// $rra = $TSi257;
  {
    if (local_rra == NULL)
      {
    local_rra = EG (uninitialized_zval_ptr);
    local_rra->refcount++;
      }
    zval **p_lhs = &local_rra;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
// Read normal variable
    zval *p_rhs_var;
    if (local_TSi257 == NULL)
      {
    p_rhs_var = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_rhs_var = local_TSi257;
      }
    p_rhs = &p_rhs_var;
    if (*p_lhs != *p_rhs)
      write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// L1164:
L1164:;
// $i = $l;
  {
    if (local_i == NULL)
      {
    local_i = EG (uninitialized_zval_ptr);
    local_i->refcount++;
      }
    zval **p_lhs = &local_i;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
// Read normal variable
    zval *p_rhs_var;
    if (local_l == NULL)
      {
    p_rhs_var = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_rhs_var = local_l;
      }
    p_rhs = &p_rhs_var;
    if (*p_lhs != *p_rhs)
      write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// $j = ($l << 1);
  {
    if (local_j == NULL)
      {
    local_j = EG (uninitialized_zval_ptr);
    local_j->refcount++;
      }
    zval **p_lhs = &local_j;
    zval *left;
    if (local_l == NULL)
      {
    left = EG (uninitialized_zval_ptr);
      }
    else
      {
    left = local_l;
      }
    zval *right = phc_const_pool_int_8;
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    shift_left_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// L1166:
L1166:;
// $TLE266 = ($j <= $ir);
  {
    if (local_TLE266 == NULL)
      {
    local_TLE266 = EG (uninitialized_zval_ptr);
    local_TLE266->refcount++;
      }
    zval **p_lhs = &local_TLE266;
    zval *left;
    if (local_j == NULL)
      {
    left = EG (uninitialized_zval_ptr);
      }
    else
      {
    left = local_j;
      }
    zval *right;
    if (local_ir == NULL)
      {
    right = EG (uninitialized_zval_ptr);
      }
    else
      {
    right = local_ir;
      }
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    is_smaller_or_equal_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// if (TLE266) goto L1168 else goto L1187;
  {
    zval *p_cond;
    if (local_TLE266 == NULL)
      {
    p_cond = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_cond = local_TLE266;
      }
    zend_bool bcond = zend_is_true (p_cond);
    if (bcond)
      goto L1168;
    else
      goto L1187;
    phc_check_invariants (TSRMLS_C);
  }
// L1168:
L1168:;
// $TLE38 = ($j < $ir);
  {
    if (local_TLE38 == NULL)
      {
    local_TLE38 = EG (uninitialized_zval_ptr);
    local_TLE38->refcount++;
      }
    zval **p_lhs = &local_TLE38;
    zval *left;
    if (local_j == NULL)
      {
    left = EG (uninitialized_zval_ptr);
      }
    else
      {
    left = local_j;
      }
    zval *right;
    if (local_ir == NULL)
      {
    right = EG (uninitialized_zval_ptr);
      }
    else
      {
    right = local_ir;
      }
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    is_smaller_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// if (TLE38) goto L1170 else goto L1174;
  {
    zval *p_cond;
    if (local_TLE38 == NULL)
      {
    p_cond = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_cond = local_TLE38;
      }
    zend_bool bcond = zend_is_true (p_cond);
    if (bcond)
      goto L1170;
    else
      goto L1174;
    phc_check_invariants (TSRMLS_C);
  }
// L1170:
L1170:;
// $TSi268 = $ra[$j];
  {
    if (local_TSi268 == NULL)
      {
    local_TSi268 = EG (uninitialized_zval_ptr);
    local_TSi268->refcount++;
      }
    zval **p_lhs = &local_TSi268;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
// Read array variable
    zval *r_array;
    if (local_ra == NULL)
      {
    r_array = EG (uninitialized_zval_ptr);
      }
    else
      {
    r_array = local_ra;
      }
    zval *ra_index;
    if (local_j == NULL)
      {
    ra_index = EG (uninitialized_zval_ptr);
      }
    else
      {
    ra_index = local_j;
      }
    read_array (p_rhs, r_array, ra_index, &is_p_rhs_new TSRMLS_CC);
    if (*p_lhs != *p_rhs)
      write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// $TLE270 = ($j + 1);
  {
    if (local_TLE270 == NULL)
      {
    local_TLE270 = EG (uninitialized_zval_ptr);
    local_TLE270->refcount++;
      }
    zval **p_lhs = &local_TLE270;
    zval *left;
    if (local_j == NULL)
      {
    left = EG (uninitialized_zval_ptr);
      }
    else
      {
    left = local_j;
      }
    zval *right = phc_const_pool_int_8;
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    add_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// $TSi271 = $ra[$TLE270];
  {
    if (local_TSi271 == NULL)
      {
    local_TSi271 = EG (uninitialized_zval_ptr);
    local_TSi271->refcount++;
      }
    zval **p_lhs = &local_TSi271;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
// Read array variable
    zval *r_array;
    if (local_ra == NULL)
      {
    r_array = EG (uninitialized_zval_ptr);
      }
    else
      {
    r_array = local_ra;
      }
    zval *ra_index;
    if (local_TLE270 == NULL)
      {
    ra_index = EG (uninitialized_zval_ptr);
      }
    else
      {
    ra_index = local_TLE270;
      }
    read_array (p_rhs, r_array, ra_index, &is_p_rhs_new TSRMLS_CC);
    if (*p_lhs != *p_rhs)
      write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// $TEF39 = ($TSi268 < $TSi271);
  {
    if (local_TEF39 == NULL)
      {
    local_TEF39 = EG (uninitialized_zval_ptr);
    local_TEF39->refcount++;
      }
    zval **p_lhs = &local_TEF39;
    zval *left;
    if (local_TSi268 == NULL)
      {
    left = EG (uninitialized_zval_ptr);
      }
    else
      {
    left = local_TSi268;
      }
    zval *right;
    if (local_TSi271 == NULL)
      {
    right = EG (uninitialized_zval_ptr);
      }
    else
      {
    right = local_TSi271;
      }
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    is_smaller_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// L1175:
L1175:;
// $TLE272 = (bool) $TEF39;
  {
    if (local_TLE272 == NULL)
      {
    local_TLE272 = EG (uninitialized_zval_ptr);
    local_TLE272->refcount++;
      }
    zval **p_lhs = &local_TLE272;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
// Read normal variable
    zval *p_rhs_var;
    if (local_TEF39 == NULL)
      {
    p_rhs_var = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_rhs_var = local_TEF39;
      }
    p_rhs = &p_rhs_var;
    if (*p_lhs != *p_rhs)
      write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    cast_var (p_lhs, IS_BOOL);
    phc_check_invariants (TSRMLS_C);
  }
// if (TLE272) goto L1177 else goto L1178;
  {
    zval *p_cond;
    if (local_TLE272 == NULL)
      {
    p_cond = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_cond = local_TLE272;
      }
    zend_bool bcond = zend_is_true (p_cond);
    if (bcond)
      goto L1177;
    else
      goto L1178;
    phc_check_invariants (TSRMLS_C);
  }
// L1177:
L1177:;
// ++$j;
  {
    if (local_j == NULL)
      {
    local_j = EG (uninitialized_zval_ptr);
    local_j->refcount++;
      }
    zval **p_var = &local_j;
    sep_copy_on_write_ex (p_var);
    increment_function (*p_var);
    phc_check_invariants (TSRMLS_C);
  }
// L1178:
L1178:;
// $TSi273 = $ra[$j];
  {
    if (local_TSi273 == NULL)
      {
    local_TSi273 = EG (uninitialized_zval_ptr);
    local_TSi273->refcount++;
      }
    zval **p_lhs = &local_TSi273;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
// Read array variable
    zval *r_array;
    if (local_ra == NULL)
      {
    r_array = EG (uninitialized_zval_ptr);
      }
    else
      {
    r_array = local_ra;
      }
    zval *ra_index;
    if (local_j == NULL)
      {
    ra_index = EG (uninitialized_zval_ptr);
      }
    else
      {
    ra_index = local_j;
      }
    read_array (p_rhs, r_array, ra_index, &is_p_rhs_new TSRMLS_CC);
    if (*p_lhs != *p_rhs)
      write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// $TLE274 = ($rra < $TSi273);
  {
    if (local_TLE274 == NULL)
      {
    local_TLE274 = EG (uninitialized_zval_ptr);
    local_TLE274->refcount++;
      }
    zval **p_lhs = &local_TLE274;
    zval *left;
    if (local_rra == NULL)
      {
    left = EG (uninitialized_zval_ptr);
      }
    else
      {
    left = local_rra;
      }
    zval *right;
    if (local_TSi273 == NULL)
      {
    right = EG (uninitialized_zval_ptr);
      }
    else
      {
    right = local_TSi273;
      }
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    is_smaller_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// if (TLE274) goto L1181 else goto L1186;
  {
    zval *p_cond;
    if (local_TLE274 == NULL)
      {
    p_cond = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_cond = local_TLE274;
      }
    zend_bool bcond = zend_is_true (p_cond);
    if (bcond)
      goto L1181;
    else
      goto L1186;
    phc_check_invariants (TSRMLS_C);
  }
// L1181:
L1181:;
// $TSi275 = $ra[$j];
  {
    if (local_TSi275 == NULL)
      {
    local_TSi275 = EG (uninitialized_zval_ptr);
    local_TSi275->refcount++;
      }
    zval **p_lhs = &local_TSi275;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
// Read array variable
    zval *r_array;
    if (local_ra == NULL)
      {
    r_array = EG (uninitialized_zval_ptr);
      }
    else
      {
    r_array = local_ra;
      }
    zval *ra_index;
    if (local_j == NULL)
      {
    ra_index = EG (uninitialized_zval_ptr);
      }
    else
      {
    ra_index = local_j;
      }
    read_array (p_rhs, r_array, ra_index, &is_p_rhs_new TSRMLS_CC);
    if (*p_lhs != *p_rhs)
      write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// $ra[$i] = $TSi275;
  {
    if (local_ra == NULL)
      {
    local_ra = EG (uninitialized_zval_ptr);
    local_ra->refcount++;
      }
    zval **p_lhs_var = &local_ra;
    zval *p_lhs_index;
    if (local_i == NULL)
      {
    p_lhs_index = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_lhs_index = local_i;
      }
    zval **p_lhs = get_ht_entry (p_lhs_var, p_lhs_index TSRMLS_CC);
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    zval *p_rhs_var;
    if (local_TSi275 == NULL)
      {
    p_rhs_var = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_rhs_var = local_TSi275;
      }
// Read normal variable
    p_rhs = &p_rhs_var;

    if (*p_lhs != *p_rhs)
      write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// $i = $j;
  {
    if (local_i == NULL)
      {
    local_i = EG (uninitialized_zval_ptr);
    local_i->refcount++;
      }
    zval **p_lhs = &local_i;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
// Read normal variable
    zval *p_rhs_var;
    if (local_j == NULL)
      {
    p_rhs_var = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_rhs_var = local_j;
      }
    p_rhs = &p_rhs_var;
    if (*p_lhs != *p_rhs)
      write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// $TLE276 = $i;
  {
    if (local_TLE276 == NULL)
      {
    local_TLE276 = EG (uninitialized_zval_ptr);
    local_TLE276->refcount++;
      }
    zval **p_lhs = &local_TLE276;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
// Read normal variable
    zval *p_rhs_var;
    if (local_i == NULL)
      {
    p_rhs_var = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_rhs_var = local_i;
      }
    p_rhs = &p_rhs_var;
    if (*p_lhs != *p_rhs)
      write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// $j = ($j + $TLE276);
  {
    if (local_j == NULL)
      {
    local_j = EG (uninitialized_zval_ptr);
    local_j->refcount++;
      }
    zval **p_lhs = &local_j;
    zval *left;
    if (local_j == NULL)
      {
    left = EG (uninitialized_zval_ptr);
      }
    else
      {
    left = local_j;
      }
    zval *right;
    if (local_TLE276 == NULL)
      {
    right = EG (uninitialized_zval_ptr);
      }
    else
      {
    right = local_TLE276;
      }
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    add_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// goto L1166;
  {
    goto L1166;
    phc_check_invariants (TSRMLS_C);
  }
// L1186:
L1186:;
// $j = ($ir + 1);
  {
    if (local_j == NULL)
      {
    local_j = EG (uninitialized_zval_ptr);
    local_j->refcount++;
      }
    zval **p_lhs = &local_j;
    zval *left;
    if (local_ir == NULL)
      {
    left = EG (uninitialized_zval_ptr);
      }
    else
      {
    left = local_ir;
      }
    zval *right = phc_const_pool_int_8;
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    add_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// goto L1166;
  {
    goto L1166;
    phc_check_invariants (TSRMLS_C);
  }
// L1174:
L1174:;
// $TEF39 = $TLE38;
  {
    if (local_TEF39 == NULL)
      {
    local_TEF39 = EG (uninitialized_zval_ptr);
    local_TEF39->refcount++;
      }
    zval **p_lhs = &local_TEF39;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
// Read normal variable
    zval *p_rhs_var;
    if (local_TLE38 == NULL)
      {
    p_rhs_var = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_rhs_var = local_TLE38;
      }
    p_rhs = &p_rhs_var;
    if (*p_lhs != *p_rhs)
      write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// goto L1175;
  {
    goto L1175;
    phc_check_invariants (TSRMLS_C);
  }
// L1187:
L1187:;
// $ra[$i] = $rra;
  {
    if (local_ra == NULL)
      {
    local_ra = EG (uninitialized_zval_ptr);
    local_ra->refcount++;
      }
    zval **p_lhs_var = &local_ra;
    zval *p_lhs_index;
    if (local_i == NULL)
      {
    p_lhs_index = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_lhs_index = local_i;
      }
    zval **p_lhs = get_ht_entry (p_lhs_var, p_lhs_index TSRMLS_CC);
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    zval *p_rhs_var;
    if (local_rra == NULL)
      {
    p_rhs_var = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_rhs_var = local_rra;
      }
// Read normal variable
    p_rhs = &p_rhs_var;

    if (*p_lhs != *p_rhs)
      write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// goto L1149;
  {
    goto L1149;
    phc_check_invariants (TSRMLS_C);
  }
// L1154:
L1154:;
// $TSi258 = $ra[$ir];
  {
    if (local_TSi258 == NULL)
      {
    local_TSi258 = EG (uninitialized_zval_ptr);
    local_TSi258->refcount++;
      }
    zval **p_lhs = &local_TSi258;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
// Read array variable
    zval *r_array;
    if (local_ra == NULL)
      {
    r_array = EG (uninitialized_zval_ptr);
      }
    else
      {
    r_array = local_ra;
      }
    zval *ra_index;
    if (local_ir == NULL)
      {
    ra_index = EG (uninitialized_zval_ptr);
      }
    else
      {
    ra_index = local_ir;
      }
    read_array (p_rhs, r_array, ra_index, &is_p_rhs_new TSRMLS_CC);
    if (*p_lhs != *p_rhs)
      write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// $rra = $TSi258;
  {
    if (local_rra == NULL)
      {
    local_rra = EG (uninitialized_zval_ptr);
    local_rra->refcount++;
      }
    zval **p_lhs = &local_rra;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
// Read normal variable
    zval *p_rhs_var;
    if (local_TSi258 == NULL)
      {
    p_rhs_var = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_rhs_var = local_TSi258;
      }
    p_rhs = &p_rhs_var;
    if (*p_lhs != *p_rhs)
      write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// $TSi260 = $ra[1];
  {
    if (local_TSi260 == NULL)
      {
    local_TSi260 = EG (uninitialized_zval_ptr);
    local_TSi260->refcount++;
      }
    zval **p_lhs = &local_TSi260;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
// Read array variable
    zval *r_array;
    if (local_ra == NULL)
      {
    r_array = EG (uninitialized_zval_ptr);
      }
    else
      {
    r_array = local_ra;
      }
    zval *ra_index = phc_const_pool_int_8;
    read_array (p_rhs, r_array, ra_index, &is_p_rhs_new TSRMLS_CC);
    if (*p_lhs != *p_rhs)
      write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// $ra[$ir] = $TSi260;
  {
    if (local_ra == NULL)
      {
    local_ra = EG (uninitialized_zval_ptr);
    local_ra->refcount++;
      }
    zval **p_lhs_var = &local_ra;
    zval *p_lhs_index;
    if (local_ir == NULL)
      {
    p_lhs_index = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_lhs_index = local_ir;
      }
    zval **p_lhs = get_ht_entry (p_lhs_var, p_lhs_index TSRMLS_CC);
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    zval *p_rhs_var;
    if (local_TSi260 == NULL)
      {
    p_rhs_var = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_rhs_var = local_TSi260;
      }
// Read normal variable
    p_rhs = &p_rhs_var;

    if (*p_lhs != *p_rhs)
      write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// --$ir;
  {
    if (local_ir == NULL)
      {
    local_ir = EG (uninitialized_zval_ptr);
    local_ir->refcount++;
      }
    zval **p_var = &local_ir;
    sep_copy_on_write_ex (p_var);
    decrement_function (*p_var);
    phc_check_invariants (TSRMLS_C);
  }
// $TLE262 = ($ir == 1);
  {
    if (local_TLE262 == NULL)
      {
    local_TLE262 = EG (uninitialized_zval_ptr);
    local_TLE262->refcount++;
      }
    zval **p_lhs = &local_TLE262;
    zval *left;
    if (local_ir == NULL)
      {
    left = EG (uninitialized_zval_ptr);
      }
    else
      {
    left = local_ir;
      }
    zval *right = phc_const_pool_int_8;
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    is_equal_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// if (TLE262) goto L1161 else goto L1164;
  {
    zval *p_cond;
    if (local_TLE262 == NULL)
      {
    p_cond = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_cond = local_TLE262;
      }
    zend_bool bcond = zend_is_true (p_cond);
    if (bcond)
      goto L1161;
    else
      goto L1164;
    phc_check_invariants (TSRMLS_C);
  }
// L1161:
L1161:;
// $ra[1] = $rra;
  {
    if (local_ra == NULL)
      {
    local_ra = EG (uninitialized_zval_ptr);
    local_ra->refcount++;
      }
    zval **p_lhs_var = &local_ra;
    zval *p_lhs_index = phc_const_pool_int_8;
    zval **p_lhs = get_ht_entry (p_lhs_var, p_lhs_index TSRMLS_CC);
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    zval *p_rhs_var;
    if (local_rra == NULL)
      {
    p_rhs_var = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_rhs_var = local_rra;
      }
// Read normal variable
    p_rhs = &p_rhs_var;

    if (*p_lhs != *p_rhs)
      write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// $TLE264 = NULL;
  {
    if (local_TLE264 == NULL)
      {
    local_TLE264 = EG (uninitialized_zval_ptr);
    local_TLE264->refcount++;
      }
    zval **p_lhs = &local_TLE264;
    if (phc_const_pool_null_0 != *p_lhs)
      write_var (p_lhs, &phc_const_pool_null_0, NULL TSRMLS_CC);
    phc_check_invariants (TSRMLS_C);
  }
// return $TLE264;
  {
    zval *rhs;
    if (local_TLE264 == NULL)
      {
    rhs = EG (uninitialized_zval_ptr);
      }
    else
      {
    rhs = local_TLE264;
      }
    return_value->value = rhs->value;
    return_value->type = rhs->type;
    zval_copy_ctor (return_value);
    goto end_of_function;
    phc_check_invariants (TSRMLS_C);
  }
// Method exit
end_of_function:__attribute__ ((unused));
  if (local_TEF39 != NULL)
    {
      zval_ptr_dtor (&local_TEF39);
    }
  if (local_TLE251 != NULL)
    {
      zval_ptr_dtor (&local_TLE251);
    }
  if (local_TLE256 != NULL)
    {
      zval_ptr_dtor (&local_TLE256);
    }
  if (local_TLE262 != NULL)
    {
      zval_ptr_dtor (&local_TLE262);
    }
  if (local_TLE264 != NULL)
    {
      zval_ptr_dtor (&local_TLE264);
    }
  if (local_TLE266 != NULL)
    {
      zval_ptr_dtor (&local_TLE266);
    }
  if (local_TLE270 != NULL)
    {
      zval_ptr_dtor (&local_TLE270);
    }
  if (local_TLE272 != NULL)
    {
      zval_ptr_dtor (&local_TLE272);
    }
  if (local_TLE274 != NULL)
    {
      zval_ptr_dtor (&local_TLE274);
    }
  if (local_TLE276 != NULL)
    {
      zval_ptr_dtor (&local_TLE276);
    }
  if (local_TLE38 != NULL)
    {
      zval_ptr_dtor (&local_TLE38);
    }
  if (local_TSi257 != NULL)
    {
      zval_ptr_dtor (&local_TSi257);
    }
  if (local_TSi258 != NULL)
    {
      zval_ptr_dtor (&local_TSi258);
    }
  if (local_TSi260 != NULL)
    {
      zval_ptr_dtor (&local_TSi260);
    }
  if (local_TSi268 != NULL)
    {
      zval_ptr_dtor (&local_TSi268);
    }
  if (local_TSi271 != NULL)
    {
      zval_ptr_dtor (&local_TSi271);
    }
  if (local_TSi273 != NULL)
    {
      zval_ptr_dtor (&local_TSi273);
    }
  if (local_TSi275 != NULL)
    {
      zval_ptr_dtor (&local_TSi275);
    }
  if (local_i != NULL)
    {
      zval_ptr_dtor (&local_i);
    }
  if (local_ir != NULL)
    {
      zval_ptr_dtor (&local_ir);
    }
  if (local_j != NULL)
    {
      zval_ptr_dtor (&local_j);
    }
  if (local_l != NULL)
    {
      zval_ptr_dtor (&local_l);
    }
  if (local_n != NULL)
    {
      zval_ptr_dtor (&local_n);
    }
  if (local_ra != NULL)
    {
      zval_ptr_dtor (&local_ra);
    }
  if (local_rra != NULL)
    {
      zval_ptr_dtor (&local_rra);
    }
}

// function heapsort($N)
// {
// \011global $LAST;
// \011define('IM', 139968);
// \011define('IA', 3877);
// \011define('IC', 29573);
// \011$LAST = 42;
// \011$i = 1;
// \011L1197:
// \011$TLE284 = ($i <= $N);
// \011if (TLE284) goto L1199 else goto L1201;
// \011L1201:
// \011heapsort_r($N, $ary);
// \011$TLE441 = param_is_ref (NULL, \"printf\", 0);
// \011;
// \011if (TLE441) goto L1204 else goto L1205;
// \011L1204:
// \011$TMIi440 =& $ary[$N];
// \011L1206:
// \011printf('%.10f
// ', $TMIi440);
// \011goto L1189;
// \011L1205:
// \011$TMIi440 = $ary[$N];
// \011goto L1206;
// \011L1199:
// \011$TLE286 = gen_random(1);
// \011$ary[$i] = $TLE286;
// \011++$i;
// \011goto L1197;
// \011L1189:
// }
PHP_FUNCTION (heapsort)
{
  zval *local_LAST = NULL;
  zval *local_N = NULL;
  zval *local_TLE284 = NULL;
  zval *local_TLE286 = NULL;
  zval *local_TLE441 = NULL;
  zval *local_TMIi440 = NULL;
  zval *local_ary = NULL;
  zval *local_i = NULL;
// Add all parameters as local variables
  {
    int num_args = ZEND_NUM_ARGS ();
    zval *params[1];
    zend_get_parameters_array (0, num_args, params);
// param 0
    params[0]->refcount++;
    local_N = params[0];
  }
// Function body
// global $LAST;
  {
// Normal global
    if (local_LAST == NULL)
      {
    local_LAST = EG (uninitialized_zval_ptr);
    local_LAST->refcount++;
      }
    zval **p_local_global_var = &local_LAST;
// Normal global
    zval **p_global_var =
      get_st_entry (&EG (symbol_table), "LAST", 5, 210680108793u TSRMLS_CC);
    copy_into_ref (p_local_global_var, p_global_var);
    phc_check_invariants (TSRMLS_C);
  }
// define('IM', 139968);
  {
    initialize_function_call (&define_fci, &define_fcic, "define",
                  "test/subjects/benchmarks/zend/bench.php",
                  251 TSRMLS_CC);
    zend_function *signature = define_fcic.function_handler;
    zend_arg_info *arg_info = signature->common.arg_info;
    int by_ref[2];
    if (arg_info)
      {
    by_ref[0] = arg_info->pass_by_reference;
    arg_info++;
      }
    else
      {
    by_ref[0] = signature->common.pass_rest_by_reference;
      }
    if (arg_info)
      {
    by_ref[1] = arg_info->pass_by_reference;
    arg_info++;
      }
    else
      {
    by_ref[1] = signature->common.pass_rest_by_reference;
      }
// Setup array of arguments
    int destruct[2];        // set to 1 if the arg is new
    zval *args[2];
    zval **args_ind[2];
    destruct[0] = 0;
    {
      zval *arg = phc_const_pool_string_13;
      args[0] = fetch_var_arg (arg, &destruct[0]);
      args_ind[0] = &args[0];
    }
    destruct[1] = 0;
    {
      zval *arg = phc_const_pool_int_16;
      args[1] = fetch_var_arg (arg, &destruct[1]);
      args_ind[1] = &args[1];
    }
    phc_setup_error (1, "<unknown>", 0, NULL TSRMLS_CC);
    int param_count_save = define_fci.param_count;
    zval ***params_save = define_fci.params;
    zval **retval_save = define_fci.retval_ptr_ptr;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    define_fci.params = args_ind;
    define_fci.param_count = 2;
    define_fci.retval_ptr_ptr = p_rhs;
    int success = zend_call_function (&define_fci, &define_fcic TSRMLS_CC);
    assert (success == SUCCESS);
    define_fci.params = params_save;
    define_fci.param_count = param_count_save;
    define_fci.retval_ptr_ptr = retval_save;
    phc_setup_error (0, NULL, 0, NULL TSRMLS_CC);
    is_p_rhs_new = 1;
    if (destruct[0])
      {
    assert (destruct[0] == 1);
    zval_ptr_dtor (args_ind[0]);
      }
    if (destruct[1])
      {
    assert (destruct[1] == 1);
    zval_ptr_dtor (args_ind[1]);
      }
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// define('IA', 3877);
  {
    initialize_function_call (&define_fci, &define_fcic, "define",
                  "test/subjects/benchmarks/zend/bench.php",
                  252 TSRMLS_CC);
    zend_function *signature = define_fcic.function_handler;
    zend_arg_info *arg_info = signature->common.arg_info;
    int by_ref[2];
    if (arg_info)
      {
    by_ref[0] = arg_info->pass_by_reference;
    arg_info++;
      }
    else
      {
    by_ref[0] = signature->common.pass_rest_by_reference;
      }
    if (arg_info)
      {
    by_ref[1] = arg_info->pass_by_reference;
    arg_info++;
      }
    else
      {
    by_ref[1] = signature->common.pass_rest_by_reference;
      }
// Setup array of arguments
    int destruct[2];        // set to 1 if the arg is new
    zval *args[2];
    zval **args_ind[2];
    destruct[0] = 0;
    {
      zval *arg = phc_const_pool_string_14;
      args[0] = fetch_var_arg (arg, &destruct[0]);
      args_ind[0] = &args[0];
    }
    destruct[1] = 0;
    {
      zval *arg = phc_const_pool_int_17;
      args[1] = fetch_var_arg (arg, &destruct[1]);
      args_ind[1] = &args[1];
    }
    phc_setup_error (1, "<unknown>", 0, NULL TSRMLS_CC);
    int param_count_save = define_fci.param_count;
    zval ***params_save = define_fci.params;
    zval **retval_save = define_fci.retval_ptr_ptr;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    define_fci.params = args_ind;
    define_fci.param_count = 2;
    define_fci.retval_ptr_ptr = p_rhs;
    int success = zend_call_function (&define_fci, &define_fcic TSRMLS_CC);
    assert (success == SUCCESS);
    define_fci.params = params_save;
    define_fci.param_count = param_count_save;
    define_fci.retval_ptr_ptr = retval_save;
    phc_setup_error (0, NULL, 0, NULL TSRMLS_CC);
    is_p_rhs_new = 1;
    if (destruct[0])
      {
    assert (destruct[0] == 1);
    zval_ptr_dtor (args_ind[0]);
      }
    if (destruct[1])
      {
    assert (destruct[1] == 1);
    zval_ptr_dtor (args_ind[1]);
      }
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// define('IC', 29573);
  {
    initialize_function_call (&define_fci, &define_fcic, "define",
                  "test/subjects/benchmarks/zend/bench.php",
                  253 TSRMLS_CC);
    zend_function *signature = define_fcic.function_handler;
    zend_arg_info *arg_info = signature->common.arg_info;
    int by_ref[2];
    if (arg_info)
      {
    by_ref[0] = arg_info->pass_by_reference;
    arg_info++;
      }
    else
      {
    by_ref[0] = signature->common.pass_rest_by_reference;
      }
    if (arg_info)
      {
    by_ref[1] = arg_info->pass_by_reference;
    arg_info++;
      }
    else
      {
    by_ref[1] = signature->common.pass_rest_by_reference;
      }
// Setup array of arguments
    int destruct[2];        // set to 1 if the arg is new
    zval *args[2];
    zval **args_ind[2];
    destruct[0] = 0;
    {
      zval *arg = phc_const_pool_string_15;
      args[0] = fetch_var_arg (arg, &destruct[0]);
      args_ind[0] = &args[0];
    }
    destruct[1] = 0;
    {
      zval *arg = phc_const_pool_int_18;
      args[1] = fetch_var_arg (arg, &destruct[1]);
      args_ind[1] = &args[1];
    }
    phc_setup_error (1, "<unknown>", 0, NULL TSRMLS_CC);
    int param_count_save = define_fci.param_count;
    zval ***params_save = define_fci.params;
    zval **retval_save = define_fci.retval_ptr_ptr;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    define_fci.params = args_ind;
    define_fci.param_count = 2;
    define_fci.retval_ptr_ptr = p_rhs;
    int success = zend_call_function (&define_fci, &define_fcic TSRMLS_CC);
    assert (success == SUCCESS);
    define_fci.params = params_save;
    define_fci.param_count = param_count_save;
    define_fci.retval_ptr_ptr = retval_save;
    phc_setup_error (0, NULL, 0, NULL TSRMLS_CC);
    is_p_rhs_new = 1;
    if (destruct[0])
      {
    assert (destruct[0] == 1);
    zval_ptr_dtor (args_ind[0]);
      }
    if (destruct[1])
      {
    assert (destruct[1] == 1);
    zval_ptr_dtor (args_ind[1]);
      }
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// $LAST = 42;
  {
    if (local_LAST == NULL)
      {
    local_LAST = EG (uninitialized_zval_ptr);
    local_LAST->refcount++;
      }
    zval **p_lhs = &local_LAST;
    if (phc_const_pool_int_19 != *p_lhs)
      write_var (p_lhs, &phc_const_pool_int_19, NULL TSRMLS_CC);
    phc_check_invariants (TSRMLS_C);
  }
// $i = 1;
  {
    if (local_i == NULL)
      {
    local_i = EG (uninitialized_zval_ptr);
    local_i->refcount++;
      }
    zval **p_lhs = &local_i;
    if (phc_const_pool_int_8 != *p_lhs)
      write_var (p_lhs, &phc_const_pool_int_8, NULL TSRMLS_CC);
    phc_check_invariants (TSRMLS_C);
  }
// L1197:
L1197:;
// $TLE284 = ($i <= $N);
  {
    if (local_TLE284 == NULL)
      {
    local_TLE284 = EG (uninitialized_zval_ptr);
    local_TLE284->refcount++;
      }
    zval **p_lhs = &local_TLE284;
    zval *left;
    if (local_i == NULL)
      {
    left = EG (uninitialized_zval_ptr);
      }
    else
      {
    left = local_i;
      }
    zval *right;
    if (local_N == NULL)
      {
    right = EG (uninitialized_zval_ptr);
      }
    else
      {
    right = local_N;
      }
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    is_smaller_or_equal_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// if (TLE284) goto L1199 else goto L1201;
  {
    zval *p_cond;
    if (local_TLE284 == NULL)
      {
    p_cond = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_cond = local_TLE284;
      }
    zend_bool bcond = zend_is_true (p_cond);
    if (bcond)
      goto L1199;
    else
      goto L1201;
    phc_check_invariants (TSRMLS_C);
  }
// L1201:
L1201:;
// heapsort_r($N, $ary);
  {
    initialize_function_call (&heapsort_r_fci, &heapsort_r_fcic, "heapsort_r",
                  "test/subjects/benchmarks/zend/bench.php",
                  259 TSRMLS_CC);
    zend_function *signature = heapsort_r_fcic.function_handler;
    zend_arg_info *arg_info = signature->common.arg_info;
    int by_ref[2];
    if (arg_info)
      {
    by_ref[0] = arg_info->pass_by_reference;
    arg_info++;
      }
    else
      {
    by_ref[0] = signature->common.pass_rest_by_reference;
      }
    if (arg_info)
      {
    by_ref[1] = arg_info->pass_by_reference;
    arg_info++;
      }
    else
      {
    by_ref[1] = signature->common.pass_rest_by_reference;
      }
// Setup array of arguments
    int destruct[2];        // set to 1 if the arg is new
    zval *args[2];
    zval **args_ind[2];
    destruct[0] = 0;
    {
      zval *arg;
      if (local_N == NULL)
    {
      arg = EG (uninitialized_zval_ptr);
    }
      else
    {
      arg = local_N;
    }
      args[0] = fetch_var_arg (arg, &destruct[0]);
      args_ind[0] = &args[0];
    }
    destruct[1] = 0;
    {
      if (local_ary == NULL)
    {
      local_ary = EG (uninitialized_zval_ptr);
      local_ary->refcount++;
    }
      zval **p_arg = &local_ary;
      args_ind[1] = fetch_var_arg_by_ref (p_arg);
      assert (!in_copy_on_write (*args_ind[1]));
      args[1] = *args_ind[1];
    }
    phc_setup_error (1, "<unknown>", 0, NULL TSRMLS_CC);
    int param_count_save = heapsort_r_fci.param_count;
    zval ***params_save = heapsort_r_fci.params;
    zval **retval_save = heapsort_r_fci.retval_ptr_ptr;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    heapsort_r_fci.params = args_ind;
    heapsort_r_fci.param_count = 2;
    heapsort_r_fci.retval_ptr_ptr = p_rhs;
    int success =
      zend_call_function (&heapsort_r_fci, &heapsort_r_fcic TSRMLS_CC);
    assert (success == SUCCESS);
    heapsort_r_fci.params = params_save;
    heapsort_r_fci.param_count = param_count_save;
    heapsort_r_fci.retval_ptr_ptr = retval_save;
    phc_setup_error (0, NULL, 0, NULL TSRMLS_CC);
    is_p_rhs_new = 1;
    if (destruct[0])
      {
    assert (destruct[0] == 1);
    zval_ptr_dtor (args_ind[0]);
      }
    if (destruct[1])
      {
    assert (destruct[1] == 1);
    zval_ptr_dtor (args_ind[1]);
      }
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// $TLE441 = param_is_ref (NULL, \"printf\", 0);
// ;
  {
    if (local_TLE441 == NULL)
      {
    local_TLE441 = EG (uninitialized_zval_ptr);
    local_TLE441->refcount++;
      }
    zval **p_lhs = &local_TLE441;
    initialize_function_call (&printf_fci, &printf_fcic, "printf",
                  "<unknown>", 0 TSRMLS_CC);
    zend_function *signature = printf_fcic.function_handler;
    zend_arg_info *arg_info = signature->common.arg_info;
    int count = 0;
    while (arg_info && count < 0)
      {
    count++;
    arg_info++;
      }
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    p_rhs = p_lhs;
    zvp_clone (p_rhs, &is_p_rhs_new);
    if (count == 0)
      {
    ZVAL_BOOL (*p_rhs, arg_info->pass_by_reference);
      }
    else
      {
    ZVAL_BOOL (*p_rhs, signature->common.pass_rest_by_reference);
      }
    write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// if (TLE441) goto L1204 else goto L1205;
  {
    zval *p_cond;
    if (local_TLE441 == NULL)
      {
    p_cond = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_cond = local_TLE441;
      }
    zend_bool bcond = zend_is_true (p_cond);
    if (bcond)
      goto L1204;
    else
      goto L1205;
    phc_check_invariants (TSRMLS_C);
  }
// L1204:
L1204:;
// $TMIi440 =& $ary[$N];
  {
    if (local_TMIi440 == NULL)
      {
    local_TMIi440 = EG (uninitialized_zval_ptr);
    local_TMIi440->refcount++;
      }
    zval **p_lhs = &local_TMIi440;
    if (local_ary == NULL)
      {
    local_ary = EG (uninitialized_zval_ptr);
    local_ary->refcount++;
      }
    zval **p_rhs_var = &local_ary;
    zval *p_rhs_index;
    if (local_N == NULL)
      {
    p_rhs_index = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_rhs_index = local_N;
      }
    zval **p_rhs = get_ht_entry (p_rhs_var, p_rhs_index TSRMLS_CC);
    copy_into_ref (p_lhs, p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// L1206:
L1206:;
// printf('%.10f
// ', $TMIi440);
  {
    initialize_function_call (&printf_fci, &printf_fcic, "printf",
                  "test/subjects/benchmarks/zend/bench.php",
                  260 TSRMLS_CC);
    zend_function *signature = printf_fcic.function_handler;
    zend_arg_info *arg_info = signature->common.arg_info;
    int by_ref[2];
    if (arg_info)
      {
    by_ref[0] = arg_info->pass_by_reference;
    arg_info++;
      }
    else
      {
    by_ref[0] = signature->common.pass_rest_by_reference;
      }
    if (arg_info)
      {
    by_ref[1] = arg_info->pass_by_reference;
    arg_info++;
      }
    else
      {
    by_ref[1] = signature->common.pass_rest_by_reference;
      }
// Setup array of arguments
    int destruct[2];        // set to 1 if the arg is new
    zval *args[2];
    zval **args_ind[2];
    destruct[0] = 0;
    {
      zval *arg = phc_const_pool_string_16;
      args[0] = fetch_var_arg (arg, &destruct[0]);
      args_ind[0] = &args[0];
    }
    destruct[1] = 0;
    {
      zval *arg;
      if (local_TMIi440 == NULL)
    {
      arg = EG (uninitialized_zval_ptr);
    }
      else
    {
      arg = local_TMIi440;
    }
      args[1] = fetch_var_arg (arg, &destruct[1]);
      args_ind[1] = &args[1];
    }
    phc_setup_error (1, "<unknown>", 0, NULL TSRMLS_CC);
    int param_count_save = printf_fci.param_count;
    zval ***params_save = printf_fci.params;
    zval **retval_save = printf_fci.retval_ptr_ptr;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    printf_fci.params = args_ind;
    printf_fci.param_count = 2;
    printf_fci.retval_ptr_ptr = p_rhs;
    int success = zend_call_function (&printf_fci, &printf_fcic TSRMLS_CC);
    assert (success == SUCCESS);
    printf_fci.params = params_save;
    printf_fci.param_count = param_count_save;
    printf_fci.retval_ptr_ptr = retval_save;
    phc_setup_error (0, NULL, 0, NULL TSRMLS_CC);
    is_p_rhs_new = 1;
    if (destruct[0])
      {
    assert (destruct[0] == 1);
    zval_ptr_dtor (args_ind[0]);
      }
    if (destruct[1])
      {
    assert (destruct[1] == 1);
    zval_ptr_dtor (args_ind[1]);
      }
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// goto L1189;
  {
    goto L1189;
    phc_check_invariants (TSRMLS_C);
  }
// L1205:
L1205:;
// $TMIi440 = $ary[$N];
  {
    if (local_TMIi440 == NULL)
      {
    local_TMIi440 = EG (uninitialized_zval_ptr);
    local_TMIi440->refcount++;
      }
    zval **p_lhs = &local_TMIi440;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
// Read array variable
    zval *r_array;
    if (local_ary == NULL)
      {
    r_array = EG (uninitialized_zval_ptr);
      }
    else
      {
    r_array = local_ary;
      }
    zval *ra_index;
    if (local_N == NULL)
      {
    ra_index = EG (uninitialized_zval_ptr);
      }
    else
      {
    ra_index = local_N;
      }
    read_array (p_rhs, r_array, ra_index, &is_p_rhs_new TSRMLS_CC);
    if (*p_lhs != *p_rhs)
      write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// goto L1206;
  {
    goto L1206;
    phc_check_invariants (TSRMLS_C);
  }
// L1199:
L1199:;
// $TLE286 = gen_random(1);
  {
    if (local_TLE286 == NULL)
      {
    local_TLE286 = EG (uninitialized_zval_ptr);
    local_TLE286->refcount++;
      }
    zval **p_lhs = &local_TLE286;
    initialize_function_call (&gen_random_fci, &gen_random_fcic, "gen_random",
                  "test/subjects/benchmarks/zend/bench.php",
                  257 TSRMLS_CC);
    zend_function *signature = gen_random_fcic.function_handler;
    zend_arg_info *arg_info = signature->common.arg_info;
    int by_ref[1];
    if (arg_info)
      {
    by_ref[0] = arg_info->pass_by_reference;
    arg_info++;
      }
    else
      {
    by_ref[0] = signature->common.pass_rest_by_reference;
      }
// Setup array of arguments
    int destruct[1];        // set to 1 if the arg is new
    zval *args[1];
    zval **args_ind[1];
    destruct[0] = 0;
    {
      zval *arg = phc_const_pool_int_8;
      args[0] = fetch_var_arg (arg, &destruct[0]);
      args_ind[0] = &args[0];
    }
    phc_setup_error (1, "<unknown>", 0, NULL TSRMLS_CC);
    int param_count_save = gen_random_fci.param_count;
    zval ***params_save = gen_random_fci.params;
    zval **retval_save = gen_random_fci.retval_ptr_ptr;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    gen_random_fci.params = args_ind;
    gen_random_fci.param_count = 1;
    gen_random_fci.retval_ptr_ptr = p_rhs;
    int success =
      zend_call_function (&gen_random_fci, &gen_random_fcic TSRMLS_CC);
    assert (success == SUCCESS);
    gen_random_fci.params = params_save;
    gen_random_fci.param_count = param_count_save;
    gen_random_fci.retval_ptr_ptr = retval_save;
    phc_setup_error (0, NULL, 0, NULL TSRMLS_CC);
    is_p_rhs_new = 1;
    if (destruct[0])
      {
    assert (destruct[0] == 1);
    zval_ptr_dtor (args_ind[0]);
      }
    write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// $ary[$i] = $TLE286;
  {
    if (local_ary == NULL)
      {
    local_ary = EG (uninitialized_zval_ptr);
    local_ary->refcount++;
      }
    zval **p_lhs_var = &local_ary;
    zval *p_lhs_index;
    if (local_i == NULL)
      {
    p_lhs_index = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_lhs_index = local_i;
      }
    zval **p_lhs = get_ht_entry (p_lhs_var, p_lhs_index TSRMLS_CC);
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    zval *p_rhs_var;
    if (local_TLE286 == NULL)
      {
    p_rhs_var = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_rhs_var = local_TLE286;
      }
// Read normal variable
    p_rhs = &p_rhs_var;

    if (*p_lhs != *p_rhs)
      write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// ++$i;
  {
    if (local_i == NULL)
      {
    local_i = EG (uninitialized_zval_ptr);
    local_i->refcount++;
      }
    zval **p_var = &local_i;
    sep_copy_on_write_ex (p_var);
    increment_function (*p_var);
    phc_check_invariants (TSRMLS_C);
  }
// goto L1197;
  {
    goto L1197;
    phc_check_invariants (TSRMLS_C);
  }
// L1189:
L1189:;
// Method exit
end_of_function:__attribute__ ((unused));
  if (local_LAST != NULL)
    {
      zval_ptr_dtor (&local_LAST);
    }
  if (local_N != NULL)
    {
      zval_ptr_dtor (&local_N);
    }
  if (local_TLE284 != NULL)
    {
      zval_ptr_dtor (&local_TLE284);
    }
  if (local_TLE286 != NULL)
    {
      zval_ptr_dtor (&local_TLE286);
    }
  if (local_TLE441 != NULL)
    {
      zval_ptr_dtor (&local_TLE441);
    }
  if (local_TMIi440 != NULL)
    {
      zval_ptr_dtor (&local_TMIi440);
    }
  if (local_ary != NULL)
    {
      zval_ptr_dtor (&local_ary);
    }
  if (local_i != NULL)
    {
      zval_ptr_dtor (&local_i);
    }
}

// function mkmatrix($rows, $cols)
// {
// \011$count = 1;
// \011unset($TSa288);
// \011$TSa288 = (array) $TSa288;
// \011$mx = $TSa288;
// \011$i = 0;
// \011L1215:
// \011$TLE289 = ($i < $rows);
// \011if (TLE289) goto L1217 else goto L1225;
// \011L1217:
// \011$j = 0;
// \011L1219:
// \011$TLE290 = ($j < $cols);
// \011if (TLE290) goto L1221 else goto L1214;
// \011L1221:
// \011$TS42 = $count;
// \011++$count;
// \011$TSi291 =& $mx[$i];
// \011$TSi291[$j] = $TS42;
// \011++$j;
// \011goto L1219;
// \011L1214:
// \011++$i;
// \011goto L1215;
// \011L1225:
// \011return $mx;
// }
PHP_FUNCTION (mkmatrix)
{
  zval *local_TLE289 = NULL;
  zval *local_TLE290 = NULL;
  zval *local_TS42 = NULL;
  zval *local_TSa288 = NULL;
  zval *local_TSi291 = NULL;
  zval *local_cols = NULL;
  zval *local_count = NULL;
  zval *local_i = NULL;
  zval *local_j = NULL;
  zval *local_mx = NULL;
  zval *local_rows = NULL;
// Add all parameters as local variables
  {
    int num_args = ZEND_NUM_ARGS ();
    zval *params[2];
    zend_get_parameters_array (0, num_args, params);
// param 0
    params[0]->refcount++;
    local_rows = params[0];
// param 1
    params[1]->refcount++;
    local_cols = params[1];
  }
// Function body
// $count = 1;
  {
    if (local_count == NULL)
      {
    local_count = EG (uninitialized_zval_ptr);
    local_count->refcount++;
      }
    zval **p_lhs = &local_count;
    if (phc_const_pool_int_8 != *p_lhs)
      write_var (p_lhs, &phc_const_pool_int_8, NULL TSRMLS_CC);
    phc_check_invariants (TSRMLS_C);
  }
// unset($TSa288);
  {
    if (local_TSa288 != NULL)
      {
    zval_ptr_dtor (&local_TSa288);
    local_TSa288 = NULL;
      }
    phc_check_invariants (TSRMLS_C);
  }
// $TSa288 = (array) $TSa288;
  {
    if (local_TSa288 == NULL)
      {
    local_TSa288 = EG (uninitialized_zval_ptr);
    local_TSa288->refcount++;
      }
    zval **p_lhs = &local_TSa288;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
// Read normal variable
    zval *p_rhs_var;
    if (local_TSa288 == NULL)
      {
    p_rhs_var = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_rhs_var = local_TSa288;
      }
    p_rhs = &p_rhs_var;
    if (*p_lhs != *p_rhs)
      write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    cast_var (p_lhs, IS_ARRAY);
    phc_check_invariants (TSRMLS_C);
  }
// $mx = $TSa288;
  {
    if (local_mx == NULL)
      {
    local_mx = EG (uninitialized_zval_ptr);
    local_mx->refcount++;
      }
    zval **p_lhs = &local_mx;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
// Read normal variable
    zval *p_rhs_var;
    if (local_TSa288 == NULL)
      {
    p_rhs_var = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_rhs_var = local_TSa288;
      }
    p_rhs = &p_rhs_var;
    if (*p_lhs != *p_rhs)
      write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// $i = 0;
  {
    if (local_i == NULL)
      {
    local_i = EG (uninitialized_zval_ptr);
    local_i->refcount++;
      }
    zval **p_lhs = &local_i;
    if (phc_const_pool_int_0 != *p_lhs)
      write_var (p_lhs, &phc_const_pool_int_0, NULL TSRMLS_CC);
    phc_check_invariants (TSRMLS_C);
  }
// L1215:
L1215:;
// $TLE289 = ($i < $rows);
  {
    if (local_TLE289 == NULL)
      {
    local_TLE289 = EG (uninitialized_zval_ptr);
    local_TLE289->refcount++;
      }
    zval **p_lhs = &local_TLE289;
    zval *left;
    if (local_i == NULL)
      {
    left = EG (uninitialized_zval_ptr);
      }
    else
      {
    left = local_i;
      }
    zval *right;
    if (local_rows == NULL)
      {
    right = EG (uninitialized_zval_ptr);
      }
    else
      {
    right = local_rows;
      }
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    is_smaller_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// if (TLE289) goto L1217 else goto L1225;
  {
    zval *p_cond;
    if (local_TLE289 == NULL)
      {
    p_cond = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_cond = local_TLE289;
      }
    zend_bool bcond = zend_is_true (p_cond);
    if (bcond)
      goto L1217;
    else
      goto L1225;
    phc_check_invariants (TSRMLS_C);
  }
// L1217:
L1217:;
// $j = 0;
  {
    if (local_j == NULL)
      {
    local_j = EG (uninitialized_zval_ptr);
    local_j->refcount++;
      }
    zval **p_lhs = &local_j;
    if (phc_const_pool_int_0 != *p_lhs)
      write_var (p_lhs, &phc_const_pool_int_0, NULL TSRMLS_CC);
    phc_check_invariants (TSRMLS_C);
  }
// L1219:
L1219:;
// $TLE290 = ($j < $cols);
  {
    if (local_TLE290 == NULL)
      {
    local_TLE290 = EG (uninitialized_zval_ptr);
    local_TLE290->refcount++;
      }
    zval **p_lhs = &local_TLE290;
    zval *left;
    if (local_j == NULL)
      {
    left = EG (uninitialized_zval_ptr);
      }
    else
      {
    left = local_j;
      }
    zval *right;
    if (local_cols == NULL)
      {
    right = EG (uninitialized_zval_ptr);
      }
    else
      {
    right = local_cols;
      }
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    is_smaller_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// if (TLE290) goto L1221 else goto L1214;
  {
    zval *p_cond;
    if (local_TLE290 == NULL)
      {
    p_cond = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_cond = local_TLE290;
      }
    zend_bool bcond = zend_is_true (p_cond);
    if (bcond)
      goto L1221;
    else
      goto L1214;
    phc_check_invariants (TSRMLS_C);
  }
// L1221:
L1221:;
// $TS42 = $count;
  {
    if (local_TS42 == NULL)
      {
    local_TS42 = EG (uninitialized_zval_ptr);
    local_TS42->refcount++;
      }
    zval **p_lhs = &local_TS42;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
// Read normal variable
    zval *p_rhs_var;
    if (local_count == NULL)
      {
    p_rhs_var = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_rhs_var = local_count;
      }
    p_rhs = &p_rhs_var;
    if (*p_lhs != *p_rhs)
      write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// ++$count;
  {
    if (local_count == NULL)
      {
    local_count = EG (uninitialized_zval_ptr);
    local_count->refcount++;
      }
    zval **p_var = &local_count;
    sep_copy_on_write_ex (p_var);
    increment_function (*p_var);
    phc_check_invariants (TSRMLS_C);
  }
// $TSi291 =& $mx[$i];
  {
    if (local_TSi291 == NULL)
      {
    local_TSi291 = EG (uninitialized_zval_ptr);
    local_TSi291->refcount++;
      }
    zval **p_lhs = &local_TSi291;
    if (local_mx == NULL)
      {
    local_mx = EG (uninitialized_zval_ptr);
    local_mx->refcount++;
      }
    zval **p_rhs_var = &local_mx;
    zval *p_rhs_index;
    if (local_i == NULL)
      {
    p_rhs_index = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_rhs_index = local_i;
      }
    zval **p_rhs = get_ht_entry (p_rhs_var, p_rhs_index TSRMLS_CC);
    copy_into_ref (p_lhs, p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// $TSi291[$j] = $TS42;
  {
    if (local_TSi291 == NULL)
      {
    local_TSi291 = EG (uninitialized_zval_ptr);
    local_TSi291->refcount++;
      }
    zval **p_lhs_var = &local_TSi291;
    zval *p_lhs_index;
    if (local_j == NULL)
      {
    p_lhs_index = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_lhs_index = local_j;
      }
    zval **p_lhs = get_ht_entry (p_lhs_var, p_lhs_index TSRMLS_CC);
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    zval *p_rhs_var;
    if (local_TS42 == NULL)
      {
    p_rhs_var = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_rhs_var = local_TS42;
      }
// Read normal variable
    p_rhs = &p_rhs_var;

    if (*p_lhs != *p_rhs)
      write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// ++$j;
  {
    if (local_j == NULL)
      {
    local_j = EG (uninitialized_zval_ptr);
    local_j->refcount++;
      }
    zval **p_var = &local_j;
    sep_copy_on_write_ex (p_var);
    increment_function (*p_var);
    phc_check_invariants (TSRMLS_C);
  }
// goto L1219;
  {
    goto L1219;
    phc_check_invariants (TSRMLS_C);
  }
// L1214:
L1214:;
// ++$i;
  {
    if (local_i == NULL)
      {
    local_i = EG (uninitialized_zval_ptr);
    local_i->refcount++;
      }
    zval **p_var = &local_i;
    sep_copy_on_write_ex (p_var);
    increment_function (*p_var);
    phc_check_invariants (TSRMLS_C);
  }
// goto L1215;
  {
    goto L1215;
    phc_check_invariants (TSRMLS_C);
  }
// L1225:
L1225:;
// return $mx;
  {
    zval *rhs;
    if (local_mx == NULL)
      {
    rhs = EG (uninitialized_zval_ptr);
      }
    else
      {
    rhs = local_mx;
      }
    return_value->value = rhs->value;
    return_value->type = rhs->type;
    zval_copy_ctor (return_value);
    goto end_of_function;
    phc_check_invariants (TSRMLS_C);
  }
// Method exit
end_of_function:__attribute__ ((unused));
  if (local_TLE289 != NULL)
    {
      zval_ptr_dtor (&local_TLE289);
    }
  if (local_TLE290 != NULL)
    {
      zval_ptr_dtor (&local_TLE290);
    }
  if (local_TS42 != NULL)
    {
      zval_ptr_dtor (&local_TS42);
    }
  if (local_TSa288 != NULL)
    {
      zval_ptr_dtor (&local_TSa288);
    }
  if (local_TSi291 != NULL)
    {
      zval_ptr_dtor (&local_TSi291);
    }
  if (local_cols != NULL)
    {
      zval_ptr_dtor (&local_cols);
    }
  if (local_count != NULL)
    {
      zval_ptr_dtor (&local_count);
    }
  if (local_i != NULL)
    {
      zval_ptr_dtor (&local_i);
    }
  if (local_j != NULL)
    {
      zval_ptr_dtor (&local_j);
    }
  if (local_mx != NULL)
    {
      zval_ptr_dtor (&local_mx);
    }
  if (local_rows != NULL)
    {
      zval_ptr_dtor (&local_rows);
    }
}

// function mmult($rows, $cols, $m1, $m2)
// {
// \011unset($TSa292);
// \011$TSa292 = (array) $TSa292;
// \011$m3 = $TSa292;
// \011$i = 0;
// \011L1233:
// \011$TLE293 = ($i < $rows);
// \011if (TLE293) goto L1235 else goto L1252;
// \011L1235:
// \011$j = 0;
// \011L1237:
// \011$TLE294 = ($j < $cols);
// \011if (TLE294) goto L1239 else goto L1232;
// \011L1239:
// \011$x = 0;
// \011$k = 0;
// \011L1242:
// \011$TLE295 = ($k < $cols);
// \011if (TLE295) goto L1244 else goto L1250;
// \011L1244:
// \011$TSi296 = $m1[$i];
// \011$TSi297 = $TSi296[$k];
// \011$TSi298 = $m2[$k];
// \011$TSi299 = $TSi298[$j];
// \011$TLE300 = ($TSi297 * $TSi299);
// \011$x = ($x + $TLE300);
// \011++$k;
// \011goto L1242;
// \011L1250:
// \011$TSi301 =& $m3[$i];
// \011$TSi301[$j] = $x;
// \011++$j;
// \011goto L1237;
// \011L1232:
// \011++$i;
// \011goto L1233;
// \011L1252:
// \011return $m3;
// }
PHP_FUNCTION (mmult)
{
  zval *local_TLE293 = NULL;
  zval *local_TLE294 = NULL;
  zval *local_TLE295 = NULL;
  zval *local_TLE300 = NULL;
  zval *local_TSa292 = NULL;
  zval *local_TSi296 = NULL;
  zval *local_TSi297 = NULL;
  zval *local_TSi298 = NULL;
  zval *local_TSi299 = NULL;
  zval *local_TSi301 = NULL;
  zval *local_cols = NULL;
  zval *local_i = NULL;
  zval *local_j = NULL;
  zval *local_k = NULL;
  zval *local_m1 = NULL;
  zval *local_m2 = NULL;
  zval *local_m3 = NULL;
  zval *local_rows = NULL;
  zval *local_x = NULL;
// Add all parameters as local variables
  {
    int num_args = ZEND_NUM_ARGS ();
    zval *params[4];
    zend_get_parameters_array (0, num_args, params);
// param 0
    params[0]->refcount++;
    local_rows = params[0];
// param 1
    params[1]->refcount++;
    local_cols = params[1];
// param 2
    params[2]->refcount++;
    local_m1 = params[2];
// param 3
    params[3]->refcount++;
    local_m2 = params[3];
  }
// Function body
// unset($TSa292);
  {
    if (local_TSa292 != NULL)
      {
    zval_ptr_dtor (&local_TSa292);
    local_TSa292 = NULL;
      }
    phc_check_invariants (TSRMLS_C);
  }
// $TSa292 = (array) $TSa292;
  {
    if (local_TSa292 == NULL)
      {
    local_TSa292 = EG (uninitialized_zval_ptr);
    local_TSa292->refcount++;
      }
    zval **p_lhs = &local_TSa292;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
// Read normal variable
    zval *p_rhs_var;
    if (local_TSa292 == NULL)
      {
    p_rhs_var = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_rhs_var = local_TSa292;
      }
    p_rhs = &p_rhs_var;
    if (*p_lhs != *p_rhs)
      write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    cast_var (p_lhs, IS_ARRAY);
    phc_check_invariants (TSRMLS_C);
  }
// $m3 = $TSa292;
  {
    if (local_m3 == NULL)
      {
    local_m3 = EG (uninitialized_zval_ptr);
    local_m3->refcount++;
      }
    zval **p_lhs = &local_m3;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
// Read normal variable
    zval *p_rhs_var;
    if (local_TSa292 == NULL)
      {
    p_rhs_var = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_rhs_var = local_TSa292;
      }
    p_rhs = &p_rhs_var;
    if (*p_lhs != *p_rhs)
      write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// $i = 0;
  {
    if (local_i == NULL)
      {
    local_i = EG (uninitialized_zval_ptr);
    local_i->refcount++;
      }
    zval **p_lhs = &local_i;
    if (phc_const_pool_int_0 != *p_lhs)
      write_var (p_lhs, &phc_const_pool_int_0, NULL TSRMLS_CC);
    phc_check_invariants (TSRMLS_C);
  }
// L1233:
L1233:;
// $TLE293 = ($i < $rows);
  {
    if (local_TLE293 == NULL)
      {
    local_TLE293 = EG (uninitialized_zval_ptr);
    local_TLE293->refcount++;
      }
    zval **p_lhs = &local_TLE293;
    zval *left;
    if (local_i == NULL)
      {
    left = EG (uninitialized_zval_ptr);
      }
    else
      {
    left = local_i;
      }
    zval *right;
    if (local_rows == NULL)
      {
    right = EG (uninitialized_zval_ptr);
      }
    else
      {
    right = local_rows;
      }
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    is_smaller_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// if (TLE293) goto L1235 else goto L1252;
  {
    zval *p_cond;
    if (local_TLE293 == NULL)
      {
    p_cond = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_cond = local_TLE293;
      }
    zend_bool bcond = zend_is_true (p_cond);
    if (bcond)
      goto L1235;
    else
      goto L1252;
    phc_check_invariants (TSRMLS_C);
  }
// L1235:
L1235:;
// $j = 0;
  {
    if (local_j == NULL)
      {
    local_j = EG (uninitialized_zval_ptr);
    local_j->refcount++;
      }
    zval **p_lhs = &local_j;
    if (phc_const_pool_int_0 != *p_lhs)
      write_var (p_lhs, &phc_const_pool_int_0, NULL TSRMLS_CC);
    phc_check_invariants (TSRMLS_C);
  }
// L1237:
L1237:;
// $TLE294 = ($j < $cols);
  {
    if (local_TLE294 == NULL)
      {
    local_TLE294 = EG (uninitialized_zval_ptr);
    local_TLE294->refcount++;
      }
    zval **p_lhs = &local_TLE294;
    zval *left;
    if (local_j == NULL)
      {
    left = EG (uninitialized_zval_ptr);
      }
    else
      {
    left = local_j;
      }
    zval *right;
    if (local_cols == NULL)
      {
    right = EG (uninitialized_zval_ptr);
      }
    else
      {
    right = local_cols;
      }
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    is_smaller_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// if (TLE294) goto L1239 else goto L1232;
  {
    zval *p_cond;
    if (local_TLE294 == NULL)
      {
    p_cond = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_cond = local_TLE294;
      }
    zend_bool bcond = zend_is_true (p_cond);
    if (bcond)
      goto L1239;
    else
      goto L1232;
    phc_check_invariants (TSRMLS_C);
  }
// L1239:
L1239:;
// $x = 0;
  {
    if (local_x == NULL)
      {
    local_x = EG (uninitialized_zval_ptr);
    local_x->refcount++;
      }
    zval **p_lhs = &local_x;
    if (phc_const_pool_int_0 != *p_lhs)
      write_var (p_lhs, &phc_const_pool_int_0, NULL TSRMLS_CC);
    phc_check_invariants (TSRMLS_C);
  }
// $k = 0;
  {
    if (local_k == NULL)
      {
    local_k = EG (uninitialized_zval_ptr);
    local_k->refcount++;
      }
    zval **p_lhs = &local_k;
    if (phc_const_pool_int_0 != *p_lhs)
      write_var (p_lhs, &phc_const_pool_int_0, NULL TSRMLS_CC);
    phc_check_invariants (TSRMLS_C);
  }
// L1242:
L1242:;
// $TLE295 = ($k < $cols);
  {
    if (local_TLE295 == NULL)
      {
    local_TLE295 = EG (uninitialized_zval_ptr);
    local_TLE295->refcount++;
      }
    zval **p_lhs = &local_TLE295;
    zval *left;
    if (local_k == NULL)
      {
    left = EG (uninitialized_zval_ptr);
      }
    else
      {
    left = local_k;
      }
    zval *right;
    if (local_cols == NULL)
      {
    right = EG (uninitialized_zval_ptr);
      }
    else
      {
    right = local_cols;
      }
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    is_smaller_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// if (TLE295) goto L1244 else goto L1250;
  {
    zval *p_cond;
    if (local_TLE295 == NULL)
      {
    p_cond = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_cond = local_TLE295;
      }
    zend_bool bcond = zend_is_true (p_cond);
    if (bcond)
      goto L1244;
    else
      goto L1250;
    phc_check_invariants (TSRMLS_C);
  }
// L1244:
L1244:;
// $TSi296 = $m1[$i];
  {
    if (local_TSi296 == NULL)
      {
    local_TSi296 = EG (uninitialized_zval_ptr);
    local_TSi296->refcount++;
      }
    zval **p_lhs = &local_TSi296;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
// Read array variable
    zval *r_array;
    if (local_m1 == NULL)
      {
    r_array = EG (uninitialized_zval_ptr);
      }
    else
      {
    r_array = local_m1;
      }
    zval *ra_index;
    if (local_i == NULL)
      {
    ra_index = EG (uninitialized_zval_ptr);
      }
    else
      {
    ra_index = local_i;
      }
    read_array (p_rhs, r_array, ra_index, &is_p_rhs_new TSRMLS_CC);
    if (*p_lhs != *p_rhs)
      write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// $TSi297 = $TSi296[$k];
  {
    if (local_TSi297 == NULL)
      {
    local_TSi297 = EG (uninitialized_zval_ptr);
    local_TSi297->refcount++;
      }
    zval **p_lhs = &local_TSi297;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
// Read array variable
    zval *r_array;
    if (local_TSi296 == NULL)
      {
    r_array = EG (uninitialized_zval_ptr);
      }
    else
      {
    r_array = local_TSi296;
      }
    zval *ra_index;
    if (local_k == NULL)
      {
    ra_index = EG (uninitialized_zval_ptr);
      }
    else
      {
    ra_index = local_k;
      }
    read_array (p_rhs, r_array, ra_index, &is_p_rhs_new TSRMLS_CC);
    if (*p_lhs != *p_rhs)
      write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// $TSi298 = $m2[$k];
  {
    if (local_TSi298 == NULL)
      {
    local_TSi298 = EG (uninitialized_zval_ptr);
    local_TSi298->refcount++;
      }
    zval **p_lhs = &local_TSi298;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
// Read array variable
    zval *r_array;
    if (local_m2 == NULL)
      {
    r_array = EG (uninitialized_zval_ptr);
      }
    else
      {
    r_array = local_m2;
      }
    zval *ra_index;
    if (local_k == NULL)
      {
    ra_index = EG (uninitialized_zval_ptr);
      }
    else
      {
    ra_index = local_k;
      }
    read_array (p_rhs, r_array, ra_index, &is_p_rhs_new TSRMLS_CC);
    if (*p_lhs != *p_rhs)
      write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// $TSi299 = $TSi298[$j];
  {
    if (local_TSi299 == NULL)
      {
    local_TSi299 = EG (uninitialized_zval_ptr);
    local_TSi299->refcount++;
      }
    zval **p_lhs = &local_TSi299;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
// Read array variable
    zval *r_array;
    if (local_TSi298 == NULL)
      {
    r_array = EG (uninitialized_zval_ptr);
      }
    else
      {
    r_array = local_TSi298;
      }
    zval *ra_index;
    if (local_j == NULL)
      {
    ra_index = EG (uninitialized_zval_ptr);
      }
    else
      {
    ra_index = local_j;
      }
    read_array (p_rhs, r_array, ra_index, &is_p_rhs_new TSRMLS_CC);
    if (*p_lhs != *p_rhs)
      write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// $TLE300 = ($TSi297 * $TSi299);
  {
    if (local_TLE300 == NULL)
      {
    local_TLE300 = EG (uninitialized_zval_ptr);
    local_TLE300->refcount++;
      }
    zval **p_lhs = &local_TLE300;
    zval *left;
    if (local_TSi297 == NULL)
      {
    left = EG (uninitialized_zval_ptr);
      }
    else
      {
    left = local_TSi297;
      }
    zval *right;
    if (local_TSi299 == NULL)
      {
    right = EG (uninitialized_zval_ptr);
      }
    else
      {
    right = local_TSi299;
      }
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    mul_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// $x = ($x + $TLE300);
  {
    if (local_x == NULL)
      {
    local_x = EG (uninitialized_zval_ptr);
    local_x->refcount++;
      }
    zval **p_lhs = &local_x;
    zval *left;
    if (local_x == NULL)
      {
    left = EG (uninitialized_zval_ptr);
      }
    else
      {
    left = local_x;
      }
    zval *right;
    if (local_TLE300 == NULL)
      {
    right = EG (uninitialized_zval_ptr);
      }
    else
      {
    right = local_TLE300;
      }
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    add_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// ++$k;
  {
    if (local_k == NULL)
      {
    local_k = EG (uninitialized_zval_ptr);
    local_k->refcount++;
      }
    zval **p_var = &local_k;
    sep_copy_on_write_ex (p_var);
    increment_function (*p_var);
    phc_check_invariants (TSRMLS_C);
  }
// goto L1242;
  {
    goto L1242;
    phc_check_invariants (TSRMLS_C);
  }
// L1250:
L1250:;
// $TSi301 =& $m3[$i];
  {
    if (local_TSi301 == NULL)
      {
    local_TSi301 = EG (uninitialized_zval_ptr);
    local_TSi301->refcount++;
      }
    zval **p_lhs = &local_TSi301;
    if (local_m3 == NULL)
      {
    local_m3 = EG (uninitialized_zval_ptr);
    local_m3->refcount++;
      }
    zval **p_rhs_var = &local_m3;
    zval *p_rhs_index;
    if (local_i == NULL)
      {
    p_rhs_index = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_rhs_index = local_i;
      }
    zval **p_rhs = get_ht_entry (p_rhs_var, p_rhs_index TSRMLS_CC);
    copy_into_ref (p_lhs, p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// $TSi301[$j] = $x;
  {
    if (local_TSi301 == NULL)
      {
    local_TSi301 = EG (uninitialized_zval_ptr);
    local_TSi301->refcount++;
      }
    zval **p_lhs_var = &local_TSi301;
    zval *p_lhs_index;
    if (local_j == NULL)
      {
    p_lhs_index = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_lhs_index = local_j;
      }
    zval **p_lhs = get_ht_entry (p_lhs_var, p_lhs_index TSRMLS_CC);
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    zval *p_rhs_var;
    if (local_x == NULL)
      {
    p_rhs_var = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_rhs_var = local_x;
      }
// Read normal variable
    p_rhs = &p_rhs_var;

    if (*p_lhs != *p_rhs)
      write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// ++$j;
  {
    if (local_j == NULL)
      {
    local_j = EG (uninitialized_zval_ptr);
    local_j->refcount++;
      }
    zval **p_var = &local_j;
    sep_copy_on_write_ex (p_var);
    increment_function (*p_var);
    phc_check_invariants (TSRMLS_C);
  }
// goto L1237;
  {
    goto L1237;
    phc_check_invariants (TSRMLS_C);
  }
// L1232:
L1232:;
// ++$i;
  {
    if (local_i == NULL)
      {
    local_i = EG (uninitialized_zval_ptr);
    local_i->refcount++;
      }
    zval **p_var = &local_i;
    sep_copy_on_write_ex (p_var);
    increment_function (*p_var);
    phc_check_invariants (TSRMLS_C);
  }
// goto L1233;
  {
    goto L1233;
    phc_check_invariants (TSRMLS_C);
  }
// L1252:
L1252:;
// return $m3;
  {
    zval *rhs;
    if (local_m3 == NULL)
      {
    rhs = EG (uninitialized_zval_ptr);
      }
    else
      {
    rhs = local_m3;
      }
    return_value->value = rhs->value;
    return_value->type = rhs->type;
    zval_copy_ctor (return_value);
    goto end_of_function;
    phc_check_invariants (TSRMLS_C);
  }
// Method exit
end_of_function:__attribute__ ((unused));
  if (local_TLE293 != NULL)
    {
      zval_ptr_dtor (&local_TLE293);
    }
  if (local_TLE294 != NULL)
    {
      zval_ptr_dtor (&local_TLE294);
    }
  if (local_TLE295 != NULL)
    {
      zval_ptr_dtor (&local_TLE295);
    }
  if (local_TLE300 != NULL)
    {
      zval_ptr_dtor (&local_TLE300);
    }
  if (local_TSa292 != NULL)
    {
      zval_ptr_dtor (&local_TSa292);
    }
  if (local_TSi296 != NULL)
    {
      zval_ptr_dtor (&local_TSi296);
    }
  if (local_TSi297 != NULL)
    {
      zval_ptr_dtor (&local_TSi297);
    }
  if (local_TSi298 != NULL)
    {
      zval_ptr_dtor (&local_TSi298);
    }
  if (local_TSi299 != NULL)
    {
      zval_ptr_dtor (&local_TSi299);
    }
  if (local_TSi301 != NULL)
    {
      zval_ptr_dtor (&local_TSi301);
    }
  if (local_cols != NULL)
    {
      zval_ptr_dtor (&local_cols);
    }
  if (local_i != NULL)
    {
      zval_ptr_dtor (&local_i);
    }
  if (local_j != NULL)
    {
      zval_ptr_dtor (&local_j);
    }
  if (local_k != NULL)
    {
      zval_ptr_dtor (&local_k);
    }
  if (local_m1 != NULL)
    {
      zval_ptr_dtor (&local_m1);
    }
  if (local_m2 != NULL)
    {
      zval_ptr_dtor (&local_m2);
    }
  if (local_m3 != NULL)
    {
      zval_ptr_dtor (&local_m3);
    }
  if (local_rows != NULL)
    {
      zval_ptr_dtor (&local_rows);
    }
  if (local_x != NULL)
    {
      zval_ptr_dtor (&local_x);
    }
}

// function matrix($n)
// {
// \011$m1 = mkmatrix(30, 30);
// \011$m2 = mkmatrix(30, 30);
// \011L1257:
// \011$TS43 = $n;
// \011--$n;
// \011if (TS43) goto L1260 else goto L1261;
// \011L1260:
// \011$mm = mmult(30, 30, $m1, $m2);
// \011goto L1257;
// \011L1261:
// \011$TSi306 = $mm[0];
// \011$TSi307 = $TSi306[0];
// \011$TLE308 = ('' . $TSi307);
// \011$TLE310 = ($TLE308 . ' ');
// \011$TSi313 = $mm[2];
// \011$TSi314 = $TSi313[3];
// \011$TLE315 = ($TLE310 . $TSi314);
// \011$TLE317 = ($TLE315 . ' ');
// \011$TSi320 = $mm[3];
// \011$TSi321 = $TSi320[2];
// \011$TLE322 = ($TLE317 . $TSi321);
// \011$TLE324 = ($TLE322 . ' ');
// \011$TSi327 = $mm[4];
// \011$TSi328 = $TSi327[4];
// \011$TLE329 = ($TLE324 . $TSi328);
// \011$TLE331 = ($TLE329 . '
// ');
// \011print($TLE331);
// }
PHP_FUNCTION (matrix)
{
  zval *local_TLE308 = NULL;
  zval *local_TLE310 = NULL;
  zval *local_TLE315 = NULL;
  zval *local_TLE317 = NULL;
  zval *local_TLE322 = NULL;
  zval *local_TLE324 = NULL;
  zval *local_TLE329 = NULL;
  zval *local_TLE331 = NULL;
  zval *local_TS43 = NULL;
  zval *local_TSi306 = NULL;
  zval *local_TSi307 = NULL;
  zval *local_TSi313 = NULL;
  zval *local_TSi314 = NULL;
  zval *local_TSi320 = NULL;
  zval *local_TSi321 = NULL;
  zval *local_TSi327 = NULL;
  zval *local_TSi328 = NULL;
  zval *local_m1 = NULL;
  zval *local_m2 = NULL;
  zval *local_mm = NULL;
  zval *local_n = NULL;
// Add all parameters as local variables
  {
    int num_args = ZEND_NUM_ARGS ();
    zval *params[1];
    zend_get_parameters_array (0, num_args, params);
// param 0
    params[0]->refcount++;
    local_n = params[0];
  }
// Function body
// $m1 = mkmatrix(30, 30);
  {
    if (local_m1 == NULL)
      {
    local_m1 = EG (uninitialized_zval_ptr);
    local_m1->refcount++;
      }
    zval **p_lhs = &local_m1;
    initialize_function_call (&mkmatrix_fci, &mkmatrix_fcic, "mkmatrix",
                  "test/subjects/benchmarks/zend/bench.php",
                  292 TSRMLS_CC);
    zend_function *signature = mkmatrix_fcic.function_handler;
    zend_arg_info *arg_info = signature->common.arg_info;
    int by_ref[2];
    if (arg_info)
      {
    by_ref[0] = arg_info->pass_by_reference;
    arg_info++;
      }
    else
      {
    by_ref[0] = signature->common.pass_rest_by_reference;
      }
    if (arg_info)
      {
    by_ref[1] = arg_info->pass_by_reference;
    arg_info++;
      }
    else
      {
    by_ref[1] = signature->common.pass_rest_by_reference;
      }
// Setup array of arguments
    int destruct[2];        // set to 1 if the arg is new
    zval *args[2];
    zval **args_ind[2];
    destruct[0] = 0;
    {
      zval *arg = phc_const_pool_int_9;
      args[0] = fetch_var_arg (arg, &destruct[0]);
      args_ind[0] = &args[0];
    }
    destruct[1] = 0;
    {
      zval *arg = phc_const_pool_int_9;
      args[1] = fetch_var_arg (arg, &destruct[1]);
      args_ind[1] = &args[1];
    }
    phc_setup_error (1, "<unknown>", 0, NULL TSRMLS_CC);
    int param_count_save = mkmatrix_fci.param_count;
    zval ***params_save = mkmatrix_fci.params;
    zval **retval_save = mkmatrix_fci.retval_ptr_ptr;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    mkmatrix_fci.params = args_ind;
    mkmatrix_fci.param_count = 2;
    mkmatrix_fci.retval_ptr_ptr = p_rhs;
    int success =
      zend_call_function (&mkmatrix_fci, &mkmatrix_fcic TSRMLS_CC);
    assert (success == SUCCESS);
    mkmatrix_fci.params = params_save;
    mkmatrix_fci.param_count = param_count_save;
    mkmatrix_fci.retval_ptr_ptr = retval_save;
    phc_setup_error (0, NULL, 0, NULL TSRMLS_CC);
    is_p_rhs_new = 1;
    if (destruct[0])
      {
    assert (destruct[0] == 1);
    zval_ptr_dtor (args_ind[0]);
      }
    if (destruct[1])
      {
    assert (destruct[1] == 1);
    zval_ptr_dtor (args_ind[1]);
      }
    write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// $m2 = mkmatrix(30, 30);
  {
    if (local_m2 == NULL)
      {
    local_m2 = EG (uninitialized_zval_ptr);
    local_m2->refcount++;
      }
    zval **p_lhs = &local_m2;
    initialize_function_call (&mkmatrix_fci, &mkmatrix_fcic, "mkmatrix",
                  "test/subjects/benchmarks/zend/bench.php",
                  293 TSRMLS_CC);
    zend_function *signature = mkmatrix_fcic.function_handler;
    zend_arg_info *arg_info = signature->common.arg_info;
    int by_ref[2];
    if (arg_info)
      {
    by_ref[0] = arg_info->pass_by_reference;
    arg_info++;
      }
    else
      {
    by_ref[0] = signature->common.pass_rest_by_reference;
      }
    if (arg_info)
      {
    by_ref[1] = arg_info->pass_by_reference;
    arg_info++;
      }
    else
      {
    by_ref[1] = signature->common.pass_rest_by_reference;
      }
// Setup array of arguments
    int destruct[2];        // set to 1 if the arg is new
    zval *args[2];
    zval **args_ind[2];
    destruct[0] = 0;
    {
      zval *arg = phc_const_pool_int_9;
      args[0] = fetch_var_arg (arg, &destruct[0]);
      args_ind[0] = &args[0];
    }
    destruct[1] = 0;
    {
      zval *arg = phc_const_pool_int_9;
      args[1] = fetch_var_arg (arg, &destruct[1]);
      args_ind[1] = &args[1];
    }
    phc_setup_error (1, "<unknown>", 0, NULL TSRMLS_CC);
    int param_count_save = mkmatrix_fci.param_count;
    zval ***params_save = mkmatrix_fci.params;
    zval **retval_save = mkmatrix_fci.retval_ptr_ptr;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    mkmatrix_fci.params = args_ind;
    mkmatrix_fci.param_count = 2;
    mkmatrix_fci.retval_ptr_ptr = p_rhs;
    int success =
      zend_call_function (&mkmatrix_fci, &mkmatrix_fcic TSRMLS_CC);
    assert (success == SUCCESS);
    mkmatrix_fci.params = params_save;
    mkmatrix_fci.param_count = param_count_save;
    mkmatrix_fci.retval_ptr_ptr = retval_save;
    phc_setup_error (0, NULL, 0, NULL TSRMLS_CC);
    is_p_rhs_new = 1;
    if (destruct[0])
      {
    assert (destruct[0] == 1);
    zval_ptr_dtor (args_ind[0]);
      }
    if (destruct[1])
      {
    assert (destruct[1] == 1);
    zval_ptr_dtor (args_ind[1]);
      }
    write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// L1257:
L1257:;
// $TS43 = $n;
  {
    if (local_TS43 == NULL)
      {
    local_TS43 = EG (uninitialized_zval_ptr);
    local_TS43->refcount++;
      }
    zval **p_lhs = &local_TS43;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
// Read normal variable
    zval *p_rhs_var;
    if (local_n == NULL)
      {
    p_rhs_var = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_rhs_var = local_n;
      }
    p_rhs = &p_rhs_var;
    if (*p_lhs != *p_rhs)
      write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// --$n;
  {
    if (local_n == NULL)
      {
    local_n = EG (uninitialized_zval_ptr);
    local_n->refcount++;
      }
    zval **p_var = &local_n;
    sep_copy_on_write_ex (p_var);
    decrement_function (*p_var);
    phc_check_invariants (TSRMLS_C);
  }
// if (TS43) goto L1260 else goto L1261;
  {
    zval *p_cond;
    if (local_TS43 == NULL)
      {
    p_cond = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_cond = local_TS43;
      }
    zend_bool bcond = zend_is_true (p_cond);
    if (bcond)
      goto L1260;
    else
      goto L1261;
    phc_check_invariants (TSRMLS_C);
  }
// L1260:
L1260:;
// $mm = mmult(30, 30, $m1, $m2);
  {
    if (local_mm == NULL)
      {
    local_mm = EG (uninitialized_zval_ptr);
    local_mm->refcount++;
      }
    zval **p_lhs = &local_mm;
    initialize_function_call (&mmult_fci, &mmult_fcic, "mmult",
                  "test/subjects/benchmarks/zend/bench.php",
                  295 TSRMLS_CC);
    zend_function *signature = mmult_fcic.function_handler;
    zend_arg_info *arg_info = signature->common.arg_info;
    int by_ref[4];
    if (arg_info)
      {
    by_ref[0] = arg_info->pass_by_reference;
    arg_info++;
      }
    else
      {
    by_ref[0] = signature->common.pass_rest_by_reference;
      }
    if (arg_info)
      {
    by_ref[1] = arg_info->pass_by_reference;
    arg_info++;
      }
    else
      {
    by_ref[1] = signature->common.pass_rest_by_reference;
      }
    if (arg_info)
      {
    by_ref[2] = arg_info->pass_by_reference;
    arg_info++;
      }
    else
      {
    by_ref[2] = signature->common.pass_rest_by_reference;
      }
    if (arg_info)
      {
    by_ref[3] = arg_info->pass_by_reference;
    arg_info++;
      }
    else
      {
    by_ref[3] = signature->common.pass_rest_by_reference;
      }
// Setup array of arguments
    int destruct[4];        // set to 1 if the arg is new
    zval *args[4];
    zval **args_ind[4];
    destruct[0] = 0;
    {
      zval *arg = phc_const_pool_int_9;
      args[0] = fetch_var_arg (arg, &destruct[0]);
      args_ind[0] = &args[0];
    }
    destruct[1] = 0;
    {
      zval *arg = phc_const_pool_int_9;
      args[1] = fetch_var_arg (arg, &destruct[1]);
      args_ind[1] = &args[1];
    }
    destruct[2] = 0;
    {
      zval *arg;
      if (local_m1 == NULL)
    {
      arg = EG (uninitialized_zval_ptr);
    }
      else
    {
      arg = local_m1;
    }
      args[2] = fetch_var_arg (arg, &destruct[2]);
      args_ind[2] = &args[2];
    }
    destruct[3] = 0;
    {
      zval *arg;
      if (local_m2 == NULL)
    {
      arg = EG (uninitialized_zval_ptr);
    }
      else
    {
      arg = local_m2;
    }
      args[3] = fetch_var_arg (arg, &destruct[3]);
      args_ind[3] = &args[3];
    }
    phc_setup_error (1, "<unknown>", 0, NULL TSRMLS_CC);
    int param_count_save = mmult_fci.param_count;
    zval ***params_save = mmult_fci.params;
    zval **retval_save = mmult_fci.retval_ptr_ptr;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    mmult_fci.params = args_ind;
    mmult_fci.param_count = 4;
    mmult_fci.retval_ptr_ptr = p_rhs;
    int success = zend_call_function (&mmult_fci, &mmult_fcic TSRMLS_CC);
    assert (success == SUCCESS);
    mmult_fci.params = params_save;
    mmult_fci.param_count = param_count_save;
    mmult_fci.retval_ptr_ptr = retval_save;
    phc_setup_error (0, NULL, 0, NULL TSRMLS_CC);
    is_p_rhs_new = 1;
    if (destruct[0])
      {
    assert (destruct[0] == 1);
    zval_ptr_dtor (args_ind[0]);
      }
    if (destruct[1])
      {
    assert (destruct[1] == 1);
    zval_ptr_dtor (args_ind[1]);
      }
    if (destruct[2])
      {
    assert (destruct[2] == 1);
    zval_ptr_dtor (args_ind[2]);
      }
    if (destruct[3])
      {
    assert (destruct[3] == 1);
    zval_ptr_dtor (args_ind[3]);
      }
    write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// goto L1257;
  {
    goto L1257;
    phc_check_invariants (TSRMLS_C);
  }
// L1261:
L1261:;
// $TSi306 = $mm[0];
  {
    if (local_TSi306 == NULL)
      {
    local_TSi306 = EG (uninitialized_zval_ptr);
    local_TSi306->refcount++;
      }
    zval **p_lhs = &local_TSi306;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
// Read array variable
    zval *r_array;
    if (local_mm == NULL)
      {
    r_array = EG (uninitialized_zval_ptr);
      }
    else
      {
    r_array = local_mm;
      }
    zval *ra_index = phc_const_pool_int_0;
    read_array (p_rhs, r_array, ra_index, &is_p_rhs_new TSRMLS_CC);
    if (*p_lhs != *p_rhs)
      write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// $TSi307 = $TSi306[0];
  {
    if (local_TSi307 == NULL)
      {
    local_TSi307 = EG (uninitialized_zval_ptr);
    local_TSi307->refcount++;
      }
    zval **p_lhs = &local_TSi307;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
// Read array variable
    zval *r_array;
    if (local_TSi306 == NULL)
      {
    r_array = EG (uninitialized_zval_ptr);
      }
    else
      {
    r_array = local_TSi306;
      }
    zval *ra_index = phc_const_pool_int_0;
    read_array (p_rhs, r_array, ra_index, &is_p_rhs_new TSRMLS_CC);
    if (*p_lhs != *p_rhs)
      write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// $TLE308 = ('' . $TSi307);
  {
    if (local_TLE308 == NULL)
      {
    local_TLE308 = EG (uninitialized_zval_ptr);
    local_TLE308->refcount++;
      }
    zval **p_lhs = &local_TLE308;
    zval *left = phc_const_pool_string_8;
    zval *right;
    if (local_TSi307 == NULL)
      {
    right = EG (uninitialized_zval_ptr);
      }
    else
      {
    right = local_TSi307;
      }
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    concat_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// $TLE310 = ($TLE308 . ' ');
  {
    if (local_TLE310 == NULL)
      {
    local_TLE310 = EG (uninitialized_zval_ptr);
    local_TLE310->refcount++;
      }
    zval **p_lhs = &local_TLE310;
    zval *left;
    if (local_TLE308 == NULL)
      {
    left = EG (uninitialized_zval_ptr);
      }
    else
      {
    left = local_TLE308;
      }
    zval *right = phc_const_pool_string_9;
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    concat_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// $TSi313 = $mm[2];
  {
    if (local_TSi313 == NULL)
      {
    local_TSi313 = EG (uninitialized_zval_ptr);
    local_TSi313->refcount++;
      }
    zval **p_lhs = &local_TSi313;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
// Read array variable
    zval *r_array;
    if (local_mm == NULL)
      {
    r_array = EG (uninitialized_zval_ptr);
      }
    else
      {
    r_array = local_mm;
      }
    zval *ra_index = phc_const_pool_int_7;
    read_array (p_rhs, r_array, ra_index, &is_p_rhs_new TSRMLS_CC);
    if (*p_lhs != *p_rhs)
      write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// $TSi314 = $TSi313[3];
  {
    if (local_TSi314 == NULL)
      {
    local_TSi314 = EG (uninitialized_zval_ptr);
    local_TSi314->refcount++;
      }
    zval **p_lhs = &local_TSi314;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
// Read array variable
    zval *r_array;
    if (local_TSi313 == NULL)
      {
    r_array = EG (uninitialized_zval_ptr);
      }
    else
      {
    r_array = local_TSi313;
      }
    zval *ra_index = phc_const_pool_int_14;
    read_array (p_rhs, r_array, ra_index, &is_p_rhs_new TSRMLS_CC);
    if (*p_lhs != *p_rhs)
      write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// $TLE315 = ($TLE310 . $TSi314);
  {
    if (local_TLE315 == NULL)
      {
    local_TLE315 = EG (uninitialized_zval_ptr);
    local_TLE315->refcount++;
      }
    zval **p_lhs = &local_TLE315;
    zval *left;
    if (local_TLE310 == NULL)
      {
    left = EG (uninitialized_zval_ptr);
      }
    else
      {
    left = local_TLE310;
      }
    zval *right;
    if (local_TSi314 == NULL)
      {
    right = EG (uninitialized_zval_ptr);
      }
    else
      {
    right = local_TSi314;
      }
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    concat_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// $TLE317 = ($TLE315 . ' ');
  {
    if (local_TLE317 == NULL)
      {
    local_TLE317 = EG (uninitialized_zval_ptr);
    local_TLE317->refcount++;
      }
    zval **p_lhs = &local_TLE317;
    zval *left;
    if (local_TLE315 == NULL)
      {
    left = EG (uninitialized_zval_ptr);
      }
    else
      {
    left = local_TLE315;
      }
    zval *right = phc_const_pool_string_9;
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    concat_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// $TSi320 = $mm[3];
  {
    if (local_TSi320 == NULL)
      {
    local_TSi320 = EG (uninitialized_zval_ptr);
    local_TSi320->refcount++;
      }
    zval **p_lhs = &local_TSi320;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
// Read array variable
    zval *r_array;
    if (local_mm == NULL)
      {
    r_array = EG (uninitialized_zval_ptr);
      }
    else
      {
    r_array = local_mm;
      }
    zval *ra_index = phc_const_pool_int_14;
    read_array (p_rhs, r_array, ra_index, &is_p_rhs_new TSRMLS_CC);
    if (*p_lhs != *p_rhs)
      write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// $TSi321 = $TSi320[2];
  {
    if (local_TSi321 == NULL)
      {
    local_TSi321 = EG (uninitialized_zval_ptr);
    local_TSi321->refcount++;
      }
    zval **p_lhs = &local_TSi321;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
// Read array variable
    zval *r_array;
    if (local_TSi320 == NULL)
      {
    r_array = EG (uninitialized_zval_ptr);
      }
    else
      {
    r_array = local_TSi320;
      }
    zval *ra_index = phc_const_pool_int_7;
    read_array (p_rhs, r_array, ra_index, &is_p_rhs_new TSRMLS_CC);
    if (*p_lhs != *p_rhs)
      write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// $TLE322 = ($TLE317 . $TSi321);
  {
    if (local_TLE322 == NULL)
      {
    local_TLE322 = EG (uninitialized_zval_ptr);
    local_TLE322->refcount++;
      }
    zval **p_lhs = &local_TLE322;
    zval *left;
    if (local_TLE317 == NULL)
      {
    left = EG (uninitialized_zval_ptr);
      }
    else
      {
    left = local_TLE317;
      }
    zval *right;
    if (local_TSi321 == NULL)
      {
    right = EG (uninitialized_zval_ptr);
      }
    else
      {
    right = local_TSi321;
      }
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    concat_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// $TLE324 = ($TLE322 . ' ');
  {
    if (local_TLE324 == NULL)
      {
    local_TLE324 = EG (uninitialized_zval_ptr);
    local_TLE324->refcount++;
      }
    zval **p_lhs = &local_TLE324;
    zval *left;
    if (local_TLE322 == NULL)
      {
    left = EG (uninitialized_zval_ptr);
      }
    else
      {
    left = local_TLE322;
      }
    zval *right = phc_const_pool_string_9;
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    concat_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// $TSi327 = $mm[4];
  {
    if (local_TSi327 == NULL)
      {
    local_TSi327 = EG (uninitialized_zval_ptr);
    local_TSi327->refcount++;
      }
    zval **p_lhs = &local_TSi327;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
// Read array variable
    zval *r_array;
    if (local_mm == NULL)
      {
    r_array = EG (uninitialized_zval_ptr);
      }
    else
      {
    r_array = local_mm;
      }
    zval *ra_index = phc_const_pool_int_20;
    read_array (p_rhs, r_array, ra_index, &is_p_rhs_new TSRMLS_CC);
    if (*p_lhs != *p_rhs)
      write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// $TSi328 = $TSi327[4];
  {
    if (local_TSi328 == NULL)
      {
    local_TSi328 = EG (uninitialized_zval_ptr);
    local_TSi328->refcount++;
      }
    zval **p_lhs = &local_TSi328;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
// Read array variable
    zval *r_array;
    if (local_TSi327 == NULL)
      {
    r_array = EG (uninitialized_zval_ptr);
      }
    else
      {
    r_array = local_TSi327;
      }
    zval *ra_index = phc_const_pool_int_20;
    read_array (p_rhs, r_array, ra_index, &is_p_rhs_new TSRMLS_CC);
    if (*p_lhs != *p_rhs)
      write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// $TLE329 = ($TLE324 . $TSi328);
  {
    if (local_TLE329 == NULL)
      {
    local_TLE329 = EG (uninitialized_zval_ptr);
    local_TLE329->refcount++;
      }
    zval **p_lhs = &local_TLE329;
    zval *left;
    if (local_TLE324 == NULL)
      {
    left = EG (uninitialized_zval_ptr);
      }
    else
      {
    left = local_TLE324;
      }
    zval *right;
    if (local_TSi328 == NULL)
      {
    right = EG (uninitialized_zval_ptr);
      }
    else
      {
    right = local_TSi328;
      }
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    concat_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// $TLE331 = ($TLE329 . '
// ');
  {
    if (local_TLE331 == NULL)
      {
    local_TLE331 = EG (uninitialized_zval_ptr);
    local_TLE331->refcount++;
      }
    zval **p_lhs = &local_TLE331;
    zval *left;
    if (local_TLE329 == NULL)
      {
    left = EG (uninitialized_zval_ptr);
      }
    else
      {
    left = local_TLE329;
      }
    zval *right = phc_const_pool_string_5;
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    concat_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// print($TLE331);
  {
    zval *p_arg;
    if (local_TLE331 == NULL)
      {
    p_arg = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_arg = local_TLE331;
      }
    phc_builtin_print (p_arg, NULL,
               "test/subjects/benchmarks/zend/bench.php" TSRMLS_CC);
    phc_check_invariants (TSRMLS_C);
  }
// Method exit
end_of_function:__attribute__ ((unused));
  if (local_TLE308 != NULL)
    {
      zval_ptr_dtor (&local_TLE308);
    }
  if (local_TLE310 != NULL)
    {
      zval_ptr_dtor (&local_TLE310);
    }
  if (local_TLE315 != NULL)
    {
      zval_ptr_dtor (&local_TLE315);
    }
  if (local_TLE317 != NULL)
    {
      zval_ptr_dtor (&local_TLE317);
    }
  if (local_TLE322 != NULL)
    {
      zval_ptr_dtor (&local_TLE322);
    }
  if (local_TLE324 != NULL)
    {
      zval_ptr_dtor (&local_TLE324);
    }
  if (local_TLE329 != NULL)
    {
      zval_ptr_dtor (&local_TLE329);
    }
  if (local_TLE331 != NULL)
    {
      zval_ptr_dtor (&local_TLE331);
    }
  if (local_TS43 != NULL)
    {
      zval_ptr_dtor (&local_TS43);
    }
  if (local_TSi306 != NULL)
    {
      zval_ptr_dtor (&local_TSi306);
    }
  if (local_TSi307 != NULL)
    {
      zval_ptr_dtor (&local_TSi307);
    }
  if (local_TSi313 != NULL)
    {
      zval_ptr_dtor (&local_TSi313);
    }
  if (local_TSi314 != NULL)
    {
      zval_ptr_dtor (&local_TSi314);
    }
  if (local_TSi320 != NULL)
    {
      zval_ptr_dtor (&local_TSi320);
    }
  if (local_TSi321 != NULL)
    {
      zval_ptr_dtor (&local_TSi321);
    }
  if (local_TSi327 != NULL)
    {
      zval_ptr_dtor (&local_TSi327);
    }
  if (local_TSi328 != NULL)
    {
      zval_ptr_dtor (&local_TSi328);
    }
  if (local_m1 != NULL)
    {
      zval_ptr_dtor (&local_m1);
    }
  if (local_m2 != NULL)
    {
      zval_ptr_dtor (&local_m2);
    }
  if (local_mm != NULL)
    {
      zval_ptr_dtor (&local_mm);
    }
  if (local_n != NULL)
    {
      zval_ptr_dtor (&local_n);
    }
}

// function nestedloop($n)
// {
// \011$x = 0;
// \011$a = 0;
// \011L1283:
// \011$TLE332 = ($a < $n);
// \011if (TLE332) goto L1285 else goto L1306;
// \011L1285:
// \011$b = 0;
// \011L1287:
// \011$TLE333 = ($b < $n);
// \011if (TLE333) goto L1289 else goto L1282;
// \011L1289:
// \011$c = 0;
// \011L1291:
// \011$TLE334 = ($c < $n);
// \011if (TLE334) goto L1293 else goto L1286;
// \011L1293:
// \011$d = 0;
// \011L1295:
// \011$TLE335 = ($d < $n);
// \011if (TLE335) goto L1297 else goto L1290;
// \011L1297:
// \011$e = 0;
// \011L1299:
// \011$TLE336 = ($e < $n);
// \011if (TLE336) goto L1301 else goto L1294;
// \011L1301:
// \011$f = 0;
// \011L1303:
// \011$TLE337 = ($f < $n);
// \011if (TLE337) goto L1305 else goto L1298;
// \011L1305:
// \011++$x;
// \011++$f;
// \011goto L1303;
// \011L1298:
// \011++$e;
// \011goto L1299;
// \011L1294:
// \011++$d;
// \011goto L1295;
// \011L1290:
// \011++$c;
// \011goto L1291;
// \011L1286:
// \011++$b;
// \011goto L1287;
// \011L1282:
// \011++$a;
// \011goto L1283;
// \011L1306:
// \011$TLE339 = ('' . $x);
// \011$TLE341 = ($TLE339 . '
// ');
// \011print($TLE341);
// }
PHP_FUNCTION (nestedloop)
{
  zval *local_TLE332 = NULL;
  zval *local_TLE333 = NULL;
  zval *local_TLE334 = NULL;
  zval *local_TLE335 = NULL;
  zval *local_TLE336 = NULL;
  zval *local_TLE337 = NULL;
  zval *local_TLE339 = NULL;
  zval *local_TLE341 = NULL;
  zval *local_a = NULL;
  zval *local_b = NULL;
  zval *local_c = NULL;
  zval *local_d = NULL;
  zval *local_e = NULL;
  zval *local_f = NULL;
  zval *local_n = NULL;
  zval *local_x = NULL;
// Add all parameters as local variables
  {
    int num_args = ZEND_NUM_ARGS ();
    zval *params[1];
    zend_get_parameters_array (0, num_args, params);
// param 0
    params[0]->refcount++;
    local_n = params[0];
  }
// Function body
// $x = 0;
  {
    if (local_x == NULL)
      {
    local_x = EG (uninitialized_zval_ptr);
    local_x->refcount++;
      }
    zval **p_lhs = &local_x;
    if (phc_const_pool_int_0 != *p_lhs)
      write_var (p_lhs, &phc_const_pool_int_0, NULL TSRMLS_CC);
    phc_check_invariants (TSRMLS_C);
  }
// $a = 0;
  {
    if (local_a == NULL)
      {
    local_a = EG (uninitialized_zval_ptr);
    local_a->refcount++;
      }
    zval **p_lhs = &local_a;
    if (phc_const_pool_int_0 != *p_lhs)
      write_var (p_lhs, &phc_const_pool_int_0, NULL TSRMLS_CC);
    phc_check_invariants (TSRMLS_C);
  }
// L1283:
L1283:;
// $TLE332 = ($a < $n);
  {
    if (local_TLE332 == NULL)
      {
    local_TLE332 = EG (uninitialized_zval_ptr);
    local_TLE332->refcount++;
      }
    zval **p_lhs = &local_TLE332;
    zval *left;
    if (local_a == NULL)
      {
    left = EG (uninitialized_zval_ptr);
      }
    else
      {
    left = local_a;
      }
    zval *right;
    if (local_n == NULL)
      {
    right = EG (uninitialized_zval_ptr);
      }
    else
      {
    right = local_n;
      }
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    is_smaller_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// if (TLE332) goto L1285 else goto L1306;
  {
    zval *p_cond;
    if (local_TLE332 == NULL)
      {
    p_cond = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_cond = local_TLE332;
      }
    zend_bool bcond = zend_is_true (p_cond);
    if (bcond)
      goto L1285;
    else
      goto L1306;
    phc_check_invariants (TSRMLS_C);
  }
// L1285:
L1285:;
// $b = 0;
  {
    if (local_b == NULL)
      {
    local_b = EG (uninitialized_zval_ptr);
    local_b->refcount++;
      }
    zval **p_lhs = &local_b;
    if (phc_const_pool_int_0 != *p_lhs)
      write_var (p_lhs, &phc_const_pool_int_0, NULL TSRMLS_CC);
    phc_check_invariants (TSRMLS_C);
  }
// L1287:
L1287:;
// $TLE333 = ($b < $n);
  {
    if (local_TLE333 == NULL)
      {
    local_TLE333 = EG (uninitialized_zval_ptr);
    local_TLE333->refcount++;
      }
    zval **p_lhs = &local_TLE333;
    zval *left;
    if (local_b == NULL)
      {
    left = EG (uninitialized_zval_ptr);
      }
    else
      {
    left = local_b;
      }
    zval *right;
    if (local_n == NULL)
      {
    right = EG (uninitialized_zval_ptr);
      }
    else
      {
    right = local_n;
      }
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    is_smaller_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// if (TLE333) goto L1289 else goto L1282;
  {
    zval *p_cond;
    if (local_TLE333 == NULL)
      {
    p_cond = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_cond = local_TLE333;
      }
    zend_bool bcond = zend_is_true (p_cond);
    if (bcond)
      goto L1289;
    else
      goto L1282;
    phc_check_invariants (TSRMLS_C);
  }
// L1289:
L1289:;
// $c = 0;
  {
    if (local_c == NULL)
      {
    local_c = EG (uninitialized_zval_ptr);
    local_c->refcount++;
      }
    zval **p_lhs = &local_c;
    if (phc_const_pool_int_0 != *p_lhs)
      write_var (p_lhs, &phc_const_pool_int_0, NULL TSRMLS_CC);
    phc_check_invariants (TSRMLS_C);
  }
// L1291:
L1291:;
// $TLE334 = ($c < $n);
  {
    if (local_TLE334 == NULL)
      {
    local_TLE334 = EG (uninitialized_zval_ptr);
    local_TLE334->refcount++;
      }
    zval **p_lhs = &local_TLE334;
    zval *left;
    if (local_c == NULL)
      {
    left = EG (uninitialized_zval_ptr);
      }
    else
      {
    left = local_c;
      }
    zval *right;
    if (local_n == NULL)
      {
    right = EG (uninitialized_zval_ptr);
      }
    else
      {
    right = local_n;
      }
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    is_smaller_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// if (TLE334) goto L1293 else goto L1286;
  {
    zval *p_cond;
    if (local_TLE334 == NULL)
      {
    p_cond = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_cond = local_TLE334;
      }
    zend_bool bcond = zend_is_true (p_cond);
    if (bcond)
      goto L1293;
    else
      goto L1286;
    phc_check_invariants (TSRMLS_C);
  }
// L1293:
L1293:;
// $d = 0;
  {
    if (local_d == NULL)
      {
    local_d = EG (uninitialized_zval_ptr);
    local_d->refcount++;
      }
    zval **p_lhs = &local_d;
    if (phc_const_pool_int_0 != *p_lhs)
      write_var (p_lhs, &phc_const_pool_int_0, NULL TSRMLS_CC);
    phc_check_invariants (TSRMLS_C);
  }
// L1295:
L1295:;
// $TLE335 = ($d < $n);
  {
    if (local_TLE335 == NULL)
      {
    local_TLE335 = EG (uninitialized_zval_ptr);
    local_TLE335->refcount++;
      }
    zval **p_lhs = &local_TLE335;
    zval *left;
    if (local_d == NULL)
      {
    left = EG (uninitialized_zval_ptr);
      }
    else
      {
    left = local_d;
      }
    zval *right;
    if (local_n == NULL)
      {
    right = EG (uninitialized_zval_ptr);
      }
    else
      {
    right = local_n;
      }
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    is_smaller_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// if (TLE335) goto L1297 else goto L1290;
  {
    zval *p_cond;
    if (local_TLE335 == NULL)
      {
    p_cond = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_cond = local_TLE335;
      }
    zend_bool bcond = zend_is_true (p_cond);
    if (bcond)
      goto L1297;
    else
      goto L1290;
    phc_check_invariants (TSRMLS_C);
  }
// L1297:
L1297:;
// $e = 0;
  {
    if (local_e == NULL)
      {
    local_e = EG (uninitialized_zval_ptr);
    local_e->refcount++;
      }
    zval **p_lhs = &local_e;
    if (phc_const_pool_int_0 != *p_lhs)
      write_var (p_lhs, &phc_const_pool_int_0, NULL TSRMLS_CC);
    phc_check_invariants (TSRMLS_C);
  }
// L1299:
L1299:;
// $TLE336 = ($e < $n);
  {
    if (local_TLE336 == NULL)
      {
    local_TLE336 = EG (uninitialized_zval_ptr);
    local_TLE336->refcount++;
      }
    zval **p_lhs = &local_TLE336;
    zval *left;
    if (local_e == NULL)
      {
    left = EG (uninitialized_zval_ptr);
      }
    else
      {
    left = local_e;
      }
    zval *right;
    if (local_n == NULL)
      {
    right = EG (uninitialized_zval_ptr);
      }
    else
      {
    right = local_n;
      }
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    is_smaller_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// if (TLE336) goto L1301 else goto L1294;
  {
    zval *p_cond;
    if (local_TLE336 == NULL)
      {
    p_cond = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_cond = local_TLE336;
      }
    zend_bool bcond = zend_is_true (p_cond);
    if (bcond)
      goto L1301;
    else
      goto L1294;
    phc_check_invariants (TSRMLS_C);
  }
// L1301:
L1301:;
// $f = 0;
  {
    if (local_f == NULL)
      {
    local_f = EG (uninitialized_zval_ptr);
    local_f->refcount++;
      }
    zval **p_lhs = &local_f;
    if (phc_const_pool_int_0 != *p_lhs)
      write_var (p_lhs, &phc_const_pool_int_0, NULL TSRMLS_CC);
    phc_check_invariants (TSRMLS_C);
  }
// L1303:
L1303:;
// $TLE337 = ($f < $n);
  {
    if (local_TLE337 == NULL)
      {
    local_TLE337 = EG (uninitialized_zval_ptr);
    local_TLE337->refcount++;
      }
    zval **p_lhs = &local_TLE337;
    zval *left;
    if (local_f == NULL)
      {
    left = EG (uninitialized_zval_ptr);
      }
    else
      {
    left = local_f;
      }
    zval *right;
    if (local_n == NULL)
      {
    right = EG (uninitialized_zval_ptr);
      }
    else
      {
    right = local_n;
      }
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    is_smaller_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// if (TLE337) goto L1305 else goto L1298;
  {
    zval *p_cond;
    if (local_TLE337 == NULL)
      {
    p_cond = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_cond = local_TLE337;
      }
    zend_bool bcond = zend_is_true (p_cond);
    if (bcond)
      goto L1305;
    else
      goto L1298;
    phc_check_invariants (TSRMLS_C);
  }
// L1305:
L1305:;
// ++$x;
  {
    if (local_x == NULL)
      {
    local_x = EG (uninitialized_zval_ptr);
    local_x->refcount++;
      }
    zval **p_var = &local_x;
    sep_copy_on_write_ex (p_var);
    increment_function (*p_var);
    phc_check_invariants (TSRMLS_C);
  }
// ++$f;
  {
    if (local_f == NULL)
      {
    local_f = EG (uninitialized_zval_ptr);
    local_f->refcount++;
      }
    zval **p_var = &local_f;
    sep_copy_on_write_ex (p_var);
    increment_function (*p_var);
    phc_check_invariants (TSRMLS_C);
  }
// goto L1303;
  {
    goto L1303;
    phc_check_invariants (TSRMLS_C);
  }
// L1298:
L1298:;
// ++$e;
  {
    if (local_e == NULL)
      {
    local_e = EG (uninitialized_zval_ptr);
    local_e->refcount++;
      }
    zval **p_var = &local_e;
    sep_copy_on_write_ex (p_var);
    increment_function (*p_var);
    phc_check_invariants (TSRMLS_C);
  }
// goto L1299;
  {
    goto L1299;
    phc_check_invariants (TSRMLS_C);
  }
// L1294:
L1294:;
// ++$d;
  {
    if (local_d == NULL)
      {
    local_d = EG (uninitialized_zval_ptr);
    local_d->refcount++;
      }
    zval **p_var = &local_d;
    sep_copy_on_write_ex (p_var);
    increment_function (*p_var);
    phc_check_invariants (TSRMLS_C);
  }
// goto L1295;
  {
    goto L1295;
    phc_check_invariants (TSRMLS_C);
  }
// L1290:
L1290:;
// ++$c;
  {
    if (local_c == NULL)
      {
    local_c = EG (uninitialized_zval_ptr);
    local_c->refcount++;
      }
    zval **p_var = &local_c;
    sep_copy_on_write_ex (p_var);
    increment_function (*p_var);
    phc_check_invariants (TSRMLS_C);
  }
// goto L1291;
  {
    goto L1291;
    phc_check_invariants (TSRMLS_C);
  }
// L1286:
L1286:;
// ++$b;
  {
    if (local_b == NULL)
      {
    local_b = EG (uninitialized_zval_ptr);
    local_b->refcount++;
      }
    zval **p_var = &local_b;
    sep_copy_on_write_ex (p_var);
    increment_function (*p_var);
    phc_check_invariants (TSRMLS_C);
  }
// goto L1287;
  {
    goto L1287;
    phc_check_invariants (TSRMLS_C);
  }
// L1282:
L1282:;
// ++$a;
  {
    if (local_a == NULL)
      {
    local_a = EG (uninitialized_zval_ptr);
    local_a->refcount++;
      }
    zval **p_var = &local_a;
    sep_copy_on_write_ex (p_var);
    increment_function (*p_var);
    phc_check_invariants (TSRMLS_C);
  }
// goto L1283;
  {
    goto L1283;
    phc_check_invariants (TSRMLS_C);
  }
// L1306:
L1306:;
// $TLE339 = ('' . $x);
  {
    if (local_TLE339 == NULL)
      {
    local_TLE339 = EG (uninitialized_zval_ptr);
    local_TLE339->refcount++;
      }
    zval **p_lhs = &local_TLE339;
    zval *left = phc_const_pool_string_8;
    zval *right;
    if (local_x == NULL)
      {
    right = EG (uninitialized_zval_ptr);
      }
    else
      {
    right = local_x;
      }
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    concat_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// $TLE341 = ($TLE339 . '
// ');
  {
    if (local_TLE341 == NULL)
      {
    local_TLE341 = EG (uninitialized_zval_ptr);
    local_TLE341->refcount++;
      }
    zval **p_lhs = &local_TLE341;
    zval *left;
    if (local_TLE339 == NULL)
      {
    left = EG (uninitialized_zval_ptr);
      }
    else
      {
    left = local_TLE339;
      }
    zval *right = phc_const_pool_string_5;
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    concat_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// print($TLE341);
  {
    zval *p_arg;
    if (local_TLE341 == NULL)
      {
    p_arg = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_arg = local_TLE341;
      }
    phc_builtin_print (p_arg, NULL,
               "test/subjects/benchmarks/zend/bench.php" TSRMLS_CC);
    phc_check_invariants (TSRMLS_C);
  }
// Method exit
end_of_function:__attribute__ ((unused));
  if (local_TLE332 != NULL)
    {
      zval_ptr_dtor (&local_TLE332);
    }
  if (local_TLE333 != NULL)
    {
      zval_ptr_dtor (&local_TLE333);
    }
  if (local_TLE334 != NULL)
    {
      zval_ptr_dtor (&local_TLE334);
    }
  if (local_TLE335 != NULL)
    {
      zval_ptr_dtor (&local_TLE335);
    }
  if (local_TLE336 != NULL)
    {
      zval_ptr_dtor (&local_TLE336);
    }
  if (local_TLE337 != NULL)
    {
      zval_ptr_dtor (&local_TLE337);
    }
  if (local_TLE339 != NULL)
    {
      zval_ptr_dtor (&local_TLE339);
    }
  if (local_TLE341 != NULL)
    {
      zval_ptr_dtor (&local_TLE341);
    }
  if (local_a != NULL)
    {
      zval_ptr_dtor (&local_a);
    }
  if (local_b != NULL)
    {
      zval_ptr_dtor (&local_b);
    }
  if (local_c != NULL)
    {
      zval_ptr_dtor (&local_c);
    }
  if (local_d != NULL)
    {
      zval_ptr_dtor (&local_d);
    }
  if (local_e != NULL)
    {
      zval_ptr_dtor (&local_e);
    }
  if (local_f != NULL)
    {
      zval_ptr_dtor (&local_f);
    }
  if (local_n != NULL)
    {
      zval_ptr_dtor (&local_n);
    }
  if (local_x != NULL)
    {
      zval_ptr_dtor (&local_x);
    }
}

// function sieve($n)
// {
// \011$count = 0;
// \011L1312:
// \011$TS44 = $n;
// \011--$n;
// \011$TLE343 = ($TS44 > 0);
// \011if (TLE343) goto L1316 else goto L1331;
// \011L1316:
// \011$count = 0;
// \011$flags = range(0, 8192);
// \011$i = 2;
// \011L1320:
// \011$TLE348 = ($i < 8193);
// \011if (TLE348) goto L1322 else goto L1312;
// \011L1322:
// \011$TSi349 = $flags[$i];
// \011$TLE351 = ($TSi349 > 0);
// \011if (TLE351) goto L1325 else goto L1319;
// \011L1325:
// \011$k = ($i + $i);
// \011L1327:
// \011$TLE353 = ($k <= 8192);
// \011if (TLE353) goto L1329 else goto L1330;
// \011L1330:
// \011++$count;
// \011L1319:
// \011++$i;
// \011goto L1320;
// \011L1329:
// \011$flags[$k] = 0;
// \011$k = ($k + $i);
// \011goto L1327;
// \011L1331:
// \011$TLE356 = ('Count: ' . $count);
// \011$TLE358 = ($TLE356 . '
// ');
// \011print($TLE358);
// }
PHP_FUNCTION (sieve)
{
  zval *local_TLE343 = NULL;
  zval *local_TLE348 = NULL;
  zval *local_TLE351 = NULL;
  zval *local_TLE353 = NULL;
  zval *local_TLE356 = NULL;
  zval *local_TLE358 = NULL;
  zval *local_TS44 = NULL;
  zval *local_TSi349 = NULL;
  zval *local_count = NULL;
  zval *local_flags = NULL;
  zval *local_i = NULL;
  zval *local_k = NULL;
  zval *local_n = NULL;
// Add all parameters as local variables
  {
    int num_args = ZEND_NUM_ARGS ();
    zval *params[1];
    zend_get_parameters_array (0, num_args, params);
// param 0
    params[0]->refcount++;
    local_n = params[0];
  }
// Function body
// $count = 0;
  {
    if (local_count == NULL)
      {
    local_count = EG (uninitialized_zval_ptr);
    local_count->refcount++;
      }
    zval **p_lhs = &local_count;
    if (phc_const_pool_int_0 != *p_lhs)
      write_var (p_lhs, &phc_const_pool_int_0, NULL TSRMLS_CC);
    phc_check_invariants (TSRMLS_C);
  }
// L1312:
L1312:;
// $TS44 = $n;
  {
    if (local_TS44 == NULL)
      {
    local_TS44 = EG (uninitialized_zval_ptr);
    local_TS44->refcount++;
      }
    zval **p_lhs = &local_TS44;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
// Read normal variable
    zval *p_rhs_var;
    if (local_n == NULL)
      {
    p_rhs_var = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_rhs_var = local_n;
      }
    p_rhs = &p_rhs_var;
    if (*p_lhs != *p_rhs)
      write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// --$n;
  {
    if (local_n == NULL)
      {
    local_n = EG (uninitialized_zval_ptr);
    local_n->refcount++;
      }
    zval **p_var = &local_n;
    sep_copy_on_write_ex (p_var);
    decrement_function (*p_var);
    phc_check_invariants (TSRMLS_C);
  }
// $TLE343 = ($TS44 > 0);
  {
    if (local_TLE343 == NULL)
      {
    local_TLE343 = EG (uninitialized_zval_ptr);
    local_TLE343->refcount++;
      }
    zval **p_lhs = &local_TLE343;
    zval *left;
    if (local_TS44 == NULL)
      {
    left = EG (uninitialized_zval_ptr);
      }
    else
      {
    left = local_TS44;
      }
    zval *right = phc_const_pool_int_0;
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    is_smaller_function (*p_lhs, right, left TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// if (TLE343) goto L1316 else goto L1331;
  {
    zval *p_cond;
    if (local_TLE343 == NULL)
      {
    p_cond = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_cond = local_TLE343;
      }
    zend_bool bcond = zend_is_true (p_cond);
    if (bcond)
      goto L1316;
    else
      goto L1331;
    phc_check_invariants (TSRMLS_C);
  }
// L1316:
L1316:;
// $count = 0;
  {
    if (local_count == NULL)
      {
    local_count = EG (uninitialized_zval_ptr);
    local_count->refcount++;
      }
    zval **p_lhs = &local_count;
    if (phc_const_pool_int_0 != *p_lhs)
      write_var (p_lhs, &phc_const_pool_int_0, NULL TSRMLS_CC);
    phc_check_invariants (TSRMLS_C);
  }
// $flags = range(0, 8192);
  {
    if (local_flags == NULL)
      {
    local_flags = EG (uninitialized_zval_ptr);
    local_flags->refcount++;
      }
    zval **p_lhs = &local_flags;
    initialize_function_call (&range_fci, &range_fcic, "range",
                  "test/subjects/benchmarks/zend/bench.php",
                  320 TSRMLS_CC);
    zend_function *signature = range_fcic.function_handler;
    zend_arg_info *arg_info = signature->common.arg_info;
    int by_ref[2];
    if (arg_info)
      {
    by_ref[0] = arg_info->pass_by_reference;
    arg_info++;
      }
    else
      {
    by_ref[0] = signature->common.pass_rest_by_reference;
      }
    if (arg_info)
      {
    by_ref[1] = arg_info->pass_by_reference;
    arg_info++;
      }
    else
      {
    by_ref[1] = signature->common.pass_rest_by_reference;
      }
// Setup array of arguments
    int destruct[2];        // set to 1 if the arg is new
    zval *args[2];
    zval **args_ind[2];
    destruct[0] = 0;
    {
      zval *arg = phc_const_pool_int_0;
      args[0] = fetch_var_arg (arg, &destruct[0]);
      args_ind[0] = &args[0];
    }
    destruct[1] = 0;
    {
      zval *arg = phc_const_pool_int_21;
      args[1] = fetch_var_arg (arg, &destruct[1]);
      args_ind[1] = &args[1];
    }
    phc_setup_error (1, "<unknown>", 0, NULL TSRMLS_CC);
    int param_count_save = range_fci.param_count;
    zval ***params_save = range_fci.params;
    zval **retval_save = range_fci.retval_ptr_ptr;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    range_fci.params = args_ind;
    range_fci.param_count = 2;
    range_fci.retval_ptr_ptr = p_rhs;
    int success = zend_call_function (&range_fci, &range_fcic TSRMLS_CC);
    assert (success == SUCCESS);
    range_fci.params = params_save;
    range_fci.param_count = param_count_save;
    range_fci.retval_ptr_ptr = retval_save;
    phc_setup_error (0, NULL, 0, NULL TSRMLS_CC);
    is_p_rhs_new = 1;
    if (destruct[0])
      {
    assert (destruct[0] == 1);
    zval_ptr_dtor (args_ind[0]);
      }
    if (destruct[1])
      {
    assert (destruct[1] == 1);
    zval_ptr_dtor (args_ind[1]);
      }
    write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// $i = 2;
  {
    if (local_i == NULL)
      {
    local_i = EG (uninitialized_zval_ptr);
    local_i->refcount++;
      }
    zval **p_lhs = &local_i;
    if (phc_const_pool_int_7 != *p_lhs)
      write_var (p_lhs, &phc_const_pool_int_7, NULL TSRMLS_CC);
    phc_check_invariants (TSRMLS_C);
  }
// L1320:
L1320:;
// $TLE348 = ($i < 8193);
  {
    if (local_TLE348 == NULL)
      {
    local_TLE348 = EG (uninitialized_zval_ptr);
    local_TLE348->refcount++;
      }
    zval **p_lhs = &local_TLE348;
    zval *left;
    if (local_i == NULL)
      {
    left = EG (uninitialized_zval_ptr);
      }
    else
      {
    left = local_i;
      }
    zval *right = phc_const_pool_int_22;
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    is_smaller_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// if (TLE348) goto L1322 else goto L1312;
  {
    zval *p_cond;
    if (local_TLE348 == NULL)
      {
    p_cond = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_cond = local_TLE348;
      }
    zend_bool bcond = zend_is_true (p_cond);
    if (bcond)
      goto L1322;
    else
      goto L1312;
    phc_check_invariants (TSRMLS_C);
  }
// L1322:
L1322:;
// $TSi349 = $flags[$i];
  {
    if (local_TSi349 == NULL)
      {
    local_TSi349 = EG (uninitialized_zval_ptr);
    local_TSi349->refcount++;
      }
    zval **p_lhs = &local_TSi349;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
// Read array variable
    zval *r_array;
    if (local_flags == NULL)
      {
    r_array = EG (uninitialized_zval_ptr);
      }
    else
      {
    r_array = local_flags;
      }
    zval *ra_index;
    if (local_i == NULL)
      {
    ra_index = EG (uninitialized_zval_ptr);
      }
    else
      {
    ra_index = local_i;
      }
    read_array (p_rhs, r_array, ra_index, &is_p_rhs_new TSRMLS_CC);
    if (*p_lhs != *p_rhs)
      write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// $TLE351 = ($TSi349 > 0);
  {
    if (local_TLE351 == NULL)
      {
    local_TLE351 = EG (uninitialized_zval_ptr);
    local_TLE351->refcount++;
      }
    zval **p_lhs = &local_TLE351;
    zval *left;
    if (local_TSi349 == NULL)
      {
    left = EG (uninitialized_zval_ptr);
      }
    else
      {
    left = local_TSi349;
      }
    zval *right = phc_const_pool_int_0;
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    is_smaller_function (*p_lhs, right, left TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// if (TLE351) goto L1325 else goto L1319;
  {
    zval *p_cond;
    if (local_TLE351 == NULL)
      {
    p_cond = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_cond = local_TLE351;
      }
    zend_bool bcond = zend_is_true (p_cond);
    if (bcond)
      goto L1325;
    else
      goto L1319;
    phc_check_invariants (TSRMLS_C);
  }
// L1325:
L1325:;
// $k = ($i + $i);
  {
    if (local_k == NULL)
      {
    local_k = EG (uninitialized_zval_ptr);
    local_k->refcount++;
      }
    zval **p_lhs = &local_k;
    zval *left;
    if (local_i == NULL)
      {
    left = EG (uninitialized_zval_ptr);
      }
    else
      {
    left = local_i;
      }
    zval *right;
    if (local_i == NULL)
      {
    right = EG (uninitialized_zval_ptr);
      }
    else
      {
    right = local_i;
      }
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    add_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// L1327:
L1327:;
// $TLE353 = ($k <= 8192);
  {
    if (local_TLE353 == NULL)
      {
    local_TLE353 = EG (uninitialized_zval_ptr);
    local_TLE353->refcount++;
      }
    zval **p_lhs = &local_TLE353;
    zval *left;
    if (local_k == NULL)
      {
    left = EG (uninitialized_zval_ptr);
      }
    else
      {
    left = local_k;
      }
    zval *right = phc_const_pool_int_21;
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    is_smaller_or_equal_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// if (TLE353) goto L1329 else goto L1330;
  {
    zval *p_cond;
    if (local_TLE353 == NULL)
      {
    p_cond = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_cond = local_TLE353;
      }
    zend_bool bcond = zend_is_true (p_cond);
    if (bcond)
      goto L1329;
    else
      goto L1330;
    phc_check_invariants (TSRMLS_C);
  }
// L1330:
L1330:;
// ++$count;
  {
    if (local_count == NULL)
      {
    local_count = EG (uninitialized_zval_ptr);
    local_count->refcount++;
      }
    zval **p_var = &local_count;
    sep_copy_on_write_ex (p_var);
    increment_function (*p_var);
    phc_check_invariants (TSRMLS_C);
  }
// L1319:
L1319:;
// ++$i;
  {
    if (local_i == NULL)
      {
    local_i = EG (uninitialized_zval_ptr);
    local_i->refcount++;
      }
    zval **p_var = &local_i;
    sep_copy_on_write_ex (p_var);
    increment_function (*p_var);
    phc_check_invariants (TSRMLS_C);
  }
// goto L1320;
  {
    goto L1320;
    phc_check_invariants (TSRMLS_C);
  }
// L1329:
L1329:;
// $flags[$k] = 0;
  {
    if (local_flags == NULL)
      {
    local_flags = EG (uninitialized_zval_ptr);
    local_flags->refcount++;
      }
    zval **p_lhs_var = &local_flags;
    zval *p_lhs_index;
    if (local_k == NULL)
      {
    p_lhs_index = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_lhs_index = local_k;
      }
    zval **p_lhs = get_ht_entry (p_lhs_var, p_lhs_index TSRMLS_CC);
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    zval *p_rhs_var = phc_const_pool_int_0;
// Read normal variable
    p_rhs = &p_rhs_var;

    if (*p_lhs != *p_rhs)
      write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// $k = ($k + $i);
  {
    if (local_k == NULL)
      {
    local_k = EG (uninitialized_zval_ptr);
    local_k->refcount++;
      }
    zval **p_lhs = &local_k;
    zval *left;
    if (local_k == NULL)
      {
    left = EG (uninitialized_zval_ptr);
      }
    else
      {
    left = local_k;
      }
    zval *right;
    if (local_i == NULL)
      {
    right = EG (uninitialized_zval_ptr);
      }
    else
      {
    right = local_i;
      }
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    add_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// goto L1327;
  {
    goto L1327;
    phc_check_invariants (TSRMLS_C);
  }
// L1331:
L1331:;
// $TLE356 = ('Count: ' . $count);
  {
    if (local_TLE356 == NULL)
      {
    local_TLE356 = EG (uninitialized_zval_ptr);
    local_TLE356->refcount++;
      }
    zval **p_lhs = &local_TLE356;
    zval *left = phc_const_pool_string_17;
    zval *right;
    if (local_count == NULL)
      {
    right = EG (uninitialized_zval_ptr);
      }
    else
      {
    right = local_count;
      }
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    concat_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// $TLE358 = ($TLE356 . '
// ');
  {
    if (local_TLE358 == NULL)
      {
    local_TLE358 = EG (uninitialized_zval_ptr);
    local_TLE358->refcount++;
      }
    zval **p_lhs = &local_TLE358;
    zval *left;
    if (local_TLE356 == NULL)
      {
    left = EG (uninitialized_zval_ptr);
      }
    else
      {
    left = local_TLE356;
      }
    zval *right = phc_const_pool_string_5;
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    concat_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// print($TLE358);
  {
    zval *p_arg;
    if (local_TLE358 == NULL)
      {
    p_arg = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_arg = local_TLE358;
      }
    phc_builtin_print (p_arg, NULL,
               "test/subjects/benchmarks/zend/bench.php" TSRMLS_CC);
    phc_check_invariants (TSRMLS_C);
  }
// Method exit
end_of_function:__attribute__ ((unused));
  if (local_TLE343 != NULL)
    {
      zval_ptr_dtor (&local_TLE343);
    }
  if (local_TLE348 != NULL)
    {
      zval_ptr_dtor (&local_TLE348);
    }
  if (local_TLE351 != NULL)
    {
      zval_ptr_dtor (&local_TLE351);
    }
  if (local_TLE353 != NULL)
    {
      zval_ptr_dtor (&local_TLE353);
    }
  if (local_TLE356 != NULL)
    {
      zval_ptr_dtor (&local_TLE356);
    }
  if (local_TLE358 != NULL)
    {
      zval_ptr_dtor (&local_TLE358);
    }
  if (local_TS44 != NULL)
    {
      zval_ptr_dtor (&local_TS44);
    }
  if (local_TSi349 != NULL)
    {
      zval_ptr_dtor (&local_TSi349);
    }
  if (local_count != NULL)
    {
      zval_ptr_dtor (&local_count);
    }
  if (local_flags != NULL)
    {
      zval_ptr_dtor (&local_flags);
    }
  if (local_i != NULL)
    {
      zval_ptr_dtor (&local_i);
    }
  if (local_k != NULL)
    {
      zval_ptr_dtor (&local_k);
    }
  if (local_n != NULL)
    {
      zval_ptr_dtor (&local_n);
    }
}

// function strcat($n)
// {
// \011$str = '';
// \011L1337:
// \011$TS45 = $n;
// \011--$n;
// \011$TLE360 = ($TS45 > 0);
// \011if (TLE360) goto L1341 else goto L1342;
// \011L1342:
// \011$len = strlen($str);
// \011$TLE364 = ('' . $len);
// \011$TLE366 = ($TLE364 . '
// ');
// \011print($TLE366);
// \011goto L1335;
// \011L1341:
// \011$str = ($str . 'hello
// ');
// \011goto L1337;
// \011L1335:
// }
PHP_FUNCTION (strcat)
{
  zval *local_TLE360 = NULL;
  zval *local_TLE364 = NULL;
  zval *local_TLE366 = NULL;
  zval *local_TS45 = NULL;
  zval *local_len = NULL;
  zval *local_n = NULL;
  zval *local_str = NULL;
// Add all parameters as local variables
  {
    int num_args = ZEND_NUM_ARGS ();
    zval *params[1];
    zend_get_parameters_array (0, num_args, params);
// param 0
    params[0]->refcount++;
    local_n = params[0];
  }
// Function body
// $str = '';
  {
    if (local_str == NULL)
      {
    local_str = EG (uninitialized_zval_ptr);
    local_str->refcount++;
      }
    zval **p_lhs = &local_str;
    if (phc_const_pool_string_8 != *p_lhs)
      write_var (p_lhs, &phc_const_pool_string_8, NULL TSRMLS_CC);
    phc_check_invariants (TSRMLS_C);
  }
// L1337:
L1337:;
// $TS45 = $n;
  {
    if (local_TS45 == NULL)
      {
    local_TS45 = EG (uninitialized_zval_ptr);
    local_TS45->refcount++;
      }
    zval **p_lhs = &local_TS45;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
// Read normal variable
    zval *p_rhs_var;
    if (local_n == NULL)
      {
    p_rhs_var = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_rhs_var = local_n;
      }
    p_rhs = &p_rhs_var;
    if (*p_lhs != *p_rhs)
      write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// --$n;
  {
    if (local_n == NULL)
      {
    local_n = EG (uninitialized_zval_ptr);
    local_n->refcount++;
      }
    zval **p_var = &local_n;
    sep_copy_on_write_ex (p_var);
    decrement_function (*p_var);
    phc_check_invariants (TSRMLS_C);
  }
// $TLE360 = ($TS45 > 0);
  {
    if (local_TLE360 == NULL)
      {
    local_TLE360 = EG (uninitialized_zval_ptr);
    local_TLE360->refcount++;
      }
    zval **p_lhs = &local_TLE360;
    zval *left;
    if (local_TS45 == NULL)
      {
    left = EG (uninitialized_zval_ptr);
      }
    else
      {
    left = local_TS45;
      }
    zval *right = phc_const_pool_int_0;
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    is_smaller_function (*p_lhs, right, left TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// if (TLE360) goto L1341 else goto L1342;
  {
    zval *p_cond;
    if (local_TLE360 == NULL)
      {
    p_cond = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_cond = local_TLE360;
      }
    zend_bool bcond = zend_is_true (p_cond);
    if (bcond)
      goto L1341;
    else
      goto L1342;
    phc_check_invariants (TSRMLS_C);
  }
// L1342:
L1342:;
// $len = strlen($str);
  {
    if (local_len == NULL)
      {
    local_len = EG (uninitialized_zval_ptr);
    local_len->refcount++;
      }
    zval **p_lhs = &local_len;
    initialize_function_call (&strlen_fci, &strlen_fcic, "strlen",
                  "test/subjects/benchmarks/zend/bench.php",
                  340 TSRMLS_CC);
    zend_function *signature = strlen_fcic.function_handler;
    zend_arg_info *arg_info = signature->common.arg_info;
    int by_ref[1];
    if (arg_info)
      {
    by_ref[0] = arg_info->pass_by_reference;
    arg_info++;
      }
    else
      {
    by_ref[0] = signature->common.pass_rest_by_reference;
      }
// Setup array of arguments
    int destruct[1];        // set to 1 if the arg is new
    zval *args[1];
    zval **args_ind[1];
    destruct[0] = 0;
    {
      zval *arg;
      if (local_str == NULL)
    {
      arg = EG (uninitialized_zval_ptr);
    }
      else
    {
      arg = local_str;
    }
      args[0] = fetch_var_arg (arg, &destruct[0]);
      args_ind[0] = &args[0];
    }
    phc_setup_error (1, "<unknown>", 0, NULL TSRMLS_CC);
    int param_count_save = strlen_fci.param_count;
    zval ***params_save = strlen_fci.params;
    zval **retval_save = strlen_fci.retval_ptr_ptr;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    strlen_fci.params = args_ind;
    strlen_fci.param_count = 1;
    strlen_fci.retval_ptr_ptr = p_rhs;
    int success = zend_call_function (&strlen_fci, &strlen_fcic TSRMLS_CC);
    assert (success == SUCCESS);
    strlen_fci.params = params_save;
    strlen_fci.param_count = param_count_save;
    strlen_fci.retval_ptr_ptr = retval_save;
    phc_setup_error (0, NULL, 0, NULL TSRMLS_CC);
    is_p_rhs_new = 1;
    if (destruct[0])
      {
    assert (destruct[0] == 1);
    zval_ptr_dtor (args_ind[0]);
      }
    write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// $TLE364 = ('' . $len);
  {
    if (local_TLE364 == NULL)
      {
    local_TLE364 = EG (uninitialized_zval_ptr);
    local_TLE364->refcount++;
      }
    zval **p_lhs = &local_TLE364;
    zval *left = phc_const_pool_string_8;
    zval *right;
    if (local_len == NULL)
      {
    right = EG (uninitialized_zval_ptr);
      }
    else
      {
    right = local_len;
      }
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    concat_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// $TLE366 = ($TLE364 . '
// ');
  {
    if (local_TLE366 == NULL)
      {
    local_TLE366 = EG (uninitialized_zval_ptr);
    local_TLE366->refcount++;
      }
    zval **p_lhs = &local_TLE366;
    zval *left;
    if (local_TLE364 == NULL)
      {
    left = EG (uninitialized_zval_ptr);
      }
    else
      {
    left = local_TLE364;
      }
    zval *right = phc_const_pool_string_5;
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    concat_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// print($TLE366);
  {
    zval *p_arg;
    if (local_TLE366 == NULL)
      {
    p_arg = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_arg = local_TLE366;
      }
    phc_builtin_print (p_arg, NULL,
               "test/subjects/benchmarks/zend/bench.php" TSRMLS_CC);
    phc_check_invariants (TSRMLS_C);
  }
// goto L1335;
  {
    goto L1335;
    phc_check_invariants (TSRMLS_C);
  }
// L1341:
L1341:;
// $str = ($str . 'hello
// ');
  {
    if (local_str == NULL)
      {
    local_str = EG (uninitialized_zval_ptr);
    local_str->refcount++;
      }
    zval **p_lhs = &local_str;
    zval *left;
    if (local_str == NULL)
      {
    left = EG (uninitialized_zval_ptr);
      }
    else
      {
    left = local_str;
      }
    zval *right = phc_const_pool_string_18;
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    concat_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// goto L1337;
  {
    goto L1337;
    phc_check_invariants (TSRMLS_C);
  }
// L1335:
L1335:;
// Method exit
end_of_function:__attribute__ ((unused));
  if (local_TLE360 != NULL)
    {
      zval_ptr_dtor (&local_TLE360);
    }
  if (local_TLE364 != NULL)
    {
      zval_ptr_dtor (&local_TLE364);
    }
  if (local_TLE366 != NULL)
    {
      zval_ptr_dtor (&local_TLE366);
    }
  if (local_TS45 != NULL)
    {
      zval_ptr_dtor (&local_TS45);
    }
  if (local_len != NULL)
    {
      zval_ptr_dtor (&local_len);
    }
  if (local_n != NULL)
    {
      zval_ptr_dtor (&local_n);
    }
  if (local_str != NULL)
    {
      zval_ptr_dtor (&local_str);
    }
}

// function getmicrotime()
// {
// \011$t = gettimeofday();
// \011$TSi368 = $t['sec'];
// \011$TSi370 = $t['usec'];
// \011$TLE372 = ($TSi370 / 1000000);
// \011$TLE373 = ($TSi368 + $TLE372);
// \011return $TLE373;
// }
PHP_FUNCTION (getmicrotime)
{
  zval *local_TLE372 = NULL;
  zval *local_TLE373 = NULL;
  zval *local_TSi368 = NULL;
  zval *local_TSi370 = NULL;
  zval *local_t = NULL;
// Function body
// $t = gettimeofday();
  {
    if (local_t == NULL)
      {
    local_t = EG (uninitialized_zval_ptr);
    local_t->refcount++;
      }
    zval **p_lhs = &local_t;
    initialize_function_call (&gettimeofday_fci, &gettimeofday_fcic,
                  "gettimeofday",
                  "test/subjects/benchmarks/zend/bench.php",
                  348 TSRMLS_CC);
    zend_function *signature = gettimeofday_fcic.function_handler;
    zval **args_ind[0];
    phc_setup_error (1, "<unknown>", 0, NULL TSRMLS_CC);
    int param_count_save = gettimeofday_fci.param_count;
    zval ***params_save = gettimeofday_fci.params;
    zval **retval_save = gettimeofday_fci.retval_ptr_ptr;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    gettimeofday_fci.params = args_ind;
    gettimeofday_fci.param_count = 0;
    gettimeofday_fci.retval_ptr_ptr = p_rhs;
    int success =
      zend_call_function (&gettimeofday_fci, &gettimeofday_fcic TSRMLS_CC);
    assert (success == SUCCESS);
    gettimeofday_fci.params = params_save;
    gettimeofday_fci.param_count = param_count_save;
    gettimeofday_fci.retval_ptr_ptr = retval_save;
    phc_setup_error (0, NULL, 0, NULL TSRMLS_CC);
    is_p_rhs_new = 1;
    write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// $TSi368 = $t['sec'];
  {
    if (local_TSi368 == NULL)
      {
    local_TSi368 = EG (uninitialized_zval_ptr);
    local_TSi368->refcount++;
      }
    zval **p_lhs = &local_TSi368;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
// Read array variable
    zval *r_array;
    if (local_t == NULL)
      {
    r_array = EG (uninitialized_zval_ptr);
      }
    else
      {
    r_array = local_t;
      }
    zval *ra_index = phc_const_pool_string_19;
    read_array (p_rhs, r_array, ra_index, &is_p_rhs_new TSRMLS_CC);
    if (*p_lhs != *p_rhs)
      write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// $TSi370 = $t['usec'];
  {
    if (local_TSi370 == NULL)
      {
    local_TSi370 = EG (uninitialized_zval_ptr);
    local_TSi370->refcount++;
      }
    zval **p_lhs = &local_TSi370;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
// Read array variable
    zval *r_array;
    if (local_t == NULL)
      {
    r_array = EG (uninitialized_zval_ptr);
      }
    else
      {
    r_array = local_t;
      }
    zval *ra_index = phc_const_pool_string_20;
    read_array (p_rhs, r_array, ra_index, &is_p_rhs_new TSRMLS_CC);
    if (*p_lhs != *p_rhs)
      write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// $TLE372 = ($TSi370 / 1000000);
  {
    if (local_TLE372 == NULL)
      {
    local_TLE372 = EG (uninitialized_zval_ptr);
    local_TLE372->refcount++;
      }
    zval **p_lhs = &local_TLE372;
    zval *left;
    if (local_TSi370 == NULL)
      {
    left = EG (uninitialized_zval_ptr);
      }
    else
      {
    left = local_TSi370;
      }
    zval *right = phc_const_pool_int_1;
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    div_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// $TLE373 = ($TSi368 + $TLE372);
  {
    if (local_TLE373 == NULL)
      {
    local_TLE373 = EG (uninitialized_zval_ptr);
    local_TLE373->refcount++;
      }
    zval **p_lhs = &local_TLE373;
    zval *left;
    if (local_TSi368 == NULL)
      {
    left = EG (uninitialized_zval_ptr);
      }
    else
      {
    left = local_TSi368;
      }
    zval *right;
    if (local_TLE372 == NULL)
      {
    right = EG (uninitialized_zval_ptr);
      }
    else
      {
    right = local_TLE372;
      }
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    add_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// return $TLE373;
  {
    zval *rhs;
    if (local_TLE373 == NULL)
      {
    rhs = EG (uninitialized_zval_ptr);
      }
    else
      {
    rhs = local_TLE373;
      }
    return_value->value = rhs->value;
    return_value->type = rhs->type;
    zval_copy_ctor (return_value);
    goto end_of_function;
    phc_check_invariants (TSRMLS_C);
  }
// Method exit
end_of_function:__attribute__ ((unused));
  if (local_TLE372 != NULL)
    {
      zval_ptr_dtor (&local_TLE372);
    }
  if (local_TLE373 != NULL)
    {
      zval_ptr_dtor (&local_TLE373);
    }
  if (local_TSi368 != NULL)
    {
      zval_ptr_dtor (&local_TSi368);
    }
  if (local_TSi370 != NULL)
    {
      zval_ptr_dtor (&local_TSi370);
    }
  if (local_t != NULL)
    {
      zval_ptr_dtor (&local_t);
    }
}

// function start_test()
// {
// \011ob_start();
// \011$TLE374 = getmicrotime();
// \011return $TLE374;
// }
PHP_FUNCTION (start_test)
{
  zval *local_TLE374 = NULL;
// Function body
// ob_start();
  {
    initialize_function_call (&ob_start_fci, &ob_start_fcic, "ob_start",
                  "test/subjects/benchmarks/zend/bench.php",
                  354 TSRMLS_CC);
    zend_function *signature = ob_start_fcic.function_handler;
    zval **args_ind[0];
    phc_setup_error (1, "<unknown>", 0, NULL TSRMLS_CC);
    int param_count_save = ob_start_fci.param_count;
    zval ***params_save = ob_start_fci.params;
    zval **retval_save = ob_start_fci.retval_ptr_ptr;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    ob_start_fci.params = args_ind;
    ob_start_fci.param_count = 0;
    ob_start_fci.retval_ptr_ptr = p_rhs;
    int success =
      zend_call_function (&ob_start_fci, &ob_start_fcic TSRMLS_CC);
    assert (success == SUCCESS);
    ob_start_fci.params = params_save;
    ob_start_fci.param_count = param_count_save;
    ob_start_fci.retval_ptr_ptr = retval_save;
    phc_setup_error (0, NULL, 0, NULL TSRMLS_CC);
    is_p_rhs_new = 1;
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// $TLE374 = getmicrotime();
  {
    if (local_TLE374 == NULL)
      {
    local_TLE374 = EG (uninitialized_zval_ptr);
    local_TLE374->refcount++;
      }
    zval **p_lhs = &local_TLE374;
    initialize_function_call (&getmicrotime_fci, &getmicrotime_fcic,
                  "getmicrotime",
                  "test/subjects/benchmarks/zend/bench.php",
                  355 TSRMLS_CC);
    zend_function *signature = getmicrotime_fcic.function_handler;
    zval **args_ind[0];
    phc_setup_error (1, "<unknown>", 0, NULL TSRMLS_CC);
    int param_count_save = getmicrotime_fci.param_count;
    zval ***params_save = getmicrotime_fci.params;
    zval **retval_save = getmicrotime_fci.retval_ptr_ptr;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    getmicrotime_fci.params = args_ind;
    getmicrotime_fci.param_count = 0;
    getmicrotime_fci.retval_ptr_ptr = p_rhs;
    int success =
      zend_call_function (&getmicrotime_fci, &getmicrotime_fcic TSRMLS_CC);
    assert (success == SUCCESS);
    getmicrotime_fci.params = params_save;
    getmicrotime_fci.param_count = param_count_save;
    getmicrotime_fci.retval_ptr_ptr = retval_save;
    phc_setup_error (0, NULL, 0, NULL TSRMLS_CC);
    is_p_rhs_new = 1;
    write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// return $TLE374;
  {
    zval *rhs;
    if (local_TLE374 == NULL)
      {
    rhs = EG (uninitialized_zval_ptr);
      }
    else
      {
    rhs = local_TLE374;
      }
    return_value->value = rhs->value;
    return_value->type = rhs->type;
    zval_copy_ctor (return_value);
    goto end_of_function;
    phc_check_invariants (TSRMLS_C);
  }
// Method exit
end_of_function:__attribute__ ((unused));
  if (local_TLE374 != NULL)
    {
      zval_ptr_dtor (&local_TLE374);
    }
}

// function end_test($start, $name)
// {
// \011global $total;
// \011$end = getmicrotime();
// \011ob_end_clean();
// \011$TLE375 = ($end - $start);
// \011$total = ($total + $TLE375);
// \011$TLE376 = ($end - $start);
// \011$num = number_format($TLE376, 3);
// \011$TLE380 = strlen($name);
// \011$TLE381 = (24 - $TLE380);
// \011$TLE382 = strlen($num);
// \011$TLE383 = ($TLE381 - $TLE382);
// \011$pad = str_repeat(' ', $TLE383);
// \011$TLE384 = ($name . $pad);
// \011$TLE385 = ($TLE384 . $num);
// \011$TLE387 = ($TLE385 . '
// ');
// \011print($TLE387);
// \011ob_start();
// \011$TLE388 = getmicrotime();
// \011return $TLE388;
// }
PHP_FUNCTION (end_test)
{
  zval *local_TLE375 = NULL;
  zval *local_TLE376 = NULL;
  zval *local_TLE380 = NULL;
  zval *local_TLE381 = NULL;
  zval *local_TLE382 = NULL;
  zval *local_TLE383 = NULL;
  zval *local_TLE384 = NULL;
  zval *local_TLE385 = NULL;
  zval *local_TLE387 = NULL;
  zval *local_TLE388 = NULL;
  zval *local_end = NULL;
  zval *local_name = NULL;
  zval *local_num = NULL;
  zval *local_pad = NULL;
  zval *local_start = NULL;
  zval *local_total = NULL;
// Add all parameters as local variables
  {
    int num_args = ZEND_NUM_ARGS ();
    zval *params[2];
    zend_get_parameters_array (0, num_args, params);
// param 0
    params[0]->refcount++;
    local_start = params[0];
// param 1
    params[1]->refcount++;
    local_name = params[1];
  }
// Function body
// global $total;
  {
// Normal global
    if (local_total == NULL)
      {
    local_total = EG (uninitialized_zval_ptr);
    local_total->refcount++;
      }
    zval **p_local_global_var = &local_total;
// Normal global
    zval **p_global_var =
      get_st_entry (&EG (symbol_table), "total", 6, 6954064761897u TSRMLS_CC);
    copy_into_ref (p_local_global_var, p_global_var);
    phc_check_invariants (TSRMLS_C);
  }
// $end = getmicrotime();
  {
    if (local_end == NULL)
      {
    local_end = EG (uninitialized_zval_ptr);
    local_end->refcount++;
      }
    zval **p_lhs = &local_end;
    initialize_function_call (&getmicrotime_fci, &getmicrotime_fcic,
                  "getmicrotime",
                  "test/subjects/benchmarks/zend/bench.php",
                  361 TSRMLS_CC);
    zend_function *signature = getmicrotime_fcic.function_handler;
    zval **args_ind[0];
    phc_setup_error (1, "<unknown>", 0, NULL TSRMLS_CC);
    int param_count_save = getmicrotime_fci.param_count;
    zval ***params_save = getmicrotime_fci.params;
    zval **retval_save = getmicrotime_fci.retval_ptr_ptr;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    getmicrotime_fci.params = args_ind;
    getmicrotime_fci.param_count = 0;
    getmicrotime_fci.retval_ptr_ptr = p_rhs;
    int success =
      zend_call_function (&getmicrotime_fci, &getmicrotime_fcic TSRMLS_CC);
    assert (success == SUCCESS);
    getmicrotime_fci.params = params_save;
    getmicrotime_fci.param_count = param_count_save;
    getmicrotime_fci.retval_ptr_ptr = retval_save;
    phc_setup_error (0, NULL, 0, NULL TSRMLS_CC);
    is_p_rhs_new = 1;
    write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// ob_end_clean();
  {
    initialize_function_call (&ob_end_clean_fci, &ob_end_clean_fcic,
                  "ob_end_clean",
                  "test/subjects/benchmarks/zend/bench.php",
                  362 TSRMLS_CC);
    zend_function *signature = ob_end_clean_fcic.function_handler;
    zval **args_ind[0];
    phc_setup_error (1, "<unknown>", 0, NULL TSRMLS_CC);
    int param_count_save = ob_end_clean_fci.param_count;
    zval ***params_save = ob_end_clean_fci.params;
    zval **retval_save = ob_end_clean_fci.retval_ptr_ptr;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    ob_end_clean_fci.params = args_ind;
    ob_end_clean_fci.param_count = 0;
    ob_end_clean_fci.retval_ptr_ptr = p_rhs;
    int success =
      zend_call_function (&ob_end_clean_fci, &ob_end_clean_fcic TSRMLS_CC);
    assert (success == SUCCESS);
    ob_end_clean_fci.params = params_save;
    ob_end_clean_fci.param_count = param_count_save;
    ob_end_clean_fci.retval_ptr_ptr = retval_save;
    phc_setup_error (0, NULL, 0, NULL TSRMLS_CC);
    is_p_rhs_new = 1;
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// $TLE375 = ($end - $start);
  {
    if (local_TLE375 == NULL)
      {
    local_TLE375 = EG (uninitialized_zval_ptr);
    local_TLE375->refcount++;
      }
    zval **p_lhs = &local_TLE375;
    zval *left;
    if (local_end == NULL)
      {
    left = EG (uninitialized_zval_ptr);
      }
    else
      {
    left = local_end;
      }
    zval *right;
    if (local_start == NULL)
      {
    right = EG (uninitialized_zval_ptr);
      }
    else
      {
    right = local_start;
      }
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    sub_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// $total = ($total + $TLE375);
  {
    if (local_total == NULL)
      {
    local_total = EG (uninitialized_zval_ptr);
    local_total->refcount++;
      }
    zval **p_lhs = &local_total;
    zval *left;
    if (local_total == NULL)
      {
    left = EG (uninitialized_zval_ptr);
      }
    else
      {
    left = local_total;
      }
    zval *right;
    if (local_TLE375 == NULL)
      {
    right = EG (uninitialized_zval_ptr);
      }
    else
      {
    right = local_TLE375;
      }
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    add_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// $TLE376 = ($end - $start);
  {
    if (local_TLE376 == NULL)
      {
    local_TLE376 = EG (uninitialized_zval_ptr);
    local_TLE376->refcount++;
      }
    zval **p_lhs = &local_TLE376;
    zval *left;
    if (local_end == NULL)
      {
    left = EG (uninitialized_zval_ptr);
      }
    else
      {
    left = local_end;
      }
    zval *right;
    if (local_start == NULL)
      {
    right = EG (uninitialized_zval_ptr);
      }
    else
      {
    right = local_start;
      }
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    sub_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// $num = number_format($TLE376, 3);
  {
    if (local_num == NULL)
      {
    local_num = EG (uninitialized_zval_ptr);
    local_num->refcount++;
      }
    zval **p_lhs = &local_num;
    initialize_function_call (&number_format_fci, &number_format_fcic,
                  "number_format",
                  "test/subjects/benchmarks/zend/bench.php",
                  364 TSRMLS_CC);
    zend_function *signature = number_format_fcic.function_handler;
    zend_arg_info *arg_info = signature->common.arg_info;
    int by_ref[2];
    if (arg_info)
      {
    by_ref[0] = arg_info->pass_by_reference;
    arg_info++;
      }
    else
      {
    by_ref[0] = signature->common.pass_rest_by_reference;
      }
    if (arg_info)
      {
    by_ref[1] = arg_info->pass_by_reference;
    arg_info++;
      }
    else
      {
    by_ref[1] = signature->common.pass_rest_by_reference;
      }
// Setup array of arguments
    int destruct[2];        // set to 1 if the arg is new
    zval *args[2];
    zval **args_ind[2];
    destruct[0] = 0;
    {
      zval *arg;
      if (local_TLE376 == NULL)
    {
      arg = EG (uninitialized_zval_ptr);
    }
      else
    {
      arg = local_TLE376;
    }
      args[0] = fetch_var_arg (arg, &destruct[0]);
      args_ind[0] = &args[0];
    }
    destruct[1] = 0;
    {
      zval *arg = phc_const_pool_int_14;
      args[1] = fetch_var_arg (arg, &destruct[1]);
      args_ind[1] = &args[1];
    }
    phc_setup_error (1, "<unknown>", 0, NULL TSRMLS_CC);
    int param_count_save = number_format_fci.param_count;
    zval ***params_save = number_format_fci.params;
    zval **retval_save = number_format_fci.retval_ptr_ptr;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    number_format_fci.params = args_ind;
    number_format_fci.param_count = 2;
    number_format_fci.retval_ptr_ptr = p_rhs;
    int success =
      zend_call_function (&number_format_fci, &number_format_fcic TSRMLS_CC);
    assert (success == SUCCESS);
    number_format_fci.params = params_save;
    number_format_fci.param_count = param_count_save;
    number_format_fci.retval_ptr_ptr = retval_save;
    phc_setup_error (0, NULL, 0, NULL TSRMLS_CC);
    is_p_rhs_new = 1;
    if (destruct[0])
      {
    assert (destruct[0] == 1);
    zval_ptr_dtor (args_ind[0]);
      }
    if (destruct[1])
      {
    assert (destruct[1] == 1);
    zval_ptr_dtor (args_ind[1]);
      }
    write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// $TLE380 = strlen($name);
  {
    if (local_TLE380 == NULL)
      {
    local_TLE380 = EG (uninitialized_zval_ptr);
    local_TLE380->refcount++;
      }
    zval **p_lhs = &local_TLE380;
    initialize_function_call (&strlen_fci, &strlen_fcic, "strlen",
                  "test/subjects/benchmarks/zend/bench.php",
                  365 TSRMLS_CC);
    zend_function *signature = strlen_fcic.function_handler;
    zend_arg_info *arg_info = signature->common.arg_info;
    int by_ref[1];
    if (arg_info)
      {
    by_ref[0] = arg_info->pass_by_reference;
    arg_info++;
      }
    else
      {
    by_ref[0] = signature->common.pass_rest_by_reference;
      }
// Setup array of arguments
    int destruct[1];        // set to 1 if the arg is new
    zval *args[1];
    zval **args_ind[1];
    destruct[0] = 0;
    {
      zval *arg;
      if (local_name == NULL)
    {
      arg = EG (uninitialized_zval_ptr);
    }
      else
    {
      arg = local_name;
    }
      args[0] = fetch_var_arg (arg, &destruct[0]);
      args_ind[0] = &args[0];
    }
    phc_setup_error (1, "<unknown>", 0, NULL TSRMLS_CC);
    int param_count_save = strlen_fci.param_count;
    zval ***params_save = strlen_fci.params;
    zval **retval_save = strlen_fci.retval_ptr_ptr;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    strlen_fci.params = args_ind;
    strlen_fci.param_count = 1;
    strlen_fci.retval_ptr_ptr = p_rhs;
    int success = zend_call_function (&strlen_fci, &strlen_fcic TSRMLS_CC);
    assert (success == SUCCESS);
    strlen_fci.params = params_save;
    strlen_fci.param_count = param_count_save;
    strlen_fci.retval_ptr_ptr = retval_save;
    phc_setup_error (0, NULL, 0, NULL TSRMLS_CC);
    is_p_rhs_new = 1;
    if (destruct[0])
      {
    assert (destruct[0] == 1);
    zval_ptr_dtor (args_ind[0]);
      }
    write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// $TLE381 = (24 - $TLE380);
  {
    if (local_TLE381 == NULL)
      {
    local_TLE381 = EG (uninitialized_zval_ptr);
    local_TLE381->refcount++;
      }
    zval **p_lhs = &local_TLE381;
    zval *left = phc_const_pool_int_23;
    zval *right;
    if (local_TLE380 == NULL)
      {
    right = EG (uninitialized_zval_ptr);
      }
    else
      {
    right = local_TLE380;
      }
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    sub_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// $TLE382 = strlen($num);
  {
    if (local_TLE382 == NULL)
      {
    local_TLE382 = EG (uninitialized_zval_ptr);
    local_TLE382->refcount++;
      }
    zval **p_lhs = &local_TLE382;
    initialize_function_call (&strlen_fci, &strlen_fcic, "strlen",
                  "test/subjects/benchmarks/zend/bench.php",
                  365 TSRMLS_CC);
    zend_function *signature = strlen_fcic.function_handler;
    zend_arg_info *arg_info = signature->common.arg_info;
    int by_ref[1];
    if (arg_info)
      {
    by_ref[0] = arg_info->pass_by_reference;
    arg_info++;
      }
    else
      {
    by_ref[0] = signature->common.pass_rest_by_reference;
      }
// Setup array of arguments
    int destruct[1];        // set to 1 if the arg is new
    zval *args[1];
    zval **args_ind[1];
    destruct[0] = 0;
    {
      zval *arg;
      if (local_num == NULL)
    {
      arg = EG (uninitialized_zval_ptr);
    }
      else
    {
      arg = local_num;
    }
      args[0] = fetch_var_arg (arg, &destruct[0]);
      args_ind[0] = &args[0];
    }
    phc_setup_error (1, "<unknown>", 0, NULL TSRMLS_CC);
    int param_count_save = strlen_fci.param_count;
    zval ***params_save = strlen_fci.params;
    zval **retval_save = strlen_fci.retval_ptr_ptr;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    strlen_fci.params = args_ind;
    strlen_fci.param_count = 1;
    strlen_fci.retval_ptr_ptr = p_rhs;
    int success = zend_call_function (&strlen_fci, &strlen_fcic TSRMLS_CC);
    assert (success == SUCCESS);
    strlen_fci.params = params_save;
    strlen_fci.param_count = param_count_save;
    strlen_fci.retval_ptr_ptr = retval_save;
    phc_setup_error (0, NULL, 0, NULL TSRMLS_CC);
    is_p_rhs_new = 1;
    if (destruct[0])
      {
    assert (destruct[0] == 1);
    zval_ptr_dtor (args_ind[0]);
      }
    write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// $TLE383 = ($TLE381 - $TLE382);
  {
    if (local_TLE383 == NULL)
      {
    local_TLE383 = EG (uninitialized_zval_ptr);
    local_TLE383->refcount++;
      }
    zval **p_lhs = &local_TLE383;
    zval *left;
    if (local_TLE381 == NULL)
      {
    left = EG (uninitialized_zval_ptr);
      }
    else
      {
    left = local_TLE381;
      }
    zval *right;
    if (local_TLE382 == NULL)
      {
    right = EG (uninitialized_zval_ptr);
      }
    else
      {
    right = local_TLE382;
      }
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    sub_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// $pad = str_repeat(' ', $TLE383);
  {
    if (local_pad == NULL)
      {
    local_pad = EG (uninitialized_zval_ptr);
    local_pad->refcount++;
      }
    zval **p_lhs = &local_pad;
    initialize_function_call (&str_repeat_fci, &str_repeat_fcic, "str_repeat",
                  "test/subjects/benchmarks/zend/bench.php",
                  365 TSRMLS_CC);
    zend_function *signature = str_repeat_fcic.function_handler;
    zend_arg_info *arg_info = signature->common.arg_info;
    int by_ref[2];
    if (arg_info)
      {
    by_ref[0] = arg_info->pass_by_reference;
    arg_info++;
      }
    else
      {
    by_ref[0] = signature->common.pass_rest_by_reference;
      }
    if (arg_info)
      {
    by_ref[1] = arg_info->pass_by_reference;
    arg_info++;
      }
    else
      {
    by_ref[1] = signature->common.pass_rest_by_reference;
      }
// Setup array of arguments
    int destruct[2];        // set to 1 if the arg is new
    zval *args[2];
    zval **args_ind[2];
    destruct[0] = 0;
    {
      zval *arg = phc_const_pool_string_9;
      args[0] = fetch_var_arg (arg, &destruct[0]);
      args_ind[0] = &args[0];
    }
    destruct[1] = 0;
    {
      zval *arg;
      if (local_TLE383 == NULL)
    {
      arg = EG (uninitialized_zval_ptr);
    }
      else
    {
      arg = local_TLE383;
    }
      args[1] = fetch_var_arg (arg, &destruct[1]);
      args_ind[1] = &args[1];
    }
    phc_setup_error (1, "<unknown>", 0, NULL TSRMLS_CC);
    int param_count_save = str_repeat_fci.param_count;
    zval ***params_save = str_repeat_fci.params;
    zval **retval_save = str_repeat_fci.retval_ptr_ptr;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    str_repeat_fci.params = args_ind;
    str_repeat_fci.param_count = 2;
    str_repeat_fci.retval_ptr_ptr = p_rhs;
    int success =
      zend_call_function (&str_repeat_fci, &str_repeat_fcic TSRMLS_CC);
    assert (success == SUCCESS);
    str_repeat_fci.params = params_save;
    str_repeat_fci.param_count = param_count_save;
    str_repeat_fci.retval_ptr_ptr = retval_save;
    phc_setup_error (0, NULL, 0, NULL TSRMLS_CC);
    is_p_rhs_new = 1;
    if (destruct[0])
      {
    assert (destruct[0] == 1);
    zval_ptr_dtor (args_ind[0]);
      }
    if (destruct[1])
      {
    assert (destruct[1] == 1);
    zval_ptr_dtor (args_ind[1]);
      }
    write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// $TLE384 = ($name . $pad);
  {
    if (local_TLE384 == NULL)
      {
    local_TLE384 = EG (uninitialized_zval_ptr);
    local_TLE384->refcount++;
      }
    zval **p_lhs = &local_TLE384;
    zval *left;
    if (local_name == NULL)
      {
    left = EG (uninitialized_zval_ptr);
      }
    else
      {
    left = local_name;
      }
    zval *right;
    if (local_pad == NULL)
      {
    right = EG (uninitialized_zval_ptr);
      }
    else
      {
    right = local_pad;
      }
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    concat_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// $TLE385 = ($TLE384 . $num);
  {
    if (local_TLE385 == NULL)
      {
    local_TLE385 = EG (uninitialized_zval_ptr);
    local_TLE385->refcount++;
      }
    zval **p_lhs = &local_TLE385;
    zval *left;
    if (local_TLE384 == NULL)
      {
    left = EG (uninitialized_zval_ptr);
      }
    else
      {
    left = local_TLE384;
      }
    zval *right;
    if (local_num == NULL)
      {
    right = EG (uninitialized_zval_ptr);
      }
    else
      {
    right = local_num;
      }
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    concat_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// $TLE387 = ($TLE385 . '
// ');
  {
    if (local_TLE387 == NULL)
      {
    local_TLE387 = EG (uninitialized_zval_ptr);
    local_TLE387->refcount++;
      }
    zval **p_lhs = &local_TLE387;
    zval *left;
    if (local_TLE385 == NULL)
      {
    left = EG (uninitialized_zval_ptr);
      }
    else
      {
    left = local_TLE385;
      }
    zval *right = phc_const_pool_string_5;
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    concat_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// print($TLE387);
  {
    zval *p_arg;
    if (local_TLE387 == NULL)
      {
    p_arg = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_arg = local_TLE387;
      }
    phc_builtin_print (p_arg, NULL,
               "test/subjects/benchmarks/zend/bench.php" TSRMLS_CC);
    phc_check_invariants (TSRMLS_C);
  }
// ob_start();
  {
    initialize_function_call (&ob_start_fci, &ob_start_fcic, "ob_start",
                  "test/subjects/benchmarks/zend/bench.php",
                  368 TSRMLS_CC);
    zend_function *signature = ob_start_fcic.function_handler;
    zval **args_ind[0];
    phc_setup_error (1, "<unknown>", 0, NULL TSRMLS_CC);
    int param_count_save = ob_start_fci.param_count;
    zval ***params_save = ob_start_fci.params;
    zval **retval_save = ob_start_fci.retval_ptr_ptr;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    ob_start_fci.params = args_ind;
    ob_start_fci.param_count = 0;
    ob_start_fci.retval_ptr_ptr = p_rhs;
    int success =
      zend_call_function (&ob_start_fci, &ob_start_fcic TSRMLS_CC);
    assert (success == SUCCESS);
    ob_start_fci.params = params_save;
    ob_start_fci.param_count = param_count_save;
    ob_start_fci.retval_ptr_ptr = retval_save;
    phc_setup_error (0, NULL, 0, NULL TSRMLS_CC);
    is_p_rhs_new = 1;
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// $TLE388 = getmicrotime();
  {
    if (local_TLE388 == NULL)
      {
    local_TLE388 = EG (uninitialized_zval_ptr);
    local_TLE388->refcount++;
      }
    zval **p_lhs = &local_TLE388;
    initialize_function_call (&getmicrotime_fci, &getmicrotime_fcic,
                  "getmicrotime",
                  "test/subjects/benchmarks/zend/bench.php",
                  369 TSRMLS_CC);
    zend_function *signature = getmicrotime_fcic.function_handler;
    zval **args_ind[0];
    phc_setup_error (1, "<unknown>", 0, NULL TSRMLS_CC);
    int param_count_save = getmicrotime_fci.param_count;
    zval ***params_save = getmicrotime_fci.params;
    zval **retval_save = getmicrotime_fci.retval_ptr_ptr;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    getmicrotime_fci.params = args_ind;
    getmicrotime_fci.param_count = 0;
    getmicrotime_fci.retval_ptr_ptr = p_rhs;
    int success =
      zend_call_function (&getmicrotime_fci, &getmicrotime_fcic TSRMLS_CC);
    assert (success == SUCCESS);
    getmicrotime_fci.params = params_save;
    getmicrotime_fci.param_count = param_count_save;
    getmicrotime_fci.retval_ptr_ptr = retval_save;
    phc_setup_error (0, NULL, 0, NULL TSRMLS_CC);
    is_p_rhs_new = 1;
    write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// return $TLE388;
  {
    zval *rhs;
    if (local_TLE388 == NULL)
      {
    rhs = EG (uninitialized_zval_ptr);
      }
    else
      {
    rhs = local_TLE388;
      }
    return_value->value = rhs->value;
    return_value->type = rhs->type;
    zval_copy_ctor (return_value);
    goto end_of_function;
    phc_check_invariants (TSRMLS_C);
  }
// Method exit
end_of_function:__attribute__ ((unused));
  if (local_TLE375 != NULL)
    {
      zval_ptr_dtor (&local_TLE375);
    }
  if (local_TLE376 != NULL)
    {
      zval_ptr_dtor (&local_TLE376);
    }
  if (local_TLE380 != NULL)
    {
      zval_ptr_dtor (&local_TLE380);
    }
  if (local_TLE381 != NULL)
    {
      zval_ptr_dtor (&local_TLE381);
    }
  if (local_TLE382 != NULL)
    {
      zval_ptr_dtor (&local_TLE382);
    }
  if (local_TLE383 != NULL)
    {
      zval_ptr_dtor (&local_TLE383);
    }
  if (local_TLE384 != NULL)
    {
      zval_ptr_dtor (&local_TLE384);
    }
  if (local_TLE385 != NULL)
    {
      zval_ptr_dtor (&local_TLE385);
    }
  if (local_TLE387 != NULL)
    {
      zval_ptr_dtor (&local_TLE387);
    }
  if (local_TLE388 != NULL)
    {
      zval_ptr_dtor (&local_TLE388);
    }
  if (local_end != NULL)
    {
      zval_ptr_dtor (&local_end);
    }
  if (local_name != NULL)
    {
      zval_ptr_dtor (&local_name);
    }
  if (local_num != NULL)
    {
      zval_ptr_dtor (&local_num);
    }
  if (local_pad != NULL)
    {
      zval_ptr_dtor (&local_pad);
    }
  if (local_start != NULL)
    {
      zval_ptr_dtor (&local_start);
    }
  if (local_total != NULL)
    {
      zval_ptr_dtor (&local_total);
    }
}

// function total()
// {
// \011global $total;
// \011print('------------------------
// ');
// \011$num = number_format($total, 3);
// \011$TLE399 = strlen($num);
// \011$TLE400 = (19 - $TLE399);
// \011$pad = str_repeat(' ', $TLE400);
// \011$TLE402 = ('Total' . $pad);
// \011$TLE403 = ($TLE402 . $num);
// \011$TLE405 = ($TLE403 . '
// ');
// \011print($TLE405);
// }
PHP_FUNCTION (total)
{
  zval *local_TLE399 = NULL;
  zval *local_TLE400 = NULL;
  zval *local_TLE402 = NULL;
  zval *local_TLE403 = NULL;
  zval *local_TLE405 = NULL;
  zval *local_num = NULL;
  zval *local_pad = NULL;
  zval *local_total = NULL;
// Function body
// global $total;
  {
// Normal global
    if (local_total == NULL)
      {
    local_total = EG (uninitialized_zval_ptr);
    local_total->refcount++;
      }
    zval **p_local_global_var = &local_total;
// Normal global
    zval **p_global_var =
      get_st_entry (&EG (symbol_table), "total", 6, 6954064761897u TSRMLS_CC);
    copy_into_ref (p_local_global_var, p_global_var);
    phc_check_invariants (TSRMLS_C);
  }
// print('------------------------
// ');
  {
    zval *p_arg = phc_const_pool_string_21;
    phc_builtin_print (p_arg, NULL,
               "test/subjects/benchmarks/zend/bench.php" TSRMLS_CC);
    phc_check_invariants (TSRMLS_C);
  }
// $num = number_format($total, 3);
  {
    if (local_num == NULL)
      {
    local_num = EG (uninitialized_zval_ptr);
    local_num->refcount++;
      }
    zval **p_lhs = &local_num;
    initialize_function_call (&number_format_fci, &number_format_fcic,
                  "number_format",
                  "test/subjects/benchmarks/zend/bench.php",
                  377 TSRMLS_CC);
    zend_function *signature = number_format_fcic.function_handler;
    zend_arg_info *arg_info = signature->common.arg_info;
    int by_ref[2];
    if (arg_info)
      {
    by_ref[0] = arg_info->pass_by_reference;
    arg_info++;
      }
    else
      {
    by_ref[0] = signature->common.pass_rest_by_reference;
      }
    if (arg_info)
      {
    by_ref[1] = arg_info->pass_by_reference;
    arg_info++;
      }
    else
      {
    by_ref[1] = signature->common.pass_rest_by_reference;
      }
// Setup array of arguments
    int destruct[2];        // set to 1 if the arg is new
    zval *args[2];
    zval **args_ind[2];
    destruct[0] = 0;
    {
      zval *arg;
      if (local_total == NULL)
    {
      arg = EG (uninitialized_zval_ptr);
    }
      else
    {
      arg = local_total;
    }
      args[0] = fetch_var_arg (arg, &destruct[0]);
      args_ind[0] = &args[0];
    }
    destruct[1] = 0;
    {
      zval *arg = phc_const_pool_int_14;
      args[1] = fetch_var_arg (arg, &destruct[1]);
      args_ind[1] = &args[1];
    }
    phc_setup_error (1, "<unknown>", 0, NULL TSRMLS_CC);
    int param_count_save = number_format_fci.param_count;
    zval ***params_save = number_format_fci.params;
    zval **retval_save = number_format_fci.retval_ptr_ptr;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    number_format_fci.params = args_ind;
    number_format_fci.param_count = 2;
    number_format_fci.retval_ptr_ptr = p_rhs;
    int success =
      zend_call_function (&number_format_fci, &number_format_fcic TSRMLS_CC);
    assert (success == SUCCESS);
    number_format_fci.params = params_save;
    number_format_fci.param_count = param_count_save;
    number_format_fci.retval_ptr_ptr = retval_save;
    phc_setup_error (0, NULL, 0, NULL TSRMLS_CC);
    is_p_rhs_new = 1;
    if (destruct[0])
      {
    assert (destruct[0] == 1);
    zval_ptr_dtor (args_ind[0]);
      }
    if (destruct[1])
      {
    assert (destruct[1] == 1);
    zval_ptr_dtor (args_ind[1]);
      }
    write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// $TLE399 = strlen($num);
  {
    if (local_TLE399 == NULL)
      {
    local_TLE399 = EG (uninitialized_zval_ptr);
    local_TLE399->refcount++;
      }
    zval **p_lhs = &local_TLE399;
    initialize_function_call (&strlen_fci, &strlen_fcic, "strlen",
                  "test/subjects/benchmarks/zend/bench.php",
                  378 TSRMLS_CC);
    zend_function *signature = strlen_fcic.function_handler;
    zend_arg_info *arg_info = signature->common.arg_info;
    int by_ref[1];
    if (arg_info)
      {
    by_ref[0] = arg_info->pass_by_reference;
    arg_info++;
      }
    else
      {
    by_ref[0] = signature->common.pass_rest_by_reference;
      }
// Setup array of arguments
    int destruct[1];        // set to 1 if the arg is new
    zval *args[1];
    zval **args_ind[1];
    destruct[0] = 0;
    {
      zval *arg;
      if (local_num == NULL)
    {
      arg = EG (uninitialized_zval_ptr);
    }
      else
    {
      arg = local_num;
    }
      args[0] = fetch_var_arg (arg, &destruct[0]);
      args_ind[0] = &args[0];
    }
    phc_setup_error (1, "<unknown>", 0, NULL TSRMLS_CC);
    int param_count_save = strlen_fci.param_count;
    zval ***params_save = strlen_fci.params;
    zval **retval_save = strlen_fci.retval_ptr_ptr;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    strlen_fci.params = args_ind;
    strlen_fci.param_count = 1;
    strlen_fci.retval_ptr_ptr = p_rhs;
    int success = zend_call_function (&strlen_fci, &strlen_fcic TSRMLS_CC);
    assert (success == SUCCESS);
    strlen_fci.params = params_save;
    strlen_fci.param_count = param_count_save;
    strlen_fci.retval_ptr_ptr = retval_save;
    phc_setup_error (0, NULL, 0, NULL TSRMLS_CC);
    is_p_rhs_new = 1;
    if (destruct[0])
      {
    assert (destruct[0] == 1);
    zval_ptr_dtor (args_ind[0]);
      }
    write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// $TLE400 = (19 - $TLE399);
  {
    if (local_TLE400 == NULL)
      {
    local_TLE400 = EG (uninitialized_zval_ptr);
    local_TLE400->refcount++;
      }
    zval **p_lhs = &local_TLE400;
    zval *left = phc_const_pool_int_24;
    zval *right;
    if (local_TLE399 == NULL)
      {
    right = EG (uninitialized_zval_ptr);
      }
    else
      {
    right = local_TLE399;
      }
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    sub_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// $pad = str_repeat(' ', $TLE400);
  {
    if (local_pad == NULL)
      {
    local_pad = EG (uninitialized_zval_ptr);
    local_pad->refcount++;
      }
    zval **p_lhs = &local_pad;
    initialize_function_call (&str_repeat_fci, &str_repeat_fcic, "str_repeat",
                  "test/subjects/benchmarks/zend/bench.php",
                  378 TSRMLS_CC);
    zend_function *signature = str_repeat_fcic.function_handler;
    zend_arg_info *arg_info = signature->common.arg_info;
    int by_ref[2];
    if (arg_info)
      {
    by_ref[0] = arg_info->pass_by_reference;
    arg_info++;
      }
    else
      {
    by_ref[0] = signature->common.pass_rest_by_reference;
      }
    if (arg_info)
      {
    by_ref[1] = arg_info->pass_by_reference;
    arg_info++;
      }
    else
      {
    by_ref[1] = signature->common.pass_rest_by_reference;
      }
// Setup array of arguments
    int destruct[2];        // set to 1 if the arg is new
    zval *args[2];
    zval **args_ind[2];
    destruct[0] = 0;
    {
      zval *arg = phc_const_pool_string_9;
      args[0] = fetch_var_arg (arg, &destruct[0]);
      args_ind[0] = &args[0];
    }
    destruct[1] = 0;
    {
      zval *arg;
      if (local_TLE400 == NULL)
    {
      arg = EG (uninitialized_zval_ptr);
    }
      else
    {
      arg = local_TLE400;
    }
      args[1] = fetch_var_arg (arg, &destruct[1]);
      args_ind[1] = &args[1];
    }
    phc_setup_error (1, "<unknown>", 0, NULL TSRMLS_CC);
    int param_count_save = str_repeat_fci.param_count;
    zval ***params_save = str_repeat_fci.params;
    zval **retval_save = str_repeat_fci.retval_ptr_ptr;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    str_repeat_fci.params = args_ind;
    str_repeat_fci.param_count = 2;
    str_repeat_fci.retval_ptr_ptr = p_rhs;
    int success =
      zend_call_function (&str_repeat_fci, &str_repeat_fcic TSRMLS_CC);
    assert (success == SUCCESS);
    str_repeat_fci.params = params_save;
    str_repeat_fci.param_count = param_count_save;
    str_repeat_fci.retval_ptr_ptr = retval_save;
    phc_setup_error (0, NULL, 0, NULL TSRMLS_CC);
    is_p_rhs_new = 1;
    if (destruct[0])
      {
    assert (destruct[0] == 1);
    zval_ptr_dtor (args_ind[0]);
      }
    if (destruct[1])
      {
    assert (destruct[1] == 1);
    zval_ptr_dtor (args_ind[1]);
      }
    write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// $TLE402 = ('Total' . $pad);
  {
    if (local_TLE402 == NULL)
      {
    local_TLE402 = EG (uninitialized_zval_ptr);
    local_TLE402->refcount++;
      }
    zval **p_lhs = &local_TLE402;
    zval *left = phc_const_pool_string_22;
    zval *right;
    if (local_pad == NULL)
      {
    right = EG (uninitialized_zval_ptr);
      }
    else
      {
    right = local_pad;
      }
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    concat_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// $TLE403 = ($TLE402 . $num);
  {
    if (local_TLE403 == NULL)
      {
    local_TLE403 = EG (uninitialized_zval_ptr);
    local_TLE403->refcount++;
      }
    zval **p_lhs = &local_TLE403;
    zval *left;
    if (local_TLE402 == NULL)
      {
    left = EG (uninitialized_zval_ptr);
      }
    else
      {
    left = local_TLE402;
      }
    zval *right;
    if (local_num == NULL)
      {
    right = EG (uninitialized_zval_ptr);
      }
    else
      {
    right = local_num;
      }
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    concat_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// $TLE405 = ($TLE403 . '
// ');
  {
    if (local_TLE405 == NULL)
      {
    local_TLE405 = EG (uninitialized_zval_ptr);
    local_TLE405->refcount++;
      }
    zval **p_lhs = &local_TLE405;
    zval *left;
    if (local_TLE403 == NULL)
      {
    left = EG (uninitialized_zval_ptr);
      }
    else
      {
    left = local_TLE403;
      }
    zval *right = phc_const_pool_string_5;
    if (in_copy_on_write (*p_lhs))
      {
    zval_ptr_dtor (p_lhs);
    ALLOC_INIT_ZVAL (*p_lhs);
      }
    zval old = **p_lhs;
    int result_is_operand = (*p_lhs == left || *p_lhs == right);
    concat_function (*p_lhs, left, right TSRMLS_CC);
    if (!result_is_operand)
      zval_dtor (&old);
    phc_check_invariants (TSRMLS_C);
  }
// print($TLE405);
  {
    zval *p_arg;
    if (local_TLE405 == NULL)
      {
    p_arg = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_arg = local_TLE405;
      }
    phc_builtin_print (p_arg, NULL,
               "test/subjects/benchmarks/zend/bench.php" TSRMLS_CC);
    phc_check_invariants (TSRMLS_C);
  }
// Method exit
end_of_function:__attribute__ ((unused));
  if (local_TLE399 != NULL)
    {
      zval_ptr_dtor (&local_TLE399);
    }
  if (local_TLE400 != NULL)
    {
      zval_ptr_dtor (&local_TLE400);
    }
  if (local_TLE402 != NULL)
    {
      zval_ptr_dtor (&local_TLE402);
    }
  if (local_TLE403 != NULL)
    {
      zval_ptr_dtor (&local_TLE403);
    }
  if (local_TLE405 != NULL)
    {
      zval_ptr_dtor (&local_TLE405);
    }
  if (local_num != NULL)
    {
      zval_ptr_dtor (&local_num);
    }
  if (local_pad != NULL)
    {
      zval_ptr_dtor (&local_pad);
    }
  if (local_total != NULL)
    {
      zval_ptr_dtor (&local_total);
    }
}

// function __MAIN__()
// {
// \011global $HTTP_REQUEST_VARS;
// \011global $_REQUEST;
// \011global $HTTP_FILES_VARS;
// \011global $_FILES;
// \011global $HTTP_COOKIE_VARS;
// \011global $_COOKIE;
// \011global $HTTP_GET_VARS;
// \011global $_GET;
// \011global $HTTP_POST_VARS;
// \011global $_POST;
// \011global $HTTP_ENV_VARS;
// \011global $_ENV;
// \011global $GLOBALS;
// \011date_default_timezone_set('UTC');
// \011$t = start_test();
// \011$TLE406 = $t;
// \011$t0 = $TLE406;
// \011simple();
// \011$t = end_test($t, 'simple');
// \011simplecall();
// \011$t = end_test($t, 'simplecall');
// \011simpleucall();
// \011$t = end_test($t, 'simpleucall');
// \011simpleudcall();
// \011$t = end_test($t, 'simpleudcall');
// \011mandel();
// \011$t = end_test($t, 'mandel');
// \011mandel2();
// \011$t = end_test($t, 'mandel2');
// \011ackermann(7);
// \011$t = end_test($t, 'ackermann(7)');
// \011ary(50000);
// \011$t = end_test($t, 'ary(50000)');
// \011ary2(50000);
// \011$t = end_test($t, 'ary2(50000)');
// \011ary3(2000);
// \011$t = end_test($t, 'ary3(2000)');
// \011fibo(30);
// \011$t = end_test($t, 'fibo(30)');
// \011hash1(50000);
// \011$t = end_test($t, 'hash1(50000)');
// \011hash2(500);
// \011$t = end_test($t, 'hash2(500)');
// \011heapsort(20000);
// \011$t = end_test($t, 'heapsort(20000)');
// \011matrix(20);
// \011$t = end_test($t, 'matrix(20)');
// \011nestedloop(12);
// \011$t = end_test($t, 'nestedloop(12)');
// \011sieve(30);
// \011$t = end_test($t, 'sieve(30)');
// \011strcat(200000);
// \011$t = end_test($t, 'strcat(200000)');
// \011total($t0, 'Total');
// }
PHP_FUNCTION (__MAIN__)
{
  zval *local_TLE406 = NULL;
// Function body
// global $HTTP_REQUEST_VARS;
  {
// Normal global
    zval **p_local_global_var =
      get_st_entry (EG (active_symbol_table), "HTTP_REQUEST_VARS", 18,
            14546357509836879752u TSRMLS_CC);
// Normal global
    zval **p_global_var =
      get_st_entry (&EG (symbol_table), "HTTP_REQUEST_VARS", 18,
            14546357509836879752u TSRMLS_CC);
    copy_into_ref (p_local_global_var, p_global_var);
    phc_check_invariants (TSRMLS_C);
  }
// global $_REQUEST;
  {
// Normal global
    zval **p_local_global_var =
      get_st_entry (EG (active_symbol_table), "_REQUEST", 9,
            249877393482598893u TSRMLS_CC);
// Normal global
    zval **p_global_var =
      get_st_entry (&EG (symbol_table), "_REQUEST", 9,
            249877393482598893u TSRMLS_CC);
    copy_into_ref (p_local_global_var, p_global_var);
    phc_check_invariants (TSRMLS_C);
  }
// global $HTTP_FILES_VARS;
  {
// Normal global
    zval **p_local_global_var =
      get_st_entry (EG (active_symbol_table), "HTTP_FILES_VARS", 16,
            10531313393322008242u TSRMLS_CC);
// Normal global
    zval **p_global_var =
      get_st_entry (&EG (symbol_table), "HTTP_FILES_VARS", 16,
            10531313393322008242u TSRMLS_CC);
    copy_into_ref (p_local_global_var, p_global_var);
    phc_check_invariants (TSRMLS_C);
  }
// global $_FILES;
  {
// Normal global
    zval **p_local_global_var =
      get_st_entry (EG (active_symbol_table), "_FILES", 7,
            229455359975127u TSRMLS_CC);
// Normal global
    zval **p_global_var =
      get_st_entry (&EG (symbol_table), "_FILES", 7,
            229455359975127u TSRMLS_CC);
    copy_into_ref (p_local_global_var, p_global_var);
    phc_check_invariants (TSRMLS_C);
  }
// global $HTTP_COOKIE_VARS;
  {
// Normal global
    zval **p_local_global_var =
      get_st_entry (EG (active_symbol_table), "HTTP_COOKIE_VARS", 17,
            15349659020743581081u TSRMLS_CC);
// Normal global
    zval **p_global_var =
      get_st_entry (&EG (symbol_table), "HTTP_COOKIE_VARS", 17,
            15349659020743581081u TSRMLS_CC);
    copy_into_ref (p_local_global_var, p_global_var);
    phc_check_invariants (TSRMLS_C);
  }
// global $_COOKIE;
  {
// Normal global
    zval **p_local_global_var =
      get_st_entry (EG (active_symbol_table), "_COOKIE", 8,
            7572023243352414u TSRMLS_CC);
// Normal global
    zval **p_global_var =
      get_st_entry (&EG (symbol_table), "_COOKIE", 8,
            7572023243352414u TSRMLS_CC);
    copy_into_ref (p_local_global_var, p_global_var);
    phc_check_invariants (TSRMLS_C);
  }
// global $HTTP_GET_VARS;
  {
// Normal global
    zval **p_local_global_var =
      get_st_entry (EG (active_symbol_table), "HTTP_GET_VARS", 14,
            17677214637803008831u TSRMLS_CC);
// Normal global
    zval **p_global_var =
      get_st_entry (&EG (symbol_table), "HTTP_GET_VARS", 14,
            17677214637803008831u TSRMLS_CC);
    copy_into_ref (p_local_global_var, p_global_var);
    phc_check_invariants (TSRMLS_C);
  }
// global $_GET;
  {
// Normal global
    zval **p_local_global_var =
      get_st_entry (EG (active_symbol_table), "_GET", 5,
            210702841668u TSRMLS_CC);
// Normal global
    zval **p_global_var =
      get_st_entry (&EG (symbol_table), "_GET", 5, 210702841668u TSRMLS_CC);
    copy_into_ref (p_local_global_var, p_global_var);
    phc_check_invariants (TSRMLS_C);
  }
// global $HTTP_POST_VARS;
  {
// Normal global
    zval **p_local_global_var =
      get_st_entry (EG (active_symbol_table), "HTTP_POST_VARS", 15,
            11499448473500914277u TSRMLS_CC);
// Normal global
    zval **p_global_var =
      get_st_entry (&EG (symbol_table), "HTTP_POST_VARS", 15,
            11499448473500914277u TSRMLS_CC);
    copy_into_ref (p_local_global_var, p_global_var);
    phc_check_invariants (TSRMLS_C);
  }
// global $_POST;
  {
// Normal global
    zval **p_local_global_var =
      get_st_entry (EG (active_symbol_table), "_POST", 6,
            6953204809386u TSRMLS_CC);
// Normal global
    zval **p_global_var =
      get_st_entry (&EG (symbol_table), "_POST", 6, 6953204809386u TSRMLS_CC);
    copy_into_ref (p_local_global_var, p_global_var);
    phc_check_invariants (TSRMLS_C);
  }
// global $HTTP_ENV_VARS;
  {
// Normal global
    zval **p_local_global_var =
      get_st_entry (EG (active_symbol_table), "HTTP_ENV_VARS", 14,
            17677212211134695080u TSRMLS_CC);
// Normal global
    zval **p_global_var =
      get_st_entry (&EG (symbol_table), "HTTP_ENV_VARS", 14,
            17677212211134695080u TSRMLS_CC);
    copy_into_ref (p_local_global_var, p_global_var);
    phc_check_invariants (TSRMLS_C);
  }
// global $_ENV;
  {
// Normal global
    zval **p_local_global_var =
      get_st_entry (EG (active_symbol_table), "_ENV", 5,
            210702779661u TSRMLS_CC);
// Normal global
    zval **p_global_var =
      get_st_entry (&EG (symbol_table), "_ENV", 5, 210702779661u TSRMLS_CC);
    copy_into_ref (p_local_global_var, p_global_var);
    phc_check_invariants (TSRMLS_C);
  }
// global $GLOBALS;
  {
// Normal global
    zval **p_local_global_var =
      get_st_entry (EG (active_symbol_table), "GLOBALS", 8,
            7571012008160073u TSRMLS_CC);
// Normal global
    zval **p_global_var =
      get_st_entry (&EG (symbol_table), "GLOBALS", 8,
            7571012008160073u TSRMLS_CC);
    copy_into_ref (p_local_global_var, p_global_var);
    phc_check_invariants (TSRMLS_C);
  }
// date_default_timezone_set('UTC');
  {
    initialize_function_call (&date_default_timezone_set_fci,
                  &date_default_timezone_set_fcic,
                  "date_default_timezone_set",
                  "test/subjects/benchmarks/zend/bench.php",
                  2 TSRMLS_CC);
    zend_function *signature =
      date_default_timezone_set_fcic.function_handler;
    zend_arg_info *arg_info = signature->common.arg_info;
    int by_ref[1];
    if (arg_info)
      {
    by_ref[0] = arg_info->pass_by_reference;
    arg_info++;
      }
    else
      {
    by_ref[0] = signature->common.pass_rest_by_reference;
      }
// Setup array of arguments
    int destruct[1];        // set to 1 if the arg is new
    zval *args[1];
    zval **args_ind[1];
    destruct[0] = 0;
    {
      zval *arg = phc_const_pool_string_23;
      args[0] = fetch_var_arg (arg, &destruct[0]);
      args_ind[0] = &args[0];
    }
    phc_setup_error (1, "<unknown>", 0, NULL TSRMLS_CC);
    int param_count_save = date_default_timezone_set_fci.param_count;
    zval ***params_save = date_default_timezone_set_fci.params;
    zval **retval_save = date_default_timezone_set_fci.retval_ptr_ptr;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    date_default_timezone_set_fci.params = args_ind;
    date_default_timezone_set_fci.param_count = 1;
    date_default_timezone_set_fci.retval_ptr_ptr = p_rhs;
    int success =
      zend_call_function (&date_default_timezone_set_fci,
              &date_default_timezone_set_fcic TSRMLS_CC);
    assert (success == SUCCESS);
    date_default_timezone_set_fci.params = params_save;
    date_default_timezone_set_fci.param_count = param_count_save;
    date_default_timezone_set_fci.retval_ptr_ptr = retval_save;
    phc_setup_error (0, NULL, 0, NULL TSRMLS_CC);
    is_p_rhs_new = 1;
    if (destruct[0])
      {
    assert (destruct[0] == 1);
    zval_ptr_dtor (args_ind[0]);
      }
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// $t = start_test();
  {
    zval **p_lhs =
      get_st_entry (EG (active_symbol_table), "t", 2, 5863737u TSRMLS_CC);
    initialize_function_call (&start_test_fci, &start_test_fcic, "start_test",
                  "test/subjects/benchmarks/zend/bench.php",
                  382 TSRMLS_CC);
    zend_function *signature = start_test_fcic.function_handler;
    zval **args_ind[0];
    phc_setup_error (1, "<unknown>", 0, NULL TSRMLS_CC);
    int param_count_save = start_test_fci.param_count;
    zval ***params_save = start_test_fci.params;
    zval **retval_save = start_test_fci.retval_ptr_ptr;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    start_test_fci.params = args_ind;
    start_test_fci.param_count = 0;
    start_test_fci.retval_ptr_ptr = p_rhs;
    int success =
      zend_call_function (&start_test_fci, &start_test_fcic TSRMLS_CC);
    assert (success == SUCCESS);
    start_test_fci.params = params_save;
    start_test_fci.param_count = param_count_save;
    start_test_fci.retval_ptr_ptr = retval_save;
    phc_setup_error (0, NULL, 0, NULL TSRMLS_CC);
    is_p_rhs_new = 1;
    write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// $TLE406 = $t;
  {
    if (local_TLE406 == NULL)
      {
    local_TLE406 = EG (uninitialized_zval_ptr);
    local_TLE406->refcount++;
      }
    zval **p_lhs = &local_TLE406;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
// Read normal variable
    zval *p_rhs_var =
      read_var (EG (active_symbol_table), "t", 2, 5863737u TSRMLS_CC);
    p_rhs = &p_rhs_var;
    if (*p_lhs != *p_rhs)
      write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// $t0 = $TLE406;
  {
    zval **p_lhs =
      get_st_entry (EG (active_symbol_table), "t0", 3, 193504905u TSRMLS_CC);
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
// Read normal variable
    zval *p_rhs_var;
    if (local_TLE406 == NULL)
      {
    p_rhs_var = EG (uninitialized_zval_ptr);
      }
    else
      {
    p_rhs_var = local_TLE406;
      }
    p_rhs = &p_rhs_var;
    if (*p_lhs != *p_rhs)
      write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// simple();
  
// $t = end_test($t, 'simple');
  {
    zval **p_lhs =
      get_st_entry (EG (active_symbol_table), "t", 2, 5863737u TSRMLS_CC);
    initialize_function_call (&end_test_fci, &end_test_fcic, "end_test",
                  "test/subjects/benchmarks/zend/bench.php",
                  384 TSRMLS_CC);
    zend_function *signature = end_test_fcic.function_handler;
    zend_arg_info *arg_info = signature->common.arg_info;
    int by_ref[2];
    if (arg_info)
      {
    by_ref[0] = arg_info->pass_by_reference;
    arg_info++;
      }
    else
      {
    by_ref[0] = signature->common.pass_rest_by_reference;
      }
    if (arg_info)
      {
    by_ref[1] = arg_info->pass_by_reference;
    arg_info++;
      }
    else
      {
    by_ref[1] = signature->common.pass_rest_by_reference;
      }
// Setup array of arguments
    int destruct[2];        // set to 1 if the arg is new
    zval *args[2];
    zval **args_ind[2];
    destruct[0] = 0;
    {
      zval *arg =
    read_var (EG (active_symbol_table), "t", 2, 5863737u TSRMLS_CC);
      args[0] = fetch_var_arg (arg, &destruct[0]);
      args_ind[0] = &args[0];
    }
    destruct[1] = 0;
    {
      zval *arg = phc_const_pool_string_24;
      args[1] = fetch_var_arg (arg, &destruct[1]);
      args_ind[1] = &args[1];
    }
    phc_setup_error (1, "<unknown>", 0, NULL TSRMLS_CC);
    int param_count_save = end_test_fci.param_count;
    zval ***params_save = end_test_fci.params;
    zval **retval_save = end_test_fci.retval_ptr_ptr;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    end_test_fci.params = args_ind;
    end_test_fci.param_count = 2;
    end_test_fci.retval_ptr_ptr = p_rhs;
    int success =
      zend_call_function (&end_test_fci, &end_test_fcic TSRMLS_CC);
    assert (success == SUCCESS);
    end_test_fci.params = params_save;
    end_test_fci.param_count = param_count_save;
    end_test_fci.retval_ptr_ptr = retval_save;
    phc_setup_error (0, NULL, 0, NULL TSRMLS_CC);
    is_p_rhs_new = 1;
    if (destruct[0])
      {
    assert (destruct[0] == 1);
    zval_ptr_dtor (args_ind[0]);
      }
    if (destruct[1])
      {
    assert (destruct[1] == 1);
    zval_ptr_dtor (args_ind[1]);
      }
    write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// simplecall();
  
// $t = end_test($t, 'simplecall');
  {
    zval **p_lhs =
      get_st_entry (EG (active_symbol_table), "t", 2, 5863737u TSRMLS_CC);
    initialize_function_call (&end_test_fci, &end_test_fcic, "end_test",
                  "test/subjects/benchmarks/zend/bench.php",
                  386 TSRMLS_CC);
    zend_function *signature = end_test_fcic.function_handler;
    zend_arg_info *arg_info = signature->common.arg_info;
    int by_ref[2];
    if (arg_info)
      {
    by_ref[0] = arg_info->pass_by_reference;
    arg_info++;
      }
    else
      {
    by_ref[0] = signature->common.pass_rest_by_reference;
      }
    if (arg_info)
      {
    by_ref[1] = arg_info->pass_by_reference;
    arg_info++;
      }
    else
      {
    by_ref[1] = signature->common.pass_rest_by_reference;
      }
// Setup array of arguments
    int destruct[2];        // set to 1 if the arg is new
    zval *args[2];
    zval **args_ind[2];
    destruct[0] = 0;
    {
      zval *arg =
    read_var (EG (active_symbol_table), "t", 2, 5863737u TSRMLS_CC);
      args[0] = fetch_var_arg (arg, &destruct[0]);
      args_ind[0] = &args[0];
    }
    destruct[1] = 0;
    {
      zval *arg = phc_const_pool_string_25;
      args[1] = fetch_var_arg (arg, &destruct[1]);
      args_ind[1] = &args[1];
    }
    phc_setup_error (1, "<unknown>", 0, NULL TSRMLS_CC);
    int param_count_save = end_test_fci.param_count;
    zval ***params_save = end_test_fci.params;
    zval **retval_save = end_test_fci.retval_ptr_ptr;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    end_test_fci.params = args_ind;
    end_test_fci.param_count = 2;
    end_test_fci.retval_ptr_ptr = p_rhs;
    int success =
      zend_call_function (&end_test_fci, &end_test_fcic TSRMLS_CC);
    assert (success == SUCCESS);
    end_test_fci.params = params_save;
    end_test_fci.param_count = param_count_save;
    end_test_fci.retval_ptr_ptr = retval_save;
    phc_setup_error (0, NULL, 0, NULL TSRMLS_CC);
    is_p_rhs_new = 1;
    if (destruct[0])
      {
    assert (destruct[0] == 1);
    zval_ptr_dtor (args_ind[0]);
      }
    if (destruct[1])
      {
    assert (destruct[1] == 1);
    zval_ptr_dtor (args_ind[1]);
      }
    write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// simpleucall();
  
// $t = end_test($t, 'simpleucall');
  {
    zval **p_lhs =
      get_st_entry (EG (active_symbol_table), "t", 2, 5863737u TSRMLS_CC);
    initialize_function_call (&end_test_fci, &end_test_fcic, "end_test",
                  "test/subjects/benchmarks/zend/bench.php",
                  388 TSRMLS_CC);
    zend_function *signature = end_test_fcic.function_handler;
    zend_arg_info *arg_info = signature->common.arg_info;
    int by_ref[2];
    if (arg_info)
      {
    by_ref[0] = arg_info->pass_by_reference;
    arg_info++;
      }
    else
      {
    by_ref[0] = signature->common.pass_rest_by_reference;
      }
    if (arg_info)
      {
    by_ref[1] = arg_info->pass_by_reference;
    arg_info++;
      }
    else
      {
    by_ref[1] = signature->common.pass_rest_by_reference;
      }
// Setup array of arguments
    int destruct[2];        // set to 1 if the arg is new
    zval *args[2];
    zval **args_ind[2];
    destruct[0] = 0;
    {
      zval *arg =
    read_var (EG (active_symbol_table), "t", 2, 5863737u TSRMLS_CC);
      args[0] = fetch_var_arg (arg, &destruct[0]);
      args_ind[0] = &args[0];
    }
    destruct[1] = 0;
    {
      zval *arg = phc_const_pool_string_26;
      args[1] = fetch_var_arg (arg, &destruct[1]);
      args_ind[1] = &args[1];
    }
    phc_setup_error (1, "<unknown>", 0, NULL TSRMLS_CC);
    int param_count_save = end_test_fci.param_count;
    zval ***params_save = end_test_fci.params;
    zval **retval_save = end_test_fci.retval_ptr_ptr;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    end_test_fci.params = args_ind;
    end_test_fci.param_count = 2;
    end_test_fci.retval_ptr_ptr = p_rhs;
    int success =
      zend_call_function (&end_test_fci, &end_test_fcic TSRMLS_CC);
    assert (success == SUCCESS);
    end_test_fci.params = params_save;
    end_test_fci.param_count = param_count_save;
    end_test_fci.retval_ptr_ptr = retval_save;
    phc_setup_error (0, NULL, 0, NULL TSRMLS_CC);
    is_p_rhs_new = 1;
    if (destruct[0])
      {
    assert (destruct[0] == 1);
    zval_ptr_dtor (args_ind[0]);
      }
    if (destruct[1])
      {
    assert (destruct[1] == 1);
    zval_ptr_dtor (args_ind[1]);
      }
    write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// simpleudcall();
  
// $t = end_test($t, 'simpleudcall');
  {
    zval **p_lhs =
      get_st_entry (EG (active_symbol_table), "t", 2, 5863737u TSRMLS_CC);
    initialize_function_call (&end_test_fci, &end_test_fcic, "end_test",
                  "test/subjects/benchmarks/zend/bench.php",
                  390 TSRMLS_CC);
    zend_function *signature = end_test_fcic.function_handler;
    zend_arg_info *arg_info = signature->common.arg_info;
    int by_ref[2];
    if (arg_info)
      {
    by_ref[0] = arg_info->pass_by_reference;
    arg_info++;
      }
    else
      {
    by_ref[0] = signature->common.pass_rest_by_reference;
      }
    if (arg_info)
      {
    by_ref[1] = arg_info->pass_by_reference;
    arg_info++;
      }
    else
      {
    by_ref[1] = signature->common.pass_rest_by_reference;
      }
// Setup array of arguments
    int destruct[2];        // set to 1 if the arg is new
    zval *args[2];
    zval **args_ind[2];
    destruct[0] = 0;
    {
      zval *arg =
    read_var (EG (active_symbol_table), "t", 2, 5863737u TSRMLS_CC);
      args[0] = fetch_var_arg (arg, &destruct[0]);
      args_ind[0] = &args[0];
    }
    destruct[1] = 0;
    {
      zval *arg = phc_const_pool_string_27;
      args[1] = fetch_var_arg (arg, &destruct[1]);
      args_ind[1] = &args[1];
    }
    phc_setup_error (1, "<unknown>", 0, NULL TSRMLS_CC);
    int param_count_save = end_test_fci.param_count;
    zval ***params_save = end_test_fci.params;
    zval **retval_save = end_test_fci.retval_ptr_ptr;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    end_test_fci.params = args_ind;
    end_test_fci.param_count = 2;
    end_test_fci.retval_ptr_ptr = p_rhs;
    int success =
      zend_call_function (&end_test_fci, &end_test_fcic TSRMLS_CC);
    assert (success == SUCCESS);
    end_test_fci.params = params_save;
    end_test_fci.param_count = param_count_save;
    end_test_fci.retval_ptr_ptr = retval_save;
    phc_setup_error (0, NULL, 0, NULL TSRMLS_CC);
    is_p_rhs_new = 1;
    if (destruct[0])
      {
    assert (destruct[0] == 1);
    zval_ptr_dtor (args_ind[0]);
      }
    if (destruct[1])
      {
    assert (destruct[1] == 1);
    zval_ptr_dtor (args_ind[1]);
      }
    write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// mandel();
  {
    initialize_function_call (&mandel_fci, &mandel_fcic, "mandel",
                  "test/subjects/benchmarks/zend/bench.php",
                  391 TSRMLS_CC);
    zend_function *signature = mandel_fcic.function_handler;
    zval **args_ind[0];
    phc_setup_error (1, "<unknown>", 0, NULL TSRMLS_CC);
    int param_count_save = mandel_fci.param_count;
    zval ***params_save = mandel_fci.params;
    zval **retval_save = mandel_fci.retval_ptr_ptr;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    mandel_fci.params = args_ind;
    mandel_fci.param_count = 0;
    mandel_fci.retval_ptr_ptr = p_rhs;
    int success = zend_call_function (&mandel_fci, &mandel_fcic TSRMLS_CC);
    assert (success == SUCCESS);
    mandel_fci.params = params_save;
    mandel_fci.param_count = param_count_save;
    mandel_fci.retval_ptr_ptr = retval_save;
    phc_setup_error (0, NULL, 0, NULL TSRMLS_CC);
    is_p_rhs_new = 1;
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// $t = end_test($t, 'mandel');
  {
    zval **p_lhs =
      get_st_entry (EG (active_symbol_table), "t", 2, 5863737u TSRMLS_CC);
    initialize_function_call (&end_test_fci, &end_test_fcic, "end_test",
                  "test/subjects/benchmarks/zend/bench.php",
                  392 TSRMLS_CC);
    zend_function *signature = end_test_fcic.function_handler;
    zend_arg_info *arg_info = signature->common.arg_info;
    int by_ref[2];
    if (arg_info)
      {
    by_ref[0] = arg_info->pass_by_reference;
    arg_info++;
      }
    else
      {
    by_ref[0] = signature->common.pass_rest_by_reference;
      }
    if (arg_info)
      {
    by_ref[1] = arg_info->pass_by_reference;
    arg_info++;
      }
    else
      {
    by_ref[1] = signature->common.pass_rest_by_reference;
      }
// Setup array of arguments
    int destruct[2];        // set to 1 if the arg is new
    zval *args[2];
    zval **args_ind[2];
    destruct[0] = 0;
    {
      zval *arg =
    read_var (EG (active_symbol_table), "t", 2, 5863737u TSRMLS_CC);
      args[0] = fetch_var_arg (arg, &destruct[0]);
      args_ind[0] = &args[0];
    }
    destruct[1] = 0;
    {
      zval *arg = phc_const_pool_string_28;
      args[1] = fetch_var_arg (arg, &destruct[1]);
      args_ind[1] = &args[1];
    }
    phc_setup_error (1, "<unknown>", 0, NULL TSRMLS_CC);
    int param_count_save = end_test_fci.param_count;
    zval ***params_save = end_test_fci.params;
    zval **retval_save = end_test_fci.retval_ptr_ptr;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    end_test_fci.params = args_ind;
    end_test_fci.param_count = 2;
    end_test_fci.retval_ptr_ptr = p_rhs;
    int success =
      zend_call_function (&end_test_fci, &end_test_fcic TSRMLS_CC);
    assert (success == SUCCESS);
    end_test_fci.params = params_save;
    end_test_fci.param_count = param_count_save;
    end_test_fci.retval_ptr_ptr = retval_save;
    phc_setup_error (0, NULL, 0, NULL TSRMLS_CC);
    is_p_rhs_new = 1;
    if (destruct[0])
      {
    assert (destruct[0] == 1);
    zval_ptr_dtor (args_ind[0]);
      }
    if (destruct[1])
      {
    assert (destruct[1] == 1);
    zval_ptr_dtor (args_ind[1]);
      }
    write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// mandel2();
  {
    initialize_function_call (&mandel2_fci, &mandel2_fcic, "mandel2",
                  "test/subjects/benchmarks/zend/bench.php",
                  393 TSRMLS_CC);
    zend_function *signature = mandel2_fcic.function_handler;
    zval **args_ind[0];
    phc_setup_error (1, "<unknown>", 0, NULL TSRMLS_CC);
    int param_count_save = mandel2_fci.param_count;
    zval ***params_save = mandel2_fci.params;
    zval **retval_save = mandel2_fci.retval_ptr_ptr;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    mandel2_fci.params = args_ind;
    mandel2_fci.param_count = 0;
    mandel2_fci.retval_ptr_ptr = p_rhs;
    int success = zend_call_function (&mandel2_fci, &mandel2_fcic TSRMLS_CC);
    assert (success == SUCCESS);
    mandel2_fci.params = params_save;
    mandel2_fci.param_count = param_count_save;
    mandel2_fci.retval_ptr_ptr = retval_save;
    phc_setup_error (0, NULL, 0, NULL TSRMLS_CC);
    is_p_rhs_new = 1;
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// $t = end_test($t, 'mandel2');
  {
    zval **p_lhs =
      get_st_entry (EG (active_symbol_table), "t", 2, 5863737u TSRMLS_CC);
    initialize_function_call (&end_test_fci, &end_test_fcic, "end_test",
                  "test/subjects/benchmarks/zend/bench.php",
                  394 TSRMLS_CC);
    zend_function *signature = end_test_fcic.function_handler;
    zend_arg_info *arg_info = signature->common.arg_info;
    int by_ref[2];
    if (arg_info)
      {
    by_ref[0] = arg_info->pass_by_reference;
    arg_info++;
      }
    else
      {
    by_ref[0] = signature->common.pass_rest_by_reference;
      }
    if (arg_info)
      {
    by_ref[1] = arg_info->pass_by_reference;
    arg_info++;
      }
    else
      {
    by_ref[1] = signature->common.pass_rest_by_reference;
      }
// Setup array of arguments
    int destruct[2];        // set to 1 if the arg is new
    zval *args[2];
    zval **args_ind[2];
    destruct[0] = 0;
    {
      zval *arg =
    read_var (EG (active_symbol_table), "t", 2, 5863737u TSRMLS_CC);
      args[0] = fetch_var_arg (arg, &destruct[0]);
      args_ind[0] = &args[0];
    }
    destruct[1] = 0;
    {
      zval *arg = phc_const_pool_string_29;
      args[1] = fetch_var_arg (arg, &destruct[1]);
      args_ind[1] = &args[1];
    }
    phc_setup_error (1, "<unknown>", 0, NULL TSRMLS_CC);
    int param_count_save = end_test_fci.param_count;
    zval ***params_save = end_test_fci.params;
    zval **retval_save = end_test_fci.retval_ptr_ptr;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    end_test_fci.params = args_ind;
    end_test_fci.param_count = 2;
    end_test_fci.retval_ptr_ptr = p_rhs;
    int success =
      zend_call_function (&end_test_fci, &end_test_fcic TSRMLS_CC);
    assert (success == SUCCESS);
    end_test_fci.params = params_save;
    end_test_fci.param_count = param_count_save;
    end_test_fci.retval_ptr_ptr = retval_save;
    phc_setup_error (0, NULL, 0, NULL TSRMLS_CC);
    is_p_rhs_new = 1;
    if (destruct[0])
      {
    assert (destruct[0] == 1);
    zval_ptr_dtor (args_ind[0]);
      }
    if (destruct[1])
      {
    assert (destruct[1] == 1);
    zval_ptr_dtor (args_ind[1]);
      }
    write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// ackermann(7);
  {
    initialize_function_call (&ackermann_fci, &ackermann_fcic, "ackermann",
                  "test/subjects/benchmarks/zend/bench.php",
                  395 TSRMLS_CC);
    zend_function *signature = ackermann_fcic.function_handler;
    zend_arg_info *arg_info = signature->common.arg_info;
    int by_ref[1];
    if (arg_info)
      {
    by_ref[0] = arg_info->pass_by_reference;
    arg_info++;
      }
    else
      {
    by_ref[0] = signature->common.pass_rest_by_reference;
      }
// Setup array of arguments
    int destruct[1];        // set to 1 if the arg is new
    zval *args[1];
    zval **args_ind[1];
    destruct[0] = 0;
    {
      zval *arg = phc_const_pool_int_25;
      args[0] = fetch_var_arg (arg, &destruct[0]);
      args_ind[0] = &args[0];
    }
    phc_setup_error (1, "<unknown>", 0, NULL TSRMLS_CC);
    int param_count_save = ackermann_fci.param_count;
    zval ***params_save = ackermann_fci.params;
    zval **retval_save = ackermann_fci.retval_ptr_ptr;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    ackermann_fci.params = args_ind;
    ackermann_fci.param_count = 1;
    ackermann_fci.retval_ptr_ptr = p_rhs;
    int success =
      zend_call_function (&ackermann_fci, &ackermann_fcic TSRMLS_CC);
    assert (success == SUCCESS);
    ackermann_fci.params = params_save;
    ackermann_fci.param_count = param_count_save;
    ackermann_fci.retval_ptr_ptr = retval_save;
    phc_setup_error (0, NULL, 0, NULL TSRMLS_CC);
    is_p_rhs_new = 1;
    if (destruct[0])
      {
    assert (destruct[0] == 1);
    zval_ptr_dtor (args_ind[0]);
      }
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// $t = end_test($t, 'ackermann(7)');
  {
    zval **p_lhs =
      get_st_entry (EG (active_symbol_table), "t", 2, 5863737u TSRMLS_CC);
    initialize_function_call (&end_test_fci, &end_test_fcic, "end_test",
                  "test/subjects/benchmarks/zend/bench.php",
                  396 TSRMLS_CC);
    zend_function *signature = end_test_fcic.function_handler;
    zend_arg_info *arg_info = signature->common.arg_info;
    int by_ref[2];
    if (arg_info)
      {
    by_ref[0] = arg_info->pass_by_reference;
    arg_info++;
      }
    else
      {
    by_ref[0] = signature->common.pass_rest_by_reference;
      }
    if (arg_info)
      {
    by_ref[1] = arg_info->pass_by_reference;
    arg_info++;
      }
    else
      {
    by_ref[1] = signature->common.pass_rest_by_reference;
      }
// Setup array of arguments
    int destruct[2];        // set to 1 if the arg is new
    zval *args[2];
    zval **args_ind[2];
    destruct[0] = 0;
    {
      zval *arg =
    read_var (EG (active_symbol_table), "t", 2, 5863737u TSRMLS_CC);
      args[0] = fetch_var_arg (arg, &destruct[0]);
      args_ind[0] = &args[0];
    }
    destruct[1] = 0;
    {
      zval *arg = phc_const_pool_string_30;
      args[1] = fetch_var_arg (arg, &destruct[1]);
      args_ind[1] = &args[1];
    }
    phc_setup_error (1, "<unknown>", 0, NULL TSRMLS_CC);
    int param_count_save = end_test_fci.param_count;
    zval ***params_save = end_test_fci.params;
    zval **retval_save = end_test_fci.retval_ptr_ptr;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    end_test_fci.params = args_ind;
    end_test_fci.param_count = 2;
    end_test_fci.retval_ptr_ptr = p_rhs;
    int success =
      zend_call_function (&end_test_fci, &end_test_fcic TSRMLS_CC);
    assert (success == SUCCESS);
    end_test_fci.params = params_save;
    end_test_fci.param_count = param_count_save;
    end_test_fci.retval_ptr_ptr = retval_save;
    phc_setup_error (0, NULL, 0, NULL TSRMLS_CC);
    is_p_rhs_new = 1;
    if (destruct[0])
      {
    assert (destruct[0] == 1);
    zval_ptr_dtor (args_ind[0]);
      }
    if (destruct[1])
      {
    assert (destruct[1] == 1);
    zval_ptr_dtor (args_ind[1]);
      }
    write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// ary(50000);
  {
    initialize_function_call (&ary_fci, &ary_fcic, "ary",
                  "test/subjects/benchmarks/zend/bench.php",
                  397 TSRMLS_CC);
    zend_function *signature = ary_fcic.function_handler;
    zend_arg_info *arg_info = signature->common.arg_info;
    int by_ref[1];
    if (arg_info)
      {
    by_ref[0] = arg_info->pass_by_reference;
    arg_info++;
      }
    else
      {
    by_ref[0] = signature->common.pass_rest_by_reference;
      }
// Setup array of arguments
    int destruct[1];        // set to 1 if the arg is new
    zval *args[1];
    zval **args_ind[1];
    destruct[0] = 0;
    {
      zval *arg = phc_const_pool_int_26;
      args[0] = fetch_var_arg (arg, &destruct[0]);
      args_ind[0] = &args[0];
    }
    phc_setup_error (1, "<unknown>", 0, NULL TSRMLS_CC);
    int param_count_save = ary_fci.param_count;
    zval ***params_save = ary_fci.params;
    zval **retval_save = ary_fci.retval_ptr_ptr;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    ary_fci.params = args_ind;
    ary_fci.param_count = 1;
    ary_fci.retval_ptr_ptr = p_rhs;
    int success = zend_call_function (&ary_fci, &ary_fcic TSRMLS_CC);
    assert (success == SUCCESS);
    ary_fci.params = params_save;
    ary_fci.param_count = param_count_save;
    ary_fci.retval_ptr_ptr = retval_save;
    phc_setup_error (0, NULL, 0, NULL TSRMLS_CC);
    is_p_rhs_new = 1;
    if (destruct[0])
      {
    assert (destruct[0] == 1);
    zval_ptr_dtor (args_ind[0]);
      }
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// $t = end_test($t, 'ary(50000)');
  {
    zval **p_lhs =
      get_st_entry (EG (active_symbol_table), "t", 2, 5863737u TSRMLS_CC);
    initialize_function_call (&end_test_fci, &end_test_fcic, "end_test",
                  "test/subjects/benchmarks/zend/bench.php",
                  398 TSRMLS_CC);
    zend_function *signature = end_test_fcic.function_handler;
    zend_arg_info *arg_info = signature->common.arg_info;
    int by_ref[2];
    if (arg_info)
      {
    by_ref[0] = arg_info->pass_by_reference;
    arg_info++;
      }
    else
      {
    by_ref[0] = signature->common.pass_rest_by_reference;
      }
    if (arg_info)
      {
    by_ref[1] = arg_info->pass_by_reference;
    arg_info++;
      }
    else
      {
    by_ref[1] = signature->common.pass_rest_by_reference;
      }
// Setup array of arguments
    int destruct[2];        // set to 1 if the arg is new
    zval *args[2];
    zval **args_ind[2];
    destruct[0] = 0;
    {
      zval *arg =
    read_var (EG (active_symbol_table), "t", 2, 5863737u TSRMLS_CC);
      args[0] = fetch_var_arg (arg, &destruct[0]);
      args_ind[0] = &args[0];
    }
    destruct[1] = 0;
    {
      zval *arg = phc_const_pool_string_31;
      args[1] = fetch_var_arg (arg, &destruct[1]);
      args_ind[1] = &args[1];
    }
    phc_setup_error (1, "<unknown>", 0, NULL TSRMLS_CC);
    int param_count_save = end_test_fci.param_count;
    zval ***params_save = end_test_fci.params;
    zval **retval_save = end_test_fci.retval_ptr_ptr;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    end_test_fci.params = args_ind;
    end_test_fci.param_count = 2;
    end_test_fci.retval_ptr_ptr = p_rhs;
    int success =
      zend_call_function (&end_test_fci, &end_test_fcic TSRMLS_CC);
    assert (success == SUCCESS);
    end_test_fci.params = params_save;
    end_test_fci.param_count = param_count_save;
    end_test_fci.retval_ptr_ptr = retval_save;
    phc_setup_error (0, NULL, 0, NULL TSRMLS_CC);
    is_p_rhs_new = 1;
    if (destruct[0])
      {
    assert (destruct[0] == 1);
    zval_ptr_dtor (args_ind[0]);
      }
    if (destruct[1])
      {
    assert (destruct[1] == 1);
    zval_ptr_dtor (args_ind[1]);
      }
    write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// ary2(50000);
  {
    initialize_function_call (&ary2_fci, &ary2_fcic, "ary2",
                  "test/subjects/benchmarks/zend/bench.php",
                  399 TSRMLS_CC);
    zend_function *signature = ary2_fcic.function_handler;
    zend_arg_info *arg_info = signature->common.arg_info;
    int by_ref[1];
    if (arg_info)
      {
    by_ref[0] = arg_info->pass_by_reference;
    arg_info++;
      }
    else
      {
    by_ref[0] = signature->common.pass_rest_by_reference;
      }
// Setup array of arguments
    int destruct[1];        // set to 1 if the arg is new
    zval *args[1];
    zval **args_ind[1];
    destruct[0] = 0;
    {
      zval *arg = phc_const_pool_int_26;
      args[0] = fetch_var_arg (arg, &destruct[0]);
      args_ind[0] = &args[0];
    }
    phc_setup_error (1, "<unknown>", 0, NULL TSRMLS_CC);
    int param_count_save = ary2_fci.param_count;
    zval ***params_save = ary2_fci.params;
    zval **retval_save = ary2_fci.retval_ptr_ptr;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    ary2_fci.params = args_ind;
    ary2_fci.param_count = 1;
    ary2_fci.retval_ptr_ptr = p_rhs;
    int success = zend_call_function (&ary2_fci, &ary2_fcic TSRMLS_CC);
    assert (success == SUCCESS);
    ary2_fci.params = params_save;
    ary2_fci.param_count = param_count_save;
    ary2_fci.retval_ptr_ptr = retval_save;
    phc_setup_error (0, NULL, 0, NULL TSRMLS_CC);
    is_p_rhs_new = 1;
    if (destruct[0])
      {
    assert (destruct[0] == 1);
    zval_ptr_dtor (args_ind[0]);
      }
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// $t = end_test($t, 'ary2(50000)');
  {
    zval **p_lhs =
      get_st_entry (EG (active_symbol_table), "t", 2, 5863737u TSRMLS_CC);
    initialize_function_call (&end_test_fci, &end_test_fcic, "end_test",
                  "test/subjects/benchmarks/zend/bench.php",
                  400 TSRMLS_CC);
    zend_function *signature = end_test_fcic.function_handler;
    zend_arg_info *arg_info = signature->common.arg_info;
    int by_ref[2];
    if (arg_info)
      {
    by_ref[0] = arg_info->pass_by_reference;
    arg_info++;
      }
    else
      {
    by_ref[0] = signature->common.pass_rest_by_reference;
      }
    if (arg_info)
      {
    by_ref[1] = arg_info->pass_by_reference;
    arg_info++;
      }
    else
      {
    by_ref[1] = signature->common.pass_rest_by_reference;
      }
// Setup array of arguments
    int destruct[2];        // set to 1 if the arg is new
    zval *args[2];
    zval **args_ind[2];
    destruct[0] = 0;
    {
      zval *arg =
    read_var (EG (active_symbol_table), "t", 2, 5863737u TSRMLS_CC);
      args[0] = fetch_var_arg (arg, &destruct[0]);
      args_ind[0] = &args[0];
    }
    destruct[1] = 0;
    {
      zval *arg = phc_const_pool_string_32;
      args[1] = fetch_var_arg (arg, &destruct[1]);
      args_ind[1] = &args[1];
    }
    phc_setup_error (1, "<unknown>", 0, NULL TSRMLS_CC);
    int param_count_save = end_test_fci.param_count;
    zval ***params_save = end_test_fci.params;
    zval **retval_save = end_test_fci.retval_ptr_ptr;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    end_test_fci.params = args_ind;
    end_test_fci.param_count = 2;
    end_test_fci.retval_ptr_ptr = p_rhs;
    int success =
      zend_call_function (&end_test_fci, &end_test_fcic TSRMLS_CC);
    assert (success == SUCCESS);
    end_test_fci.params = params_save;
    end_test_fci.param_count = param_count_save;
    end_test_fci.retval_ptr_ptr = retval_save;
    phc_setup_error (0, NULL, 0, NULL TSRMLS_CC);
    is_p_rhs_new = 1;
    if (destruct[0])
      {
    assert (destruct[0] == 1);
    zval_ptr_dtor (args_ind[0]);
      }
    if (destruct[1])
      {
    assert (destruct[1] == 1);
    zval_ptr_dtor (args_ind[1]);
      }
    write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// ary3(2000);
  {
    initialize_function_call (&ary3_fci, &ary3_fcic, "ary3",
                  "test/subjects/benchmarks/zend/bench.php",
                  401 TSRMLS_CC);
    zend_function *signature = ary3_fcic.function_handler;
    zend_arg_info *arg_info = signature->common.arg_info;
    int by_ref[1];
    if (arg_info)
      {
    by_ref[0] = arg_info->pass_by_reference;
    arg_info++;
      }
    else
      {
    by_ref[0] = signature->common.pass_rest_by_reference;
      }
// Setup array of arguments
    int destruct[1];        // set to 1 if the arg is new
    zval *args[1];
    zval **args_ind[1];
    destruct[0] = 0;
    {
      zval *arg = phc_const_pool_int_27;
      args[0] = fetch_var_arg (arg, &destruct[0]);
      args_ind[0] = &args[0];
    }
    phc_setup_error (1, "<unknown>", 0, NULL TSRMLS_CC);
    int param_count_save = ary3_fci.param_count;
    zval ***params_save = ary3_fci.params;
    zval **retval_save = ary3_fci.retval_ptr_ptr;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    ary3_fci.params = args_ind;
    ary3_fci.param_count = 1;
    ary3_fci.retval_ptr_ptr = p_rhs;
    int success = zend_call_function (&ary3_fci, &ary3_fcic TSRMLS_CC);
    assert (success == SUCCESS);
    ary3_fci.params = params_save;
    ary3_fci.param_count = param_count_save;
    ary3_fci.retval_ptr_ptr = retval_save;
    phc_setup_error (0, NULL, 0, NULL TSRMLS_CC);
    is_p_rhs_new = 1;
    if (destruct[0])
      {
    assert (destruct[0] == 1);
    zval_ptr_dtor (args_ind[0]);
      }
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// $t = end_test($t, 'ary3(2000)');
  {
    zval **p_lhs =
      get_st_entry (EG (active_symbol_table), "t", 2, 5863737u TSRMLS_CC);
    initialize_function_call (&end_test_fci, &end_test_fcic, "end_test",
                  "test/subjects/benchmarks/zend/bench.php",
                  402 TSRMLS_CC);
    zend_function *signature = end_test_fcic.function_handler;
    zend_arg_info *arg_info = signature->common.arg_info;
    int by_ref[2];
    if (arg_info)
      {
    by_ref[0] = arg_info->pass_by_reference;
    arg_info++;
      }
    else
      {
    by_ref[0] = signature->common.pass_rest_by_reference;
      }
    if (arg_info)
      {
    by_ref[1] = arg_info->pass_by_reference;
    arg_info++;
      }
    else
      {
    by_ref[1] = signature->common.pass_rest_by_reference;
      }
// Setup array of arguments
    int destruct[2];        // set to 1 if the arg is new
    zval *args[2];
    zval **args_ind[2];
    destruct[0] = 0;
    {
      zval *arg =
    read_var (EG (active_symbol_table), "t", 2, 5863737u TSRMLS_CC);
      args[0] = fetch_var_arg (arg, &destruct[0]);
      args_ind[0] = &args[0];
    }
    destruct[1] = 0;
    {
      zval *arg = phc_const_pool_string_33;
      args[1] = fetch_var_arg (arg, &destruct[1]);
      args_ind[1] = &args[1];
    }
    phc_setup_error (1, "<unknown>", 0, NULL TSRMLS_CC);
    int param_count_save = end_test_fci.param_count;
    zval ***params_save = end_test_fci.params;
    zval **retval_save = end_test_fci.retval_ptr_ptr;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    end_test_fci.params = args_ind;
    end_test_fci.param_count = 2;
    end_test_fci.retval_ptr_ptr = p_rhs;
    int success =
      zend_call_function (&end_test_fci, &end_test_fcic TSRMLS_CC);
    assert (success == SUCCESS);
    end_test_fci.params = params_save;
    end_test_fci.param_count = param_count_save;
    end_test_fci.retval_ptr_ptr = retval_save;
    phc_setup_error (0, NULL, 0, NULL TSRMLS_CC);
    is_p_rhs_new = 1;
    if (destruct[0])
      {
    assert (destruct[0] == 1);
    zval_ptr_dtor (args_ind[0]);
      }
    if (destruct[1])
      {
    assert (destruct[1] == 1);
    zval_ptr_dtor (args_ind[1]);
      }
    write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// fibo(30);
  {
    initialize_function_call (&fibo_fci, &fibo_fcic, "fibo",
                  "test/subjects/benchmarks/zend/bench.php",
                  403 TSRMLS_CC);
    zend_function *signature = fibo_fcic.function_handler;
    zend_arg_info *arg_info = signature->common.arg_info;
    int by_ref[1];
    if (arg_info)
      {
    by_ref[0] = arg_info->pass_by_reference;
    arg_info++;
      }
    else
      {
    by_ref[0] = signature->common.pass_rest_by_reference;
      }
// Setup array of arguments
    int destruct[1];        // set to 1 if the arg is new
    zval *args[1];
    zval **args_ind[1];
    destruct[0] = 0;
    {
      zval *arg = phc_const_pool_int_9;
      args[0] = fetch_var_arg (arg, &destruct[0]);
      args_ind[0] = &args[0];
    }
    phc_setup_error (1, "<unknown>", 0, NULL TSRMLS_CC);
    int param_count_save = fibo_fci.param_count;
    zval ***params_save = fibo_fci.params;
    zval **retval_save = fibo_fci.retval_ptr_ptr;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    fibo_fci.params = args_ind;
    fibo_fci.param_count = 1;
    fibo_fci.retval_ptr_ptr = p_rhs;
    int success = zend_call_function (&fibo_fci, &fibo_fcic TSRMLS_CC);
    assert (success == SUCCESS);
    fibo_fci.params = params_save;
    fibo_fci.param_count = param_count_save;
    fibo_fci.retval_ptr_ptr = retval_save;
    phc_setup_error (0, NULL, 0, NULL TSRMLS_CC);
    is_p_rhs_new = 1;
    if (destruct[0])
      {
    assert (destruct[0] == 1);
    zval_ptr_dtor (args_ind[0]);
      }
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// $t = end_test($t, 'fibo(30)');
  {
    zval **p_lhs =
      get_st_entry (EG (active_symbol_table), "t", 2, 5863737u TSRMLS_CC);
    initialize_function_call (&end_test_fci, &end_test_fcic, "end_test",
                  "test/subjects/benchmarks/zend/bench.php",
                  404 TSRMLS_CC);
    zend_function *signature = end_test_fcic.function_handler;
    zend_arg_info *arg_info = signature->common.arg_info;
    int by_ref[2];
    if (arg_info)
      {
    by_ref[0] = arg_info->pass_by_reference;
    arg_info++;
      }
    else
      {
    by_ref[0] = signature->common.pass_rest_by_reference;
      }
    if (arg_info)
      {
    by_ref[1] = arg_info->pass_by_reference;
    arg_info++;
      }
    else
      {
    by_ref[1] = signature->common.pass_rest_by_reference;
      }
// Setup array of arguments
    int destruct[2];        // set to 1 if the arg is new
    zval *args[2];
    zval **args_ind[2];
    destruct[0] = 0;
    {
      zval *arg =
    read_var (EG (active_symbol_table), "t", 2, 5863737u TSRMLS_CC);
      args[0] = fetch_var_arg (arg, &destruct[0]);
      args_ind[0] = &args[0];
    }
    destruct[1] = 0;
    {
      zval *arg = phc_const_pool_string_34;
      args[1] = fetch_var_arg (arg, &destruct[1]);
      args_ind[1] = &args[1];
    }
    phc_setup_error (1, "<unknown>", 0, NULL TSRMLS_CC);
    int param_count_save = end_test_fci.param_count;
    zval ***params_save = end_test_fci.params;
    zval **retval_save = end_test_fci.retval_ptr_ptr;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    end_test_fci.params = args_ind;
    end_test_fci.param_count = 2;
    end_test_fci.retval_ptr_ptr = p_rhs;
    int success =
      zend_call_function (&end_test_fci, &end_test_fcic TSRMLS_CC);
    assert (success == SUCCESS);
    end_test_fci.params = params_save;
    end_test_fci.param_count = param_count_save;
    end_test_fci.retval_ptr_ptr = retval_save;
    phc_setup_error (0, NULL, 0, NULL TSRMLS_CC);
    is_p_rhs_new = 1;
    if (destruct[0])
      {
    assert (destruct[0] == 1);
    zval_ptr_dtor (args_ind[0]);
      }
    if (destruct[1])
      {
    assert (destruct[1] == 1);
    zval_ptr_dtor (args_ind[1]);
      }
    write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// hash1(50000);
  {
    initialize_function_call (&hash1_fci, &hash1_fcic, "hash1",
                  "test/subjects/benchmarks/zend/bench.php",
                  405 TSRMLS_CC);
    zend_function *signature = hash1_fcic.function_handler;
    zend_arg_info *arg_info = signature->common.arg_info;
    int by_ref[1];
    if (arg_info)
      {
    by_ref[0] = arg_info->pass_by_reference;
    arg_info++;
      }
    else
      {
    by_ref[0] = signature->common.pass_rest_by_reference;
      }
// Setup array of arguments
    int destruct[1];        // set to 1 if the arg is new
    zval *args[1];
    zval **args_ind[1];
    destruct[0] = 0;
    {
      zval *arg = phc_const_pool_int_26;
      args[0] = fetch_var_arg (arg, &destruct[0]);
      args_ind[0] = &args[0];
    }
    phc_setup_error (1, "<unknown>", 0, NULL TSRMLS_CC);
    int param_count_save = hash1_fci.param_count;
    zval ***params_save = hash1_fci.params;
    zval **retval_save = hash1_fci.retval_ptr_ptr;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    hash1_fci.params = args_ind;
    hash1_fci.param_count = 1;
    hash1_fci.retval_ptr_ptr = p_rhs;
    int success = zend_call_function (&hash1_fci, &hash1_fcic TSRMLS_CC);
    assert (success == SUCCESS);
    hash1_fci.params = params_save;
    hash1_fci.param_count = param_count_save;
    hash1_fci.retval_ptr_ptr = retval_save;
    phc_setup_error (0, NULL, 0, NULL TSRMLS_CC);
    is_p_rhs_new = 1;
    if (destruct[0])
      {
    assert (destruct[0] == 1);
    zval_ptr_dtor (args_ind[0]);
      }
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// $t = end_test($t, 'hash1(50000)');
  {
    zval **p_lhs =
      get_st_entry (EG (active_symbol_table), "t", 2, 5863737u TSRMLS_CC);
    initialize_function_call (&end_test_fci, &end_test_fcic, "end_test",
                  "test/subjects/benchmarks/zend/bench.php",
                  406 TSRMLS_CC);
    zend_function *signature = end_test_fcic.function_handler;
    zend_arg_info *arg_info = signature->common.arg_info;
    int by_ref[2];
    if (arg_info)
      {
    by_ref[0] = arg_info->pass_by_reference;
    arg_info++;
      }
    else
      {
    by_ref[0] = signature->common.pass_rest_by_reference;
      }
    if (arg_info)
      {
    by_ref[1] = arg_info->pass_by_reference;
    arg_info++;
      }
    else
      {
    by_ref[1] = signature->common.pass_rest_by_reference;
      }
// Setup array of arguments
    int destruct[2];        // set to 1 if the arg is new
    zval *args[2];
    zval **args_ind[2];
    destruct[0] = 0;
    {
      zval *arg =
    read_var (EG (active_symbol_table), "t", 2, 5863737u TSRMLS_CC);
      args[0] = fetch_var_arg (arg, &destruct[0]);
      args_ind[0] = &args[0];
    }
    destruct[1] = 0;
    {
      zval *arg = phc_const_pool_string_35;
      args[1] = fetch_var_arg (arg, &destruct[1]);
      args_ind[1] = &args[1];
    }
    phc_setup_error (1, "<unknown>", 0, NULL TSRMLS_CC);
    int param_count_save = end_test_fci.param_count;
    zval ***params_save = end_test_fci.params;
    zval **retval_save = end_test_fci.retval_ptr_ptr;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    end_test_fci.params = args_ind;
    end_test_fci.param_count = 2;
    end_test_fci.retval_ptr_ptr = p_rhs;
    int success =
      zend_call_function (&end_test_fci, &end_test_fcic TSRMLS_CC);
    assert (success == SUCCESS);
    end_test_fci.params = params_save;
    end_test_fci.param_count = param_count_save;
    end_test_fci.retval_ptr_ptr = retval_save;
    phc_setup_error (0, NULL, 0, NULL TSRMLS_CC);
    is_p_rhs_new = 1;
    if (destruct[0])
      {
    assert (destruct[0] == 1);
    zval_ptr_dtor (args_ind[0]);
      }
    if (destruct[1])
      {
    assert (destruct[1] == 1);
    zval_ptr_dtor (args_ind[1]);
      }
    write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// hash2(500);
  {
    initialize_function_call (&hash2_fci, &hash2_fcic, "hash2",
                  "test/subjects/benchmarks/zend/bench.php",
                  407 TSRMLS_CC);
    zend_function *signature = hash2_fcic.function_handler;
    zend_arg_info *arg_info = signature->common.arg_info;
    int by_ref[1];
    if (arg_info)
      {
    by_ref[0] = arg_info->pass_by_reference;
    arg_info++;
      }
    else
      {
    by_ref[0] = signature->common.pass_rest_by_reference;
      }
// Setup array of arguments
    int destruct[1];        // set to 1 if the arg is new
    zval *args[1];
    zval **args_ind[1];
    destruct[0] = 0;
    {
      zval *arg = phc_const_pool_int_28;
      args[0] = fetch_var_arg (arg, &destruct[0]);
      args_ind[0] = &args[0];
    }
    phc_setup_error (1, "<unknown>", 0, NULL TSRMLS_CC);
    int param_count_save = hash2_fci.param_count;
    zval ***params_save = hash2_fci.params;
    zval **retval_save = hash2_fci.retval_ptr_ptr;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    hash2_fci.params = args_ind;
    hash2_fci.param_count = 1;
    hash2_fci.retval_ptr_ptr = p_rhs;
    int success = zend_call_function (&hash2_fci, &hash2_fcic TSRMLS_CC);
    assert (success == SUCCESS);
    hash2_fci.params = params_save;
    hash2_fci.param_count = param_count_save;
    hash2_fci.retval_ptr_ptr = retval_save;
    phc_setup_error (0, NULL, 0, NULL TSRMLS_CC);
    is_p_rhs_new = 1;
    if (destruct[0])
      {
    assert (destruct[0] == 1);
    zval_ptr_dtor (args_ind[0]);
      }
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// $t = end_test($t, 'hash2(500)');
  {
    zval **p_lhs =
      get_st_entry (EG (active_symbol_table), "t", 2, 5863737u TSRMLS_CC);
    initialize_function_call (&end_test_fci, &end_test_fcic, "end_test",
                  "test/subjects/benchmarks/zend/bench.php",
                  408 TSRMLS_CC);
    zend_function *signature = end_test_fcic.function_handler;
    zend_arg_info *arg_info = signature->common.arg_info;
    int by_ref[2];
    if (arg_info)
      {
    by_ref[0] = arg_info->pass_by_reference;
    arg_info++;
      }
    else
      {
    by_ref[0] = signature->common.pass_rest_by_reference;
      }
    if (arg_info)
      {
    by_ref[1] = arg_info->pass_by_reference;
    arg_info++;
      }
    else
      {
    by_ref[1] = signature->common.pass_rest_by_reference;
      }
// Setup array of arguments
    int destruct[2];        // set to 1 if the arg is new
    zval *args[2];
    zval **args_ind[2];
    destruct[0] = 0;
    {
      zval *arg =
    read_var (EG (active_symbol_table), "t", 2, 5863737u TSRMLS_CC);
      args[0] = fetch_var_arg (arg, &destruct[0]);
      args_ind[0] = &args[0];
    }
    destruct[1] = 0;
    {
      zval *arg = phc_const_pool_string_36;
      args[1] = fetch_var_arg (arg, &destruct[1]);
      args_ind[1] = &args[1];
    }
    phc_setup_error (1, "<unknown>", 0, NULL TSRMLS_CC);
    int param_count_save = end_test_fci.param_count;
    zval ***params_save = end_test_fci.params;
    zval **retval_save = end_test_fci.retval_ptr_ptr;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    end_test_fci.params = args_ind;
    end_test_fci.param_count = 2;
    end_test_fci.retval_ptr_ptr = p_rhs;
    int success =
      zend_call_function (&end_test_fci, &end_test_fcic TSRMLS_CC);
    assert (success == SUCCESS);
    end_test_fci.params = params_save;
    end_test_fci.param_count = param_count_save;
    end_test_fci.retval_ptr_ptr = retval_save;
    phc_setup_error (0, NULL, 0, NULL TSRMLS_CC);
    is_p_rhs_new = 1;
    if (destruct[0])
      {
    assert (destruct[0] == 1);
    zval_ptr_dtor (args_ind[0]);
      }
    if (destruct[1])
      {
    assert (destruct[1] == 1);
    zval_ptr_dtor (args_ind[1]);
      }
    write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// heapsort(20000);
  {
    initialize_function_call (&heapsort_fci, &heapsort_fcic, "heapsort",
                  "test/subjects/benchmarks/zend/bench.php",
                  409 TSRMLS_CC);
    zend_function *signature = heapsort_fcic.function_handler;
    zend_arg_info *arg_info = signature->common.arg_info;
    int by_ref[1];
    if (arg_info)
      {
    by_ref[0] = arg_info->pass_by_reference;
    arg_info++;
      }
    else
      {
    by_ref[0] = signature->common.pass_rest_by_reference;
      }
// Setup array of arguments
    int destruct[1];        // set to 1 if the arg is new
    zval *args[1];
    zval **args_ind[1];
    destruct[0] = 0;
    {
      zval *arg = phc_const_pool_int_29;
      args[0] = fetch_var_arg (arg, &destruct[0]);
      args_ind[0] = &args[0];
    }
    phc_setup_error (1, "<unknown>", 0, NULL TSRMLS_CC);
    int param_count_save = heapsort_fci.param_count;
    zval ***params_save = heapsort_fci.params;
    zval **retval_save = heapsort_fci.retval_ptr_ptr;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    heapsort_fci.params = args_ind;
    heapsort_fci.param_count = 1;
    heapsort_fci.retval_ptr_ptr = p_rhs;
    int success =
      zend_call_function (&heapsort_fci, &heapsort_fcic TSRMLS_CC);
    assert (success == SUCCESS);
    heapsort_fci.params = params_save;
    heapsort_fci.param_count = param_count_save;
    heapsort_fci.retval_ptr_ptr = retval_save;
    phc_setup_error (0, NULL, 0, NULL TSRMLS_CC);
    is_p_rhs_new = 1;
    if (destruct[0])
      {
    assert (destruct[0] == 1);
    zval_ptr_dtor (args_ind[0]);
      }
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// $t = end_test($t, 'heapsort(20000)');
  {
    zval **p_lhs =
      get_st_entry (EG (active_symbol_table), "t", 2, 5863737u TSRMLS_CC);
    initialize_function_call (&end_test_fci, &end_test_fcic, "end_test",
                  "test/subjects/benchmarks/zend/bench.php",
                  410 TSRMLS_CC);
    zend_function *signature = end_test_fcic.function_handler;
    zend_arg_info *arg_info = signature->common.arg_info;
    int by_ref[2];
    if (arg_info)
      {
    by_ref[0] = arg_info->pass_by_reference;
    arg_info++;
      }
    else
      {
    by_ref[0] = signature->common.pass_rest_by_reference;
      }
    if (arg_info)
      {
    by_ref[1] = arg_info->pass_by_reference;
    arg_info++;
      }
    else
      {
    by_ref[1] = signature->common.pass_rest_by_reference;
      }
// Setup array of arguments
    int destruct[2];        // set to 1 if the arg is new
    zval *args[2];
    zval **args_ind[2];
    destruct[0] = 0;
    {
      zval *arg =
    read_var (EG (active_symbol_table), "t", 2, 5863737u TSRMLS_CC);
      args[0] = fetch_var_arg (arg, &destruct[0]);
      args_ind[0] = &args[0];
    }
    destruct[1] = 0;
    {
      zval *arg = phc_const_pool_string_37;
      args[1] = fetch_var_arg (arg, &destruct[1]);
      args_ind[1] = &args[1];
    }
    phc_setup_error (1, "<unknown>", 0, NULL TSRMLS_CC);
    int param_count_save = end_test_fci.param_count;
    zval ***params_save = end_test_fci.params;
    zval **retval_save = end_test_fci.retval_ptr_ptr;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    end_test_fci.params = args_ind;
    end_test_fci.param_count = 2;
    end_test_fci.retval_ptr_ptr = p_rhs;
    int success =
      zend_call_function (&end_test_fci, &end_test_fcic TSRMLS_CC);
    assert (success == SUCCESS);
    end_test_fci.params = params_save;
    end_test_fci.param_count = param_count_save;
    end_test_fci.retval_ptr_ptr = retval_save;
    phc_setup_error (0, NULL, 0, NULL TSRMLS_CC);
    is_p_rhs_new = 1;
    if (destruct[0])
      {
    assert (destruct[0] == 1);
    zval_ptr_dtor (args_ind[0]);
      }
    if (destruct[1])
      {
    assert (destruct[1] == 1);
    zval_ptr_dtor (args_ind[1]);
      }
    write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// matrix(20);
  {
    initialize_function_call (&matrix_fci, &matrix_fcic, "matrix",
                  "test/subjects/benchmarks/zend/bench.php",
                  411 TSRMLS_CC);
    zend_function *signature = matrix_fcic.function_handler;
    zend_arg_info *arg_info = signature->common.arg_info;
    int by_ref[1];
    if (arg_info)
      {
    by_ref[0] = arg_info->pass_by_reference;
    arg_info++;
      }
    else
      {
    by_ref[0] = signature->common.pass_rest_by_reference;
      }
// Setup array of arguments
    int destruct[1];        // set to 1 if the arg is new
    zval *args[1];
    zval **args_ind[1];
    destruct[0] = 0;
    {
      zval *arg = phc_const_pool_int_30;
      args[0] = fetch_var_arg (arg, &destruct[0]);
      args_ind[0] = &args[0];
    }
    phc_setup_error (1, "<unknown>", 0, NULL TSRMLS_CC);
    int param_count_save = matrix_fci.param_count;
    zval ***params_save = matrix_fci.params;
    zval **retval_save = matrix_fci.retval_ptr_ptr;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    matrix_fci.params = args_ind;
    matrix_fci.param_count = 1;
    matrix_fci.retval_ptr_ptr = p_rhs;
    int success = zend_call_function (&matrix_fci, &matrix_fcic TSRMLS_CC);
    assert (success == SUCCESS);
    matrix_fci.params = params_save;
    matrix_fci.param_count = param_count_save;
    matrix_fci.retval_ptr_ptr = retval_save;
    phc_setup_error (0, NULL, 0, NULL TSRMLS_CC);
    is_p_rhs_new = 1;
    if (destruct[0])
      {
    assert (destruct[0] == 1);
    zval_ptr_dtor (args_ind[0]);
      }
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// $t = end_test($t, 'matrix(20)');
  {
    zval **p_lhs =
      get_st_entry (EG (active_symbol_table), "t", 2, 5863737u TSRMLS_CC);
    initialize_function_call (&end_test_fci, &end_test_fcic, "end_test",
                  "test/subjects/benchmarks/zend/bench.php",
                  412 TSRMLS_CC);
    zend_function *signature = end_test_fcic.function_handler;
    zend_arg_info *arg_info = signature->common.arg_info;
    int by_ref[2];
    if (arg_info)
      {
    by_ref[0] = arg_info->pass_by_reference;
    arg_info++;
      }
    else
      {
    by_ref[0] = signature->common.pass_rest_by_reference;
      }
    if (arg_info)
      {
    by_ref[1] = arg_info->pass_by_reference;
    arg_info++;
      }
    else
      {
    by_ref[1] = signature->common.pass_rest_by_reference;
      }
// Setup array of arguments
    int destruct[2];        // set to 1 if the arg is new
    zval *args[2];
    zval **args_ind[2];
    destruct[0] = 0;
    {
      zval *arg =
    read_var (EG (active_symbol_table), "t", 2, 5863737u TSRMLS_CC);
      args[0] = fetch_var_arg (arg, &destruct[0]);
      args_ind[0] = &args[0];
    }
    destruct[1] = 0;
    {
      zval *arg = phc_const_pool_string_38;
      args[1] = fetch_var_arg (arg, &destruct[1]);
      args_ind[1] = &args[1];
    }
    phc_setup_error (1, "<unknown>", 0, NULL TSRMLS_CC);
    int param_count_save = end_test_fci.param_count;
    zval ***params_save = end_test_fci.params;
    zval **retval_save = end_test_fci.retval_ptr_ptr;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    end_test_fci.params = args_ind;
    end_test_fci.param_count = 2;
    end_test_fci.retval_ptr_ptr = p_rhs;
    int success =
      zend_call_function (&end_test_fci, &end_test_fcic TSRMLS_CC);
    assert (success == SUCCESS);
    end_test_fci.params = params_save;
    end_test_fci.param_count = param_count_save;
    end_test_fci.retval_ptr_ptr = retval_save;
    phc_setup_error (0, NULL, 0, NULL TSRMLS_CC);
    is_p_rhs_new = 1;
    if (destruct[0])
      {
    assert (destruct[0] == 1);
    zval_ptr_dtor (args_ind[0]);
      }
    if (destruct[1])
      {
    assert (destruct[1] == 1);
    zval_ptr_dtor (args_ind[1]);
      }
    write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// nestedloop(12);
  {
    initialize_function_call (&nestedloop_fci, &nestedloop_fcic, "nestedloop",
                  "test/subjects/benchmarks/zend/bench.php",
                  413 TSRMLS_CC);
    zend_function *signature = nestedloop_fcic.function_handler;
    zend_arg_info *arg_info = signature->common.arg_info;
    int by_ref[1];
    if (arg_info)
      {
    by_ref[0] = arg_info->pass_by_reference;
    arg_info++;
      }
    else
      {
    by_ref[0] = signature->common.pass_rest_by_reference;
      }
// Setup array of arguments
    int destruct[1];        // set to 1 if the arg is new
    zval *args[1];
    zval **args_ind[1];
    destruct[0] = 0;
    {
      zval *arg = phc_const_pool_int_3;
      args[0] = fetch_var_arg (arg, &destruct[0]);
      args_ind[0] = &args[0];
    }
    phc_setup_error (1, "<unknown>", 0, NULL TSRMLS_CC);
    int param_count_save = nestedloop_fci.param_count;
    zval ***params_save = nestedloop_fci.params;
    zval **retval_save = nestedloop_fci.retval_ptr_ptr;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    nestedloop_fci.params = args_ind;
    nestedloop_fci.param_count = 1;
    nestedloop_fci.retval_ptr_ptr = p_rhs;
    int success =
      zend_call_function (&nestedloop_fci, &nestedloop_fcic TSRMLS_CC);
    assert (success == SUCCESS);
    nestedloop_fci.params = params_save;
    nestedloop_fci.param_count = param_count_save;
    nestedloop_fci.retval_ptr_ptr = retval_save;
    phc_setup_error (0, NULL, 0, NULL TSRMLS_CC);
    is_p_rhs_new = 1;
    if (destruct[0])
      {
    assert (destruct[0] == 1);
    zval_ptr_dtor (args_ind[0]);
      }
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// $t = end_test($t, 'nestedloop(12)');
  {
    zval **p_lhs =
      get_st_entry (EG (active_symbol_table), "t", 2, 5863737u TSRMLS_CC);
    initialize_function_call (&end_test_fci, &end_test_fcic, "end_test",
                  "test/subjects/benchmarks/zend/bench.php",
                  414 TSRMLS_CC);
    zend_function *signature = end_test_fcic.function_handler;
    zend_arg_info *arg_info = signature->common.arg_info;
    int by_ref[2];
    if (arg_info)
      {
    by_ref[0] = arg_info->pass_by_reference;
    arg_info++;
      }
    else
      {
    by_ref[0] = signature->common.pass_rest_by_reference;
      }
    if (arg_info)
      {
    by_ref[1] = arg_info->pass_by_reference;
    arg_info++;
      }
    else
      {
    by_ref[1] = signature->common.pass_rest_by_reference;
      }
// Setup array of arguments
    int destruct[2];        // set to 1 if the arg is new
    zval *args[2];
    zval **args_ind[2];
    destruct[0] = 0;
    {
      zval *arg =
    read_var (EG (active_symbol_table), "t", 2, 5863737u TSRMLS_CC);
      args[0] = fetch_var_arg (arg, &destruct[0]);
      args_ind[0] = &args[0];
    }
    destruct[1] = 0;
    {
      zval *arg = phc_const_pool_string_39;
      args[1] = fetch_var_arg (arg, &destruct[1]);
      args_ind[1] = &args[1];
    }
    phc_setup_error (1, "<unknown>", 0, NULL TSRMLS_CC);
    int param_count_save = end_test_fci.param_count;
    zval ***params_save = end_test_fci.params;
    zval **retval_save = end_test_fci.retval_ptr_ptr;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    end_test_fci.params = args_ind;
    end_test_fci.param_count = 2;
    end_test_fci.retval_ptr_ptr = p_rhs;
    int success =
      zend_call_function (&end_test_fci, &end_test_fcic TSRMLS_CC);
    assert (success == SUCCESS);
    end_test_fci.params = params_save;
    end_test_fci.param_count = param_count_save;
    end_test_fci.retval_ptr_ptr = retval_save;
    phc_setup_error (0, NULL, 0, NULL TSRMLS_CC);
    is_p_rhs_new = 1;
    if (destruct[0])
      {
    assert (destruct[0] == 1);
    zval_ptr_dtor (args_ind[0]);
      }
    if (destruct[1])
      {
    assert (destruct[1] == 1);
    zval_ptr_dtor (args_ind[1]);
      }
    write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// sieve(30);
  {
    initialize_function_call (&sieve_fci, &sieve_fcic, "sieve",
                  "test/subjects/benchmarks/zend/bench.php",
                  415 TSRMLS_CC);
    zend_function *signature = sieve_fcic.function_handler;
    zend_arg_info *arg_info = signature->common.arg_info;
    int by_ref[1];
    if (arg_info)
      {
    by_ref[0] = arg_info->pass_by_reference;
    arg_info++;
      }
    else
      {
    by_ref[0] = signature->common.pass_rest_by_reference;
      }
// Setup array of arguments
    int destruct[1];        // set to 1 if the arg is new
    zval *args[1];
    zval **args_ind[1];
    destruct[0] = 0;
    {
      zval *arg = phc_const_pool_int_9;
      args[0] = fetch_var_arg (arg, &destruct[0]);
      args_ind[0] = &args[0];
    }
    phc_setup_error (1, "<unknown>", 0, NULL TSRMLS_CC);
    int param_count_save = sieve_fci.param_count;
    zval ***params_save = sieve_fci.params;
    zval **retval_save = sieve_fci.retval_ptr_ptr;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    sieve_fci.params = args_ind;
    sieve_fci.param_count = 1;
    sieve_fci.retval_ptr_ptr = p_rhs;
    int success = zend_call_function (&sieve_fci, &sieve_fcic TSRMLS_CC);
    assert (success == SUCCESS);
    sieve_fci.params = params_save;
    sieve_fci.param_count = param_count_save;
    sieve_fci.retval_ptr_ptr = retval_save;
    phc_setup_error (0, NULL, 0, NULL TSRMLS_CC);
    is_p_rhs_new = 1;
    if (destruct[0])
      {
    assert (destruct[0] == 1);
    zval_ptr_dtor (args_ind[0]);
      }
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// $t = end_test($t, 'sieve(30)');
  {
    zval **p_lhs =
      get_st_entry (EG (active_symbol_table), "t", 2, 5863737u TSRMLS_CC);
    initialize_function_call (&end_test_fci, &end_test_fcic, "end_test",
                  "test/subjects/benchmarks/zend/bench.php",
                  416 TSRMLS_CC);
    zend_function *signature = end_test_fcic.function_handler;
    zend_arg_info *arg_info = signature->common.arg_info;
    int by_ref[2];
    if (arg_info)
      {
    by_ref[0] = arg_info->pass_by_reference;
    arg_info++;
      }
    else
      {
    by_ref[0] = signature->common.pass_rest_by_reference;
      }
    if (arg_info)
      {
    by_ref[1] = arg_info->pass_by_reference;
    arg_info++;
      }
    else
      {
    by_ref[1] = signature->common.pass_rest_by_reference;
      }
// Setup array of arguments
    int destruct[2];        // set to 1 if the arg is new
    zval *args[2];
    zval **args_ind[2];
    destruct[0] = 0;
    {
      zval *arg =
    read_var (EG (active_symbol_table), "t", 2, 5863737u TSRMLS_CC);
      args[0] = fetch_var_arg (arg, &destruct[0]);
      args_ind[0] = &args[0];
    }
    destruct[1] = 0;
    {
      zval *arg = phc_const_pool_string_40;
      args[1] = fetch_var_arg (arg, &destruct[1]);
      args_ind[1] = &args[1];
    }
    phc_setup_error (1, "<unknown>", 0, NULL TSRMLS_CC);
    int param_count_save = end_test_fci.param_count;
    zval ***params_save = end_test_fci.params;
    zval **retval_save = end_test_fci.retval_ptr_ptr;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    end_test_fci.params = args_ind;
    end_test_fci.param_count = 2;
    end_test_fci.retval_ptr_ptr = p_rhs;
    int success =
      zend_call_function (&end_test_fci, &end_test_fcic TSRMLS_CC);
    assert (success == SUCCESS);
    end_test_fci.params = params_save;
    end_test_fci.param_count = param_count_save;
    end_test_fci.retval_ptr_ptr = retval_save;
    phc_setup_error (0, NULL, 0, NULL TSRMLS_CC);
    is_p_rhs_new = 1;
    if (destruct[0])
      {
    assert (destruct[0] == 1);
    zval_ptr_dtor (args_ind[0]);
      }
    if (destruct[1])
      {
    assert (destruct[1] == 1);
    zval_ptr_dtor (args_ind[1]);
      }
    write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// strcat(200000);
  {
    initialize_function_call (&strcat_fci, &strcat_fcic, "strcat",
                  "test/subjects/benchmarks/zend/bench.php",
                  417 TSRMLS_CC);
    zend_function *signature = strcat_fcic.function_handler;
    zend_arg_info *arg_info = signature->common.arg_info;
    int by_ref[1];
    if (arg_info)
      {
    by_ref[0] = arg_info->pass_by_reference;
    arg_info++;
      }
    else
      {
    by_ref[0] = signature->common.pass_rest_by_reference;
      }
// Setup array of arguments
    int destruct[1];        // set to 1 if the arg is new
    zval *args[1];
    zval **args_ind[1];
    destruct[0] = 0;
    {
      zval *arg = phc_const_pool_int_31;
      args[0] = fetch_var_arg (arg, &destruct[0]);
      args_ind[0] = &args[0];
    }
    phc_setup_error (1, "<unknown>", 0, NULL TSRMLS_CC);
    int param_count_save = strcat_fci.param_count;
    zval ***params_save = strcat_fci.params;
    zval **retval_save = strcat_fci.retval_ptr_ptr;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    strcat_fci.params = args_ind;
    strcat_fci.param_count = 1;
    strcat_fci.retval_ptr_ptr = p_rhs;
    int success = zend_call_function (&strcat_fci, &strcat_fcic TSRMLS_CC);
    assert (success == SUCCESS);
    strcat_fci.params = params_save;
    strcat_fci.param_count = param_count_save;
    strcat_fci.retval_ptr_ptr = retval_save;
    phc_setup_error (0, NULL, 0, NULL TSRMLS_CC);
    is_p_rhs_new = 1;
    if (destruct[0])
      {
    assert (destruct[0] == 1);
    zval_ptr_dtor (args_ind[0]);
      }
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// $t = end_test($t, 'strcat(200000)');
  {
    zval **p_lhs =
      get_st_entry (EG (active_symbol_table), "t", 2, 5863737u TSRMLS_CC);
    initialize_function_call (&end_test_fci, &end_test_fcic, "end_test",
                  "test/subjects/benchmarks/zend/bench.php",
                  418 TSRMLS_CC);
    zend_function *signature = end_test_fcic.function_handler;
    zend_arg_info *arg_info = signature->common.arg_info;
    int by_ref[2];
    if (arg_info)
      {
    by_ref[0] = arg_info->pass_by_reference;
    arg_info++;
      }
    else
      {
    by_ref[0] = signature->common.pass_rest_by_reference;
      }
    if (arg_info)
      {
    by_ref[1] = arg_info->pass_by_reference;
    arg_info++;
      }
    else
      {
    by_ref[1] = signature->common.pass_rest_by_reference;
      }
// Setup array of arguments
    int destruct[2];        // set to 1 if the arg is new
    zval *args[2];
    zval **args_ind[2];
    destruct[0] = 0;
    {
      zval *arg =
    read_var (EG (active_symbol_table), "t", 2, 5863737u TSRMLS_CC);
      args[0] = fetch_var_arg (arg, &destruct[0]);
      args_ind[0] = &args[0];
    }
    destruct[1] = 0;
    {
      zval *arg = phc_const_pool_string_41;
      args[1] = fetch_var_arg (arg, &destruct[1]);
      args_ind[1] = &args[1];
    }
    phc_setup_error (1, "<unknown>", 0, NULL TSRMLS_CC);
    int param_count_save = end_test_fci.param_count;
    zval ***params_save = end_test_fci.params;
    zval **retval_save = end_test_fci.retval_ptr_ptr;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    end_test_fci.params = args_ind;
    end_test_fci.param_count = 2;
    end_test_fci.retval_ptr_ptr = p_rhs;
    int success =
      zend_call_function (&end_test_fci, &end_test_fcic TSRMLS_CC);
    assert (success == SUCCESS);
    end_test_fci.params = params_save;
    end_test_fci.param_count = param_count_save;
    end_test_fci.retval_ptr_ptr = retval_save;
    phc_setup_error (0, NULL, 0, NULL TSRMLS_CC);
    is_p_rhs_new = 1;
    if (destruct[0])
      {
    assert (destruct[0] == 1);
    zval_ptr_dtor (args_ind[0]);
      }
    if (destruct[1])
      {
    assert (destruct[1] == 1);
    zval_ptr_dtor (args_ind[1]);
      }
    write_var (p_lhs, p_rhs, &is_p_rhs_new TSRMLS_CC);
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// total($t0, 'Total');
  {
    initialize_function_call (&total_fci, &total_fcic, "total",
                  "test/subjects/benchmarks/zend/bench.php",
                  419 TSRMLS_CC);
    zend_function *signature = total_fcic.function_handler;
    zend_arg_info *arg_info = signature->common.arg_info;
    int by_ref[2];
    if (arg_info)
      {
    by_ref[0] = arg_info->pass_by_reference;
    arg_info++;
      }
    else
      {
    by_ref[0] = signature->common.pass_rest_by_reference;
      }
    if (arg_info)
      {
    by_ref[1] = arg_info->pass_by_reference;
    arg_info++;
      }
    else
      {
    by_ref[1] = signature->common.pass_rest_by_reference;
      }
// Setup array of arguments
    int destruct[2];        // set to 1 if the arg is new
    zval *args[2];
    zval **args_ind[2];
    destruct[0] = 0;
    {
      zval *arg =
    read_var (EG (active_symbol_table), "t0", 3, 193504905u TSRMLS_CC);
      args[0] = fetch_var_arg (arg, &destruct[0]);
      args_ind[0] = &args[0];
    }
    destruct[1] = 0;
    {
      zval *arg = phc_const_pool_string_22;
      args[1] = fetch_var_arg (arg, &destruct[1]);
      args_ind[1] = &args[1];
    }
    phc_setup_error (1, "<unknown>", 0, NULL TSRMLS_CC);
    int param_count_save = total_fci.param_count;
    zval ***params_save = total_fci.params;
    zval **retval_save = total_fci.retval_ptr_ptr;
    zval *p_rhs_temp = NULL;
    zval **p_rhs;
    p_rhs = &p_rhs_temp;
    int is_p_rhs_new = 0;
    total_fci.params = args_ind;
    total_fci.param_count = 2;
    total_fci.retval_ptr_ptr = p_rhs;
    int success = zend_call_function (&total_fci, &total_fcic TSRMLS_CC);
    assert (success == SUCCESS);
    total_fci.params = params_save;
    total_fci.param_count = param_count_save;
    total_fci.retval_ptr_ptr = retval_save;
    phc_setup_error (0, NULL, 0, NULL TSRMLS_CC);
    is_p_rhs_new = 1;
    if (destruct[0])
      {
    assert (destruct[0] == 1);
    zval_ptr_dtor (args_ind[0]);
      }
    if (destruct[1])
      {
    assert (destruct[1] == 1);
    zval_ptr_dtor (args_ind[1]);
      }
    if (is_p_rhs_new)
      zval_ptr_dtor (p_rhs);
    phc_check_invariants (TSRMLS_C);
  }
// Method exit
end_of_function:__attribute__ ((unused));
  if (local_TLE406 != NULL)
    {
      zval_ptr_dtor (&local_TLE406);
    }
}

// ArgInfo structures (necessary to support compile time pass-by-reference)
ZEND_BEGIN_ARG_INFO_EX (simple_arg_info, 0, 0, 0)
ZEND_END_ARG_INFO ()ZEND_BEGIN_ARG_INFO_EX (simplecall_arg_info, 0, 0, 0)
ZEND_END_ARG_INFO ()ZEND_BEGIN_ARG_INFO_EX (hallo_arg_info, 0, 0, 0)
ZEND_ARG_INFO (0, "a")
ZEND_END_ARG_INFO ()ZEND_BEGIN_ARG_INFO_EX (simpleucall_arg_info, 0, 0, 0)
ZEND_END_ARG_INFO ()ZEND_BEGIN_ARG_INFO_EX (simpleudcall_arg_info, 0, 0, 0)
ZEND_END_ARG_INFO ()ZEND_BEGIN_ARG_INFO_EX (hallo2_arg_info, 0, 0, 0)
ZEND_ARG_INFO (0, "a")
ZEND_END_ARG_INFO ()ZEND_BEGIN_ARG_INFO_EX (mandel_arg_info, 0, 0, 0)
ZEND_END_ARG_INFO ()ZEND_BEGIN_ARG_INFO_EX (mandel2_arg_info, 0, 0, 0)
ZEND_END_ARG_INFO ()ZEND_BEGIN_ARG_INFO_EX (Ack_arg_info, 0, 0, 0)
ZEND_ARG_INFO (0, "m")
ZEND_ARG_INFO (0, "n")
ZEND_END_ARG_INFO ()ZEND_BEGIN_ARG_INFO_EX (ackermann_arg_info, 0, 0, 0)
ZEND_ARG_INFO (0, "n")
ZEND_END_ARG_INFO ()ZEND_BEGIN_ARG_INFO_EX (ary_arg_info, 0, 0, 0)
ZEND_ARG_INFO (0, "n")
ZEND_END_ARG_INFO ()ZEND_BEGIN_ARG_INFO_EX (ary2_arg_info, 0, 0, 0)
ZEND_ARG_INFO (0, "n")
ZEND_END_ARG_INFO ()ZEND_BEGIN_ARG_INFO_EX (ary3_arg_info, 0, 0, 0)
ZEND_ARG_INFO (0, "n")
ZEND_END_ARG_INFO ()ZEND_BEGIN_ARG_INFO_EX (fibo_r_arg_info, 0, 0, 0)
ZEND_ARG_INFO (0, "n")
ZEND_END_ARG_INFO ()ZEND_BEGIN_ARG_INFO_EX (fibo_arg_info, 0, 0, 0)
ZEND_ARG_INFO (0, "n")
ZEND_END_ARG_INFO ()ZEND_BEGIN_ARG_INFO_EX (hash1_arg_info, 0, 0, 0)
ZEND_ARG_INFO (0, "n")
ZEND_END_ARG_INFO ()ZEND_BEGIN_ARG_INFO_EX (hash2_arg_info, 0, 0, 0)
ZEND_ARG_INFO (0, "n")
ZEND_END_ARG_INFO ()ZEND_BEGIN_ARG_INFO_EX (gen_random_arg_info, 0, 0, 0)
ZEND_ARG_INFO (0, "n")
ZEND_END_ARG_INFO ()ZEND_BEGIN_ARG_INFO_EX (heapsort_r_arg_info, 0, 0, 0)
ZEND_ARG_INFO (0, "n")
ZEND_ARG_INFO (1, "ra")
ZEND_END_ARG_INFO ()ZEND_BEGIN_ARG_INFO_EX (heapsort_arg_info, 0, 0, 0)
ZEND_ARG_INFO (0, "N")
ZEND_END_ARG_INFO ()ZEND_BEGIN_ARG_INFO_EX (mkmatrix_arg_info, 0, 0, 0)
ZEND_ARG_INFO (0, "rows")
ZEND_ARG_INFO (0, "cols")
ZEND_END_ARG_INFO ()ZEND_BEGIN_ARG_INFO_EX (mmult_arg_info, 0, 0, 0)
ZEND_ARG_INFO (0, "rows")
ZEND_ARG_INFO (0, "cols")
ZEND_ARG_INFO (0, "m1")
ZEND_ARG_INFO (0, "m2")
ZEND_END_ARG_INFO ()ZEND_BEGIN_ARG_INFO_EX (matrix_arg_info, 0, 0, 0)
ZEND_ARG_INFO (0, "n")
ZEND_END_ARG_INFO ()ZEND_BEGIN_ARG_INFO_EX (nestedloop_arg_info, 0, 0, 0)
ZEND_ARG_INFO (0, "n")
ZEND_END_ARG_INFO ()ZEND_BEGIN_ARG_INFO_EX (sieve_arg_info, 0, 0, 0)
ZEND_ARG_INFO (0, "n")
ZEND_END_ARG_INFO ()ZEND_BEGIN_ARG_INFO_EX (strcat_arg_info, 0, 0, 0)
ZEND_ARG_INFO (0, "n")
ZEND_END_ARG_INFO ()ZEND_BEGIN_ARG_INFO_EX (getmicrotime_arg_info, 0, 0, 0)
ZEND_END_ARG_INFO ()ZEND_BEGIN_ARG_INFO_EX (start_test_arg_info, 0, 0, 0)
ZEND_END_ARG_INFO ()ZEND_BEGIN_ARG_INFO_EX (end_test_arg_info, 0, 0, 0)
ZEND_ARG_INFO (0, "start")
ZEND_ARG_INFO (0, "name")
ZEND_END_ARG_INFO ()ZEND_BEGIN_ARG_INFO_EX (total_arg_info, 0, 0, 0)
ZEND_END_ARG_INFO ()ZEND_BEGIN_ARG_INFO_EX (__MAIN___arg_info, 0, 0, 0)
ZEND_END_ARG_INFO ()
// Register all functions with PHP
     static function_entry app_functions[] = {
     PHP_FE (mandel, mandel_arg_info)
     PHP_FE (mandel2, mandel2_arg_info)
     PHP_FE (Ack, Ack_arg_info)
     PHP_FE (ackermann, ackermann_arg_info)
     PHP_FE (ary, ary_arg_info)
     PHP_FE (ary2, ary2_arg_info)
     PHP_FE (ary3, ary3_arg_info)
     PHP_FE (fibo_r, fibo_r_arg_info)
     PHP_FE (fibo, fibo_arg_info)
     PHP_FE (hash1, hash1_arg_info)
     PHP_FE (hash2, hash2_arg_info)
     PHP_FE (gen_random, gen_random_arg_info)
     PHP_FE (heapsort_r, heapsort_r_arg_info)
     PHP_FE (heapsort, heapsort_arg_info)
     PHP_FE (mkmatrix, mkmatrix_arg_info)
     PHP_FE (mmult, mmult_arg_info)
     PHP_FE (matrix, matrix_arg_info)
     PHP_FE (nestedloop, nestedloop_arg_info)
     PHP_FE (sieve, sieve_arg_info)
     PHP_FE (strcat, strcat_arg_info)
     PHP_FE (getmicrotime, getmicrotime_arg_info)
     PHP_FE (start_test, start_test_arg_info)
     PHP_FE (end_test, end_test_arg_info)
     PHP_FE (total, total_arg_info)
     PHP_FE (__MAIN__, __MAIN___arg_info) {NULL, NULL, NULL}
     };

// Register the module itself with PHP
zend_module_entry app_module_entry = {
  STANDARD_MODULE_HEADER,
  "app",
  app_functions,
  NULL,                /* MINIT */
  NULL,                /* MSHUTDOWN */
  NULL,                /* RINIT */
  NULL,                /* RSHUTDOWN */
  NULL,                /* MINFO */
  "1.0",
  STANDARD_MODULE_PROPERTIES
};

#include <sapi/embed/php_embed.h>
#include <signal.h>

void
sighandler (int signum)
{
  switch (signum)
    {
    case SIGABRT:
      printf ("SIGABRT received!\n");
      break;
    case SIGSEGV:
      printf ("SIGSEGV received!\n");
      break;
    default:
      printf ("Unknown signal received!\n");
      break;
    }

  printf ("This could be a bug in phc. If you suspect it is, please email\n");
  printf ("a bug report to [email protected].\n");
  exit (-1);
}

int
main (int argc, char *argv[])
{
  int phc_exit_status;
  signal (SIGABRT, sighandler);
  signal (SIGSEGV, sighandler);

  TSRMLS_D;
  int dealloc_pools = 1;
  php_embed_init (argc, argv PTSRMLS_CC);
  zend_first_try
  {

    // initialize the phc runtime
    init_runtime ();

    // load the compiled extension
    zend_startup_module (&app_module_entry);

    zval main_name;
    ZVAL_STRING (&main_name, "__MAIN__", NULL);

    zval retval;

    // Use standard errors, on stdout
    zend_alter_ini_entry ("report_zend_debug", sizeof ("report_zend_debug"),
              "0", sizeof ("0") - 1, PHP_INI_ALL,
              PHP_INI_STAGE_RUNTIME);
    zend_alter_ini_entry ("display_startup_errors",
              sizeof ("display_startup_errors"), "1",
              sizeof ("1") - 1, PHP_INI_ALL,
              PHP_INI_STAGE_RUNTIME);

    // initialize all the constants
    ALLOC_INIT_ZVAL (phc_const_pool_int_0);
    ZVAL_LONG (phc_const_pool_int_0, 0);
    ALLOC_INIT_ZVAL (phc_const_pool_int_1);
    ZVAL_LONG (phc_const_pool_int_1, 1000000);
    ALLOC_INIT_ZVAL (phc_const_pool_string_0);
    ZVAL_STRINGL (phc_const_pool_string_0, "hallo", 5, 1);
    ALLOC_INIT_ZVAL (phc_const_pool_int_2);
    ZVAL_LONG (phc_const_pool_int_2, 50);
    ALLOC_INIT_ZVAL (phc_const_pool_int_3);
    ZVAL_LONG (phc_const_pool_int_3, 12);
    ALLOC_INIT_ZVAL (phc_const_pool_real_0);
    {
      unsigned char val[] = { 120, 233, 38, 49, 8, 172, 156, 63, };
      ZVAL_DOUBLE (phc_const_pool_real_0, *(double *) (val));
    }
    ALLOC_INIT_ZVAL (phc_const_pool_real_1);
    {
      unsigned char val[] = { 0, 0, 0, 0, 0, 0, 0, 0, };
      ZVAL_DOUBLE (phc_const_pool_real_1, *(double *) (val));
    }
    ALLOC_INIT_ZVAL (phc_const_pool_int_4);
    ZVAL_LONG (phc_const_pool_int_4, 150);
    ALLOC_INIT_ZVAL (phc_const_pool_int_5);
    ZVAL_LONG (phc_const_pool_int_5, 40);
    ALLOC_INIT_ZVAL (phc_const_pool_real_2);
    {
      unsigned char val[] = { 205, 204, 204, 204, 204, 204, 220, 191, };
      ZVAL_DOUBLE (phc_const_pool_real_2, *(double *) (val));
    }
    ALLOC_INIT_ZVAL (phc_const_pool_int_6);
    ZVAL_LONG (phc_const_pool_int_6, 1000);
    ALLOC_INIT_ZVAL (phc_const_pool_int_7);
    ZVAL_LONG (phc_const_pool_int_7, 2);
    ALLOC_INIT_ZVAL (phc_const_pool_int_8);
    ZVAL_LONG (phc_const_pool_int_8, 1);
    ALLOC_INIT_ZVAL (phc_const_pool_string_1);
    ZVAL_STRINGL (phc_const_pool_string_1, "_", 1, 1);
    ALLOC_INIT_ZVAL (phc_const_pool_string_2);
    ZVAL_STRINGL (phc_const_pool_string_2, "#", 1, 1);
    ALLOC_INIT_ZVAL (phc_const_pool_string_3);
    ZVAL_STRINGL (phc_const_pool_string_3, "<br>", 4, 1);
    ALLOC_INIT_ZVAL (phc_const_pool_string_4);
    ZVAL_STRINGL (phc_const_pool_string_4, " .:,;!/>)|&IH%*#", 16, 1);
    ALLOC_INIT_ZVAL (phc_const_pool_int_9);
    ZVAL_LONG (phc_const_pool_int_9, 30);
    ALLOC_INIT_ZVAL (phc_const_pool_string_5);
    ZVAL_STRINGL (phc_const_pool_string_5, "\012", 1, 1);
    ALLOC_INIT_ZVAL (phc_const_pool_real_3);
    {
      unsigned char val[] = { 154, 153, 153, 153, 153, 153, 185, 63, };
      ZVAL_DOUBLE (phc_const_pool_real_3, *(double *) (val));
    }
    ALLOC_INIT_ZVAL (phc_const_pool_real_4);
    {
      unsigned char val[] = { 0, 0, 0, 0, 0, 0, 248, 63, };
      ZVAL_DOUBLE (phc_const_pool_real_4, *(double *) (val));
    }
    ALLOC_INIT_ZVAL (phc_const_pool_real_5);
    {
      unsigned char val[] = { 123, 20, 174, 71, 225, 122, 164, 63, };
      ZVAL_DOUBLE (phc_const_pool_real_5, *(double *) (val));
    }
    ALLOC_INIT_ZVAL (phc_const_pool_int_10);
    ZVAL_LONG (phc_const_pool_int_10, 75);
    ALLOC_INIT_ZVAL (phc_const_pool_int_11);
    ZVAL_LONG (phc_const_pool_int_11, 5000);
    ALLOC_INIT_ZVAL (phc_const_pool_int_12);
    ZVAL_LONG (phc_const_pool_int_12, 500000);
    ALLOC_INIT_ZVAL (phc_const_pool_int_13);
    ZVAL_LONG (phc_const_pool_int_13, 16);
    ALLOC_INIT_ZVAL (phc_const_pool_int_14);
    ZVAL_LONG (phc_const_pool_int_14, 3);
    ALLOC_INIT_ZVAL (phc_const_pool_string_6);
    ZVAL_STRINGL (phc_const_pool_string_6, "Ack(3,", 6, 1);
    ALLOC_INIT_ZVAL (phc_const_pool_string_7);
    ZVAL_STRINGL (phc_const_pool_string_7, "): ", 3, 1);
    ALLOC_INIT_ZVAL (phc_const_pool_string_8);
    ZVAL_STRINGL (phc_const_pool_string_8, "", 0, 1);
    ALLOC_INIT_ZVAL (phc_const_pool_string_9);
    ZVAL_STRINGL (phc_const_pool_string_9, " ", 1, 1);
    ALLOC_INIT_ZVAL (phc_const_pool_string_10);
    ZVAL_STRINGL (phc_const_pool_string_10,
          "Invalid argument supplied for foreach()", 39, 1);
    ALLOC_INIT_ZVAL (phc_const_pool_int_15);
    ZVAL_LONG (phc_const_pool_int_15, 512);
    ALLOC_INIT_ZVAL (phc_const_pool_string_11);
    ZVAL_STRINGL (phc_const_pool_string_11, "foo_", 4, 1);
    ALLOC_INIT_ZVAL (phc_const_pool_string_12);
    ZVAL_STRINGL (phc_const_pool_string_12, "foo_0", 5, 1);
    ALLOC_INIT_ZVAL (phc_const_pool_null_0);
    ZVAL_NULL (phc_const_pool_null_0);
    ALLOC_INIT_ZVAL (phc_const_pool_string_13);
    ZVAL_STRINGL (phc_const_pool_string_13, "IM", 2, 1);
    ALLOC_INIT_ZVAL (phc_const_pool_int_16);
    ZVAL_LONG (phc_const_pool_int_16, 139968);
    ALLOC_INIT_ZVAL (phc_const_pool_string_14);
    ZVAL_STRINGL (phc_const_pool_string_14, "IA", 2, 1);
    ALLOC_INIT_ZVAL (phc_const_pool_int_17);
    ZVAL_LONG (phc_const_pool_int_17, 3877);
    ALLOC_INIT_ZVAL (phc_const_pool_string_15);
    ZVAL_STRINGL (phc_const_pool_string_15, "IC", 2, 1);
    ALLOC_INIT_ZVAL (phc_const_pool_int_18);
    ZVAL_LONG (phc_const_pool_int_18, 29573);
    ALLOC_INIT_ZVAL (phc_const_pool_int_19);
    ZVAL_LONG (phc_const_pool_int_19, 42);
    ALLOC_INIT_ZVAL (phc_const_pool_string_16);
    ZVAL_STRINGL (phc_const_pool_string_16, "%.10f\012", 6, 1);
    ALLOC_INIT_ZVAL (phc_const_pool_int_20);
    ZVAL_LONG (phc_const_pool_int_20, 4);
    ALLOC_INIT_ZVAL (phc_const_pool_int_21);
    ZVAL_LONG (phc_const_pool_int_21, 8192);
    ALLOC_INIT_ZVAL (phc_const_pool_int_22);
    ZVAL_LONG (phc_const_pool_int_22, 8193);
    ALLOC_INIT_ZVAL (phc_const_pool_string_17);
    ZVAL_STRINGL (phc_const_pool_string_17, "Count: ", 7, 1);
    ALLOC_INIT_ZVAL (phc_const_pool_string_18);
    ZVAL_STRINGL (phc_const_pool_string_18, "hello\012", 6, 1);
    ALLOC_INIT_ZVAL (phc_const_pool_string_19);
    ZVAL_STRINGL (phc_const_pool_string_19, "sec", 3, 1);
    ALLOC_INIT_ZVAL (phc_const_pool_string_20);
    ZVAL_STRINGL (phc_const_pool_string_20, "usec", 4, 1);
    ALLOC_INIT_ZVAL (phc_const_pool_int_23);
    ZVAL_LONG (phc_const_pool_int_23, 24);
    ALLOC_INIT_ZVAL (phc_const_pool_string_21);
    ZVAL_STRINGL (phc_const_pool_string_21, "------------------------\012",
          25, 1);
    ALLOC_INIT_ZVAL (phc_const_pool_int_24);
    ZVAL_LONG (phc_const_pool_int_24, 19);
    ALLOC_INIT_ZVAL (phc_const_pool_string_22);
    ZVAL_STRINGL (phc_const_pool_string_22, "Total", 5, 1);
    ALLOC_INIT_ZVAL (phc_const_pool_string_23);
    ZVAL_STRINGL (phc_const_pool_string_23, "UTC", 3, 1);
    ALLOC_INIT_ZVAL (phc_const_pool_string_24);
    ZVAL_STRINGL (phc_const_pool_string_24, "simple", 6, 1);
    ALLOC_INIT_ZVAL (phc_const_pool_string_25);
    ZVAL_STRINGL (phc_const_pool_string_25, "simplecall", 10, 1);
    ALLOC_INIT_ZVAL (phc_const_pool_string_26);
    ZVAL_STRINGL (phc_const_pool_string_26, "simpleucall", 11, 1);
    ALLOC_INIT_ZVAL (phc_const_pool_string_27);
    ZVAL_STRINGL (phc_const_pool_string_27, "simpleudcall", 12, 1);
    ALLOC_INIT_ZVAL (phc_const_pool_string_28);
    ZVAL_STRINGL (phc_const_pool_string_28, "mandel", 6, 1);
    ALLOC_INIT_ZVAL (phc_const_pool_string_29);
    ZVAL_STRINGL (phc_const_pool_string_29, "mandel2", 7, 1);
    ALLOC_INIT_ZVAL (phc_const_pool_int_25);
    ZVAL_LONG (phc_const_pool_int_25, 7);
    ALLOC_INIT_ZVAL (phc_const_pool_string_30);
    ZVAL_STRINGL (phc_const_pool_string_30, "ackermann(7)", 12, 1);
    ALLOC_INIT_ZVAL (phc_const_pool_int_26);
    ZVAL_LONG (phc_const_pool_int_26, 50000);
    ALLOC_INIT_ZVAL (phc_const_pool_string_31);
    ZVAL_STRINGL (phc_const_pool_string_31, "ary(50000)", 10, 1);
    ALLOC_INIT_ZVAL (phc_const_pool_string_32);
    ZVAL_STRINGL (phc_const_pool_string_32, "ary2(50000)", 11, 1);
    ALLOC_INIT_ZVAL (phc_const_pool_int_27);
    ZVAL_LONG (phc_const_pool_int_27, 2000);
    ALLOC_INIT_ZVAL (phc_const_pool_string_33);
    ZVAL_STRINGL (phc_const_pool_string_33, "ary3(2000)", 10, 1);
    ALLOC_INIT_ZVAL (phc_const_pool_string_34);
    ZVAL_STRINGL (phc_const_pool_string_34, "fibo(30)", 8, 1);
    ALLOC_INIT_ZVAL (phc_const_pool_string_35);
    ZVAL_STRINGL (phc_const_pool_string_35, "hash1(50000)", 12, 1);
    ALLOC_INIT_ZVAL (phc_const_pool_int_28);
    ZVAL_LONG (phc_const_pool_int_28, 500);
    ALLOC_INIT_ZVAL (phc_const_pool_string_36);
    ZVAL_STRINGL (phc_const_pool_string_36, "hash2(500)", 10, 1);
    ALLOC_INIT_ZVAL (phc_const_pool_int_29);
    ZVAL_LONG (phc_const_pool_int_29, 20000);
    ALLOC_INIT_ZVAL (phc_const_pool_string_37);
    ZVAL_STRINGL (phc_const_pool_string_37, "heapsort(20000)", 15, 1);
    ALLOC_INIT_ZVAL (phc_const_pool_int_30);
    ZVAL_LONG (phc_const_pool_int_30, 20);
    ALLOC_INIT_ZVAL (phc_const_pool_string_38);
    ZVAL_STRINGL (phc_const_pool_string_38, "matrix(20)", 10, 1);
    ALLOC_INIT_ZVAL (phc_const_pool_string_39);
    ZVAL_STRINGL (phc_const_pool_string_39, "nestedloop(12)", 14, 1);
    ALLOC_INIT_ZVAL (phc_const_pool_string_40);
    ZVAL_STRINGL (phc_const_pool_string_40, "sieve(30)", 9, 1);
    ALLOC_INIT_ZVAL (phc_const_pool_int_31);
    ZVAL_LONG (phc_const_pool_int_31, 200000);
    ALLOC_INIT_ZVAL (phc_const_pool_string_41);
    ZVAL_STRINGL (phc_const_pool_string_41, "strcat(200000)", 14, 1);

    // call __MAIN__
    int success = call_user_function (EG (function_table),
                      NULL,
                      &main_name,
                      &retval,
                      0,
                      NULL TSRMLS_CC);

    assert (success == SUCCESS);

    // finalize the runtime
    finalize_runtime ();

  }
  zend_catch
  {
    dealloc_pools = 0;
  }
  zend_end_try ();
  if (dealloc_pools)
    {
      zval_ptr_dtor (&phc_const_pool_int_0);
      zval_ptr_dtor (&phc_const_pool_int_1);
      zval_ptr_dtor (&phc_const_pool_string_0);
      zval_ptr_dtor (&phc_const_pool_int_2);
      zval_ptr_dtor (&phc_const_pool_int_3);
      zval_ptr_dtor (&phc_const_pool_real_0);
      zval_ptr_dtor (&phc_const_pool_real_1);
      zval_ptr_dtor (&phc_const_pool_int_4);
      zval_ptr_dtor (&phc_const_pool_int_5);
      zval_ptr_dtor (&phc_const_pool_real_2);
      zval_ptr_dtor (&phc_const_pool_int_6);
      zval_ptr_dtor (&phc_const_pool_int_7);
      zval_ptr_dtor (&phc_const_pool_int_8);
      zval_ptr_dtor (&phc_const_pool_string_1);
      zval_ptr_dtor (&phc_const_pool_string_2);
      zval_ptr_dtor (&phc_const_pool_string_3);
      zval_ptr_dtor (&phc_const_pool_string_4);
      zval_ptr_dtor (&phc_const_pool_int_9);
      zval_ptr_dtor (&phc_const_pool_string_5);
      zval_ptr_dtor (&phc_const_pool_real_3);
      zval_ptr_dtor (&phc_const_pool_real_4);
      zval_ptr_dtor (&phc_const_pool_real_5);
      zval_ptr_dtor (&phc_const_pool_int_10);
      zval_ptr_dtor (&phc_const_pool_int_11);
      zval_ptr_dtor (&phc_const_pool_int_12);
      zval_ptr_dtor (&phc_const_pool_int_13);
      zval_ptr_dtor (&phc_const_pool_int_14);
      zval_ptr_dtor (&phc_const_pool_string_6);
      zval_ptr_dtor (&phc_const_pool_string_7);
      zval_ptr_dtor (&phc_const_pool_string_8);
      zval_ptr_dtor (&phc_const_pool_string_9);
      zval_ptr_dtor (&phc_const_pool_string_10);
      zval_ptr_dtor (&phc_const_pool_int_15);
      zval_ptr_dtor (&phc_const_pool_string_11);
      zval_ptr_dtor (&phc_const_pool_string_12);
      zval_ptr_dtor (&phc_const_pool_null_0);
      zval_ptr_dtor (&phc_const_pool_string_13);
      zval_ptr_dtor (&phc_const_pool_int_16);
      zval_ptr_dtor (&phc_const_pool_string_14);
      zval_ptr_dtor (&phc_const_pool_int_17);
      zval_ptr_dtor (&phc_const_pool_string_15);
      zval_ptr_dtor (&phc_const_pool_int_18);
      zval_ptr_dtor (&phc_const_pool_int_19);
      zval_ptr_dtor (&phc_const_pool_string_16);
      zval_ptr_dtor (&phc_const_pool_int_20);
      zval_ptr_dtor (&phc_const_pool_int_21);
      zval_ptr_dtor (&phc_const_pool_int_22);
      zval_ptr_dtor (&phc_const_pool_string_17);
      zval_ptr_dtor (&phc_const_pool_string_18);
      zval_ptr_dtor (&phc_const_pool_string_19);
      zval_ptr_dtor (&phc_const_pool_string_20);
      zval_ptr_dtor (&phc_const_pool_int_23);
      zval_ptr_dtor (&phc_const_pool_string_21);
      zval_ptr_dtor (&phc_const_pool_int_24);
      zval_ptr_dtor (&phc_const_pool_string_22);
      zval_ptr_dtor (&phc_const_pool_string_23);
      zval_ptr_dtor (&phc_const_pool_string_24);
      zval_ptr_dtor (&phc_const_pool_string_25);
      zval_ptr_dtor (&phc_const_pool_string_26);
      zval_ptr_dtor (&phc_const_pool_string_27);
      zval_ptr_dtor (&phc_const_pool_string_28);
      zval_ptr_dtor (&phc_const_pool_string_29);
      zval_ptr_dtor (&phc_const_pool_int_25);
      zval_ptr_dtor (&phc_const_pool_string_30);
      zval_ptr_dtor (&phc_const_pool_int_26);
      zval_ptr_dtor (&phc_const_pool_string_31);
      zval_ptr_dtor (&phc_const_pool_string_32);
      zval_ptr_dtor (&phc_const_pool_int_27);
      zval_ptr_dtor (&phc_const_pool_string_33);
      zval_ptr_dtor (&phc_const_pool_string_34);
      zval_ptr_dtor (&phc_const_pool_string_35);
      zval_ptr_dtor (&phc_const_pool_int_28);
      zval_ptr_dtor (&phc_const_pool_string_36);
      zval_ptr_dtor (&phc_const_pool_int_29);
      zval_ptr_dtor (&phc_const_pool_string_37);
      zval_ptr_dtor (&phc_const_pool_int_30);
      zval_ptr_dtor (&phc_const_pool_string_38);
      zval_ptr_dtor (&phc_const_pool_string_39);
      zval_ptr_dtor (&phc_const_pool_string_40);
      zval_ptr_dtor (&phc_const_pool_int_31);
      zval_ptr_dtor (&phc_const_pool_string_41);
    }
  phc_exit_status = EG (exit_status);
  php_embed_shutdown (TSRMLS_C);

  return phc_exit_status;
}

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 2.0 [PHP 7 Update] [25.02.2019] maintained by HackingTool | HackingTool | Generation time: 0.0246 ]--