[SCM] Lisaac compiler branch, master, updated. 52df9b6bfcf6cc466b12d05f05a3c82a4ba8e265

Xavier Oswald x.oswald at free.fr
Mon Feb 9 19:39:43 UTC 2009


The following commit has been merged in the master branch:
commit 52df9b6bfcf6cc466b12d05f05a3c82a4ba8e265
Author: Xavier Oswald <x.oswald at free.fr>
Date:   Mon Feb 9 20:33:38 2009 +0100

    * Update shootout benchmark for Loïc Master studies project.

diff --git a/example/shootout/thread-ring/mutex.li b/example/shootout/OLD/thread-ring/mutex.li
old mode 100644
new mode 100755
similarity index 100%
copy from example/shootout/thread-ring/mutex.li
copy to example/shootout/OLD/thread-ring/mutex.li
diff --git a/example/shootout/thread-ring/single_file/threadring.li b/example/shootout/OLD/thread-ring/single_file/threadring.li
old mode 100644
new mode 100755
similarity index 100%
copy from example/shootout/thread-ring/single_file/threadring.li
copy to example/shootout/OLD/thread-ring/single_file/threadring.li
diff --git a/example/shootout/thread-ring/stack.li b/example/shootout/OLD/thread-ring/stack.li
old mode 100644
new mode 100755
similarity index 100%
copy from example/shootout/thread-ring/stack.li
copy to example/shootout/OLD/thread-ring/stack.li
diff --git a/example/shootout/thread-ring/thread.li b/example/shootout/OLD/thread-ring/thread.li
old mode 100644
new mode 100755
similarity index 100%
copy from example/shootout/thread-ring/thread.li
copy to example/shootout/OLD/thread-ring/thread.li
diff --git a/example/shootout/OLD/thread-ring/threadring.c b/example/shootout/OLD/thread-ring/threadring.c
new file mode 100755
index 0000000..d8cfaa0
--- /dev/null
+++ b/example/shootout/OLD/thread-ring/threadring.c
@@ -0,0 +1,1598 @@
+// C code generated by Lisaac compiler (www.isaacOS.com) //
+int arg_count;
+char **arg_vector;
+
+//==========================//
+// EXTERNAL                 //
+//==========================//
+
+// THREADRING
+
+#include <pthread.h>
+pthread_attr_t stack_attr;
+
+// MUTEX
+pthread_mutex_t MUTEX__;
+// STACK
+
+#include <limits.h>
+struct stack {
+  char x[PTHREAD_STACK_MIN];
+};
+struct stack STACK__;
+
+// THREAD
+pthread_t THREAD__;
+// FLOAT_REAL
+#include <math.h>
+// SYSTEM
+#include <time.h>
+// MEMORY
+
+#define MINIMUM_SIZE 256  
+void *table_size[MINIMUM_SIZE/sizeof(void *)];
+void *last_block[64];
+
+// SYSTEM_IO
+
+#include <stdio.h>
+#include <stdlib.h>
+  
+// Hardware 'print_char'
+void print_char(char car)
+{
+  fputc(car,stdout);
+}
+
+// Hardware 'exit'
+int die_with_code(int code)
+{
+  exit(code);
+}
+
+
+
+//==========================//
+// TYPE                     //
+//==========================//
+
+// Generic Object
+struct ___OBJ {
+  unsigned long __id;
+};
+
+// NULL
+#ifndef NULL
+#define NULL ((void *)0)
+#endif
+
+// POINTER
+typedef void * __POINTER;
+
+// UINTEGER_32
+typedef unsigned long __UINTEGER_32;
+
+// MEMORY
+#define __MEMORY__ 0
+typedef struct MEMORY_struct __MEMORY;
+struct MEMORY_struct {
+  volatile __UINTEGER_32 previous_linear__HK;
+  volatile __UINTEGER_32 size_and_id__IK;
+  __MEMORY *next_free__JK;
+  __MEMORY *previous_free__KK;
+} __attribute__ ((packed));
+__MEMORY MEMORY_;
+#define MEMORY__ (&MEMORY_)
+
+// INTEGER
+typedef int __INTEGER;
+
+// CHARACTER
+typedef char __CHARACTER;
+
+// ARRAYED_COLLECTION[Expanded INTEGER]
+#define __ARRAYED_COLLECTIONoExpanded_INTEGERo__ 1
+typedef struct ARRAYED_COLLECTIONoExpanded_INTEGERo_struct __ARRAYED_COLLECTIONoExpanded_INTEGERo;
+struct ARRAYED_COLLECTIONoExpanded_INTEGERo_struct {
+  __INTEGER capacity__AEC;
+  __INTEGER upper__WEC;
+  __INTEGER *storage__QBC;
+};
+__ARRAYED_COLLECTIONoExpanded_INTEGERo ARRAYED_COLLECTIONoExpanded_INTEGERo_;
+#define ARRAYED_COLLECTIONoExpanded_INTEGERo__ (&ARRAYED_COLLECTIONoExpanded_INTEGERo_)
+
+// FAST_ARRAY[Expanded INTEGER]
+#define __FAST_ARRAYoExpanded_INTEGERo__ 2
+typedef struct FAST_ARRAYoExpanded_INTEGERo_struct __FAST_ARRAYoExpanded_INTEGERo;
+struct FAST_ARRAYoExpanded_INTEGERo_struct {
+  __ARRAYED_COLLECTIONoExpanded_INTEGERo parent_arrayed_collection__4;
+};
+__FAST_ARRAYoExpanded_INTEGERo FAST_ARRAYoExpanded_INTEGERo_;
+#define FAST_ARRAYoExpanded_INTEGERo__ (&FAST_ARRAYoExpanded_INTEGERo_)
+
+// NUMERIC
+#define __NUMERIC__ 3
+typedef struct NUMERIC_struct __NUMERIC;
+struct NUMERIC_struct {
+  void *Nothing;
+};
+__NUMERIC NUMERIC_;
+#define NUMERIC__ (&NUMERIC_)
+
+// OBJECT
+#define __OBJECT__ 4
+typedef struct OBJECT_struct __OBJECT;
+struct OBJECT_struct {
+  void *Nothing;
+};
+__OBJECT OBJECT_;
+#define OBJECT__ (&OBJECT_)
+
+// STRING_CONSTANT
+#define __STRING_CONSTANT__ 5
+typedef struct STRING_CONSTANT_struct __STRING_CONSTANT;
+struct STRING_CONSTANT_struct {
+  __INTEGER count__XFG;
+  __CHARACTER *storage__GMH;
+};
+__STRING_CONSTANT STRING_CONSTANT_;
+#define STRING_CONSTANT__ (&STRING_CONSTANT_)
+
+// TRUE
+#define TRUE__ 1
+
+// FALSE
+#define FALSE__ 0
+
+// THREADRING
+#define __THREADRING__ 6
+typedef struct THREADRING_struct __THREADRING;
+struct THREADRING_struct {
+  void *Nothing;
+};
+__THREADRING THREADRING_;
+#define THREADRING__ (&THREADRING_)
+
+// STRING
+#define __STRING__ 7
+typedef struct STRING_struct __STRING;
+struct STRING_struct {
+  __INTEGER count__EVH;
+  __INTEGER capacity__2XH;
+  __CHARACTER *storage__FYH;
+};
+__STRING STRING_;
+#define STRING__ (&STRING_)
+
+// ARRAYED_COLLECTION[STRING]
+#define __ARRAYED_COLLECTIONoSTRINGo__ 8
+typedef struct ARRAYED_COLLECTIONoSTRINGo_struct __ARRAYED_COLLECTIONoSTRINGo;
+struct ARRAYED_COLLECTIONoSTRINGo_struct {
+  __INTEGER capacity__HJC;
+  __INTEGER upper__TJC;
+  void **storage__KDC;
+};
+__ARRAYED_COLLECTIONoSTRINGo ARRAYED_COLLECTIONoSTRINGo_;
+#define ARRAYED_COLLECTIONoSTRINGo__ (&ARRAYED_COLLECTIONoSTRINGo_)
+
+// FAST_ARRAY[STRING]
+#define __FAST_ARRAYoSTRINGo__ 9
+typedef struct FAST_ARRAYoSTRINGo_struct __FAST_ARRAYoSTRINGo;
+struct FAST_ARRAYoSTRINGo_struct {
+  __ARRAYED_COLLECTIONoSTRINGo parent_arrayed_collection__0D;
+};
+__FAST_ARRAYoSTRINGo FAST_ARRAYoSTRINGo_;
+#define FAST_ARRAYoSTRINGo__ (&FAST_ARRAYoSTRINGo_)
+
+// MUTEX
+typedef pthread_mutex_t __MUTEX;
+
+// ARRAYED_COLLECTION[Expanded MUTEX]
+#define __ARRAYED_COLLECTIONoExpanded_MUTEXo__ 10
+typedef struct ARRAYED_COLLECTIONoExpanded_MUTEXo_struct __ARRAYED_COLLECTIONoExpanded_MUTEXo;
+struct ARRAYED_COLLECTIONoExpanded_MUTEXo_struct {
+  __INTEGER capacity__UGC;
+  __INTEGER upper__KHC;
+  __MUTEX *storage__RCC;
+};
+__ARRAYED_COLLECTIONoExpanded_MUTEXo ARRAYED_COLLECTIONoExpanded_MUTEXo_;
+#define ARRAYED_COLLECTIONoExpanded_MUTEXo__ (&ARRAYED_COLLECTIONoExpanded_MUTEXo_)
+
+// FAST_ARRAY[Expanded MUTEX]
+#define __FAST_ARRAYoExpanded_MUTEXo__ 11
+typedef struct FAST_ARRAYoExpanded_MUTEXo_struct __FAST_ARRAYoExpanded_MUTEXo;
+struct FAST_ARRAYoExpanded_MUTEXo_struct {
+  __ARRAYED_COLLECTIONoExpanded_MUTEXo parent_arrayed_collection__VB;
+};
+__FAST_ARRAYoExpanded_MUTEXo FAST_ARRAYoExpanded_MUTEXo_;
+#define FAST_ARRAYoExpanded_MUTEXo__ (&FAST_ARRAYoExpanded_MUTEXo_)
+
+// STACK
+typedef struct stack __STACK;
+
+// ARRAYED_COLLECTION[Expanded STACK]
+#define __ARRAYED_COLLECTIONoExpanded_STACKo__ 12
+typedef struct ARRAYED_COLLECTIONoExpanded_STACKo_struct __ARRAYED_COLLECTIONoExpanded_STACKo;
+struct ARRAYED_COLLECTIONoExpanded_STACKo_struct {
+  __INTEGER capacity__HZH;
+  __INTEGER upper__3ZH;
+  __STACK *storage__WUH;
+};
+__ARRAYED_COLLECTIONoExpanded_STACKo ARRAYED_COLLECTIONoExpanded_STACKo_;
+#define ARRAYED_COLLECTIONoExpanded_STACKo__ (&ARRAYED_COLLECTIONoExpanded_STACKo_)
+
+// FAST_ARRAY[Expanded STACK]
+#define __FAST_ARRAYoExpanded_STACKo__ 13
+typedef struct FAST_ARRAYoExpanded_STACKo_struct __FAST_ARRAYoExpanded_STACKo;
+struct FAST_ARRAYoExpanded_STACKo_struct {
+  __ARRAYED_COLLECTIONoExpanded_STACKo parent_arrayed_collection__AC;
+};
+__FAST_ARRAYoExpanded_STACKo FAST_ARRAYoExpanded_STACKo_;
+#define FAST_ARRAYoExpanded_STACKo__ (&FAST_ARRAYoExpanded_STACKo_)
+
+// INTEGER_8
+typedef signed char __INTEGER_8;
+
+// THREAD
+typedef pthread_t __THREAD;
+
+// BOOLEAN
+typedef char __BOOLEAN;
+
+
+void *table_type[14];
+
+//==========================//
+// GLOBAL                   //
+//==========================//
+
+__POINTER begin_memory__PCB;
+__UINTEGER_32 nb_page__0QB;
+__UINTEGER_32 capacity_max__ZQD;
+__MEMORY *first_free__ALG;
+void *parent_numeric__H;
+__UINTEGER_32 clone_allocation_size__3J;
+void *data__5;
+void *mutex__WB;
+
+//==========================//
+// STRING CONSTANT          //
+//==========================//
+
+__STRING_CONSTANT __string_1={19,"Not enough memory.\n"};
+
+//==========================//
+// FUNCTION HEADER          //
+//==========================//
+
+// Debug Manager
+void print_string(char *str);
+// Source code
+static __POINTER new_lab__IQB(__UINTEGER_32 t__KQB);
+static __MEMORY* search__3JG(__UINTEGER_32 new_size__5JG);
+static void** create__4QG(__INTEGER nb_elements__ARG);
+static __CHARACTER* create__MKM(__INTEGER nb_elements__OKM);
+static __POINTER realloc_dynamic__old_size__new_size__Y4I(__POINTER p__04I,__UINTEGER_32 old_sz__14I,__UINTEGER_32 new_sz__24I);
+__POINTER thread(__POINTER num__HF);
+static __MEMORY* new_page__PQD();
+static void print_positif__CMK(__INTEGER Self__DMK);
+
+//==========================//
+// SOURCE CODE              //
+//==========================//
+
+int main(int argc,char **argv)
+{
+  __POINTER ptr__KJ,ptr_table__DWZ,next__CWZ,result__EWZ,ptr_table__IWZ;
+  __POINTER next__HWZ,result__JWZ,result__XMZ,ptr_table__NWZ,next__MWZ;
+  __POINTER result__OWZ,ptr__2P,ptr_table__SWZ,next__RWZ,result__TWZ;
+  __POINTER ptr_table__XWZ,next__WWZ,result__YWZ,ptr__DME;
+  __POINTER ptr_table__2WZ,next__1WZ,result__3WZ,ptr_table__BXZ;
+  __POINTER next__AXZ,result__CXZ,ptr__FM,ptr_table__GXZ,next__FXZ;
+  __POINTER result__HXZ,ptr_table__LXZ,next__KXZ,result__MXZ;
+  __POINTER result__INZ,ptr_table__QXZ,next__PXZ,result__RXZ,ptr__ZXE;
+  __POINTER ptr_table__VXZ,next__UXZ,result__WXZ,ptr_table__0XZ;
+  __POINTER next__ZXZ,result__1XZ,result__O1E,ptr_table__VAB,next__0AB;
+  __POINTER result__YAB;
+  __INTEGER typ_id__PJ,Self__XPI,__tmp__DFC,Self__CML,new_count__3K;
+  __INTEGER typ_id__BQ,Self__EL,limit_up__FL,idx__2XD,typ_id__IME;
+  __INTEGER i__2UH,new_capacity__SIM,__tmp__LJM,__tmp__5FP,Self__0FT;
+  __INTEGER new_capacity__VZD,__tmp__Z0D,__tmp__ECI,Self__OMP;
+  __INTEGER typ_id__KM,Self__4QI,__tmp__XHC,Self__KOL,typ_id__4XE;
+  __INTEGER Self__VNP,__tmp__K0H,Self__OES,state__3TO,result__AUO;
+  __INTEGER i__2TO,__tmp__NVZ,__tmp__PVZ,Self__JE;
+  __UINTEGER_32 sz__MJ,a__FSZ,new_size__GSZ,t__PSZ,a__MSZ,new_size__LWZ;
+  __UINTEGER_32 lab_type__KWZ,sz__YMZ,a__3MZ,new_size__ZMZ;
+  __UINTEGER_32 new_size2__0MZ,a__TSZ,new_size__USZ,sz__4P,a__ATZ;
+  __UINTEGER_32 new_size__BTZ,t__KTZ,a__HTZ,new_size__0WZ,lab_type__ZWZ;
+  __UINTEGER_32 sz__FME,a__OTZ,new_size__PTZ,t__YTZ,a__VTZ;
+  __UINTEGER_32 new_size__EXZ,lab_type__DXZ,sz__HM,a__IUZ,new_size__JUZ;
+  __UINTEGER_32 t__SUZ,a__PUZ,new_size__OXZ,lab_type__NXZ,sz__JNZ;
+  __UINTEGER_32 a__ONZ,new_size__KNZ,new_size2__LNZ,a__WUZ;
+  __UINTEGER_32 new_size__XUZ,sz__1XE,a__DVZ,new_size__EVZ,t__R0,a__OOZ;
+  __UINTEGER_32 new_size__3XZ,lab_type__2XZ,sz__G1E,a__SNZ;
+  __UINTEGER_32 new_size__I1E,new_size2__L1E,a__IOZ,new_size__IZ;
+  __STRING *result__CME,*Self__NXH,*Self__0UH,*Self__0TO;
+  __MUTEX v__EXH,v__ETK;
+  __STACK v__GAP,v__DKR;
+  __FAST_ARRAYoExpanded_INTEGERo *result__JJ,*Self__WDC;
+  __INTEGER *Result__IFE,*__tmp__CFC,*Self__GRK;
+  __BOOLEAN __tmp__KEC,__tmp__D0D,__tmp__4GC,__tmp__RZH,negative__5TO;
+  __BOOLEAN __tmp__MVO,result__AIW,__tmp__5VO,__tmp__UWO,result__UOU;
+  __BOOLEAN __tmp__1XO,result__GPU,result__YOO;
+  __CHARACTER *arg__1G,*Self__QXD,*p__1UH,*__tmp__KJM,*new__MFP;
+  __CHARACTER *__tmp__OVZ;
+  __FAST_ARRAYoSTRINGo *result__1P,*Self__4IC,*Self__TZD;
+  void *result__0G;
+  __CHARACTER __tmp__RVH,cc__4TO;
+  void **__tmp__Y0D,**new__RBI;
+  __FAST_ARRAYoExpanded_MUTEXo *result__EM,*Self__KGC;
+  __MUTEX *Result__UHE,*__tmp__WHC,*Self__TSK,*__tmp__QVZ,*__tmp__RVZ;
+  __FAST_ARRAYoExpanded_STACKo *result__YXE,*Self__3YH;
+  __STACK *Result__RQL,*__tmp__J0H,*Self__SJR,*__tmp__SVZ;
+  arg_count  = argc;
+  arg_vector = argv;
+  ARRAYED_COLLECTIONoExpanded_INTEGERo__->storage__QBC=NULL;
+  ARRAYED_COLLECTIONoExpanded_INTEGERo__->capacity__AEC= 0;
+  ARRAYED_COLLECTIONoExpanded_INTEGERo__->upper__WEC= 0;
+  FAST_ARRAYoExpanded_INTEGERo__->parent_arrayed_collection__4=(*ARRAYED_COLLECTIONoExpanded_INTEGERo__);
+  parent_numeric__H=NUMERIC__;
+  clone_allocation_size__3J= 0;
+  STRING_CONSTANT__->count__XFG=((__INTEGER )((0)));
+  STRING_CONSTANT__->storage__GMH=((__CHARACTER *)(NULL));
+  nb_page__0QB= 0;
+  MEMORY__->size_and_id__IK= 0;
+  capacity_max__ZQD= 0;
+  begin_memory__PCB=((__POINTER )(NULL));
+  MEMORY__->previous_linear__HK= 0;
+  first_free__ALG=NULL;
+  MEMORY__->next_free__JK=NULL;
+  MEMORY__->previous_free__KK=NULL;
+  result__JJ=NULL;
+  ptr__KJ=((__POINTER )(NULL));
+  typ_id__PJ= 0;
+  sz__MJ=((__UINTEGER_32 )sizeof(__FAST_ARRAYoExpanded_INTEGERo));
+  if ((sz__MJ ==  0)) {
+    result__JJ=FAST_ARRAYoExpanded_INTEGERo__;
+  } else {
+    typ_id__PJ=__FAST_ARRAYoExpanded_INTEGERo__;
+    clone_allocation_size__3J=sz__MJ;
+    if ((typ_id__PJ == (__INTEGER)(-  1))) {
+      a__FSZ=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__GSZ=(__UINTEGER_32)((__UINTEGER_32)(sz__MJ + a__FSZ) & (__UINTEGER_32)(~ a__FSZ));
+      ptr_table__DWZ=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__GSZ / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+      next__CWZ=((__POINTER )(NULL));
+      result__EWZ=((__POINTER *)ptr_table__DWZ)[ 0];
+      if ((result__EWZ == (void *)NULL)) {
+        result__EWZ=new_lab__IQB(new_size__GSZ);
+        next__CWZ=(void *)((unsigned long)result__EWZ - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__GSZ)));
+        ((__POINTER *)next__CWZ)[ 0]=NULL;
+        ((__POINTER *)ptr_table__DWZ)[ 0]=next__CWZ;
+      } else {
+        next__CWZ=((__POINTER *)result__EWZ)[ 0];
+        if ((next__CWZ == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__EWZ - (unsigned long)begin_memory__PCB)))) &  4095) + (__UINTEGER_32)(new_size__GSZ <<  1)) <=  4096)) {
+            next__CWZ=(void *)((unsigned long)result__EWZ - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__GSZ)));
+          } else {
+            next__CWZ=new_lab__IQB(new_size__GSZ);
+          };
+          ((__POINTER *)next__CWZ)[ 0]=NULL;
+          ((__POINTER *)ptr_table__DWZ)[ 0]=next__CWZ;
+        } else {
+          ((__POINTER *)result__EWZ)[ 0]=(void *)((unsigned long)((__POINTER *)next__CWZ)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__EWZ=next__CWZ;
+        };
+      };
+      ptr__KJ=result__EWZ;
+    } else {
+      t__PSZ=((__UINTEGER_32 )typ_id__PJ);
+      a__MSZ=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__LWZ=(__UINTEGER_32)((__UINTEGER_32)(sz__MJ + a__MSZ) & (__UINTEGER_32)(~ a__MSZ));
+      ptr_table__IWZ=((__POINTER )(&(table_type[(t__PSZ)])));
+      lab_type__KWZ=(__UINTEGER_32)(t__PSZ |  1);
+      next__HWZ=((__POINTER )(NULL));
+      result__JWZ=((__POINTER *)ptr_table__IWZ)[ 0];
+      if ((result__JWZ == (void *)NULL)) {
+        result__JWZ=new_lab__IQB(lab_type__KWZ);
+        next__HWZ=(void *)((unsigned long)result__JWZ - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__LWZ)));
+        ((__POINTER *)next__HWZ)[ 0]=NULL;
+        ((__POINTER *)ptr_table__IWZ)[ 0]=next__HWZ;
+      } else {
+        next__HWZ=((__POINTER *)result__JWZ)[ 0];
+        if ((next__HWZ == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__JWZ - (unsigned long)begin_memory__PCB)))) &  4095) + (__UINTEGER_32)(new_size__LWZ <<  1)) <=  4096)) {
+            next__HWZ=(void *)((unsigned long)result__JWZ - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__LWZ)));
+          } else {
+            next__HWZ=new_lab__IQB(lab_type__KWZ);
+          };
+          ((__POINTER *)next__HWZ)[ 0]=NULL;
+          ((__POINTER *)ptr_table__IWZ)[ 0]=next__HWZ;
+        } else {
+          ((__POINTER *)result__JWZ)[ 0]=(void *)((unsigned long)((__POINTER *)next__HWZ)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__JWZ=next__HWZ;
+        };
+      };
+      ptr__KJ=result__JWZ;
+    };
+    result__JJ=((__FAST_ARRAYoExpanded_INTEGERo *)ptr__KJ);
+    *(result__JJ) = *(FAST_ARRAYoExpanded_INTEGERo__);
+  };
+  Self__WDC=((__FAST_ARRAYoExpanded_INTEGERo *)result__JJ);
+  if (( 503 > Self__WDC->parent_arrayed_collection__4.capacity__AEC)) {
+    sz__YMZ=((__UINTEGER_32 )(__INTEGER)( 503 * sizeof(__INTEGER)));
+    result__XMZ=((__POINTER )(NULL));
+    a__3MZ=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+    new_size__ZMZ=(__UINTEGER_32)((__UINTEGER_32)(sz__YMZ + a__3MZ) & (__UINTEGER_32)(~ a__3MZ));
+    new_size2__0MZ=(__UINTEGER_32)(new_size__ZMZ + ((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))));
+    if ((new_size2__0MZ <= ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+      a__TSZ=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__USZ=(__UINTEGER_32)((__UINTEGER_32)(new_size2__0MZ + a__TSZ) & (__UINTEGER_32)(~ a__TSZ));
+      ptr_table__NWZ=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__USZ / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+      next__MWZ=((__POINTER )(NULL));
+      result__OWZ=((__POINTER *)ptr_table__NWZ)[ 0];
+      if ((result__OWZ == (void *)NULL)) {
+        result__OWZ=new_lab__IQB(new_size__USZ);
+        next__MWZ=(void *)((unsigned long)result__OWZ - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__USZ)));
+        ((__POINTER *)next__MWZ)[ 0]=NULL;
+        ((__POINTER *)ptr_table__NWZ)[ 0]=next__MWZ;
+      } else {
+        next__MWZ=((__POINTER *)result__OWZ)[ 0];
+        if ((next__MWZ == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__OWZ - (unsigned long)begin_memory__PCB)))) &  4095) + (__UINTEGER_32)(new_size__USZ <<  1)) <=  4096)) {
+            next__MWZ=(void *)((unsigned long)result__OWZ - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__USZ)));
+          } else {
+            next__MWZ=new_lab__IQB(new_size__USZ);
+          };
+          ((__POINTER *)next__MWZ)[ 0]=NULL;
+          ((__POINTER *)ptr_table__NWZ)[ 0]=next__MWZ;
+        } else {
+          ((__POINTER *)result__OWZ)[ 0]=(void *)((unsigned long)((__POINTER *)next__MWZ)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__OWZ=next__MWZ;
+        };
+      };
+      ((__POINTER *)result__OWZ)[ 0]=((__POINTER ) 3);
+      result__XMZ=(void *)((unsigned long)result__OWZ - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+    } else {
+      result__XMZ=(void *)((unsigned long)((__POINTER )((__MEMORY *)search__3JG(new_size__ZMZ))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+    };
+    Result__IFE=((__INTEGER *)result__XMZ);
+    Self__XPI= 502;
+    while ((Self__XPI >=  0)) {
+      Result__IFE[Self__XPI]= 0;
+      Self__XPI=(__INTEGER)(Self__XPI -  1);
+    };
+    Self__WDC->parent_arrayed_collection__4.storage__QBC=Result__IFE;
+    Self__WDC->parent_arrayed_collection__4.capacity__AEC= 503;
+    __tmp__KEC=TRUE__;
+  } else {
+    __tmp__KEC=FALSE__;
+  };
+  if ((! __tmp__KEC)) {
+    if (((Self__WDC->parent_arrayed_collection__4.capacity__AEC >  0) && (Self__WDC->parent_arrayed_collection__4.upper__WEC >=  0))) {
+      __tmp__CFC=Self__WDC->parent_arrayed_collection__4.storage__QBC;
+      __tmp__DFC=Self__WDC->parent_arrayed_collection__4.upper__WEC;
+      Self__GRK=((__INTEGER *)__tmp__CFC);
+      Self__CML= 0;
+      while ((Self__CML <= __tmp__DFC)) {
+        Self__GRK[Self__CML]= 0;
+        Self__CML=(__INTEGER)(Self__CML +  1);
+      };
+    };
+  };
+  Self__WDC->parent_arrayed_collection__4.upper__WEC= 502;
+  data__5=result__JJ;
+  ARRAYED_COLLECTIONoSTRINGo__->storage__KDC=NULL;
+  ARRAYED_COLLECTIONoSTRINGo__->capacity__HJC= 0;
+  ARRAYED_COLLECTIONoSTRINGo__->upper__TJC= 0;
+  FAST_ARRAYoSTRINGo__->parent_arrayed_collection__0D=(*ARRAYED_COLLECTIONoSTRINGo__);
+  STRING__->capacity__2XH= 0;
+  STRING__->storage__FYH=NULL;
+  STRING__->count__EVH= 0;
+  arg__1G=NULL;
+  new_count__3K=((__INTEGER )(arg_count));
+  result__1P=NULL;
+  ptr__2P=((__POINTER )(NULL));
+  typ_id__BQ= 0;
+  sz__4P=((__UINTEGER_32 )sizeof(__FAST_ARRAYoSTRINGo));
+  if ((sz__4P ==  0)) {
+    result__1P=FAST_ARRAYoSTRINGo__;
+  } else {
+    typ_id__BQ=__FAST_ARRAYoSTRINGo__;
+    clone_allocation_size__3J=(__UINTEGER_32)(clone_allocation_size__3J + sz__4P);
+    if ((typ_id__BQ == (__INTEGER)(-  1))) {
+      a__ATZ=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__BTZ=(__UINTEGER_32)((__UINTEGER_32)(sz__4P + a__ATZ) & (__UINTEGER_32)(~ a__ATZ));
+      ptr_table__SWZ=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__BTZ / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+      next__RWZ=((__POINTER )(NULL));
+      result__TWZ=((__POINTER *)ptr_table__SWZ)[ 0];
+      if ((result__TWZ == (void *)NULL)) {
+        result__TWZ=new_lab__IQB(new_size__BTZ);
+        next__RWZ=(void *)((unsigned long)result__TWZ - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__BTZ)));
+        ((__POINTER *)next__RWZ)[ 0]=NULL;
+        ((__POINTER *)ptr_table__SWZ)[ 0]=next__RWZ;
+      } else {
+        next__RWZ=((__POINTER *)result__TWZ)[ 0];
+        if ((next__RWZ == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__TWZ - (unsigned long)begin_memory__PCB)))) &  4095) + (__UINTEGER_32)(new_size__BTZ <<  1)) <=  4096)) {
+            next__RWZ=(void *)((unsigned long)result__TWZ - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__BTZ)));
+          } else {
+            next__RWZ=new_lab__IQB(new_size__BTZ);
+          };
+          ((__POINTER *)next__RWZ)[ 0]=NULL;
+          ((__POINTER *)ptr_table__SWZ)[ 0]=next__RWZ;
+        } else {
+          ((__POINTER *)result__TWZ)[ 0]=(void *)((unsigned long)((__POINTER *)next__RWZ)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__TWZ=next__RWZ;
+        };
+      };
+      ptr__2P=result__TWZ;
+    } else {
+      t__KTZ=((__UINTEGER_32 )typ_id__BQ);
+      a__HTZ=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__0WZ=(__UINTEGER_32)((__UINTEGER_32)(sz__4P + a__HTZ) & (__UINTEGER_32)(~ a__HTZ));
+      ptr_table__XWZ=((__POINTER )(&(table_type[(t__KTZ)])));
+      lab_type__ZWZ=(__UINTEGER_32)(t__KTZ |  1);
+      next__WWZ=((__POINTER )(NULL));
+      result__YWZ=((__POINTER *)ptr_table__XWZ)[ 0];
+      if ((result__YWZ == (void *)NULL)) {
+        result__YWZ=new_lab__IQB(lab_type__ZWZ);
+        next__WWZ=(void *)((unsigned long)result__YWZ - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__0WZ)));
+        ((__POINTER *)next__WWZ)[ 0]=NULL;
+        ((__POINTER *)ptr_table__XWZ)[ 0]=next__WWZ;
+      } else {
+        next__WWZ=((__POINTER *)result__YWZ)[ 0];
+        if ((next__WWZ == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__YWZ - (unsigned long)begin_memory__PCB)))) &  4095) + (__UINTEGER_32)(new_size__0WZ <<  1)) <=  4096)) {
+            next__WWZ=(void *)((unsigned long)result__YWZ - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__0WZ)));
+          } else {
+            next__WWZ=new_lab__IQB(lab_type__ZWZ);
+          };
+          ((__POINTER *)next__WWZ)[ 0]=NULL;
+          ((__POINTER *)ptr_table__XWZ)[ 0]=next__WWZ;
+        } else {
+          ((__POINTER *)result__YWZ)[ 0]=(void *)((unsigned long)((__POINTER *)next__WWZ)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__YWZ=next__WWZ;
+        };
+      };
+      ptr__2P=result__YWZ;
+    };
+    result__1P=((__FAST_ARRAYoSTRINGo *)ptr__2P);
+    *(result__1P) = *(FAST_ARRAYoSTRINGo__);
+  };
+  Self__4IC=((__FAST_ARRAYoSTRINGo *)result__1P);
+  if ((Self__4IC->parent_arrayed_collection__0D.capacity__HJC < new_count__3K)) {
+    Self__4IC->parent_arrayed_collection__0D.storage__KDC=create__4QG(new_count__3K);
+    Self__4IC->parent_arrayed_collection__0D.capacity__HJC=new_count__3K;
+  };
+  Self__4IC->parent_arrayed_collection__0D.upper__TJC=(__INTEGER)(-  1);
+  result__0G=result__1P;
+  Self__EL= 0;
+  limit_up__FL=(__INTEGER)(((__INTEGER )(arg_count)) -  1);
+  while ((Self__EL <= limit_up__FL)) {
+    arg__1G=((__CHARACTER *)(arg_vector[(Self__EL)]));
+    Self__QXD=((__CHARACTER *)arg__1G);
+    idx__2XD= 0;
+    while ((! ((idx__2XD >  1024) || ('\0' == Self__QXD[idx__2XD])))) {
+      idx__2XD=(__INTEGER)(idx__2XD +  1);
+    };
+    result__CME=NULL;
+    ptr__DME=((__POINTER )(NULL));
+    typ_id__IME= 0;
+    sz__FME=((__UINTEGER_32 )sizeof(__STRING));
+    if ((sz__FME ==  0)) {
+      result__CME=STRING__;
+    } else {
+      typ_id__IME=__STRING__;
+      clone_allocation_size__3J=(__UINTEGER_32)(clone_allocation_size__3J + sz__FME);
+      if ((typ_id__IME == (__INTEGER)(-  1))) {
+        a__OTZ=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+        new_size__PTZ=(__UINTEGER_32)((__UINTEGER_32)(sz__FME + a__OTZ) & (__UINTEGER_32)(~ a__OTZ));
+        ptr_table__2WZ=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__PTZ / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+        next__1WZ=((__POINTER )(NULL));
+        result__3WZ=((__POINTER *)ptr_table__2WZ)[ 0];
+        if ((result__3WZ == (void *)NULL)) {
+          result__3WZ=new_lab__IQB(new_size__PTZ);
+          next__1WZ=(void *)((unsigned long)result__3WZ - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__PTZ)));
+          ((__POINTER *)next__1WZ)[ 0]=NULL;
+          ((__POINTER *)ptr_table__2WZ)[ 0]=next__1WZ;
+        } else {
+          next__1WZ=((__POINTER *)result__3WZ)[ 0];
+          if ((next__1WZ == (void *)NULL)) {
+            if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__3WZ - (unsigned long)begin_memory__PCB)))) &  4095) + (__UINTEGER_32)(new_size__PTZ <<  1)) <=  4096)) {
+              next__1WZ=(void *)((unsigned long)result__3WZ - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__PTZ)));
+            } else {
+              next__1WZ=new_lab__IQB(new_size__PTZ);
+            };
+            ((__POINTER *)next__1WZ)[ 0]=NULL;
+            ((__POINTER *)ptr_table__2WZ)[ 0]=next__1WZ;
+          } else {
+            ((__POINTER *)result__3WZ)[ 0]=(void *)((unsigned long)((__POINTER *)next__1WZ)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+            result__3WZ=next__1WZ;
+          };
+        };
+        ptr__DME=result__3WZ;
+      } else {
+        t__YTZ=((__UINTEGER_32 )typ_id__IME);
+        a__VTZ=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+        new_size__EXZ=(__UINTEGER_32)((__UINTEGER_32)(sz__FME + a__VTZ) & (__UINTEGER_32)(~ a__VTZ));
+        ptr_table__BXZ=((__POINTER )(&(table_type[(t__YTZ)])));
+        lab_type__DXZ=(__UINTEGER_32)(t__YTZ |  1);
+        next__AXZ=((__POINTER )(NULL));
+        result__CXZ=((__POINTER *)ptr_table__BXZ)[ 0];
+        if ((result__CXZ == (void *)NULL)) {
+          result__CXZ=new_lab__IQB(lab_type__DXZ);
+          next__AXZ=(void *)((unsigned long)result__CXZ - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__EXZ)));
+          ((__POINTER *)next__AXZ)[ 0]=NULL;
+          ((__POINTER *)ptr_table__BXZ)[ 0]=next__AXZ;
+        } else {
+          next__AXZ=((__POINTER *)result__CXZ)[ 0];
+          if ((next__AXZ == (void *)NULL)) {
+            if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__CXZ - (unsigned long)begin_memory__PCB)))) &  4095) + (__UINTEGER_32)(new_size__EXZ <<  1)) <=  4096)) {
+              next__AXZ=(void *)((unsigned long)result__CXZ - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__EXZ)));
+            } else {
+              next__AXZ=new_lab__IQB(lab_type__DXZ);
+            };
+            ((__POINTER *)next__AXZ)[ 0]=NULL;
+            ((__POINTER *)ptr_table__BXZ)[ 0]=next__AXZ;
+          } else {
+            ((__POINTER *)result__CXZ)[ 0]=(void *)((unsigned long)((__POINTER *)next__AXZ)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+            result__CXZ=next__AXZ;
+          };
+        };
+        ptr__DME=result__CXZ;
+      };
+      result__CME=((__STRING *)ptr__DME);
+      *(result__CME) = *(STRING__);
+    };
+    Self__NXH=((__STRING *)result__CME);
+    if ((idx__2XD >  0)) {
+      if ((Self__NXH->capacity__2XH < idx__2XD)) {
+        Self__NXH->storage__FYH=create__MKM(idx__2XD);
+        Self__NXH->capacity__2XH=idx__2XD;
+      };
+    };
+    Self__NXH->count__EVH= 0;
+    Self__0UH=((__STRING *)result__CME);
+    p__1UH=arg__1G;
+    i__2UH= 0;
+    Self__0UH->count__EVH= 0;
+    while ((((__CHARACTER *)p__1UH)[i__2UH] != '\0')) {
+      __tmp__RVH=((__CHARACTER *)p__1UH)[i__2UH];
+      new_capacity__SIM= 0;
+      if ((Self__0UH->capacity__2XH <= Self__0UH->count__EVH)) {
+        if ((Self__0UH->capacity__2XH ==  0)) {
+          Self__0UH->capacity__2XH= 32;
+          Self__0UH->storage__FYH=create__MKM( 32);
+        } else {
+          new_capacity__SIM=(__INTEGER)(Self__0UH->capacity__2XH <<  1);
+          __tmp__KJM=Self__0UH->storage__FYH;
+          __tmp__LJM=Self__0UH->capacity__2XH;
+          new__MFP=((__CHARACTER *)realloc_dynamic__old_size__new_size__Y4I(((__POINTER )((__CHARACTER *)__tmp__KJM)),((__UINTEGER_32 )__tmp__LJM),((__UINTEGER_32 )new_capacity__SIM)));
+          __tmp__5FP=(__INTEGER)(new_capacity__SIM -  1);
+          Self__0FT=__tmp__LJM;
+          while ((Self__0FT <= __tmp__5FP)) {
+            new__MFP[Self__0FT]='\0';
+            Self__0FT=(__INTEGER)(Self__0FT +  1);
+          };
+          Self__0UH->storage__FYH=new__MFP;
+          Self__0UH->capacity__2XH=new_capacity__SIM;
+        };
+      };
+      ((__CHARACTER *)Self__0UH->storage__FYH)[Self__0UH->count__EVH]=__tmp__RVH;
+      Self__0UH->count__EVH=(__INTEGER)(Self__0UH->count__EVH +  1);
+      i__2UH=(__INTEGER)(i__2UH +  1);
+    };
+    Self__TZD=((__FAST_ARRAYoSTRINGo *)result__0G);
+    new_capacity__VZD= 0;
+    if (((__INTEGER)(Self__TZD->parent_arrayed_collection__0D.upper__TJC +  1) <= (__INTEGER)(Self__TZD->parent_arrayed_collection__0D.capacity__HJC -  1))) {
+      Self__TZD->parent_arrayed_collection__0D.upper__TJC=(__INTEGER)(Self__TZD->parent_arrayed_collection__0D.upper__TJC +  1);
+      __tmp__D0D=TRUE__;
+    } else {
+      __tmp__D0D=FALSE__;
+    };
+    if ((! __tmp__D0D)) {
+      if ((Self__TZD->parent_arrayed_collection__0D.capacity__HJC ==  0)) {
+        Self__TZD->parent_arrayed_collection__0D.storage__KDC=create__4QG( 2);
+        Self__TZD->parent_arrayed_collection__0D.capacity__HJC= 2;
+        Self__TZD->parent_arrayed_collection__0D.upper__TJC= 0;
+      } else {
+        new_capacity__VZD=(__INTEGER)(Self__TZD->parent_arrayed_collection__0D.capacity__HJC <<  1);
+        __tmp__Y0D=Self__TZD->parent_arrayed_collection__0D.storage__KDC;
+        __tmp__Z0D=Self__TZD->parent_arrayed_collection__0D.capacity__HJC;
+        new__RBI=((void **)realloc_dynamic__old_size__new_size__Y4I(((__POINTER )((void **)__tmp__Y0D)),((__UINTEGER_32 )(__INTEGER)(__tmp__Z0D * ((__INTEGER )(sizeof(void *))))),((__UINTEGER_32 )(__INTEGER)(new_capacity__VZD * ((__INTEGER )(sizeof(void *)))))));
+        __tmp__ECI=(__INTEGER)(new_capacity__VZD -  1);
+        Self__OMP=__tmp__Z0D;
+        while ((Self__OMP <= __tmp__ECI)) {
+          new__RBI[Self__OMP]=NULL;
+          Self__OMP=(__INTEGER)(Self__OMP +  1);
+        };
+        Self__TZD->parent_arrayed_collection__0D.storage__KDC=new__RBI;
+        Self__TZD->parent_arrayed_collection__0D.capacity__HJC=new_capacity__VZD;
+        Self__TZD->parent_arrayed_collection__0D.upper__TJC=(__INTEGER)(Self__TZD->parent_arrayed_collection__0D.upper__TJC +  1);
+      };
+    };
+    ((void **)Self__TZD->parent_arrayed_collection__0D.storage__KDC)[Self__TZD->parent_arrayed_collection__0D.upper__TJC]=result__CME;
+    Self__EL=(__INTEGER)(Self__EL +  1);
+  };
+  ARRAYED_COLLECTIONoExpanded_MUTEXo__->storage__RCC=NULL;
+  ARRAYED_COLLECTIONoExpanded_MUTEXo__->capacity__UGC= 0;
+  ARRAYED_COLLECTIONoExpanded_MUTEXo__->upper__KHC= 0;
+  FAST_ARRAYoExpanded_MUTEXo__->parent_arrayed_collection__VB=(*ARRAYED_COLLECTIONoExpanded_MUTEXo__);
+  result__EM=NULL;
+  ptr__FM=((__POINTER )(NULL));
+  typ_id__KM= 0;
+  sz__HM=((__UINTEGER_32 )sizeof(__FAST_ARRAYoExpanded_MUTEXo));
+  if ((sz__HM ==  0)) {
+    result__EM=FAST_ARRAYoExpanded_MUTEXo__;
+  } else {
+    typ_id__KM=__FAST_ARRAYoExpanded_MUTEXo__;
+    clone_allocation_size__3J=(__UINTEGER_32)(clone_allocation_size__3J + sz__HM);
+    if ((typ_id__KM == (__INTEGER)(-  1))) {
+      a__IUZ=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__JUZ=(__UINTEGER_32)((__UINTEGER_32)(sz__HM + a__IUZ) & (__UINTEGER_32)(~ a__IUZ));
+      ptr_table__GXZ=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__JUZ / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+      next__FXZ=((__POINTER )(NULL));
+      result__HXZ=((__POINTER *)ptr_table__GXZ)[ 0];
+      if ((result__HXZ == (void *)NULL)) {
+        result__HXZ=new_lab__IQB(new_size__JUZ);
+        next__FXZ=(void *)((unsigned long)result__HXZ - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__JUZ)));
+        ((__POINTER *)next__FXZ)[ 0]=NULL;
+        ((__POINTER *)ptr_table__GXZ)[ 0]=next__FXZ;
+      } else {
+        next__FXZ=((__POINTER *)result__HXZ)[ 0];
+        if ((next__FXZ == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__HXZ - (unsigned long)begin_memory__PCB)))) &  4095) + (__UINTEGER_32)(new_size__JUZ <<  1)) <=  4096)) {
+            next__FXZ=(void *)((unsigned long)result__HXZ - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__JUZ)));
+          } else {
+            next__FXZ=new_lab__IQB(new_size__JUZ);
+          };
+          ((__POINTER *)next__FXZ)[ 0]=NULL;
+          ((__POINTER *)ptr_table__GXZ)[ 0]=next__FXZ;
+        } else {
+          ((__POINTER *)result__HXZ)[ 0]=(void *)((unsigned long)((__POINTER *)next__FXZ)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__HXZ=next__FXZ;
+        };
+      };
+      ptr__FM=result__HXZ;
+    } else {
+      t__SUZ=((__UINTEGER_32 )typ_id__KM);
+      a__PUZ=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__OXZ=(__UINTEGER_32)((__UINTEGER_32)(sz__HM + a__PUZ) & (__UINTEGER_32)(~ a__PUZ));
+      ptr_table__LXZ=((__POINTER )(&(table_type[(t__SUZ)])));
+      lab_type__NXZ=(__UINTEGER_32)(t__SUZ |  1);
+      next__KXZ=((__POINTER )(NULL));
+      result__MXZ=((__POINTER *)ptr_table__LXZ)[ 0];
+      if ((result__MXZ == (void *)NULL)) {
+        result__MXZ=new_lab__IQB(lab_type__NXZ);
+        next__KXZ=(void *)((unsigned long)result__MXZ - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__OXZ)));
+        ((__POINTER *)next__KXZ)[ 0]=NULL;
+        ((__POINTER *)ptr_table__LXZ)[ 0]=next__KXZ;
+      } else {
+        next__KXZ=((__POINTER *)result__MXZ)[ 0];
+        if ((next__KXZ == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__MXZ - (unsigned long)begin_memory__PCB)))) &  4095) + (__UINTEGER_32)(new_size__OXZ <<  1)) <=  4096)) {
+            next__KXZ=(void *)((unsigned long)result__MXZ - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__OXZ)));
+          } else {
+            next__KXZ=new_lab__IQB(lab_type__NXZ);
+          };
+          ((__POINTER *)next__KXZ)[ 0]=NULL;
+          ((__POINTER *)ptr_table__LXZ)[ 0]=next__KXZ;
+        } else {
+          ((__POINTER *)result__MXZ)[ 0]=(void *)((unsigned long)((__POINTER *)next__KXZ)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__MXZ=next__KXZ;
+        };
+      };
+      ptr__FM=result__MXZ;
+    };
+    result__EM=((__FAST_ARRAYoExpanded_MUTEXo *)ptr__FM);
+    *(result__EM) = *(FAST_ARRAYoExpanded_MUTEXo__);
+  };
+  Self__KGC=((__FAST_ARRAYoExpanded_MUTEXo *)result__EM);
+  if (( 503 > Self__KGC->parent_arrayed_collection__VB.capacity__UGC)) {
+    sz__JNZ=((__UINTEGER_32 )(__INTEGER)( 503 * sizeof(__MUTEX)));
+    result__INZ=((__POINTER )(NULL));
+    a__ONZ=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+    new_size__KNZ=(__UINTEGER_32)((__UINTEGER_32)(sz__JNZ + a__ONZ) & (__UINTEGER_32)(~ a__ONZ));
+    new_size2__LNZ=(__UINTEGER_32)(new_size__KNZ + ((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))));
+    if ((new_size2__LNZ <= ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+      a__WUZ=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__XUZ=(__UINTEGER_32)((__UINTEGER_32)(new_size2__LNZ + a__WUZ) & (__UINTEGER_32)(~ a__WUZ));
+      ptr_table__QXZ=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__XUZ / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+      next__PXZ=((__POINTER )(NULL));
+      result__RXZ=((__POINTER *)ptr_table__QXZ)[ 0];
+      if ((result__RXZ == (void *)NULL)) {
+        result__RXZ=new_lab__IQB(new_size__XUZ);
+        next__PXZ=(void *)((unsigned long)result__RXZ - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__XUZ)));
+        ((__POINTER *)next__PXZ)[ 0]=NULL;
+        ((__POINTER *)ptr_table__QXZ)[ 0]=next__PXZ;
+      } else {
+        next__PXZ=((__POINTER *)result__RXZ)[ 0];
+        if ((next__PXZ == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__RXZ - (unsigned long)begin_memory__PCB)))) &  4095) + (__UINTEGER_32)(new_size__XUZ <<  1)) <=  4096)) {
+            next__PXZ=(void *)((unsigned long)result__RXZ - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__XUZ)));
+          } else {
+            next__PXZ=new_lab__IQB(new_size__XUZ);
+          };
+          ((__POINTER *)next__PXZ)[ 0]=NULL;
+          ((__POINTER *)ptr_table__QXZ)[ 0]=next__PXZ;
+        } else {
+          ((__POINTER *)result__RXZ)[ 0]=(void *)((unsigned long)((__POINTER *)next__PXZ)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__RXZ=next__PXZ;
+        };
+      };
+      ((__POINTER *)result__RXZ)[ 0]=((__POINTER ) 3);
+      result__INZ=(void *)((unsigned long)result__RXZ - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+    } else {
+      result__INZ=(void *)((unsigned long)((__POINTER )((__MEMORY *)search__3JG(new_size__KNZ))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+    };
+    Result__UHE=((__MUTEX *)result__INZ);
+    v__EXH=((__MUTEX )(MUTEX__));
+    Self__4QI= 502;
+    while ((Self__4QI >=  0)) {
+      Result__UHE[Self__4QI]=v__EXH;
+      Self__4QI=(__INTEGER)(Self__4QI -  1);
+    };
+    Self__KGC->parent_arrayed_collection__VB.storage__RCC=Result__UHE;
+    Self__KGC->parent_arrayed_collection__VB.capacity__UGC= 503;
+    __tmp__4GC=TRUE__;
+  } else {
+    __tmp__4GC=FALSE__;
+  };
+  if ((! __tmp__4GC)) {
+    if (((Self__KGC->parent_arrayed_collection__VB.capacity__UGC >  0) && (Self__KGC->parent_arrayed_collection__VB.upper__KHC >=  0))) {
+      __tmp__WHC=Self__KGC->parent_arrayed_collection__VB.storage__RCC;
+      __tmp__XHC=Self__KGC->parent_arrayed_collection__VB.upper__KHC;
+      Self__TSK=((__MUTEX *)__tmp__WHC);
+      v__ETK=((__MUTEX )(MUTEX__));
+      Self__KOL= 0;
+      while ((Self__KOL <= __tmp__XHC)) {
+        Self__TSK[Self__KOL]=v__ETK;
+        Self__KOL=(__INTEGER)(Self__KOL +  1);
+      };
+    };
+  };
+  Self__KGC->parent_arrayed_collection__VB.upper__KHC= 502;
+  mutex__WB=result__EM;
+  ARRAYED_COLLECTIONoExpanded_STACKo__->storage__WUH=NULL;
+  ARRAYED_COLLECTIONoExpanded_STACKo__->capacity__HZH= 0;
+  ARRAYED_COLLECTIONoExpanded_STACKo__->upper__3ZH= 0;
+  FAST_ARRAYoExpanded_STACKo__->parent_arrayed_collection__AC=(*ARRAYED_COLLECTIONoExpanded_STACKo__);
+  result__YXE=NULL;
+  ptr__ZXE=((__POINTER )(NULL));
+  typ_id__4XE= 0;
+  sz__1XE=((__UINTEGER_32 )sizeof(__FAST_ARRAYoExpanded_STACKo));
+  if ((sz__1XE ==  0)) {
+    result__YXE=FAST_ARRAYoExpanded_STACKo__;
+  } else {
+    typ_id__4XE=__FAST_ARRAYoExpanded_STACKo__;
+    clone_allocation_size__3J=(__UINTEGER_32)(clone_allocation_size__3J + sz__1XE);
+    if ((typ_id__4XE == (__INTEGER)(-  1))) {
+      a__DVZ=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__EVZ=(__UINTEGER_32)((__UINTEGER_32)(sz__1XE + a__DVZ) & (__UINTEGER_32)(~ a__DVZ));
+      ptr_table__VXZ=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__EVZ / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+      next__UXZ=((__POINTER )(NULL));
+      result__WXZ=((__POINTER *)ptr_table__VXZ)[ 0];
+      if ((result__WXZ == (void *)NULL)) {
+        result__WXZ=new_lab__IQB(new_size__EVZ);
+        next__UXZ=(void *)((unsigned long)result__WXZ - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__EVZ)));
+        ((__POINTER *)next__UXZ)[ 0]=NULL;
+        ((__POINTER *)ptr_table__VXZ)[ 0]=next__UXZ;
+      } else {
+        next__UXZ=((__POINTER *)result__WXZ)[ 0];
+        if ((next__UXZ == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__WXZ - (unsigned long)begin_memory__PCB)))) &  4095) + (__UINTEGER_32)(new_size__EVZ <<  1)) <=  4096)) {
+            next__UXZ=(void *)((unsigned long)result__WXZ - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__EVZ)));
+          } else {
+            next__UXZ=new_lab__IQB(new_size__EVZ);
+          };
+          ((__POINTER *)next__UXZ)[ 0]=NULL;
+          ((__POINTER *)ptr_table__VXZ)[ 0]=next__UXZ;
+        } else {
+          ((__POINTER *)result__WXZ)[ 0]=(void *)((unsigned long)((__POINTER *)next__UXZ)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__WXZ=next__UXZ;
+        };
+      };
+      ptr__ZXE=result__WXZ;
+    } else {
+      t__R0=((__UINTEGER_32 )typ_id__4XE);
+      a__OOZ=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__3XZ=(__UINTEGER_32)((__UINTEGER_32)(sz__1XE + a__OOZ) & (__UINTEGER_32)(~ a__OOZ));
+      ptr_table__0XZ=((__POINTER )(&(table_type[(t__R0)])));
+      lab_type__2XZ=(__UINTEGER_32)(t__R0 |  1);
+      next__ZXZ=((__POINTER )(NULL));
+      result__1XZ=((__POINTER *)ptr_table__0XZ)[ 0];
+      if ((result__1XZ == (void *)NULL)) {
+        result__1XZ=new_lab__IQB(lab_type__2XZ);
+        next__ZXZ=(void *)((unsigned long)result__1XZ - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__3XZ)));
+        ((__POINTER *)next__ZXZ)[ 0]=NULL;
+        ((__POINTER *)ptr_table__0XZ)[ 0]=next__ZXZ;
+      } else {
+        next__ZXZ=((__POINTER *)result__1XZ)[ 0];
+        if ((next__ZXZ == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__1XZ - (unsigned long)begin_memory__PCB)))) &  4095) + (__UINTEGER_32)(new_size__3XZ <<  1)) <=  4096)) {
+            next__ZXZ=(void *)((unsigned long)result__1XZ - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__3XZ)));
+          } else {
+            next__ZXZ=new_lab__IQB(lab_type__2XZ);
+          };
+          ((__POINTER *)next__ZXZ)[ 0]=NULL;
+          ((__POINTER *)ptr_table__0XZ)[ 0]=next__ZXZ;
+        } else {
+          ((__POINTER *)result__1XZ)[ 0]=(void *)((unsigned long)((__POINTER *)next__ZXZ)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__1XZ=next__ZXZ;
+        };
+      };
+      ptr__ZXE=result__1XZ;
+    };
+    result__YXE=((__FAST_ARRAYoExpanded_STACKo *)ptr__ZXE);
+    *(result__YXE) = *(FAST_ARRAYoExpanded_STACKo__);
+  };
+  Self__3YH=((__FAST_ARRAYoExpanded_STACKo *)result__YXE);
+  if (( 503 > Self__3YH->parent_arrayed_collection__AC.capacity__HZH)) {
+    sz__G1E=((__UINTEGER_32 )(__INTEGER)( 503 * sizeof(__STACK)));
+    result__O1E=((__POINTER )(NULL));
+    a__SNZ=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+    new_size__I1E=(__UINTEGER_32)((__UINTEGER_32)(sz__G1E + a__SNZ) & (__UINTEGER_32)(~ a__SNZ));
+    new_size2__L1E=(__UINTEGER_32)(new_size__I1E + ((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))));
+    if ((new_size2__L1E <= ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+      a__IOZ=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__IZ=(__UINTEGER_32)((__UINTEGER_32)(new_size2__L1E + a__IOZ) & (__UINTEGER_32)(~ a__IOZ));
+      ptr_table__VAB=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__IZ / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+      next__0AB=((__POINTER )(NULL));
+      result__YAB=((__POINTER *)ptr_table__VAB)[ 0];
+      if ((result__YAB == (void *)NULL)) {
+        result__YAB=new_lab__IQB(new_size__IZ);
+        next__0AB=(void *)((unsigned long)result__YAB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__IZ)));
+        ((__POINTER *)next__0AB)[ 0]=NULL;
+        ((__POINTER *)ptr_table__VAB)[ 0]=next__0AB;
+      } else {
+        next__0AB=((__POINTER *)result__YAB)[ 0];
+        if ((next__0AB == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__YAB - (unsigned long)begin_memory__PCB)))) &  4095) + (__UINTEGER_32)(new_size__IZ <<  1)) <=  4096)) {
+            next__0AB=(void *)((unsigned long)result__YAB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__IZ)));
+          } else {
+            next__0AB=new_lab__IQB(new_size__IZ);
+          };
+          ((__POINTER *)next__0AB)[ 0]=NULL;
+          ((__POINTER *)ptr_table__VAB)[ 0]=next__0AB;
+        } else {
+          ((__POINTER *)result__YAB)[ 0]=(void *)((unsigned long)((__POINTER *)next__0AB)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__YAB=next__0AB;
+        };
+      };
+      ((__POINTER *)result__YAB)[ 0]=((__POINTER ) 3);
+      result__O1E=(void *)((unsigned long)result__YAB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+    } else {
+      result__O1E=(void *)((unsigned long)((__POINTER )((__MEMORY *)search__3JG(new_size__I1E))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+    };
+    Result__RQL=((__STACK *)result__O1E);
+    v__GAP=((__STACK )(STACK__));
+    Self__VNP= 502;
+    while ((Self__VNP >=  0)) {
+      Result__RQL[Self__VNP]=v__GAP;
+      Self__VNP=(__INTEGER)(Self__VNP -  1);
+    };
+    Self__3YH->parent_arrayed_collection__AC.storage__WUH=Result__RQL;
+    Self__3YH->parent_arrayed_collection__AC.capacity__HZH= 503;
+    __tmp__RZH=TRUE__;
+  } else {
+    __tmp__RZH=FALSE__;
+  };
+  if ((! __tmp__RZH)) {
+    if (((Self__3YH->parent_arrayed_collection__AC.capacity__HZH >  0) && (Self__3YH->parent_arrayed_collection__AC.upper__3ZH >=  0))) {
+      __tmp__J0H=Self__3YH->parent_arrayed_collection__AC.storage__WUH;
+      __tmp__K0H=Self__3YH->parent_arrayed_collection__AC.upper__3ZH;
+      Self__SJR=((__STACK *)__tmp__J0H);
+      v__DKR=((__STACK )(STACK__));
+      Self__OES= 0;
+      while ((Self__OES <= __tmp__K0H)) {
+        Self__SJR[Self__OES]=v__DKR;
+        Self__OES=(__INTEGER)(Self__OES +  1);
+      };
+    };
+  };
+  Self__3YH->parent_arrayed_collection__AC.upper__3ZH= 502;
+  Self__0TO=((__STRING *)((void **)((__FAST_ARRAYoSTRINGo *)result__1P)->parent_arrayed_collection__0D.storage__KDC)[ 1]);
+  state__3TO= 0;
+  cc__4TO='\0';
+  negative__5TO=FALSE__;
+  result__AUO= 0;
+  i__2TO= 1;
+  __tmp__NVZ=Self__0TO->count__EVH;
+  __tmp__OVZ=Self__0TO->storage__FYH;
+  __tmp__PVZ=Self__0TO->count__EVH;
+  while ((i__2TO <= __tmp__NVZ)) {
+    cc__4TO=((__CHARACTER *)__tmp__OVZ)[(__INTEGER)(i__2TO -  1)];
+    if ((state__3TO ==  0)) {
+      if ((((((((cc__4TO == ' ') || (cc__4TO == '\t')) || (cc__4TO == '\n')) || (cc__4TO == '\r')) || (cc__4TO == '\0')) || (cc__4TO == '\f')) || (cc__4TO == '\v'))) {
+        __tmp__MVO=TRUE__;
+      } else {
+        result__AIW=(cc__4TO == '+');
+        if (result__AIW) {
+          state__3TO= 1;
+        };
+        __tmp__MVO=result__AIW;
+      };
+      if ((! __tmp__MVO)) {
+        if ((cc__4TO == '-')) {
+          negative__5TO=TRUE__;
+          state__3TO= 1;
+        } else {
+          result__AUO=(__INTEGER)(((__INTEGER )((__INTEGER_8 )cc__4TO)) -  48);
+          state__3TO= 2;
+        };
+      };
+      __tmp__5VO=TRUE__;
+    } else {
+      __tmp__5VO=FALSE__;
+    };
+    if (__tmp__5VO) {
+      __tmp__UWO=TRUE__;
+    } else {
+      result__UOU=(state__3TO ==  1);
+      if (result__UOU) {
+        result__AUO=(__INTEGER)(((__INTEGER )((__INTEGER_8 )cc__4TO)) -  48);
+        if (negative__5TO) {
+          result__AUO=(__INTEGER)(- result__AUO);
+        };
+        state__3TO= 2;
+      };
+      __tmp__UWO=result__UOU;
+    };
+    if (__tmp__UWO) {
+      __tmp__1XO=TRUE__;
+    } else {
+      result__GPU=(state__3TO ==  2);
+      if (result__GPU) {
+        result__YOO=FALSE__;
+        if ((((__INTEGER_8 )cc__4TO) >= ((__INTEGER_8 )'0'))) {
+          result__YOO=(((__INTEGER_8 )cc__4TO) <= ((__INTEGER_8 )'9'));
+        };
+        if (result__YOO) {
+          if (negative__5TO) {
+            result__AUO=(__INTEGER)((__INTEGER)( 10 * result__AUO) - (__INTEGER)(((__INTEGER )((__INTEGER_8 )cc__4TO)) -  48));
+          } else {
+            result__AUO=(__INTEGER)((__INTEGER)( 10 * result__AUO) + (__INTEGER)(((__INTEGER )((__INTEGER_8 )cc__4TO)) -  48));
+          };
+        } else {
+          state__3TO= 3;
+        };
+      };
+      __tmp__1XO=result__GPU;
+    };
+    if ((! __tmp__1XO)) {
+      if ((state__3TO ==  3)) {
+        i__2TO=__tmp__PVZ;
+      };
+    };
+    i__2TO=(__INTEGER)(i__2TO +  1);
+  };
+  ((__INTEGER *)((__FAST_ARRAYoExpanded_INTEGERo *)result__JJ)->parent_arrayed_collection__4.storage__QBC)[ 0]=result__AUO;
+  pthread_attr_init(&stack_attr);
+  Self__JE= 0;
+  __tmp__QVZ=((__FAST_ARRAYoExpanded_MUTEXo *)result__EM)->parent_arrayed_collection__VB.storage__RCC;
+  __tmp__RVZ=((__FAST_ARRAYoExpanded_MUTEXo *)result__EM)->parent_arrayed_collection__VB.storage__RCC;
+  __tmp__SVZ=((__FAST_ARRAYoExpanded_STACKo *)result__YXE)->parent_arrayed_collection__AC.storage__WUH;
+  while ((Self__JE <=  502)) {
+    pthread_mutex_init(&(((__MUTEX *)__tmp__QVZ)[Self__JE]), NULL);
+    pthread_mutex_lock(&(((__MUTEX *)__tmp__RVZ)[Self__JE]));
+    pthread_attr_setstack(&stack_attr, &(((__STACK *)__tmp__SVZ)[Self__JE]), sizeof(struct stack));
+    pthread_create(&(THREAD__), &stack_attr, thread, (void*)(Self__JE));
+    Self__JE=(__INTEGER)(Self__JE +  1);
+  };
+  pthread_mutex_unlock(&(((__MUTEX *)((__FAST_ARRAYoExpanded_MUTEXo *)result__EM)->parent_arrayed_collection__VB.storage__RCC)[ 0]));
+  pthread_join((THREAD__), NULL);
+  exit(( 0));
+  thread(((__POINTER ) 0));
+  thread(((__POINTER ) 1));
+  return( 0);
+}
+
+static __POINTER new_lab__IQB(__UINTEGER_32 t__KQB)
+// ({UINTEGER_32}) With resultNo recursive, No inlinable.
+{
+  __UINTEGER_32 idx__MQB,pv__TQB;
+  __MEMORY *blc__PQB,*prev__QQB,*Self__EZY,*Self__OMZ,*prev__PMZ;
+  __MEMORY *next__QMZ;
+  __POINTER result__RQB;
+  __BOOLEAN __tmp__TRB;
+  idx__MQB= 0;
+  blc__PQB=NULL;
+  prev__QQB=NULL;
+  pv__TQB= 0;
+  while_do__MVB:
+  {
+    if ((idx__MQB < nb_page__0QB)) {
+      blc__PQB=((__MEMORY *)(last_block[(idx__MQB)]));
+      __tmp__TRB=(((__UINTEGER_32)(((__MEMORY *)blc__PQB)->size_and_id__IK &  4294967292LU) <  4096) || ((__UINTEGER_32)(((__MEMORY *)blc__PQB)->size_and_id__IK &  1) ==  1));
+    } else {
+      __tmp__TRB=FALSE__;
+    };
+    if (__tmp__TRB) {
+      idx__MQB=(__UINTEGER_32)(idx__MQB +  1);
+      goto while_do__MVB;
+    };
+  };
+  if ((idx__MQB >= nb_page__0QB)) {
+    blc__PQB=new_page__PQD();
+  };
+  ((__MEMORY *)blc__PQB)->size_and_id__IK=(__UINTEGER_32)(blc__PQB->size_and_id__IK -  4096);
+  Self__EZY=((__MEMORY *)blc__PQB);
+  result__RQB=((__POINTER )((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__EZY) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__EZY->size_and_id__IK &  4294967292LU))))));
+  if (((__UINTEGER_32)(((__MEMORY *)blc__PQB)->size_and_id__IK &  4294967292LU) < ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+    Self__OMZ=((__MEMORY *)blc__PQB);
+    prev__PMZ=Self__OMZ->previous_free__KK;
+    next__QMZ=Self__OMZ->next_free__JK;
+    if (((void *)prev__PMZ == (void *)NULL)) {
+      first_free__ALG=next__QMZ;
+    } else {
+      ((__MEMORY *)prev__PMZ)->next_free__JK=next__QMZ;
+    };
+    if (((void *)next__QMZ != (void *)NULL)) {
+      ((__MEMORY *)next__QMZ)->previous_free__KK=prev__PMZ;
+    };
+    pv__TQB=blc__PQB->previous_linear__HK;
+    if ((pv__TQB !=  4294967295LU)) {
+      prev__QQB=((__MEMORY *)(void *)((unsigned long)begin_memory__PCB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )pv__TQB))));
+      ((__MEMORY *)prev__QQB)->size_and_id__IK=(__UINTEGER_32)((__UINTEGER_32)(prev__QQB->size_and_id__IK + blc__PQB->size_and_id__IK) +  8);
+      last_block[(idx__MQB)] = (prev__QQB);
+    };
+  };
+  ((__POINTER *)result__RQB)[ 0]=((__POINTER )t__KQB);
+  return((void *)((unsigned long)result__RQB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *)))))));
+}
+
+static __MEMORY* search__3JG(__UINTEGER_32 new_size__5JG)
+// ({UINTEGER_32}) With resultNo recursive, No inlinable.
+{
+  __MEMORY *result__BKG,*Self__HYZ,*new__GYZ,*prev__IYZ,*next__JYZ;
+  __MEMORY *Self__NYZ,*Self__PYZ;
+  __UINTEGER_32 idx__OYZ,siz__KYZ,new_size__MYZ;
+  result__BKG=first_free__ALG;
+  while ((((void *)result__BKG != (void *)NULL) && ((__UINTEGER_32)(((__MEMORY *)result__BKG)->size_and_id__IK &  4294967292LU) < new_size__5JG))) {
+    result__BKG=result__BKG->next_free__JK;
+  };
+  if (((void *)result__BKG == (void *)NULL)) {
+    result__BKG=new_page__PQD();
+  };
+  Self__HYZ=((__MEMORY *)result__BKG);
+  idx__OYZ=(__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )((__MEMORY *)result__BKG)) - (unsigned long)begin_memory__PCB)))) >>  26);
+  new__GYZ=NULL;
+  prev__IYZ=Self__HYZ->previous_free__KK;
+  next__JYZ=Self__HYZ->next_free__JK;
+  if (((void *)prev__IYZ == (void *)NULL)) {
+    first_free__ALG=next__JYZ;
+  } else {
+    ((__MEMORY *)prev__IYZ)->next_free__JK=next__JYZ;
+  };
+  if (((void *)next__JYZ != (void *)NULL)) {
+    ((__MEMORY *)next__JYZ)->previous_free__KK=prev__IYZ;
+  };
+  siz__KYZ=Self__HYZ->size_and_id__IK;
+  new_size__MYZ=(__UINTEGER_32)(siz__KYZ - new_size__5JG);
+  if ((new_size__MYZ > (__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )(MINIMUM_SIZE)) +  2) +  8))) {
+    siz__KYZ=new_size__5JG;
+    new__GYZ=((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__HYZ) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__5JG))));
+    ((__MEMORY *)new__GYZ)->previous_linear__HK=((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )Self__HYZ) - (unsigned long)begin_memory__PCB))));
+    ((__MEMORY *)new__GYZ)->size_and_id__IK=(__UINTEGER_32)(new_size__MYZ -  8);
+    Self__NYZ=((__MEMORY *)new__GYZ);
+    Self__NYZ->next_free__JK=first_free__ALG;
+    Self__NYZ->previous_free__KK=NULL;
+    if (((void *)first_free__ALG != (void *)NULL)) {
+      ((__MEMORY *)first_free__ALG)->previous_free__KK=Self__NYZ;
+    };
+    first_free__ALG=Self__NYZ;
+    if (((__UINTEGER_32)(((__MEMORY *)new__GYZ)->size_and_id__IK &  2) !=  0)) {
+      last_block[(idx__OYZ)] = (new__GYZ);
+    } else {
+      Self__PYZ=((__MEMORY *)new__GYZ);
+      ((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__PYZ) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__PYZ->size_and_id__IK &  4294967292LU)))))->previous_linear__HK=((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )((__MEMORY *)new__GYZ)) - (unsigned long)begin_memory__PCB))));
+    };
+  };
+  Self__HYZ->size_and_id__IK=(__UINTEGER_32)(siz__KYZ |  1);
+  return(result__BKG);
+}
+
+static void** create__4QG(__INTEGER nb_elements__ARG)
+// ({INTEGER}) With resultNo recursive, No inlinable.
+{
+  __UINTEGER_32 sz__WKZ,a__SOZ,new_size__XKZ,new_size2__YKZ,a__XOZ;
+  __UINTEGER_32 new_size__YOZ;
+  __POINTER result__VKZ,ptr_table__UVZ,next__TVZ,result__VVZ;
+  __INTEGER Self__WGJ;
+  void **Result__E3G;
+  sz__WKZ=((__UINTEGER_32 )(__INTEGER)(nb_elements__ARG * ((__INTEGER )(sizeof(void *)))));
+  result__VKZ=((__POINTER )(NULL));
+  a__SOZ=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+  new_size__XKZ=(__UINTEGER_32)((__UINTEGER_32)(sz__WKZ + a__SOZ) & (__UINTEGER_32)(~ a__SOZ));
+  new_size2__YKZ=(__UINTEGER_32)(new_size__XKZ + ((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))));
+  if ((new_size2__YKZ <= ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+    a__XOZ=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+    new_size__YOZ=(__UINTEGER_32)((__UINTEGER_32)(new_size2__YKZ + a__XOZ) & (__UINTEGER_32)(~ a__XOZ));
+    ptr_table__UVZ=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__YOZ / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+    next__TVZ=((__POINTER )(NULL));
+    result__VVZ=((__POINTER *)ptr_table__UVZ)[ 0];
+    if ((result__VVZ == (void *)NULL)) {
+      result__VVZ=new_lab__IQB(new_size__YOZ);
+      next__TVZ=(void *)((unsigned long)result__VVZ - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__YOZ)));
+      ((__POINTER *)next__TVZ)[ 0]=NULL;
+      ((__POINTER *)ptr_table__UVZ)[ 0]=next__TVZ;
+    } else {
+      next__TVZ=((__POINTER *)result__VVZ)[ 0];
+      if ((next__TVZ == (void *)NULL)) {
+        if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__VVZ - (unsigned long)begin_memory__PCB)))) &  4095) + (__UINTEGER_32)(new_size__YOZ <<  1)) <=  4096)) {
+          next__TVZ=(void *)((unsigned long)result__VVZ - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__YOZ)));
+        } else {
+          next__TVZ=new_lab__IQB(new_size__YOZ);
+        };
+        ((__POINTER *)next__TVZ)[ 0]=NULL;
+        ((__POINTER *)ptr_table__UVZ)[ 0]=next__TVZ;
+      } else {
+        ((__POINTER *)result__VVZ)[ 0]=(void *)((unsigned long)((__POINTER *)next__TVZ)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+        result__VVZ=next__TVZ;
+      };
+    };
+    ((__POINTER *)result__VVZ)[ 0]=((__POINTER ) 3);
+    result__VKZ=(void *)((unsigned long)result__VVZ - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+  } else {
+    result__VKZ=(void *)((unsigned long)((__POINTER )((__MEMORY *)search__3JG(new_size__XKZ))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+  };
+  Result__E3G=((void **)result__VKZ);
+  Self__WGJ=(__INTEGER)(nb_elements__ARG -  1);
+  while ((Self__WGJ >=  0)) {
+    Result__E3G[Self__WGJ]=NULL;
+    Self__WGJ=(__INTEGER)(Self__WGJ -  1);
+  };
+  return(Result__E3G);
+}
+
+static __CHARACTER* create__MKM(__INTEGER nb_elements__OKM)
+// ({INTEGER}) With resultNo recursive, No inlinable.
+{
+  __UINTEGER_32 sz__0KZ,a__APZ,new_size__1KZ,new_size2__2KZ,a__FPZ;
+  __UINTEGER_32 new_size__GPZ;
+  __POINTER result__ZKZ,ptr_table__ZVZ,next__YVZ,result__0VZ;
+  __INTEGER Self__XQP;
+  __CHARACTER *Result__A5M;
+  sz__0KZ=((__UINTEGER_32 )nb_elements__OKM);
+  result__ZKZ=((__POINTER )(NULL));
+  a__APZ=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+  new_size__1KZ=(__UINTEGER_32)((__UINTEGER_32)(sz__0KZ + a__APZ) & (__UINTEGER_32)(~ a__APZ));
+  new_size2__2KZ=(__UINTEGER_32)(new_size__1KZ + ((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))));
+  if ((new_size2__2KZ <= ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+    a__FPZ=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+    new_size__GPZ=(__UINTEGER_32)((__UINTEGER_32)(new_size2__2KZ + a__FPZ) & (__UINTEGER_32)(~ a__FPZ));
+    ptr_table__ZVZ=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__GPZ / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+    next__YVZ=((__POINTER )(NULL));
+    result__0VZ=((__POINTER *)ptr_table__ZVZ)[ 0];
+    if ((result__0VZ == (void *)NULL)) {
+      result__0VZ=new_lab__IQB(new_size__GPZ);
+      next__YVZ=(void *)((unsigned long)result__0VZ - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__GPZ)));
+      ((__POINTER *)next__YVZ)[ 0]=NULL;
+      ((__POINTER *)ptr_table__ZVZ)[ 0]=next__YVZ;
+    } else {
+      next__YVZ=((__POINTER *)result__0VZ)[ 0];
+      if ((next__YVZ == (void *)NULL)) {
+        if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__0VZ - (unsigned long)begin_memory__PCB)))) &  4095) + (__UINTEGER_32)(new_size__GPZ <<  1)) <=  4096)) {
+          next__YVZ=(void *)((unsigned long)result__0VZ - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__GPZ)));
+        } else {
+          next__YVZ=new_lab__IQB(new_size__GPZ);
+        };
+        ((__POINTER *)next__YVZ)[ 0]=NULL;
+        ((__POINTER *)ptr_table__ZVZ)[ 0]=next__YVZ;
+      } else {
+        ((__POINTER *)result__0VZ)[ 0]=(void *)((unsigned long)((__POINTER *)next__YVZ)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+        result__0VZ=next__YVZ;
+      };
+    };
+    ((__POINTER *)result__0VZ)[ 0]=((__POINTER ) 3);
+    result__ZKZ=(void *)((unsigned long)result__0VZ - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+  } else {
+    result__ZKZ=(void *)((unsigned long)((__POINTER )((__MEMORY *)search__3JG(new_size__1KZ))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+  };
+  Result__A5M=((__CHARACTER *)result__ZKZ);
+  Self__XQP=(__INTEGER)(nb_elements__OKM -  1);
+  while ((Self__XQP >=  0)) {
+    Result__A5M[Self__XQP]='\0';
+    Self__XQP=(__INTEGER)(Self__XQP -  1);
+  };
+  return(Result__A5M);
+}
+
+static __POINTER realloc_dynamic__old_size__new_size__Y4I(__POINTER p__04I,__UINTEGER_32 old_sz__14I,__UINTEGER_32 new_sz__24I)
+// ({POINTER},{UINTEGER_32},{UINTEGER_32}) With resultNo recursive, No inlinable.
+{
+  __MEMORY *mem__H5I,*Self__5YL,*nxt__DZL,*result__EZL,*Self__YCI;
+  __MEMORY *new__BDI,*prev__QDJ,*next__RDJ,*Self__YVH,*Self__OVY;
+  __MEMORY *next__U2N,*new_free__T2N,*prev__SQZ,*next__TQZ;
+  __POINTER result__I5I,result__3KZ,ptr_table__4VZ,next__3VZ;
+  __POINTER result__5VZ,p__VXL,last__EUM,src__PWL,dst__QWL;
+  __UINTEGER_32 a__OPZ,old_size__44I,old_size2__B5I,a__SPZ;
+  __UINTEGER_32 new_size__E5I,a__WPZ,new_size__5KZ,new_size2__ALZ;
+  __UINTEGER_32 a__1PZ,new_size__2PZ,a__S4,__tmp__ZAJ,sz__IZL;
+  __UINTEGER_32 old_size__FZL,siz__1CI,new_size__4CI,prev__V2N;
+  __UINTEGER_32 new_size__Y2N;
+  __INTEGER siz__5XZ,Self__EYZ,siz__UWL,Self__XRM;
+  __POINTER *na_src__BYZ,*na_dst__DYZ,*na_src__SWL,*na_dst__TWL;
+  mem__H5I=NULL;
+  result__I5I=((__POINTER )(NULL));
+  a__OPZ=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+  old_size__44I=(__UINTEGER_32)((__UINTEGER_32)(old_sz__14I + a__OPZ) & (__UINTEGER_32)(~ a__OPZ));
+  old_size2__B5I=(__UINTEGER_32)(old_size__44I + ((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))));
+  a__SPZ=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+  new_size__E5I=(__UINTEGER_32)((__UINTEGER_32)(new_sz__24I + a__SPZ) & (__UINTEGER_32)(~ a__SPZ));
+  if ((old_size2__B5I <= ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+    result__3KZ=((__POINTER )(NULL));
+    a__WPZ=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+    new_size__5KZ=(__UINTEGER_32)((__UINTEGER_32)(new_size__E5I + a__WPZ) & (__UINTEGER_32)(~ a__WPZ));
+    new_size2__ALZ=(__UINTEGER_32)(new_size__5KZ + ((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))));
+    if ((new_size2__ALZ <= ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+      a__1PZ=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__2PZ=(__UINTEGER_32)((__UINTEGER_32)(new_size2__ALZ + a__1PZ) & (__UINTEGER_32)(~ a__1PZ));
+      ptr_table__4VZ=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__2PZ / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+      next__3VZ=((__POINTER )(NULL));
+      result__5VZ=((__POINTER *)ptr_table__4VZ)[ 0];
+      if ((result__5VZ == (void *)NULL)) {
+        result__5VZ=new_lab__IQB(new_size__2PZ);
+        next__3VZ=(void *)((unsigned long)result__5VZ - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__2PZ)));
+        ((__POINTER *)next__3VZ)[ 0]=NULL;
+        ((__POINTER *)ptr_table__4VZ)[ 0]=next__3VZ;
+      } else {
+        next__3VZ=((__POINTER *)result__5VZ)[ 0];
+        if ((next__3VZ == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__5VZ - (unsigned long)begin_memory__PCB)))) &  4095) + (__UINTEGER_32)(new_size__2PZ <<  1)) <=  4096)) {
+            next__3VZ=(void *)((unsigned long)result__5VZ - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__2PZ)));
+          } else {
+            next__3VZ=new_lab__IQB(new_size__2PZ);
+          };
+          ((__POINTER *)next__3VZ)[ 0]=NULL;
+          ((__POINTER *)ptr_table__4VZ)[ 0]=next__3VZ;
+        } else {
+          ((__POINTER *)result__5VZ)[ 0]=(void *)((unsigned long)((__POINTER *)next__3VZ)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__5VZ=next__3VZ;
+        };
+      };
+      ((__POINTER *)result__5VZ)[ 0]=((__POINTER ) 3);
+      result__3KZ=(void *)((unsigned long)result__5VZ - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+    } else {
+      result__3KZ=(void *)((unsigned long)((__POINTER )((__MEMORY *)search__3JG(new_size__5KZ))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+    };
+    result__I5I=result__3KZ;
+    siz__5XZ=((__INTEGER )old_size__44I);
+    siz__5XZ=(__INTEGER)(siz__5XZ / ((__INTEGER )(sizeof(void *))));
+    na_src__BYZ=((__POINTER *)p__04I);
+    na_dst__DYZ=((__POINTER *)result__3KZ);
+    Self__EYZ=(__INTEGER)(siz__5XZ -  1);
+    while ((Self__EYZ >=  0)) {
+      na_dst__DYZ[Self__EYZ]=na_src__BYZ[Self__EYZ];
+      Self__EYZ=(__INTEGER)(Self__EYZ -  1);
+    };
+    p__VXL=(void *)((unsigned long)p__04I - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *)))));
+    a__S4=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+    last__EUM=((__POINTER *)((__POINTER )(&(table_size[((__UINTEGER_32)((__UINTEGER_32)((__UINTEGER_32)(old_size2__B5I + a__S4) & (__UINTEGER_32)(~ a__S4)) / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1]))))[ 0];
+    ((__POINTER *)p__VXL)[ 0]=(void *)((unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)(void *)((unsigned long)(void *)((unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER *)last__EUM)[ 0]) - (unsigned long)((__POINTER ) 1)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 3)) - (unsigned long)((__POINTER ) 1)))) - (unsigned long)((__POINTER ) 1));
+    ((__POINTER *)last__EUM)[ 0]=p__VXL;
+  } else {
+    mem__H5I=((__MEMORY *)(void *)((unsigned long)p__04I - (unsigned long)((__POINTER ) 8)));
+    __tmp__ZAJ=(__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)p__04I - (unsigned long)begin_memory__PCB)))) >>  26);
+    Self__5YL=((__MEMORY *)mem__H5I);
+    nxt__DZL=NULL;
+    result__EZL=NULL;
+    sz__IZL= 0;
+    old_size__FZL=(__UINTEGER_32)(Self__5YL->size_and_id__IK &  4294967292LU);
+    if ((new_size__E5I > old_size__FZL)) {
+      if ((! ((__UINTEGER_32)(Self__5YL->size_and_id__IK &  2) !=  0))) {
+        nxt__DZL=((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__5YL) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__5YL->size_and_id__IK &  4294967292LU)))));
+        sz__IZL=(__UINTEGER_32)((__UINTEGER_32)(new_size__E5I - old_size__FZL) -  8);
+        if ((((__UINTEGER_32)(((__MEMORY *)nxt__DZL)->size_and_id__IK &  1) ==  0) && ((__UINTEGER_32)(((__MEMORY *)nxt__DZL)->size_and_id__IK &  4294967292LU) >= sz__IZL))) {
+          Self__YCI=((__MEMORY *)nxt__DZL);
+          new__BDI=NULL;
+          prev__QDJ=Self__YCI->previous_free__KK;
+          next__RDJ=Self__YCI->next_free__JK;
+          if (((void *)prev__QDJ == (void *)NULL)) {
+            first_free__ALG=next__RDJ;
+          } else {
+            ((__MEMORY *)prev__QDJ)->next_free__JK=next__RDJ;
+          };
+          if (((void *)next__RDJ != (void *)NULL)) {
+            ((__MEMORY *)next__RDJ)->previous_free__KK=prev__QDJ;
+          };
+          siz__1CI=Self__YCI->size_and_id__IK;
+          new_size__4CI=(__UINTEGER_32)(siz__1CI - sz__IZL);
+          if ((new_size__4CI > (__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )(MINIMUM_SIZE)) +  2) +  8))) {
+            siz__1CI=sz__IZL;
+            new__BDI=((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__YCI) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )sz__IZL))));
+            ((__MEMORY *)new__BDI)->previous_linear__HK=((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )Self__YCI) - (unsigned long)begin_memory__PCB))));
+            ((__MEMORY *)new__BDI)->size_and_id__IK=(__UINTEGER_32)(new_size__4CI -  8);
+            Self__YVH=((__MEMORY *)new__BDI);
+            Self__YVH->next_free__JK=first_free__ALG;
+            Self__YVH->previous_free__KK=NULL;
+            if (((void *)first_free__ALG != (void *)NULL)) {
+              ((__MEMORY *)first_free__ALG)->previous_free__KK=Self__YVH;
+            };
+            first_free__ALG=Self__YVH;
+            if (((__UINTEGER_32)(((__MEMORY *)new__BDI)->size_and_id__IK &  2) !=  0)) {
+              last_block[(__tmp__ZAJ)] = (new__BDI);
+            } else {
+              Self__OVY=((__MEMORY *)new__BDI);
+              ((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__OVY) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__OVY->size_and_id__IK &  4294967292LU)))))->previous_linear__HK=((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )((__MEMORY *)new__BDI)) - (unsigned long)begin_memory__PCB))));
+            };
+          };
+          Self__YCI->size_and_id__IK=(__UINTEGER_32)(siz__1CI |  1);
+          Self__5YL->size_and_id__IK=(__UINTEGER_32)((__UINTEGER_32)(Self__5YL->size_and_id__IK + (__UINTEGER_32)(nxt__DZL->size_and_id__IK &  4294967294LU)) +  8);
+          if (((__UINTEGER_32)(Self__5YL->size_and_id__IK &  2) !=  0)) {
+            last_block[(__tmp__ZAJ)] = (Self__5YL);
+          } else {
+            nxt__DZL=((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__5YL) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__5YL->size_and_id__IK &  4294967292LU)))));
+            ((__MEMORY *)nxt__DZL)->previous_linear__HK=((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )Self__5YL) - (unsigned long)begin_memory__PCB))));
+          };
+          result__EZL=Self__5YL;
+        };
+      };
+      if (((void *)result__EZL == (void *)NULL)) {
+        result__EZL=search__3JG(new_size__E5I);
+        src__PWL=(void *)((unsigned long)((__POINTER )Self__5YL) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+        dst__QWL=(void *)((unsigned long)((__POINTER )((__MEMORY *)result__EZL)) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+        siz__UWL=((__INTEGER )old_size__FZL);
+        siz__UWL=(__INTEGER)(siz__UWL / ((__INTEGER )(sizeof(void *))));
+        na_src__SWL=((__POINTER *)src__PWL);
+        na_dst__TWL=((__POINTER *)dst__QWL);
+        Self__XRM=(__INTEGER)(siz__UWL -  1);
+        while ((Self__XRM >=  0)) {
+          na_dst__TWL[Self__XRM]=na_src__SWL[Self__XRM];
+          Self__XRM=(__INTEGER)(Self__XRM -  1);
+        };
+        prev__V2N=Self__5YL->previous_linear__HK;
+        next__U2N=((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__5YL) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__5YL->size_and_id__IK &  4294967292LU)))));
+        new_free__T2N=((__MEMORY *)(void *)((unsigned long)begin_memory__PCB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )prev__V2N))));
+        new_size__Y2N=(__UINTEGER_32)(Self__5YL->size_and_id__IK &  4294967294LU);
+        if (((prev__V2N ==  4294967295LU) || ((__UINTEGER_32)(new_free__T2N->size_and_id__IK &  1) !=  0))) {
+          new_free__T2N=Self__5YL;
+          Self__5YL->next_free__JK=first_free__ALG;
+          Self__5YL->previous_free__KK=NULL;
+          if (((void *)first_free__ALG != (void *)NULL)) {
+            ((__MEMORY *)first_free__ALG)->previous_free__KK=Self__5YL;
+          };
+          first_free__ALG=Self__5YL;
+        } else {
+          new_size__Y2N=(__UINTEGER_32)((__UINTEGER_32)(new_size__Y2N + new_free__T2N->size_and_id__IK) +  8);
+        };
+        if (((! ((__UINTEGER_32)(Self__5YL->size_and_id__IK &  2) !=  0)) && ((__UINTEGER_32)(next__U2N->size_and_id__IK &  1) ==  0))) {
+          new_size__Y2N=(__UINTEGER_32)((__UINTEGER_32)(new_size__Y2N + next__U2N->size_and_id__IK) +  8);
+          prev__SQZ=next__U2N->previous_free__KK;
+          next__TQZ=next__U2N->next_free__JK;
+          if (((void *)prev__SQZ == (void *)NULL)) {
+            first_free__ALG=next__TQZ;
+          } else {
+            ((__MEMORY *)prev__SQZ)->next_free__JK=next__TQZ;
+          };
+          if (((void *)next__TQZ != (void *)NULL)) {
+            ((__MEMORY *)next__TQZ)->previous_free__KK=prev__SQZ;
+          };
+        };
+        new_free__T2N->size_and_id__IK=new_size__Y2N;
+        if (((__UINTEGER_32)(new_free__T2N->size_and_id__IK &  2) !=  0)) {
+          last_block[(__tmp__ZAJ)] = (new_free__T2N);
+        } else {
+          next__U2N=((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__5YL) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__5YL->size_and_id__IK &  4294967292LU)))));
+          next__U2N->previous_linear__HK=((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )new_free__T2N) - (unsigned long)begin_memory__PCB))));
+        };
+      };
+    } else {
+      result__EZL=Self__5YL;
+    };
+    result__I5I=(void *)((unsigned long)((__POINTER )((__MEMORY *)result__EZL)) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+  };
+  return(result__I5I);
+}
+
+__POINTER thread(__POINTER num__HF)
+// ({POINTER}) With resultNo recursive, No inlinable.
+{
+  __INTEGER token__LF,l__JF,r__KF,Self__B2;
+  __BOOLEAN __tmp__I2;
+  token__LF= 0;
+  l__JF=((__INTEGER )num__HF);
+  r__KF=(__INTEGER)((__INTEGER)(l__JF +  1) %  503);
+  while (((__BOOLEAN )((1)))) {
+    pthread_mutex_lock(&(((__MUTEX *)((__FAST_ARRAYoExpanded_MUTEXo *)mutex__WB)->parent_arrayed_collection__VB.storage__RCC)[l__JF]));
+    token__LF=((__INTEGER *)((__FAST_ARRAYoExpanded_INTEGERo *)data__5)->parent_arrayed_collection__4.storage__QBC)[l__JF];
+    if ((token__LF !=  0)) {
+      ((__INTEGER *)((__FAST_ARRAYoExpanded_INTEGERo *)data__5)->parent_arrayed_collection__4.storage__QBC)[r__KF]=(__INTEGER)(token__LF -  1);
+      pthread_mutex_unlock(&(((__MUTEX *)((__FAST_ARRAYoExpanded_MUTEXo *)mutex__WB)->parent_arrayed_collection__VB.storage__RCC)[r__KF]));
+    } else {
+      Self__B2=(__INTEGER)(l__JF +  1);
+      if ((Self__B2 ==  0)) {
+        fputc((int)('0'),stdout);
+        __tmp__I2=TRUE__;
+      } else {
+        __tmp__I2=FALSE__;
+      };
+      if ((! __tmp__I2)) {
+        if ((Self__B2 <  0)) {
+          fputc((int)('-'),stdout);
+          print_positif__CMK((__INTEGER)(- Self__B2));
+        } else {
+          print_positif__CMK(Self__B2);
+        };
+      };
+      fputc((int)('\n'),stdout);
+      exit(( 0));
+    };
+  };
+  return(NULL);
+}
+
+static __MEMORY* new_page__PQD()
+// () With resultNo recursive, No inlinable.
+{
+  __POINTER mem__JLF;
+  __UINTEGER_32 cap__GLF,old_size__SQD;
+  __INTEGER Self__2FG,limit_up__3FG;
+  __MEMORY *block__YQD;
+  __CHARACTER *__tmp__1RZ;
+  if ((capacity_max__ZQD ==  0)) {
+    mem__JLF=((__POINTER )(NULL));
+    cap__GLF= 33554432;
+    do {
+      cap__GLF=(__UINTEGER_32)(cap__GLF <<  1);
+      mem__JLF=((__POINTER )(malloc((cap__GLF))));
+      if ((mem__JLF != (void *)NULL)) {
+        free((mem__JLF));
+      };
+    } while ((! ((mem__JLF == (void *)NULL) || (cap__GLF ==  2147483648LU))));
+    if ((mem__JLF == (void *)NULL)) {
+      cap__GLF=(__UINTEGER_32)(cap__GLF >>  1);
+    };
+    capacity_max__ZQD=cap__GLF;
+    begin_memory__PCB=((__POINTER )(malloc((cap__GLF))));
+  };
+  old_size__SQD=(__UINTEGER_32)(nb_page__0QB <<  26);
+  nb_page__0QB=(__UINTEGER_32)(nb_page__0QB +  1);
+  if (((__UINTEGER_32)(old_size__SQD +  67108864) > capacity_max__ZQD)) {
+    Self__2FG= 1;
+    limit_up__3FG=((__STRING_CONSTANT *)(&__string_1))->count__XFG;
+    __tmp__1RZ=((__STRING_CONSTANT *)(&__string_1))->storage__GMH;
+    while ((Self__2FG <= limit_up__3FG)) {
+      fputc((int)(((__CHARACTER *)__tmp__1RZ)[(__INTEGER)(Self__2FG -  1)]),stdout);
+      Self__2FG=(__INTEGER)(Self__2FG +  1);
+    };
+    exit(( 1));
+  };
+  block__YQD=((__MEMORY *)(void *)((unsigned long)begin_memory__PCB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )old_size__SQD))));
+  block__YQD->previous_linear__HK= 4294967295LU;
+  block__YQD->size_and_id__IK= 67108858;
+  block__YQD->next_free__JK=first_free__ALG;
+  block__YQD->previous_free__KK=NULL;
+  if (((void *)first_free__ALG != (void *)NULL)) {
+    ((__MEMORY *)first_free__ALG)->previous_free__KK=block__YQD;
+  };
+  first_free__ALG=block__YQD;
+  last_block[((__UINTEGER_32)(nb_page__0QB -  1))] = (block__YQD);
+  return(block__YQD);
+}
+
+static void print_positif__CMK(__INTEGER Self__DMK)
+// ({INTEGER}) VoidRecursive, No inlinable.
+{
+  __INTEGER val__MMK;
+  __CHARACTER Result__RGL;
+  Result__RGL=((__CHARACTER )(((__INTEGER_8)(((__INTEGER_8 )(__INTEGER)(Self__DMK %  10)) + ((__INTEGER_8 )'0')))));
+  val__MMK=(__INTEGER)(Self__DMK /  10);
+  if ((val__MMK !=  0)) {
+    print_positif__CMK(val__MMK);
+  };
+  fputc((int)(Result__RGL),stdout);
+}
+
+//==========================//
+// DEBUG MANAGER            //
+//==========================//
+
+void print_string(char *str) 
+{ 
+  while (*str!=0) {
+    print_char(*str); 
+    str++; 
+  };
+}  
+
diff --git a/example/shootout/thread-ring/threadring.li b/example/shootout/OLD/thread-ring/threadring.li
old mode 100644
new mode 100755
similarity index 100%
copy from example/shootout/thread-ring/threadring.li
copy to example/shootout/OLD/thread-ring/threadring.li
diff --git a/example/shootout/OLD/thread-ring/threadring_c.c b/example/shootout/OLD/thread-ring/threadring_c.c
new file mode 100755
index 0000000..192acb5
--- /dev/null
+++ b/example/shootout/OLD/thread-ring/threadring_c.c
@@ -0,0 +1,95 @@
+/*
+* The Computer Language Benchmarks Game
+* http://shootout.alioth.debian.org/
+
+* contributed by Premysl Hruby
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <pthread.h>
+#include <string.h>
+#include <limits.h>
+
+#define THREADS (503)
+
+
+struct stack {
+   char x[PTHREAD_STACK_MIN];
+};
+
+
+/* staticaly initialize mutex[0] mutex */
+static pthread_mutex_t mutex[THREADS];
+static int data[THREADS];
+static struct stack stacks[THREADS];
+/* stacks must be defined staticaly, or my i386 box run of virtual memory for this
+ * process while creating thread +- #400 */
+
+static void* thread(void *num)
+{
+   int l = (int)num;
+   int r = (l+1) % THREADS;
+   int token;
+
+   while(1) {
+      pthread_mutex_lock(mutex + l);
+      token = data[l];
+      if (token) {
+         data[r] = token - 1;
+         pthread_mutex_unlock(mutex + r);
+      }
+      else {
+         printf("%i\n", l+1);
+         exit(0);
+      }
+   }
+}
+
+
+void* calloc(unsigned int i,unsigned int s)
+{ char *res;
+  printf("calloc %d\n",i*s);
+  res=realloc(NULL,i*s);
+  memset(res,0,i*s);   
+  return res;
+}
+
+void* malloc(unsigned int i)
+{
+  printf("malloc %d\n",i);
+  exit(0);
+  return NULL;
+}
+/*
+void* realloc(void *old,size_t i)
+{
+  printf("Tondu du slip\n");
+  exit(0);
+  return NULL;
+}
+*/
+
+int main(int argc, char **argv)
+{
+   int i;
+   pthread_t cthread;
+   pthread_attr_t stack_attr;
+
+   if (argc != 2)
+      exit(255);
+   data[0] = atoi(argv[1]);
+
+   pthread_attr_init(&stack_attr);
+
+   for (i = 0; i < THREADS; i++) {
+      pthread_mutex_init(mutex + i, NULL);
+      pthread_mutex_lock(mutex + i);
+
+      pthread_attr_setstack(&stack_attr, &stacks[i], sizeof(struct stack));
+      pthread_create(&cthread, NULL /*&stack_attr*/, thread, (void*)i);
+   }
+
+   pthread_mutex_unlock(mutex + 0);
+   pthread_join(cthread, NULL);
+}
diff --git a/example/shootout/thread-ring/threadring_tst b/example/shootout/OLD/thread-ring/threadring_tst
similarity index 100%
copy from example/shootout/thread-ring/threadring_tst
copy to example/shootout/OLD/thread-ring/threadring_tst
diff --git a/example/shootout/TOP/recursive/old.c b/example/shootout/TOP/recursive/old.c
new file mode 100755
index 0000000..9b244cc
--- /dev/null
+++ b/example/shootout/TOP/recursive/old.c
@@ -0,0 +1,156 @@
+// C code generated by Lisaac compiler (www.isaacOS.com) //
+int arg_count;
+char **arg_vector;
+
+//==========================//
+// EXTERNAL                 //
+//==========================//
+
+// SYSTEM_IO
+
+#include <stdio.h>
+#include <stdlib.h>
+  
+// Hardware 'print_char'
+void print_char(char car)
+{
+  fputc(car,stdout);
+}
+
+// Hardware 'exit'
+int die_with_code(int code)
+{
+  exit(code);
+}
+
+
+// SYSTEM
+#include <time.h>
+
+//==========================//
+// TYPE                     //
+//==========================//
+
+// Generic Object
+struct ___OBJ {
+  unsigned long __id;
+};
+
+// NULL
+#ifndef NULL
+#define NULL ((void *)0)
+#endif
+
+// INTEGER
+typedef int __INTEGER;
+
+// TRUE
+#define TRUE__ 1
+
+// FALSE
+#define FALSE__ 0
+
+// BOOLEAN
+typedef char __BOOLEAN;
+
+// CHARACTER
+typedef char __CHARACTER;
+
+// INTEGER_8
+typedef signed char __INTEGER_8;
+
+
+void *table_type[0];
+
+//==========================//
+// GLOBAL                   //
+//==========================//
+
+
+//==========================//
+// FUNCTION HEADER          //
+//==========================//
+
+// Debug Manager
+void print_string(char *str);
+// Source code
+static __INTEGER ack__FB(__INTEGER x__HB,__INTEGER y__IB);
+static void print_positif__FI(__INTEGER Self__GI);
+
+//==========================//
+// SOURCE CODE              //
+//==========================//
+
+int main(int argc,char **argv)
+{
+  __INTEGER Self__QC;
+  __BOOLEAN __tmp__XC;
+  arg_count  = argc;
+  arg_vector = argv;
+  Self__QC=ack__FB( 3, 4);
+  if ((Self__QC ==  0)) {
+    fputc((int)('0'),stdout);
+    __tmp__XC=TRUE__;
+  } else {
+    __tmp__XC=FALSE__;
+  };
+  if ((! __tmp__XC)) {
+    if ((Self__QC <  0)) {
+      fputc((int)('-'),stdout);
+      print_positif__FI((__INTEGER)(- Self__QC));
+    } else {
+      print_positif__FI(Self__QC);
+    };
+  };
+  fputc((int)('\n'),stdout);
+  fputc((int)('\n'),stdout);
+  return( 0);
+}
+
+static __INTEGER ack__FB(__INTEGER x__HB,__INTEGER y__IB)
+// ({INTEGER},{INTEGER}) With resultRecursive, No inlinable.
+{
+  __INTEGER result__KB;
+  __BOOLEAN __tmp__SB;
+  result__KB= 0;
+  if ((x__HB ==  0)) {
+    result__KB=(__INTEGER)(y__IB +  1);
+    __tmp__SB=TRUE__;
+  } else {
+    __tmp__SB=FALSE__;
+  };
+  if ((! __tmp__SB)) {
+    if ((y__IB ==  0)) {
+      result__KB=ack__FB((__INTEGER)(x__HB -  1), 1);
+    } else {
+      result__KB=ack__FB((__INTEGER)(x__HB -  1),ack__FB(x__HB,(__INTEGER)(y__IB -  1)));
+    };
+  };
+  return(result__KB);
+}
+
+static void print_positif__FI(__INTEGER Self__GI)
+// ({INTEGER}) VoidRecursive, No inlinable.
+{
+  __INTEGER val__PI;
+  __CHARACTER Result__4J;
+  Result__4J=((__CHARACTER )(((__INTEGER_8)(((__INTEGER_8 )(__INTEGER)(Self__GI %  10)) + ((__INTEGER_8 )'0')))));
+  val__PI=(__INTEGER)(Self__GI /  10);
+  if ((val__PI !=  0)) {
+    print_positif__FI(val__PI);
+  };
+  fputc((int)(Result__4J),stdout);
+}
+
+//==========================//
+// DEBUG MANAGER            //
+//==========================//
+
+void print_string(char *str) 
+{ 
+  while (*str!=0) {
+    print_char(*str); 
+    str++; 
+  };
+}  
+
diff --git a/example/shootout/TOP/recursive/out_c.txt b/example/shootout/TOP/recursive/out_c.txt
new file mode 100755
index 0000000..f023bd2
--- /dev/null
+++ b/example/shootout/TOP/recursive/out_c.txt
@@ -0,0 +1,5 @@
+Ack(3,11): 16381
+Fib(38.0): 63245986.0
+Tak(30,20,10): 11
+Fib(3): 3
+Tak(3.0,2.0,1.0): 2.0
diff --git a/example/shootout/TOP/recursive/out_li.txt b/example/shootout/TOP/recursive/out_li.txt
new file mode 100755
index 0000000..e712d32
--- /dev/null
+++ b/example/shootout/TOP/recursive/out_li.txt
@@ -0,0 +1,2 @@
+125
+
diff --git a/example/shootout/TOP/recursive/recursive b/example/shootout/TOP/recursive/recursive
new file mode 100755
index 0000000..ac5f43b
Binary files /dev/null and b/example/shootout/TOP/recursive/recursive differ
diff --git a/example/shootout/TOP/recursive/recursive.c b/example/shootout/TOP/recursive/recursive.c
new file mode 100755
index 0000000..363c33a
--- /dev/null
+++ b/example/shootout/TOP/recursive/recursive.c
@@ -0,0 +1,163 @@
+// C code generated by Lisaac compiler (www.isaacOS.com) //
+int arg_count;
+char **arg_vector;
+
+//==========================//
+// EXTERNAL                 //
+//==========================//
+
+// SYSTEM_IO
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <sys/syscall.h>  
+// Hardware 'print_char'
+void print_char(char car)
+{
+  fputc(car,stdout);
+}
+
+// Hardware 'exit'
+int die_with_code(int code)
+{
+  exit(code);
+}
+
+
+// SYSTEM
+#include <time.h>
+
+//==========================//
+// TYPE                     //
+//==========================//
+
+// Generic Object
+struct ___OBJ {
+  unsigned long __id;
+};
+
+// NULL
+#ifndef NULL
+#define NULL ((void *)0)
+#endif
+
+// INTEGER__L
+typedef int __INTEGER__L;
+
+// RECURSIVE
+#define __RECURSIVE__B__ 0
+typedef struct RECURSIVE__B_struct __RECURSIVE__B;
+struct RECURSIVE__B_struct {
+  void *Nothing;
+};
+// TRUE__C
+#define TRUE__C__ 1
+
+// FALSE__J
+#define FALSE__J__ 0
+
+// BOOLEAN__D
+typedef char __BOOLEAN__D;
+
+// CHARACTER__4
+typedef char __CHARACTER__4;
+
+// INTEGER_8__TL
+typedef signed char __INTEGER_8__TL;
+
+
+void *table_type[1];
+
+//==========================//
+// GLOBAL                   //
+//==========================//
+
+__RECURSIVE__B RECURSIVE__B_;
+#define RECURSIVE__B__ (&RECURSIVE__B_)
+
+
+//==========================//
+// FUNCTION HEADER          //
+//==========================//
+
+// Source code
+static __INTEGER__L ack__YB(__RECURSIVE__B *Self__ZB,__INTEGER__L x__0B,__INTEGER__L y__1B);
+static void print_positif__QJ(__INTEGER__L Self__RJ);
+
+//==========================//
+// SOURCE CODE              //
+//==========================//
+
+int main(int argc,char **argv)
+{
+  __INTEGER__L __tmp__VB;
+  __BOOLEAN__D __tmp__LD;
+  arg_count  = argc;
+  arg_vector = argv;
+#ifdef _PTHREAD_H
+  pthread_key_create(&current_thread, NULL);
+  pthread_attr_init(&thread_attr);
+  /*pthread_attr_setdetachstate(&thread_attr,PTHREAD_CREATE_DETACHED);*/
+#endif
+  ;
+  __tmp__VB=ack__YB(RECURSIVE__B__, 3, 4);
+  if ((__tmp__VB ==  0)) {
+    fputc((int)('0'),stdout);
+    __tmp__LD=TRUE__C__;
+  } else {
+    __tmp__LD=FALSE__J__;
+  };
+  if ((! __tmp__LD)) {
+    if ((__tmp__VB <  0)) {
+      fputc((int)('-'),stdout);
+      print_positif__QJ((__INTEGER__L)(- __tmp__VB));
+    } else {
+      print_positif__QJ(__tmp__VB);
+    };
+  };
+  fputc((int)('\n'),stdout);
+  fputc((int)('\n'),stdout);
+  return(0);
+}
+
+
+static __INTEGER__L ack__YB(__RECURSIVE__B *Self__ZB,__INTEGER__L x__0B,__INTEGER__L y__1B)
+// ({RECURSIVE__B},{INTEGER__L},{INTEGER__L}) With result Recursive, No inlinable.
+{
+  __INTEGER__L result__3B,__tmp__TC,__tmp__ZC,__tmp__4C,__tmp__AD;
+  __INTEGER__L Result__2B;
+  __BOOLEAN__D __tmp__FC;
+  result__3B= 0;
+  if ((x__0B ==  0)) {
+    result__3B=(__INTEGER__L)(y__1B +  1);
+    __tmp__FC=TRUE__C__;
+  } else {
+    __tmp__FC=FALSE__J__;
+  };
+  if ((! __tmp__FC)) {
+    if ((y__1B ==  0)) {
+      __tmp__TC=ack__YB(Self__ZB,(__INTEGER__L)(x__0B -  1), 1);
+      result__3B=__tmp__TC;
+    } else {
+      __tmp__ZC=(__INTEGER__L)(x__0B -  1);
+      __tmp__4C=ack__YB(Self__ZB,x__0B,(__INTEGER__L)(y__1B -  1));
+      __tmp__AD=ack__YB(Self__ZB,__tmp__ZC,__tmp__4C);
+      result__3B=__tmp__AD;
+    };
+  };
+  Result__2B=result__3B;
+  return(Result__2B);
+}
+
+static void print_positif__QJ(__INTEGER__L Self__RJ)
+// ({INTEGER__L}) Void Recursive, No inlinable.
+{
+  __INTEGER__L __tmp__4J;
+  __CHARACTER__4 Result__LL;
+  Result__LL=((__CHARACTER__4 )(((__INTEGER_8__TL)(((__INTEGER_8__TL )(__INTEGER__L)(Self__RJ %  10)) + ((__INTEGER_8__TL )'0')))));
+  __tmp__4J=(__INTEGER__L)(Self__RJ /  10);
+  if ((__tmp__4J !=  0)) {
+    print_positif__QJ(__tmp__4J);
+  };
+  fputc((int)(Result__LL),stdout);
+}
diff --git a/example/shootout/TOP/recursive/recursive.li b/example/shootout/TOP/recursive/recursive.li
new file mode 100755
index 0000000..42e0273
--- /dev/null
+++ b/example/shootout/TOP/recursive/recursive.li
@@ -0,0 +1,193 @@
+/* The Computer Language Shootout Benchmarks
+   http://shootout.alioth.debian.org/
+   contributed by Xavier Oswald & Pierre-Alexandre Voye & Benoit Sonntag
+
+   Compilation:
+     - lisaac -O -i20 recursive.li
+*/
+
+Section Header
+  
+  + name := RECURSIVE;
+  
+Section Private  
+
+  - ack (x,y:INTEGER) :INTEGER <-
+  ( + result:INTEGER;
+  
+    (x = 0).if {
+      result := y + 1;
+    }.elseif {y = 0} then {
+      result := ack (x - 1,1);
+    } else {
+      result := ack (x - 1,ack (x,y - 1));
+    };
+    result
+  );
+  
+  - ack_rec (n,m:INTEGER) :INTEGER <-
+  ( + m2,n2:INTEGER;
+    m2 := m;
+    n2 := n;
+    {n2 != 0}.while_do {
+      (m2 = 0).if {
+        m2 := 1;
+      } else {
+        m2 := ack_rec (n2, m2 - 1);
+      };
+      n2 := n2 - 1;
+    };
+    m2 + 1
+  );
+
+  - fib n:INTEGER :INTEGER <-
+  ( + result:INTEGER;
+    
+    (n < 2).if { 
+      result := 1;
+    } else { 
+      result := fib (n - 2) + fib (n - 1);
+    };
+    result		
+  );
+  
+  // BSBS: fib derecursive
+  - fib_rec (n,fn1,fn:INTEGER) :INTEGER <-
+  ( + result:INTEGER;
+        
+    (n < 2).if {
+      result := fn;
+    } else {
+      result := fib_rec (n - 1, fn, fn + fn1);
+    };
+    result
+  );
+  - fib_rec2 (p_n,p_fn1,p_fn:INTEGER) :INTEGER <-
+  ( + result:INTEGER;
+    `{ int result,n,fn1,fn,p_n,p_fn1,p_fn;
+      p_n   = @p_n;
+      p_fn1 = @p_fn1;
+      p_fn  = @p_fn;  
+      lab:    
+      n   = p_n;
+      fn1 = p_fn1;
+      fn  = p_fn;  
+      if (n < 2) {
+        result = fn;
+      } else {
+        p_n = n -1;
+        p_fn1 = fn;
+        p_fn = fn + fn1;
+        goto lab;      
+      }`;
+      result := `result`:INTEGER;
+    `}`;
+    result
+  );
+
+  - fibfp n:REAL_64 :REAL_64 <-
+  ( + result:REAL_64;
+    
+    (n < 2).if {
+      result := 1;
+    } else {
+      result := fibfp (n - 2) + fibfp (n - 1);
+    };
+    result
+  );
+
+  - tak (x,y,z:INTEGER) :INTEGER <-
+  ( + result:INTEGER;
+    
+    (y < x).if {
+      result := tak(tak(x - 1,y, z), tak(y - 1, z, x), tak(z - 1, x, y) );
+    } else {
+      result := z;
+    };
+    result
+  );
+  
+  - tak_rec (x,y,z:INTEGER) :INTEGER <- 
+  ( + result,rx,ry,rz,new_rx,new_ry,new_rz:INTEGER;
+    
+    rx := x;
+    ry := y;
+    rz := z;    
+    {ry < rx}.while_do {
+      new_rx := tak_rec(rx - 1,ry,rz);
+      new_ry := tak_rec(ry - 1, rz, rx);
+      new_rz := tak_rec(rz - 1, rx, ry);
+      rx := new_rx;
+      ry := new_ry;
+      rz := new_rz;
+    };
+    result := rz;
+    result
+  );
+
+  - takfp (x,y,z:REAL_64) :REAL_64 <-
+  ( + result: REAL_64;
+    
+    (y < x).if {
+      result := takfp(takfp(x - 1,y, z), takfp(y - 1, z, x), takfp(z - 1, x, y) );
+    } else {
+      result := z;
+    };
+    result
+  );
+  
+  - print_format_c r:REAL_64 <-
+  (
+    `printf("%.1f", at r)`;
+  );
+
+Section Public
+
+  - main <-
+  ( + n:INTEGER;
+/*        
+    (COMMAND_LINE.count = 2).if {
+      n := COMMAND_LINE.item 1.to_integer - 1;      
+    } else {
+      */
+      n := 3;
+ //   };
+   /* 
+    "Ack(3,".print;
+    (n + 1).print;
+    "): ".print;
+    */
+    ack (3,n+1).print;
+    '\n'.print;
+/*
+    "Fib(".print; 
+    (28 + n).print;
+    ".0): ".print;
+    
+    //fibfp ((28 + n).to_real_64).print_format_c "%.1f";
+    //fib (28 + n).to_real_64.print_format_c "%.1f"; 
+    print_format_c (fib_rec2 (28 + n,1,1).to_real_64); //.print_format_c "%.1f"; 
+    // BSBS: il faut déduire que les Float sont pas utile
+    '\n'.print;
+
+    "Tak(".print;
+    ( 3 * n).print;
+    ','.print;
+    ( 2 * n).print; 
+    ','.print;
+    n.print;
+    "): ".print;
+    tak_rec(3*n, 2*n, n).print;
+    '\n'.print;
+	
+    "Fib(3): ".print;
+    // BSBS: Precalculer !!!!
+    3.print; //fib 3.print;
+    '\n'.print;
+
+    "Tak(3.0,2.0,1.0): ".print;
+    // BSBS: Precalculer !!!!
+    print_format_c 2.0; ///*takfp(3.0,2.0,1.0)*/.print_format_c "%.1f";
+  */  
+    '\n'.print;
+  );
diff --git a/example/shootout/TOP/recursive/recursive_c b/example/shootout/TOP/recursive/recursive_c
new file mode 100755
index 0000000..73dcd9a
Binary files /dev/null and b/example/shootout/TOP/recursive/recursive_c differ
diff --git a/example/shootout/recursive/recursive_c.c b/example/shootout/TOP/recursive/recursive_c.c
old mode 100644
new mode 100755
similarity index 100%
copy from example/shootout/recursive/recursive_c.c
copy to example/shootout/TOP/recursive/recursive_c.c
diff --git a/example/shootout/TOP/recursive/recursive_tst b/example/shootout/TOP/recursive/recursive_tst
new file mode 100755
index 0000000..ce949c4
--- /dev/null
+++ b/example/shootout/TOP/recursive/recursive_tst
@@ -0,0 +1,8 @@
+../../../../src/lisaac recursive -boost -i 20
+%lisaac recursive -O -i20
+gcc recursive_c.c -o recursive_c -O3  
+echo Lisaac: 
+time ./recursive 11 > out_li.txt
+echo C:
+time ./recursive_c 11 > out_c.txt
+diff out_li.txt out_c.txt
diff --git a/example/shootout/TOP/startup/loop b/example/shootout/TOP/startup/loop
new file mode 100755
index 0000000..44c152d
--- /dev/null
+++ b/example/shootout/TOP/startup/loop
@@ -0,0 +1,6 @@
+i=0
+while [ $i -lt 5000 ]
+do
+  $1 > out.txt
+  i=$[$i + 1]
+done
\ No newline at end of file
diff --git a/example/shootout/TOP/startup/out.txt b/example/shootout/TOP/startup/out.txt
new file mode 100755
index 0000000..3b18e51
--- /dev/null
+++ b/example/shootout/TOP/startup/out.txt
@@ -0,0 +1 @@
+hello world
diff --git a/example/shootout/TOP/startup/out_c.txt b/example/shootout/TOP/startup/out_c.txt
new file mode 100755
index 0000000..3b18e51
--- /dev/null
+++ b/example/shootout/TOP/startup/out_c.txt
@@ -0,0 +1 @@
+hello world
diff --git a/example/shootout/TOP/startup/out_li.txt b/example/shootout/TOP/startup/out_li.txt
new file mode 100755
index 0000000..3b18e51
--- /dev/null
+++ b/example/shootout/TOP/startup/out_li.txt
@@ -0,0 +1 @@
+hello world
diff --git a/example/shootout/TOP/startup/startup b/example/shootout/TOP/startup/startup
new file mode 100755
index 0000000..834038d
Binary files /dev/null and b/example/shootout/TOP/startup/startup differ
diff --git a/example/shootout/TOP/startup/startup.c b/example/shootout/TOP/startup/startup.c
new file mode 100755
index 0000000..e3e3470
--- /dev/null
+++ b/example/shootout/TOP/startup/startup.c
@@ -0,0 +1,73 @@
+// C code generated by Lisaac compiler (www.isaacOS.com) //
+int arg_count;
+char **arg_vector;
+
+//==========================//
+// EXTERNAL                 //
+//==========================//
+
+// SYSTEM_IO
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <sys/syscall.h>  
+// Hardware 'print_char'
+void print_char(char car)
+{
+  fputc(car,stdout);
+}
+
+// Hardware 'exit'
+int die_with_code(int code)
+{
+  exit(code);
+}
+
+
+
+//==========================//
+// TYPE                     //
+//==========================//
+
+// Generic Object
+struct ___OBJ {
+  unsigned long __id;
+};
+
+// NULL
+#ifndef NULL
+#define NULL ((void *)0)
+#endif
+
+
+void *table_type[0];
+
+//==========================//
+// GLOBAL                   //
+//==========================//
+
+
+//==========================//
+// FUNCTION HEADER          //
+//==========================//
+
+// Source code
+
+//==========================//
+// SOURCE CODE              //
+//==========================//
+
+int main(int argc,char **argv)
+{
+  arg_count  = argc;
+  arg_vector = argv;
+#ifdef _PTHREAD_H
+  pthread_key_create(&current_thread, NULL);
+  pthread_attr_init(&thread_attr);
+  /*pthread_attr_setdetachstate(&thread_attr,PTHREAD_CREATE_DETACHED);*/
+#endif
+  ;
+  syscall(__NR_write, 1,("hello world\n"),( 12));
+  return(0);
+}
+
diff --git a/example/shootout/TOP/startup/startup.li b/example/shootout/TOP/startup/startup.li
new file mode 100755
index 0000000..553a003
--- /dev/null
+++ b/example/shootout/TOP/startup/startup.li
@@ -0,0 +1,18 @@
+/* The Computer Language Shootout Benchmarks
+   http://shootout.alioth.debian.org/
+   contributed by Xavier Oswald & Benoit Sonntag
+
+   Compilation:
+     - lisaac -O -i20 startup.li
+*/
+
+Section Header
+  
+  + name  := STARTUP;
+    
+Section Public
+    
+  - main <-
+  (     
+    "hello world\n".fast_print;
+  );
diff --git a/example/shootout/TOP/startup/startup_c b/example/shootout/TOP/startup/startup_c
new file mode 100755
index 0000000..029fd3b
Binary files /dev/null and b/example/shootout/TOP/startup/startup_c differ
diff --git a/example/shootout/startup/startup_c.c b/example/shootout/TOP/startup/startup_c.c
old mode 100644
new mode 100755
similarity index 100%
copy from example/shootout/startup/startup_c.c
copy to example/shootout/TOP/startup/startup_c.c
diff --git a/example/shootout/TOP/startup/startup_tst b/example/shootout/TOP/startup/startup_tst
new file mode 100755
index 0000000..fe8a73a
--- /dev/null
+++ b/example/shootout/TOP/startup/startup_tst
@@ -0,0 +1,7 @@
+../../../../src/lisaac startup -boost 
+gcc startup.c -o startup -O3
+gcc startup_c.c -o startup_c -O3 -fomit-frame-pointer -lm
+echo Lisaac: 
+time ./loop ./startup
+echo C:
+time ./loop ./startup_c
diff --git a/example/shootout/TOP/thread-ring/thread.li b/example/shootout/TOP/thread-ring/thread.li
new file mode 100755
index 0000000..57e1267
--- /dev/null
+++ b/example/shootout/TOP/thread-ring/thread.li
@@ -0,0 +1,43 @@
+Section Header
+  
+  - name := THREAD;
+    
+Section Inherit
+  
+  - parent_object:OBJECT := OBJECT;
+  
+Section Public
+  
+  + index:INTEGER;
+  
+  + data:INTEGER;
+  
+  + next:THREAD;
+  
+  - set_next nxt:THREAD <-
+  (
+    next := nxt;
+  );
+  
+  - set_data n:INTEGER <-
+  (
+    (n = 0).if {      
+      index.print;   
+      '\n'.print;            
+      die_with_code 0;
+    } else {            
+      next.set_data (n-1);
+    };
+    data := n;
+  );
+  
+  - make idx:INTEGER with nxt:THREAD :SELF <-
+  ( 
+    next := nxt;
+    index := idx;
+    Self
+  );
+
+
+
+  
diff --git a/example/shootout/TOP/thread-ring/threadring b/example/shootout/TOP/thread-ring/threadring
new file mode 100755
index 0000000..ac426ba
Binary files /dev/null and b/example/shootout/TOP/thread-ring/threadring differ
diff --git a/example/shootout/TOP/thread-ring/threadring.c b/example/shootout/TOP/thread-ring/threadring.c
new file mode 100755
index 0000000..37ddfe3
--- /dev/null
+++ b/example/shootout/TOP/thread-ring/threadring.c
@@ -0,0 +1,1254 @@
+// C code generated by Lisaac compiler (www.isaacOS.com) //
+int arg_count;
+char **arg_vector;
+
+//==========================//
+// EXTERNAL                 //
+//==========================//
+
+#include <pthread.h>
+#include <limits.h>
+
+void print_char(char car);
+int die_with_code(int code);
+
+static pthread_key_t current_thread;
+static pthread_attr_t thread_attr;
+pthread_t c_thread;
+int thread_counter;
+
+static char thread_stack[512][PTHREAD_STACK_MIN];
+
+typedef struct lith_object_struct lith_object;
+typedef struct lith_node_struct lith_node;
+struct lith_node_struct {
+  pthread_mutex_t mutex;
+  lith_node *next;
+  lith_object *object;
+};
+struct lith_object_struct {
+  unsigned long __id; // Just for late binding.
+  lith_node *first;
+  lith_node *last;
+  lith_object *(*procedure)(lith_object *obj,pthread_mutex_t *mutex);
+  pthread_mutex_t mutex;
+};
+struct {
+  lith_node *first;
+  pthread_mutex_t mutex;
+} pool;
+
+void *thread_life(void *ptr)
+{ lith_node node,*n;
+  lith_object *obj,*new_obj;
+
+  pthread_mutex_init(&node.mutex,NULL);
+  pthread_mutex_lock(&node.mutex);
+  node.object = (lith_object *)ptr;
+  do {
+    // Append fifo object.
+    obj = node.object;
+    node.next = NULL;
+    n = obj->last;
+    if (n == NULL) {
+      obj->first = &node;
+      pthread_mutex_unlock(&node.mutex);
+    } else {
+      n->next = &node;
+    };
+    obj->last = &node;
+    pthread_setspecific(current_thread,(void *)obj);
+    // Run procedure.
+    new_obj = obj->procedure(obj,&node.mutex);
+    // Remove fifo object.
+    pthread_mutex_lock(&obj->mutex);
+    n = obj->first->next;
+    if (n != NULL) {
+      pthread_mutex_unlock(&n->mutex);
+    } else {
+      obj->last = NULL;
+    };
+    obj->first = n;
+    pthread_mutex_unlock(&obj->mutex);
+    if (new_obj != NULL) {
+      node.object = new_obj;
+    } else {
+      // Add in pool.
+      pthread_mutex_lock(&pool.mutex);
+      node.next = pool.first;
+      pool.first = &node;
+      pthread_mutex_unlock(&pool.mutex);
+      // Sleep.
+      pthread_mutex_lock(&node.mutex);
+    };
+  } while (1);
+  return NULL;
+};
+
+void run_procedure(lith_object *obj)
+{ lith_node *node;
+  char *msg="COP Error!\n";
+  // Pool manager.
+  pthread_mutex_lock(&pool.mutex);
+  node = pool.first;
+  if (node != NULL) {
+    pool.first = node->next;
+  };
+  pthread_mutex_unlock(&pool.mutex);
+  // Run thread.
+  if (node == NULL) {
+    pthread_attr_setstack(&thread_attr, thread_stack[thread_counter++],PTHREAD_STACK_MIN);
+    if ((thread_counter>512) || pthread_create(&c_thread,&thread_attr, thread_life, (void *)obj)) {
+      while (*msg != 0) print_char(*(msg++));
+      die_with_code(1);
+    };
+  } else {
+    node->object = obj;
+    pthread_mutex_unlock(&node->mutex);
+  };
+};
+
+// MEMORY
+
+#define MINIMUM_SIZE 256  
+void *table_size[MINIMUM_SIZE/sizeof(void *)];
+void *last_block[64];
+
+// SYSTEM
+#include <time.h>
+// FLOAT_REAL
+#include <math.h>
+// SYSTEM_IO
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <sys/syscall.h>  
+// Hardware 'print_char'
+void print_char(char car)
+{
+  fputc(car,stdout);
+}
+
+// Hardware 'exit'
+int die_with_code(int code)
+{
+  exit(code);
+}
+
+
+
+//==========================//
+// TYPE                     //
+//==========================//
+
+// Generic Object
+struct ___OBJ {
+  unsigned long __id;
+};
+
+// NULL
+#ifndef NULL
+#define NULL ((void *)0)
+#endif
+
+// POINTER__DB
+typedef void * __POINTER__DB;
+
+// UINTEGER_32__1F
+typedef unsigned long __UINTEGER_32__1F;
+
+// INTEGER__L
+typedef int __INTEGER__L;
+
+// CHARACTER__4
+typedef char __CHARACTER__4;
+
+// MEMORY
+#define __MEMORY__YF__ 0
+typedef struct MEMORY__YF_struct __MEMORY__YF;
+struct MEMORY__YF_struct {
+  volatile __POINTER__DB previous_linear__0F;
+  volatile __UINTEGER_32__1F size_and_id__3F;
+  __MEMORY__YF *next_free__4F;
+  __MEMORY__YF *previous_free__5F;
+} __attribute__ ((packed));
+// THREAD
+#define __THREAD__RB__ 1
+typedef struct THREAD__RB_struct __THREAD__RB;
+struct THREAD__RB_struct {
+  lith_object thread;
+  int param_0;
+  __THREAD__RB *next__1G;
+  __INTEGER__L index__2G;
+};
+// OBJECT
+#define __OBJECT__E__ 2
+typedef struct OBJECT__E_struct __OBJECT__E;
+struct OBJECT__E_struct {
+  void *Nothing;
+};
+// STRING
+#define __STRING__FC__ 3
+typedef struct STRING__FC_struct __STRING__FC;
+struct STRING__FC_struct {
+  __INTEGER__L count__0FL;
+  __INTEGER__L capacity__ELL;
+  __CHARACTER__4 *storage__NLL;
+};
+// ARRAYED_COLLECTION[STRING]
+#define __ARRAYED_COLLECTIONoSTRINGo__YC__ 4
+typedef struct ARRAYED_COLLECTIONoSTRINGo__YC_struct __ARRAYED_COLLECTIONoSTRINGo__YC;
+struct ARRAYED_COLLECTIONoSTRINGo__YC_struct {
+  __INTEGER__L capacity__RZC;
+  __INTEGER__L upper__3ZC;
+  void **storage__DZC;
+};
+// FAST_ARRAY[STRING]
+#define __FAST_ARRAYoSTRINGo__XC__ 5
+typedef struct FAST_ARRAYoSTRINGo__XC_struct __FAST_ARRAYoSTRINGo__XC;
+struct FAST_ARRAYoSTRINGo__XC_struct {
+  __ARRAYED_COLLECTIONoSTRINGo__YC parent_arrayed_collection__5C;
+};
+// TRUE__C
+#define TRUE__C__ 1
+
+// FALSE__J
+#define FALSE__J__ 0
+
+// INTEGER_8__OQ
+typedef signed char __INTEGER_8__OQ;
+
+// BOOLEAN__D
+typedef char __BOOLEAN__D;
+
+
+void *table_type[6];
+
+//==========================//
+// GLOBAL                   //
+//==========================//
+
+__POINTER__DB begin_memory__PZ;
+__UINTEGER_32__1F nb_page__DEB;
+__POINTER__DB capacity_max__ZLD;
+__MEMORY__YF *first_free__JDF;
+__MEMORY__YF MEMORY__YF_;
+#define MEMORY__YF__ (&MEMORY__YF_)
+
+__THREAD__RB THREAD__RB_;
+#define THREAD__RB__ (&THREAD__RB_)
+
+__POINTER__DB clone_allocation_size__OF;
+__OBJECT__E OBJECT__E_;
+#define OBJECT__E__ (&OBJECT__E_)
+
+__STRING__FC STRING__FC_;
+#define STRING__FC__ (&STRING__FC_)
+
+__ARRAYED_COLLECTIONoSTRINGo__YC ARRAYED_COLLECTIONoSTRINGo__YC_;
+#define ARRAYED_COLLECTIONoSTRINGo__YC__ (&ARRAYED_COLLECTIONoSTRINGo__YC_)
+
+__FAST_ARRAYoSTRINGo__XC FAST_ARRAYoSTRINGo__XC_;
+#define FAST_ARRAYoSTRINGo__XC__ (&FAST_ARRAYoSTRINGo__XC_)
+
+
+//==========================//
+// FUNCTION HEADER          //
+//==========================//
+
+// Source code
+static __POINTER__DB micro_alloc__table__lab__UX(__POINTER__DB new_size__WX,__POINTER__DB ptr_table__XX,__UINTEGER_32__1F lab_type__YX);
+static void** create__WRD(__INTEGER__L nb_elements__YRD);
+static __CHARACTER__4* create__ATM(__INTEGER__L nb_elements__CTM);
+static __POINTER__DB realloc_dynamic__old_size__new_size__XQG(__POINTER__DB p__ZQG,__UINTEGER_32__1F old_sz__0QG,__UINTEGER_32__1F new_sz__1QG);
+lith_object *COP_set_next__QH(lith_object *obj,pthread_mutex_t *mutex);
+lith_object *COP_set_data__TH(lith_object *obj,pthread_mutex_t *mutex);
+static __POINTER__DB new_lab__SDB(__UINTEGER_32__1F t__UDB);
+static __MEMORY__YF* search__GCF(__POINTER__DB new_size__ICF);
+static void copy__to__size__IOI(__POINTER__DB src__KOI,__POINTER__DB dst__LOI,__UINTEGER_32__1F sz__MOI);
+static void to_busy__index__ODG(__MEMORY__YF *Self__PDG,__POINTER__DB sz__QDG,__UINTEGER_32__1F idx__RDG);
+static void print_positif__SSD(__INTEGER__L Self__TSD);
+static __MEMORY__YF* new_page__RLD();
+
+//==========================//
+// SOURCE CODE              //
+//==========================//
+
+int main(int argc,char **argv)
+{
+  __INTEGER__L __tmp__VD,typ_id__FOB,__tmp__YD,Self__HI,idx__TFC;
+  __INTEGER__L typ_id__4RJ,i__3JL,__tmp__TSM,__tmp__VSM,__tmp__4BN;
+  __INTEGER__L Self__SIO,__tmp__L3C,__tmp__N3C,__tmp__GAG,Self__W4J;
+  __INTEGER__L typ_id__XHT,Self__DH,typ_id__AF,state__LFL,result__OFL;
+  __INTEGER__L i__KFL,__tmp__TDT,__tmp__VDT,__tmp__ZHL;
+  __POINTER__DB ptr__BOB,__tmp__HOB,__tmp__BGT,__tmp__CGT,__tmp__FGT;
+  __POINTER__DB __tmp__PGT,__tmp__VGT,ptr__0RJ,__tmp__ASJ,__tmp__XDT;
+  __POINTER__DB __tmp__5P,__tmp__US,__tmp__2DT,__tmp__1U,__tmp__2BN;
+  __POINTER__DB __tmp__EAG,ptr__WHT,__tmp__YHT,__tmp__ZHT,__tmp__0HT;
+  __POINTER__DB __tmp__1HT,__tmp__3HT,__tmp__5HT,ptr__2E,__tmp__CF;
+  __POINTER__DB __tmp__5ET,__tmp__AFT,__tmp__DFT,__tmp__HGT,__tmp__NGT;
+  __UINTEGER_32__1F t__SGT,t__RT,t__2HT,t__KGT;
+  __STRING__FC *result__ZRJ,*__tmp__CMR,*__tmp__CD;
+  __THREAD__RB *result__VHT,*__tmp__VB,*first__TB,*result__1E,*__tmp__BC;
+  __CHARACTER__4 *arg__TD,*__tmp__5VS,*__tmp__MLL,*p__2JL,*__tmp__MSM;
+  __CHARACTER__4 *__tmp__USM,*__tmp__3BN,*__tmp__UDT;
+  __FAST_ARRAYoSTRINGo__XC *result__AOB,*result__SD;
+  void **__tmp__ZZC,**__tmp__E3C,**__tmp__M3C,**__tmp__FAG;
+  __CHARACTER__4 __tmp__QKL,__tmp__DGL;
+  __BOOLEAN__D __tmp__Y2C,negative__NFL,__tmp__1GL,result__XFP;
+  __BOOLEAN__D __tmp__OHL,__tmp__CIL,result__4WN,__tmp__JJL,result__RXN;
+  __BOOLEAN__D result__CVF;
+  arg_count  = argc;
+  arg_vector = argv;
+#ifdef _PTHREAD_H
+  pthread_key_create(&current_thread, NULL);
+  pthread_attr_init(&thread_attr);
+  /*pthread_attr_setdetachstate(&thread_attr,PTHREAD_CREATE_DETACHED);*/
+#endif
+  ;
+  // Pre thread.
+  { lith_node node,*n;
+    lith_object *obj;
+    void *thread_save;
+    obj = &((THREAD__RB__)->thread);
+    node.next = NULL;
+    pthread_mutex_init(&node.mutex,NULL);
+    pthread_mutex_lock(&obj->mutex);
+    n = obj->last;
+    if (n == NULL) {
+      obj->first = &node;
+    } else {
+      n->next = &node;
+      pthread_mutex_lock(&node.mutex);
+    };
+    obj->last = &node;
+    pthread_mutex_unlock(&obj->mutex);
+    pthread_mutex_lock (&node.mutex);
+    thread_save=pthread_getspecific(current_thread);
+    pthread_setspecific(current_thread,THREAD__RB__);
+    pthread_mutex_lock(&(obj->mutex));
+    n = obj->first->next;
+    if (n != NULL) {
+      pthread_mutex_unlock(&n->mutex);
+    } else {
+      obj->last = NULL;
+    };
+    obj->first = n;
+    pthread_mutex_unlock(&obj->mutex);
+    pthread_setspecific(current_thread,thread_save);
+  };
+  clone_allocation_size__OF=((__POINTER__DB )(NULL));
+  nb_page__DEB= 0;
+  MEMORY__YF__->size_and_id__3F= 0;
+  capacity_max__ZLD=((__POINTER__DB )(NULL));
+  begin_memory__PZ=((__POINTER__DB )(NULL));
+  MEMORY__YF__->previous_linear__0F=((__POINTER__DB )(NULL));
+  FAST_ARRAYoSTRINGo__XC__->parent_arrayed_collection__5C=(*ARRAYED_COLLECTIONoSTRINGo__YC__);
+  arg__TD=NULL;
+  __tmp__VD=((__INTEGER__L )(arg_count));
+  result__AOB=NULL;
+  ptr__BOB=((__POINTER__DB )(NULL));
+  typ_id__FOB= 0;
+  __tmp__HOB=((__POINTER__DB )sizeof(__FAST_ARRAYoSTRINGo__XC));
+  if ((__tmp__HOB ==  0)) {
+    result__AOB=FAST_ARRAYoSTRINGo__XC__;
+  } else {
+    typ_id__FOB=__FAST_ARRAYoSTRINGo__XC__;
+    clone_allocation_size__OF=(void *)((unsigned long)clone_allocation_size__OF - (unsigned long)(void *)((unsigned long)((__POINTER__DB ) 0) - (unsigned long)__tmp__HOB));
+    if ((typ_id__FOB == (__INTEGER__L)(-  1))) {
+      __tmp__BGT=(void *)((unsigned long)((__POINTER__DB )((__INTEGER__L )(sizeof(void *)))) - (unsigned long)((__POINTER__DB ) 1));
+      __tmp__CGT=(void *)((unsigned long)(void *)((unsigned long)__tmp__HOB - (unsigned long)(void *)((unsigned long)((__POINTER__DB ) 0) - (unsigned long)__tmp__BGT)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((__POINTER__DB ) 0) - (unsigned long)__tmp__BGT) - (unsigned long)((__POINTER__DB ) 1)));
+      __tmp__FGT=micro_alloc__table__lab__UX(__tmp__CGT,((__POINTER__DB )(&(table_size[(((__UINTEGER_32__1F )((__INTEGER__L )(void *)((unsigned long)__tmp__CGT / (unsigned long)((__POINTER__DB )((__INTEGER__L )(sizeof(void *))))))))-1]))),((__UINTEGER_32__1F )((__INTEGER__L )__tmp__CGT)));
+      ptr__BOB=__tmp__FGT;
+    } else {
+      t__SGT=((__UINTEGER_32__1F )typ_id__FOB);
+      __tmp__PGT=(void *)((unsigned long)((__POINTER__DB )((__INTEGER__L )(sizeof(void *)))) - (unsigned long)((__POINTER__DB ) 1));
+      __tmp__VGT=micro_alloc__table__lab__UX((void *)((unsigned long)(void *)((unsigned long)__tmp__HOB - (unsigned long)(void *)((unsigned long)((__POINTER__DB ) 0) - (unsigned long)__tmp__PGT)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((__POINTER__DB ) 0) - (unsigned long)__tmp__PGT) - (unsigned long)((__POINTER__DB ) 1))),((__POINTER__DB )(&(table_type[(t__SGT)]))),(__UINTEGER_32__1F)(t__SGT |  1));
+      ptr__BOB=__tmp__VGT;
+    };
+    result__AOB=((__FAST_ARRAYoSTRINGo__XC *)ptr__BOB);
+    *(result__AOB) = *(FAST_ARRAYoSTRINGo__XC__);
+  };
+  if ((result__AOB->parent_arrayed_collection__5C.capacity__RZC < __tmp__VD)) {
+    __tmp__ZZC=create__WRD(__tmp__VD);
+    result__AOB->parent_arrayed_collection__5C.storage__DZC=__tmp__ZZC;
+    result__AOB->parent_arrayed_collection__5C.capacity__RZC=__tmp__VD;
+  };
+  result__AOB->parent_arrayed_collection__5C.upper__3ZC=(__INTEGER__L)(-  1);
+  result__SD=result__AOB;
+  __tmp__YD=(__INTEGER__L)(((__INTEGER__L )(arg_count)) -  1);
+  Self__HI= 0;
+  while ((Self__HI <= __tmp__YD)) {
+    arg__TD=((__CHARACTER__4 *)(arg_vector[(Self__HI)]));
+    idx__TFC= 0;
+    __tmp__5VS=arg__TD;
+    while ((! ((idx__TFC >  1024) || ('\0' == __tmp__5VS[idx__TFC])))) {
+      idx__TFC=(__INTEGER__L)(idx__TFC +  1);
+    };
+    result__ZRJ=NULL;
+    ptr__0RJ=((__POINTER__DB )(NULL));
+    typ_id__4RJ= 0;
+    __tmp__ASJ=((__POINTER__DB )sizeof(__STRING__FC));
+    if ((__tmp__ASJ ==  0)) {
+      result__ZRJ=STRING__FC__;
+    } else {
+      typ_id__4RJ=__STRING__FC__;
+      clone_allocation_size__OF=(void *)((unsigned long)clone_allocation_size__OF - (unsigned long)(void *)((unsigned long)((__POINTER__DB ) 0) - (unsigned long)__tmp__ASJ));
+      if ((typ_id__4RJ == (__INTEGER__L)(-  1))) {
+        __tmp__XDT=(void *)((unsigned long)((__POINTER__DB )((__INTEGER__L )(sizeof(void *)))) - (unsigned long)((__POINTER__DB ) 1));
+        __tmp__5P=(void *)((unsigned long)(void *)((unsigned long)__tmp__ASJ - (unsigned long)(void *)((unsigned long)((__POINTER__DB ) 0) - (unsigned long)__tmp__XDT)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((__POINTER__DB ) 0) - (unsigned long)__tmp__XDT) - (unsigned long)((__POINTER__DB ) 1)));
+        __tmp__US=micro_alloc__table__lab__UX(__tmp__5P,((__POINTER__DB )(&(table_size[(((__UINTEGER_32__1F )((__INTEGER__L )(void *)((unsigned long)__tmp__5P / (unsigned long)((__POINTER__DB )((__INTEGER__L )(sizeof(void *))))))))-1]))),((__UINTEGER_32__1F )((__INTEGER__L )__tmp__5P)));
+        ptr__0RJ=__tmp__US;
+      } else {
+        t__RT=((__UINTEGER_32__1F )typ_id__4RJ);
+        __tmp__2DT=(void *)((unsigned long)((__POINTER__DB )((__INTEGER__L )(sizeof(void *)))) - (unsigned long)((__POINTER__DB ) 1));
+        __tmp__1U=micro_alloc__table__lab__UX((void *)((unsigned long)(void *)((unsigned long)__tmp__ASJ - (unsigned long)(void *)((unsigned long)((__POINTER__DB ) 0) - (unsigned long)__tmp__2DT)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((__POINTER__DB ) 0) - (unsigned long)__tmp__2DT) - (unsigned long)((__POINTER__DB ) 1))),((__POINTER__DB )(&(table_type[(t__RT)]))),(__UINTEGER_32__1F)(t__RT |  1));
+        ptr__0RJ=__tmp__1U;
+      };
+      result__ZRJ=((__STRING__FC *)ptr__0RJ);
+      *(result__ZRJ) = *(STRING__FC__);
+    };
+    if ((idx__TFC >  0)) {
+      if ((result__ZRJ->capacity__ELL < idx__TFC)) {
+        __tmp__MLL=create__ATM(idx__TFC);
+        result__ZRJ->storage__NLL=__tmp__MLL;
+        result__ZRJ->capacity__ELL=idx__TFC;
+      };
+    };
+    result__ZRJ->count__0FL= 0;
+    p__2JL=arg__TD;
+    i__3JL= 0;
+    result__ZRJ->count__0FL= 0;
+    __tmp__CMR=result__ZRJ;
+    while ((p__2JL[i__3JL] != '\0')) {
+      __tmp__QKL=p__2JL[i__3JL];
+      if ((__tmp__CMR->capacity__ELL <= __tmp__CMR->count__0FL)) {
+        if ((__tmp__CMR->capacity__ELL ==  0)) {
+          __tmp__CMR->capacity__ELL= 32;
+          __tmp__MSM=create__ATM( 32);
+          __tmp__CMR->storage__NLL=__tmp__MSM;
+        } else {
+          __tmp__TSM=(__INTEGER__L)(__tmp__CMR->capacity__ELL <<  1);
+          __tmp__USM=__tmp__CMR->storage__NLL;
+          __tmp__VSM=__tmp__CMR->capacity__ELL;
+          __tmp__2BN=realloc_dynamic__old_size__new_size__XQG(((__POINTER__DB )__tmp__USM),((__UINTEGER_32__1F )__tmp__VSM),((__UINTEGER_32__1F )__tmp__TSM));
+          __tmp__3BN=((__CHARACTER__4 *)__tmp__2BN);
+          __tmp__4BN=(__INTEGER__L)(__tmp__TSM -  1);
+          Self__SIO=__tmp__VSM;
+          while ((Self__SIO <= __tmp__4BN)) {
+            __tmp__3BN[Self__SIO]='\0';
+            Self__SIO=(__INTEGER__L)(Self__SIO +  1);
+          };
+          __tmp__CMR->storage__NLL=__tmp__3BN;
+          __tmp__CMR->capacity__ELL=__tmp__TSM;
+        };
+      };
+      __tmp__CMR->storage__NLL[__tmp__CMR->count__0FL]=__tmp__QKL;
+      __tmp__CMR->count__0FL=(__INTEGER__L)(__tmp__CMR->count__0FL +  1);
+      i__3JL=(__INTEGER__L)(i__3JL +  1);
+    };
+    if (((__INTEGER__L)(result__SD->parent_arrayed_collection__5C.upper__3ZC +  1) <= (__INTEGER__L)(result__SD->parent_arrayed_collection__5C.capacity__RZC -  1))) {
+      result__SD->parent_arrayed_collection__5C.upper__3ZC=(__INTEGER__L)(result__SD->parent_arrayed_collection__5C.upper__3ZC +  1);
+      __tmp__Y2C=TRUE__C__;
+    } else {
+      __tmp__Y2C=FALSE__J__;
+    };
+    if ((! __tmp__Y2C)) {
+      if ((result__SD->parent_arrayed_collection__5C.capacity__RZC ==  0)) {
+        __tmp__E3C=create__WRD( 2);
+        result__SD->parent_arrayed_collection__5C.storage__DZC=__tmp__E3C;
+        result__SD->parent_arrayed_collection__5C.capacity__RZC= 2;
+        result__SD->parent_arrayed_collection__5C.upper__3ZC= 0;
+      } else {
+        __tmp__L3C=(__INTEGER__L)(result__SD->parent_arrayed_collection__5C.capacity__RZC <<  1);
+        __tmp__M3C=result__SD->parent_arrayed_collection__5C.storage__DZC;
+        __tmp__N3C=result__SD->parent_arrayed_collection__5C.capacity__RZC;
+        __tmp__EAG=realloc_dynamic__old_size__new_size__XQG(((__POINTER__DB )__tmp__M3C),((__UINTEGER_32__1F )(__INTEGER__L)(__tmp__N3C * ((__INTEGER__L )(sizeof(void *))))),((__UINTEGER_32__1F )(__INTEGER__L)(__tmp__L3C * ((__INTEGER__L )(sizeof(void *))))));
+        __tmp__FAG=((void **)__tmp__EAG);
+        __tmp__GAG=(__INTEGER__L)(__tmp__L3C -  1);
+        Self__W4J=__tmp__N3C;
+        while ((Self__W4J <= __tmp__GAG)) {
+          __tmp__FAG[Self__W4J]=NULL;
+          Self__W4J=(__INTEGER__L)(Self__W4J +  1);
+        };
+        result__SD->parent_arrayed_collection__5C.storage__DZC=__tmp__FAG;
+        result__SD->parent_arrayed_collection__5C.capacity__RZC=__tmp__L3C;
+        result__SD->parent_arrayed_collection__5C.upper__3ZC=(__INTEGER__L)(result__SD->parent_arrayed_collection__5C.upper__3ZC +  1);
+      };
+    };
+    result__SD->parent_arrayed_collection__5C.storage__DZC[result__SD->parent_arrayed_collection__5C.upper__3ZC]=result__ZRJ;
+    Self__HI=(__INTEGER__L)(Self__HI +  1);
+  };
+  // Pre thread.
+  { lith_node node,*n;
+    lith_object *obj;
+    void *thread_save;
+    obj = &((THREAD__RB__)->thread);
+    node.next = NULL;
+    pthread_mutex_init(&node.mutex,NULL);
+    pthread_mutex_lock(&obj->mutex);
+    n = obj->last;
+    if (n == NULL) {
+      obj->first = &node;
+    } else {
+      n->next = &node;
+      pthread_mutex_lock(&node.mutex);
+    };
+    obj->last = &node;
+    pthread_mutex_unlock(&obj->mutex);
+    pthread_mutex_lock (&node.mutex);
+    thread_save=pthread_getspecific(current_thread);
+    pthread_setspecific(current_thread,THREAD__RB__);
+    pthread_mutex_lock(&(obj->mutex));
+    n = obj->first->next;
+    if (n != NULL) {
+      pthread_mutex_unlock(&n->mutex);
+    } else {
+      obj->last = NULL;
+    };
+    obj->first = n;
+    pthread_mutex_unlock(&obj->mutex);
+    pthread_setspecific(current_thread,thread_save);
+  };
+  // Pre thread.
+  { lith_node node,*n;
+    lith_object *obj;
+    void *thread_save;
+    obj = &((THREAD__RB__)->thread);
+    node.next = NULL;
+    pthread_mutex_init(&node.mutex,NULL);
+    pthread_mutex_lock(&obj->mutex);
+    n = obj->last;
+    if (n == NULL) {
+      obj->first = &node;
+    } else {
+      n->next = &node;
+      pthread_mutex_lock(&node.mutex);
+    };
+    obj->last = &node;
+    pthread_mutex_unlock(&obj->mutex);
+    pthread_mutex_lock (&node.mutex);
+    thread_save=pthread_getspecific(current_thread);
+    pthread_setspecific(current_thread,THREAD__RB__);
+    result__VHT=NULL;
+    ptr__WHT=((__POINTER__DB )(NULL));
+    typ_id__XHT= 0;
+    __tmp__YHT=((__POINTER__DB )sizeof(__THREAD__RB));
+    if ((__tmp__YHT ==  0)) {
+      result__VHT=THREAD__RB__;
+    } else {
+      typ_id__XHT=__THREAD__RB__;
+      clone_allocation_size__OF=(void *)((unsigned long)clone_allocation_size__OF - (unsigned long)(void *)((unsigned long)((__POINTER__DB ) 0) - (unsigned long)__tmp__YHT));
+      if ((typ_id__XHT == (__INTEGER__L)(-  1))) {
+        __tmp__ZHT=(void *)((unsigned long)((__POINTER__DB )((__INTEGER__L )(sizeof(void *)))) - (unsigned long)((__POINTER__DB ) 1));
+        __tmp__0HT=(void *)((unsigned long)(void *)((unsigned long)__tmp__YHT - (unsigned long)(void *)((unsigned long)((__POINTER__DB ) 0) - (unsigned long)__tmp__ZHT)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((__POINTER__DB ) 0) - (unsigned long)__tmp__ZHT) - (unsigned long)((__POINTER__DB ) 1)));
+        __tmp__1HT=micro_alloc__table__lab__UX(__tmp__0HT,((__POINTER__DB )(&(table_size[(((__UINTEGER_32__1F )((__INTEGER__L )(void *)((unsigned long)__tmp__0HT / (unsigned long)((__POINTER__DB )((__INTEGER__L )(sizeof(void *))))))))-1]))),((__UINTEGER_32__1F )((__INTEGER__L )__tmp__0HT)));
+        ptr__WHT=__tmp__1HT;
+      } else {
+        t__2HT=((__UINTEGER_32__1F )typ_id__XHT);
+        __tmp__3HT=(void *)((unsigned long)((__POINTER__DB )((__INTEGER__L )(sizeof(void *)))) - (unsigned long)((__POINTER__DB ) 1));
+        __tmp__5HT=micro_alloc__table__lab__UX((void *)((unsigned long)(void *)((unsigned long)__tmp__YHT - (unsigned long)(void *)((unsigned long)((__POINTER__DB ) 0) - (unsigned long)__tmp__3HT)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((__POINTER__DB ) 0) - (unsigned long)__tmp__3HT) - (unsigned long)((__POINTER__DB ) 1))),((__POINTER__DB )(&(table_type[(t__2HT)]))),(__UINTEGER_32__1F)(t__2HT |  1));
+        ptr__WHT=__tmp__5HT;
+      };
+      result__VHT=((__THREAD__RB *)ptr__WHT);
+      *(result__VHT) = *(THREAD__RB__);
+      ((lith_object *)(result__VHT))->first = NULL;
+      ((lith_object *)(result__VHT))->last  = NULL;
+    };
+    __tmp__VB=result__VHT;
+    pthread_mutex_lock(&(obj->mutex));
+    n = obj->first->next;
+    if (n != NULL) {
+      pthread_mutex_unlock(&n->mutex);
+    } else {
+      obj->last = NULL;
+    };
+    obj->first = n;
+    pthread_mutex_unlock(&obj->mutex);
+    pthread_setspecific(current_thread,thread_save);
+  };
+  // Pre thread.
+  { lith_node node,*n;
+    lith_object *obj;
+    void *thread_save;
+    obj = &((__tmp__VB)->thread);
+    node.next = NULL;
+    pthread_mutex_init(&node.mutex,NULL);
+    pthread_mutex_lock(&obj->mutex);
+    n = obj->last;
+    if (n == NULL) {
+      obj->first = &node;
+    } else {
+      n->next = &node;
+      pthread_mutex_lock(&node.mutex);
+    };
+    obj->last = &node;
+    pthread_mutex_unlock(&obj->mutex);
+    pthread_mutex_lock (&node.mutex);
+    thread_save=pthread_getspecific(current_thread);
+    pthread_setspecific(current_thread,__tmp__VB);
+    result__VHT->next__1G=NULL;
+    result__VHT->index__2G= 503;
+    pthread_mutex_lock(&(obj->mutex));
+    n = obj->first->next;
+    if (n != NULL) {
+      pthread_mutex_unlock(&n->mutex);
+    } else {
+      obj->last = NULL;
+    };
+    obj->first = n;
+    pthread_mutex_unlock(&obj->mutex);
+    pthread_setspecific(current_thread,thread_save);
+  };
+  first__TB=result__VHT;
+  Self__DH= 502;
+  while ((Self__DH >=  1)) {
+    // Pre thread.
+    { lith_node node,*n;
+      lith_object *obj;
+      void *thread_save;
+      obj = &((THREAD__RB__)->thread);
+      node.next = NULL;
+      pthread_mutex_init(&node.mutex,NULL);
+      pthread_mutex_lock(&obj->mutex);
+      n = obj->last;
+      if (n == NULL) {
+        obj->first = &node;
+      } else {
+        n->next = &node;
+        pthread_mutex_lock(&node.mutex);
+      };
+      obj->last = &node;
+      pthread_mutex_unlock(&obj->mutex);
+      pthread_mutex_lock (&node.mutex);
+      thread_save=pthread_getspecific(current_thread);
+      pthread_setspecific(current_thread,THREAD__RB__);
+      pthread_mutex_lock(&(obj->mutex));
+      n = obj->first->next;
+      if (n != NULL) {
+        pthread_mutex_unlock(&n->mutex);
+      } else {
+        obj->last = NULL;
+      };
+      obj->first = n;
+      pthread_mutex_unlock(&obj->mutex);
+      pthread_setspecific(current_thread,thread_save);
+    };
+    // Pre thread.
+    { lith_node node,*n;
+      lith_object *obj;
+      void *thread_save;
+      obj = &((THREAD__RB__)->thread);
+      node.next = NULL;
+      pthread_mutex_init(&node.mutex,NULL);
+      pthread_mutex_lock(&obj->mutex);
+      n = obj->last;
+      if (n == NULL) {
+        obj->first = &node;
+      } else {
+        n->next = &node;
+        pthread_mutex_lock(&node.mutex);
+      };
+      obj->last = &node;
+      pthread_mutex_unlock(&obj->mutex);
+      pthread_mutex_lock (&node.mutex);
+      thread_save=pthread_getspecific(current_thread);
+      pthread_setspecific(current_thread,THREAD__RB__);
+      result__1E=NULL;
+      ptr__2E=((__POINTER__DB )(NULL));
+      typ_id__AF= 0;
+      __tmp__CF=((__POINTER__DB )sizeof(__THREAD__RB));
+      if ((__tmp__CF ==  0)) {
+        result__1E=THREAD__RB__;
+      } else {
+        typ_id__AF=__THREAD__RB__;
+        clone_allocation_size__OF=(void *)((unsigned long)clone_allocation_size__OF - (unsigned long)(void *)((unsigned long)((__POINTER__DB ) 0) - (unsigned long)__tmp__CF));
+        if ((typ_id__AF == (__INTEGER__L)(-  1))) {
+          __tmp__5ET=(void *)((unsigned long)((__POINTER__DB )((__INTEGER__L )(sizeof(void *)))) - (unsigned long)((__POINTER__DB ) 1));
+          __tmp__AFT=(void *)((unsigned long)(void *)((unsigned long)__tmp__CF - (unsigned long)(void *)((unsigned long)((__POINTER__DB ) 0) - (unsigned long)__tmp__5ET)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((__POINTER__DB ) 0) - (unsigned long)__tmp__5ET) - (unsigned long)((__POINTER__DB ) 1)));
+          __tmp__DFT=micro_alloc__table__lab__UX(__tmp__AFT,((__POINTER__DB )(&(table_size[(((__UINTEGER_32__1F )((__INTEGER__L )(void *)((unsigned long)__tmp__AFT / (unsigned long)((__POINTER__DB )((__INTEGER__L )(sizeof(void *))))))))-1]))),((__UINTEGER_32__1F )((__INTEGER__L )__tmp__AFT)));
+          ptr__2E=__tmp__DFT;
+        } else {
+          t__KGT=((__UINTEGER_32__1F )typ_id__AF);
+          __tmp__HGT=(void *)((unsigned long)((__POINTER__DB )((__INTEGER__L )(sizeof(void *)))) - (unsigned long)((__POINTER__DB ) 1));
+          __tmp__NGT=micro_alloc__table__lab__UX((void *)((unsigned long)(void *)((unsigned long)__tmp__CF - (unsigned long)(void *)((unsigned long)((__POINTER__DB ) 0) - (unsigned long)__tmp__HGT)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((__POINTER__DB ) 0) - (unsigned long)__tmp__HGT) - (unsigned long)((__POINTER__DB ) 1))),((__POINTER__DB )(&(table_type[(t__KGT)]))),(__UINTEGER_32__1F)(t__KGT |  1));
+          ptr__2E=__tmp__NGT;
+        };
+        result__1E=((__THREAD__RB *)ptr__2E);
+        *(result__1E) = *(THREAD__RB__);
+        ((lith_object *)(result__1E))->first = NULL;
+        ((lith_object *)(result__1E))->last  = NULL;
+      };
+      __tmp__BC=result__1E;
+      pthread_mutex_lock(&(obj->mutex));
+      n = obj->first->next;
+      if (n != NULL) {
+        pthread_mutex_unlock(&n->mutex);
+      } else {
+        obj->last = NULL;
+      };
+      obj->first = n;
+      pthread_mutex_unlock(&obj->mutex);
+      pthread_setspecific(current_thread,thread_save);
+    };
+    // Pre thread.
+    { lith_node node,*n;
+      lith_object *obj;
+      void *thread_save;
+      obj = &((__tmp__BC)->thread);
+      node.next = NULL;
+      pthread_mutex_init(&node.mutex,NULL);
+      pthread_mutex_lock(&obj->mutex);
+      n = obj->last;
+      if (n == NULL) {
+        obj->first = &node;
+      } else {
+        n->next = &node;
+        pthread_mutex_lock(&node.mutex);
+      };
+      obj->last = &node;
+      pthread_mutex_unlock(&obj->mutex);
+      pthread_mutex_lock (&node.mutex);
+      thread_save=pthread_getspecific(current_thread);
+      pthread_setspecific(current_thread,__tmp__BC);
+      result__1E->next__1G=first__TB;
+      result__1E->index__2G=Self__DH;
+      pthread_mutex_lock(&(obj->mutex));
+      n = obj->first->next;
+      if (n != NULL) {
+        pthread_mutex_unlock(&n->mutex);
+      } else {
+        obj->last = NULL;
+      };
+      obj->first = n;
+      pthread_mutex_unlock(&obj->mutex);
+      pthread_setspecific(current_thread,thread_save);
+    };
+    first__TB=result__1E;
+    Self__DH=(__INTEGER__L)(Self__DH -  1);
+  };
+  pthread_mutex_lock (&(result__VHT->thread.mutex));
+  result__VHT->param_0=(int)first__TB;
+  result__VHT->thread.procedure = COP_set_next__QH;
+  run_procedure((lith_object *)result__VHT);
+  __tmp__CD=result__AOB->parent_arrayed_collection__5C.storage__DZC[ 1];
+  state__LFL= 0;
+  negative__NFL=FALSE__J__;
+  result__OFL= 0;
+  i__KFL= 1;
+  __tmp__TDT=__tmp__CD->count__0FL;
+  __tmp__UDT=__tmp__CD->storage__NLL;
+  __tmp__VDT=__tmp__CD->count__0FL;
+  while ((i__KFL <= __tmp__TDT)) {
+    __tmp__DGL=__tmp__UDT[(__INTEGER__L)(i__KFL -  1)];
+    if ((state__LFL ==  0)) {
+      if ((((((((__tmp__DGL == ' ') || (__tmp__DGL == '\t')) || (__tmp__DGL == '\n')) || (__tmp__DGL == '\r')) || (__tmp__DGL == '\0')) || (__tmp__DGL == '\f')) || (__tmp__DGL == '\v'))) {
+        __tmp__1GL=TRUE__C__;
+      } else {
+        result__XFP=(__tmp__DGL == '+');
+        if (result__XFP) {
+          state__LFL= 1;
+        };
+        __tmp__1GL=result__XFP;
+      };
+      if ((! __tmp__1GL)) {
+        if ((__tmp__DGL == '-')) {
+          negative__NFL=TRUE__C__;
+          state__LFL= 1;
+        } else {
+          result__OFL=(__INTEGER__L)(((__INTEGER__L )((__INTEGER_8__OQ )__tmp__DGL)) -  48);
+          state__LFL= 2;
+        };
+      };
+      __tmp__OHL=TRUE__C__;
+    } else {
+      __tmp__OHL=FALSE__J__;
+    };
+    if (__tmp__OHL) {
+      __tmp__CIL=TRUE__C__;
+    } else {
+      result__4WN=(state__LFL ==  1);
+      if (result__4WN) {
+        __tmp__ZHL=(__INTEGER__L)(((__INTEGER__L )((__INTEGER_8__OQ )__tmp__DGL)) -  48);
+        result__OFL=__tmp__ZHL;
+        if (negative__NFL) {
+          result__OFL=(__INTEGER__L)(- __tmp__ZHL);
+        };
+        state__LFL= 2;
+      };
+      __tmp__CIL=result__4WN;
+    };
+    if (__tmp__CIL) {
+      __tmp__JJL=TRUE__C__;
+    } else {
+      result__RXN=(state__LFL ==  2);
+      if (result__RXN) {
+        result__CVF=FALSE__J__;
+        if ((((__INTEGER_8__OQ )__tmp__DGL) >= ((__INTEGER_8__OQ )'0'))) {
+          result__CVF=(((__INTEGER_8__OQ )__tmp__DGL) <= ((__INTEGER_8__OQ )'9'));
+        };
+        if (result__CVF) {
+          if (negative__NFL) {
+            result__OFL=(__INTEGER__L)((__INTEGER__L)( 10 * result__OFL) - (__INTEGER__L)(((__INTEGER__L )((__INTEGER_8__OQ )__tmp__DGL)) -  48));
+          } else {
+            result__OFL=(__INTEGER__L)((__INTEGER__L)( 10 * result__OFL) + (__INTEGER__L)(((__INTEGER__L )((__INTEGER_8__OQ )__tmp__DGL)) -  48));
+          };
+        } else {
+          state__LFL= 3;
+        };
+      };
+      __tmp__JJL=result__RXN;
+    };
+    if ((! __tmp__JJL)) {
+      if ((state__LFL ==  3)) {
+        i__KFL=__tmp__VDT;
+      };
+    };
+    i__KFL=(__INTEGER__L)(i__KFL +  1);
+  };
+  pthread_mutex_lock (&(first__TB->thread.mutex));
+  first__TB->param_0=(int)result__OFL;
+  first__TB->thread.procedure = COP_set_data__TH;
+  run_procedure((lith_object *)first__TB);
+  pthread_join(c_thread, NULL);
+  return(0);
+}
+
+
+static __POINTER__DB micro_alloc__table__lab__UX(__POINTER__DB new_size__WX,__POINTER__DB ptr_table__XX,__UINTEGER_32__1F lab_type__YX)
+// ({POINTER__DB},{POINTER__DB},{UINTEGER_32__1F}) With result No recursive, No inlinable.
+{
+  __POINTER__DB next__2X,__tmp__5ES,result__0X,__tmp__BZ,__tmp__DZ;
+  __POINTER__DB __tmp__MFS,__tmp__J0,Result__ZX;
+  next__2X=((__POINTER__DB )(NULL));
+  __tmp__5ES=((__POINTER__DB *)ptr_table__XX)[ 0];
+  result__0X=__tmp__5ES;
+  if ((__tmp__5ES == (void *)NULL)) {
+    __tmp__BZ=new_lab__SDB(lab_type__YX);
+    result__0X=__tmp__BZ;
+    __tmp__DZ=(void *)((unsigned long)__tmp__BZ - (unsigned long)(void *)((unsigned long)((__POINTER__DB ) 0) - (unsigned long)new_size__WX));
+    next__2X=__tmp__DZ;
+    ((__POINTER__DB *)__tmp__DZ)[ 0]=NULL;
+    ((__POINTER__DB *)ptr_table__XX)[ 0]=__tmp__DZ;
+  } else {
+    __tmp__MFS=((__POINTER__DB *)result__0X)[ 0];
+    next__2X=__tmp__MFS;
+    if ((__tmp__MFS == (void *)NULL)) {
+      if (((void *)((unsigned long)(void *)((unsigned long)(void *)((unsigned long)result__0X - (unsigned long)begin_memory__PZ) & (unsigned long)((__POINTER__DB ) 4095)) - (unsigned long)(void *)((unsigned long)((__POINTER__DB ) 0) - (unsigned long)(void *)((unsigned long)new_size__WX << (unsigned long) 1))) <= ((__POINTER__DB ) 4096))) {
+        next__2X=(void *)((unsigned long)result__0X - (unsigned long)(void *)((unsigned long)((__POINTER__DB ) 0) - (unsigned long)new_size__WX));
+      } else {
+        __tmp__J0=new_lab__SDB(lab_type__YX);
+        next__2X=__tmp__J0;
+      };
+      ((__POINTER__DB *)next__2X)[ 0]=NULL;
+      ((__POINTER__DB *)ptr_table__XX)[ 0]=next__2X;
+    } else {
+      ((__POINTER__DB *)result__0X)[ 0]=(void *)((unsigned long)((__POINTER__DB *)next__2X)[ 0] & (unsigned long)((__POINTER__DB )(__INTEGER__L)(~  3)));
+      result__0X=next__2X;
+    };
+  };
+  Result__ZX=result__0X;
+  return(Result__ZX);
+}
+
+static void** create__WRD(__INTEGER__L nb_elements__YRD)
+// ({INTEGER__L}) With result No recursive, No inlinable.
+{
+  __POINTER__DB sz__ZGT,result__XGT,__tmp__YGT,__tmp__0GT,__tmp__1GT;
+  __POINTER__DB __tmp__2GT,__tmp__3GT,__tmp__4GT;
+  __MEMORY__YF *__tmp__BHT;
+  __INTEGER__L Self__DNG;
+  void **__tmp__S2D,**Result__ZRD;
+  sz__ZGT=((__POINTER__DB )(__INTEGER__L)(nb_elements__YRD * ((__INTEGER__L )(sizeof(void *)))));
+  result__XGT=((__POINTER__DB )(NULL));
+  __tmp__YGT=(void *)((unsigned long)((__POINTER__DB )((__INTEGER__L )(sizeof(void *)))) - (unsigned long)((__POINTER__DB ) 1));
+  __tmp__0GT=(void *)((unsigned long)(void *)((unsigned long)sz__ZGT - (unsigned long)(void *)((unsigned long)((__POINTER__DB ) 0) - (unsigned long)__tmp__YGT)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((__POINTER__DB ) 0) - (unsigned long)__tmp__YGT) - (unsigned long)((__POINTER__DB ) 1)));
+  __tmp__1GT=(void *)((unsigned long)__tmp__0GT - (unsigned long)(void *)((unsigned long)((__POINTER__DB ) 0) - (unsigned long)((__POINTER__DB )((__INTEGER__L )(sizeof(void *))))));
+  if ((__tmp__1GT <= ((__POINTER__DB )(MINIMUM_SIZE)))) {
+    __tmp__2GT=(void *)((unsigned long)((__POINTER__DB )((__INTEGER__L )(sizeof(void *)))) - (unsigned long)((__POINTER__DB ) 1));
+    __tmp__3GT=(void *)((unsigned long)(void *)((unsigned long)__tmp__1GT - (unsigned long)(void *)((unsigned long)((__POINTER__DB ) 0) - (unsigned long)__tmp__2GT)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((__POINTER__DB ) 0) - (unsigned long)__tmp__2GT) - (unsigned long)((__POINTER__DB ) 1)));
+    __tmp__4GT=micro_alloc__table__lab__UX(__tmp__3GT,((__POINTER__DB )(&(table_size[(((__UINTEGER_32__1F )((__INTEGER__L )(void *)((unsigned long)__tmp__3GT / (unsigned long)((__POINTER__DB )((__INTEGER__L )(sizeof(void *))))))))-1]))),((__UINTEGER_32__1F )((__INTEGER__L )__tmp__3GT)));
+    ((__POINTER__DB *)__tmp__4GT)[ 0]=((__POINTER__DB ) 3);
+    result__XGT=(void *)((unsigned long)__tmp__4GT - (unsigned long)(void *)((unsigned long)((__POINTER__DB ) 0) - (unsigned long)((__POINTER__DB )((__INTEGER__L )(sizeof(void *))))));
+  } else {
+    __tmp__BHT=search__GCF(__tmp__0GT);
+    result__XGT=(void *)((unsigned long)((__POINTER__DB )__tmp__BHT) - (unsigned long)(void *)((unsigned long)((__POINTER__DB ) 0) - (unsigned long)((__POINTER__DB ) 8)));
+  };
+  __tmp__S2D=((void **)result__XGT);
+  Self__DNG=(__INTEGER__L)(nb_elements__YRD -  1);
+  while ((Self__DNG >=  0)) {
+    __tmp__S2D[Self__DNG]=NULL;
+    Self__DNG=(__INTEGER__L)(Self__DNG -  1);
+  };
+  Result__ZRD=__tmp__S2D;
+  return(Result__ZRD);
+}
+
+static __CHARACTER__4* create__ATM(__INTEGER__L nb_elements__CTM)
+// ({INTEGER__L}) With result No recursive, No inlinable.
+{
+  __POINTER__DB sz__FHT,result__DHT,__tmp__EHT,__tmp__GHT,__tmp__HHT;
+  __POINTER__DB __tmp__IHT,__tmp__JHT,__tmp__KHT;
+  __MEMORY__YF *__tmp__NHT;
+  __INTEGER__L Self__EGN;
+  __CHARACTER__4 *__tmp__QWM,*Result__DTM;
+  sz__FHT=((__POINTER__DB )nb_elements__CTM);
+  result__DHT=((__POINTER__DB )(NULL));
+  __tmp__EHT=(void *)((unsigned long)((__POINTER__DB )((__INTEGER__L )(sizeof(void *)))) - (unsigned long)((__POINTER__DB ) 1));
+  __tmp__GHT=(void *)((unsigned long)(void *)((unsigned long)sz__FHT - (unsigned long)(void *)((unsigned long)((__POINTER__DB ) 0) - (unsigned long)__tmp__EHT)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((__POINTER__DB ) 0) - (unsigned long)__tmp__EHT) - (unsigned long)((__POINTER__DB ) 1)));
+  __tmp__HHT=(void *)((unsigned long)__tmp__GHT - (unsigned long)(void *)((unsigned long)((__POINTER__DB ) 0) - (unsigned long)((__POINTER__DB )((__INTEGER__L )(sizeof(void *))))));
+  if ((__tmp__HHT <= ((__POINTER__DB )(MINIMUM_SIZE)))) {
+    __tmp__IHT=(void *)((unsigned long)((__POINTER__DB )((__INTEGER__L )(sizeof(void *)))) - (unsigned long)((__POINTER__DB ) 1));
+    __tmp__JHT=(void *)((unsigned long)(void *)((unsigned long)__tmp__HHT - (unsigned long)(void *)((unsigned long)((__POINTER__DB ) 0) - (unsigned long)__tmp__IHT)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((__POINTER__DB ) 0) - (unsigned long)__tmp__IHT) - (unsigned long)((__POINTER__DB ) 1)));
+    __tmp__KHT=micro_alloc__table__lab__UX(__tmp__JHT,((__POINTER__DB )(&(table_size[(((__UINTEGER_32__1F )((__INTEGER__L )(void *)((unsigned long)__tmp__JHT / (unsigned long)((__POINTER__DB )((__INTEGER__L )(sizeof(void *))))))))-1]))),((__UINTEGER_32__1F )((__INTEGER__L )__tmp__JHT)));
+    ((__POINTER__DB *)__tmp__KHT)[ 0]=((__POINTER__DB ) 3);
+    result__DHT=(void *)((unsigned long)__tmp__KHT - (unsigned long)(void *)((unsigned long)((__POINTER__DB ) 0) - (unsigned long)((__POINTER__DB )((__INTEGER__L )(sizeof(void *))))));
+  } else {
+    __tmp__NHT=search__GCF(__tmp__GHT);
+    result__DHT=(void *)((unsigned long)((__POINTER__DB )__tmp__NHT) - (unsigned long)(void *)((unsigned long)((__POINTER__DB ) 0) - (unsigned long)((__POINTER__DB ) 8)));
+  };
+  __tmp__QWM=((__CHARACTER__4 *)result__DHT);
+  Self__EGN=(__INTEGER__L)(nb_elements__CTM -  1);
+  while ((Self__EGN >=  0)) {
+    __tmp__QWM[Self__EGN]='\0';
+    Self__EGN=(__INTEGER__L)(Self__EGN -  1);
+  };
+  Result__DTM=__tmp__QWM;
+  return(Result__DTM);
+}
+
+static __POINTER__DB realloc_dynamic__old_size__new_size__XQG(__POINTER__DB p__ZQG,__UINTEGER_32__1F old_sz__0QG,__UINTEGER_32__1F new_sz__1QG)
+// ({POINTER__DB},{UINTEGER_32__1F},{UINTEGER_32__1F}) With result No recursive, No inlinable.
+{
+  __POINTER__DB result__HRG,sz__BHE,result__HHE,__tmp__KBT,__tmp__THE;
+  __POINTER__DB __tmp__XHE,__tmp__WFT,__tmp__XFT,__tmp__0FT,__tmp__LSG;
+  __POINTER__DB __tmp__PSG,__tmp__4QB,__tmp__4UR,prev__PJJ,Result__2QG;
+  __UINTEGER_32__1F __tmp__FET,__tmp__URG,__tmp__YRG,__tmp__5JH;
+  __UINTEGER_32__1F __tmp__3RG,__tmp__2SG,__tmp__HSI,__tmp__ZSI;
+  __UINTEGER_32__1F __tmp__OKJ,new_size__RJJ;
+  __MEMORY__YF *__tmp__MIE,*__tmp__1SG,*result__GRI,*__tmp__VSI;
+  __MEMORY__YF *__tmp__VUI,*__tmp__IKJ,*__tmp__MKJ,*new_free__NJJ;
+  __MEMORY__YF *prev__QHT,*next__RHT;
+  result__HRG=((__POINTER__DB )(NULL));
+  __tmp__FET=(__UINTEGER_32__1F)(((__UINTEGER_32__1F )((__INTEGER__L )(sizeof(void *)))) -  1);
+  __tmp__URG=(__UINTEGER_32__1F)((__UINTEGER_32__1F)(old_sz__0QG + __tmp__FET) & (__UINTEGER_32__1F)(~ __tmp__FET));
+  __tmp__YRG=(__UINTEGER_32__1F)(__tmp__URG + ((__UINTEGER_32__1F )((__INTEGER__L )(sizeof(void *)))));
+  __tmp__5JH=(__UINTEGER_32__1F)(((__UINTEGER_32__1F )((__INTEGER__L )(sizeof(void *)))) -  1);
+  __tmp__3RG=(__UINTEGER_32__1F)((__UINTEGER_32__1F)(new_sz__1QG + __tmp__5JH) & (__UINTEGER_32__1F)(~ __tmp__5JH));
+  if ((((__POINTER__DB )__tmp__YRG) <= ((__POINTER__DB )(MINIMUM_SIZE)))) {
+    sz__BHE=((__POINTER__DB )__tmp__3RG);
+    result__HHE=((__POINTER__DB )(NULL));
+    __tmp__KBT=(void *)((unsigned long)((__POINTER__DB )((__INTEGER__L )(sizeof(void *)))) - (unsigned long)((__POINTER__DB ) 1));
+    __tmp__THE=(void *)((unsigned long)(void *)((unsigned long)sz__BHE - (unsigned long)(void *)((unsigned long)((__POINTER__DB ) 0) - (unsigned long)__tmp__KBT)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((__POINTER__DB ) 0) - (unsigned long)__tmp__KBT) - (unsigned long)((__POINTER__DB ) 1)));
+    __tmp__XHE=(void *)((unsigned long)__tmp__THE - (unsigned long)(void *)((unsigned long)((__POINTER__DB ) 0) - (unsigned long)((__POINTER__DB )((__INTEGER__L )(sizeof(void *))))));
+    if ((__tmp__XHE <= ((__POINTER__DB )(MINIMUM_SIZE)))) {
+      __tmp__WFT=(void *)((unsigned long)((__POINTER__DB )((__INTEGER__L )(sizeof(void *)))) - (unsigned long)((__POINTER__DB ) 1));
+      __tmp__XFT=(void *)((unsigned long)(void *)((unsigned long)__tmp__XHE - (unsigned long)(void *)((unsigned long)((__POINTER__DB ) 0) - (unsigned long)__tmp__WFT)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((__POINTER__DB ) 0) - (unsigned long)__tmp__WFT) - (unsigned long)((__POINTER__DB ) 1)));
+      __tmp__0FT=micro_alloc__table__lab__UX(__tmp__XFT,((__POINTER__DB )(&(table_size[(((__UINTEGER_32__1F )((__INTEGER__L )(void *)((unsigned long)__tmp__XFT / (unsigned long)((__POINTER__DB )((__INTEGER__L )(sizeof(void *))))))))-1]))),((__UINTEGER_32__1F )((__INTEGER__L )__tmp__XFT)));
+      ((__POINTER__DB *)__tmp__0FT)[ 0]=((__POINTER__DB ) 3);
+      result__HHE=(void *)((unsigned long)__tmp__0FT - (unsigned long)(void *)((unsigned long)((__POINTER__DB ) 0) - (unsigned long)((__POINTER__DB )((__INTEGER__L )(sizeof(void *))))));
+    } else {
+      __tmp__MIE=search__GCF(__tmp__THE);
+      result__HHE=(void *)((unsigned long)((__POINTER__DB )__tmp__MIE) - (unsigned long)(void *)((unsigned long)((__POINTER__DB ) 0) - (unsigned long)((__POINTER__DB ) 8)));
+    };
+    result__HRG=result__HHE;
+    copy__to__size__IOI(p__ZQG,result__HHE,__tmp__URG);
+    __tmp__LSG=(void *)((unsigned long)p__ZQG - (unsigned long)((__POINTER__DB )((__INTEGER__L )(sizeof(void *)))));
+    __tmp__PSG=((__POINTER__DB )__tmp__YRG);
+    __tmp__4QB=(void *)((unsigned long)((__POINTER__DB )((__INTEGER__L )(sizeof(void *)))) - (unsigned long)((__POINTER__DB ) 1));
+    __tmp__4UR=((__POINTER__DB *)((__POINTER__DB )(&(table_size[(((__UINTEGER_32__1F )((__INTEGER__L )(void *)((unsigned long)(void *)((unsigned long)(void *)((unsigned long)__tmp__PSG - (unsigned long)(void *)((unsigned long)((__POINTER__DB ) 0) - (unsigned long)__tmp__4QB)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((__POINTER__DB ) 0) - (unsigned long)__tmp__4QB) - (unsigned long)((__POINTER__DB ) 1))) / (unsigned long)((__POINTER__DB )((__INTEGER__L )(sizeof(void *))))))))-1]))))[ 0];
+    ((__POINTER__DB *)__tmp__LSG)[ 0]=(void *)((unsigned long)(void *)((unsigned long)((__POINTER__DB ) 0) - (unsigned long)(void *)((unsigned long)(void *)((unsigned long)(void *)((unsigned long)((__POINTER__DB ) 0) - (unsigned long)((__POINTER__DB *)__tmp__4UR)[ 0]) - (unsigned long)((__POINTER__DB ) 1)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((__POINTER__DB ) 0) - (unsigned long)((__POINTER__DB ) 3)) - (unsigned long)((__POINTER__DB ) 1)))) - (unsigned long)((__POINTER__DB ) 1));
+    ((__POINTER__DB *)__tmp__4UR)[ 0]=__tmp__LSG;
+  } else {
+    __tmp__1SG=((__MEMORY__YF *)(void *)((unsigned long)p__ZQG - (unsigned long)((__POINTER__DB ) 8)));
+    __tmp__2SG=(__UINTEGER_32__1F)(((__UINTEGER_32__1F )((unsigned int)((void *)((unsigned long)p__ZQG - (unsigned long)begin_memory__PZ)))) >>  26);
+    result__GRI=NULL;
+    __tmp__HSI=(__UINTEGER_32__1F)(__tmp__1SG->size_and_id__3F &  4294967292LU);
+    if ((__tmp__3RG > __tmp__HSI)) {
+      if ((! ((__UINTEGER_32__1F)(__tmp__1SG->size_and_id__3F &  2) !=  0))) {
+        __tmp__VSI=((__MEMORY__YF *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER__DB )__tmp__1SG) - (unsigned long)(void *)((unsigned long)((__POINTER__DB ) 0) - (unsigned long)((__POINTER__DB ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER__DB ) 0) - (unsigned long)((__POINTER__DB )(__UINTEGER_32__1F)(__tmp__1SG->size_and_id__3F &  4294967292LU)))));
+        __tmp__ZSI=(__UINTEGER_32__1F)((__UINTEGER_32__1F)(__tmp__3RG - __tmp__HSI) -  8);
+        if ((((__UINTEGER_32__1F)(__tmp__VSI->size_and_id__3F &  1) ==  0) && ((__UINTEGER_32__1F)(__tmp__VSI->size_and_id__3F &  4294967292LU) >= __tmp__ZSI))) {
+          to_busy__index__ODG(__tmp__VSI,((__POINTER__DB )__tmp__ZSI),__tmp__2SG);
+          __tmp__1SG->size_and_id__3F=(__UINTEGER_32__1F)((__UINTEGER_32__1F)(__tmp__1SG->size_and_id__3F + (__UINTEGER_32__1F)(__tmp__VSI->size_and_id__3F &  4294967294LU)) +  8);
+          if (((__UINTEGER_32__1F)(__tmp__1SG->size_and_id__3F &  2) !=  0)) {
+            last_block[(__tmp__2SG)] = (__tmp__1SG);
+          } else {
+            ((__MEMORY__YF *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER__DB )__tmp__1SG) - (unsigned long)(void *)((unsigned long)((__POINTER__DB ) 0) - (unsigned long)((__POINTER__DB ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER__DB ) 0) - (unsigned long)((__POINTER__DB )(__UINTEGER_32__1F)(__tmp__1SG->size_and_id__3F &  4294967292LU)))))->previous_linear__0F=(void *)((unsigned long)((__POINTER__DB )__tmp__1SG) - (unsigned long)begin_memory__PZ);
+          };
+          result__GRI=__tmp__1SG;
+        };
+      };
+      if (((void *)result__GRI == (void *)NULL)) {
+        __tmp__VUI=search__GCF(((__POINTER__DB )__tmp__3RG));
+        result__GRI=__tmp__VUI;
+        copy__to__size__IOI((void *)((unsigned long)((__POINTER__DB )__tmp__1SG) - (unsigned long)(void *)((unsigned long)((__POINTER__DB ) 0) - (unsigned long)((__POINTER__DB ) 8))),(void *)((unsigned long)((__POINTER__DB )__tmp__VUI) - (unsigned long)(void *)((unsigned long)((__POINTER__DB ) 0) - (unsigned long)((__POINTER__DB ) 8))),__tmp__HSI);
+        prev__PJJ=__tmp__1SG->previous_linear__0F;
+        __tmp__IKJ=((__MEMORY__YF *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER__DB )__tmp__1SG) - (unsigned long)(void *)((unsigned long)((__POINTER__DB ) 0) - (unsigned long)((__POINTER__DB ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER__DB ) 0) - (unsigned long)((__POINTER__DB )(__UINTEGER_32__1F)(__tmp__1SG->size_and_id__3F &  4294967292LU)))));
+        __tmp__MKJ=((__MEMORY__YF *)(void *)((unsigned long)begin_memory__PZ - (unsigned long)(void *)((unsigned long)((__POINTER__DB ) 0) - (unsigned long)prev__PJJ)));
+        new_free__NJJ=__tmp__MKJ;
+        __tmp__OKJ=(__UINTEGER_32__1F)(__tmp__1SG->size_and_id__3F &  4294967294LU);
+        new_size__RJJ=__tmp__OKJ;
+        if (((prev__PJJ == (void *)NULL) || ((__UINTEGER_32__1F)(__tmp__MKJ->size_and_id__3F &  1) !=  0))) {
+          new_free__NJJ=__tmp__1SG;
+          __tmp__1SG->next_free__4F=first_free__JDF;
+          __tmp__1SG->previous_free__5F=NULL;
+          if (((void *)first_free__JDF != (void *)NULL)) {
+            first_free__JDF->previous_free__5F=__tmp__1SG;
+          };
+          first_free__JDF=__tmp__1SG;
+        } else {
+          new_size__RJJ=(__UINTEGER_32__1F)((__UINTEGER_32__1F)(__tmp__OKJ + new_free__NJJ->size_and_id__3F) +  8);
+        };
+        if (((! ((__UINTEGER_32__1F)(__tmp__1SG->size_and_id__3F &  2) !=  0)) && ((__UINTEGER_32__1F)(__tmp__IKJ->size_and_id__3F &  1) ==  0))) {
+          new_size__RJJ=(__UINTEGER_32__1F)((__UINTEGER_32__1F)(new_size__RJJ + __tmp__IKJ->size_and_id__3F) +  8);
+          prev__QHT=__tmp__IKJ->previous_free__5F;
+          next__RHT=__tmp__IKJ->next_free__4F;
+          if (((void *)prev__QHT == (void *)NULL)) {
+            first_free__JDF=next__RHT;
+          } else {
+            prev__QHT->next_free__4F=next__RHT;
+          };
+          if (((void *)next__RHT != (void *)NULL)) {
+            next__RHT->previous_free__5F=prev__QHT;
+          };
+        };
+        new_free__NJJ->size_and_id__3F=new_size__RJJ;
+        if (((__UINTEGER_32__1F)(new_free__NJJ->size_and_id__3F &  2) !=  0)) {
+          last_block[(__tmp__2SG)] = (new_free__NJJ);
+        } else {
+          ((__MEMORY__YF *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER__DB )__tmp__1SG) - (unsigned long)(void *)((unsigned long)((__POINTER__DB ) 0) - (unsigned long)((__POINTER__DB ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER__DB ) 0) - (unsigned long)((__POINTER__DB )(__UINTEGER_32__1F)(__tmp__1SG->size_and_id__3F &  4294967292LU)))))->previous_linear__0F=(void *)((unsigned long)((__POINTER__DB )new_free__NJJ) - (unsigned long)begin_memory__PZ);
+        };
+      };
+    } else {
+      result__GRI=__tmp__1SG;
+    };
+    result__HRG=(void *)((unsigned long)((__POINTER__DB )result__GRI) - (unsigned long)(void *)((unsigned long)((__POINTER__DB ) 0) - (unsigned long)((__POINTER__DB ) 8)));
+  };
+  Result__2QG=result__HRG;
+  return(Result__2QG);
+}
+
+lith_object *COP_set_next__QH(lith_object *obj,pthread_mutex_t *mutex)
+// ({THREAD__RB},{NULLxTHREAD__RB}) Void No recursive, Inlinable.
+{
+  __THREAD__RB *Self__RH=(__THREAD__RB *)obj;
+  __THREAD__RB *nxt__SH=(__THREAD__RB *)(((__THREAD__RB *)obj)->param_0);
+  pthread_mutex_unlock(&obj->mutex);
+  pthread_mutex_lock(mutex);
+  Self__RH->next__1G=nxt__SH;
+  return NULL;
+}
+
+lith_object *COP_set_data__TH(lith_object *obj,pthread_mutex_t *mutex)
+// ({THREAD__RB},{INTEGER__L}) Void Recursive, No inlinable.
+{
+  __THREAD__RB *Self__UH=(__THREAD__RB *)obj;
+  __INTEGER__L n__VH=(__INTEGER__L )(((__THREAD__RB *)obj)->param_0);
+  pthread_mutex_unlock(&obj->mutex);
+  pthread_mutex_lock(mutex);
+  __INTEGER__L Self__RM;
+  __THREAD__RB *__tmp__BI;
+  __BOOLEAN__D __tmp__YM;
+  if ((n__VH ==  0)) {
+    Self__RM=Self__UH->index__2G;
+    if ((Self__RM ==  0)) {
+      fputc((int)('0'),stdout);
+      __tmp__YM=TRUE__C__;
+    } else {
+      __tmp__YM=FALSE__J__;
+    };
+    if ((! __tmp__YM)) {
+      if ((Self__RM <  0)) {
+        fputc((int)('-'),stdout);
+        print_positif__SSD((__INTEGER__L)(- Self__RM));
+      } else {
+        print_positif__SSD(Self__RM);
+      };
+    };
+    fputc((int)('\n'),stdout);
+    exit(( 0));
+  } else {
+    __tmp__BI=Self__UH->next__1G;
+    pthread_mutex_lock (&(__tmp__BI->thread.mutex));
+    __tmp__BI->param_0=(int)(__INTEGER__L)(n__VH -  1);
+    __tmp__BI->thread.procedure = COP_set_data__TH;
+    return((lith_object *)__tmp__BI);
+  };
+  return NULL;
+}
+
+static __POINTER__DB new_lab__SDB(__UINTEGER_32__1F t__UDB)
+// ({UINTEGER_32__1F}) With result No recursive, No inlinable.
+{
+  __UINTEGER_32__1F idx__WDB;
+  __MEMORY__YF *blc__ZDB,*__tmp__OFB,*prev__THT,*next__UHT,*__tmp__LGB;
+  __POINTER__DB pv__3DB,__tmp__XFB,Result__VDB;
+  __BOOLEAN__D __tmp__2EB;
+  idx__WDB= 0;
+  blc__ZDB=NULL;
+  pv__3DB=((__POINTER__DB )(NULL));
+  while_do__BIB:
+  {
+    if ((idx__WDB < nb_page__DEB)) {
+      blc__ZDB=((__MEMORY__YF *)(last_block[(idx__WDB)]));
+      __tmp__2EB=(((__UINTEGER_32__1F)(blc__ZDB->size_and_id__3F &  4294967292LU) <  4096) || ((__UINTEGER_32__1F)(blc__ZDB->size_and_id__3F &  1) ==  1));
+    } else {
+      __tmp__2EB=FALSE__J__;
+    };
+    if (__tmp__2EB) {
+      idx__WDB=(__UINTEGER_32__1F)(idx__WDB +  1);
+      goto while_do__BIB;
+    };
+  };
+  if ((idx__WDB >= nb_page__DEB)) {
+    __tmp__OFB=new_page__RLD();
+    blc__ZDB=__tmp__OFB;
+  };
+  blc__ZDB->size_and_id__3F=(__UINTEGER_32__1F)(blc__ZDB->size_and_id__3F -  4096);
+  __tmp__XFB=((__POINTER__DB )((__MEMORY__YF *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER__DB )blc__ZDB) - (unsigned long)(void *)((unsigned long)((__POINTER__DB ) 0) - (unsigned long)((__POINTER__DB ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER__DB ) 0) - (unsigned long)((__POINTER__DB )(__UINTEGER_32__1F)(blc__ZDB->size_and_id__3F &  4294967292LU))))));
+  if ((((__POINTER__DB )(__UINTEGER_32__1F)(blc__ZDB->size_and_id__3F &  4294967292LU)) < ((__POINTER__DB )(MINIMUM_SIZE)))) {
+    prev__THT=blc__ZDB->previous_free__5F;
+    next__UHT=blc__ZDB->next_free__4F;
+    if (((void *)prev__THT == (void *)NULL)) {
+      first_free__JDF=next__UHT;
+    } else {
+      prev__THT->next_free__4F=next__UHT;
+    };
+    if (((void *)next__UHT != (void *)NULL)) {
+      next__UHT->previous_free__5F=prev__THT;
+    };
+    pv__3DB=blc__ZDB->previous_linear__0F;
+    if ((pv__3DB != (void *)NULL)) {
+      __tmp__LGB=((__MEMORY__YF *)(void *)((unsigned long)begin_memory__PZ - (unsigned long)(void *)((unsigned long)((__POINTER__DB ) 0) - (unsigned long)pv__3DB)));
+      __tmp__LGB->size_and_id__3F=(__UINTEGER_32__1F)((__UINTEGER_32__1F)(__tmp__LGB->size_and_id__3F + blc__ZDB->size_and_id__3F) +  8);
+      last_block[(idx__WDB)] = (__tmp__LGB);
+    };
+  };
+  ((__POINTER__DB *)__tmp__XFB)[ 0]=((__POINTER__DB )t__UDB);
+  Result__VDB=(void *)((unsigned long)__tmp__XFB - (unsigned long)(void *)((unsigned long)((__POINTER__DB ) 0) - (unsigned long)((__POINTER__DB )((__INTEGER__L )(sizeof(void *))))));
+  return(Result__VDB);
+}
+
+static __MEMORY__YF* search__GCF(__POINTER__DB new_size__ICF)
+// ({POINTER__DB}) With result No recursive, No inlinable.
+{
+  __MEMORY__YF *result__KCF,*__tmp__HEF,*Result__JCF;
+  result__KCF=first_free__JDF;
+  while ((((void *)result__KCF != (void *)NULL) && (((__POINTER__DB )(__UINTEGER_32__1F)(result__KCF->size_and_id__3F &  4294967292LU)) < new_size__ICF))) {
+    result__KCF=result__KCF->next_free__4F;
+  };
+  if (((void *)result__KCF == (void *)NULL)) {
+    __tmp__HEF=new_page__RLD();
+    result__KCF=__tmp__HEF;
+  };
+  to_busy__index__ODG(result__KCF,new_size__ICF,(__UINTEGER_32__1F)(((__UINTEGER_32__1F )((unsigned int)((void *)((unsigned long)((__POINTER__DB )result__KCF) - (unsigned long)begin_memory__PZ)))) >>  26));
+  Result__JCF=result__KCF;
+  return(Result__JCF);
+}
+
+static void copy__to__size__IOI(__POINTER__DB src__KOI,__POINTER__DB dst__LOI,__UINTEGER_32__1F sz__MOI)
+// ({POINTER__DB},{POINTER__DB},{UINTEGER_32__1F}) Void No recursive, No inlinable.
+{
+  __INTEGER__L __tmp__5OI,Self__2ZI;
+  __POINTER__DB *na_src__NOI,*na_dst__OOI;
+  __tmp__5OI=(__INTEGER__L)(((__INTEGER__L )sz__MOI) / ((__INTEGER__L )(sizeof(void *))));
+  na_src__NOI=((__POINTER__DB *)src__KOI);
+  na_dst__OOI=((__POINTER__DB *)dst__LOI);
+  Self__2ZI=(__INTEGER__L)(__tmp__5OI -  1);
+  while ((Self__2ZI >=  0)) {
+    na_dst__OOI[Self__2ZI]=na_src__NOI[Self__2ZI];
+    Self__2ZI=(__INTEGER__L)(Self__2ZI -  1);
+  };
+}
+
+static void to_busy__index__ODG(__MEMORY__YF *Self__PDG,__POINTER__DB sz__QDG,__UINTEGER_32__1F idx__RDG)
+// ({MEMORY__YF},{POINTER__DB},{UINTEGER_32__1F}) Void No recursive, No inlinable.
+{
+  __MEMORY__YF *prev__VXG,*next__WXG,*__tmp__DFG;
+  __POINTER__DB __tmp__QEG,siz__SDG,__tmp__REG;
+  prev__VXG=Self__PDG->previous_free__5F;
+  next__WXG=Self__PDG->next_free__4F;
+  if (((void *)prev__VXG == (void *)NULL)) {
+    first_free__JDF=next__WXG;
+  } else {
+    prev__VXG->next_free__4F=next__WXG;
+  };
+  if (((void *)next__WXG != (void *)NULL)) {
+    next__WXG->previous_free__5F=prev__VXG;
+  };
+  __tmp__QEG=((__POINTER__DB )Self__PDG->size_and_id__3F);
+  siz__SDG=__tmp__QEG;
+  __tmp__REG=(void *)((unsigned long)__tmp__QEG - (unsigned long)sz__QDG);
+  if ((__tmp__REG > (void *)((unsigned long)(void *)((unsigned long)((__POINTER__DB )(MINIMUM_SIZE)) - (unsigned long)(void *)((unsigned long)((__POINTER__DB ) 0) - (unsigned long)((__POINTER__DB ) 2))) - (unsigned long)(void *)((unsigned long)((__POINTER__DB ) 0) - (unsigned long)((__POINTER__DB ) 8))))) {
+    siz__SDG=sz__QDG;
+    __tmp__DFG=((__MEMORY__YF *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER__DB )Self__PDG) - (unsigned long)(void *)((unsigned long)((__POINTER__DB ) 0) - (unsigned long)((__POINTER__DB ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER__DB ) 0) - (unsigned long)sz__QDG)));
+    __tmp__DFG->previous_linear__0F=(void *)((unsigned long)((__POINTER__DB )Self__PDG) - (unsigned long)begin_memory__PZ);
+    __tmp__DFG->size_and_id__3F=(__UINTEGER_32__1F)(((__UINTEGER_32__1F )((unsigned int)(__tmp__REG))) -  8);
+    __tmp__DFG->next_free__4F=first_free__JDF;
+    __tmp__DFG->previous_free__5F=NULL;
+    if (((void *)first_free__JDF != (void *)NULL)) {
+      first_free__JDF->previous_free__5F=__tmp__DFG;
+    };
+    first_free__JDF=__tmp__DFG;
+    if (((__UINTEGER_32__1F)(__tmp__DFG->size_and_id__3F &  2) !=  0)) {
+      last_block[(idx__RDG)] = (__tmp__DFG);
+    } else {
+      ((__MEMORY__YF *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER__DB )__tmp__DFG) - (unsigned long)(void *)((unsigned long)((__POINTER__DB ) 0) - (unsigned long)((__POINTER__DB ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER__DB ) 0) - (unsigned long)((__POINTER__DB )(__UINTEGER_32__1F)(__tmp__DFG->size_and_id__3F &  4294967292LU)))))->previous_linear__0F=(void *)((unsigned long)((__POINTER__DB )__tmp__DFG) - (unsigned long)begin_memory__PZ);
+    };
+  };
+  Self__PDG->size_and_id__3F=(__UINTEGER_32__1F)(((__UINTEGER_32__1F )((unsigned int)(siz__SDG))) |  1);
+}
+
+static void print_positif__SSD(__INTEGER__L Self__TSD)
+// ({INTEGER__L}) Void Recursive, No inlinable.
+{
+  __INTEGER__L __tmp__ATD;
+  __CHARACTER__4 Result__W4D;
+  Result__W4D=((__CHARACTER__4 )(((__INTEGER_8__OQ)(((__INTEGER_8__OQ )(__INTEGER__L)(Self__TSD %  10)) + ((__INTEGER_8__OQ )'0')))));
+  __tmp__ATD=(__INTEGER__L)(Self__TSD /  10);
+  if ((__tmp__ATD !=  0)) {
+    print_positif__SSD(__tmp__ATD);
+  };
+  fputc((int)(Result__W4D),stdout);
+}
+
+static __MEMORY__YF* new_page__RLD()
+// () With result No recursive, No inlinable.
+{
+  __POINTER__DB mem__CYE,new_mem__EYE,cap__AYE,__tmp__EMD;
+  __MEMORY__YF *__tmp__END,*Result__TLD;
+  if ((capacity_max__ZLD ==  0)) {
+    mem__CYE=((__POINTER__DB )(NULL));
+    new_mem__EYE=((__POINTER__DB )(NULL));
+    cap__AYE=((__POINTER__DB ) 33554432);
+    do {
+      cap__AYE=(void *)((unsigned long)cap__AYE * (unsigned long)((__POINTER__DB ) 2));
+      mem__CYE=new_mem__EYE;
+      new_mem__EYE=((__POINTER__DB )(realloc((new_mem__EYE),(unsigned int)(cap__AYE))));
+    } while ((! ((new_mem__EYE == (void *)NULL) || (cap__AYE == ((__POINTER__DB )((void *)(2048LU << 20)))))));
+    if ((new_mem__EYE == (void *)NULL)) {
+      cap__AYE=(void *)((unsigned long)cap__AYE / (unsigned long)((__POINTER__DB ) 2));
+    };
+    capacity_max__ZLD=cap__AYE;
+    begin_memory__PZ=mem__CYE;
+  };
+  __tmp__EMD=(void *)((unsigned long)((__POINTER__DB )nb_page__DEB) << (unsigned long) 26);
+  nb_page__DEB=(__UINTEGER_32__1F)(nb_page__DEB +  1);
+  if (((void *)((unsigned long)__tmp__EMD - (unsigned long)(void *)((unsigned long)((__POINTER__DB ) 0) - (unsigned long)((__POINTER__DB ) 67108864))) > capacity_max__ZLD)) {
+    syscall(__NR_write, 1,("Not enough memory.\n"),( 19));
+    exit(( 1));
+  };
+  __tmp__END=((__MEMORY__YF *)(void *)((unsigned long)begin_memory__PZ - (unsigned long)(void *)((unsigned long)((__POINTER__DB ) 0) - (unsigned long)__tmp__EMD)));
+  __tmp__END->previous_linear__0F=NULL;
+  __tmp__END->size_and_id__3F= 67108858;
+  __tmp__END->next_free__4F=first_free__JDF;
+  __tmp__END->previous_free__5F=NULL;
+  if (((void *)first_free__JDF != (void *)NULL)) {
+    first_free__JDF->previous_free__5F=__tmp__END;
+  };
+  first_free__JDF=__tmp__END;
+  last_block[((__UINTEGER_32__1F)(nb_page__DEB -  1))] = (__tmp__END);
+  Result__TLD=__tmp__END;
+  return(Result__TLD);
+}
diff --git a/example/shootout/TOP/thread-ring/threadring.li b/example/shootout/TOP/thread-ring/threadring.li
new file mode 100755
index 0000000..46cf2b7
--- /dev/null
+++ b/example/shootout/TOP/thread-ring/threadring.li
@@ -0,0 +1,21 @@
+Section Header
+  
+  + name := THREADRING;
+    
+Section Public
+    
+  - threads:INTEGER := 503;
+  
+  - main <-
+  ( + first,last:THREAD;
+    
+    first := last := THREAD.clone.make threads with NULL;
+    (threads-1).downto 1 do { i:INTEGER;      
+      first := THREAD.clone.make i with first;      
+    };
+    last.set_next first;
+ 
+    first.set_data (COMMAND_LINE.item 1.to_integer);        
+    OBJECT.wait_all_the_time;
+  );
+    
diff --git a/example/shootout/TOP/thread-ring/threadring_c b/example/shootout/TOP/thread-ring/threadring_c
new file mode 100755
index 0000000..dde3bd0
Binary files /dev/null and b/example/shootout/TOP/thread-ring/threadring_c differ
diff --git a/example/shootout/thread-ring/threadring_c.c b/example/shootout/TOP/thread-ring/threadring_c.c
old mode 100644
new mode 100755
similarity index 100%
copy from example/shootout/thread-ring/threadring_c.c
copy to example/shootout/TOP/thread-ring/threadring_c.c
diff --git a/example/shootout/TOP/thread-ring/threadring_tst b/example/shootout/TOP/thread-ring/threadring_tst
new file mode 100755
index 0000000..ff19614
--- /dev/null
+++ b/example/shootout/TOP/thread-ring/threadring_tst
@@ -0,0 +1,7 @@
+% ../../../../src/lisaac threadring -boost 
+% gcc -pipe -Wall -O3 -fomit-frame-pointer -march=pentium4 -lpthread threadring_c.c -o threadring_c
+echo Lisaac: 
+time ./threadring 10000000 > out_li.txt
+echo C:
+time ./threadring_c 10000000 > out_c.txt
+diff out_li.txt out_c.txt
diff --git a/example/shootout/binary_trees/treenode.li b/example/shootout/binary_trees/treenode.li
index 84ac9c0..c379d18 100644
--- a/example/shootout/binary_trees/treenode.li
+++ b/example/shootout/binary_trees/treenode.li
@@ -40,12 +40,10 @@ Section Public
     item := itm;
     (depth > 0).if {      
       left  := TREENODE.clone;
-      right := TREENODE.clone;                
+      right := TREENODE.clone;
       left.bottom_up_tree  (2*itm-1, depth-1);
       right.bottom_up_tree (2*itm  , depth-1);
     };
     Self
   );
 
-
-
diff --git a/example/shootout/fannkuch/fannkuch_tst b/example/shootout/fannkuch/fannkuch_tst
index 46abe90..8432d85 100755
--- a/example/shootout/fannkuch/fannkuch_tst
+++ b/example/shootout/fannkuch/fannkuch_tst
@@ -1,15 +1,5 @@
 lisaac fannkuch -q -O -i20
 gcc fannkuch_c.c -o fannkuch_c -O3 -fomit-frame-pointer -lm
-echo Lisaac:
-time ./fannkuch 9 > out_li.txt
-echo C:
-time ./fannkuch_c 9 > out_c.txt
-diff out_li.txt out_c.txt
-echo Lisaac:
-time ./fannkuch 10 > out_li.txt
-echo C:
-time ./fannkuch_c 10 > out_c.txt
-diff out_li.txt out_c.txt
 echo Lisaac: 
 time ./fannkuch 11 > out_li.txt
 echo C:
diff --git a/example/shootout/fasta/fasta.c b/example/shootout/fasta/fasta.c
new file mode 100755
index 0000000..8b7b882
--- /dev/null
+++ b/example/shootout/fasta/fasta.c
@@ -0,0 +1,2837 @@
+// C code generated by Lisaac compiler (www.isaacOS.com) //
+int arg_count;
+char **arg_vector;
+
+//==========================//
+// EXTERNAL                 //
+//==========================//
+
+// FLOAT_REAL
+#include <math.h>
+// MEMORY
+
+#define MINIMUM_SIZE 256  
+void *table_size[MINIMUM_SIZE/sizeof(void *)];
+void *last_block[64];
+
+// SYSTEM_IO
+
+#include <stdio.h>
+#include <stdlib.h>
+  
+// Hardware 'print_char'
+void print_char(char car)
+{
+  fputc(car,stdout);
+}
+
+// Hardware 'exit'
+int die_with_code(int code)
+{
+  exit(code);
+}
+
+
+// SYSTEM
+#include <time.h>
+
+//==========================//
+// TYPE                     //
+//==========================//
+
+// Generic Object
+struct ___OBJ {
+  unsigned long __id;
+};
+
+// NULL
+#ifndef NULL
+#define NULL ((void *)0)
+#endif
+
+// POINTER
+typedef void * __POINTER;
+
+// UINTEGER_32
+typedef unsigned long __UINTEGER_32;
+
+// INTEGER
+typedef int __INTEGER;
+
+// CHARACTER
+typedef char __CHARACTER;
+
+// REAL_64
+typedef double __REAL_64;
+
+// FREQUENCY
+#define __FREQUENCY__ 0
+typedef struct FREQUENCY_struct __FREQUENCY;
+struct FREQUENCY_struct {
+  __REAL_64 p__TH;
+  __CHARACTER c__DNC;
+};
+__FREQUENCY FREQUENCY_;
+#define FREQUENCY__ (&FREQUENCY_)
+
+// ARRAYED_COLLECTION[FREQUENCY]
+#define __ARRAYED_COLLECTIONoFREQUENCYo__ 1
+typedef struct ARRAYED_COLLECTIONoFREQUENCYo_struct __ARRAYED_COLLECTIONoFREQUENCYo;
+struct ARRAYED_COLLECTIONoFREQUENCYo_struct {
+  __INTEGER upper__JH;
+  __INTEGER capacity__FJC;
+  void **storage__BKC;
+};
+__ARRAYED_COLLECTIONoFREQUENCYo ARRAYED_COLLECTIONoFREQUENCYo_;
+#define ARRAYED_COLLECTIONoFREQUENCYo__ (&ARRAYED_COLLECTIONoFREQUENCYo_)
+
+// FAST_ARRAY[FREQUENCY]
+#define __FAST_ARRAYoFREQUENCYo__ 2
+typedef struct FAST_ARRAYoFREQUENCYo_struct __FAST_ARRAYoFREQUENCYo;
+struct FAST_ARRAYoFREQUENCYo_struct {
+  __ARRAYED_COLLECTIONoFREQUENCYo parent_arrayed_collection__FB;
+};
+__FAST_ARRAYoFREQUENCYo FAST_ARRAYoFREQUENCYo_;
+#define FAST_ARRAYoFREQUENCYo__ (&FAST_ARRAYoFREQUENCYo_)
+
+// STRING_CONSTANT
+#define __STRING_CONSTANT__ 3
+typedef struct STRING_CONSTANT_struct __STRING_CONSTANT;
+struct STRING_CONSTANT_struct {
+  __INTEGER count__MI;
+  __CHARACTER *storage__JVD;
+};
+__STRING_CONSTANT STRING_CONSTANT_;
+#define STRING_CONSTANT__ (&STRING_CONSTANT_)
+
+// MEMORY
+#define __MEMORY__ 4
+typedef struct MEMORY_struct __MEMORY;
+struct MEMORY_struct {
+  volatile __UINTEGER_32 previous_linear__3Q;
+  volatile __UINTEGER_32 size_and_id__4Q;
+  __MEMORY *next_free__5Q;
+  __MEMORY *previous_free__AR;
+} __attribute__ ((packed));
+__MEMORY MEMORY_;
+#define MEMORY__ (&MEMORY_)
+
+// STRING
+#define __STRING__ 5
+typedef struct STRING_struct __STRING;
+struct STRING_struct {
+  __INTEGER count__2HH;
+  __INTEGER capacity__CKH;
+  __CHARACTER *storage__LKH;
+};
+__STRING STRING_;
+#define STRING__ (&STRING_)
+
+// ARRAYED_COLLECTION[STRING]
+#define __ARRAYED_COLLECTIONoSTRINGo__ 6
+typedef struct ARRAYED_COLLECTIONoSTRINGo_struct __ARRAYED_COLLECTIONoSTRINGo;
+struct ARRAYED_COLLECTIONoSTRINGo_struct {
+  __INTEGER capacity__GOC;
+  __INTEGER upper__SOC;
+  void **storage__3IC;
+};
+__ARRAYED_COLLECTIONoSTRINGo ARRAYED_COLLECTIONoSTRINGo_;
+#define ARRAYED_COLLECTIONoSTRINGo__ (&ARRAYED_COLLECTIONoSTRINGo_)
+
+// FAST_ARRAY[STRING]
+#define __FAST_ARRAYoSTRINGo__ 7
+typedef struct FAST_ARRAYoSTRINGo_struct __FAST_ARRAYoSTRINGo;
+struct FAST_ARRAYoSTRINGo_struct {
+  __ARRAYED_COLLECTIONoSTRINGo parent_arrayed_collection__GC;
+};
+__FAST_ARRAYoSTRINGo FAST_ARRAYoSTRINGo_;
+#define FAST_ARRAYoSTRINGo__ (&FAST_ARRAYoSTRINGo_)
+
+// NUMERIC
+#define __NUMERIC__ 8
+typedef struct NUMERIC_struct __NUMERIC;
+struct NUMERIC_struct {
+  void *Nothing;
+};
+__NUMERIC NUMERIC_;
+#define NUMERIC__ (&NUMERIC_)
+
+// OBJECT
+#define __OBJECT__ 9
+typedef struct OBJECT_struct __OBJECT;
+struct OBJECT_struct {
+  void *Nothing;
+};
+__OBJECT OBJECT_;
+#define OBJECT__ (&OBJECT_)
+
+// TRUE
+#define TRUE__ 1
+
+// FALSE
+#define FALSE__ 0
+
+// FASTA
+#define __FASTA__ 10
+typedef struct FASTA_struct __FASTA;
+struct FASTA_struct {
+  void *Nothing;
+};
+__FASTA FASTA_;
+#define FASTA__ (&FASTA_)
+
+// INTEGER_8
+typedef signed char __INTEGER_8;
+
+// BOOLEAN
+typedef char __BOOLEAN;
+
+
+void *table_type[11];
+
+//==========================//
+// GLOBAL                   //
+//==========================//
+
+void *parent_numeric__H;
+__POINTER begin_memory__TKB;
+__UINTEGER_32 nb_page__2XB;
+__UINTEGER_32 capacity_max__IKD;
+__MEMORY *first_free__5JG;
+__UINTEGER_32 clone_allocation_size__TQ;
+void *iub__GB;
+void *homo_sapiens__IB;
+__CHARACTER *pick__PJ;
+__INTEGER last__FCG;
+
+//==========================//
+// STRING CONSTANT          //
+//==========================//
+
+__STRING_CONSTANT __string_1={3,"ONE"};
+__STRING_CONSTANT __string_2={16,"Homo sapiens alu"};
+__STRING_CONSTANT __string_3={287,"GGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTG\
+GGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCT\
+ACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAG\
+AATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGC\
+GAGACTCCGTCTCAAAAA"};
+__STRING_CONSTANT __string_4={3,"TWO"};
+__STRING_CONSTANT __string_5={19,"IUB ambiguity codes"};
+__STRING_CONSTANT __string_6={5,"THREE"};
+__STRING_CONSTANT __string_7={22,"Homo sapiens frequency"};
+__STRING_CONSTANT __string_8={19,"Not enough memory.\n"};
+
+//==========================//
+// FUNCTION HEADER          //
+//==========================//
+
+// Debug Manager
+void print_string(char *str);
+// Source code
+static __POINTER new_lab__KXB(__UINTEGER_32 t__MXB);
+static void** create__5EG(__INTEGER nb_elements__BFG);
+static __CHARACTER* create__T4D(__INTEGER nb_elements__V4D);
+static __POINTER realloc_dynamic__old_size__new_size__RGI(__POINTER p__TGI,__UINTEGER_32 old_sz__UGI,__UINTEGER_32 new_sz__VGI);
+static __FAST_ARRAYoFREQUENCYo* create_with_capacity__YL(__INTEGER new_count__0L);
+static void add_last__AJC(__FAST_ARRAYoFREQUENCYo *Self__BJC,void *element__CJC);
+static void print__3N(__STRING_CONSTANT *Self__4N);
+static void make_random_fasta__3J(void *id__5J,void *desc__AK,void *a__BK,__INTEGER n__CK);
+static __MEMORY* new_page__4JD();
+static __MEMORY* search__2IG(__UINTEGER_32 new_size__4IG);
+static void** create__VNE(__INTEGER nb_elements__XNE);
+
+//==========================//
+// SOURCE CODE              //
+//==========================//
+
+int main(int argc,char **argv)
+{
+  __INTEGER new_count__4O,typ_id__AV,Self__JP,limit_up__KP,idx__PQD;
+  __INTEGER typ_id__XCE,i__UHH,new_capacity__GDL,__tmp__5DL,__tmp__B1L;
+  __INTEGER Self__B1M,new_capacity__ISD,__tmp__MTD,__tmp__YRH,Self__CZM;
+  __INTEGER state__PFM,result__SFM,i__OFM,__tmp__OQU,__tmp__QQU;
+  __INTEGER typ_id__ATU,typ_id__LTU,typ_id__WTU,typ_id__BUU,typ_id__MUU;
+  __INTEGER typ_id__XUU,typ_id__CVU,typ_id__NVU,typ_id__YVU,typ_id__DWU;
+  __INTEGER typ_id__OWU,typ_id__ZWU,typ_id__EXU,typ_id__PXU,typ_id__0XU;
+  __INTEGER typ_id__FYU,typ_id__QYU,typ_id__1YU,typ_id__3R,Self__5BV;
+  __INTEGER limit_up__BCV,Self__GN,limit_up__HN,n__GI,j__JI,idx__LI;
+  __INTEGER kn__II,k__HI,i__KI,result__LOD;
+  __POINTER ptr__1U,ptr_table__J0U,next__I0U,result__K0U,ptr_table__P0U;
+  __POINTER next__O0U,result__Q0U,ptr__SCE,ptr_table__V0U,next__U0U;
+  __POINTER result__W0U,ptr_table__10U,next__00U,result__20U,ptr__5SU;
+  __POINTER ptr_table__B1U,next__A1U,result__C1U,ptr_table__H1U;
+  __POINTER next__G1U,result__I1U,ptr__KTU,ptr_table__N1U,next__M1U;
+  __POINTER result__O1U,ptr_table__T1U,next__S1U,result__U1U,ptr__VTU;
+  __POINTER ptr_table__Z1U,next__Y1U,result__01U,ptr_table__51U;
+  __POINTER next__41U,result__A2U,ptr__AUU,ptr_table__F2U,next__E2U;
+  __POINTER result__G2U,ptr_table__L2U,next__K2U,result__M2U,ptr__LUU;
+  __POINTER ptr_table__R2U,next__Q2U,result__S2U,ptr_table__X2U;
+  __POINTER next__W2U,result__Y2U,ptr__WUU,ptr_table__32U,next__22U;
+  __POINTER result__42U,ptr_table__D3U,next__C3U,result__E3U,ptr__BVU;
+  __POINTER ptr_table__J3U,next__I3U,result__K3U,ptr_table__P3U;
+  __POINTER next__O3U,result__Q3U,ptr__MVU,ptr_table__V3U,next__U3U;
+  __POINTER result__W3U,ptr_table__13U,next__03U,result__23U,ptr__XVU;
+  __POINTER ptr_table__B4U,next__A4U,result__C4U,ptr_table__H4U;
+  __POINTER next__G4U,result__I4U,ptr__CWU,ptr_table__N4U,next__M4U;
+  __POINTER result__O4U,ptr_table__T4U,next__S4U,result__U4U,ptr__NWU;
+  __POINTER ptr_table__Z4U,next__Y4U,result__04U,ptr_table__54U;
+  __POINTER next__44U,result__A5U,ptr__YWU,ptr_table__F5U,next__E5U;
+  __POINTER result__G5U,ptr_table__L5U,next__K5U,result__M5U,ptr__DXU;
+  __POINTER ptr_table__R5U,next__Q5U,result__S5U,ptr_table__X5U;
+  __POINTER next__W5U,result__Y5U,ptr__OXU,ptr_table__35U,next__25U;
+  __POINTER result__45U,ptr_table__DAV,next__CAV,result__EAV,ptr__ZXU;
+  __POINTER ptr_table__JAV,next__IAV,result__KAV,ptr_table__PAV;
+  __POINTER next__OAV,result__QAV,ptr__EYU,ptr_table__VAV,next__UAV;
+  __POINTER result__WAV,ptr_table__1AV,next__0AV,result__2AV,ptr__PYU;
+  __POINTER ptr_table__BBV,next__ABV,result__CBV,ptr_table__HBV;
+  __POINTER next__GBV,result__IBV,ptr__0YU,ptr_table__NBV,next__MBV;
+  __POINTER result__OBV,ptr_table__TBV,next__SBV,result__UBV,ptr__YR;
+  __POINTER ptr_table__ZBV,next__YBV,result__0BV,ptr_table__ZIB;
+  __POINTER next__4IB,result__2IB;
+  __UINTEGER_32 sz__3U,a__UPU,new_size__VPU,t__4PU,a__1PU,new_size__S0U;
+  __UINTEGER_32 lab_type__R0U,sz__UCE,a__RMU,new_size__SCB,t__1DB;
+  __UINTEGER_32 a__XMU,new_size__40U,lab_type__30U,sz__BTU,a__CTU;
+  __UINTEGER_32 new_size__DTU,t__ETU,a__FTU,new_size__K1U,lab_type__J1U;
+  __UINTEGER_32 sz__MTU,a__NTU,new_size__OTU,t__PTU,a__QTU;
+  __UINTEGER_32 new_size__W1U,lab_type__V1U,sz__XTU,a__YTU;
+  __UINTEGER_32 new_size__ZTU,t__0TU,a__1TU,new_size__C2U,lab_type__B2U;
+  __UINTEGER_32 sz__CUU,a__DUU,new_size__EUU,t__FUU,a__GUU;
+  __UINTEGER_32 new_size__O2U,lab_type__N2U,sz__NUU,a__OUU;
+  __UINTEGER_32 new_size__PUU,t__QUU,a__RUU,new_size__02U,lab_type__Z2U;
+  __UINTEGER_32 sz__YUU,a__ZUU,new_size__0UU,t__1UU,a__2UU;
+  __UINTEGER_32 new_size__G3U,lab_type__F3U,sz__DVU,a__EVU;
+  __UINTEGER_32 new_size__FVU,t__GVU,a__HVU,new_size__S3U,lab_type__R3U;
+  __UINTEGER_32 sz__OVU,a__PVU,new_size__QVU,t__RVU,a__SVU;
+  __UINTEGER_32 new_size__43U,lab_type__33U,sz__ZVU,a__0VU;
+  __UINTEGER_32 new_size__1VU,t__2VU,a__3VU,new_size__K4U,lab_type__J4U;
+  __UINTEGER_32 sz__EWU,a__FWU,new_size__GWU,t__HWU,a__IWU;
+  __UINTEGER_32 new_size__W4U,lab_type__V4U,sz__PWU,a__QWU;
+  __UINTEGER_32 new_size__RWU,t__SWU,a__TWU,new_size__C5U,lab_type__B5U;
+  __UINTEGER_32 sz__0WU,a__1WU,new_size__2WU,t__3WU,a__4WU;
+  __UINTEGER_32 new_size__O5U,lab_type__N5U,sz__FXU,a__GXU;
+  __UINTEGER_32 new_size__HXU,t__IXU,a__JXU,new_size__05U,lab_type__Z5U;
+  __UINTEGER_32 sz__QXU,a__RXU,new_size__SXU,t__TXU,a__UXU;
+  __UINTEGER_32 new_size__GAV,lab_type__FAV,sz__1XU,a__2XU;
+  __UINTEGER_32 new_size__3XU,t__4XU,a__5XU,new_size__SAV,lab_type__RAV;
+  __UINTEGER_32 sz__GYU,a__HYU,new_size__IYU,t__JYU,a__KYU;
+  __UINTEGER_32 new_size__4AV,lab_type__3AV,sz__RYU,a__SYU;
+  __UINTEGER_32 new_size__TYU,t__UYU,a__VYU,new_size__KBV,lab_type__JBV;
+  __UINTEGER_32 sz__2YU,a__3YU,new_size__4YU,t__5YU,a__AZU;
+  __UINTEGER_32 new_size__WBV,lab_type__VBV,sz__0R,a__BOU,new_size__COU;
+  __UINTEGER_32 t__LOU,a__IOU,new_size__YIB,lab_type__0IB;
+  __STRING *result__RCE,*Self__TJH,*Self__SHH,*Self__MFM;
+  __REAL_64 p_p__ITU,p_p__TTU,p_p__4TU,p_p__JUU,p_p__UUU,p_p__5UU;
+  __REAL_64 p_p__KVU,p_p__VVU,p_p__AWU,p_p__LWU,p_p__WWU,p_p__BXU;
+  __REAL_64 p_p__MXU,p_p__XXU,p_p__CYU,p_p__NYU,p_p__YYU,p_p__DZU;
+  __REAL_64 p_p__HM,cp__4BV,cp__GH;
+  __FREQUENCY *result__4SU,*Self__GTU,*result__JTU,*Self__RTU;
+  __FREQUENCY *result__UTU,*Self__2TU,*result__5TU,*Self__HUU;
+  __FREQUENCY *result__KUU,*Self__SUU,*result__VUU,*Self__3UU;
+  __FREQUENCY *result__AVU,*Self__IVU,*result__LVU,*Self__TVU;
+  __FREQUENCY *result__WVU,*Self__4VU,*result__BWU,*Self__JWU;
+  __FREQUENCY *result__MWU,*Self__UWU,*result__XWU,*Self__5WU;
+  __FREQUENCY *result__CXU,*Self__KXU,*result__NXU,*Self__VXU;
+  __FREQUENCY *result__YXU,*Self__AYU,*result__DYU,*Self__LYU;
+  __FREQUENCY *result__OYU,*Self__WYU,*result__ZYU,*Self__BZU;
+  __FREQUENCY *result__XR,*Self__ANC;
+  __CHARACTER *arg__GL,*Self__DQD,*p__THH,*__tmp__4DL,*new__O0L;
+  __CHARACTER *__tmp__PQU,*__tmp__YQU;
+  __FAST_ARRAYoSTRINGo *result__0U,*Self__3NC,*Self__GSD;
+  void *result__FL;
+  __CHARACTER __tmp__JIH,cc__QFM;
+  __BOOLEAN __tmp__WSD,negative__RFM,__tmp__4GM,result__EUR,__tmp__RHM;
+  __BOOLEAN __tmp__GIM,result__IAQ,__tmp__NJM,result__0AQ,result__D0Q;
+  void **__tmp__LTD,**new__FRH;
+  void **__tmp__CCV,**__tmp__DCV,**__tmp__XSU,**__tmp__YSU;
+  arg_count  = argc;
+  arg_vector = argv;
+  ARRAYED_COLLECTIONoSTRINGo__->storage__3IC=NULL;
+  ARRAYED_COLLECTIONoSTRINGo__->capacity__GOC= 0;
+  ARRAYED_COLLECTIONoSTRINGo__->upper__SOC= 0;
+  FAST_ARRAYoSTRINGo__->parent_arrayed_collection__GC=(*ARRAYED_COLLECTIONoSTRINGo__);
+  parent_numeric__H=NUMERIC__;
+  clone_allocation_size__TQ= 0;
+  STRING_CONSTANT__->count__MI=((__INTEGER )((0)));
+  STRING_CONSTANT__->storage__JVD=((__CHARACTER *)(NULL));
+  nb_page__2XB= 0;
+  MEMORY__->size_and_id__4Q= 0;
+  capacity_max__IKD= 0;
+  begin_memory__TKB=((__POINTER )(NULL));
+  MEMORY__->previous_linear__3Q= 0;
+  first_free__5JG=NULL;
+  MEMORY__->next_free__5Q=NULL;
+  MEMORY__->previous_free__AR=NULL;
+  STRING__->capacity__CKH= 0;
+  STRING__->storage__LKH=NULL;
+  STRING__->count__2HH= 0;
+  arg__GL=NULL;
+  new_count__4O=((__INTEGER )(arg_count));
+  result__0U=NULL;
+  ptr__1U=((__POINTER )(NULL));
+  typ_id__AV= 0;
+  sz__3U=((__UINTEGER_32 )sizeof(__FAST_ARRAYoSTRINGo));
+  if ((sz__3U ==  0)) {
+    result__0U=FAST_ARRAYoSTRINGo__;
+  } else {
+    typ_id__AV=__FAST_ARRAYoSTRINGo__;
+    clone_allocation_size__TQ=sz__3U;
+    if ((typ_id__AV == (__INTEGER)(-  1))) {
+      a__UPU=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__VPU=(__UINTEGER_32)((__UINTEGER_32)(sz__3U + a__UPU) & (__UINTEGER_32)(~ a__UPU));
+      ptr_table__J0U=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__VPU / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+      next__I0U=((__POINTER )(NULL));
+      result__K0U=((__POINTER *)ptr_table__J0U)[ 0];
+      if ((result__K0U == (void *)NULL)) {
+        result__K0U=new_lab__KXB(new_size__VPU);
+        next__I0U=(void *)((unsigned long)result__K0U - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__VPU)));
+        ((__POINTER *)next__I0U)[ 0]=NULL;
+        ((__POINTER *)ptr_table__J0U)[ 0]=next__I0U;
+      } else {
+        next__I0U=((__POINTER *)result__K0U)[ 0];
+        if ((next__I0U == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__K0U - (unsigned long)begin_memory__TKB)))) &  4095) + (__UINTEGER_32)(new_size__VPU <<  1)) <=  4096)) {
+            next__I0U=(void *)((unsigned long)result__K0U - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__VPU)));
+          } else {
+            next__I0U=new_lab__KXB(new_size__VPU);
+          };
+          ((__POINTER *)next__I0U)[ 0]=NULL;
+          ((__POINTER *)ptr_table__J0U)[ 0]=next__I0U;
+        } else {
+          ((__POINTER *)result__K0U)[ 0]=(void *)((unsigned long)((__POINTER *)next__I0U)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__K0U=next__I0U;
+        };
+      };
+      ptr__1U=result__K0U;
+    } else {
+      t__4PU=((__UINTEGER_32 )typ_id__AV);
+      a__1PU=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__S0U=(__UINTEGER_32)((__UINTEGER_32)(sz__3U + a__1PU) & (__UINTEGER_32)(~ a__1PU));
+      ptr_table__P0U=((__POINTER )(&(table_type[(t__4PU)])));
+      lab_type__R0U=(__UINTEGER_32)(t__4PU |  1);
+      next__O0U=((__POINTER )(NULL));
+      result__Q0U=((__POINTER *)ptr_table__P0U)[ 0];
+      if ((result__Q0U == (void *)NULL)) {
+        result__Q0U=new_lab__KXB(lab_type__R0U);
+        next__O0U=(void *)((unsigned long)result__Q0U - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__S0U)));
+        ((__POINTER *)next__O0U)[ 0]=NULL;
+        ((__POINTER *)ptr_table__P0U)[ 0]=next__O0U;
+      } else {
+        next__O0U=((__POINTER *)result__Q0U)[ 0];
+        if ((next__O0U == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__Q0U - (unsigned long)begin_memory__TKB)))) &  4095) + (__UINTEGER_32)(new_size__S0U <<  1)) <=  4096)) {
+            next__O0U=(void *)((unsigned long)result__Q0U - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__S0U)));
+          } else {
+            next__O0U=new_lab__KXB(lab_type__R0U);
+          };
+          ((__POINTER *)next__O0U)[ 0]=NULL;
+          ((__POINTER *)ptr_table__P0U)[ 0]=next__O0U;
+        } else {
+          ((__POINTER *)result__Q0U)[ 0]=(void *)((unsigned long)((__POINTER *)next__O0U)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__Q0U=next__O0U;
+        };
+      };
+      ptr__1U=result__Q0U;
+    };
+    result__0U=((__FAST_ARRAYoSTRINGo *)ptr__1U);
+    *(result__0U) = *(FAST_ARRAYoSTRINGo__);
+  };
+  Self__3NC=((__FAST_ARRAYoSTRINGo *)result__0U);
+  if ((Self__3NC->parent_arrayed_collection__GC.capacity__GOC < new_count__4O)) {
+    Self__3NC->parent_arrayed_collection__GC.storage__3IC=create__5EG(new_count__4O);
+    Self__3NC->parent_arrayed_collection__GC.capacity__GOC=new_count__4O;
+  };
+  Self__3NC->parent_arrayed_collection__GC.upper__SOC=(__INTEGER)(-  1);
+  result__FL=result__0U;
+  Self__JP= 0;
+  limit_up__KP=(__INTEGER)(((__INTEGER )(arg_count)) -  1);
+  while ((Self__JP <= limit_up__KP)) {
+    arg__GL=((__CHARACTER *)(arg_vector[(Self__JP)]));
+    Self__DQD=((__CHARACTER *)arg__GL);
+    idx__PQD= 0;
+    while ((! ((idx__PQD >  1024) || ('\0' == Self__DQD[idx__PQD])))) {
+      idx__PQD=(__INTEGER)(idx__PQD +  1);
+    };
+    result__RCE=NULL;
+    ptr__SCE=((__POINTER )(NULL));
+    typ_id__XCE= 0;
+    sz__UCE=((__UINTEGER_32 )sizeof(__STRING));
+    if ((sz__UCE ==  0)) {
+      result__RCE=STRING__;
+    } else {
+      typ_id__XCE=__STRING__;
+      clone_allocation_size__TQ=(__UINTEGER_32)(clone_allocation_size__TQ + sz__UCE);
+      if ((typ_id__XCE == (__INTEGER)(-  1))) {
+        a__RMU=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+        new_size__SCB=(__UINTEGER_32)((__UINTEGER_32)(sz__UCE + a__RMU) & (__UINTEGER_32)(~ a__RMU));
+        ptr_table__V0U=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__SCB / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+        next__U0U=((__POINTER )(NULL));
+        result__W0U=((__POINTER *)ptr_table__V0U)[ 0];
+        if ((result__W0U == (void *)NULL)) {
+          result__W0U=new_lab__KXB(new_size__SCB);
+          next__U0U=(void *)((unsigned long)result__W0U - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__SCB)));
+          ((__POINTER *)next__U0U)[ 0]=NULL;
+          ((__POINTER *)ptr_table__V0U)[ 0]=next__U0U;
+        } else {
+          next__U0U=((__POINTER *)result__W0U)[ 0];
+          if ((next__U0U == (void *)NULL)) {
+            if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__W0U - (unsigned long)begin_memory__TKB)))) &  4095) + (__UINTEGER_32)(new_size__SCB <<  1)) <=  4096)) {
+              next__U0U=(void *)((unsigned long)result__W0U - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__SCB)));
+            } else {
+              next__U0U=new_lab__KXB(new_size__SCB);
+            };
+            ((__POINTER *)next__U0U)[ 0]=NULL;
+            ((__POINTER *)ptr_table__V0U)[ 0]=next__U0U;
+          } else {
+            ((__POINTER *)result__W0U)[ 0]=(void *)((unsigned long)((__POINTER *)next__U0U)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+            result__W0U=next__U0U;
+          };
+        };
+        ptr__SCE=result__W0U;
+      } else {
+        t__1DB=((__UINTEGER_32 )typ_id__XCE);
+        a__XMU=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+        new_size__40U=(__UINTEGER_32)((__UINTEGER_32)(sz__UCE + a__XMU) & (__UINTEGER_32)(~ a__XMU));
+        ptr_table__10U=((__POINTER )(&(table_type[(t__1DB)])));
+        lab_type__30U=(__UINTEGER_32)(t__1DB |  1);
+        next__00U=((__POINTER )(NULL));
+        result__20U=((__POINTER *)ptr_table__10U)[ 0];
+        if ((result__20U == (void *)NULL)) {
+          result__20U=new_lab__KXB(lab_type__30U);
+          next__00U=(void *)((unsigned long)result__20U - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__40U)));
+          ((__POINTER *)next__00U)[ 0]=NULL;
+          ((__POINTER *)ptr_table__10U)[ 0]=next__00U;
+        } else {
+          next__00U=((__POINTER *)result__20U)[ 0];
+          if ((next__00U == (void *)NULL)) {
+            if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__20U - (unsigned long)begin_memory__TKB)))) &  4095) + (__UINTEGER_32)(new_size__40U <<  1)) <=  4096)) {
+              next__00U=(void *)((unsigned long)result__20U - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__40U)));
+            } else {
+              next__00U=new_lab__KXB(lab_type__30U);
+            };
+            ((__POINTER *)next__00U)[ 0]=NULL;
+            ((__POINTER *)ptr_table__10U)[ 0]=next__00U;
+          } else {
+            ((__POINTER *)result__20U)[ 0]=(void *)((unsigned long)((__POINTER *)next__00U)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+            result__20U=next__00U;
+          };
+        };
+        ptr__SCE=result__20U;
+      };
+      result__RCE=((__STRING *)ptr__SCE);
+      *(result__RCE) = *(STRING__);
+    };
+    Self__TJH=((__STRING *)result__RCE);
+    if ((idx__PQD >  0)) {
+      if ((Self__TJH->capacity__CKH < idx__PQD)) {
+        Self__TJH->storage__LKH=create__T4D(idx__PQD);
+        Self__TJH->capacity__CKH=idx__PQD;
+      };
+    };
+    Self__TJH->count__2HH= 0;
+    Self__SHH=((__STRING *)result__RCE);
+    p__THH=arg__GL;
+    i__UHH= 0;
+    Self__SHH->count__2HH= 0;
+    while ((((__CHARACTER *)p__THH)[i__UHH] != '\0')) {
+      __tmp__JIH=((__CHARACTER *)p__THH)[i__UHH];
+      new_capacity__GDL= 0;
+      if ((Self__SHH->capacity__CKH <= Self__SHH->count__2HH)) {
+        if ((Self__SHH->capacity__CKH ==  0)) {
+          Self__SHH->capacity__CKH= 32;
+          Self__SHH->storage__LKH=create__T4D( 32);
+        } else {
+          new_capacity__GDL=(__INTEGER)(Self__SHH->capacity__CKH <<  1);
+          __tmp__4DL=Self__SHH->storage__LKH;
+          __tmp__5DL=Self__SHH->capacity__CKH;
+          new__O0L=((__CHARACTER *)realloc_dynamic__old_size__new_size__RGI(((__POINTER )((__CHARACTER *)__tmp__4DL)),((__UINTEGER_32 )__tmp__5DL),((__UINTEGER_32 )new_capacity__GDL)));
+          __tmp__B1L=(__INTEGER)(new_capacity__GDL -  1);
+          Self__B1M=__tmp__5DL;
+          while ((Self__B1M <= __tmp__B1L)) {
+            new__O0L[Self__B1M]='\0';
+            Self__B1M=(__INTEGER)(Self__B1M +  1);
+          };
+          Self__SHH->storage__LKH=new__O0L;
+          Self__SHH->capacity__CKH=new_capacity__GDL;
+        };
+      };
+      ((__CHARACTER *)Self__SHH->storage__LKH)[Self__SHH->count__2HH]=__tmp__JIH;
+      Self__SHH->count__2HH=(__INTEGER)(Self__SHH->count__2HH +  1);
+      i__UHH=(__INTEGER)(i__UHH +  1);
+    };
+    Self__GSD=((__FAST_ARRAYoSTRINGo *)result__FL);
+    new_capacity__ISD= 0;
+    if (((__INTEGER)(Self__GSD->parent_arrayed_collection__GC.upper__SOC +  1) <= (__INTEGER)(Self__GSD->parent_arrayed_collection__GC.capacity__GOC -  1))) {
+      Self__GSD->parent_arrayed_collection__GC.upper__SOC=(__INTEGER)(Self__GSD->parent_arrayed_collection__GC.upper__SOC +  1);
+      __tmp__WSD=TRUE__;
+    } else {
+      __tmp__WSD=FALSE__;
+    };
+    if ((! __tmp__WSD)) {
+      if ((Self__GSD->parent_arrayed_collection__GC.capacity__GOC ==  0)) {
+        Self__GSD->parent_arrayed_collection__GC.storage__3IC=create__5EG( 2);
+        Self__GSD->parent_arrayed_collection__GC.capacity__GOC= 2;
+        Self__GSD->parent_arrayed_collection__GC.upper__SOC= 0;
+      } else {
+        new_capacity__ISD=(__INTEGER)(Self__GSD->parent_arrayed_collection__GC.capacity__GOC <<  1);
+        __tmp__LTD=Self__GSD->parent_arrayed_collection__GC.storage__3IC;
+        __tmp__MTD=Self__GSD->parent_arrayed_collection__GC.capacity__GOC;
+        new__FRH=((void **)realloc_dynamic__old_size__new_size__RGI(((__POINTER )((void **)__tmp__LTD)),((__UINTEGER_32 )(__INTEGER)(__tmp__MTD * ((__INTEGER )(sizeof(void *))))),((__UINTEGER_32 )(__INTEGER)(new_capacity__ISD * ((__INTEGER )(sizeof(void *)))))));
+        __tmp__YRH=(__INTEGER)(new_capacity__ISD -  1);
+        Self__CZM=__tmp__MTD;
+        while ((Self__CZM <= __tmp__YRH)) {
+          new__FRH[Self__CZM]=NULL;
+          Self__CZM=(__INTEGER)(Self__CZM +  1);
+        };
+        Self__GSD->parent_arrayed_collection__GC.storage__3IC=new__FRH;
+        Self__GSD->parent_arrayed_collection__GC.capacity__GOC=new_capacity__ISD;
+        Self__GSD->parent_arrayed_collection__GC.upper__SOC=(__INTEGER)(Self__GSD->parent_arrayed_collection__GC.upper__SOC +  1);
+      };
+    };
+    ((void **)Self__GSD->parent_arrayed_collection__GC.storage__3IC)[Self__GSD->parent_arrayed_collection__GC.upper__SOC]=result__RCE;
+    Self__JP=(__INTEGER)(Self__JP +  1);
+  };
+  ARRAYED_COLLECTIONoFREQUENCYo__->upper__JH= 0;
+  ARRAYED_COLLECTIONoFREQUENCYo__->capacity__FJC= 0;
+  ARRAYED_COLLECTIONoFREQUENCYo__->storage__BKC=NULL;
+  FAST_ARRAYoFREQUENCYo__->parent_arrayed_collection__FB=(*ARRAYED_COLLECTIONoFREQUENCYo__);
+  iub__GB=NULL;
+  FREQUENCY__->c__DNC='\0';
+  FREQUENCY__->p__TH=((__REAL_64 ) 0);
+  homo_sapiens__IB=NULL;
+  pick__PJ=create__T4D( 61);
+  last__FCG= 42;
+  Self__MFM=((__STRING *)((void **)((__FAST_ARRAYoSTRINGo *)result__0U)->parent_arrayed_collection__GC.storage__3IC)[ 1]);
+  state__PFM= 0;
+  cc__QFM='\0';
+  negative__RFM=FALSE__;
+  result__SFM= 0;
+  i__OFM= 1;
+  __tmp__OQU=Self__MFM->count__2HH;
+  __tmp__PQU=Self__MFM->storage__LKH;
+  __tmp__QQU=Self__MFM->count__2HH;
+  while ((i__OFM <= __tmp__OQU)) {
+    cc__QFM=((__CHARACTER *)__tmp__PQU)[(__INTEGER)(i__OFM -  1)];
+    if ((state__PFM ==  0)) {
+      if ((((((((cc__QFM == ' ') || (cc__QFM == '\t')) || (cc__QFM == '\n')) || (cc__QFM == '\r')) || (cc__QFM == '\0')) || (cc__QFM == '\f')) || (cc__QFM == '\v'))) {
+        __tmp__4GM=TRUE__;
+      } else {
+        result__EUR=(cc__QFM == '+');
+        if (result__EUR) {
+          state__PFM= 1;
+        };
+        __tmp__4GM=result__EUR;
+      };
+      if ((! __tmp__4GM)) {
+        if ((cc__QFM == '-')) {
+          negative__RFM=TRUE__;
+          state__PFM= 1;
+        } else {
+          result__SFM=(__INTEGER)(((__INTEGER )((__INTEGER_8 )cc__QFM)) -  48);
+          state__PFM= 2;
+        };
+      };
+      __tmp__RHM=TRUE__;
+    } else {
+      __tmp__RHM=FALSE__;
+    };
+    if (__tmp__RHM) {
+      __tmp__GIM=TRUE__;
+    } else {
+      result__IAQ=(state__PFM ==  1);
+      if (result__IAQ) {
+        result__SFM=(__INTEGER)(((__INTEGER )((__INTEGER_8 )cc__QFM)) -  48);
+        if (negative__RFM) {
+          result__SFM=(__INTEGER)(- result__SFM);
+        };
+        state__PFM= 2;
+      };
+      __tmp__GIM=result__IAQ;
+    };
+    if (__tmp__GIM) {
+      __tmp__NJM=TRUE__;
+    } else {
+      result__0AQ=(state__PFM ==  2);
+      if (result__0AQ) {
+        result__D0Q=FALSE__;
+        if ((((__INTEGER_8 )cc__QFM) >= ((__INTEGER_8 )'0'))) {
+          result__D0Q=(((__INTEGER_8 )cc__QFM) <= ((__INTEGER_8 )'9'));
+        };
+        if (result__D0Q) {
+          if (negative__RFM) {
+            result__SFM=(__INTEGER)((__INTEGER)( 10 * result__SFM) - (__INTEGER)(((__INTEGER )((__INTEGER_8 )cc__QFM)) -  48));
+          } else {
+            result__SFM=(__INTEGER)((__INTEGER)( 10 * result__SFM) + (__INTEGER)(((__INTEGER )((__INTEGER_8 )cc__QFM)) -  48));
+          };
+        } else {
+          state__PFM= 3;
+        };
+      };
+      __tmp__NJM=result__0AQ;
+    };
+    if ((! __tmp__NJM)) {
+      if ((state__PFM ==  3)) {
+        i__OFM=__tmp__QQU;
+      };
+    };
+    i__OFM=(__INTEGER)(i__OFM +  1);
+  };
+  iub__GB=create_with_capacity__YL( 15);
+  p_p__ITU=((__REAL_64 )0.27);
+  result__4SU=NULL;
+  ptr__5SU=((__POINTER )(NULL));
+  typ_id__ATU= 0;
+  sz__BTU=((__UINTEGER_32 )sizeof(__FREQUENCY));
+  if ((sz__BTU ==  0)) {
+    result__4SU=FREQUENCY__;
+  } else {
+    typ_id__ATU=__FREQUENCY__;
+    clone_allocation_size__TQ=(__UINTEGER_32)(clone_allocation_size__TQ + sz__BTU);
+    if ((typ_id__ATU == (__INTEGER)(-  1))) {
+      a__CTU=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__DTU=(__UINTEGER_32)((__UINTEGER_32)(sz__BTU + a__CTU) & (__UINTEGER_32)(~ a__CTU));
+      ptr_table__B1U=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__DTU / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+      next__A1U=((__POINTER )(NULL));
+      result__C1U=((__POINTER *)ptr_table__B1U)[ 0];
+      if ((result__C1U == (void *)NULL)) {
+        result__C1U=new_lab__KXB(new_size__DTU);
+        next__A1U=(void *)((unsigned long)result__C1U - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__DTU)));
+        ((__POINTER *)next__A1U)[ 0]=NULL;
+        ((__POINTER *)ptr_table__B1U)[ 0]=next__A1U;
+      } else {
+        next__A1U=((__POINTER *)result__C1U)[ 0];
+        if ((next__A1U == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__C1U - (unsigned long)begin_memory__TKB)))) &  4095) + (__UINTEGER_32)(new_size__DTU <<  1)) <=  4096)) {
+            next__A1U=(void *)((unsigned long)result__C1U - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__DTU)));
+          } else {
+            next__A1U=new_lab__KXB(new_size__DTU);
+          };
+          ((__POINTER *)next__A1U)[ 0]=NULL;
+          ((__POINTER *)ptr_table__B1U)[ 0]=next__A1U;
+        } else {
+          ((__POINTER *)result__C1U)[ 0]=(void *)((unsigned long)((__POINTER *)next__A1U)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__C1U=next__A1U;
+        };
+      };
+      ptr__5SU=result__C1U;
+    } else {
+      t__ETU=((__UINTEGER_32 )typ_id__ATU);
+      a__FTU=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__K1U=(__UINTEGER_32)((__UINTEGER_32)(sz__BTU + a__FTU) & (__UINTEGER_32)(~ a__FTU));
+      ptr_table__H1U=((__POINTER )(&(table_type[(t__ETU)])));
+      lab_type__J1U=(__UINTEGER_32)(t__ETU |  1);
+      next__G1U=((__POINTER )(NULL));
+      result__I1U=((__POINTER *)ptr_table__H1U)[ 0];
+      if ((result__I1U == (void *)NULL)) {
+        result__I1U=new_lab__KXB(lab_type__J1U);
+        next__G1U=(void *)((unsigned long)result__I1U - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__K1U)));
+        ((__POINTER *)next__G1U)[ 0]=NULL;
+        ((__POINTER *)ptr_table__H1U)[ 0]=next__G1U;
+      } else {
+        next__G1U=((__POINTER *)result__I1U)[ 0];
+        if ((next__G1U == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__I1U - (unsigned long)begin_memory__TKB)))) &  4095) + (__UINTEGER_32)(new_size__K1U <<  1)) <=  4096)) {
+            next__G1U=(void *)((unsigned long)result__I1U - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__K1U)));
+          } else {
+            next__G1U=new_lab__KXB(lab_type__J1U);
+          };
+          ((__POINTER *)next__G1U)[ 0]=NULL;
+          ((__POINTER *)ptr_table__H1U)[ 0]=next__G1U;
+        } else {
+          ((__POINTER *)result__I1U)[ 0]=(void *)((unsigned long)((__POINTER *)next__G1U)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__I1U=next__G1U;
+        };
+      };
+      ptr__5SU=result__I1U;
+    };
+    result__4SU=((__FREQUENCY *)ptr__5SU);
+    *(result__4SU) = *(FREQUENCY__);
+  };
+  Self__GTU=((__FREQUENCY *)result__4SU);
+  Self__GTU->c__DNC='a';
+  Self__GTU->p__TH=p_p__ITU;
+  add_last__AJC(iub__GB,result__4SU);
+  p_p__TTU=((__REAL_64 )0.12);
+  result__JTU=NULL;
+  ptr__KTU=((__POINTER )(NULL));
+  typ_id__LTU= 0;
+  sz__MTU=((__UINTEGER_32 )sizeof(__FREQUENCY));
+  if ((sz__MTU ==  0)) {
+    result__JTU=FREQUENCY__;
+  } else {
+    typ_id__LTU=__FREQUENCY__;
+    clone_allocation_size__TQ=(__UINTEGER_32)(clone_allocation_size__TQ + sz__MTU);
+    if ((typ_id__LTU == (__INTEGER)(-  1))) {
+      a__NTU=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__OTU=(__UINTEGER_32)((__UINTEGER_32)(sz__MTU + a__NTU) & (__UINTEGER_32)(~ a__NTU));
+      ptr_table__N1U=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__OTU / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+      next__M1U=((__POINTER )(NULL));
+      result__O1U=((__POINTER *)ptr_table__N1U)[ 0];
+      if ((result__O1U == (void *)NULL)) {
+        result__O1U=new_lab__KXB(new_size__OTU);
+        next__M1U=(void *)((unsigned long)result__O1U - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__OTU)));
+        ((__POINTER *)next__M1U)[ 0]=NULL;
+        ((__POINTER *)ptr_table__N1U)[ 0]=next__M1U;
+      } else {
+        next__M1U=((__POINTER *)result__O1U)[ 0];
+        if ((next__M1U == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__O1U - (unsigned long)begin_memory__TKB)))) &  4095) + (__UINTEGER_32)(new_size__OTU <<  1)) <=  4096)) {
+            next__M1U=(void *)((unsigned long)result__O1U - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__OTU)));
+          } else {
+            next__M1U=new_lab__KXB(new_size__OTU);
+          };
+          ((__POINTER *)next__M1U)[ 0]=NULL;
+          ((__POINTER *)ptr_table__N1U)[ 0]=next__M1U;
+        } else {
+          ((__POINTER *)result__O1U)[ 0]=(void *)((unsigned long)((__POINTER *)next__M1U)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__O1U=next__M1U;
+        };
+      };
+      ptr__KTU=result__O1U;
+    } else {
+      t__PTU=((__UINTEGER_32 )typ_id__LTU);
+      a__QTU=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__W1U=(__UINTEGER_32)((__UINTEGER_32)(sz__MTU + a__QTU) & (__UINTEGER_32)(~ a__QTU));
+      ptr_table__T1U=((__POINTER )(&(table_type[(t__PTU)])));
+      lab_type__V1U=(__UINTEGER_32)(t__PTU |  1);
+      next__S1U=((__POINTER )(NULL));
+      result__U1U=((__POINTER *)ptr_table__T1U)[ 0];
+      if ((result__U1U == (void *)NULL)) {
+        result__U1U=new_lab__KXB(lab_type__V1U);
+        next__S1U=(void *)((unsigned long)result__U1U - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__W1U)));
+        ((__POINTER *)next__S1U)[ 0]=NULL;
+        ((__POINTER *)ptr_table__T1U)[ 0]=next__S1U;
+      } else {
+        next__S1U=((__POINTER *)result__U1U)[ 0];
+        if ((next__S1U == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__U1U - (unsigned long)begin_memory__TKB)))) &  4095) + (__UINTEGER_32)(new_size__W1U <<  1)) <=  4096)) {
+            next__S1U=(void *)((unsigned long)result__U1U - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__W1U)));
+          } else {
+            next__S1U=new_lab__KXB(lab_type__V1U);
+          };
+          ((__POINTER *)next__S1U)[ 0]=NULL;
+          ((__POINTER *)ptr_table__T1U)[ 0]=next__S1U;
+        } else {
+          ((__POINTER *)result__U1U)[ 0]=(void *)((unsigned long)((__POINTER *)next__S1U)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__U1U=next__S1U;
+        };
+      };
+      ptr__KTU=result__U1U;
+    };
+    result__JTU=((__FREQUENCY *)ptr__KTU);
+    *(result__JTU) = *(FREQUENCY__);
+  };
+  Self__RTU=((__FREQUENCY *)result__JTU);
+  Self__RTU->c__DNC='c';
+  Self__RTU->p__TH=p_p__TTU;
+  add_last__AJC(iub__GB,result__JTU);
+  p_p__4TU=((__REAL_64 )0.12);
+  result__UTU=NULL;
+  ptr__VTU=((__POINTER )(NULL));
+  typ_id__WTU= 0;
+  sz__XTU=((__UINTEGER_32 )sizeof(__FREQUENCY));
+  if ((sz__XTU ==  0)) {
+    result__UTU=FREQUENCY__;
+  } else {
+    typ_id__WTU=__FREQUENCY__;
+    clone_allocation_size__TQ=(__UINTEGER_32)(clone_allocation_size__TQ + sz__XTU);
+    if ((typ_id__WTU == (__INTEGER)(-  1))) {
+      a__YTU=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__ZTU=(__UINTEGER_32)((__UINTEGER_32)(sz__XTU + a__YTU) & (__UINTEGER_32)(~ a__YTU));
+      ptr_table__Z1U=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__ZTU / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+      next__Y1U=((__POINTER )(NULL));
+      result__01U=((__POINTER *)ptr_table__Z1U)[ 0];
+      if ((result__01U == (void *)NULL)) {
+        result__01U=new_lab__KXB(new_size__ZTU);
+        next__Y1U=(void *)((unsigned long)result__01U - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__ZTU)));
+        ((__POINTER *)next__Y1U)[ 0]=NULL;
+        ((__POINTER *)ptr_table__Z1U)[ 0]=next__Y1U;
+      } else {
+        next__Y1U=((__POINTER *)result__01U)[ 0];
+        if ((next__Y1U == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__01U - (unsigned long)begin_memory__TKB)))) &  4095) + (__UINTEGER_32)(new_size__ZTU <<  1)) <=  4096)) {
+            next__Y1U=(void *)((unsigned long)result__01U - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__ZTU)));
+          } else {
+            next__Y1U=new_lab__KXB(new_size__ZTU);
+          };
+          ((__POINTER *)next__Y1U)[ 0]=NULL;
+          ((__POINTER *)ptr_table__Z1U)[ 0]=next__Y1U;
+        } else {
+          ((__POINTER *)result__01U)[ 0]=(void *)((unsigned long)((__POINTER *)next__Y1U)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__01U=next__Y1U;
+        };
+      };
+      ptr__VTU=result__01U;
+    } else {
+      t__0TU=((__UINTEGER_32 )typ_id__WTU);
+      a__1TU=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__C2U=(__UINTEGER_32)((__UINTEGER_32)(sz__XTU + a__1TU) & (__UINTEGER_32)(~ a__1TU));
+      ptr_table__51U=((__POINTER )(&(table_type[(t__0TU)])));
+      lab_type__B2U=(__UINTEGER_32)(t__0TU |  1);
+      next__41U=((__POINTER )(NULL));
+      result__A2U=((__POINTER *)ptr_table__51U)[ 0];
+      if ((result__A2U == (void *)NULL)) {
+        result__A2U=new_lab__KXB(lab_type__B2U);
+        next__41U=(void *)((unsigned long)result__A2U - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__C2U)));
+        ((__POINTER *)next__41U)[ 0]=NULL;
+        ((__POINTER *)ptr_table__51U)[ 0]=next__41U;
+      } else {
+        next__41U=((__POINTER *)result__A2U)[ 0];
+        if ((next__41U == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__A2U - (unsigned long)begin_memory__TKB)))) &  4095) + (__UINTEGER_32)(new_size__C2U <<  1)) <=  4096)) {
+            next__41U=(void *)((unsigned long)result__A2U - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__C2U)));
+          } else {
+            next__41U=new_lab__KXB(lab_type__B2U);
+          };
+          ((__POINTER *)next__41U)[ 0]=NULL;
+          ((__POINTER *)ptr_table__51U)[ 0]=next__41U;
+        } else {
+          ((__POINTER *)result__A2U)[ 0]=(void *)((unsigned long)((__POINTER *)next__41U)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__A2U=next__41U;
+        };
+      };
+      ptr__VTU=result__A2U;
+    };
+    result__UTU=((__FREQUENCY *)ptr__VTU);
+    *(result__UTU) = *(FREQUENCY__);
+  };
+  Self__2TU=((__FREQUENCY *)result__UTU);
+  Self__2TU->c__DNC='g';
+  Self__2TU->p__TH=p_p__4TU;
+  add_last__AJC(iub__GB,result__UTU);
+  p_p__JUU=((__REAL_64 )0.27);
+  result__5TU=NULL;
+  ptr__AUU=((__POINTER )(NULL));
+  typ_id__BUU= 0;
+  sz__CUU=((__UINTEGER_32 )sizeof(__FREQUENCY));
+  if ((sz__CUU ==  0)) {
+    result__5TU=FREQUENCY__;
+  } else {
+    typ_id__BUU=__FREQUENCY__;
+    clone_allocation_size__TQ=(__UINTEGER_32)(clone_allocation_size__TQ + sz__CUU);
+    if ((typ_id__BUU == (__INTEGER)(-  1))) {
+      a__DUU=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__EUU=(__UINTEGER_32)((__UINTEGER_32)(sz__CUU + a__DUU) & (__UINTEGER_32)(~ a__DUU));
+      ptr_table__F2U=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__EUU / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+      next__E2U=((__POINTER )(NULL));
+      result__G2U=((__POINTER *)ptr_table__F2U)[ 0];
+      if ((result__G2U == (void *)NULL)) {
+        result__G2U=new_lab__KXB(new_size__EUU);
+        next__E2U=(void *)((unsigned long)result__G2U - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__EUU)));
+        ((__POINTER *)next__E2U)[ 0]=NULL;
+        ((__POINTER *)ptr_table__F2U)[ 0]=next__E2U;
+      } else {
+        next__E2U=((__POINTER *)result__G2U)[ 0];
+        if ((next__E2U == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__G2U - (unsigned long)begin_memory__TKB)))) &  4095) + (__UINTEGER_32)(new_size__EUU <<  1)) <=  4096)) {
+            next__E2U=(void *)((unsigned long)result__G2U - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__EUU)));
+          } else {
+            next__E2U=new_lab__KXB(new_size__EUU);
+          };
+          ((__POINTER *)next__E2U)[ 0]=NULL;
+          ((__POINTER *)ptr_table__F2U)[ 0]=next__E2U;
+        } else {
+          ((__POINTER *)result__G2U)[ 0]=(void *)((unsigned long)((__POINTER *)next__E2U)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__G2U=next__E2U;
+        };
+      };
+      ptr__AUU=result__G2U;
+    } else {
+      t__FUU=((__UINTEGER_32 )typ_id__BUU);
+      a__GUU=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__O2U=(__UINTEGER_32)((__UINTEGER_32)(sz__CUU + a__GUU) & (__UINTEGER_32)(~ a__GUU));
+      ptr_table__L2U=((__POINTER )(&(table_type[(t__FUU)])));
+      lab_type__N2U=(__UINTEGER_32)(t__FUU |  1);
+      next__K2U=((__POINTER )(NULL));
+      result__M2U=((__POINTER *)ptr_table__L2U)[ 0];
+      if ((result__M2U == (void *)NULL)) {
+        result__M2U=new_lab__KXB(lab_type__N2U);
+        next__K2U=(void *)((unsigned long)result__M2U - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__O2U)));
+        ((__POINTER *)next__K2U)[ 0]=NULL;
+        ((__POINTER *)ptr_table__L2U)[ 0]=next__K2U;
+      } else {
+        next__K2U=((__POINTER *)result__M2U)[ 0];
+        if ((next__K2U == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__M2U - (unsigned long)begin_memory__TKB)))) &  4095) + (__UINTEGER_32)(new_size__O2U <<  1)) <=  4096)) {
+            next__K2U=(void *)((unsigned long)result__M2U - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__O2U)));
+          } else {
+            next__K2U=new_lab__KXB(lab_type__N2U);
+          };
+          ((__POINTER *)next__K2U)[ 0]=NULL;
+          ((__POINTER *)ptr_table__L2U)[ 0]=next__K2U;
+        } else {
+          ((__POINTER *)result__M2U)[ 0]=(void *)((unsigned long)((__POINTER *)next__K2U)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__M2U=next__K2U;
+        };
+      };
+      ptr__AUU=result__M2U;
+    };
+    result__5TU=((__FREQUENCY *)ptr__AUU);
+    *(result__5TU) = *(FREQUENCY__);
+  };
+  Self__HUU=((__FREQUENCY *)result__5TU);
+  Self__HUU->c__DNC='t';
+  Self__HUU->p__TH=p_p__JUU;
+  add_last__AJC(iub__GB,result__5TU);
+  p_p__UUU=((__REAL_64 )0.02);
+  result__KUU=NULL;
+  ptr__LUU=((__POINTER )(NULL));
+  typ_id__MUU= 0;
+  sz__NUU=((__UINTEGER_32 )sizeof(__FREQUENCY));
+  if ((sz__NUU ==  0)) {
+    result__KUU=FREQUENCY__;
+  } else {
+    typ_id__MUU=__FREQUENCY__;
+    clone_allocation_size__TQ=(__UINTEGER_32)(clone_allocation_size__TQ + sz__NUU);
+    if ((typ_id__MUU == (__INTEGER)(-  1))) {
+      a__OUU=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__PUU=(__UINTEGER_32)((__UINTEGER_32)(sz__NUU + a__OUU) & (__UINTEGER_32)(~ a__OUU));
+      ptr_table__R2U=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__PUU / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+      next__Q2U=((__POINTER )(NULL));
+      result__S2U=((__POINTER *)ptr_table__R2U)[ 0];
+      if ((result__S2U == (void *)NULL)) {
+        result__S2U=new_lab__KXB(new_size__PUU);
+        next__Q2U=(void *)((unsigned long)result__S2U - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__PUU)));
+        ((__POINTER *)next__Q2U)[ 0]=NULL;
+        ((__POINTER *)ptr_table__R2U)[ 0]=next__Q2U;
+      } else {
+        next__Q2U=((__POINTER *)result__S2U)[ 0];
+        if ((next__Q2U == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__S2U - (unsigned long)begin_memory__TKB)))) &  4095) + (__UINTEGER_32)(new_size__PUU <<  1)) <=  4096)) {
+            next__Q2U=(void *)((unsigned long)result__S2U - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__PUU)));
+          } else {
+            next__Q2U=new_lab__KXB(new_size__PUU);
+          };
+          ((__POINTER *)next__Q2U)[ 0]=NULL;
+          ((__POINTER *)ptr_table__R2U)[ 0]=next__Q2U;
+        } else {
+          ((__POINTER *)result__S2U)[ 0]=(void *)((unsigned long)((__POINTER *)next__Q2U)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__S2U=next__Q2U;
+        };
+      };
+      ptr__LUU=result__S2U;
+    } else {
+      t__QUU=((__UINTEGER_32 )typ_id__MUU);
+      a__RUU=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__02U=(__UINTEGER_32)((__UINTEGER_32)(sz__NUU + a__RUU) & (__UINTEGER_32)(~ a__RUU));
+      ptr_table__X2U=((__POINTER )(&(table_type[(t__QUU)])));
+      lab_type__Z2U=(__UINTEGER_32)(t__QUU |  1);
+      next__W2U=((__POINTER )(NULL));
+      result__Y2U=((__POINTER *)ptr_table__X2U)[ 0];
+      if ((result__Y2U == (void *)NULL)) {
+        result__Y2U=new_lab__KXB(lab_type__Z2U);
+        next__W2U=(void *)((unsigned long)result__Y2U - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__02U)));
+        ((__POINTER *)next__W2U)[ 0]=NULL;
+        ((__POINTER *)ptr_table__X2U)[ 0]=next__W2U;
+      } else {
+        next__W2U=((__POINTER *)result__Y2U)[ 0];
+        if ((next__W2U == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__Y2U - (unsigned long)begin_memory__TKB)))) &  4095) + (__UINTEGER_32)(new_size__02U <<  1)) <=  4096)) {
+            next__W2U=(void *)((unsigned long)result__Y2U - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__02U)));
+          } else {
+            next__W2U=new_lab__KXB(lab_type__Z2U);
+          };
+          ((__POINTER *)next__W2U)[ 0]=NULL;
+          ((__POINTER *)ptr_table__X2U)[ 0]=next__W2U;
+        } else {
+          ((__POINTER *)result__Y2U)[ 0]=(void *)((unsigned long)((__POINTER *)next__W2U)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__Y2U=next__W2U;
+        };
+      };
+      ptr__LUU=result__Y2U;
+    };
+    result__KUU=((__FREQUENCY *)ptr__LUU);
+    *(result__KUU) = *(FREQUENCY__);
+  };
+  Self__SUU=((__FREQUENCY *)result__KUU);
+  Self__SUU->c__DNC='B';
+  Self__SUU->p__TH=p_p__UUU;
+  add_last__AJC(iub__GB,result__KUU);
+  p_p__5UU=((__REAL_64 )0.02);
+  result__VUU=NULL;
+  ptr__WUU=((__POINTER )(NULL));
+  typ_id__XUU= 0;
+  sz__YUU=((__UINTEGER_32 )sizeof(__FREQUENCY));
+  if ((sz__YUU ==  0)) {
+    result__VUU=FREQUENCY__;
+  } else {
+    typ_id__XUU=__FREQUENCY__;
+    clone_allocation_size__TQ=(__UINTEGER_32)(clone_allocation_size__TQ + sz__YUU);
+    if ((typ_id__XUU == (__INTEGER)(-  1))) {
+      a__ZUU=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__0UU=(__UINTEGER_32)((__UINTEGER_32)(sz__YUU + a__ZUU) & (__UINTEGER_32)(~ a__ZUU));
+      ptr_table__32U=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__0UU / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+      next__22U=((__POINTER )(NULL));
+      result__42U=((__POINTER *)ptr_table__32U)[ 0];
+      if ((result__42U == (void *)NULL)) {
+        result__42U=new_lab__KXB(new_size__0UU);
+        next__22U=(void *)((unsigned long)result__42U - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__0UU)));
+        ((__POINTER *)next__22U)[ 0]=NULL;
+        ((__POINTER *)ptr_table__32U)[ 0]=next__22U;
+      } else {
+        next__22U=((__POINTER *)result__42U)[ 0];
+        if ((next__22U == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__42U - (unsigned long)begin_memory__TKB)))) &  4095) + (__UINTEGER_32)(new_size__0UU <<  1)) <=  4096)) {
+            next__22U=(void *)((unsigned long)result__42U - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__0UU)));
+          } else {
+            next__22U=new_lab__KXB(new_size__0UU);
+          };
+          ((__POINTER *)next__22U)[ 0]=NULL;
+          ((__POINTER *)ptr_table__32U)[ 0]=next__22U;
+        } else {
+          ((__POINTER *)result__42U)[ 0]=(void *)((unsigned long)((__POINTER *)next__22U)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__42U=next__22U;
+        };
+      };
+      ptr__WUU=result__42U;
+    } else {
+      t__1UU=((__UINTEGER_32 )typ_id__XUU);
+      a__2UU=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__G3U=(__UINTEGER_32)((__UINTEGER_32)(sz__YUU + a__2UU) & (__UINTEGER_32)(~ a__2UU));
+      ptr_table__D3U=((__POINTER )(&(table_type[(t__1UU)])));
+      lab_type__F3U=(__UINTEGER_32)(t__1UU |  1);
+      next__C3U=((__POINTER )(NULL));
+      result__E3U=((__POINTER *)ptr_table__D3U)[ 0];
+      if ((result__E3U == (void *)NULL)) {
+        result__E3U=new_lab__KXB(lab_type__F3U);
+        next__C3U=(void *)((unsigned long)result__E3U - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__G3U)));
+        ((__POINTER *)next__C3U)[ 0]=NULL;
+        ((__POINTER *)ptr_table__D3U)[ 0]=next__C3U;
+      } else {
+        next__C3U=((__POINTER *)result__E3U)[ 0];
+        if ((next__C3U == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__E3U - (unsigned long)begin_memory__TKB)))) &  4095) + (__UINTEGER_32)(new_size__G3U <<  1)) <=  4096)) {
+            next__C3U=(void *)((unsigned long)result__E3U - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__G3U)));
+          } else {
+            next__C3U=new_lab__KXB(lab_type__F3U);
+          };
+          ((__POINTER *)next__C3U)[ 0]=NULL;
+          ((__POINTER *)ptr_table__D3U)[ 0]=next__C3U;
+        } else {
+          ((__POINTER *)result__E3U)[ 0]=(void *)((unsigned long)((__POINTER *)next__C3U)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__E3U=next__C3U;
+        };
+      };
+      ptr__WUU=result__E3U;
+    };
+    result__VUU=((__FREQUENCY *)ptr__WUU);
+    *(result__VUU) = *(FREQUENCY__);
+  };
+  Self__3UU=((__FREQUENCY *)result__VUU);
+  Self__3UU->c__DNC='D';
+  Self__3UU->p__TH=p_p__5UU;
+  add_last__AJC(iub__GB,result__VUU);
+  p_p__KVU=((__REAL_64 )0.02);
+  result__AVU=NULL;
+  ptr__BVU=((__POINTER )(NULL));
+  typ_id__CVU= 0;
+  sz__DVU=((__UINTEGER_32 )sizeof(__FREQUENCY));
+  if ((sz__DVU ==  0)) {
+    result__AVU=FREQUENCY__;
+  } else {
+    typ_id__CVU=__FREQUENCY__;
+    clone_allocation_size__TQ=(__UINTEGER_32)(clone_allocation_size__TQ + sz__DVU);
+    if ((typ_id__CVU == (__INTEGER)(-  1))) {
+      a__EVU=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__FVU=(__UINTEGER_32)((__UINTEGER_32)(sz__DVU + a__EVU) & (__UINTEGER_32)(~ a__EVU));
+      ptr_table__J3U=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__FVU / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+      next__I3U=((__POINTER )(NULL));
+      result__K3U=((__POINTER *)ptr_table__J3U)[ 0];
+      if ((result__K3U == (void *)NULL)) {
+        result__K3U=new_lab__KXB(new_size__FVU);
+        next__I3U=(void *)((unsigned long)result__K3U - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__FVU)));
+        ((__POINTER *)next__I3U)[ 0]=NULL;
+        ((__POINTER *)ptr_table__J3U)[ 0]=next__I3U;
+      } else {
+        next__I3U=((__POINTER *)result__K3U)[ 0];
+        if ((next__I3U == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__K3U - (unsigned long)begin_memory__TKB)))) &  4095) + (__UINTEGER_32)(new_size__FVU <<  1)) <=  4096)) {
+            next__I3U=(void *)((unsigned long)result__K3U - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__FVU)));
+          } else {
+            next__I3U=new_lab__KXB(new_size__FVU);
+          };
+          ((__POINTER *)next__I3U)[ 0]=NULL;
+          ((__POINTER *)ptr_table__J3U)[ 0]=next__I3U;
+        } else {
+          ((__POINTER *)result__K3U)[ 0]=(void *)((unsigned long)((__POINTER *)next__I3U)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__K3U=next__I3U;
+        };
+      };
+      ptr__BVU=result__K3U;
+    } else {
+      t__GVU=((__UINTEGER_32 )typ_id__CVU);
+      a__HVU=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__S3U=(__UINTEGER_32)((__UINTEGER_32)(sz__DVU + a__HVU) & (__UINTEGER_32)(~ a__HVU));
+      ptr_table__P3U=((__POINTER )(&(table_type[(t__GVU)])));
+      lab_type__R3U=(__UINTEGER_32)(t__GVU |  1);
+      next__O3U=((__POINTER )(NULL));
+      result__Q3U=((__POINTER *)ptr_table__P3U)[ 0];
+      if ((result__Q3U == (void *)NULL)) {
+        result__Q3U=new_lab__KXB(lab_type__R3U);
+        next__O3U=(void *)((unsigned long)result__Q3U - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__S3U)));
+        ((__POINTER *)next__O3U)[ 0]=NULL;
+        ((__POINTER *)ptr_table__P3U)[ 0]=next__O3U;
+      } else {
+        next__O3U=((__POINTER *)result__Q3U)[ 0];
+        if ((next__O3U == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__Q3U - (unsigned long)begin_memory__TKB)))) &  4095) + (__UINTEGER_32)(new_size__S3U <<  1)) <=  4096)) {
+            next__O3U=(void *)((unsigned long)result__Q3U - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__S3U)));
+          } else {
+            next__O3U=new_lab__KXB(lab_type__R3U);
+          };
+          ((__POINTER *)next__O3U)[ 0]=NULL;
+          ((__POINTER *)ptr_table__P3U)[ 0]=next__O3U;
+        } else {
+          ((__POINTER *)result__Q3U)[ 0]=(void *)((unsigned long)((__POINTER *)next__O3U)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__Q3U=next__O3U;
+        };
+      };
+      ptr__BVU=result__Q3U;
+    };
+    result__AVU=((__FREQUENCY *)ptr__BVU);
+    *(result__AVU) = *(FREQUENCY__);
+  };
+  Self__IVU=((__FREQUENCY *)result__AVU);
+  Self__IVU->c__DNC='H';
+  Self__IVU->p__TH=p_p__KVU;
+  add_last__AJC(iub__GB,result__AVU);
+  p_p__VVU=((__REAL_64 )0.02);
+  result__LVU=NULL;
+  ptr__MVU=((__POINTER )(NULL));
+  typ_id__NVU= 0;
+  sz__OVU=((__UINTEGER_32 )sizeof(__FREQUENCY));
+  if ((sz__OVU ==  0)) {
+    result__LVU=FREQUENCY__;
+  } else {
+    typ_id__NVU=__FREQUENCY__;
+    clone_allocation_size__TQ=(__UINTEGER_32)(clone_allocation_size__TQ + sz__OVU);
+    if ((typ_id__NVU == (__INTEGER)(-  1))) {
+      a__PVU=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__QVU=(__UINTEGER_32)((__UINTEGER_32)(sz__OVU + a__PVU) & (__UINTEGER_32)(~ a__PVU));
+      ptr_table__V3U=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__QVU / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+      next__U3U=((__POINTER )(NULL));
+      result__W3U=((__POINTER *)ptr_table__V3U)[ 0];
+      if ((result__W3U == (void *)NULL)) {
+        result__W3U=new_lab__KXB(new_size__QVU);
+        next__U3U=(void *)((unsigned long)result__W3U - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__QVU)));
+        ((__POINTER *)next__U3U)[ 0]=NULL;
+        ((__POINTER *)ptr_table__V3U)[ 0]=next__U3U;
+      } else {
+        next__U3U=((__POINTER *)result__W3U)[ 0];
+        if ((next__U3U == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__W3U - (unsigned long)begin_memory__TKB)))) &  4095) + (__UINTEGER_32)(new_size__QVU <<  1)) <=  4096)) {
+            next__U3U=(void *)((unsigned long)result__W3U - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__QVU)));
+          } else {
+            next__U3U=new_lab__KXB(new_size__QVU);
+          };
+          ((__POINTER *)next__U3U)[ 0]=NULL;
+          ((__POINTER *)ptr_table__V3U)[ 0]=next__U3U;
+        } else {
+          ((__POINTER *)result__W3U)[ 0]=(void *)((unsigned long)((__POINTER *)next__U3U)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__W3U=next__U3U;
+        };
+      };
+      ptr__MVU=result__W3U;
+    } else {
+      t__RVU=((__UINTEGER_32 )typ_id__NVU);
+      a__SVU=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__43U=(__UINTEGER_32)((__UINTEGER_32)(sz__OVU + a__SVU) & (__UINTEGER_32)(~ a__SVU));
+      ptr_table__13U=((__POINTER )(&(table_type[(t__RVU)])));
+      lab_type__33U=(__UINTEGER_32)(t__RVU |  1);
+      next__03U=((__POINTER )(NULL));
+      result__23U=((__POINTER *)ptr_table__13U)[ 0];
+      if ((result__23U == (void *)NULL)) {
+        result__23U=new_lab__KXB(lab_type__33U);
+        next__03U=(void *)((unsigned long)result__23U - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__43U)));
+        ((__POINTER *)next__03U)[ 0]=NULL;
+        ((__POINTER *)ptr_table__13U)[ 0]=next__03U;
+      } else {
+        next__03U=((__POINTER *)result__23U)[ 0];
+        if ((next__03U == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__23U - (unsigned long)begin_memory__TKB)))) &  4095) + (__UINTEGER_32)(new_size__43U <<  1)) <=  4096)) {
+            next__03U=(void *)((unsigned long)result__23U - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__43U)));
+          } else {
+            next__03U=new_lab__KXB(lab_type__33U);
+          };
+          ((__POINTER *)next__03U)[ 0]=NULL;
+          ((__POINTER *)ptr_table__13U)[ 0]=next__03U;
+        } else {
+          ((__POINTER *)result__23U)[ 0]=(void *)((unsigned long)((__POINTER *)next__03U)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__23U=next__03U;
+        };
+      };
+      ptr__MVU=result__23U;
+    };
+    result__LVU=((__FREQUENCY *)ptr__MVU);
+    *(result__LVU) = *(FREQUENCY__);
+  };
+  Self__TVU=((__FREQUENCY *)result__LVU);
+  Self__TVU->c__DNC='K';
+  Self__TVU->p__TH=p_p__VVU;
+  add_last__AJC(iub__GB,result__LVU);
+  p_p__AWU=((__REAL_64 )0.02);
+  result__WVU=NULL;
+  ptr__XVU=((__POINTER )(NULL));
+  typ_id__YVU= 0;
+  sz__ZVU=((__UINTEGER_32 )sizeof(__FREQUENCY));
+  if ((sz__ZVU ==  0)) {
+    result__WVU=FREQUENCY__;
+  } else {
+    typ_id__YVU=__FREQUENCY__;
+    clone_allocation_size__TQ=(__UINTEGER_32)(clone_allocation_size__TQ + sz__ZVU);
+    if ((typ_id__YVU == (__INTEGER)(-  1))) {
+      a__0VU=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__1VU=(__UINTEGER_32)((__UINTEGER_32)(sz__ZVU + a__0VU) & (__UINTEGER_32)(~ a__0VU));
+      ptr_table__B4U=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__1VU / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+      next__A4U=((__POINTER )(NULL));
+      result__C4U=((__POINTER *)ptr_table__B4U)[ 0];
+      if ((result__C4U == (void *)NULL)) {
+        result__C4U=new_lab__KXB(new_size__1VU);
+        next__A4U=(void *)((unsigned long)result__C4U - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__1VU)));
+        ((__POINTER *)next__A4U)[ 0]=NULL;
+        ((__POINTER *)ptr_table__B4U)[ 0]=next__A4U;
+      } else {
+        next__A4U=((__POINTER *)result__C4U)[ 0];
+        if ((next__A4U == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__C4U - (unsigned long)begin_memory__TKB)))) &  4095) + (__UINTEGER_32)(new_size__1VU <<  1)) <=  4096)) {
+            next__A4U=(void *)((unsigned long)result__C4U - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__1VU)));
+          } else {
+            next__A4U=new_lab__KXB(new_size__1VU);
+          };
+          ((__POINTER *)next__A4U)[ 0]=NULL;
+          ((__POINTER *)ptr_table__B4U)[ 0]=next__A4U;
+        } else {
+          ((__POINTER *)result__C4U)[ 0]=(void *)((unsigned long)((__POINTER *)next__A4U)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__C4U=next__A4U;
+        };
+      };
+      ptr__XVU=result__C4U;
+    } else {
+      t__2VU=((__UINTEGER_32 )typ_id__YVU);
+      a__3VU=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__K4U=(__UINTEGER_32)((__UINTEGER_32)(sz__ZVU + a__3VU) & (__UINTEGER_32)(~ a__3VU));
+      ptr_table__H4U=((__POINTER )(&(table_type[(t__2VU)])));
+      lab_type__J4U=(__UINTEGER_32)(t__2VU |  1);
+      next__G4U=((__POINTER )(NULL));
+      result__I4U=((__POINTER *)ptr_table__H4U)[ 0];
+      if ((result__I4U == (void *)NULL)) {
+        result__I4U=new_lab__KXB(lab_type__J4U);
+        next__G4U=(void *)((unsigned long)result__I4U - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__K4U)));
+        ((__POINTER *)next__G4U)[ 0]=NULL;
+        ((__POINTER *)ptr_table__H4U)[ 0]=next__G4U;
+      } else {
+        next__G4U=((__POINTER *)result__I4U)[ 0];
+        if ((next__G4U == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__I4U - (unsigned long)begin_memory__TKB)))) &  4095) + (__UINTEGER_32)(new_size__K4U <<  1)) <=  4096)) {
+            next__G4U=(void *)((unsigned long)result__I4U - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__K4U)));
+          } else {
+            next__G4U=new_lab__KXB(lab_type__J4U);
+          };
+          ((__POINTER *)next__G4U)[ 0]=NULL;
+          ((__POINTER *)ptr_table__H4U)[ 0]=next__G4U;
+        } else {
+          ((__POINTER *)result__I4U)[ 0]=(void *)((unsigned long)((__POINTER *)next__G4U)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__I4U=next__G4U;
+        };
+      };
+      ptr__XVU=result__I4U;
+    };
+    result__WVU=((__FREQUENCY *)ptr__XVU);
+    *(result__WVU) = *(FREQUENCY__);
+  };
+  Self__4VU=((__FREQUENCY *)result__WVU);
+  Self__4VU->c__DNC='M';
+  Self__4VU->p__TH=p_p__AWU;
+  add_last__AJC(iub__GB,result__WVU);
+  p_p__LWU=((__REAL_64 )0.02);
+  result__BWU=NULL;
+  ptr__CWU=((__POINTER )(NULL));
+  typ_id__DWU= 0;
+  sz__EWU=((__UINTEGER_32 )sizeof(__FREQUENCY));
+  if ((sz__EWU ==  0)) {
+    result__BWU=FREQUENCY__;
+  } else {
+    typ_id__DWU=__FREQUENCY__;
+    clone_allocation_size__TQ=(__UINTEGER_32)(clone_allocation_size__TQ + sz__EWU);
+    if ((typ_id__DWU == (__INTEGER)(-  1))) {
+      a__FWU=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__GWU=(__UINTEGER_32)((__UINTEGER_32)(sz__EWU + a__FWU) & (__UINTEGER_32)(~ a__FWU));
+      ptr_table__N4U=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__GWU / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+      next__M4U=((__POINTER )(NULL));
+      result__O4U=((__POINTER *)ptr_table__N4U)[ 0];
+      if ((result__O4U == (void *)NULL)) {
+        result__O4U=new_lab__KXB(new_size__GWU);
+        next__M4U=(void *)((unsigned long)result__O4U - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__GWU)));
+        ((__POINTER *)next__M4U)[ 0]=NULL;
+        ((__POINTER *)ptr_table__N4U)[ 0]=next__M4U;
+      } else {
+        next__M4U=((__POINTER *)result__O4U)[ 0];
+        if ((next__M4U == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__O4U - (unsigned long)begin_memory__TKB)))) &  4095) + (__UINTEGER_32)(new_size__GWU <<  1)) <=  4096)) {
+            next__M4U=(void *)((unsigned long)result__O4U - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__GWU)));
+          } else {
+            next__M4U=new_lab__KXB(new_size__GWU);
+          };
+          ((__POINTER *)next__M4U)[ 0]=NULL;
+          ((__POINTER *)ptr_table__N4U)[ 0]=next__M4U;
+        } else {
+          ((__POINTER *)result__O4U)[ 0]=(void *)((unsigned long)((__POINTER *)next__M4U)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__O4U=next__M4U;
+        };
+      };
+      ptr__CWU=result__O4U;
+    } else {
+      t__HWU=((__UINTEGER_32 )typ_id__DWU);
+      a__IWU=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__W4U=(__UINTEGER_32)((__UINTEGER_32)(sz__EWU + a__IWU) & (__UINTEGER_32)(~ a__IWU));
+      ptr_table__T4U=((__POINTER )(&(table_type[(t__HWU)])));
+      lab_type__V4U=(__UINTEGER_32)(t__HWU |  1);
+      next__S4U=((__POINTER )(NULL));
+      result__U4U=((__POINTER *)ptr_table__T4U)[ 0];
+      if ((result__U4U == (void *)NULL)) {
+        result__U4U=new_lab__KXB(lab_type__V4U);
+        next__S4U=(void *)((unsigned long)result__U4U - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__W4U)));
+        ((__POINTER *)next__S4U)[ 0]=NULL;
+        ((__POINTER *)ptr_table__T4U)[ 0]=next__S4U;
+      } else {
+        next__S4U=((__POINTER *)result__U4U)[ 0];
+        if ((next__S4U == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__U4U - (unsigned long)begin_memory__TKB)))) &  4095) + (__UINTEGER_32)(new_size__W4U <<  1)) <=  4096)) {
+            next__S4U=(void *)((unsigned long)result__U4U - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__W4U)));
+          } else {
+            next__S4U=new_lab__KXB(lab_type__V4U);
+          };
+          ((__POINTER *)next__S4U)[ 0]=NULL;
+          ((__POINTER *)ptr_table__T4U)[ 0]=next__S4U;
+        } else {
+          ((__POINTER *)result__U4U)[ 0]=(void *)((unsigned long)((__POINTER *)next__S4U)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__U4U=next__S4U;
+        };
+      };
+      ptr__CWU=result__U4U;
+    };
+    result__BWU=((__FREQUENCY *)ptr__CWU);
+    *(result__BWU) = *(FREQUENCY__);
+  };
+  Self__JWU=((__FREQUENCY *)result__BWU);
+  Self__JWU->c__DNC='N';
+  Self__JWU->p__TH=p_p__LWU;
+  add_last__AJC(iub__GB,result__BWU);
+  p_p__WWU=((__REAL_64 )0.02);
+  result__MWU=NULL;
+  ptr__NWU=((__POINTER )(NULL));
+  typ_id__OWU= 0;
+  sz__PWU=((__UINTEGER_32 )sizeof(__FREQUENCY));
+  if ((sz__PWU ==  0)) {
+    result__MWU=FREQUENCY__;
+  } else {
+    typ_id__OWU=__FREQUENCY__;
+    clone_allocation_size__TQ=(__UINTEGER_32)(clone_allocation_size__TQ + sz__PWU);
+    if ((typ_id__OWU == (__INTEGER)(-  1))) {
+      a__QWU=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__RWU=(__UINTEGER_32)((__UINTEGER_32)(sz__PWU + a__QWU) & (__UINTEGER_32)(~ a__QWU));
+      ptr_table__Z4U=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__RWU / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+      next__Y4U=((__POINTER )(NULL));
+      result__04U=((__POINTER *)ptr_table__Z4U)[ 0];
+      if ((result__04U == (void *)NULL)) {
+        result__04U=new_lab__KXB(new_size__RWU);
+        next__Y4U=(void *)((unsigned long)result__04U - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__RWU)));
+        ((__POINTER *)next__Y4U)[ 0]=NULL;
+        ((__POINTER *)ptr_table__Z4U)[ 0]=next__Y4U;
+      } else {
+        next__Y4U=((__POINTER *)result__04U)[ 0];
+        if ((next__Y4U == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__04U - (unsigned long)begin_memory__TKB)))) &  4095) + (__UINTEGER_32)(new_size__RWU <<  1)) <=  4096)) {
+            next__Y4U=(void *)((unsigned long)result__04U - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__RWU)));
+          } else {
+            next__Y4U=new_lab__KXB(new_size__RWU);
+          };
+          ((__POINTER *)next__Y4U)[ 0]=NULL;
+          ((__POINTER *)ptr_table__Z4U)[ 0]=next__Y4U;
+        } else {
+          ((__POINTER *)result__04U)[ 0]=(void *)((unsigned long)((__POINTER *)next__Y4U)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__04U=next__Y4U;
+        };
+      };
+      ptr__NWU=result__04U;
+    } else {
+      t__SWU=((__UINTEGER_32 )typ_id__OWU);
+      a__TWU=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__C5U=(__UINTEGER_32)((__UINTEGER_32)(sz__PWU + a__TWU) & (__UINTEGER_32)(~ a__TWU));
+      ptr_table__54U=((__POINTER )(&(table_type[(t__SWU)])));
+      lab_type__B5U=(__UINTEGER_32)(t__SWU |  1);
+      next__44U=((__POINTER )(NULL));
+      result__A5U=((__POINTER *)ptr_table__54U)[ 0];
+      if ((result__A5U == (void *)NULL)) {
+        result__A5U=new_lab__KXB(lab_type__B5U);
+        next__44U=(void *)((unsigned long)result__A5U - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__C5U)));
+        ((__POINTER *)next__44U)[ 0]=NULL;
+        ((__POINTER *)ptr_table__54U)[ 0]=next__44U;
+      } else {
+        next__44U=((__POINTER *)result__A5U)[ 0];
+        if ((next__44U == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__A5U - (unsigned long)begin_memory__TKB)))) &  4095) + (__UINTEGER_32)(new_size__C5U <<  1)) <=  4096)) {
+            next__44U=(void *)((unsigned long)result__A5U - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__C5U)));
+          } else {
+            next__44U=new_lab__KXB(lab_type__B5U);
+          };
+          ((__POINTER *)next__44U)[ 0]=NULL;
+          ((__POINTER *)ptr_table__54U)[ 0]=next__44U;
+        } else {
+          ((__POINTER *)result__A5U)[ 0]=(void *)((unsigned long)((__POINTER *)next__44U)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__A5U=next__44U;
+        };
+      };
+      ptr__NWU=result__A5U;
+    };
+    result__MWU=((__FREQUENCY *)ptr__NWU);
+    *(result__MWU) = *(FREQUENCY__);
+  };
+  Self__UWU=((__FREQUENCY *)result__MWU);
+  Self__UWU->c__DNC='R';
+  Self__UWU->p__TH=p_p__WWU;
+  add_last__AJC(iub__GB,result__MWU);
+  p_p__BXU=((__REAL_64 )0.02);
+  result__XWU=NULL;
+  ptr__YWU=((__POINTER )(NULL));
+  typ_id__ZWU= 0;
+  sz__0WU=((__UINTEGER_32 )sizeof(__FREQUENCY));
+  if ((sz__0WU ==  0)) {
+    result__XWU=FREQUENCY__;
+  } else {
+    typ_id__ZWU=__FREQUENCY__;
+    clone_allocation_size__TQ=(__UINTEGER_32)(clone_allocation_size__TQ + sz__0WU);
+    if ((typ_id__ZWU == (__INTEGER)(-  1))) {
+      a__1WU=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__2WU=(__UINTEGER_32)((__UINTEGER_32)(sz__0WU + a__1WU) & (__UINTEGER_32)(~ a__1WU));
+      ptr_table__F5U=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__2WU / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+      next__E5U=((__POINTER )(NULL));
+      result__G5U=((__POINTER *)ptr_table__F5U)[ 0];
+      if ((result__G5U == (void *)NULL)) {
+        result__G5U=new_lab__KXB(new_size__2WU);
+        next__E5U=(void *)((unsigned long)result__G5U - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__2WU)));
+        ((__POINTER *)next__E5U)[ 0]=NULL;
+        ((__POINTER *)ptr_table__F5U)[ 0]=next__E5U;
+      } else {
+        next__E5U=((__POINTER *)result__G5U)[ 0];
+        if ((next__E5U == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__G5U - (unsigned long)begin_memory__TKB)))) &  4095) + (__UINTEGER_32)(new_size__2WU <<  1)) <=  4096)) {
+            next__E5U=(void *)((unsigned long)result__G5U - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__2WU)));
+          } else {
+            next__E5U=new_lab__KXB(new_size__2WU);
+          };
+          ((__POINTER *)next__E5U)[ 0]=NULL;
+          ((__POINTER *)ptr_table__F5U)[ 0]=next__E5U;
+        } else {
+          ((__POINTER *)result__G5U)[ 0]=(void *)((unsigned long)((__POINTER *)next__E5U)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__G5U=next__E5U;
+        };
+      };
+      ptr__YWU=result__G5U;
+    } else {
+      t__3WU=((__UINTEGER_32 )typ_id__ZWU);
+      a__4WU=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__O5U=(__UINTEGER_32)((__UINTEGER_32)(sz__0WU + a__4WU) & (__UINTEGER_32)(~ a__4WU));
+      ptr_table__L5U=((__POINTER )(&(table_type[(t__3WU)])));
+      lab_type__N5U=(__UINTEGER_32)(t__3WU |  1);
+      next__K5U=((__POINTER )(NULL));
+      result__M5U=((__POINTER *)ptr_table__L5U)[ 0];
+      if ((result__M5U == (void *)NULL)) {
+        result__M5U=new_lab__KXB(lab_type__N5U);
+        next__K5U=(void *)((unsigned long)result__M5U - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__O5U)));
+        ((__POINTER *)next__K5U)[ 0]=NULL;
+        ((__POINTER *)ptr_table__L5U)[ 0]=next__K5U;
+      } else {
+        next__K5U=((__POINTER *)result__M5U)[ 0];
+        if ((next__K5U == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__M5U - (unsigned long)begin_memory__TKB)))) &  4095) + (__UINTEGER_32)(new_size__O5U <<  1)) <=  4096)) {
+            next__K5U=(void *)((unsigned long)result__M5U - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__O5U)));
+          } else {
+            next__K5U=new_lab__KXB(lab_type__N5U);
+          };
+          ((__POINTER *)next__K5U)[ 0]=NULL;
+          ((__POINTER *)ptr_table__L5U)[ 0]=next__K5U;
+        } else {
+          ((__POINTER *)result__M5U)[ 0]=(void *)((unsigned long)((__POINTER *)next__K5U)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__M5U=next__K5U;
+        };
+      };
+      ptr__YWU=result__M5U;
+    };
+    result__XWU=((__FREQUENCY *)ptr__YWU);
+    *(result__XWU) = *(FREQUENCY__);
+  };
+  Self__5WU=((__FREQUENCY *)result__XWU);
+  Self__5WU->c__DNC='S';
+  Self__5WU->p__TH=p_p__BXU;
+  add_last__AJC(iub__GB,result__XWU);
+  p_p__MXU=((__REAL_64 )0.02);
+  result__CXU=NULL;
+  ptr__DXU=((__POINTER )(NULL));
+  typ_id__EXU= 0;
+  sz__FXU=((__UINTEGER_32 )sizeof(__FREQUENCY));
+  if ((sz__FXU ==  0)) {
+    result__CXU=FREQUENCY__;
+  } else {
+    typ_id__EXU=__FREQUENCY__;
+    clone_allocation_size__TQ=(__UINTEGER_32)(clone_allocation_size__TQ + sz__FXU);
+    if ((typ_id__EXU == (__INTEGER)(-  1))) {
+      a__GXU=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__HXU=(__UINTEGER_32)((__UINTEGER_32)(sz__FXU + a__GXU) & (__UINTEGER_32)(~ a__GXU));
+      ptr_table__R5U=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__HXU / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+      next__Q5U=((__POINTER )(NULL));
+      result__S5U=((__POINTER *)ptr_table__R5U)[ 0];
+      if ((result__S5U == (void *)NULL)) {
+        result__S5U=new_lab__KXB(new_size__HXU);
+        next__Q5U=(void *)((unsigned long)result__S5U - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__HXU)));
+        ((__POINTER *)next__Q5U)[ 0]=NULL;
+        ((__POINTER *)ptr_table__R5U)[ 0]=next__Q5U;
+      } else {
+        next__Q5U=((__POINTER *)result__S5U)[ 0];
+        if ((next__Q5U == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__S5U - (unsigned long)begin_memory__TKB)))) &  4095) + (__UINTEGER_32)(new_size__HXU <<  1)) <=  4096)) {
+            next__Q5U=(void *)((unsigned long)result__S5U - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__HXU)));
+          } else {
+            next__Q5U=new_lab__KXB(new_size__HXU);
+          };
+          ((__POINTER *)next__Q5U)[ 0]=NULL;
+          ((__POINTER *)ptr_table__R5U)[ 0]=next__Q5U;
+        } else {
+          ((__POINTER *)result__S5U)[ 0]=(void *)((unsigned long)((__POINTER *)next__Q5U)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__S5U=next__Q5U;
+        };
+      };
+      ptr__DXU=result__S5U;
+    } else {
+      t__IXU=((__UINTEGER_32 )typ_id__EXU);
+      a__JXU=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__05U=(__UINTEGER_32)((__UINTEGER_32)(sz__FXU + a__JXU) & (__UINTEGER_32)(~ a__JXU));
+      ptr_table__X5U=((__POINTER )(&(table_type[(t__IXU)])));
+      lab_type__Z5U=(__UINTEGER_32)(t__IXU |  1);
+      next__W5U=((__POINTER )(NULL));
+      result__Y5U=((__POINTER *)ptr_table__X5U)[ 0];
+      if ((result__Y5U == (void *)NULL)) {
+        result__Y5U=new_lab__KXB(lab_type__Z5U);
+        next__W5U=(void *)((unsigned long)result__Y5U - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__05U)));
+        ((__POINTER *)next__W5U)[ 0]=NULL;
+        ((__POINTER *)ptr_table__X5U)[ 0]=next__W5U;
+      } else {
+        next__W5U=((__POINTER *)result__Y5U)[ 0];
+        if ((next__W5U == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__Y5U - (unsigned long)begin_memory__TKB)))) &  4095) + (__UINTEGER_32)(new_size__05U <<  1)) <=  4096)) {
+            next__W5U=(void *)((unsigned long)result__Y5U - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__05U)));
+          } else {
+            next__W5U=new_lab__KXB(lab_type__Z5U);
+          };
+          ((__POINTER *)next__W5U)[ 0]=NULL;
+          ((__POINTER *)ptr_table__X5U)[ 0]=next__W5U;
+        } else {
+          ((__POINTER *)result__Y5U)[ 0]=(void *)((unsigned long)((__POINTER *)next__W5U)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__Y5U=next__W5U;
+        };
+      };
+      ptr__DXU=result__Y5U;
+    };
+    result__CXU=((__FREQUENCY *)ptr__DXU);
+    *(result__CXU) = *(FREQUENCY__);
+  };
+  Self__KXU=((__FREQUENCY *)result__CXU);
+  Self__KXU->c__DNC='V';
+  Self__KXU->p__TH=p_p__MXU;
+  add_last__AJC(iub__GB,result__CXU);
+  p_p__XXU=((__REAL_64 )0.02);
+  result__NXU=NULL;
+  ptr__OXU=((__POINTER )(NULL));
+  typ_id__PXU= 0;
+  sz__QXU=((__UINTEGER_32 )sizeof(__FREQUENCY));
+  if ((sz__QXU ==  0)) {
+    result__NXU=FREQUENCY__;
+  } else {
+    typ_id__PXU=__FREQUENCY__;
+    clone_allocation_size__TQ=(__UINTEGER_32)(clone_allocation_size__TQ + sz__QXU);
+    if ((typ_id__PXU == (__INTEGER)(-  1))) {
+      a__RXU=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__SXU=(__UINTEGER_32)((__UINTEGER_32)(sz__QXU + a__RXU) & (__UINTEGER_32)(~ a__RXU));
+      ptr_table__35U=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__SXU / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+      next__25U=((__POINTER )(NULL));
+      result__45U=((__POINTER *)ptr_table__35U)[ 0];
+      if ((result__45U == (void *)NULL)) {
+        result__45U=new_lab__KXB(new_size__SXU);
+        next__25U=(void *)((unsigned long)result__45U - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__SXU)));
+        ((__POINTER *)next__25U)[ 0]=NULL;
+        ((__POINTER *)ptr_table__35U)[ 0]=next__25U;
+      } else {
+        next__25U=((__POINTER *)result__45U)[ 0];
+        if ((next__25U == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__45U - (unsigned long)begin_memory__TKB)))) &  4095) + (__UINTEGER_32)(new_size__SXU <<  1)) <=  4096)) {
+            next__25U=(void *)((unsigned long)result__45U - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__SXU)));
+          } else {
+            next__25U=new_lab__KXB(new_size__SXU);
+          };
+          ((__POINTER *)next__25U)[ 0]=NULL;
+          ((__POINTER *)ptr_table__35U)[ 0]=next__25U;
+        } else {
+          ((__POINTER *)result__45U)[ 0]=(void *)((unsigned long)((__POINTER *)next__25U)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__45U=next__25U;
+        };
+      };
+      ptr__OXU=result__45U;
+    } else {
+      t__TXU=((__UINTEGER_32 )typ_id__PXU);
+      a__UXU=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__GAV=(__UINTEGER_32)((__UINTEGER_32)(sz__QXU + a__UXU) & (__UINTEGER_32)(~ a__UXU));
+      ptr_table__DAV=((__POINTER )(&(table_type[(t__TXU)])));
+      lab_type__FAV=(__UINTEGER_32)(t__TXU |  1);
+      next__CAV=((__POINTER )(NULL));
+      result__EAV=((__POINTER *)ptr_table__DAV)[ 0];
+      if ((result__EAV == (void *)NULL)) {
+        result__EAV=new_lab__KXB(lab_type__FAV);
+        next__CAV=(void *)((unsigned long)result__EAV - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__GAV)));
+        ((__POINTER *)next__CAV)[ 0]=NULL;
+        ((__POINTER *)ptr_table__DAV)[ 0]=next__CAV;
+      } else {
+        next__CAV=((__POINTER *)result__EAV)[ 0];
+        if ((next__CAV == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__EAV - (unsigned long)begin_memory__TKB)))) &  4095) + (__UINTEGER_32)(new_size__GAV <<  1)) <=  4096)) {
+            next__CAV=(void *)((unsigned long)result__EAV - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__GAV)));
+          } else {
+            next__CAV=new_lab__KXB(lab_type__FAV);
+          };
+          ((__POINTER *)next__CAV)[ 0]=NULL;
+          ((__POINTER *)ptr_table__DAV)[ 0]=next__CAV;
+        } else {
+          ((__POINTER *)result__EAV)[ 0]=(void *)((unsigned long)((__POINTER *)next__CAV)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__EAV=next__CAV;
+        };
+      };
+      ptr__OXU=result__EAV;
+    };
+    result__NXU=((__FREQUENCY *)ptr__OXU);
+    *(result__NXU) = *(FREQUENCY__);
+  };
+  Self__VXU=((__FREQUENCY *)result__NXU);
+  Self__VXU->c__DNC='W';
+  Self__VXU->p__TH=p_p__XXU;
+  add_last__AJC(iub__GB,result__NXU);
+  p_p__CYU=((__REAL_64 )0.02);
+  result__YXU=NULL;
+  ptr__ZXU=((__POINTER )(NULL));
+  typ_id__0XU= 0;
+  sz__1XU=((__UINTEGER_32 )sizeof(__FREQUENCY));
+  if ((sz__1XU ==  0)) {
+    result__YXU=FREQUENCY__;
+  } else {
+    typ_id__0XU=__FREQUENCY__;
+    clone_allocation_size__TQ=(__UINTEGER_32)(clone_allocation_size__TQ + sz__1XU);
+    if ((typ_id__0XU == (__INTEGER)(-  1))) {
+      a__2XU=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__3XU=(__UINTEGER_32)((__UINTEGER_32)(sz__1XU + a__2XU) & (__UINTEGER_32)(~ a__2XU));
+      ptr_table__JAV=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__3XU / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+      next__IAV=((__POINTER )(NULL));
+      result__KAV=((__POINTER *)ptr_table__JAV)[ 0];
+      if ((result__KAV == (void *)NULL)) {
+        result__KAV=new_lab__KXB(new_size__3XU);
+        next__IAV=(void *)((unsigned long)result__KAV - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__3XU)));
+        ((__POINTER *)next__IAV)[ 0]=NULL;
+        ((__POINTER *)ptr_table__JAV)[ 0]=next__IAV;
+      } else {
+        next__IAV=((__POINTER *)result__KAV)[ 0];
+        if ((next__IAV == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__KAV - (unsigned long)begin_memory__TKB)))) &  4095) + (__UINTEGER_32)(new_size__3XU <<  1)) <=  4096)) {
+            next__IAV=(void *)((unsigned long)result__KAV - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__3XU)));
+          } else {
+            next__IAV=new_lab__KXB(new_size__3XU);
+          };
+          ((__POINTER *)next__IAV)[ 0]=NULL;
+          ((__POINTER *)ptr_table__JAV)[ 0]=next__IAV;
+        } else {
+          ((__POINTER *)result__KAV)[ 0]=(void *)((unsigned long)((__POINTER *)next__IAV)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__KAV=next__IAV;
+        };
+      };
+      ptr__ZXU=result__KAV;
+    } else {
+      t__4XU=((__UINTEGER_32 )typ_id__0XU);
+      a__5XU=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__SAV=(__UINTEGER_32)((__UINTEGER_32)(sz__1XU + a__5XU) & (__UINTEGER_32)(~ a__5XU));
+      ptr_table__PAV=((__POINTER )(&(table_type[(t__4XU)])));
+      lab_type__RAV=(__UINTEGER_32)(t__4XU |  1);
+      next__OAV=((__POINTER )(NULL));
+      result__QAV=((__POINTER *)ptr_table__PAV)[ 0];
+      if ((result__QAV == (void *)NULL)) {
+        result__QAV=new_lab__KXB(lab_type__RAV);
+        next__OAV=(void *)((unsigned long)result__QAV - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__SAV)));
+        ((__POINTER *)next__OAV)[ 0]=NULL;
+        ((__POINTER *)ptr_table__PAV)[ 0]=next__OAV;
+      } else {
+        next__OAV=((__POINTER *)result__QAV)[ 0];
+        if ((next__OAV == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__QAV - (unsigned long)begin_memory__TKB)))) &  4095) + (__UINTEGER_32)(new_size__SAV <<  1)) <=  4096)) {
+            next__OAV=(void *)((unsigned long)result__QAV - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__SAV)));
+          } else {
+            next__OAV=new_lab__KXB(lab_type__RAV);
+          };
+          ((__POINTER *)next__OAV)[ 0]=NULL;
+          ((__POINTER *)ptr_table__PAV)[ 0]=next__OAV;
+        } else {
+          ((__POINTER *)result__QAV)[ 0]=(void *)((unsigned long)((__POINTER *)next__OAV)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__QAV=next__OAV;
+        };
+      };
+      ptr__ZXU=result__QAV;
+    };
+    result__YXU=((__FREQUENCY *)ptr__ZXU);
+    *(result__YXU) = *(FREQUENCY__);
+  };
+  Self__AYU=((__FREQUENCY *)result__YXU);
+  Self__AYU->c__DNC='Y';
+  Self__AYU->p__TH=p_p__CYU;
+  add_last__AJC(iub__GB,result__YXU);
+  homo_sapiens__IB=create_with_capacity__YL( 4);
+  p_p__NYU=((__REAL_64 )0.3029549426680);
+  result__DYU=NULL;
+  ptr__EYU=((__POINTER )(NULL));
+  typ_id__FYU= 0;
+  sz__GYU=((__UINTEGER_32 )sizeof(__FREQUENCY));
+  if ((sz__GYU ==  0)) {
+    result__DYU=FREQUENCY__;
+  } else {
+    typ_id__FYU=__FREQUENCY__;
+    clone_allocation_size__TQ=(__UINTEGER_32)(clone_allocation_size__TQ + sz__GYU);
+    if ((typ_id__FYU == (__INTEGER)(-  1))) {
+      a__HYU=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__IYU=(__UINTEGER_32)((__UINTEGER_32)(sz__GYU + a__HYU) & (__UINTEGER_32)(~ a__HYU));
+      ptr_table__VAV=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__IYU / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+      next__UAV=((__POINTER )(NULL));
+      result__WAV=((__POINTER *)ptr_table__VAV)[ 0];
+      if ((result__WAV == (void *)NULL)) {
+        result__WAV=new_lab__KXB(new_size__IYU);
+        next__UAV=(void *)((unsigned long)result__WAV - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__IYU)));
+        ((__POINTER *)next__UAV)[ 0]=NULL;
+        ((__POINTER *)ptr_table__VAV)[ 0]=next__UAV;
+      } else {
+        next__UAV=((__POINTER *)result__WAV)[ 0];
+        if ((next__UAV == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__WAV - (unsigned long)begin_memory__TKB)))) &  4095) + (__UINTEGER_32)(new_size__IYU <<  1)) <=  4096)) {
+            next__UAV=(void *)((unsigned long)result__WAV - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__IYU)));
+          } else {
+            next__UAV=new_lab__KXB(new_size__IYU);
+          };
+          ((__POINTER *)next__UAV)[ 0]=NULL;
+          ((__POINTER *)ptr_table__VAV)[ 0]=next__UAV;
+        } else {
+          ((__POINTER *)result__WAV)[ 0]=(void *)((unsigned long)((__POINTER *)next__UAV)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__WAV=next__UAV;
+        };
+      };
+      ptr__EYU=result__WAV;
+    } else {
+      t__JYU=((__UINTEGER_32 )typ_id__FYU);
+      a__KYU=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__4AV=(__UINTEGER_32)((__UINTEGER_32)(sz__GYU + a__KYU) & (__UINTEGER_32)(~ a__KYU));
+      ptr_table__1AV=((__POINTER )(&(table_type[(t__JYU)])));
+      lab_type__3AV=(__UINTEGER_32)(t__JYU |  1);
+      next__0AV=((__POINTER )(NULL));
+      result__2AV=((__POINTER *)ptr_table__1AV)[ 0];
+      if ((result__2AV == (void *)NULL)) {
+        result__2AV=new_lab__KXB(lab_type__3AV);
+        next__0AV=(void *)((unsigned long)result__2AV - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__4AV)));
+        ((__POINTER *)next__0AV)[ 0]=NULL;
+        ((__POINTER *)ptr_table__1AV)[ 0]=next__0AV;
+      } else {
+        next__0AV=((__POINTER *)result__2AV)[ 0];
+        if ((next__0AV == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__2AV - (unsigned long)begin_memory__TKB)))) &  4095) + (__UINTEGER_32)(new_size__4AV <<  1)) <=  4096)) {
+            next__0AV=(void *)((unsigned long)result__2AV - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__4AV)));
+          } else {
+            next__0AV=new_lab__KXB(lab_type__3AV);
+          };
+          ((__POINTER *)next__0AV)[ 0]=NULL;
+          ((__POINTER *)ptr_table__1AV)[ 0]=next__0AV;
+        } else {
+          ((__POINTER *)result__2AV)[ 0]=(void *)((unsigned long)((__POINTER *)next__0AV)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__2AV=next__0AV;
+        };
+      };
+      ptr__EYU=result__2AV;
+    };
+    result__DYU=((__FREQUENCY *)ptr__EYU);
+    *(result__DYU) = *(FREQUENCY__);
+  };
+  Self__LYU=((__FREQUENCY *)result__DYU);
+  Self__LYU->c__DNC='a';
+  Self__LYU->p__TH=p_p__NYU;
+  add_last__AJC(homo_sapiens__IB,result__DYU);
+  p_p__YYU=((__REAL_64 )0.1979883004921);
+  result__OYU=NULL;
+  ptr__PYU=((__POINTER )(NULL));
+  typ_id__QYU= 0;
+  sz__RYU=((__UINTEGER_32 )sizeof(__FREQUENCY));
+  if ((sz__RYU ==  0)) {
+    result__OYU=FREQUENCY__;
+  } else {
+    typ_id__QYU=__FREQUENCY__;
+    clone_allocation_size__TQ=(__UINTEGER_32)(clone_allocation_size__TQ + sz__RYU);
+    if ((typ_id__QYU == (__INTEGER)(-  1))) {
+      a__SYU=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__TYU=(__UINTEGER_32)((__UINTEGER_32)(sz__RYU + a__SYU) & (__UINTEGER_32)(~ a__SYU));
+      ptr_table__BBV=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__TYU / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+      next__ABV=((__POINTER )(NULL));
+      result__CBV=((__POINTER *)ptr_table__BBV)[ 0];
+      if ((result__CBV == (void *)NULL)) {
+        result__CBV=new_lab__KXB(new_size__TYU);
+        next__ABV=(void *)((unsigned long)result__CBV - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__TYU)));
+        ((__POINTER *)next__ABV)[ 0]=NULL;
+        ((__POINTER *)ptr_table__BBV)[ 0]=next__ABV;
+      } else {
+        next__ABV=((__POINTER *)result__CBV)[ 0];
+        if ((next__ABV == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__CBV - (unsigned long)begin_memory__TKB)))) &  4095) + (__UINTEGER_32)(new_size__TYU <<  1)) <=  4096)) {
+            next__ABV=(void *)((unsigned long)result__CBV - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__TYU)));
+          } else {
+            next__ABV=new_lab__KXB(new_size__TYU);
+          };
+          ((__POINTER *)next__ABV)[ 0]=NULL;
+          ((__POINTER *)ptr_table__BBV)[ 0]=next__ABV;
+        } else {
+          ((__POINTER *)result__CBV)[ 0]=(void *)((unsigned long)((__POINTER *)next__ABV)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__CBV=next__ABV;
+        };
+      };
+      ptr__PYU=result__CBV;
+    } else {
+      t__UYU=((__UINTEGER_32 )typ_id__QYU);
+      a__VYU=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__KBV=(__UINTEGER_32)((__UINTEGER_32)(sz__RYU + a__VYU) & (__UINTEGER_32)(~ a__VYU));
+      ptr_table__HBV=((__POINTER )(&(table_type[(t__UYU)])));
+      lab_type__JBV=(__UINTEGER_32)(t__UYU |  1);
+      next__GBV=((__POINTER )(NULL));
+      result__IBV=((__POINTER *)ptr_table__HBV)[ 0];
+      if ((result__IBV == (void *)NULL)) {
+        result__IBV=new_lab__KXB(lab_type__JBV);
+        next__GBV=(void *)((unsigned long)result__IBV - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__KBV)));
+        ((__POINTER *)next__GBV)[ 0]=NULL;
+        ((__POINTER *)ptr_table__HBV)[ 0]=next__GBV;
+      } else {
+        next__GBV=((__POINTER *)result__IBV)[ 0];
+        if ((next__GBV == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__IBV - (unsigned long)begin_memory__TKB)))) &  4095) + (__UINTEGER_32)(new_size__KBV <<  1)) <=  4096)) {
+            next__GBV=(void *)((unsigned long)result__IBV - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__KBV)));
+          } else {
+            next__GBV=new_lab__KXB(lab_type__JBV);
+          };
+          ((__POINTER *)next__GBV)[ 0]=NULL;
+          ((__POINTER *)ptr_table__HBV)[ 0]=next__GBV;
+        } else {
+          ((__POINTER *)result__IBV)[ 0]=(void *)((unsigned long)((__POINTER *)next__GBV)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__IBV=next__GBV;
+        };
+      };
+      ptr__PYU=result__IBV;
+    };
+    result__OYU=((__FREQUENCY *)ptr__PYU);
+    *(result__OYU) = *(FREQUENCY__);
+  };
+  Self__WYU=((__FREQUENCY *)result__OYU);
+  Self__WYU->c__DNC='c';
+  Self__WYU->p__TH=p_p__YYU;
+  add_last__AJC(homo_sapiens__IB,result__OYU);
+  p_p__DZU=((__REAL_64 )0.1975473066391);
+  result__ZYU=NULL;
+  ptr__0YU=((__POINTER )(NULL));
+  typ_id__1YU= 0;
+  sz__2YU=((__UINTEGER_32 )sizeof(__FREQUENCY));
+  if ((sz__2YU ==  0)) {
+    result__ZYU=FREQUENCY__;
+  } else {
+    typ_id__1YU=__FREQUENCY__;
+    clone_allocation_size__TQ=(__UINTEGER_32)(clone_allocation_size__TQ + sz__2YU);
+    if ((typ_id__1YU == (__INTEGER)(-  1))) {
+      a__3YU=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__4YU=(__UINTEGER_32)((__UINTEGER_32)(sz__2YU + a__3YU) & (__UINTEGER_32)(~ a__3YU));
+      ptr_table__NBV=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__4YU / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+      next__MBV=((__POINTER )(NULL));
+      result__OBV=((__POINTER *)ptr_table__NBV)[ 0];
+      if ((result__OBV == (void *)NULL)) {
+        result__OBV=new_lab__KXB(new_size__4YU);
+        next__MBV=(void *)((unsigned long)result__OBV - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__4YU)));
+        ((__POINTER *)next__MBV)[ 0]=NULL;
+        ((__POINTER *)ptr_table__NBV)[ 0]=next__MBV;
+      } else {
+        next__MBV=((__POINTER *)result__OBV)[ 0];
+        if ((next__MBV == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__OBV - (unsigned long)begin_memory__TKB)))) &  4095) + (__UINTEGER_32)(new_size__4YU <<  1)) <=  4096)) {
+            next__MBV=(void *)((unsigned long)result__OBV - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__4YU)));
+          } else {
+            next__MBV=new_lab__KXB(new_size__4YU);
+          };
+          ((__POINTER *)next__MBV)[ 0]=NULL;
+          ((__POINTER *)ptr_table__NBV)[ 0]=next__MBV;
+        } else {
+          ((__POINTER *)result__OBV)[ 0]=(void *)((unsigned long)((__POINTER *)next__MBV)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__OBV=next__MBV;
+        };
+      };
+      ptr__0YU=result__OBV;
+    } else {
+      t__5YU=((__UINTEGER_32 )typ_id__1YU);
+      a__AZU=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__WBV=(__UINTEGER_32)((__UINTEGER_32)(sz__2YU + a__AZU) & (__UINTEGER_32)(~ a__AZU));
+      ptr_table__TBV=((__POINTER )(&(table_type[(t__5YU)])));
+      lab_type__VBV=(__UINTEGER_32)(t__5YU |  1);
+      next__SBV=((__POINTER )(NULL));
+      result__UBV=((__POINTER *)ptr_table__TBV)[ 0];
+      if ((result__UBV == (void *)NULL)) {
+        result__UBV=new_lab__KXB(lab_type__VBV);
+        next__SBV=(void *)((unsigned long)result__UBV - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__WBV)));
+        ((__POINTER *)next__SBV)[ 0]=NULL;
+        ((__POINTER *)ptr_table__TBV)[ 0]=next__SBV;
+      } else {
+        next__SBV=((__POINTER *)result__UBV)[ 0];
+        if ((next__SBV == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__UBV - (unsigned long)begin_memory__TKB)))) &  4095) + (__UINTEGER_32)(new_size__WBV <<  1)) <=  4096)) {
+            next__SBV=(void *)((unsigned long)result__UBV - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__WBV)));
+          } else {
+            next__SBV=new_lab__KXB(lab_type__VBV);
+          };
+          ((__POINTER *)next__SBV)[ 0]=NULL;
+          ((__POINTER *)ptr_table__TBV)[ 0]=next__SBV;
+        } else {
+          ((__POINTER *)result__UBV)[ 0]=(void *)((unsigned long)((__POINTER *)next__SBV)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__UBV=next__SBV;
+        };
+      };
+      ptr__0YU=result__UBV;
+    };
+    result__ZYU=((__FREQUENCY *)ptr__0YU);
+    *(result__ZYU) = *(FREQUENCY__);
+  };
+  Self__BZU=((__FREQUENCY *)result__ZYU);
+  Self__BZU->c__DNC='g';
+  Self__BZU->p__TH=p_p__DZU;
+  add_last__AJC(homo_sapiens__IB,result__ZYU);
+  p_p__HM=((__REAL_64 )0.3015094502008);
+  result__XR=NULL;
+  ptr__YR=((__POINTER )(NULL));
+  typ_id__3R= 0;
+  sz__0R=((__UINTEGER_32 )sizeof(__FREQUENCY));
+  if ((sz__0R ==  0)) {
+    result__XR=FREQUENCY__;
+  } else {
+    typ_id__3R=__FREQUENCY__;
+    clone_allocation_size__TQ=(__UINTEGER_32)(clone_allocation_size__TQ + sz__0R);
+    if ((typ_id__3R == (__INTEGER)(-  1))) {
+      a__BOU=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__COU=(__UINTEGER_32)((__UINTEGER_32)(sz__0R + a__BOU) & (__UINTEGER_32)(~ a__BOU));
+      ptr_table__ZBV=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__COU / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+      next__YBV=((__POINTER )(NULL));
+      result__0BV=((__POINTER *)ptr_table__ZBV)[ 0];
+      if ((result__0BV == (void *)NULL)) {
+        result__0BV=new_lab__KXB(new_size__COU);
+        next__YBV=(void *)((unsigned long)result__0BV - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__COU)));
+        ((__POINTER *)next__YBV)[ 0]=NULL;
+        ((__POINTER *)ptr_table__ZBV)[ 0]=next__YBV;
+      } else {
+        next__YBV=((__POINTER *)result__0BV)[ 0];
+        if ((next__YBV == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__0BV - (unsigned long)begin_memory__TKB)))) &  4095) + (__UINTEGER_32)(new_size__COU <<  1)) <=  4096)) {
+            next__YBV=(void *)((unsigned long)result__0BV - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__COU)));
+          } else {
+            next__YBV=new_lab__KXB(new_size__COU);
+          };
+          ((__POINTER *)next__YBV)[ 0]=NULL;
+          ((__POINTER *)ptr_table__ZBV)[ 0]=next__YBV;
+        } else {
+          ((__POINTER *)result__0BV)[ 0]=(void *)((unsigned long)((__POINTER *)next__YBV)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__0BV=next__YBV;
+        };
+      };
+      ptr__YR=result__0BV;
+    } else {
+      t__LOU=((__UINTEGER_32 )typ_id__3R);
+      a__IOU=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__YIB=(__UINTEGER_32)((__UINTEGER_32)(sz__0R + a__IOU) & (__UINTEGER_32)(~ a__IOU));
+      ptr_table__ZIB=((__POINTER )(&(table_type[(t__LOU)])));
+      lab_type__0IB=(__UINTEGER_32)(t__LOU |  1);
+      next__4IB=((__POINTER )(NULL));
+      result__2IB=((__POINTER *)ptr_table__ZIB)[ 0];
+      if ((result__2IB == (void *)NULL)) {
+        result__2IB=new_lab__KXB(lab_type__0IB);
+        next__4IB=(void *)((unsigned long)result__2IB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__YIB)));
+        ((__POINTER *)next__4IB)[ 0]=NULL;
+        ((__POINTER *)ptr_table__ZIB)[ 0]=next__4IB;
+      } else {
+        next__4IB=((__POINTER *)result__2IB)[ 0];
+        if ((next__4IB == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__2IB - (unsigned long)begin_memory__TKB)))) &  4095) + (__UINTEGER_32)(new_size__YIB <<  1)) <=  4096)) {
+            next__4IB=(void *)((unsigned long)result__2IB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__YIB)));
+          } else {
+            next__4IB=new_lab__KXB(lab_type__0IB);
+          };
+          ((__POINTER *)next__4IB)[ 0]=NULL;
+          ((__POINTER *)ptr_table__ZIB)[ 0]=next__4IB;
+        } else {
+          ((__POINTER *)result__2IB)[ 0]=(void *)((unsigned long)((__POINTER *)next__4IB)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__2IB=next__4IB;
+        };
+      };
+      ptr__YR=result__2IB;
+    };
+    result__XR=((__FREQUENCY *)ptr__YR);
+    *(result__XR) = *(FREQUENCY__);
+  };
+  Self__ANC=((__FREQUENCY *)result__XR);
+  Self__ANC->c__DNC='t';
+  Self__ANC->p__TH=p_p__HM;
+  add_last__AJC(homo_sapiens__IB,result__XR);
+  cp__4BV=((__REAL_64 ) 0);
+  Self__5BV= 0;
+  limit_up__BCV=((__FAST_ARRAYoFREQUENCYo *)iub__GB)->parent_arrayed_collection__FB.upper__JH;
+  __tmp__CCV=((__FAST_ARRAYoFREQUENCYo *)iub__GB)->parent_arrayed_collection__FB.storage__BKC;
+  __tmp__DCV=((__FAST_ARRAYoFREQUENCYo *)iub__GB)->parent_arrayed_collection__FB.storage__BKC;
+  while ((Self__5BV <= limit_up__BCV)) {
+    cp__4BV=((__REAL_64 )((cp__4BV) + (((__FREQUENCY *)((void **)__tmp__CCV)[Self__5BV])->p__TH)));
+    ((__FREQUENCY *)((void **)__tmp__DCV)[Self__5BV])->p__TH=cp__4BV;
+    Self__5BV=(__INTEGER)(Self__5BV +  1);
+  };
+  cp__GH=((__REAL_64 ) 0);
+  Self__GN= 0;
+  limit_up__HN=((__FAST_ARRAYoFREQUENCYo *)homo_sapiens__IB)->parent_arrayed_collection__FB.upper__JH;
+  __tmp__XSU=((__FAST_ARRAYoFREQUENCYo *)homo_sapiens__IB)->parent_arrayed_collection__FB.storage__BKC;
+  __tmp__YSU=((__FAST_ARRAYoFREQUENCYo *)homo_sapiens__IB)->parent_arrayed_collection__FB.storage__BKC;
+  while ((Self__GN <= limit_up__HN)) {
+    cp__GH=((__REAL_64 )((cp__GH) + (((__FREQUENCY *)((void **)__tmp__XSU)[Self__GN])->p__TH)));
+    ((__FREQUENCY *)((void **)__tmp__YSU)[Self__GN])->p__TH=cp__GH;
+    Self__GN=(__INTEGER)(Self__GN +  1);
+  };
+  n__GI=(__INTEGER)(result__SFM <<  1);
+  j__JI= 0;
+  idx__LI= 0;
+  fputc((int)('>'),stdout);
+  print__3N((&__string_1));
+  fputc((int)(' '),stdout);
+  print__3N((&__string_2));
+  fputc((int)('\n'),stdout);
+  kn__II=((__STRING_CONSTANT *)(&__string_3))->count__MI;
+  k__HI= 1;
+  i__KI=n__GI;
+  __tmp__YQU=((__STRING_CONSTANT *)(&__string_3))->storage__JVD;
+  while ((i__KI >=  1)) {
+    result__LOD= 0;
+    if ((i__KI >  60)) {
+      result__LOD= 60;
+    } else {
+      result__LOD=i__KI;
+    };
+    j__JI=result__LOD;
+    idx__LI= 0;
+    while ((j__JI >=  1)) {
+      if ((k__HI > kn__II)) {
+        k__HI= 1;
+      };
+      pick__PJ[idx__LI]=((__CHARACTER *)__tmp__YQU)[(__INTEGER)(k__HI -  1)];
+      k__HI=(__INTEGER)(k__HI +  1);
+      j__JI=(__INTEGER)(j__JI -  1);
+      idx__LI=(__INTEGER)(idx__LI +  1);
+    };
+    pick__PJ[idx__LI]='\0';
+    puts((pick__PJ));
+    i__KI=(__INTEGER)(i__KI -  60);
+  };
+  make_random_fasta__3J((&__string_4),(&__string_5),iub__GB,(__INTEGER)(result__SFM *  3));
+  make_random_fasta__3J((&__string_6),(&__string_7),homo_sapiens__IB,(__INTEGER)(result__SFM *  5));
+  return( 0);
+}
+
+static __POINTER new_lab__KXB(__UINTEGER_32 t__MXB)
+// ({UINTEGER_32}) With resultNo recursive, No inlinable.
+{
+  __UINTEGER_32 idx__OXB,pv__VXB;
+  __MEMORY *blc__RXB,*prev__SXB,*Self__FAU,*Self__2LU,*prev__3LU;
+  __MEMORY *next__4LU;
+  __POINTER result__TXB;
+  __BOOLEAN __tmp__VYB;
+  idx__OXB= 0;
+  blc__RXB=NULL;
+  prev__SXB=NULL;
+  pv__VXB= 0;
+  while_do__N2B:
+  {
+    if ((idx__OXB < nb_page__2XB)) {
+      blc__RXB=((__MEMORY *)(last_block[(idx__OXB)]));
+      __tmp__VYB=(((__UINTEGER_32)(((__MEMORY *)blc__RXB)->size_and_id__4Q &  4294967292LU) <  4096) || ((__UINTEGER_32)(((__MEMORY *)blc__RXB)->size_and_id__4Q &  1) ==  1));
+    } else {
+      __tmp__VYB=FALSE__;
+    };
+    if (__tmp__VYB) {
+      idx__OXB=(__UINTEGER_32)(idx__OXB +  1);
+      goto while_do__N2B;
+    };
+  };
+  if ((idx__OXB >= nb_page__2XB)) {
+    blc__RXB=new_page__4JD();
+  };
+  ((__MEMORY *)blc__RXB)->size_and_id__4Q=(__UINTEGER_32)(blc__RXB->size_and_id__4Q -  4096);
+  Self__FAU=((__MEMORY *)blc__RXB);
+  result__TXB=((__POINTER )((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__FAU) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__FAU->size_and_id__4Q &  4294967292LU))))));
+  if (((__UINTEGER_32)(((__MEMORY *)blc__RXB)->size_and_id__4Q &  4294967292LU) < ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+    Self__2LU=((__MEMORY *)blc__RXB);
+    prev__3LU=Self__2LU->previous_free__AR;
+    next__4LU=Self__2LU->next_free__5Q;
+    if (((void *)prev__3LU == (void *)NULL)) {
+      first_free__5JG=next__4LU;
+    } else {
+      ((__MEMORY *)prev__3LU)->next_free__5Q=next__4LU;
+    };
+    if (((void *)next__4LU != (void *)NULL)) {
+      ((__MEMORY *)next__4LU)->previous_free__AR=prev__3LU;
+    };
+    pv__VXB=blc__RXB->previous_linear__3Q;
+    if ((pv__VXB !=  4294967295LU)) {
+      prev__SXB=((__MEMORY *)(void *)((unsigned long)begin_memory__TKB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )pv__VXB))));
+      ((__MEMORY *)prev__SXB)->size_and_id__4Q=(__UINTEGER_32)((__UINTEGER_32)(prev__SXB->size_and_id__4Q + blc__RXB->size_and_id__4Q) +  8);
+      last_block[(idx__OXB)] = (prev__SXB);
+    };
+  };
+  ((__POINTER *)result__TXB)[ 0]=((__POINTER )t__MXB);
+  return((void *)((unsigned long)result__TXB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *)))))));
+}
+
+static void** create__5EG(__INTEGER nb_elements__BFG)
+// ({INTEGER}) With resultNo recursive, No inlinable.
+{
+  __UINTEGER_32 sz__KRU,a__JRU,new_size__LRU,new_size2__MRU,a__ORU;
+  __UINTEGER_32 new_size__PRU;
+  __POINTER result__IRU,ptr_table__FZU,next__EZU,result__GZU;
+  __INTEGER Self__BSI;
+  void **Result__YNG;
+  sz__KRU=((__UINTEGER_32 )(__INTEGER)(nb_elements__BFG * ((__INTEGER )(sizeof(void *)))));
+  result__IRU=((__POINTER )(NULL));
+  a__JRU=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+  new_size__LRU=(__UINTEGER_32)((__UINTEGER_32)(sz__KRU + a__JRU) & (__UINTEGER_32)(~ a__JRU));
+  new_size2__MRU=(__UINTEGER_32)(new_size__LRU + ((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))));
+  if ((new_size2__MRU <= ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+    a__ORU=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+    new_size__PRU=(__UINTEGER_32)((__UINTEGER_32)(new_size2__MRU + a__ORU) & (__UINTEGER_32)(~ a__ORU));
+    ptr_table__FZU=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__PRU / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+    next__EZU=((__POINTER )(NULL));
+    result__GZU=((__POINTER *)ptr_table__FZU)[ 0];
+    if ((result__GZU == (void *)NULL)) {
+      result__GZU=new_lab__KXB(new_size__PRU);
+      next__EZU=(void *)((unsigned long)result__GZU - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__PRU)));
+      ((__POINTER *)next__EZU)[ 0]=NULL;
+      ((__POINTER *)ptr_table__FZU)[ 0]=next__EZU;
+    } else {
+      next__EZU=((__POINTER *)result__GZU)[ 0];
+      if ((next__EZU == (void *)NULL)) {
+        if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__GZU - (unsigned long)begin_memory__TKB)))) &  4095) + (__UINTEGER_32)(new_size__PRU <<  1)) <=  4096)) {
+          next__EZU=(void *)((unsigned long)result__GZU - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__PRU)));
+        } else {
+          next__EZU=new_lab__KXB(new_size__PRU);
+        };
+        ((__POINTER *)next__EZU)[ 0]=NULL;
+        ((__POINTER *)ptr_table__FZU)[ 0]=next__EZU;
+      } else {
+        ((__POINTER *)result__GZU)[ 0]=(void *)((unsigned long)((__POINTER *)next__EZU)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+        result__GZU=next__EZU;
+      };
+    };
+    ((__POINTER *)result__GZU)[ 0]=((__POINTER ) 3);
+    result__IRU=(void *)((unsigned long)result__GZU - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+  } else {
+    result__IRU=(void *)((unsigned long)((__POINTER )((__MEMORY *)search__2IG(new_size__LRU))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+  };
+  Result__YNG=((void **)result__IRU);
+  Self__BSI=(__INTEGER)(nb_elements__BFG -  1);
+  while ((Self__BSI >=  0)) {
+    Result__YNG[Self__BSI]=NULL;
+    Self__BSI=(__INTEGER)(Self__BSI -  1);
+  };
+  return(Result__YNG);
+}
+
+static __CHARACTER* create__T4D(__INTEGER nb_elements__V4D)
+// ({INTEGER}) With resultNo recursive, No inlinable.
+{
+  __UINTEGER_32 sz__VRU,a__URU,new_size__WRU,new_size2__XRU,a__ZRU;
+  __UINTEGER_32 new_size__0RU;
+  __POINTER result__TRU,ptr_table__LZU,next__KZU,result__MZU;
+  __INTEGER Self__JKI;
+  __CHARACTER *Result__URE;
+  sz__VRU=((__UINTEGER_32 )nb_elements__V4D);
+  result__TRU=((__POINTER )(NULL));
+  a__URU=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+  new_size__WRU=(__UINTEGER_32)((__UINTEGER_32)(sz__VRU + a__URU) & (__UINTEGER_32)(~ a__URU));
+  new_size2__XRU=(__UINTEGER_32)(new_size__WRU + ((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))));
+  if ((new_size2__XRU <= ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+    a__ZRU=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+    new_size__0RU=(__UINTEGER_32)((__UINTEGER_32)(new_size2__XRU + a__ZRU) & (__UINTEGER_32)(~ a__ZRU));
+    ptr_table__LZU=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__0RU / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+    next__KZU=((__POINTER )(NULL));
+    result__MZU=((__POINTER *)ptr_table__LZU)[ 0];
+    if ((result__MZU == (void *)NULL)) {
+      result__MZU=new_lab__KXB(new_size__0RU);
+      next__KZU=(void *)((unsigned long)result__MZU - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__0RU)));
+      ((__POINTER *)next__KZU)[ 0]=NULL;
+      ((__POINTER *)ptr_table__LZU)[ 0]=next__KZU;
+    } else {
+      next__KZU=((__POINTER *)result__MZU)[ 0];
+      if ((next__KZU == (void *)NULL)) {
+        if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__MZU - (unsigned long)begin_memory__TKB)))) &  4095) + (__UINTEGER_32)(new_size__0RU <<  1)) <=  4096)) {
+          next__KZU=(void *)((unsigned long)result__MZU - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__0RU)));
+        } else {
+          next__KZU=new_lab__KXB(new_size__0RU);
+        };
+        ((__POINTER *)next__KZU)[ 0]=NULL;
+        ((__POINTER *)ptr_table__LZU)[ 0]=next__KZU;
+      } else {
+        ((__POINTER *)result__MZU)[ 0]=(void *)((unsigned long)((__POINTER *)next__KZU)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+        result__MZU=next__KZU;
+      };
+    };
+    ((__POINTER *)result__MZU)[ 0]=((__POINTER ) 3);
+    result__TRU=(void *)((unsigned long)result__MZU - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+  } else {
+    result__TRU=(void *)((unsigned long)((__POINTER )((__MEMORY *)search__2IG(new_size__WRU))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+  };
+  Result__URE=((__CHARACTER *)result__TRU);
+  Self__JKI=(__INTEGER)(nb_elements__V4D -  1);
+  while ((Self__JKI >=  0)) {
+    Result__URE[Self__JKI]='\0';
+    Self__JKI=(__INTEGER)(Self__JKI -  1);
+  };
+  return(Result__URE);
+}
+
+static __POINTER realloc_dynamic__old_size__new_size__RGI(__POINTER p__TGI,__UINTEGER_32 old_sz__UGI,__UINTEGER_32 new_sz__VGI)
+// ({POINTER},{UINTEGER_32},{UINTEGER_32}) With resultNo recursive, No inlinable.
+{
+  __MEMORY *mem__AHI,*Self__5YK,*nxt__DZK,*result__EZK,*Self__OCV;
+  __MEMORY *new__NCV,*prev__PCV,*next__QCV,*Self__UCV,*Self__WCV;
+  __MEMORY *next__JWL,*new_free__IWL,*prev__LNU,*next__MNU;
+  __POINTER result__BHI,result__WEF,ptr_table__RZU,next__QZU;
+  __POINTER result__SZU,p__VXK,last__1HL,src__PWK,dst__QWK;
+  __UINTEGER_32 a__1MU,old_size__XGI,old_size2__0GI,a__5MU;
+  __UINTEGER_32 new_size__3GI,a__WLU,new_size__QEF,new_size2__TEF;
+  __UINTEGER_32 a__5OU,new_size__APU,a__WGB,__tmp__SII,sz__IZK;
+  __UINTEGER_32 old_size__FZK,siz__RCV,new_size__TCV,prev__KWL;
+  __UINTEGER_32 new_size__NWL;
+  __INTEGER siz__GCV,Self__LCV,siz__UWK,Self__OFL;
+  __POINTER *na_src__ICV,*na_dst__KCV,*na_src__SWK,*na_dst__TWK;
+  mem__AHI=NULL;
+  result__BHI=((__POINTER )(NULL));
+  a__1MU=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+  old_size__XGI=(__UINTEGER_32)((__UINTEGER_32)(old_sz__UGI + a__1MU) & (__UINTEGER_32)(~ a__1MU));
+  old_size2__0GI=(__UINTEGER_32)(old_size__XGI + ((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))));
+  a__5MU=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+  new_size__3GI=(__UINTEGER_32)((__UINTEGER_32)(new_sz__VGI + a__5MU) & (__UINTEGER_32)(~ a__5MU));
+  if ((old_size2__0GI <= ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+    result__WEF=((__POINTER )(NULL));
+    a__WLU=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+    new_size__QEF=(__UINTEGER_32)((__UINTEGER_32)(new_size__3GI + a__WLU) & (__UINTEGER_32)(~ a__WLU));
+    new_size2__TEF=(__UINTEGER_32)(new_size__QEF + ((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))));
+    if ((new_size2__TEF <= ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+      a__5OU=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__APU=(__UINTEGER_32)((__UINTEGER_32)(new_size2__TEF + a__5OU) & (__UINTEGER_32)(~ a__5OU));
+      ptr_table__RZU=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__APU / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+      next__QZU=((__POINTER )(NULL));
+      result__SZU=((__POINTER *)ptr_table__RZU)[ 0];
+      if ((result__SZU == (void *)NULL)) {
+        result__SZU=new_lab__KXB(new_size__APU);
+        next__QZU=(void *)((unsigned long)result__SZU - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__APU)));
+        ((__POINTER *)next__QZU)[ 0]=NULL;
+        ((__POINTER *)ptr_table__RZU)[ 0]=next__QZU;
+      } else {
+        next__QZU=((__POINTER *)result__SZU)[ 0];
+        if ((next__QZU == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__SZU - (unsigned long)begin_memory__TKB)))) &  4095) + (__UINTEGER_32)(new_size__APU <<  1)) <=  4096)) {
+            next__QZU=(void *)((unsigned long)result__SZU - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__APU)));
+          } else {
+            next__QZU=new_lab__KXB(new_size__APU);
+          };
+          ((__POINTER *)next__QZU)[ 0]=NULL;
+          ((__POINTER *)ptr_table__RZU)[ 0]=next__QZU;
+        } else {
+          ((__POINTER *)result__SZU)[ 0]=(void *)((unsigned long)((__POINTER *)next__QZU)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__SZU=next__QZU;
+        };
+      };
+      ((__POINTER *)result__SZU)[ 0]=((__POINTER ) 3);
+      result__WEF=(void *)((unsigned long)result__SZU - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+    } else {
+      result__WEF=(void *)((unsigned long)((__POINTER )((__MEMORY *)search__2IG(new_size__QEF))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+    };
+    result__BHI=result__WEF;
+    siz__GCV=((__INTEGER )old_size__XGI);
+    siz__GCV=(__INTEGER)(siz__GCV / ((__INTEGER )(sizeof(void *))));
+    na_src__ICV=((__POINTER *)p__TGI);
+    na_dst__KCV=((__POINTER *)result__WEF);
+    Self__LCV=(__INTEGER)(siz__GCV -  1);
+    while ((Self__LCV >=  0)) {
+      na_dst__KCV[Self__LCV]=na_src__ICV[Self__LCV];
+      Self__LCV=(__INTEGER)(Self__LCV -  1);
+    };
+    p__VXK=(void *)((unsigned long)p__TGI - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *)))));
+    a__WGB=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+    last__1HL=((__POINTER *)((__POINTER )(&(table_size[((__UINTEGER_32)((__UINTEGER_32)((__UINTEGER_32)(old_size2__0GI + a__WGB) & (__UINTEGER_32)(~ a__WGB)) / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1]))))[ 0];
+    ((__POINTER *)p__VXK)[ 0]=(void *)((unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)(void *)((unsigned long)(void *)((unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER *)last__1HL)[ 0]) - (unsigned long)((__POINTER ) 1)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 3)) - (unsigned long)((__POINTER ) 1)))) - (unsigned long)((__POINTER ) 1));
+    ((__POINTER *)last__1HL)[ 0]=p__VXK;
+  } else {
+    mem__AHI=((__MEMORY *)(void *)((unsigned long)p__TGI - (unsigned long)((__POINTER ) 8)));
+    __tmp__SII=(__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)p__TGI - (unsigned long)begin_memory__TKB)))) >>  26);
+    Self__5YK=((__MEMORY *)mem__AHI);
+    nxt__DZK=NULL;
+    result__EZK=NULL;
+    sz__IZK= 0;
+    old_size__FZK=(__UINTEGER_32)(Self__5YK->size_and_id__4Q &  4294967292LU);
+    if ((new_size__3GI > old_size__FZK)) {
+      if ((! ((__UINTEGER_32)(Self__5YK->size_and_id__4Q &  2) !=  0))) {
+        nxt__DZK=((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__5YK) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__5YK->size_and_id__4Q &  4294967292LU)))));
+        sz__IZK=(__UINTEGER_32)((__UINTEGER_32)(new_size__3GI - old_size__FZK) -  8);
+        if ((((__UINTEGER_32)(((__MEMORY *)nxt__DZK)->size_and_id__4Q &  1) ==  0) && ((__UINTEGER_32)(((__MEMORY *)nxt__DZK)->size_and_id__4Q &  4294967292LU) >= sz__IZK))) {
+          Self__OCV=((__MEMORY *)nxt__DZK);
+          new__NCV=NULL;
+          prev__PCV=Self__OCV->previous_free__AR;
+          next__QCV=Self__OCV->next_free__5Q;
+          if (((void *)prev__PCV == (void *)NULL)) {
+            first_free__5JG=next__QCV;
+          } else {
+            ((__MEMORY *)prev__PCV)->next_free__5Q=next__QCV;
+          };
+          if (((void *)next__QCV != (void *)NULL)) {
+            ((__MEMORY *)next__QCV)->previous_free__AR=prev__PCV;
+          };
+          siz__RCV=Self__OCV->size_and_id__4Q;
+          new_size__TCV=(__UINTEGER_32)(siz__RCV - sz__IZK);
+          if ((new_size__TCV > (__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )(MINIMUM_SIZE)) +  2) +  8))) {
+            siz__RCV=sz__IZK;
+            new__NCV=((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__OCV) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )sz__IZK))));
+            ((__MEMORY *)new__NCV)->previous_linear__3Q=((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )Self__OCV) - (unsigned long)begin_memory__TKB))));
+            ((__MEMORY *)new__NCV)->size_and_id__4Q=(__UINTEGER_32)(new_size__TCV -  8);
+            Self__UCV=((__MEMORY *)new__NCV);
+            Self__UCV->next_free__5Q=first_free__5JG;
+            Self__UCV->previous_free__AR=NULL;
+            if (((void *)first_free__5JG != (void *)NULL)) {
+              ((__MEMORY *)first_free__5JG)->previous_free__AR=Self__UCV;
+            };
+            first_free__5JG=Self__UCV;
+            if (((__UINTEGER_32)(((__MEMORY *)new__NCV)->size_and_id__4Q &  2) !=  0)) {
+              last_block[(__tmp__SII)] = (new__NCV);
+            } else {
+              Self__WCV=((__MEMORY *)new__NCV);
+              ((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__WCV) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__WCV->size_and_id__4Q &  4294967292LU)))))->previous_linear__3Q=((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )((__MEMORY *)new__NCV)) - (unsigned long)begin_memory__TKB))));
+            };
+          };
+          Self__OCV->size_and_id__4Q=(__UINTEGER_32)(siz__RCV |  1);
+          Self__5YK->size_and_id__4Q=(__UINTEGER_32)((__UINTEGER_32)(Self__5YK->size_and_id__4Q + (__UINTEGER_32)(nxt__DZK->size_and_id__4Q &  4294967294LU)) +  8);
+          if (((__UINTEGER_32)(Self__5YK->size_and_id__4Q &  2) !=  0)) {
+            last_block[(__tmp__SII)] = (Self__5YK);
+          } else {
+            nxt__DZK=((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__5YK) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__5YK->size_and_id__4Q &  4294967292LU)))));
+            ((__MEMORY *)nxt__DZK)->previous_linear__3Q=((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )Self__5YK) - (unsigned long)begin_memory__TKB))));
+          };
+          result__EZK=Self__5YK;
+        };
+      };
+      if (((void *)result__EZK == (void *)NULL)) {
+        result__EZK=search__2IG(new_size__3GI);
+        src__PWK=(void *)((unsigned long)((__POINTER )Self__5YK) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+        dst__QWK=(void *)((unsigned long)((__POINTER )((__MEMORY *)result__EZK)) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+        siz__UWK=((__INTEGER )old_size__FZK);
+        siz__UWK=(__INTEGER)(siz__UWK / ((__INTEGER )(sizeof(void *))));
+        na_src__SWK=((__POINTER *)src__PWK);
+        na_dst__TWK=((__POINTER *)dst__QWK);
+        Self__OFL=(__INTEGER)(siz__UWK -  1);
+        while ((Self__OFL >=  0)) {
+          na_dst__TWK[Self__OFL]=na_src__SWK[Self__OFL];
+          Self__OFL=(__INTEGER)(Self__OFL -  1);
+        };
+        prev__KWL=Self__5YK->previous_linear__3Q;
+        next__JWL=((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__5YK) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__5YK->size_and_id__4Q &  4294967292LU)))));
+        new_free__IWL=((__MEMORY *)(void *)((unsigned long)begin_memory__TKB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )prev__KWL))));
+        new_size__NWL=(__UINTEGER_32)(Self__5YK->size_and_id__4Q &  4294967294LU);
+        if (((prev__KWL ==  4294967295LU) || ((__UINTEGER_32)(new_free__IWL->size_and_id__4Q &  1) !=  0))) {
+          new_free__IWL=Self__5YK;
+          Self__5YK->next_free__5Q=first_free__5JG;
+          Self__5YK->previous_free__AR=NULL;
+          if (((void *)first_free__5JG != (void *)NULL)) {
+            ((__MEMORY *)first_free__5JG)->previous_free__AR=Self__5YK;
+          };
+          first_free__5JG=Self__5YK;
+        } else {
+          new_size__NWL=(__UINTEGER_32)((__UINTEGER_32)(new_size__NWL + new_free__IWL->size_and_id__4Q) +  8);
+        };
+        if (((! ((__UINTEGER_32)(Self__5YK->size_and_id__4Q &  2) !=  0)) && ((__UINTEGER_32)(next__JWL->size_and_id__4Q &  1) ==  0))) {
+          new_size__NWL=(__UINTEGER_32)((__UINTEGER_32)(new_size__NWL + next__JWL->size_and_id__4Q) +  8);
+          prev__LNU=next__JWL->previous_free__AR;
+          next__MNU=next__JWL->next_free__5Q;
+          if (((void *)prev__LNU == (void *)NULL)) {
+            first_free__5JG=next__MNU;
+          } else {
+            ((__MEMORY *)prev__LNU)->next_free__5Q=next__MNU;
+          };
+          if (((void *)next__MNU != (void *)NULL)) {
+            ((__MEMORY *)next__MNU)->previous_free__AR=prev__LNU;
+          };
+        };
+        new_free__IWL->size_and_id__4Q=new_size__NWL;
+        if (((__UINTEGER_32)(new_free__IWL->size_and_id__4Q &  2) !=  0)) {
+          last_block[(__tmp__SII)] = (new_free__IWL);
+        } else {
+          next__JWL=((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__5YK) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__5YK->size_and_id__4Q &  4294967292LU)))));
+          next__JWL->previous_linear__3Q=((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )new_free__IWL) - (unsigned long)begin_memory__TKB))));
+        };
+      };
+    } else {
+      result__EZK=Self__5YK;
+    };
+    result__BHI=(void *)((unsigned long)((__POINTER )((__MEMORY *)result__EZK)) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+  };
+  return(result__BHI);
+}
+
+static __FAST_ARRAYoFREQUENCYo* create_with_capacity__YL(__INTEGER new_count__0L)
+// ({INTEGER}) With resultNo recursive, No inlinable.
+{
+  __POINTER ptr__AQ,ptr_table__XZU,next__WZU,result__YZU,ptr_table__3ZU;
+  __POINTER next__2ZU,result__4ZU;
+  __INTEGER typ_id__FQ;
+  __UINTEGER_32 sz__CQ,a__TNU,new_size__UNU,t__3NU,a__0NU,new_size__A0U;
+  __UINTEGER_32 lab_type__5ZU;
+  __FAST_ARRAYoFREQUENCYo *result__5P,*Self__2LC;
+  result__5P=NULL;
+  ptr__AQ=((__POINTER )(NULL));
+  typ_id__FQ= 0;
+  sz__CQ=((__UINTEGER_32 )sizeof(__FAST_ARRAYoFREQUENCYo));
+  if ((sz__CQ ==  0)) {
+    result__5P=FAST_ARRAYoFREQUENCYo__;
+  } else {
+    typ_id__FQ=__FAST_ARRAYoFREQUENCYo__;
+    clone_allocation_size__TQ=(__UINTEGER_32)(clone_allocation_size__TQ + sz__CQ);
+    if ((typ_id__FQ == (__INTEGER)(-  1))) {
+      a__TNU=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__UNU=(__UINTEGER_32)((__UINTEGER_32)(sz__CQ + a__TNU) & (__UINTEGER_32)(~ a__TNU));
+      ptr_table__XZU=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__UNU / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+      next__WZU=((__POINTER )(NULL));
+      result__YZU=((__POINTER *)ptr_table__XZU)[ 0];
+      if ((result__YZU == (void *)NULL)) {
+        result__YZU=new_lab__KXB(new_size__UNU);
+        next__WZU=(void *)((unsigned long)result__YZU - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__UNU)));
+        ((__POINTER *)next__WZU)[ 0]=NULL;
+        ((__POINTER *)ptr_table__XZU)[ 0]=next__WZU;
+      } else {
+        next__WZU=((__POINTER *)result__YZU)[ 0];
+        if ((next__WZU == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__YZU - (unsigned long)begin_memory__TKB)))) &  4095) + (__UINTEGER_32)(new_size__UNU <<  1)) <=  4096)) {
+            next__WZU=(void *)((unsigned long)result__YZU - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__UNU)));
+          } else {
+            next__WZU=new_lab__KXB(new_size__UNU);
+          };
+          ((__POINTER *)next__WZU)[ 0]=NULL;
+          ((__POINTER *)ptr_table__XZU)[ 0]=next__WZU;
+        } else {
+          ((__POINTER *)result__YZU)[ 0]=(void *)((unsigned long)((__POINTER *)next__WZU)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__YZU=next__WZU;
+        };
+      };
+      ptr__AQ=result__YZU;
+    } else {
+      t__3NU=((__UINTEGER_32 )typ_id__FQ);
+      a__0NU=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__A0U=(__UINTEGER_32)((__UINTEGER_32)(sz__CQ + a__0NU) & (__UINTEGER_32)(~ a__0NU));
+      ptr_table__3ZU=((__POINTER )(&(table_type[(t__3NU)])));
+      lab_type__5ZU=(__UINTEGER_32)(t__3NU |  1);
+      next__2ZU=((__POINTER )(NULL));
+      result__4ZU=((__POINTER *)ptr_table__3ZU)[ 0];
+      if ((result__4ZU == (void *)NULL)) {
+        result__4ZU=new_lab__KXB(lab_type__5ZU);
+        next__2ZU=(void *)((unsigned long)result__4ZU - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__A0U)));
+        ((__POINTER *)next__2ZU)[ 0]=NULL;
+        ((__POINTER *)ptr_table__3ZU)[ 0]=next__2ZU;
+      } else {
+        next__2ZU=((__POINTER *)result__4ZU)[ 0];
+        if ((next__2ZU == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__4ZU - (unsigned long)begin_memory__TKB)))) &  4095) + (__UINTEGER_32)(new_size__A0U <<  1)) <=  4096)) {
+            next__2ZU=(void *)((unsigned long)result__4ZU - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__A0U)));
+          } else {
+            next__2ZU=new_lab__KXB(lab_type__5ZU);
+          };
+          ((__POINTER *)next__2ZU)[ 0]=NULL;
+          ((__POINTER *)ptr_table__3ZU)[ 0]=next__2ZU;
+        } else {
+          ((__POINTER *)result__4ZU)[ 0]=(void *)((unsigned long)((__POINTER *)next__2ZU)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__4ZU=next__2ZU;
+        };
+      };
+      ptr__AQ=result__4ZU;
+    };
+    result__5P=((__FAST_ARRAYoFREQUENCYo *)ptr__AQ);
+    *(result__5P) = *(FAST_ARRAYoFREQUENCYo__);
+  };
+  Self__2LC=((__FAST_ARRAYoFREQUENCYo *)result__5P);
+  if ((Self__2LC->parent_arrayed_collection__FB.capacity__FJC < new_count__0L)) {
+    Self__2LC->parent_arrayed_collection__FB.storage__BKC=create__VNE(new_count__0L);
+    Self__2LC->parent_arrayed_collection__FB.capacity__FJC=new_count__0L;
+  };
+  Self__2LC->parent_arrayed_collection__FB.upper__JH=(__INTEGER)(-  1);
+  return(result__5P);
+}
+
+static void add_last__AJC(__FAST_ARRAYoFREQUENCYo *Self__BJC,void *element__CJC)
+// ({FAST_ARRAYoFREQUENCYo},{NULLxFREQUENCY}) VoidNo recursive, No inlinable.
+{
+  __INTEGER new_capacity__DJC,__tmp__LKC,__tmp__OMH,Self__DXM;
+  __BOOLEAN __tmp__SJC;
+  void **__tmp__KKC,**new__1LH;
+  new_capacity__DJC= 0;
+  if (((__INTEGER)(Self__BJC->parent_arrayed_collection__FB.upper__JH +  1) <= (__INTEGER)(Self__BJC->parent_arrayed_collection__FB.capacity__FJC -  1))) {
+    Self__BJC->parent_arrayed_collection__FB.upper__JH=(__INTEGER)(Self__BJC->parent_arrayed_collection__FB.upper__JH +  1);
+    __tmp__SJC=TRUE__;
+  } else {
+    __tmp__SJC=FALSE__;
+  };
+  if ((! __tmp__SJC)) {
+    if ((Self__BJC->parent_arrayed_collection__FB.capacity__FJC ==  0)) {
+      Self__BJC->parent_arrayed_collection__FB.storage__BKC=create__VNE( 2);
+      Self__BJC->parent_arrayed_collection__FB.capacity__FJC= 2;
+      Self__BJC->parent_arrayed_collection__FB.upper__JH= 0;
+    } else {
+      new_capacity__DJC=(__INTEGER)(Self__BJC->parent_arrayed_collection__FB.capacity__FJC <<  1);
+      __tmp__KKC=Self__BJC->parent_arrayed_collection__FB.storage__BKC;
+      __tmp__LKC=Self__BJC->parent_arrayed_collection__FB.capacity__FJC;
+      new__1LH=((void **)realloc_dynamic__old_size__new_size__RGI(((__POINTER )((void **)__tmp__KKC)),((__UINTEGER_32 )(__INTEGER)(__tmp__LKC * ((__INTEGER )(sizeof(void *))))),((__UINTEGER_32 )(__INTEGER)(new_capacity__DJC * ((__INTEGER )(sizeof(void *)))))));
+      __tmp__OMH=(__INTEGER)(new_capacity__DJC -  1);
+      Self__DXM=__tmp__LKC;
+      while ((Self__DXM <= __tmp__OMH)) {
+        new__1LH[Self__DXM]=NULL;
+        Self__DXM=(__INTEGER)(Self__DXM +  1);
+      };
+      Self__BJC->parent_arrayed_collection__FB.storage__BKC=new__1LH;
+      Self__BJC->parent_arrayed_collection__FB.capacity__FJC=new_capacity__DJC;
+      Self__BJC->parent_arrayed_collection__FB.upper__JH=(__INTEGER)(Self__BJC->parent_arrayed_collection__FB.upper__JH +  1);
+    };
+  };
+  ((void **)Self__BJC->parent_arrayed_collection__FB.storage__BKC)[Self__BJC->parent_arrayed_collection__FB.upper__JH]=element__CJC;
+}
+
+static void print__3N(__STRING_CONSTANT *Self__4N)
+// ({STRING_CONSTANT}) VoidRecursive, No inlinable.
+{
+  __INTEGER Self__E0,limit_up__F0;
+  __CHARACTER *__tmp__MOU;
+  Self__E0= 1;
+  limit_up__F0=Self__4N->count__MI;
+  __tmp__MOU=Self__4N->storage__JVD;
+  while ((Self__E0 <= limit_up__F0)) {
+    fputc((int)(((__CHARACTER *)__tmp__MOU)[(__INTEGER)(Self__E0 -  1)]),stdout);
+    Self__E0=(__INTEGER)(Self__E0 +  1);
+  };
+}
+
+static void make_random_fasta__3J(void *id__5J,void *desc__AK,void *a__BK,__INTEGER n__CK)
+// ({STRING_CONSTANT},{STRING_CONSTANT},{NULLxFAST_ARRAYoFREQUENCYo},{INTEGER}) VoidNo recursive, No inlinable.
+{
+  __INTEGER n_temp__EK,__tmp__WSU,result__VUT,__tmp__UK,Self__PPD;
+  __INTEGER i__YWF;
+  __REAL_64 max__DCG,random__VWF;
+  void **__tmp__2SU,**__tmp__3SU;
+  __CHARACTER return_char__UWF;
+  __FAST_ARRAYoFREQUENCYo *Self__1OE;
+  n_temp__EK=n__CK;
+  fputc((int)('>'),stdout);
+  print__3N(id__5J);
+  fputc((int)(' '),stdout);
+  print__3N(desc__AK);
+  fputc((int)('\n'),stdout);
+  __tmp__WSU=((__FAST_ARRAYoFREQUENCYo *)a__BK)->parent_arrayed_collection__FB.upper__JH;
+  __tmp__2SU=((__FAST_ARRAYoFREQUENCYo *)a__BK)->parent_arrayed_collection__FB.storage__BKC;
+  __tmp__3SU=((__FAST_ARRAYoFREQUENCYo *)a__BK)->parent_arrayed_collection__FB.storage__BKC;
+  while ((n_temp__EK >  0)) {
+    result__VUT= 0;
+    if ((n_temp__EK >  60)) {
+      result__VUT= 60;
+    } else {
+      result__VUT=n_temp__EK;
+    };
+    __tmp__UK=(__INTEGER)(result__VUT -  1);
+    Self__PPD= 0;
+    while ((Self__PPD <= __tmp__UK)) {
+      return_char__UWF='\0';
+      max__DCG=((__REAL_64 )1.0);
+      last__FCG=(__INTEGER)((__INTEGER)((__INTEGER)(last__FCG *  3877) +  29573) %  139968);
+      random__VWF=(__REAL_64)((__REAL_64)(max__DCG * ((__REAL_64 )last__FCG)) / ((__REAL_64 ) 139968));
+      i__YWF= 0;
+      while (((i__YWF <= __tmp__WSU) && (random__VWF >= ((__FREQUENCY *)((void **)__tmp__2SU)[i__YWF])->p__TH))) {
+        i__YWF=(__INTEGER)(i__YWF +  1);
+      };
+      if ((i__YWF <= __tmp__WSU)) {
+        return_char__UWF=((__FREQUENCY *)((void **)__tmp__3SU)[i__YWF])->c__DNC;
+      } else {
+        Self__1OE=((__FAST_ARRAYoFREQUENCYo *)a__BK);
+        return_char__UWF=((__FREQUENCY *)((void **)Self__1OE->parent_arrayed_collection__FB.storage__BKC)[Self__1OE->parent_arrayed_collection__FB.upper__JH])->c__DNC;
+      };
+      pick__PJ[Self__PPD]=return_char__UWF;
+      Self__PPD=(__INTEGER)(Self__PPD +  1);
+    };
+    pick__PJ[result__VUT]='\0';
+    puts((pick__PJ));
+    n_temp__EK=(__INTEGER)(n_temp__EK -  60);
+  };
+}
+
+static __MEMORY* new_page__4JD()
+// () With resultNo recursive, No inlinable.
+{
+  __POINTER mem__H1E;
+  __UINTEGER_32 cap__E1E,old_size__BKD;
+  __MEMORY *block__HKD;
+  if ((capacity_max__IKD ==  0)) {
+    mem__H1E=((__POINTER )(NULL));
+    cap__E1E= 33554432;
+    do {
+      cap__E1E=(__UINTEGER_32)(cap__E1E <<  1);
+      mem__H1E=((__POINTER )(malloc((cap__E1E))));
+      if ((mem__H1E != (void *)NULL)) {
+        free((mem__H1E));
+      };
+    } while ((! ((mem__H1E == (void *)NULL) || (cap__E1E ==  2147483648LU))));
+    if ((mem__H1E == (void *)NULL)) {
+      cap__E1E=(__UINTEGER_32)(cap__E1E >>  1);
+    };
+    capacity_max__IKD=cap__E1E;
+    begin_memory__TKB=((__POINTER )(malloc((cap__E1E))));
+  };
+  old_size__BKD=(__UINTEGER_32)(nb_page__2XB <<  26);
+  nb_page__2XB=(__UINTEGER_32)(nb_page__2XB +  1);
+  if (((__UINTEGER_32)(old_size__BKD +  67108864) > capacity_max__IKD)) {
+    print__3N((&__string_8));
+    exit(( 1));
+  };
+  block__HKD=((__MEMORY *)(void *)((unsigned long)begin_memory__TKB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )old_size__BKD))));
+  block__HKD->previous_linear__3Q= 4294967295LU;
+  block__HKD->size_and_id__4Q= 67108858;
+  block__HKD->next_free__5Q=first_free__5JG;
+  block__HKD->previous_free__AR=NULL;
+  if (((void *)first_free__5JG != (void *)NULL)) {
+    ((__MEMORY *)first_free__5JG)->previous_free__AR=block__HKD;
+  };
+  first_free__5JG=block__HKD;
+  last_block[((__UINTEGER_32)(nb_page__2XB -  1))] = (block__HKD);
+  return(block__HKD);
+}
+
+static __MEMORY* search__2IG(__UINTEGER_32 new_size__4IG)
+// ({UINTEGER_32}) With resultNo recursive, No inlinable.
+{
+  __MEMORY *result__AJG,*Self__OVH,*new__XVH,*prev__HWI,*next__IWI;
+  __MEMORY *Self__QIH,*Self__5ZT;
+  __UINTEGER_32 idx__QVH,siz__RVH,new_size__UVH;
+  result__AJG=first_free__5JG;
+  while ((((void *)result__AJG != (void *)NULL) && ((__UINTEGER_32)(((__MEMORY *)result__AJG)->size_and_id__4Q &  4294967292LU) < new_size__4IG))) {
+    result__AJG=result__AJG->next_free__5Q;
+  };
+  if (((void *)result__AJG == (void *)NULL)) {
+    result__AJG=new_page__4JD();
+  };
+  Self__OVH=((__MEMORY *)result__AJG);
+  idx__QVH=(__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )((__MEMORY *)result__AJG)) - (unsigned long)begin_memory__TKB)))) >>  26);
+  new__XVH=NULL;
+  prev__HWI=Self__OVH->previous_free__AR;
+  next__IWI=Self__OVH->next_free__5Q;
+  if (((void *)prev__HWI == (void *)NULL)) {
+    first_free__5JG=next__IWI;
+  } else {
+    ((__MEMORY *)prev__HWI)->next_free__5Q=next__IWI;
+  };
+  if (((void *)next__IWI != (void *)NULL)) {
+    ((__MEMORY *)next__IWI)->previous_free__AR=prev__HWI;
+  };
+  siz__RVH=Self__OVH->size_and_id__4Q;
+  new_size__UVH=(__UINTEGER_32)(siz__RVH - new_size__4IG);
+  if ((new_size__UVH > (__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )(MINIMUM_SIZE)) +  2) +  8))) {
+    siz__RVH=new_size__4IG;
+    new__XVH=((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__OVH) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__4IG))));
+    ((__MEMORY *)new__XVH)->previous_linear__3Q=((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )Self__OVH) - (unsigned long)begin_memory__TKB))));
+    ((__MEMORY *)new__XVH)->size_and_id__4Q=(__UINTEGER_32)(new_size__UVH -  8);
+    Self__QIH=((__MEMORY *)new__XVH);
+    Self__QIH->next_free__5Q=first_free__5JG;
+    Self__QIH->previous_free__AR=NULL;
+    if (((void *)first_free__5JG != (void *)NULL)) {
+      ((__MEMORY *)first_free__5JG)->previous_free__AR=Self__QIH;
+    };
+    first_free__5JG=Self__QIH;
+    if (((__UINTEGER_32)(((__MEMORY *)new__XVH)->size_and_id__4Q &  2) !=  0)) {
+      last_block[(idx__QVH)] = (new__XVH);
+    } else {
+      Self__5ZT=((__MEMORY *)new__XVH);
+      ((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__5ZT) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__5ZT->size_and_id__4Q &  4294967292LU)))))->previous_linear__3Q=((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )((__MEMORY *)new__XVH)) - (unsigned long)begin_memory__TKB))));
+    };
+  };
+  Self__OVH->size_and_id__4Q=(__UINTEGER_32)(siz__RVH |  1);
+  return(result__AJG);
+}
+
+static void** create__VNE(__INTEGER nb_elements__XNE)
+// ({INTEGER}) With resultNo recursive, No inlinable.
+{
+  __UINTEGER_32 sz__FPU,a__EPU,new_size__GPU,new_size2__HPU,a__JPU;
+  __UINTEGER_32 new_size__KPU;
+  __POINTER result__DPU,ptr_table__D0U,next__C0U,result__E0U;
+  __INTEGER Self__QLI;
+  void **Result__W5E;
+  sz__FPU=((__UINTEGER_32 )(__INTEGER)(nb_elements__XNE * ((__INTEGER )(sizeof(void *)))));
+  result__DPU=((__POINTER )(NULL));
+  a__EPU=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+  new_size__GPU=(__UINTEGER_32)((__UINTEGER_32)(sz__FPU + a__EPU) & (__UINTEGER_32)(~ a__EPU));
+  new_size2__HPU=(__UINTEGER_32)(new_size__GPU + ((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))));
+  if ((new_size2__HPU <= ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+    a__JPU=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+    new_size__KPU=(__UINTEGER_32)((__UINTEGER_32)(new_size2__HPU + a__JPU) & (__UINTEGER_32)(~ a__JPU));
+    ptr_table__D0U=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__KPU / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+    next__C0U=((__POINTER )(NULL));
+    result__E0U=((__POINTER *)ptr_table__D0U)[ 0];
+    if ((result__E0U == (void *)NULL)) {
+      result__E0U=new_lab__KXB(new_size__KPU);
+      next__C0U=(void *)((unsigned long)result__E0U - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__KPU)));
+      ((__POINTER *)next__C0U)[ 0]=NULL;
+      ((__POINTER *)ptr_table__D0U)[ 0]=next__C0U;
+    } else {
+      next__C0U=((__POINTER *)result__E0U)[ 0];
+      if ((next__C0U == (void *)NULL)) {
+        if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__E0U - (unsigned long)begin_memory__TKB)))) &  4095) + (__UINTEGER_32)(new_size__KPU <<  1)) <=  4096)) {
+          next__C0U=(void *)((unsigned long)result__E0U - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__KPU)));
+        } else {
+          next__C0U=new_lab__KXB(new_size__KPU);
+        };
+        ((__POINTER *)next__C0U)[ 0]=NULL;
+        ((__POINTER *)ptr_table__D0U)[ 0]=next__C0U;
+      } else {
+        ((__POINTER *)result__E0U)[ 0]=(void *)((unsigned long)((__POINTER *)next__C0U)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+        result__E0U=next__C0U;
+      };
+    };
+    ((__POINTER *)result__E0U)[ 0]=((__POINTER ) 3);
+    result__DPU=(void *)((unsigned long)result__E0U - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+  } else {
+    result__DPU=(void *)((unsigned long)((__POINTER )((__MEMORY *)search__2IG(new_size__GPU))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+  };
+  Result__W5E=((void **)result__DPU);
+  Self__QLI=(__INTEGER)(nb_elements__XNE -  1);
+  while ((Self__QLI >=  0)) {
+    Result__W5E[Self__QLI]=NULL;
+    Self__QLI=(__INTEGER)(Self__QLI -  1);
+  };
+  return(Result__W5E);
+}
+
+//==========================//
+// DEBUG MANAGER            //
+//==========================//
+
+void print_string(char *str) 
+{ 
+  while (*str!=0) {
+    print_char(*str); 
+    str++; 
+  };
+}  
+
diff --git a/example/shootout/fasta/fasta_ben.li b/example/shootout/fasta/fasta_ben.li
new file mode 100755
index 0000000..9acba5b
--- /dev/null
+++ b/example/shootout/fasta/fasta_ben.li
@@ -0,0 +1,257 @@
+///////////////////////////////////////////////////////////////////////////////
+//                              Lisaac Example                               //
+//                                                                           //
+//                   LSIIT - ULP - CNRS - INRIA - FRANCE                     //
+//                                                                           //
+//   This program is free software: you can redistribute it and/or modify    //
+//   it under the terms of the GNU General Public License as published by    //
+//   the Free Software Foundation, either version 3 of the License, or       //
+//   (at your option) any later version.                                     //
+//                                                                           //
+//   This program is distributed in the hope that it will be useful,         //
+//   but WITHOUT ANY WARRANTY; without even the implied warranty of          //
+//   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the           //
+//   GNU General Public License for more details.                            //
+//                                                                           //
+//   You should have received a copy of the GNU General Public License       //
+//   along with this program.  If not, see <http://www.gnu.org/licenses/>.   //
+//                                                                           //
+//                     http://isaacproject.u-strasbg.fr/                     //
+///////////////////////////////////////////////////////////////////////////////
+Section Header
+  
+  + name         := FASTA;
+  
+  - bibliography := "http://IsaacOS.com";
+  - author       := "Xavier Oswald (x.oswald at free.fr)";
+  - comment      := "Language shootout - fasta (based on the java version)"; 
+  
+Section Inherit
+  
+  - parent_any:OBJECT := OBJECT;
+
+Section Private
+
+  //TODO: to improve performance, use alu:STRING as an ARRAY instead of alub
+
+  - out          :STRING;
+  
+  - im           :INTEGER := 139968;
+
+  - ia           :INTEGER := 3877;
+
+  - ic           :INTEGER := 29573;
+
+  - last         :INTEGER := 42;
+
+  - line_length  :INTEGER := 60;
+
+  - buffer_size  :INTEGER := 1024;
+
+  - index        :INTEGER;
+  
+  - iub          :FAST_ARRAY[FREQUENCY]; 
+  
+  - homo_sapiens :FAST_ARRAY[FREQUENCY]; 
+
+  - alu :STRING_CONSTANT :=
+            "GGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGG\
+            \GAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGA\
+            \CCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAAT\
+            \ACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCA\
+            \GCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGG\
+            \AGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCC\
+            \AGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAA";
+
+  - alub    :FAST_ARRAY[CHARACTER] := FAST_ARRAY[CHARACTER].create (alu.count);
+  
+  - bbuffer :FAST_ARRAY[CHARACTER] := FAST_ARRAY[CHARACTER].create buffer_size;
+  
+  - rand max:REAL_64 :REAL_64 <-
+  (
+    last := (last * ia + ic) % im;
+    max * last / im
+  );
+
+  - create_iub <-
+  ( 
+    iub := FAST_ARRAY[FREQUENCY].create_with_capacity 15;
+    iub.add_last(FREQUENCY.create('a', 0.27));
+    iub.add_last(FREQUENCY.create('c', 0.12));
+    iub.add_last(FREQUENCY.create('g', 0.12));
+    iub.add_last(FREQUENCY.create('t', 0.27));
+    iub.add_last(FREQUENCY.create('B', 0.02));
+    iub.add_last(FREQUENCY.create('D', 0.02));
+    iub.add_last(FREQUENCY.create('H', 0.02));
+    iub.add_last(FREQUENCY.create('K', 0.02));
+    iub.add_last(FREQUENCY.create('M', 0.02));
+    iub.add_last(FREQUENCY.create('N', 0.02));
+    iub.add_last(FREQUENCY.create('R', 0.02));
+    iub.add_last(FREQUENCY.create('S', 0.02));
+    iub.add_last(FREQUENCY.create('V', 0.02));
+    iub.add_last(FREQUENCY.create('W', 0.02));
+    iub.add_last(FREQUENCY.create('Y', 0.02));
+  );
+
+  - create_homo_sapiens <-
+  (
+    homo_sapiens := FAST_ARRAY[FREQUENCY].create_with_capacity 4;
+    homo_sapiens.add_last(FREQUENCY.create('a', 0.3029549426680));
+    homo_sapiens.add_last(FREQUENCY.create('c', 0.1979883004921));
+    homo_sapiens.add_last(FREQUENCY.create('g', 0.1975473066391));
+    homo_sapiens.add_last(FREQUENCY.create('t', 0.3015094502008));
+  );
+
+  - make_cumulative a:FAST_ARRAY[FREQUENCY] <-
+  ( + cp :REAL_64;
+    0.to (a.upper) do { i:INTEGER;
+      cp := cp + a.item i.p;
+      a.item i.put_p cp;
+    };
+  );
+
+  - select_random a:FAST_ARRAY[FREQUENCY] :CHARACTER <-
+  ( + return_char :CHARACTER;
+    + random :REAL_64;
+    + up,i :INTEGER;
+
+    up := a.upper;
+    random := rand (1.0);
+    
+    i := a.lower;
+    {(i <= up) && {random < a.item i.p}}.while_do { 
+      i := i + 1;
+    };
+    (i <= up).if {
+      return_char := a.item i.c;
+    } else {
+      return_char := a.last.c;
+    };
+    
+    return_char
+  );
+
+  - make_random_fasta(id, desc:STRING_CONSTANT, a :FAST_ARRAY[FREQUENCY], n:INTEGER) <-
+  ( + m :INTEGER;
+    + n_temp :INTEGER;
+    
+    index  := 0;
+    n_temp := n;
+        
+    out.add_last '>';
+    out.append id;
+    out.add_last ' ';
+    out.append desc;
+    out.add_last '\n';
+    
+    {n_temp > 0}.while_do {
+
+      (n_temp < line_length).if {
+        m := n_temp;
+      } else {
+        m := line_length;
+      };
+
+      ((buffer_size - index) < m).if {
+        0.to (index - 1) do {i:INTEGER;
+          out.add_last (bbuffer.item i);
+        };
+        index := 0;
+      };
+
+      0.to (m - 1) do { i:INTEGER;
+        bbuffer.put (select_random a) to index;
+        index := index + 1;
+      };
+      bbuffer.put '\n' to index;
+      index := index + 1;
+      n_temp := n_temp - line_length;
+    };
+
+    (index != 0).if {
+      0.to (index - 1) do { i:INTEGER;
+        out.add_last (bbuffer.item i);
+      };
+    };
+  );
+
+  - make_repeat_fasta(id, desc:STRING_CONSTANT, alu:STRING_CONSTANT, n:INTEGER ) <-
+  ( + m, k, kn :INTEGER;
+    + n_temp   :INTEGER;
+   
+    1.to (alu.count) do { i:INTEGER;
+      alub.put (alu.item i) to (i - 1);
+    };
+    index    := 0;
+    n_temp   := n;
+    kn       := alub.count;
+    
+    out.add_last '>';
+    out.append id;
+    out.add_last ' ';
+    out.append desc;
+    out.add_last '\n';
+    
+    {n_temp > 0}.while_do {
+      (n_temp < line_length).if {
+        m := n_temp;
+      } else {
+        m := line_length;
+      };
+      ((buffer_size - index) < m).if {
+        0.to (index - 1) do { i:INTEGER;
+          out.add_last (bbuffer.item i);
+        };
+        index := 0;
+      };
+
+      0.to (m - 1) do { i:INTEGER;
+        (k = kn).if {
+          k := 0;
+        };
+        bbuffer.put (alub.item k) to index;
+        index := index + 1;
+        k := k + 1;
+      };
+
+      bbuffer.put '\n' to index;
+      index := index + 1;
+      n_temp := n_temp - line_length;
+    };
+
+    (index != 0).if {
+      0.to (index - 1) do { i:INTEGER;
+        out.add_last (bbuffer.item i);
+      };
+    };
+  );
+
+Section Public
+ 
+  - main <-
+  ( + n :INTEGER;
+  
+    out := STRING.create 128_000_000;
+
+    (COMMAND_LINE.upper = 1).if {
+      n := COMMAND_LINE.item 1.to_integer;
+    } else {
+      n := 250_000;
+    };
+
+    create_iub;
+    create_homo_sapiens;
+    make_cumulative iub;
+    make_cumulative homo_sapiens;
+ 
+    make_repeat_fasta("ONE", "Homo sapiens alu", alu, n * 2);
+    out.print;
+        
+    out.clear;
+    make_random_fasta("TWO", "IUB ambiguity codes", iub, n * 3);
+    out.print;
+                
+    out.clear;
+    make_random_fasta("THREE", "Homo sapiens frequency", homo_sapiens, n * 5);
+    out.print;    
+  );
diff --git a/example/shootout/fasta/fasta_merde.li b/example/shootout/fasta/fasta_merde.li
new file mode 100755
index 0000000..c1665d5
--- /dev/null
+++ b/example/shootout/fasta/fasta_merde.li
@@ -0,0 +1,264 @@
+///////////////////////////////////////////////////////////////////////////////
+//                              Lisaac Example                               //
+//                                                                           //
+//                   LSIIT - ULP - CNRS - INRIA - FRANCE                     //
+//                                                                           //
+//   This program is free software: you can redistribute it and/or modify    //
+//   it under the terms of the GNU General Public License as published by    //
+//   the Free Software Foundation, either version 3 of the License, or       //
+//   (at your option) any later version.                                     //
+//                                                                           //
+//   This program is distributed in the hope that it will be useful,         //
+//   but WITHOUT ANY WARRANTY; without even the implied warranty of          //
+//   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the           //
+//   GNU General Public License for more details.                            //
+//                                                                           //
+//   You should have received a copy of the GNU General Public License       //
+//   along with this program.  If not, see <http://www.gnu.org/licenses/>.   //
+//                                                                           //
+//                     http://isaacproject.u-strasbg.fr/                     //
+///////////////////////////////////////////////////////////////////////////////
+Section Header
+  
+  + name         := FASTA;
+  
+  - bibliography := "http://IsaacOS.com";
+  - author       := "Xavier Oswald (x.oswald at free.fr)";
+  - comment      := "Language shootout - fasta (based on the java version)"; 
+  
+Section Inherit
+  
+  - parent_any:OBJECT := OBJECT;
+
+Section Private
+
+  //TODO: to improve performance, use alu:STRING as an ARRAY instead of alub
+
+  - out          :STRING;
+  
+  - im           :INTEGER := 139968;
+
+  - ia           :INTEGER := 3877;
+
+  - ic           :INTEGER := 29573;
+
+  - last         :INTEGER := 42;
+
+  - line_length  :INTEGER := 60;
+
+  - buffer_size  :INTEGER := 1024;
+
+  - index        :INTEGER;
+  
+  - iub          :FAST_ARRAY[FREQUENCY]; 
+  
+  - homo_sapiens :FAST_ARRAY[FREQUENCY]; 
+
+  - alu :STRING_CONSTANT :=
+            "GGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGG\
+            \GAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGA\
+            \CCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAAT\
+            \ACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCA\
+            \GCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGG\
+            \AGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCC\
+            \AGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAA";
+
+  - alub    :FAST_ARRAY[CHARACTER] := FAST_ARRAY[CHARACTER].create (alu.count);
+  
+  - bbuffer :FAST_ARRAY[CHARACTER] := FAST_ARRAY[CHARACTER].create buffer_size;
+  
+  - rand max:REAL_64 :REAL_64 <-
+  (
+    last := (last * ia + ic) % im;
+    max * last / im
+  );
+
+  - create_iub <-
+  ( 
+    iub := FAST_ARRAY[FREQUENCY].create_with_capacity 15;
+    iub.add_last(FREQUENCY.create('a', 0.27));
+    iub.add_last(FREQUENCY.create('c', 0.12));
+    iub.add_last(FREQUENCY.create('g', 0.12));
+    iub.add_last(FREQUENCY.create('t', 0.27));
+    iub.add_last(FREQUENCY.create('B', 0.02));
+    iub.add_last(FREQUENCY.create('D', 0.02));
+    iub.add_last(FREQUENCY.create('H', 0.02));
+    iub.add_last(FREQUENCY.create('K', 0.02));
+    iub.add_last(FREQUENCY.create('M', 0.02));
+    iub.add_last(FREQUENCY.create('N', 0.02));
+    iub.add_last(FREQUENCY.create('R', 0.02));
+    iub.add_last(FREQUENCY.create('S', 0.02));
+    iub.add_last(FREQUENCY.create('V', 0.02));
+    iub.add_last(FREQUENCY.create('W', 0.02));
+    iub.add_last(FREQUENCY.create('Y', 0.02));
+  );
+
+  - create_homo_sapiens <-
+  (
+    homo_sapiens := FAST_ARRAY[FREQUENCY].create_with_capacity 4;
+    homo_sapiens.add_last(FREQUENCY.create('a', 0.3029549426680));
+    homo_sapiens.add_last(FREQUENCY.create('c', 0.1979883004921));
+    homo_sapiens.add_last(FREQUENCY.create('g', 0.1975473066391));
+    homo_sapiens.add_last(FREQUENCY.create('t', 0.3015094502008));
+  );
+
+  - make_cumulative a:FAST_ARRAY[FREQUENCY] <-
+  ( + cp :REAL_64;
+    0.to (a.upper) do { i:INTEGER;
+      cp := cp + a.item i.p;
+      a.item i.put_p cp;
+    };
+  );
+
+  - select_random a:FAST_ARRAY[FREQUENCY] :CHARACTER <-
+  ( + return_char :CHARACTER;
+    + random :REAL_64;
+    + up,i :INTEGER;
+
+    up := a.upper;
+    random := rand (1.0);
+    
+    0.to (a.upper) do { i:INTEGER;
+      (! exit).if {
+	(random < a.item i.p).if {
+	  exit := TRUE;
+	  return_char := a.item i.c;
+	};
+      };
+    };
+    
+    (!exit).if {
+      return_char := a.last.c;
+    };
+    
+    /*
+    i := a.lower;
+    {(i <= up) && {random < a.item i.p}}.while_do { 
+      i := i + 1;
+    };
+    (i <= up).if {
+      return_char := a.item i.c;
+    } else {
+      return_char := a.last.c;
+    };
+    */
+    
+    return_char
+  );
+
+  - make_random_fasta(id, desc:STRING_CONSTANT, a :FAST_ARRAY[FREQUENCY], n:INTEGER) <-
+  ( + m :INTEGER;
+    + n_temp :INTEGER;
+    
+    index  := 0;
+    n_temp := n;
+        
+    out.add_last '>';
+    out.append id;
+    out.add_last ' ';
+    out.append desc;
+    out.add_last '\n';
+    
+    {n_temp > 0}.while_do {
+      
+      m := n_temp.max line_length;
+      ((buffer_size - index) < m).if {
+        0.to (index - 1) do {i:INTEGER;
+          out.add_last (bbuffer.item i);
+        };
+        index := 0;
+      };
+
+      0.to (m - 1) do { i:INTEGER;
+        bbuffer.put (select_random a) to index;
+        index := index + 1;
+      };
+      bbuffer.put '\n' to index;
+      index := index + 1;
+      n_temp := n_temp - line_length;
+    };
+
+    (index != 0).if {
+      0.to (index - 1) do { i:INTEGER;
+        out.add_last (bbuffer.item i);
+      };
+    };
+  );
+
+  - make_repeat_fasta(id, desc:STRING_CONSTANT, alu:STRING_CONSTANT, n:INTEGER ) <-
+  ( + m, k, kn :INTEGER;
+    + n_temp   :INTEGER;
+   
+    1.to (alu.count) do { i:INTEGER;
+      alub.put (alu.item i) to (i - 1);
+    };
+    index    := 0;
+    n_temp   := n;
+    kn       := alub.count;
+    
+    out.add_last '>';
+    out.append id;
+    out.add_last ' ';
+    out.append desc;
+    out.add_last '\n';
+    
+    {n_temp > 0}.while_do {
+      (n_temp < line_length).if {
+        m := n_temp;
+      } else {
+        m := line_length;
+      };
+      ((buffer_size - index) < m).if {
+        0.to (index - 1) do { i:INTEGER;
+          out.add_last (bbuffer.item i);
+        };
+        index := 0;
+      };
+
+      0.to (m - 1) do { i:INTEGER;
+        (k = kn).if {
+          k := 0;
+        };
+        bbuffer.put (alub.item k) to index;
+        index := index + 1;
+        k := k + 1;
+      };
+
+      bbuffer.put '\n' to index;
+      index := index + 1;
+      n_temp := n_temp - line_length;
+    };
+
+    (index != 0).if {
+      0.to (index - 1) do { i:INTEGER;
+        out.add_last (bbuffer.item i);
+      };
+    };
+  );
+
+Section Public
+ 
+  - main <-
+  ( + n :INTEGER;
+  
+    out := STRING.create 128_000_000;
+    
+    n := COMMAND_LINE.item 1.to_integer;    
+    create_iub;
+    create_homo_sapiens;
+    //
+    make_cumulative iub;
+    make_cumulative homo_sapiens;
+ 
+    make_repeat_fasta("ONE", "Homo sapiens alu", alu, n * 2);
+    out.print;
+    
+    out.clear;
+    make_random_fasta("TWO", "IUB ambiguity codes", iub, n * 3);
+    out.print;
+    /*            
+    out.clear;
+    make_random_fasta("THREE", "Homo sapiens frequency", homo_sapiens, n * 5);
+    out.print;    
+    */
+  );
diff --git a/example/shootout/fasta/fasta_tst b/example/shootout/fasta/fasta_tst
index 48ad39a..b48239d 100755
--- a/example/shootout/fasta/fasta_tst
+++ b/example/shootout/fasta/fasta_tst
@@ -1,21 +1,9 @@
 lisaac fasta -q -O -i20
 gcc fasta_c.c -o fasta_c -O3 -fomit-frame-pointer -lm
-echo 'Lisaac (250 000):' 
-time ./fasta 250000 > out_li.txt
-# time ./fasta 10 > out_li.txt
-echo 'C (250 000):'
-time ./fasta_c 250000 > out_c.txt
-# time ./fasta_c 10 > out_c.txt
-diff out_li.txt out_c.txt
-
-echo 'Lisaac (2 500 000):'
-time ./fasta 2500000 > out_li.txt
-echo 'C (2 500 000):'
-time ./fasta_c 2500000 > out_c.txt
-diff out_li.txt out_c.txt
-
-echo 'Lisaac (25 000 000):'
+echo Lisaac: 
 time ./fasta 25000000 > out_li.txt
-echo 'C (25 000 000):'
+# time ./fasta 10 > out_li.txt
+echo C:
 time ./fasta_c 25000000 > out_c.txt
+# time ./fasta_c 10 > out_c.txt
 diff out_li.txt out_c.txt
diff --git a/example/shootout/k_nucleotide/other/knucleotide.li b/example/shootout/k_nucleotide/other/knucleotide.li
new file mode 100755
index 0000000..f21d96f
--- /dev/null
+++ b/example/shootout/k_nucleotide/other/knucleotide.li
@@ -0,0 +1,206 @@
+///////////////////////////////////////////////////////////////////////////////
+//                              Lisaac Example                               //
+//                                                                           //
+//                   LSIIT - ULP - CNRS - INRIA - FRANCE                     //
+//                                                                           //
+//   This program is free software: you can redistribute it and/or modify    //
+//   it under the terms of the GNU General Public License as published by    //
+//   the Free Software Foundation, either version 3 of the License, or       //
+//   (at your option) any later version.                                     //
+//                                                                           //
+//   This program is distributed in the hope that it will be useful,         //
+//   but WITHOUT ANY WARRANTY; without even the implied warranty of          //
+//   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the           //
+//   GNU General Public License for more details.                            //
+//                                                                           //
+//   You should have received a copy of the GNU General Public License       //
+//   along with this program.  If not, see <http://www.gnu.org/licenses/>.   //
+//                                                                           //
+//                     http://isaacproject.u-strasbg.fr/                     //
+///////////////////////////////////////////////////////////////////////////////
+Section Header
+  
+  + name := KNUCLEOTIDE;
+  
+Section Inherit
+  
+  - parent_object:OBJECT := OBJECT;
+  
+Section Public
+  
+  - buffer:STRING;
+  
+  - dico1:HASHED_SET[SORTER];
+  - dico2:HASHED_SET[SORTER];
+  - dico3:HASHED_SET[SORTER];
+  - dico4:HASHED_SET[SORTER];
+  - dico6:HASHED_SET[SORTER];
+  - dico12:HASHED_SET[SORTER];
+  - dico18:HASHED_SET[SORTER];
+  
+  - idf:STRING_CONSTANT := "GGTATTTTAATTTATAGT";
+  - key:SORTER;
+  
+  - main <-
+  (
+    key := SORTER.clone;
+    // Read file.
+    buffer := STRING.create 10240;
+    {      
+      buffer.clear;
+      IO.read_line_in buffer;      
+    }.do_until {buffer.has_prefix ">THREE"};
+    buffer.clear;
+    
+    {! IO.end_of_input}.while_do {      
+      IO.read_line_in buffer;      
+    };
+    buffer.to_upper;
+    // Compute frequently.
+    dico1  := HASHED_SET[SORTER].create;
+    dico2  := HASHED_SET[SORTER].create;
+    dico3  := HASHED_SET[SORTER].create;
+    dico4  := HASHED_SET[SORTER].create;
+    dico6  := HASHED_SET[SORTER].create;
+    dico12 := HASHED_SET[SORTER].create;
+    dico18 := HASHED_SET[SORTER].create;
+    
+    count;
+    // Display.
+    sort dico1;    
+    sort dico2;
+    
+    key.init_with (idf.storage);
+    //
+    key.set_count 3;
+    display key in dico3;
+    //
+    key.set_count 4;
+    display key in dico4;
+    //
+    key.set_count 6;
+    display key in dico6;
+    //
+    key.set_count 12;
+    display key in dico12;
+    //
+    key.set_count 18;
+    display key in dico18;    
+    
+  );
+  
+  - count <-
+  (     
+    (buffer.lower).to (buffer.upper - 1) do { j:INTEGER;            
+      key.init_with (buffer.storage + (j - 1));
+      //
+      key.set_count 1;
+      inc_key key in dico1;
+      //      
+      key.set_count 2;
+      inc_key key in dico2;
+      //
+      key.set_count 3;
+      inc_key key in dico3;
+      //
+      key.set_count 4;
+      inc_key key in dico4;
+      //
+      key.set_count 6;
+      inc_key key in dico6;
+      //
+      key.set_count 12;
+      inc_key key in dico12;
+      //
+      key.set_count 18;
+      inc_key key in dico18;
+    };
+    key.init_with (buffer.storage + (buffer.upper - 1));
+    //
+    key.set_count 1;
+    inc_key key in dico1;
+  );
+  
+  - inc_key key:SORTER in dico:HASHED_SET[SORTER] <-
+  ( + new_key:SORTER;
+        
+    new_key := dico.reference_at key;
+    (new_key = NULL).if {      
+      new_key := key.clone;      
+      dico.add new_key;
+    } else {
+      new_key.inc_freq;
+    };
+  );
+  
+  - display key:SORTER in dico:HASHED_SET[SORTER] <-
+  ( + ref:SORTER;
+    
+    ref := dico.reference_at key;
+    (ref = NULL).if {
+      '0'.print;
+    } else {
+      ref.freq.print;
+    };
+    '\t'.print;
+    key.print;
+    '\n'.print;
+  );
+  
+  - array:NATIVE_ARRAY[SORTER] := NATIVE_ARRAY[SORTER].create 16;
+  - string_tmp:STRING := STRING.create 5;
+  
+  - sort dico:HASHED_SET[SORTER] <-
+  ( + count,low,up,i,freq:INTEGER;
+    + r:INTEGER;
+    + swap:BOOLEAN;
+    + s:SORTER;
+    + tmp:SORTER;
+  
+    (dico.lower).to (dico.upper) do { j:INTEGER;
+      s := dico.item j;      
+      array.put s to (j-1);      
+      count := count + s.freq;
+    };
+    //array.bubble_sort;        
+    
+    low := 0;
+    up  := dico.count - 2;
+    {
+      swap := FALSE;
+      (low).to (up) do { j:INTEGER;
+	(array.item j.freq < array.item (j+1).freq).if {
+	  tmp := array.item j;
+	  array.put (array.item (j+1)) to j;
+	  array.put tmp to (j+1);
+	  swap := TRUE;	  
+	};
+	i := dico.count - 2 - j;
+	(array.item i.freq < array.item (i+1).freq).if {
+	  tmp := array.item i;
+	  array.put (array.item (i+1)) to i;
+	  array.put tmp to (i+1);
+	  swap := TRUE;	  
+	};
+	
+      };
+      low := low + 1;
+      up  := up  - 1;
+    }.do_while {swap};    
+    0.to (dico.count-1) do { j:INTEGER;
+      s := array.item j;
+      s.print;
+      ' '.print;      
+      freq := s.freq;
+      //
+      r := (freq * 100_000) / count;
+      (r / 1000).print;
+      '.'.print;
+      string_tmp.clear;
+      (r % 1000).append_in string_tmp format 3 with '0';      
+      string_tmp.print;
+      //
+      '\n'.print;
+    };
+    '\n'.print;
+  );
diff --git a/example/shootout/k_nucleotide/other/sorter.li b/example/shootout/k_nucleotide/other/sorter.li
new file mode 100755
index 0000000..ab21c83
--- /dev/null
+++ b/example/shootout/k_nucleotide/other/sorter.li
@@ -0,0 +1,71 @@
+///////////////////////////////////////////////////////////////////////////////
+//                              Lisaac Example                               //
+//                                                                           //
+//                   LSIIT - ULP - CNRS - INRIA - FRANCE                     //
+//                                                                           //
+//   This program is free software: you can redistribute it and/or modify    //
+//   it under the terms of the GNU General Public License as published by    //
+//   the Free Software Foundation, either version 3 of the License, or       //
+//   (at your option) any later version.                                     //
+//                                                                           //
+//   This program is distributed in the hope that it will be useful,         //
+//   but WITHOUT ANY WARRANTY; without even the implied warranty of          //
+//   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the           //
+//   GNU General Public License for more details.                            //
+//                                                                           //
+//   You should have received a copy of the GNU General Public License       //
+//   along with this program.  If not, see <http://www.gnu.org/licenses/>.   //
+//                                                                           //
+//                     http://isaacproject.u-strasbg.fr/                     //
+///////////////////////////////////////////////////////////////////////////////
+Section Header
+  
+  + name := SORTER;
+  
+Section Inherit
+  
+  + parent_string:Expanded STRING;
+  
+Section Public
+  
+  + hash_code:INTEGER;
+  
+  + freq:INTEGER := 1;
+  
+  - init_with buf:NATIVE_ARRAY[CHARACTER] <-
+  (
+    storage   := buf;
+    hash_code := count := 0;    
+  );
+  
+  - set_count new_count:INTEGER <-
+  ( + result,low:INTEGER;
+    
+    result := hash_code;
+    low    := count + 1;
+    count  := new_count;
+    (low).to (new_count) do { i:INTEGER;
+      result := (result * 5) + item i.code;
+    };
+    (result < 0).if {
+      result := ~ result;
+    };
+    hash_code := result;
+    capacity := count;
+  );
+  
+  - '==' Left 40 other:SELF :BOOLEAN <-
+  ( + result:BOOLEAN;
+   
+    ((count = other.count) && {hash_code = other.hash_code}).if {
+      ? {count != 0};
+      result:=storage.fast_memcmp (other.storage) until count;
+    };
+    result
+  );
+  
+  - inc_freq <-
+  ( 
+    freq := freq + 1;
+  );
+    
\ No newline at end of file
diff --git a/example/shootout/mandelbrot/iofile.php b/example/shootout/mandelbrot/iofile.php
new file mode 100755
index 0000000..db8e203
Binary files /dev/null and b/example/shootout/mandelbrot/iofile.php differ
diff --git a/example/shootout/mandelbrot/mandel b/example/shootout/mandelbrot/mandel
new file mode 100755
index 0000000..2304766
--- /dev/null
+++ b/example/shootout/mandelbrot/mandel
@@ -0,0 +1,6 @@
+lisaac mandelbrot -q -O
+echo Lisaac: 
+time ./mandelbrot 5 > out_li.txt
+echo C:
+time ./mandelbrot_c 5 > out_c.txt
+diff out_li.txt out_c.txt
diff --git a/example/shootout/mandelbrot/mandelbrot2.c b/example/shootout/mandelbrot/mandelbrot2.c
new file mode 100755
index 0000000..f2ca94b
--- /dev/null
+++ b/example/shootout/mandelbrot/mandelbrot2.c
@@ -0,0 +1,1069 @@
+// C code generated by Lisaac compiler (www.isaacOS.com) //
+int arg_count;
+char **arg_vector;
+
+//==========================//
+// EXTERNAL                 //
+//==========================//
+
+// FLOAT_REAL
+#include <math.h>
+// SYSTEM_IO
+
+#include <stdio.h>
+#include <stdlib.h>
+  
+// Hardware 'print_char'
+void print_char(char car)
+{
+  fputc(car,stdout);
+}
+
+// Hardware 'exit'
+int die_with_code(int code)
+{
+  exit(code);
+}
+
+
+// MEMORY
+
+#define MINIMUM_SIZE 256  
+void *table_size[MINIMUM_SIZE/sizeof(void *)];
+void *last_block[64];
+
+// SYSTEM
+#include <time.h>
+
+//==========================//
+// TYPE                     //
+//==========================//
+
+// Generic Object
+struct ___OBJ {
+  unsigned long __id;
+};
+
+// NULL
+#ifndef NULL
+#define NULL ((void *)0)
+#endif
+
+// POINTER
+typedef void * __POINTER;
+
+// UINTEGER_32
+typedef unsigned long __UINTEGER_32;
+
+// INTEGER
+typedef int __INTEGER;
+
+// CHARACTER
+typedef char __CHARACTER;
+
+// STRING_CONSTANT
+#define __STRING_CONSTANT__ 4
+typedef struct STRING_CONSTANT_struct __STRING_CONSTANT;
+struct STRING_CONSTANT_struct {
+  unsigned long __id;
+  __INTEGER count__AP;
+  __CHARACTER *storage__NZC;
+};
+__STRING_CONSTANT STRING_CONSTANT_={__STRING_CONSTANT__};
+#define STRING_CONSTANT__ (&STRING_CONSTANT_)
+
+// MEMORY
+#define __MEMORY__ 0
+typedef struct MEMORY_struct __MEMORY;
+struct MEMORY_struct {
+  volatile __UINTEGER_32 previous_linear__BS;
+  volatile __UINTEGER_32 size_and_id__CS;
+  __MEMORY *next_free__DS;
+  __MEMORY *previous_free__ES;
+} __attribute__ ((packed));
+__MEMORY MEMORY_;
+#define MEMORY__ (&MEMORY_)
+
+// NUMERIC
+#define __NUMERIC__ 1
+typedef struct NUMERIC_struct __NUMERIC;
+struct NUMERIC_struct {
+  void *Nothing;
+};
+__NUMERIC NUMERIC_;
+#define NUMERIC__ (&NUMERIC_)
+
+// STRING
+#define __STRING__ 5
+typedef struct STRING_struct __STRING;
+struct STRING_struct {
+  unsigned long __id;
+  __INTEGER count__RPF;
+  __INTEGER capacity__ARF;
+  __CHARACTER *storage__JRF;
+};
+__STRING STRING_={__STRING__};
+#define STRING__ (&STRING_)
+
+// ARRAYED_COLLECTION[STRING]
+#define __ARRAYED_COLLECTIONoSTRINGo__ 2
+typedef struct ARRAYED_COLLECTIONoSTRINGo_struct __ARRAYED_COLLECTIONoSTRINGo;
+struct ARRAYED_COLLECTIONoSTRINGo_struct {
+  __INTEGER capacity__AAC;
+  __INTEGER upper__MAC;
+  void **storage__44B;
+};
+__ARRAYED_COLLECTIONoSTRINGo ARRAYED_COLLECTIONoSTRINGo_;
+#define ARRAYED_COLLECTIONoSTRINGo__ (&ARRAYED_COLLECTIONoSTRINGo_)
+
+// FAST_ARRAY[STRING]
+#define __FAST_ARRAYoSTRINGo__ 3
+typedef struct FAST_ARRAYoSTRINGo_struct __FAST_ARRAYoSTRINGo;
+struct FAST_ARRAYoSTRINGo_struct {
+  __ARRAYED_COLLECTIONoSTRINGo parent_arrayed_collection__KH;
+};
+__FAST_ARRAYoSTRINGo FAST_ARRAYoSTRINGo_;
+#define FAST_ARRAYoSTRINGo__ (&FAST_ARRAYoSTRINGo_)
+
+// OBJECT
+#define __OBJECT__ 4
+typedef struct OBJECT_struct __OBJECT;
+struct OBJECT_struct {
+  void *Nothing;
+};
+__OBJECT OBJECT_;
+#define OBJECT__ (&OBJECT_)
+
+// TRUE
+#define TRUE__ 1
+
+// FALSE
+#define FALSE__ 0
+
+// REAL_64
+typedef double __REAL_64;
+
+// INTEGER_8
+typedef signed char __INTEGER_8;
+
+// UINTEGER_8
+typedef unsigned char __UINTEGER_8;
+
+// BOOLEAN
+typedef char __BOOLEAN;
+
+
+void *table_type[5];
+
+//==========================//
+// GLOBAL                   //
+//==========================//
+
+void *parent_numeric__H;
+__POINTER begin_memory__ABB;
+__UINTEGER_32 nb_page__3NB;
+__UINTEGER_32 capacity_max__WPC;
+__MEMORY *first_free__JEF;
+__UINTEGER_32 clone_allocation_size__XR;
+
+//==========================//
+// STRING CONSTANT          //
+//==========================//
+
+__STRING_CONSTANT __string_1={__STRING_CONSTANT__,3,"P4\n"};
+__STRING_CONSTANT __string_2={__STRING_CONSTANT__,1,"\n"};
+__STRING_CONSTANT __string_3={__STRING_CONSTANT__,19,"Not enough memory.\n"};
+
+//==========================//
+// FUNCTION HEADER          //
+//==========================//
+
+// Debug Manager
+void print_string(char *str);
+// Source code
+static __POINTER new_lab__LNB(__UINTEGER_32 t__NNB);
+static void** create__TKE(__INTEGER nb_elements__VKE);
+static __CHARACTER* create__14H(__INTEGER nb_elements__34H);
+static __POINTER realloc_dynamic__old_size__new_size__PDG(__POINTER p__RDG,__UINTEGER_32 old_sz__SDG,__UINTEGER_32 new_sz__TDG);
+static void print__QH(__STRING_CONSTANT *Self__RH);
+static void put_string__LK(void *s__NK);
+static __MEMORY* new_page__MPC();
+static __MEMORY* search__GDF(__UINTEGER_32 new_size__IDF);
+static void to_busy__index__JYF(__MEMORY *Self__KYF,__UINTEGER_32 sz__LYF,__UINTEGER_32 idx__MYF);
+
+//==========================//
+// SOURCE CODE              //
+//==========================//
+
+int main(int argc,char **argv)
+{
+  __INTEGER new_count__0M,typ_id__JR,Self__BN,limit_up__CN,idx__TUC;
+  __INTEGER typ_id__NED,i__JPF,new_capacity__X3H,__tmp__Q4H,__tmp__QNJ;
+  __INTEGER Self__34L,new_capacity__MWC,__tmp__QXC,__tmp__IVF,Self__MSJ;
+  __INTEGER i__0,state__NAJ,result__QAJ,i__MAJ,__tmp__EZQ,__tmp__GZQ;
+  __INTEGER size__Z,Self__4I,limit_up__5I,Self__3SC,limit_up__4SC;
+  __POINTER ptr__ER,ptr_table__I1Q,next__H1Q,result__J1Q,ptr_table__O1Q;
+  __POINTER next__N1Q,result__P1Q,ptr__IED,ptr_table__U1Q,next__T1Q;
+  __POINTER result__V1Q,ptr_table__G5,next__L5,result__J5;
+  __UINTEGER_32 sz__GR,a__KYQ,new_size__LYQ,t__UYQ,a__RYQ,new_size__R1Q;
+  __UINTEGER_32 lab_type__Q1Q,sz__KED,a__TWQ,new_size__BZ,t__K0,a__ZWQ;
+  __UINTEGER_32 new_size__F5,lab_type__H5;
+  __STRING *result__HED,*Self__RQF,*Self__HPF,*Self__KAJ;
+  __REAL_64 zr__EB,zi__HB,cr__KB,ci__NB,pr__QB,pi__TB,limit__WB;
+  void *cmd__FC;
+  __CHARACTER *arg__VJ,*Self__HUC,*p__IPF,*__tmp__P4H,*new__3MJ;
+  __CHARACTER *__tmp__FZQ;
+  __FAST_ARRAYoSTRINGo *result__DR,*Self__X5B,*Self__KWC;
+  void *result__UJ;
+  __CHARACTER __tmp__4PF,cc__OAJ;
+  __BOOLEAN __tmp__0WC,stop__ZB,gone__0B,negative__PAJ,__tmp__2BJ;
+  __BOOLEAN result__PJO,__tmp__PCJ,__tmp__EDJ,result__ASM,__tmp__LEJ;
+  __BOOLEAN result__SSM,result__JMN;
+  void **__tmp__PXC,**new__VUF;
+  __UINTEGER_8 bit_accu__5B,bit__2B;
+  arg_count  = argc;
+  arg_vector = argv;
+  parent_numeric__H=NUMERIC__;
+  ARRAYED_COLLECTIONoSTRINGo__->storage__44B=NULL;
+  ARRAYED_COLLECTIONoSTRINGo__->capacity__AAC= 0;
+  ARRAYED_COLLECTIONoSTRINGo__->upper__MAC= 0;
+  FAST_ARRAYoSTRINGo__->parent_arrayed_collection__KH=(*ARRAYED_COLLECTIONoSTRINGo__);
+  clone_allocation_size__XR= 0;
+  STRING_CONSTANT__->count__AP=((__INTEGER )((0)));
+  STRING__->count__RPF= 0;
+  STRING_CONSTANT__->storage__NZC=((__CHARACTER *)(NULL));
+  STRING__->storage__JRF=NULL;
+  nb_page__3NB= 0;
+  MEMORY__->size_and_id__CS= 0;
+  capacity_max__WPC= 0;
+  begin_memory__ABB=((__POINTER )(NULL));
+  MEMORY__->previous_linear__BS= 0;
+  first_free__JEF=NULL;
+  MEMORY__->next_free__DS=NULL;
+  MEMORY__->previous_free__ES=NULL;
+  STRING__->capacity__ARF= 0;
+  arg__VJ=NULL;
+  new_count__0M=((__INTEGER )(arg_count));
+  result__DR=NULL;
+  ptr__ER=((__POINTER )(NULL));
+  typ_id__JR= 0;
+  sz__GR=((__UINTEGER_32 )sizeof(__FAST_ARRAYoSTRINGo));
+  if ((sz__GR ==  0)) {
+    result__DR=FAST_ARRAYoSTRINGo__;
+  } else {
+    typ_id__JR=__FAST_ARRAYoSTRINGo__;
+    clone_allocation_size__XR=sz__GR;
+    if ((typ_id__JR == (__INTEGER)(-  1))) {
+      a__KYQ=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__LYQ=(__UINTEGER_32)((__UINTEGER_32)(sz__GR + a__KYQ) & (__UINTEGER_32)(~ a__KYQ));
+      ptr_table__I1Q=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__LYQ / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+      next__H1Q=((__POINTER )(NULL));
+      result__J1Q=((__POINTER *)ptr_table__I1Q)[ 0];
+      if ((result__J1Q == (void *)NULL)) {
+        result__J1Q=new_lab__LNB(new_size__LYQ);
+        next__H1Q=(void *)((unsigned long)result__J1Q - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__LYQ)));
+        ((__POINTER *)next__H1Q)[ 0]=NULL;
+        ((__POINTER *)ptr_table__I1Q)[ 0]=next__H1Q;
+      } else {
+        next__H1Q=((__POINTER *)result__J1Q)[ 0];
+        if ((next__H1Q == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__J1Q - (unsigned long)begin_memory__ABB)))) &  4095) + (__UINTEGER_32)(new_size__LYQ <<  1)) <=  4096)) {
+            next__H1Q=(void *)((unsigned long)result__J1Q - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__LYQ)));
+          } else {
+            next__H1Q=new_lab__LNB(new_size__LYQ);
+          };
+          ((__POINTER *)next__H1Q)[ 0]=NULL;
+          ((__POINTER *)ptr_table__I1Q)[ 0]=next__H1Q;
+        } else {
+          ((__POINTER *)result__J1Q)[ 0]=(void *)((unsigned long)((__POINTER *)next__H1Q)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__J1Q=next__H1Q;
+        };
+      };
+      ptr__ER=result__J1Q;
+    } else {
+      t__UYQ=((__UINTEGER_32 )typ_id__JR);
+      a__RYQ=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__R1Q=(__UINTEGER_32)((__UINTEGER_32)(sz__GR + a__RYQ) & (__UINTEGER_32)(~ a__RYQ));
+      ptr_table__O1Q=((__POINTER )(&(table_type[(t__UYQ)])));
+      lab_type__Q1Q=(__UINTEGER_32)(t__UYQ |  1);
+      next__N1Q=((__POINTER )(NULL));
+      result__P1Q=((__POINTER *)ptr_table__O1Q)[ 0];
+      if ((result__P1Q == (void *)NULL)) {
+        result__P1Q=new_lab__LNB(lab_type__Q1Q);
+        next__N1Q=(void *)((unsigned long)result__P1Q - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__R1Q)));
+        ((__POINTER *)next__N1Q)[ 0]=NULL;
+        ((__POINTER *)ptr_table__O1Q)[ 0]=next__N1Q;
+      } else {
+        next__N1Q=((__POINTER *)result__P1Q)[ 0];
+        if ((next__N1Q == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__P1Q - (unsigned long)begin_memory__ABB)))) &  4095) + (__UINTEGER_32)(new_size__R1Q <<  1)) <=  4096)) {
+            next__N1Q=(void *)((unsigned long)result__P1Q - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__R1Q)));
+          } else {
+            next__N1Q=new_lab__LNB(lab_type__Q1Q);
+          };
+          ((__POINTER *)next__N1Q)[ 0]=NULL;
+          ((__POINTER *)ptr_table__O1Q)[ 0]=next__N1Q;
+        } else {
+          ((__POINTER *)result__P1Q)[ 0]=(void *)((unsigned long)((__POINTER *)next__N1Q)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__P1Q=next__N1Q;
+        };
+      };
+      ptr__ER=result__P1Q;
+    };
+    result__DR=((__FAST_ARRAYoSTRINGo *)ptr__ER);
+    *(result__DR) = *(FAST_ARRAYoSTRINGo__);
+  };
+  Self__X5B=((__FAST_ARRAYoSTRINGo *)result__DR);
+  if ((Self__X5B->parent_arrayed_collection__KH.capacity__AAC < new_count__0M)) {
+    Self__X5B->parent_arrayed_collection__KH.storage__44B=create__TKE(new_count__0M);
+    Self__X5B->parent_arrayed_collection__KH.capacity__AAC=new_count__0M;
+  };
+  Self__X5B->parent_arrayed_collection__KH.upper__MAC=(__INTEGER)(-  1);
+  result__UJ=result__DR;
+  Self__BN= 0;
+  limit_up__CN=(__INTEGER)(((__INTEGER )(arg_count)) -  1);
+  while ((Self__BN <= limit_up__CN)) {
+    arg__VJ=((__CHARACTER *)(arg_vector[(Self__BN)]));
+    Self__HUC=((__CHARACTER *)arg__VJ);
+    idx__TUC= 0;
+    while ((! ((idx__TUC >  1024) || ('\0' == Self__HUC[idx__TUC])))) {
+      idx__TUC=(__INTEGER)(idx__TUC +  1);
+    };
+    result__HED=NULL;
+    ptr__IED=((__POINTER )(NULL));
+    typ_id__NED= 0;
+    sz__KED=((__UINTEGER_32 )sizeof(__STRING));
+    if ((sz__KED ==  0)) {
+      result__HED=STRING__;
+    } else {
+      typ_id__NED=-1;
+      clone_allocation_size__XR=(__UINTEGER_32)(clone_allocation_size__XR + sz__KED);
+      if ((typ_id__NED == (__INTEGER)(-  1))) {
+        a__TWQ=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+        new_size__BZ=(__UINTEGER_32)((__UINTEGER_32)(sz__KED + a__TWQ) & (__UINTEGER_32)(~ a__TWQ));
+        ptr_table__U1Q=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__BZ / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+        next__T1Q=((__POINTER )(NULL));
+        result__V1Q=((__POINTER *)ptr_table__U1Q)[ 0];
+        if ((result__V1Q == (void *)NULL)) {
+          result__V1Q=new_lab__LNB(new_size__BZ);
+          next__T1Q=(void *)((unsigned long)result__V1Q - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__BZ)));
+          ((__POINTER *)next__T1Q)[ 0]=NULL;
+          ((__POINTER *)ptr_table__U1Q)[ 0]=next__T1Q;
+        } else {
+          next__T1Q=((__POINTER *)result__V1Q)[ 0];
+          if ((next__T1Q == (void *)NULL)) {
+            if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__V1Q - (unsigned long)begin_memory__ABB)))) &  4095) + (__UINTEGER_32)(new_size__BZ <<  1)) <=  4096)) {
+              next__T1Q=(void *)((unsigned long)result__V1Q - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__BZ)));
+            } else {
+              next__T1Q=new_lab__LNB(new_size__BZ);
+            };
+            ((__POINTER *)next__T1Q)[ 0]=NULL;
+            ((__POINTER *)ptr_table__U1Q)[ 0]=next__T1Q;
+          } else {
+            ((__POINTER *)result__V1Q)[ 0]=(void *)((unsigned long)((__POINTER *)next__T1Q)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+            result__V1Q=next__T1Q;
+          };
+        };
+        ptr__IED=result__V1Q;
+      } else {
+        t__K0=((__UINTEGER_32 )typ_id__NED);
+        a__ZWQ=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+        new_size__F5=(__UINTEGER_32)((__UINTEGER_32)(sz__KED + a__ZWQ) & (__UINTEGER_32)(~ a__ZWQ));
+        ptr_table__G5=((__POINTER )(&(table_type[(t__K0)])));
+        lab_type__H5=(__UINTEGER_32)(t__K0 |  1);
+        next__L5=((__POINTER )(NULL));
+        result__J5=((__POINTER *)ptr_table__G5)[ 0];
+        if ((result__J5 == (void *)NULL)) {
+          result__J5=new_lab__LNB(lab_type__H5);
+          next__L5=(void *)((unsigned long)result__J5 - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__F5)));
+          ((__POINTER *)next__L5)[ 0]=NULL;
+          ((__POINTER *)ptr_table__G5)[ 0]=next__L5;
+        } else {
+          next__L5=((__POINTER *)result__J5)[ 0];
+          if ((next__L5 == (void *)NULL)) {
+            if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__J5 - (unsigned long)begin_memory__ABB)))) &  4095) + (__UINTEGER_32)(new_size__F5 <<  1)) <=  4096)) {
+              next__L5=(void *)((unsigned long)result__J5 - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__F5)));
+            } else {
+              next__L5=new_lab__LNB(lab_type__H5);
+            };
+            ((__POINTER *)next__L5)[ 0]=NULL;
+            ((__POINTER *)ptr_table__G5)[ 0]=next__L5;
+          } else {
+            ((__POINTER *)result__J5)[ 0]=(void *)((unsigned long)((__POINTER *)next__L5)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+            result__J5=next__L5;
+          };
+        };
+        ptr__IED=result__J5;
+      };
+      result__HED=((__STRING *)ptr__IED);
+      *(result__HED) = *(STRING__);
+    };
+    Self__RQF=((__STRING *)result__HED);
+    if ((idx__TUC >  0)) {
+      if ((Self__RQF->capacity__ARF < idx__TUC)) {
+        Self__RQF->storage__JRF=create__14H(idx__TUC);
+        Self__RQF->capacity__ARF=idx__TUC;
+      };
+    };
+    Self__RQF->count__RPF= 0;
+    Self__HPF=((__STRING *)result__HED);
+    p__IPF=arg__VJ;
+    i__JPF= 0;
+    Self__HPF->count__RPF= 0;
+    while ((((__CHARACTER *)p__IPF)[i__JPF] != '\0')) {
+      __tmp__4PF=((__CHARACTER *)p__IPF)[i__JPF];
+      new_capacity__X3H= 0;
+      if ((Self__HPF->capacity__ARF <= Self__HPF->count__RPF)) {
+        if ((Self__HPF->capacity__ARF ==  0)) {
+          Self__HPF->capacity__ARF= 32;
+          Self__HPF->storage__JRF=create__14H( 32);
+        } else {
+          new_capacity__X3H=(__INTEGER)(Self__HPF->capacity__ARF <<  1);
+          __tmp__P4H=Self__HPF->storage__JRF;
+          __tmp__Q4H=Self__HPF->capacity__ARF;
+          new__3MJ=((__CHARACTER *)realloc_dynamic__old_size__new_size__PDG(((__POINTER )((__CHARACTER *)__tmp__P4H)),((__UINTEGER_32 )__tmp__Q4H),((__UINTEGER_32 )new_capacity__X3H)));
+          __tmp__QNJ=(__INTEGER)(new_capacity__X3H -  1);
+          Self__34L=__tmp__Q4H;
+          while ((Self__34L <= __tmp__QNJ)) {
+            new__3MJ[Self__34L]='\0';
+            Self__34L=(__INTEGER)(Self__34L +  1);
+          };
+          Self__HPF->storage__JRF=new__3MJ;
+          Self__HPF->capacity__ARF=new_capacity__X3H;
+        };
+      };
+      ((__CHARACTER *)Self__HPF->storage__JRF)[Self__HPF->count__RPF]=__tmp__4PF;
+      Self__HPF->count__RPF=(__INTEGER)(Self__HPF->count__RPF +  1);
+      i__JPF=(__INTEGER)(i__JPF +  1);
+    };
+    Self__KWC=((__FAST_ARRAYoSTRINGo *)result__UJ);
+    new_capacity__MWC= 0;
+    if (((__INTEGER)(Self__KWC->parent_arrayed_collection__KH.upper__MAC +  1) <= (__INTEGER)(Self__KWC->parent_arrayed_collection__KH.capacity__AAC -  1))) {
+      Self__KWC->parent_arrayed_collection__KH.upper__MAC=(__INTEGER)(Self__KWC->parent_arrayed_collection__KH.upper__MAC +  1);
+      __tmp__0WC=TRUE__;
+    } else {
+      __tmp__0WC=FALSE__;
+    };
+    if ((! __tmp__0WC)) {
+      if ((Self__KWC->parent_arrayed_collection__KH.capacity__AAC ==  0)) {
+        Self__KWC->parent_arrayed_collection__KH.storage__44B=create__TKE( 2);
+        Self__KWC->parent_arrayed_collection__KH.capacity__AAC= 2;
+        Self__KWC->parent_arrayed_collection__KH.upper__MAC= 0;
+      } else {
+        new_capacity__MWC=(__INTEGER)(Self__KWC->parent_arrayed_collection__KH.capacity__AAC <<  1);
+        __tmp__PXC=Self__KWC->parent_arrayed_collection__KH.storage__44B;
+        __tmp__QXC=Self__KWC->parent_arrayed_collection__KH.capacity__AAC;
+        new__VUF=((void **)realloc_dynamic__old_size__new_size__PDG(((__POINTER )((void **)__tmp__PXC)),((__UINTEGER_32 )(__INTEGER)(__tmp__QXC * ((__INTEGER )(sizeof(void *))))),((__UINTEGER_32 )(__INTEGER)(new_capacity__MWC * ((__INTEGER )(sizeof(void *)))))));
+        __tmp__IVF=(__INTEGER)(new_capacity__MWC -  1);
+        Self__MSJ=__tmp__QXC;
+        while ((Self__MSJ <= __tmp__IVF)) {
+          new__VUF[Self__MSJ]=NULL;
+          Self__MSJ=(__INTEGER)(Self__MSJ +  1);
+        };
+        Self__KWC->parent_arrayed_collection__KH.storage__44B=new__VUF;
+        Self__KWC->parent_arrayed_collection__KH.capacity__AAC=new_capacity__MWC;
+        Self__KWC->parent_arrayed_collection__KH.upper__MAC=(__INTEGER)(Self__KWC->parent_arrayed_collection__KH.upper__MAC +  1);
+      };
+    };
+    ((void **)Self__KWC->parent_arrayed_collection__KH.storage__44B)[Self__KWC->parent_arrayed_collection__KH.upper__MAC]=result__HED;
+    Self__BN=(__INTEGER)(Self__BN +  1);
+  };
+  i__0= 0;
+  zr__EB=((__REAL_64 ) 0);
+  zi__HB=((__REAL_64 ) 0);
+  cr__KB=((__REAL_64 ) 0);
+  ci__NB=((__REAL_64 ) 0);
+  pr__QB=((__REAL_64 ) 0);
+  pi__TB=((__REAL_64 ) 0);
+  stop__ZB=FALSE__;
+  gone__0B=FALSE__;
+  bit_accu__5B= 0;
+  cmd__FC=((void **)((__FAST_ARRAYoSTRINGo *)result__DR)->parent_arrayed_collection__KH.storage__44B)[ 1];
+  Self__KAJ=((__STRING *)cmd__FC);
+  state__NAJ= 0;
+  cc__OAJ='\0';
+  negative__PAJ=FALSE__;
+  result__QAJ= 0;
+  i__MAJ= 1;
+  __tmp__EZQ=Self__KAJ->count__RPF;
+  __tmp__FZQ=Self__KAJ->storage__JRF;
+  __tmp__GZQ=Self__KAJ->count__RPF;
+  while ((i__MAJ <= __tmp__EZQ)) {
+    cc__OAJ=((__CHARACTER *)__tmp__FZQ)[(__INTEGER)(i__MAJ -  1)];
+    if ((state__NAJ ==  0)) {
+      if ((((((((cc__OAJ == ' ') || (cc__OAJ == '\t')) || (cc__OAJ == '\n')) || (cc__OAJ == '\r')) || (cc__OAJ == '\0')) || (cc__OAJ == '\f')) || (cc__OAJ == '\v'))) {
+        __tmp__2BJ=TRUE__;
+      } else {
+        result__PJO=(cc__OAJ == '+');
+        if (result__PJO) {
+          state__NAJ= 1;
+        };
+        __tmp__2BJ=result__PJO;
+      };
+      if ((! __tmp__2BJ)) {
+        if ((cc__OAJ == '-')) {
+          negative__PAJ=TRUE__;
+          state__NAJ= 1;
+        } else {
+          result__QAJ=(__INTEGER)(((__INTEGER )((__INTEGER_8 )cc__OAJ)) -  48);
+          state__NAJ= 2;
+        };
+      };
+      __tmp__PCJ=TRUE__;
+    } else {
+      __tmp__PCJ=FALSE__;
+    };
+    if (__tmp__PCJ) {
+      __tmp__EDJ=TRUE__;
+    } else {
+      result__ASM=(state__NAJ ==  1);
+      if (result__ASM) {
+        result__QAJ=(__INTEGER)(((__INTEGER )((__INTEGER_8 )cc__OAJ)) -  48);
+        if (negative__PAJ) {
+          result__QAJ=(__INTEGER)(- result__QAJ);
+        };
+        state__NAJ= 2;
+      };
+      __tmp__EDJ=result__ASM;
+    };
+    if (__tmp__EDJ) {
+      __tmp__LEJ=TRUE__;
+    } else {
+      result__SSM=(state__NAJ ==  2);
+      if (result__SSM) {
+        result__JMN=FALSE__;
+        if ((((__INTEGER_8 )cc__OAJ) >= ((__INTEGER_8 )'0'))) {
+          result__JMN=(((__INTEGER_8 )cc__OAJ) <= ((__INTEGER_8 )'9'));
+        };
+        if (result__JMN) {
+          if (negative__PAJ) {
+            result__QAJ=(__INTEGER)((__INTEGER)( 10 * result__QAJ) - (__INTEGER)(((__INTEGER )((__INTEGER_8 )cc__OAJ)) -  48));
+          } else {
+            result__QAJ=(__INTEGER)((__INTEGER)( 10 * result__QAJ) + (__INTEGER)(((__INTEGER )((__INTEGER_8 )cc__OAJ)) -  48));
+          };
+        } else {
+          state__NAJ= 3;
+        };
+      };
+      __tmp__LEJ=result__SSM;
+    };
+    if ((! __tmp__LEJ)) {
+      if ((state__NAJ ==  3)) {
+        i__MAJ=__tmp__GZQ;
+      };
+    };
+    i__MAJ=(__INTEGER)(i__MAJ +  1);
+  };
+  size__Z=result__QAJ;
+  print__QH((&__string_1));
+  put_string__LK(((__STRING *)cmd__FC));
+  fputc((int)(' '),stdout);
+  put_string__LK(((__STRING *)cmd__FC));
+  print__QH((&__string_2));
+  limit__WB=((__REAL_64 )4.0);
+  bit__2B= 128;
+  Self__4I= 0;
+  limit_up__5I=(__INTEGER)(result__QAJ -  1);
+  while ((Self__4I <= limit_up__5I)) {
+    ci__NB=(__REAL_64)((__REAL_64)(((__REAL_64 )(__INTEGER)(Self__4I <<  1)) / ((__REAL_64 )size__Z)) - ((__REAL_64 )1.0));
+    Self__3SC= 0;
+    limit_up__4SC=(__INTEGER)(size__Z -  1);
+    while ((Self__3SC <= limit_up__4SC)) {
+      cr__KB=(__REAL_64)((__REAL_64)(((__REAL_64 )(__INTEGER)(Self__3SC <<  1)) / ((__REAL_64 )size__Z)) - ((__REAL_64 )1.5));
+      pi__TB=((__REAL_64 ) 0);
+      pr__QB=pi__TB;
+      zi__HB=pi__TB;
+      zr__EB=pi__TB;
+      i__0= 0;
+      stop__ZB=FALSE__;
+      while ((! stop__ZB)) {
+        zi__HB=((__REAL_64 )(((__REAL_64)((__REAL_64)(zr__EB * zi__HB) * ((__REAL_64 ) 2))) + (ci__NB)));
+        zr__EB=((__REAL_64 )(((__REAL_64)(pr__QB - pi__TB)) + (cr__KB)));
+        pi__TB=(__REAL_64)(zi__HB * zi__HB);
+        pr__QB=(__REAL_64)(zr__EB * zr__EB);
+        if ((((__REAL_64 )((pi__TB) + (pr__QB))) > limit__WB)) {
+          stop__ZB=TRUE__;
+          gone__0B=TRUE__;
+        } else {
+          i__0=(__INTEGER)(i__0 +  1);
+          stop__ZB=(i__0 ==  50);
+        };
+      };
+      if (gone__0B) {
+        gone__0B=FALSE__;
+      } else {
+        bit_accu__5B=(__UINTEGER_8)(bit_accu__5B | bit__2B);
+      };
+      if ((bit__2B ==  1)) {
+        fputc((int)(((__CHARACTER )bit_accu__5B)),stdout);
+        bit_accu__5B= 0;
+        bit__2B= 128;
+      } else {
+        bit__2B=(__UINTEGER_8)(bit__2B >>  1);
+      };
+      Self__3SC=(__INTEGER)(Self__3SC +  1);
+    };
+    if ((bit__2B !=  128)) {
+      fputc((int)(((__CHARACTER )bit_accu__5B)),stdout);
+      bit_accu__5B= 0;
+      bit__2B= 128;
+    };
+    Self__4I=(__INTEGER)(Self__4I +  1);
+  };
+  return( 0);
+}
+
+static __POINTER new_lab__LNB(__UINTEGER_32 t__NNB)
+// ({UINTEGER_32}) With resultNo recursive, No inlinable.
+{
+  __UINTEGER_32 idx__PNB,pv__WNB;
+  __MEMORY *blc__SNB,*prev__TNB,*Self__JJQ,*Self__AWQ,*prev__BWQ;
+  __MEMORY *next__CWQ;
+  __POINTER result__UNB;
+  __BOOLEAN __tmp__WOB;
+  idx__PNB= 0;
+  blc__SNB=NULL;
+  prev__TNB=NULL;
+  pv__WNB= 0;
+  while_do__OSB:
+  {
+    if ((idx__PNB < nb_page__3NB)) {
+      blc__SNB=((__MEMORY *)(last_block[(idx__PNB)]));
+      __tmp__WOB=(((__UINTEGER_32)(((__MEMORY *)blc__SNB)->size_and_id__CS &  4294967292LU) <  4096) || ((__UINTEGER_32)(((__MEMORY *)blc__SNB)->size_and_id__CS &  1) ==  1));
+    } else {
+      __tmp__WOB=FALSE__;
+    };
+    if (__tmp__WOB) {
+      idx__PNB=(__UINTEGER_32)(idx__PNB +  1);
+      goto while_do__OSB;
+    };
+  };
+  if ((idx__PNB >= nb_page__3NB)) {
+    blc__SNB=new_page__MPC();
+  };
+  ((__MEMORY *)blc__SNB)->size_and_id__CS=(__UINTEGER_32)(blc__SNB->size_and_id__CS -  4096);
+  Self__JJQ=((__MEMORY *)blc__SNB);
+  result__UNB=((__POINTER )((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__JJQ) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__JJQ->size_and_id__CS &  4294967292LU))))));
+  if (((__UINTEGER_32)(((__MEMORY *)blc__SNB)->size_and_id__CS &  4294967292LU) < ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+    Self__AWQ=((__MEMORY *)blc__SNB);
+    prev__BWQ=Self__AWQ->previous_free__ES;
+    next__CWQ=Self__AWQ->next_free__DS;
+    if (((void *)prev__BWQ == (void *)NULL)) {
+      first_free__JEF=next__CWQ;
+    } else {
+      ((__MEMORY *)prev__BWQ)->next_free__DS=next__CWQ;
+    };
+    if (((void *)next__CWQ != (void *)NULL)) {
+      ((__MEMORY *)next__CWQ)->previous_free__ES=prev__BWQ;
+    };
+    pv__WNB=blc__SNB->previous_linear__BS;
+    if ((pv__WNB !=  4294967295LU)) {
+      prev__TNB=((__MEMORY *)(void *)((unsigned long)begin_memory__ABB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )pv__WNB))));
+      ((__MEMORY *)prev__TNB)->size_and_id__CS=(__UINTEGER_32)((__UINTEGER_32)(prev__TNB->size_and_id__CS + blc__SNB->size_and_id__CS) +  8);
+      last_block[(idx__PNB)] = (prev__TNB);
+    };
+  };
+  ((__POINTER *)result__UNB)[ 0]=((__POINTER )t__NNB);
+  return((void *)((unsigned long)result__UNB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *)))))));
+}
+
+static void** create__TKE(__INTEGER nb_elements__VKE)
+// ({INTEGER}) With resultNo recursive, No inlinable.
+{
+  __UINTEGER_32 sz__YZQ,a__XZQ,new_size__ZZQ,new_size2__0ZQ,a__2ZQ;
+  __UINTEGER_32 new_size__3ZQ;
+  __POINTER result__WZQ,ptr_table__W0Q,next__V0Q,result__X0Q;
+  __INTEGER Self__HHG;
+  void **Result__YPE;
+  sz__YZQ=((__UINTEGER_32 )(__INTEGER)(nb_elements__VKE * ((__INTEGER )(sizeof(void *)))));
+  result__WZQ=((__POINTER )(NULL));
+  a__XZQ=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+  new_size__ZZQ=(__UINTEGER_32)((__UINTEGER_32)(sz__YZQ + a__XZQ) & (__UINTEGER_32)(~ a__XZQ));
+  new_size2__0ZQ=(__UINTEGER_32)(new_size__ZZQ + ((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))));
+  if ((new_size2__0ZQ <= ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+    a__2ZQ=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+    new_size__3ZQ=(__UINTEGER_32)((__UINTEGER_32)(new_size2__0ZQ + a__2ZQ) & (__UINTEGER_32)(~ a__2ZQ));
+    ptr_table__W0Q=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__3ZQ / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+    next__V0Q=((__POINTER )(NULL));
+    result__X0Q=((__POINTER *)ptr_table__W0Q)[ 0];
+    if ((result__X0Q == (void *)NULL)) {
+      result__X0Q=new_lab__LNB(new_size__3ZQ);
+      next__V0Q=(void *)((unsigned long)result__X0Q - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__3ZQ)));
+      ((__POINTER *)next__V0Q)[ 0]=NULL;
+      ((__POINTER *)ptr_table__W0Q)[ 0]=next__V0Q;
+    } else {
+      next__V0Q=((__POINTER *)result__X0Q)[ 0];
+      if ((next__V0Q == (void *)NULL)) {
+        if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__X0Q - (unsigned long)begin_memory__ABB)))) &  4095) + (__UINTEGER_32)(new_size__3ZQ <<  1)) <=  4096)) {
+          next__V0Q=(void *)((unsigned long)result__X0Q - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__3ZQ)));
+        } else {
+          next__V0Q=new_lab__LNB(new_size__3ZQ);
+        };
+        ((__POINTER *)next__V0Q)[ 0]=NULL;
+        ((__POINTER *)ptr_table__W0Q)[ 0]=next__V0Q;
+      } else {
+        ((__POINTER *)result__X0Q)[ 0]=(void *)((unsigned long)((__POINTER *)next__V0Q)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+        result__X0Q=next__V0Q;
+      };
+    };
+    ((__POINTER *)result__X0Q)[ 0]=((__POINTER ) 3);
+    result__WZQ=(void *)((unsigned long)result__X0Q - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+  } else {
+    result__WZQ=(void *)((unsigned long)((__POINTER )((__MEMORY *)search__GDF(new_size__ZZQ))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+  };
+  Result__YPE=((void **)result__WZQ);
+  Self__HHG=(__INTEGER)(nb_elements__VKE -  1);
+  while ((Self__HHG >=  0)) {
+    Result__YPE[Self__HHG]=NULL;
+    Self__HHG=(__INTEGER)(Self__HHG -  1);
+  };
+  return(Result__YPE);
+}
+
+static __CHARACTER* create__14H(__INTEGER nb_elements__34H)
+// ({INTEGER}) With resultNo recursive, No inlinable.
+{
+  __UINTEGER_32 sz__D0Q,a__C0Q,new_size__E0Q,new_size2__F0Q,a__H0Q;
+  __UINTEGER_32 new_size__I0Q;
+  __POINTER result__B0Q,ptr_table__20Q,next__10Q,result__30Q;
+  __INTEGER Self__OVJ;
+  __CHARACTER *Result__EII;
+  sz__D0Q=((__UINTEGER_32 )nb_elements__34H);
+  result__B0Q=((__POINTER )(NULL));
+  a__C0Q=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+  new_size__E0Q=(__UINTEGER_32)((__UINTEGER_32)(sz__D0Q + a__C0Q) & (__UINTEGER_32)(~ a__C0Q));
+  new_size2__F0Q=(__UINTEGER_32)(new_size__E0Q + ((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))));
+  if ((new_size2__F0Q <= ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+    a__H0Q=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+    new_size__I0Q=(__UINTEGER_32)((__UINTEGER_32)(new_size2__F0Q + a__H0Q) & (__UINTEGER_32)(~ a__H0Q));
+    ptr_table__20Q=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__I0Q / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+    next__10Q=((__POINTER )(NULL));
+    result__30Q=((__POINTER *)ptr_table__20Q)[ 0];
+    if ((result__30Q == (void *)NULL)) {
+      result__30Q=new_lab__LNB(new_size__I0Q);
+      next__10Q=(void *)((unsigned long)result__30Q - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__I0Q)));
+      ((__POINTER *)next__10Q)[ 0]=NULL;
+      ((__POINTER *)ptr_table__20Q)[ 0]=next__10Q;
+    } else {
+      next__10Q=((__POINTER *)result__30Q)[ 0];
+      if ((next__10Q == (void *)NULL)) {
+        if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__30Q - (unsigned long)begin_memory__ABB)))) &  4095) + (__UINTEGER_32)(new_size__I0Q <<  1)) <=  4096)) {
+          next__10Q=(void *)((unsigned long)result__30Q - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__I0Q)));
+        } else {
+          next__10Q=new_lab__LNB(new_size__I0Q);
+        };
+        ((__POINTER *)next__10Q)[ 0]=NULL;
+        ((__POINTER *)ptr_table__20Q)[ 0]=next__10Q;
+      } else {
+        ((__POINTER *)result__30Q)[ 0]=(void *)((unsigned long)((__POINTER *)next__10Q)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+        result__30Q=next__10Q;
+      };
+    };
+    ((__POINTER *)result__30Q)[ 0]=((__POINTER ) 3);
+    result__B0Q=(void *)((unsigned long)result__30Q - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+  } else {
+    result__B0Q=(void *)((unsigned long)((__POINTER )((__MEMORY *)search__GDF(new_size__E0Q))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+  };
+  Result__EII=((__CHARACTER *)result__B0Q);
+  Self__OVJ=(__INTEGER)(nb_elements__34H -  1);
+  while ((Self__OVJ >=  0)) {
+    Result__EII[Self__OVJ]='\0';
+    Self__OVJ=(__INTEGER)(Self__OVJ -  1);
+  };
+  return(Result__EII);
+}
+
+static __POINTER realloc_dynamic__old_size__new_size__PDG(__POINTER p__RDG,__UINTEGER_32 old_sz__SDG,__UINTEGER_32 new_sz__TDG)
+// ({POINTER},{UINTEGER_32},{UINTEGER_32}) With resultNo recursive, No inlinable.
+{
+  __MEMORY *mem__4DG,*Self__YXH,*nxt__2XH,*result__3XH,*next__VYI;
+  __MEMORY *new_free__UYI,*prev__NXQ,*next__OXQ;
+  __POINTER result__5DG,result__IWE,ptr_table__C1Q,next__B1Q;
+  __POINTER result__D1Q,p__OWH,last__HDI,src__IVH,dst__JVH;
+  __UINTEGER_32 a__3WQ,old_size__VDG,old_size2__YDG,a__BXQ;
+  __UINTEGER_32 new_size__1DG,a__0VQ,new_size__CWE,new_size2__FWE;
+  __UINTEGER_32 a__AYQ,new_size__BYQ,a__D3,__tmp__QFG,sz__BYH;
+  __UINTEGER_32 old_size__4XH,prev__WYI,new_size__ZYI;
+  __INTEGER siz__01Q,Self__51Q,siz__NVH,Self__0AI;
+  __POINTER *na_src__21Q,*na_dst__41Q,*na_src__LVH,*na_dst__MVH;
+  mem__4DG=NULL;
+  result__5DG=((__POINTER )(NULL));
+  a__3WQ=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+  old_size__VDG=(__UINTEGER_32)((__UINTEGER_32)(old_sz__SDG + a__3WQ) & (__UINTEGER_32)(~ a__3WQ));
+  old_size2__YDG=(__UINTEGER_32)(old_size__VDG + ((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))));
+  a__BXQ=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+  new_size__1DG=(__UINTEGER_32)((__UINTEGER_32)(new_sz__TDG + a__BXQ) & (__UINTEGER_32)(~ a__BXQ));
+  if ((old_size2__YDG <= ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+    result__IWE=((__POINTER )(NULL));
+    a__0VQ=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+    new_size__CWE=(__UINTEGER_32)((__UINTEGER_32)(new_size__1DG + a__0VQ) & (__UINTEGER_32)(~ a__0VQ));
+    new_size2__FWE=(__UINTEGER_32)(new_size__CWE + ((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))));
+    if ((new_size2__FWE <= ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+      a__AYQ=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__BYQ=(__UINTEGER_32)((__UINTEGER_32)(new_size2__FWE + a__AYQ) & (__UINTEGER_32)(~ a__AYQ));
+      ptr_table__C1Q=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__BYQ / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+      next__B1Q=((__POINTER )(NULL));
+      result__D1Q=((__POINTER *)ptr_table__C1Q)[ 0];
+      if ((result__D1Q == (void *)NULL)) {
+        result__D1Q=new_lab__LNB(new_size__BYQ);
+        next__B1Q=(void *)((unsigned long)result__D1Q - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__BYQ)));
+        ((__POINTER *)next__B1Q)[ 0]=NULL;
+        ((__POINTER *)ptr_table__C1Q)[ 0]=next__B1Q;
+      } else {
+        next__B1Q=((__POINTER *)result__D1Q)[ 0];
+        if ((next__B1Q == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__D1Q - (unsigned long)begin_memory__ABB)))) &  4095) + (__UINTEGER_32)(new_size__BYQ <<  1)) <=  4096)) {
+            next__B1Q=(void *)((unsigned long)result__D1Q - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__BYQ)));
+          } else {
+            next__B1Q=new_lab__LNB(new_size__BYQ);
+          };
+          ((__POINTER *)next__B1Q)[ 0]=NULL;
+          ((__POINTER *)ptr_table__C1Q)[ 0]=next__B1Q;
+        } else {
+          ((__POINTER *)result__D1Q)[ 0]=(void *)((unsigned long)((__POINTER *)next__B1Q)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__D1Q=next__B1Q;
+        };
+      };
+      ((__POINTER *)result__D1Q)[ 0]=((__POINTER ) 3);
+      result__IWE=(void *)((unsigned long)result__D1Q - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+    } else {
+      result__IWE=(void *)((unsigned long)((__POINTER )((__MEMORY *)search__GDF(new_size__CWE))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+    };
+    result__5DG=result__IWE;
+    siz__01Q=((__INTEGER )old_size__VDG);
+    siz__01Q=(__INTEGER)(siz__01Q / ((__INTEGER )(sizeof(void *))));
+    na_src__21Q=((__POINTER *)p__RDG);
+    na_dst__41Q=((__POINTER *)result__IWE);
+    Self__51Q=(__INTEGER)(siz__01Q -  1);
+    while ((Self__51Q >=  0)) {
+      na_dst__41Q[Self__51Q]=na_src__21Q[Self__51Q];
+      Self__51Q=(__INTEGER)(Self__51Q -  1);
+    };
+    p__OWH=(void *)((unsigned long)p__RDG - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *)))));
+    a__D3=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+    last__HDI=((__POINTER *)((__POINTER )(&(table_size[((__UINTEGER_32)((__UINTEGER_32)((__UINTEGER_32)(old_size2__YDG + a__D3) & (__UINTEGER_32)(~ a__D3)) / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1]))))[ 0];
+    ((__POINTER *)p__OWH)[ 0]=(void *)((unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)(void *)((unsigned long)(void *)((unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER *)last__HDI)[ 0]) - (unsigned long)((__POINTER ) 1)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 3)) - (unsigned long)((__POINTER ) 1)))) - (unsigned long)((__POINTER ) 1));
+    ((__POINTER *)last__HDI)[ 0]=p__OWH;
+  } else {
+    mem__4DG=((__MEMORY *)(void *)((unsigned long)p__RDG - (unsigned long)((__POINTER ) 8)));
+    __tmp__QFG=(__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)p__RDG - (unsigned long)begin_memory__ABB)))) >>  26);
+    Self__YXH=((__MEMORY *)mem__4DG);
+    nxt__2XH=NULL;
+    result__3XH=NULL;
+    sz__BYH= 0;
+    old_size__4XH=(__UINTEGER_32)(Self__YXH->size_and_id__CS &  4294967292LU);
+    if ((new_size__1DG > old_size__4XH)) {
+      if ((! ((__UINTEGER_32)(Self__YXH->size_and_id__CS &  2) !=  0))) {
+        nxt__2XH=((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__YXH) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__YXH->size_and_id__CS &  4294967292LU)))));
+        sz__BYH=(__UINTEGER_32)((__UINTEGER_32)(new_size__1DG - old_size__4XH) -  8);
+        if ((((__UINTEGER_32)(((__MEMORY *)nxt__2XH)->size_and_id__CS &  1) ==  0) && ((__UINTEGER_32)(((__MEMORY *)nxt__2XH)->size_and_id__CS &  4294967292LU) >= sz__BYH))) {
+          to_busy__index__JYF(nxt__2XH,sz__BYH,__tmp__QFG);
+          Self__YXH->size_and_id__CS=(__UINTEGER_32)((__UINTEGER_32)(Self__YXH->size_and_id__CS + (__UINTEGER_32)(nxt__2XH->size_and_id__CS &  4294967294LU)) +  8);
+          if (((__UINTEGER_32)(Self__YXH->size_and_id__CS &  2) !=  0)) {
+            last_block[(__tmp__QFG)] = (Self__YXH);
+          } else {
+            nxt__2XH=((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__YXH) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__YXH->size_and_id__CS &  4294967292LU)))));
+            ((__MEMORY *)nxt__2XH)->previous_linear__BS=((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )Self__YXH) - (unsigned long)begin_memory__ABB))));
+          };
+          result__3XH=Self__YXH;
+        };
+      };
+      if (((void *)result__3XH == (void *)NULL)) {
+        result__3XH=search__GDF(new_size__1DG);
+        src__IVH=(void *)((unsigned long)((__POINTER )Self__YXH) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+        dst__JVH=(void *)((unsigned long)((__POINTER )((__MEMORY *)result__3XH)) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+        siz__NVH=((__INTEGER )old_size__4XH);
+        siz__NVH=(__INTEGER)(siz__NVH / ((__INTEGER )(sizeof(void *))));
+        na_src__LVH=((__POINTER *)src__IVH);
+        na_dst__MVH=((__POINTER *)dst__JVH);
+        Self__0AI=(__INTEGER)(siz__NVH -  1);
+        while ((Self__0AI >=  0)) {
+          na_dst__MVH[Self__0AI]=na_src__LVH[Self__0AI];
+          Self__0AI=(__INTEGER)(Self__0AI -  1);
+        };
+        prev__WYI=Self__YXH->previous_linear__BS;
+        next__VYI=((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__YXH) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__YXH->size_and_id__CS &  4294967292LU)))));
+        new_free__UYI=((__MEMORY *)(void *)((unsigned long)begin_memory__ABB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )prev__WYI))));
+        new_size__ZYI=(__UINTEGER_32)(Self__YXH->size_and_id__CS &  4294967294LU);
+        if (((prev__WYI ==  4294967295LU) || ((__UINTEGER_32)(new_free__UYI->size_and_id__CS &  1) !=  0))) {
+          new_free__UYI=Self__YXH;
+          Self__YXH->next_free__DS=first_free__JEF;
+          Self__YXH->previous_free__ES=NULL;
+          if (((void *)first_free__JEF != (void *)NULL)) {
+            ((__MEMORY *)first_free__JEF)->previous_free__ES=Self__YXH;
+          };
+          first_free__JEF=Self__YXH;
+        } else {
+          new_size__ZYI=(__UINTEGER_32)((__UINTEGER_32)(new_size__ZYI + new_free__UYI->size_and_id__CS) +  8);
+        };
+        if (((! ((__UINTEGER_32)(Self__YXH->size_and_id__CS &  2) !=  0)) && ((__UINTEGER_32)(next__VYI->size_and_id__CS &  1) ==  0))) {
+          new_size__ZYI=(__UINTEGER_32)((__UINTEGER_32)(new_size__ZYI + next__VYI->size_and_id__CS) +  8);
+          prev__NXQ=next__VYI->previous_free__ES;
+          next__OXQ=next__VYI->next_free__DS;
+          if (((void *)prev__NXQ == (void *)NULL)) {
+            first_free__JEF=next__OXQ;
+          } else {
+            ((__MEMORY *)prev__NXQ)->next_free__DS=next__OXQ;
+          };
+          if (((void *)next__OXQ != (void *)NULL)) {
+            ((__MEMORY *)next__OXQ)->previous_free__ES=prev__NXQ;
+          };
+        };
+        new_free__UYI->size_and_id__CS=new_size__ZYI;
+        if (((__UINTEGER_32)(new_free__UYI->size_and_id__CS &  2) !=  0)) {
+          last_block[(__tmp__QFG)] = (new_free__UYI);
+        } else {
+          next__VYI=((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__YXH) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__YXH->size_and_id__CS &  4294967292LU)))));
+          next__VYI->previous_linear__BS=((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )new_free__UYI) - (unsigned long)begin_memory__ABB))));
+        };
+      };
+    } else {
+      result__3XH=Self__YXH;
+    };
+    result__5DG=(void *)((unsigned long)((__POINTER )((__MEMORY *)result__3XH)) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+  };
+  return(result__5DG);
+}
+
+static void print__QH(__STRING_CONSTANT *Self__RH)
+// ({STRING_CONSTANT}) VoidRecursive, No inlinable.
+{
+  put_string__LK(Self__RH);
+}
+
+static void put_string__LK(void *s__NK)
+// ({STRING_CONSTANTxSTRING}) VoidNo recursive, No inlinable.
+{
+  __INTEGER __tmp__AL,Self__FP,limit_up__GP;
+  __CHARACTER *__tmp__SXQ,*__tmp__TXQ;
+  __CHARACTER __tmp__HL;
+  if (((struct ___OBJ *)s__NK)->__id==__STRING_CONSTANT__) {
+  };
+  if (((struct ___OBJ *)s__NK)->__id==__STRING_CONSTANT__) {
+    __tmp__AL=((__STRING_CONSTANT *)s__NK)->count__AP;
+  } else {
+    __tmp__AL=((__STRING *)s__NK)->count__RPF;
+  };
+  Self__FP= 1;
+  limit_up__GP=__tmp__AL;
+  __tmp__SXQ=((__STRING_CONSTANT *)s__NK)->storage__NZC;
+  __tmp__TXQ=((__STRING *)s__NK)->storage__JRF;
+  while ((Self__FP <= limit_up__GP)) {
+    if (((struct ___OBJ *)s__NK)->__id==__STRING_CONSTANT__) {
+      __tmp__HL=((__CHARACTER *)__tmp__SXQ)[(__INTEGER)(Self__FP -  1)];
+    } else {
+      __tmp__HL=((__CHARACTER *)__tmp__TXQ)[(__INTEGER)(Self__FP -  1)];
+    };
+    fputc((int)(__tmp__HL),stdout);
+    Self__FP=(__INTEGER)(Self__FP +  1);
+  };
+}
+
+static __MEMORY* new_page__MPC()
+// () With resultNo recursive, No inlinable.
+{
+  __POINTER mem__3XD;
+  __UINTEGER_32 cap__0XD,old_size__PPC;
+  __MEMORY *block__VPC;
+  if ((capacity_max__WPC ==  0)) {
+    mem__3XD=((__POINTER )(NULL));
+    cap__0XD= 33554432;
+    do {
+      cap__0XD=(__UINTEGER_32)(cap__0XD <<  1);
+      mem__3XD=((__POINTER )(malloc((cap__0XD))));
+      if ((mem__3XD != (void *)NULL)) {
+        free((mem__3XD));
+      };
+    } while ((! ((mem__3XD == (void *)NULL) || (cap__0XD ==  2147483648LU))));
+    if ((mem__3XD == (void *)NULL)) {
+      cap__0XD=(__UINTEGER_32)(cap__0XD >>  1);
+    };
+    capacity_max__WPC=cap__0XD;
+    begin_memory__ABB=((__POINTER )(malloc((cap__0XD))));
+  };
+  old_size__PPC=(__UINTEGER_32)(nb_page__3NB <<  26);
+  nb_page__3NB=(__UINTEGER_32)(nb_page__3NB +  1);
+  if (((__UINTEGER_32)(old_size__PPC +  67108864) > capacity_max__WPC)) {
+    print__QH((&__string_3));
+    exit(( 1));
+  };
+  block__VPC=((__MEMORY *)(void *)((unsigned long)begin_memory__ABB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )old_size__PPC))));
+  block__VPC->previous_linear__BS= 4294967295LU;
+  block__VPC->size_and_id__CS= 67108858;
+  block__VPC->next_free__DS=first_free__JEF;
+  block__VPC->previous_free__ES=NULL;
+  if (((void *)first_free__JEF != (void *)NULL)) {
+    ((__MEMORY *)first_free__JEF)->previous_free__ES=block__VPC;
+  };
+  first_free__JEF=block__VPC;
+  last_block[((__UINTEGER_32)(nb_page__3NB -  1))] = (block__VPC);
+  return(block__VPC);
+}
+
+static __MEMORY* search__GDF(__UINTEGER_32 new_size__IDF)
+// ({UINTEGER_32}) With resultNo recursive, No inlinable.
+{
+  __MEMORY *result__KDF;
+  result__KDF=first_free__JEF;
+  while ((((void *)result__KDF != (void *)NULL) && ((__UINTEGER_32)(((__MEMORY *)result__KDF)->size_and_id__CS &  4294967292LU) < new_size__IDF))) {
+    result__KDF=result__KDF->next_free__DS;
+  };
+  if (((void *)result__KDF == (void *)NULL)) {
+    result__KDF=new_page__MPC();
+  };
+  to_busy__index__JYF(result__KDF,new_size__IDF,(__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )((__MEMORY *)result__KDF)) - (unsigned long)begin_memory__ABB)))) >>  26));
+  return(result__KDF);
+}
+
+static void to_busy__index__JYF(__MEMORY *Self__KYF,__UINTEGER_32 sz__LYF,__UINTEGER_32 idx__MYF)
+// ({MEMORY},{UINTEGER_32},{UINTEGER_32}) VoidNo recursive, No inlinable.
+{
+  __MEMORY *new__TYF,*prev__PLG,*next__QLG,*Self__FQF,*Self__PFQ;
+  __UINTEGER_32 siz__NYF,new_size__QYF;
+  new__TYF=NULL;
+  prev__PLG=Self__KYF->previous_free__ES;
+  next__QLG=Self__KYF->next_free__DS;
+  if (((void *)prev__PLG == (void *)NULL)) {
+    first_free__JEF=next__QLG;
+  } else {
+    ((__MEMORY *)prev__PLG)->next_free__DS=next__QLG;
+  };
+  if (((void *)next__QLG != (void *)NULL)) {
+    ((__MEMORY *)next__QLG)->previous_free__ES=prev__PLG;
+  };
+  siz__NYF=Self__KYF->size_and_id__CS;
+  new_size__QYF=(__UINTEGER_32)(siz__NYF - sz__LYF);
+  if ((new_size__QYF > (__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )(MINIMUM_SIZE)) +  2) +  8))) {
+    siz__NYF=sz__LYF;
+    new__TYF=((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__KYF) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )sz__LYF))));
+    ((__MEMORY *)new__TYF)->previous_linear__BS=((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )Self__KYF) - (unsigned long)begin_memory__ABB))));
+    ((__MEMORY *)new__TYF)->size_and_id__CS=(__UINTEGER_32)(new_size__QYF -  8);
+    Self__FQF=((__MEMORY *)new__TYF);
+    Self__FQF->next_free__DS=first_free__JEF;
+    Self__FQF->previous_free__ES=NULL;
+    if (((void *)first_free__JEF != (void *)NULL)) {
+      ((__MEMORY *)first_free__JEF)->previous_free__ES=Self__FQF;
+    };
+    first_free__JEF=Self__FQF;
+    if (((__UINTEGER_32)(((__MEMORY *)new__TYF)->size_and_id__CS &  2) !=  0)) {
+      last_block[(idx__MYF)] = (new__TYF);
+    } else {
+      Self__PFQ=((__MEMORY *)new__TYF);
+      ((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__PFQ) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__PFQ->size_and_id__CS &  4294967292LU)))))->previous_linear__BS=((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )((__MEMORY *)new__TYF)) - (unsigned long)begin_memory__ABB))));
+    };
+  };
+  Self__KYF->size_and_id__CS=(__UINTEGER_32)(siz__NYF |  1);
+}
+
+//==========================//
+// DEBUG MANAGER            //
+//==========================//
+
+void print_string(char *str) 
+{ 
+  while (*str!=0) {
+    print_char(*str); 
+    str++; 
+  };
+}  
+
diff --git a/example/shootout/mandelbrot/mandelbrot2.li b/example/shootout/mandelbrot/mandelbrot2.li
new file mode 100755
index 0000000..2021c50
--- /dev/null
+++ b/example/shootout/mandelbrot/mandelbrot2.li
@@ -0,0 +1,99 @@
+///////////////////////////////////////////////////////////////////////////////
+//                              Lisaac Example                               //
+//                                                                           //
+//                   LSIIT - ULP - CNRS - INRIA - FRANCE                     //
+//                                                                           //
+//   This program is free software: you can redistribute it and/or modify    //
+//   it under the terms of the GNU General Public License as published by    //
+//   the Free Software Foundation, either version 3 of the License, or       //
+//   (at your option) any later version.                                     //
+//                                                                           //
+//   This program is distributed in the hope that it will be useful,         //
+//   but WITHOUT ANY WARRANTY; without even the implied warranty of          //
+//   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the           //
+//   GNU General Public License for more details.                            //
+//                                                                           //
+//   You should have received a copy of the GNU General Public License       //
+//   along with this program.  If not, see <http://www.gnu.org/licenses/>.   //
+//                                                                           //
+//                     http://isaacproject.u-strasbg.fr/                     //
+///////////////////////////////////////////////////////////////////////////////
+Section Header
+
+  + name := MANDELBROT2;
+  
+  - comment := "Mandelbrot set generation shootout benchmarck, based on the C version";
+  
+  - author := "Anthony Pajot <anthony.pajot at etu.enseeiht.fr>, Xavier Oswald <x.oswald at free.fr>";
+    
+Section Inherit
+  
+  - parent_object : OBJECT := OBJECT;
+  
+Section Public
+   
+  - main <-
+  ( + size, i, iter: INTEGER;
+    + zr, zi, cr, ci, pr, pi, limit: REAL_64;
+    + stop, gone: BOOLEAN;
+    + bit, bit_accu: UINTEGER_8;
+    + cmd:STRING;          
+      
+    cmd := COMMAND_LINE.item 1;
+    size := cmd.to_integer;    
+      
+    "P4\n".print;
+    cmd.print;
+    ' '.print;
+    cmd.print;
+    "\n".print;
+        
+    // compute mandelbrot's bitmap
+    limit := 4.0;
+    iter  := 50;
+    bit   := 080h;
+    0.to (size-1) do { y:INTEGER;    
+      ci := (y * 2).to_real_64 / size - 1.0;
+
+      0.to (size-1) do { x:INTEGER;
+        cr := (x * 2).to_real_64 / size - 1.5;
+
+        zr:=zi:=pr:=pi:=0;
+        i := 0;
+        stop := FALSE;
+        {stop}.until_do {
+          zi := zr * zi * 2 + ci;
+          zr := pr - pi + cr;
+          pi := zi * zi;
+          pr := zr * zr;
+          (pi+pr > limit).if {
+            stop := TRUE;
+            gone := TRUE;
+          } else {
+            i := i+1;
+            stop := (i = iter);
+          };
+        };
+
+        (gone).if {
+          gone := FALSE;
+        } else {
+          bit_accu := bit_accu | bit;
+        };
+
+        (bit = 1).if {
+          bit_accu.to_character.print;
+          bit_accu := 0;
+          bit := 80h;
+        } else {
+          bit := bit >> 1;
+        };
+      };
+
+      (bit != 80h).if {
+        bit_accu.to_character.print;
+        bit_accu := 0;
+        bit := 80h;
+      };
+    };   
+  );
diff --git a/example/shootout/mandelbrot/mandelbrot_c3.c b/example/shootout/mandelbrot/mandelbrot_c3.c
new file mode 100755
index 0000000..66ba71e
--- /dev/null
+++ b/example/shootout/mandelbrot/mandelbrot_c3.c
@@ -0,0 +1,90 @@
+/*The Computer Language Shootout
+  http://shootout.alioth.debian.org/
+
+  contributed by Greg Buchholz
+
+  Uses SSE packed doubles to run the inner loop computations in parallel.
+  I don't have a machine with SSE to test with, but the assembly looks
+  pretty nice.  With gcc-3.4.2 there's no difference in the assembly
+  between -msse2 and -msse3, YMMV.  It uses gcc's vector extentions
+  ( http://gcc.gnu.org/onlinedocs/gcc-4.0.0/gcc/Vector-Extensions.html ),
+  so it will run (slowly) on hardware without SSE.
+
+  compile (AMD):
+  gcc -D_ISOC9X_SOURCE -O3 -mfpmath=sse -msse2 -march=athlon-xp
+      -ffast-math -funroll-loops -o mandelbrot.gcc-3.gcc_run mandelbrot.c -lm
+
+  compile (INTEL):
+  gcc -D_ISOC9X_SOURCE -O3 -mfpmath=sse -msse2 -march=pentium4
+      -ffast-math -funroll-loops -o mandelbrot.gcc-3.gcc_run mandelbrot.c -lm
+*/
+
+#include<stdio.h>
+#include<math.h>
+#include<fenv.h>
+typedef double v2df __attribute__ ((mode(V2DF))); // vector of two double floats
+
+int main (int argc, char **argv)
+{
+    int w, h, bit_num = 0;
+    char byte_acc = 0;
+    int i, iter = 50;
+    double x, y, limit_sqr = 4.0;
+    v2df Zrv, Ziv, Crv, Civ, Trv, Tiv;
+    v2df zero, one, _1p5, two;
+    double *Zr = (double*)&Zrv, *Zi = (double*)&Ziv,
+           *Cr = (double*)&Crv, *Ci = (double*)&Civ,
+           *Tr = (double*)&Trv, *Ti = (double*)&Tiv;
+
+#define initv(name, val) *((double*)&name)   = (double) val; \
+                         *((double*)&name+1) = (double) val
+    initv(zero,0.0); initv(one,1.0); initv(_1p5,1.5); initv(two,2.0);
+
+    w = h = atoi(argv[1]);
+
+    printf("P4\n%d %d\n",w,h);
+
+    for(y=0;y<h;++y)
+    {
+        for(x=0;x<w;x+=2)
+        {
+            Zrv = Ziv = Trv = Tiv = zero;
+            *Cr = x/w;  *(Cr+1) = (x+1.0)/w;
+            *Ci = y/h;  *(Ci+1) = *Ci;
+            Crv = two * Crv - _1p5;
+            Civ = two * Civ - one;
+
+            for (i=0;i<iter && (islessequal( *Tr    +  *Ti,   limit_sqr) ||
+                                islessequal(*(Tr+1) + *(Ti+1),limit_sqr)   ); ++i)
+            {
+                Ziv = two*Zrv*Ziv + Civ;
+                Zrv = Trv - Tiv + Crv;
+                Trv = Zrv * Zrv;
+                Tiv = Ziv * Ziv;
+            }
+
+            byte_acc <<= 2;
+            if(islessequal(*Tr + *Ti, limit_sqr))
+                byte_acc |= 0x02;
+
+            if(islessequal(*(Tr+1) + *(Ti+1), limit_sqr))
+                byte_acc |= 0x01;
+
+            bit_num+=2;
+
+            if(bit_num == 8)
+            {
+                putc(byte_acc,stdout);
+                byte_acc = 0;
+                bit_num = 0;
+            }
+            else if(x == w-1)
+            {
+                byte_acc <<= (8-w%8);
+                putc(byte_acc,stdout);
+                byte_acc = 0;
+                bit_num = 0;
+            }
+        }
+    }
+}
diff --git a/example/shootout/mandelbrot/old/mandelbrot.li b/example/shootout/mandelbrot/old/mandelbrot.li
new file mode 100755
index 0000000..b063611
--- /dev/null
+++ b/example/shootout/mandelbrot/old/mandelbrot.li
@@ -0,0 +1,102 @@
+/* The Computer Language Shootout Benchmarks
+   http://shootout.alioth.debian.org/
+   contributed by Xavier Oswald & Anthony Pajot
+
+   Compilation:
+     - lisaac -O -i20 mandelbrot.li
+*/
+
+Section Header
+
+  + name := MANDELBROT;
+  
+Section Inherit
+  
+  - parent_object : OBJECT := OBJECT;
+  
+Section Public
+   
+  - main <-
+  ( + w, h, bit_num:INTEGER;
+    + iter:INTEGER;
+    + byte_acc:INTEGER_8;
+    + four:REAL_64;
+    + delta0,delta1:REAL_64;
+    + mod_w,wm1:INTEGER;
+    + cmd:STRING;
+    + civ:REAL_64;        
+    
+    iter := 50;
+    four := 4.0;
+
+    cmd := COMMAND_LINE.item 1;
+            
+    h := w := cmd.to_integer;    
+
+    "P4\n".print;
+    cmd.print;
+    ' '.print;
+    cmd.print;
+    '\n'.print;
+
+    mod_w := 8 - (w & 7);
+    wm1   := w - 1;
+
+    0.to (h - 1) do { y:INTEGER;
+      
+      civ := (y * 2).to_real_64 / h - 1.0;
+      
+      0.to wm1 by 2 do { x:INTEGER;
+        + crv0,crv1:REAL_64;        
+        + zrv0,zrv1:REAL_64;
+        + ziv0,ziv1:REAL_64;
+        + trv0,trv1:REAL_64;
+        + tiv0,tiv1:REAL_64;
+        + i:INTEGER;
+        
+        crv0 := (x * 2).to_real_64 / w - 1.5;
+        crv1 := ((x + 1) * 2).to_real_64 / w - 1.5;
+        {
+          ziv0 := (zrv0 * ziv0) + (zrv0 * ziv0) + civ;
+          ziv1 := (zrv1 * ziv1) + (zrv1 * ziv1) + civ;
+          
+          zrv0 := trv0 - tiv0 + crv0;
+          zrv1 := trv1 - tiv1 + crv1;
+          
+          trv0 := zrv0 * zrv0;
+          trv1 := zrv1 * zrv1;
+          
+          tiv0 := ziv0 * ziv0;
+          tiv1 := ziv1 * ziv1;
+          
+          delta0 := four - trv0 - tiv0;
+          delta1 := four - trv1 - tiv1;
+          
+          i  := i + 1;	  
+        }.do_while {
+          (i < iter) && {
+            (delta0 >= 0) || {delta1 >= 0}
+          }
+        };
+        byte_acc := byte_acc << 2;                  
+        
+        (delta0 >= 0).if {
+          byte_acc := byte_acc | 02h;        
+        };
+        (delta1 >= 0).if {
+          byte_acc := byte_acc | 01h;
+        };	
+
+        bit_num := bit_num + 2;
+        (bit_num = 8).if {
+          byte_acc.to_character.print; 
+          byte_acc := bit_num := 0;
+        };        
+      };
+      (bit_num != 0).if {
+        byte_acc := byte_acc << mod_w;
+        byte_acc.to_character.print;         
+        byte_acc := bit_num := 0;
+      };
+    };		    
+  );
diff --git a/example/shootout/meteor_contest/meteor_contest.c b/example/shootout/meteor_contest/meteor_contest.c
new file mode 100755
index 0000000..015e8ac
--- /dev/null
+++ b/example/shootout/meteor_contest/meteor_contest.c
@@ -0,0 +1,1989 @@
+// C code generated by Lisaac compiler (www.isaacOS.com) //
+int arg_count;
+char **arg_vector;
+
+//==========================//
+// EXTERNAL                 //
+//==========================//
+
+// METEOR_CONTEST
+
+const unsigned int s_first_one[32] = {
+   0, 0, 1, 0,   2, 0, 1, 0,
+   3, 0, 1, 0,   2, 0, 1, 0,
+
+   4, 0, 1, 0,   2, 0, 1, 0,
+   3, 0, 1, 0,   2, 0, 1, 0,
+};
+
+unsigned int g_first_region[] = {
+   0x00, 0x01, 0x02, 0x03,   0x04, 0x01, 0x06, 0x07,
+   0x08, 0x01, 0x02, 0x03,   0x0c, 0x01, 0x0e, 0x0f,
+
+   0x10, 0x01, 0x02, 0x03,   0x04, 0x01, 0x06, 0x07,
+   0x18, 0x01, 0x02, 0x03,   0x1c, 0x01, 0x1e, 0x1f
+};
+
+unsigned int g_flip[] = {
+   0x00, 0x10, 0x08, 0x18, 0x04, 0x14, 0x0c, 0x1c,
+   0x02, 0x12, 0x0a, 0x1a, 0x06, 0x16, 0x0e, 0x1e,
+
+   0x01, 0x11, 0x09, 0x19, 0x05, 0x15, 0x0d, 0x1d,
+   0x03, 0x13, 0x0b, 0x1b, 0x07, 0x17, 0x0f, 0x1f,
+};
+
+// SYSTEM
+#include <time.h>
+// MEMORY
+
+#define MINIMUM_SIZE 256  
+void *table_size[MINIMUM_SIZE/sizeof(void *)];
+void *last_block[64];
+
+// FLOAT_REAL
+#include <math.h>
+// SYSTEM_IO
+
+#include <stdio.h>
+#include <stdlib.h>
+  
+// Hardware 'print_char'
+void print_char(char car)
+{
+  fputc(car,stdout);
+}
+
+// Hardware 'exit'
+int die_with_code(int code)
+{
+  exit(code);
+}
+
+
+
+//==========================//
+// TYPE                     //
+//==========================//
+
+// Generic Object
+struct ___OBJ {
+  unsigned long __id;
+};
+
+// NULL
+#ifndef NULL
+#define NULL ((void *)0)
+#endif
+
+// POINTER
+typedef void * __POINTER;
+
+// UINTEGER_32
+typedef unsigned long __UINTEGER_32;
+
+// MEMORY
+#define __MEMORY__ 0
+typedef struct MEMORY_struct __MEMORY;
+struct MEMORY_struct {
+  volatile __UINTEGER_32 previous_linear__2M;
+  volatile __UINTEGER_32 size_and_id__3M;
+  __MEMORY *next_free__4M;
+  __MEMORY *previous_free__5M;
+} __attribute__ ((packed));
+__MEMORY MEMORY_;
+#define MEMORY__ (&MEMORY_)
+
+// INTEGER
+typedef int __INTEGER;
+
+// ARRAYED_COLLECTION[Expanded UINTEGER_32]
+#define __ARRAYED_COLLECTIONoExpanded_UINTEGER_32o__ 1
+typedef struct ARRAYED_COLLECTIONoExpanded_UINTEGER_32o_struct __ARRAYED_COLLECTIONoExpanded_UINTEGER_32o;
+struct ARRAYED_COLLECTIONoExpanded_UINTEGER_32o_struct {
+  __INTEGER upper__50G;
+  __INTEGER capacity__B1G;
+  __UINTEGER_32 *storage__OZG;
+};
+__ARRAYED_COLLECTIONoExpanded_UINTEGER_32o ARRAYED_COLLECTIONoExpanded_UINTEGER_32o_;
+#define ARRAYED_COLLECTIONoExpanded_UINTEGER_32o__ (&ARRAYED_COLLECTIONoExpanded_UINTEGER_32o_)
+
+// FAST_ARRAY[Expanded UINTEGER_32]
+#define __FAST_ARRAYoExpanded_UINTEGER_32o__ 2
+typedef struct FAST_ARRAYoExpanded_UINTEGER_32o_struct __FAST_ARRAYoExpanded_UINTEGER_32o;
+struct FAST_ARRAYoExpanded_UINTEGER_32o_struct {
+  __ARRAYED_COLLECTIONoExpanded_UINTEGER_32o parent_arrayed_collection__3C;
+};
+__FAST_ARRAYoExpanded_UINTEGER_32o FAST_ARRAYoExpanded_UINTEGER_32o_;
+#define FAST_ARRAYoExpanded_UINTEGER_32o__ (&FAST_ARRAYoExpanded_UINTEGER_32o_)
+
+// CHARACTER
+typedef char __CHARACTER;
+
+// STRING
+#define __STRING__ 3
+typedef struct STRING_struct __STRING;
+struct STRING_struct {
+  __INTEGER count__2ZG;
+  __INTEGER capacity__C4G;
+  __CHARACTER *storage__L4G;
+};
+__STRING STRING_;
+#define STRING__ (&STRING_)
+
+// ARRAYED_COLLECTION[STRING]
+#define __ARRAYED_COLLECTIONoSTRINGo__ 4
+typedef struct ARRAYED_COLLECTIONoSTRINGo_struct __ARRAYED_COLLECTIONoSTRINGo;
+struct ARRAYED_COLLECTIONoSTRINGo_struct {
+  __INTEGER upper__2ZB;
+  __INTEGER capacity__F1B;
+  void **storage__Q1B;
+};
+__ARRAYED_COLLECTIONoSTRINGo ARRAYED_COLLECTIONoSTRINGo_;
+#define ARRAYED_COLLECTIONoSTRINGo__ (&ARRAYED_COLLECTIONoSTRINGo_)
+
+// FAST_ARRAY[STRING]
+#define __FAST_ARRAYoSTRINGo__ 5
+typedef struct FAST_ARRAYoSTRINGo_struct __FAST_ARRAYoSTRINGo;
+struct FAST_ARRAYoSTRINGo_struct {
+  __ARRAYED_COLLECTIONoSTRINGo parent_arrayed_collection__PB;
+};
+__FAST_ARRAYoSTRINGo FAST_ARRAYoSTRINGo_;
+#define FAST_ARRAYoSTRINGo__ (&FAST_ARRAYoSTRINGo_)
+
+// NUMERIC
+#define __NUMERIC__ 6
+typedef struct NUMERIC_struct __NUMERIC;
+struct NUMERIC_struct {
+  void *Nothing;
+};
+__NUMERIC NUMERIC_;
+#define NUMERIC__ (&NUMERIC_)
+
+// OBJECT
+#define __OBJECT__ 7
+typedef struct OBJECT_struct __OBJECT;
+struct OBJECT_struct {
+  void *Nothing;
+};
+__OBJECT OBJECT_;
+#define OBJECT__ (&OBJECT_)
+
+// STRING_CONSTANT
+#define __STRING_CONSTANT__ 8
+typedef struct STRING_CONSTANT_struct __STRING_CONSTANT;
+struct STRING_CONSTANT_struct {
+  __INTEGER count__XDE;
+  __CHARACTER *storage__MUF;
+};
+__STRING_CONSTANT STRING_CONSTANT_;
+#define STRING_CONSTANT__ (&STRING_CONSTANT_)
+
+// TRUE
+#define TRUE__ 1
+
+// FALSE
+#define FALSE__ 0
+
+// PIECE
+#define __PIECE__ 9
+typedef struct PIECE_struct __PIECE;
+struct PIECE_struct {
+  void *Nothing;
+};
+__PIECE PIECE_;
+#define PIECE__ (&PIECE_)
+
+// FAST_ARRAY2[PIECE]
+#define __FAST_ARRAY2oPIECEo__ 10
+typedef struct FAST_ARRAY2oPIECEo_struct __FAST_ARRAY2oPIECEo;
+struct FAST_ARRAY2oPIECEo_struct {
+  __INTEGER capacity__CGH;
+  void **storage__NBH;
+};
+__FAST_ARRAY2oPIECEo FAST_ARRAY2oPIECEo_;
+#define FAST_ARRAY2oPIECEo__ (&FAST_ARRAY2oPIECEo_)
+
+// FAST_ARRAY2[Expanded INTEGER]
+#define __FAST_ARRAY2oExpanded_INTEGERo__ 11
+typedef struct FAST_ARRAY2oExpanded_INTEGERo_struct __FAST_ARRAY2oExpanded_INTEGERo;
+struct FAST_ARRAY2oExpanded_INTEGERo_struct {
+  __INTEGER count2__GDH;
+  __INTEGER capacity__IIH;
+  __INTEGER *storage__EDH;
+};
+__FAST_ARRAY2oExpanded_INTEGERo FAST_ARRAY2oExpanded_INTEGERo_;
+#define FAST_ARRAY2oExpanded_INTEGERo__ (&FAST_ARRAY2oExpanded_INTEGERo_)
+
+// OK_PIECES
+#define __OK_PIECES__ 12
+typedef struct OK_PIECES_struct __OK_PIECES;
+struct OK_PIECES_struct {
+  void *Nothing;
+};
+__OK_PIECES OK_PIECES_;
+#define OK_PIECES__ (&OK_PIECES_)
+
+// FAST_ARRAY2[OK_PIECES]
+#define __FAST_ARRAY2oOK_PIECESo__ 13
+typedef struct FAST_ARRAY2oOK_PIECESo_struct __FAST_ARRAY2oOK_PIECESo;
+struct FAST_ARRAY2oOK_PIECESo_struct {
+  __INTEGER capacity__DTH;
+  void **storage__QRH;
+};
+__FAST_ARRAY2oOK_PIECESo FAST_ARRAY2oOK_PIECESo_;
+#define FAST_ARRAY2oOK_PIECESo__ (&FAST_ARRAY2oOK_PIECESo_)
+
+// UINTEGER_64
+typedef unsigned long long __UINTEGER_64;
+
+// BOOLEAN
+typedef char __BOOLEAN;
+
+
+void *table_type[14];
+
+//==========================//
+// GLOBAL                   //
+//==========================//
+
+__POINTER begin_memory__T1;
+__UINTEGER_32 nb_page__FJB;
+__UINTEGER_32 capacity_max__MJC;
+__MEMORY *first_free__52F;
+void *parent_numeric__H;
+__UINTEGER_32 clone_allocation_size__SM;
+void *base_vecs__4C;
+
+//==========================//
+// STRING CONSTANT          //
+//==========================//
+
+__STRING_CONSTANT __string_1={19,"Not enough memory.\n"};
+
+//==========================//
+// FUNCTION HEADER          //
+//==========================//
+
+// Debug Manager
+void print_string(char *str);
+// Source code
+static __POINTER new_lab__TIB(__UINTEGER_32 t__VIB);
+static __MEMORY* new_page__CJC();
+static void to_busy__index__5NH(__MEMORY *Self__AOH,__UINTEGER_32 sz__BOH,__UINTEGER_32 idx__COH);
+static __POINTER realloc_dynamic__old_size__new_size__PFI(__POINTER p__RFI,__UINTEGER_32 old_sz__SFI,__UINTEGER_32 new_sz__TFI);
+static void add_last__10G(__FAST_ARRAYoExpanded_UINTEGER_32o *Self__20G,__UINTEGER_32 element__30G);
+static __INTEGER shift_to_x0__FKE(void *pts__HKE,__INTEGER offset_row__JKE);
+
+//==========================//
+// SOURCE CODE              //
+//==========================//
+
+int main(int argc,char **argv)
+{
+  __UINTEGER_64 mask__PF;
+  __INTEGER new_count__LK,typ_id__EM,Self__5Z0,Self__SK,limit_up__TK;
+  __INTEGER idx__ZOC,typ_id__T4C,Self__L00,i__UZG,new_capacity__NTL;
+  __INTEGER Self__MCQ,__tmp__GUL,__tmp__YMP,Self__SHU,new_capacity__SQC;
+  __INTEGER Self__VRI,__tmp__WRC,__tmp__2EH,Self__RUP,typ_id__IHD;
+  __INTEGER Self__B2P,typ_id__5VE,Self__W10,Self__LYP,typ_id__TMG;
+  __INTEGER Self__C20,Self__Z0P,Self__IJ,i_piece__XC,Self__KNC,y__XXD;
+  __INTEGER x__YXD,typ_id__QXE,Self__O20,Self__SZP,ipt__HGE,Self__XYE;
+  __INTEGER y__TGE,Self__F0F,rot__ZXD,Self__0NJ,Self__5WF,top__FW0;
+  __INTEGER to_zero__HW0,top__XIG,to_zero__0IG,y_min__2XD,y_max__3XD;
+  __INTEGER Self__SIE,shift__N30,rx__H30,ry__I30,Self__J30,shift__DJE;
+  __INTEGER rx__EJE,ry__FJE,Self__B0E,Self__YJ,Self__0NC,Self__R4D;
+  __INTEGER Self__2OF;
+  __POINTER ptr__5L,ptr_table__F40,next__E40,result__G40,ptr_table__K40;
+  __POINTER next__J40,result__L40,result__B00,ptr_table__P40,next__O40;
+  __POINTER result__Q40,ptr__O4C,ptr_table__X40,next__W40,result__Y40;
+  __POINTER ptr_table__240,next__140,result__340,result__N00;
+  __POINTER ptr_table__B50,next__A50,result__C50,result__V00;
+  __POINTER ptr_table__J50,next__I50,result__K50,result__300;
+  __POINTER ptr_table__R50,next__Q50,result__S50,ptr__DHD;
+  __POINTER ptr_table__Z50,next__Y50,result__050,ptr_table__450;
+  __POINTER next__350,result__550,result__F10,ptr_table__DA1,next__CA1;
+  __POINTER result__EA1,ptr__0VE,ptr_table__LA1,next__KA1,result__MA1;
+  __POINTER ptr_table__QA1,next__PA1,result__RA1,result__N10;
+  __POINTER ptr_table__VA1,next__UA1,result__WA1,ptr__OMG;
+  __POINTER ptr_table__3A1,next__2A1,result__4A1,ptr_table__CB1;
+  __POINTER next__BB1,result__DB1,result__Z10,ptr_table__HB1,next__GB1;
+  __POINTER result__IB1,ptr__LXE,ptr_table__PB1,next__OB1,result__QB1;
+  __POINTER ptr_table__UB1,next__TB1,result__VB1,result__F20;
+  __POINTER ptr_table__ZZ,next__4Z,result__2Z;
+  __UINTEGER_32 sz__BM,a__TY0,new_size__UY0,t__YY0,a__XY0,new_size__N40;
+  __UINTEGER_32 lab_type__M40,sz__D00,a__C00,new_size__E00;
+  __UINTEGER_32 new_size2__F00,a__G00,new_size__H00,sz__Q4C,a__1Y0;
+  __UINTEGER_32 new_size__2Y0,t__AZ0,a__5Y0,new_size__540,lab_type__440;
+  __UINTEGER_32 sz__P00,a__O00,new_size__Q00,new_size2__R00,a__S00;
+  __UINTEGER_32 new_size__T00,a__W00,new_size__Y00,new_size2__Z00;
+  __UINTEGER_32 a__000,new_size__100,sz__500,a__400,new_size__A10;
+  __UINTEGER_32 new_size2__B10,a__C10,new_size__D10,sz__FHD,a__DZ0;
+  __UINTEGER_32 new_size__EZ0,t__IZ0,a__HZ0,new_size__BA1,lab_type__AA1;
+  __UINTEGER_32 a__G10,new_size__I10,new_size2__J10,a__K10;
+  __UINTEGER_32 new_size__L10,sz__2VE,a__LZ0,new_size__MZ0,t__QZ0;
+  __UINTEGER_32 a__PZ0,new_size__TA1,lab_type__SA1,sz__P10,a__O10;
+  __UINTEGER_32 new_size__Q10,new_size2__R10,a__S10,new_size__T10;
+  __UINTEGER_32 sz__QMG,a__TZ0,new_size__UZ0,t__YZ0,a__XZ0;
+  __UINTEGER_32 new_size__FB1,lab_type__EB1,sz__110,a__010;
+  __UINTEGER_32 new_size__210,new_size2__310,a__410,new_size__510;
+  __UINTEGER_32 ref_piece__FC,__tmp__YD,sz__NXE,a__TW0,new_size__UT;
+  __UINTEGER_32 t__3U,a__XW0,new_size__XB1,lab_type__WB1,sz__H20,a__G20;
+  __UINTEGER_32 new_size__I20,new_size2__J20,a__K20,new_size__L20;
+  __UINTEGER_32 vec__FGE,mask__IGE;
+  __MEMORY *result__T40,*result__F50,*result__N50,*result__V50;
+  __MEMORY *result__HA1,*result__ZA1,*result__LB1,*result__A2F;
+  __STRING *result__N4C,*Self__T3G,*Self__SZG;
+  __CHARACTER *arg__EI,*Self__NOC,*Result__K00,*p__TZG,*Result__UVM;
+  __CHARACTER *__tmp__FUL,*new__FMP;
+  __FAST_ARRAYoSTRINGo *result__4L,*Self__20B,*Self__QQC;
+  void **Result__4Z0,**Result__S5E,**__tmp__VRC,**new__JEH;
+  void *result__DI;
+  __CHARACTER __tmp__J0G;
+  __BOOLEAN __tmp__ARC;
+  __FAST_ARRAYoExpanded_UINTEGER_32o *result__CHD,*Self__D5G;
+  __UINTEGER_32 *Result__U4K;
+  __FAST_ARRAY2oPIECEo *result__ZVE,*Self__IFH;
+  void **Result__XJL,**Self__D5O;
+  __FAST_ARRAY2oOK_PIECESo *result__NMG,*Self__JSH;
+  void **Result__CQL,**Self__LAP;
+  __FAST_ARRAY2oExpanded_INTEGERo *result__KXE,*Self__OHH,*Self__QV0;
+  __FAST_ARRAY2oExpanded_INTEGERo *Self__XV0,*Self__JR0,*Self__4V0;
+  __FAST_ARRAY2oExpanded_INTEGERo *Self__QR0,*Self__XR0,*Self__IW0;
+  __FAST_ARRAY2oExpanded_INTEGERo *Self__ILH,*Self__WCH,*Self__L30;
+  __FAST_ARRAY2oExpanded_INTEGERo *Self__M30,*Self__O30,*Self__P30;
+  __FAST_ARRAY2oExpanded_INTEGERo *Self__UN0,*Self__YN0,*Self__PT0;
+  __FAST_ARRAY2oExpanded_INTEGERo *Self__TT0;
+  __INTEGER *Result__DML,*Self__V5O,*Self__NR0;
+  void *pts__DYD,*pts__GGE,*pts__K30,*pts__CJE;
+  arg_count  = argc;
+  arg_vector = argv;
+  ARRAYED_COLLECTIONoSTRINGo__->upper__2ZB= 0;
+  ARRAYED_COLLECTIONoSTRINGo__->capacity__F1B= 0;
+  ARRAYED_COLLECTIONoSTRINGo__->storage__Q1B=NULL;
+  FAST_ARRAYoSTRINGo__->parent_arrayed_collection__PB=(*ARRAYED_COLLECTIONoSTRINGo__);
+  parent_numeric__H=NUMERIC__;
+  clone_allocation_size__SM= 0;
+  STRING_CONSTANT__->count__XDE=((__INTEGER )((0)));
+  STRING_CONSTANT__->storage__MUF=((__CHARACTER *)(NULL));
+  nb_page__FJB= 0;
+  MEMORY__->size_and_id__3M= 0;
+  capacity_max__MJC= 0;
+  begin_memory__T1=((__POINTER )(NULL));
+  MEMORY__->previous_linear__2M= 0;
+  first_free__52F=NULL;
+  MEMORY__->next_free__4M=NULL;
+  MEMORY__->previous_free__5M=NULL;
+  STRING__->capacity__C4G= 0;
+  STRING__->storage__L4G=NULL;
+  STRING__->count__2ZG= 0;
+  arg__EI=NULL;
+  new_count__LK=((__INTEGER )(arg_count));
+  result__4L=NULL;
+  ptr__5L=((__POINTER )(NULL));
+  typ_id__EM= 0;
+  sz__BM=((__UINTEGER_32 )sizeof(__FAST_ARRAYoSTRINGo));
+  if ((sz__BM ==  0)) {
+    result__4L=FAST_ARRAYoSTRINGo__;
+  } else {
+    typ_id__EM=__FAST_ARRAYoSTRINGo__;
+    clone_allocation_size__SM=sz__BM;
+    if ((typ_id__EM == (__INTEGER)(-  1))) {
+      a__TY0=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__UY0=(__UINTEGER_32)((__UINTEGER_32)(sz__BM + a__TY0) & (__UINTEGER_32)(~ a__TY0));
+      ptr_table__F40=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__UY0 / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+      next__E40=((__POINTER )(NULL));
+      result__G40=((__POINTER *)ptr_table__F40)[ 0];
+      if ((result__G40 == (void *)NULL)) {
+        result__G40=new_lab__TIB(new_size__UY0);
+        next__E40=(void *)((unsigned long)result__G40 - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__UY0)));
+        ((__POINTER *)next__E40)[ 0]=NULL;
+        ((__POINTER *)ptr_table__F40)[ 0]=next__E40;
+      } else {
+        next__E40=((__POINTER *)result__G40)[ 0];
+        if ((next__E40 == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__G40 - (unsigned long)begin_memory__T1)))) &  4095) + (__UINTEGER_32)(new_size__UY0 <<  1)) <=  4096)) {
+            next__E40=(void *)((unsigned long)result__G40 - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__UY0)));
+          } else {
+            next__E40=new_lab__TIB(new_size__UY0);
+          };
+          ((__POINTER *)next__E40)[ 0]=NULL;
+          ((__POINTER *)ptr_table__F40)[ 0]=next__E40;
+        } else {
+          ((__POINTER *)result__G40)[ 0]=(void *)((unsigned long)((__POINTER *)next__E40)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__G40=next__E40;
+        };
+      };
+      ptr__5L=result__G40;
+    } else {
+      t__YY0=((__UINTEGER_32 )typ_id__EM);
+      a__XY0=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__N40=(__UINTEGER_32)((__UINTEGER_32)(sz__BM + a__XY0) & (__UINTEGER_32)(~ a__XY0));
+      ptr_table__K40=((__POINTER )(&(table_type[(t__YY0)])));
+      lab_type__M40=(__UINTEGER_32)(t__YY0 |  1);
+      next__J40=((__POINTER )(NULL));
+      result__L40=((__POINTER *)ptr_table__K40)[ 0];
+      if ((result__L40 == (void *)NULL)) {
+        result__L40=new_lab__TIB(lab_type__M40);
+        next__J40=(void *)((unsigned long)result__L40 - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__N40)));
+        ((__POINTER *)next__J40)[ 0]=NULL;
+        ((__POINTER *)ptr_table__K40)[ 0]=next__J40;
+      } else {
+        next__J40=((__POINTER *)result__L40)[ 0];
+        if ((next__J40 == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__L40 - (unsigned long)begin_memory__T1)))) &  4095) + (__UINTEGER_32)(new_size__N40 <<  1)) <=  4096)) {
+            next__J40=(void *)((unsigned long)result__L40 - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__N40)));
+          } else {
+            next__J40=new_lab__TIB(lab_type__M40);
+          };
+          ((__POINTER *)next__J40)[ 0]=NULL;
+          ((__POINTER *)ptr_table__K40)[ 0]=next__J40;
+        } else {
+          ((__POINTER *)result__L40)[ 0]=(void *)((unsigned long)((__POINTER *)next__J40)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__L40=next__J40;
+        };
+      };
+      ptr__5L=result__L40;
+    };
+    result__4L=((__FAST_ARRAYoSTRINGo *)ptr__5L);
+    *(result__4L) = *(FAST_ARRAYoSTRINGo__);
+  };
+  Self__20B=((__FAST_ARRAYoSTRINGo *)result__4L);
+  if ((Self__20B->parent_arrayed_collection__PB.capacity__F1B < new_count__LK)) {
+    sz__D00=((__UINTEGER_32 )(__INTEGER)(new_count__LK * ((__INTEGER )(sizeof(void *)))));
+    result__B00=((__POINTER )(NULL));
+    a__C00=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+    new_size__E00=(__UINTEGER_32)((__UINTEGER_32)(sz__D00 + a__C00) & (__UINTEGER_32)(~ a__C00));
+    new_size2__F00=(__UINTEGER_32)(new_size__E00 + ((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))));
+    if ((new_size2__F00 <= ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+      a__G00=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__H00=(__UINTEGER_32)((__UINTEGER_32)(new_size2__F00 + a__G00) & (__UINTEGER_32)(~ a__G00));
+      ptr_table__P40=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__H00 / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+      next__O40=((__POINTER )(NULL));
+      result__Q40=((__POINTER *)ptr_table__P40)[ 0];
+      if ((result__Q40 == (void *)NULL)) {
+        result__Q40=new_lab__TIB(new_size__H00);
+        next__O40=(void *)((unsigned long)result__Q40 - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__H00)));
+        ((__POINTER *)next__O40)[ 0]=NULL;
+        ((__POINTER *)ptr_table__P40)[ 0]=next__O40;
+      } else {
+        next__O40=((__POINTER *)result__Q40)[ 0];
+        if ((next__O40 == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__Q40 - (unsigned long)begin_memory__T1)))) &  4095) + (__UINTEGER_32)(new_size__H00 <<  1)) <=  4096)) {
+            next__O40=(void *)((unsigned long)result__Q40 - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__H00)));
+          } else {
+            next__O40=new_lab__TIB(new_size__H00);
+          };
+          ((__POINTER *)next__O40)[ 0]=NULL;
+          ((__POINTER *)ptr_table__P40)[ 0]=next__O40;
+        } else {
+          ((__POINTER *)result__Q40)[ 0]=(void *)((unsigned long)((__POINTER *)next__O40)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__Q40=next__O40;
+        };
+      };
+      ((__POINTER *)result__Q40)[ 0]=((__POINTER ) 3);
+      result__B00=(void *)((unsigned long)result__Q40 - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+    } else {
+      result__T40=first_free__52F;
+      while ((((void *)result__T40 != (void *)NULL) && ((__UINTEGER_32)(((__MEMORY *)result__T40)->size_and_id__3M &  4294967292LU) < new_size__E00))) {
+        result__T40=result__T40->next_free__4M;
+      };
+      if (((void *)result__T40 == (void *)NULL)) {
+        result__T40=new_page__CJC();
+      };
+      to_busy__index__5NH(result__T40,new_size__E00,(__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )((__MEMORY *)result__T40)) - (unsigned long)begin_memory__T1)))) >>  26));
+      result__B00=(void *)((unsigned long)((__POINTER )((__MEMORY *)result__T40)) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+    };
+    Result__4Z0=((void **)result__B00);
+    Self__5Z0=(__INTEGER)(new_count__LK -  1);
+    while ((Self__5Z0 >=  0)) {
+      Result__4Z0[Self__5Z0]=NULL;
+      Self__5Z0=(__INTEGER)(Self__5Z0 -  1);
+    };
+    Self__20B->parent_arrayed_collection__PB.storage__Q1B=Result__4Z0;
+    Self__20B->parent_arrayed_collection__PB.capacity__F1B=new_count__LK;
+  };
+  Self__20B->parent_arrayed_collection__PB.upper__2ZB=(__INTEGER)(-  1);
+  result__DI=result__4L;
+  Self__SK= 0;
+  limit_up__TK=(__INTEGER)(((__INTEGER )(arg_count)) -  1);
+  while ((Self__SK <= limit_up__TK)) {
+    arg__EI=((__CHARACTER *)(arg_vector[(Self__SK)]));
+    Self__NOC=((__CHARACTER *)arg__EI);
+    idx__ZOC= 0;
+    while ((! ((idx__ZOC >  1024) || ('\0' == Self__NOC[idx__ZOC])))) {
+      idx__ZOC=(__INTEGER)(idx__ZOC +  1);
+    };
+    result__N4C=NULL;
+    ptr__O4C=((__POINTER )(NULL));
+    typ_id__T4C= 0;
+    sz__Q4C=((__UINTEGER_32 )sizeof(__STRING));
+    if ((sz__Q4C ==  0)) {
+      result__N4C=STRING__;
+    } else {
+      typ_id__T4C=__STRING__;
+      clone_allocation_size__SM=(__UINTEGER_32)(clone_allocation_size__SM + sz__Q4C);
+      if ((typ_id__T4C == (__INTEGER)(-  1))) {
+        a__1Y0=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+        new_size__2Y0=(__UINTEGER_32)((__UINTEGER_32)(sz__Q4C + a__1Y0) & (__UINTEGER_32)(~ a__1Y0));
+        ptr_table__X40=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__2Y0 / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+        next__W40=((__POINTER )(NULL));
+        result__Y40=((__POINTER *)ptr_table__X40)[ 0];
+        if ((result__Y40 == (void *)NULL)) {
+          result__Y40=new_lab__TIB(new_size__2Y0);
+          next__W40=(void *)((unsigned long)result__Y40 - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__2Y0)));
+          ((__POINTER *)next__W40)[ 0]=NULL;
+          ((__POINTER *)ptr_table__X40)[ 0]=next__W40;
+        } else {
+          next__W40=((__POINTER *)result__Y40)[ 0];
+          if ((next__W40 == (void *)NULL)) {
+            if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__Y40 - (unsigned long)begin_memory__T1)))) &  4095) + (__UINTEGER_32)(new_size__2Y0 <<  1)) <=  4096)) {
+              next__W40=(void *)((unsigned long)result__Y40 - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__2Y0)));
+            } else {
+              next__W40=new_lab__TIB(new_size__2Y0);
+            };
+            ((__POINTER *)next__W40)[ 0]=NULL;
+            ((__POINTER *)ptr_table__X40)[ 0]=next__W40;
+          } else {
+            ((__POINTER *)result__Y40)[ 0]=(void *)((unsigned long)((__POINTER *)next__W40)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+            result__Y40=next__W40;
+          };
+        };
+        ptr__O4C=result__Y40;
+      } else {
+        t__AZ0=((__UINTEGER_32 )typ_id__T4C);
+        a__5Y0=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+        new_size__540=(__UINTEGER_32)((__UINTEGER_32)(sz__Q4C + a__5Y0) & (__UINTEGER_32)(~ a__5Y0));
+        ptr_table__240=((__POINTER )(&(table_type[(t__AZ0)])));
+        lab_type__440=(__UINTEGER_32)(t__AZ0 |  1);
+        next__140=((__POINTER )(NULL));
+        result__340=((__POINTER *)ptr_table__240)[ 0];
+        if ((result__340 == (void *)NULL)) {
+          result__340=new_lab__TIB(lab_type__440);
+          next__140=(void *)((unsigned long)result__340 - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__540)));
+          ((__POINTER *)next__140)[ 0]=NULL;
+          ((__POINTER *)ptr_table__240)[ 0]=next__140;
+        } else {
+          next__140=((__POINTER *)result__340)[ 0];
+          if ((next__140 == (void *)NULL)) {
+            if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__340 - (unsigned long)begin_memory__T1)))) &  4095) + (__UINTEGER_32)(new_size__540 <<  1)) <=  4096)) {
+              next__140=(void *)((unsigned long)result__340 - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__540)));
+            } else {
+              next__140=new_lab__TIB(lab_type__440);
+            };
+            ((__POINTER *)next__140)[ 0]=NULL;
+            ((__POINTER *)ptr_table__240)[ 0]=next__140;
+          } else {
+            ((__POINTER *)result__340)[ 0]=(void *)((unsigned long)((__POINTER *)next__140)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+            result__340=next__140;
+          };
+        };
+        ptr__O4C=result__340;
+      };
+      result__N4C=((__STRING *)ptr__O4C);
+      *(result__N4C) = *(STRING__);
+    };
+    Self__T3G=((__STRING *)result__N4C);
+    if ((idx__ZOC >  0)) {
+      if ((Self__T3G->capacity__C4G < idx__ZOC)) {
+        sz__P00=((__UINTEGER_32 )idx__ZOC);
+        result__N00=((__POINTER )(NULL));
+        a__O00=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+        new_size__Q00=(__UINTEGER_32)((__UINTEGER_32)(sz__P00 + a__O00) & (__UINTEGER_32)(~ a__O00));
+        new_size2__R00=(__UINTEGER_32)(new_size__Q00 + ((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))));
+        if ((new_size2__R00 <= ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+          a__S00=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+          new_size__T00=(__UINTEGER_32)((__UINTEGER_32)(new_size2__R00 + a__S00) & (__UINTEGER_32)(~ a__S00));
+          ptr_table__B50=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__T00 / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+          next__A50=((__POINTER )(NULL));
+          result__C50=((__POINTER *)ptr_table__B50)[ 0];
+          if ((result__C50 == (void *)NULL)) {
+            result__C50=new_lab__TIB(new_size__T00);
+            next__A50=(void *)((unsigned long)result__C50 - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__T00)));
+            ((__POINTER *)next__A50)[ 0]=NULL;
+            ((__POINTER *)ptr_table__B50)[ 0]=next__A50;
+          } else {
+            next__A50=((__POINTER *)result__C50)[ 0];
+            if ((next__A50 == (void *)NULL)) {
+              if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__C50 - (unsigned long)begin_memory__T1)))) &  4095) + (__UINTEGER_32)(new_size__T00 <<  1)) <=  4096)) {
+                next__A50=(void *)((unsigned long)result__C50 - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__T00)));
+              } else {
+                next__A50=new_lab__TIB(new_size__T00);
+              };
+              ((__POINTER *)next__A50)[ 0]=NULL;
+              ((__POINTER *)ptr_table__B50)[ 0]=next__A50;
+            } else {
+              ((__POINTER *)result__C50)[ 0]=(void *)((unsigned long)((__POINTER *)next__A50)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+              result__C50=next__A50;
+            };
+          };
+          ((__POINTER *)result__C50)[ 0]=((__POINTER ) 3);
+          result__N00=(void *)((unsigned long)result__C50 - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+        } else {
+          result__F50=first_free__52F;
+          while ((((void *)result__F50 != (void *)NULL) && ((__UINTEGER_32)(((__MEMORY *)result__F50)->size_and_id__3M &  4294967292LU) < new_size__Q00))) {
+            result__F50=result__F50->next_free__4M;
+          };
+          if (((void *)result__F50 == (void *)NULL)) {
+            result__F50=new_page__CJC();
+          };
+          to_busy__index__5NH(result__F50,new_size__Q00,(__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )((__MEMORY *)result__F50)) - (unsigned long)begin_memory__T1)))) >>  26));
+          result__N00=(void *)((unsigned long)((__POINTER )((__MEMORY *)result__F50)) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+        };
+        Result__K00=((__CHARACTER *)result__N00);
+        Self__L00=(__INTEGER)(idx__ZOC -  1);
+        while ((Self__L00 >=  0)) {
+          Result__K00[Self__L00]='\0';
+          Self__L00=(__INTEGER)(Self__L00 -  1);
+        };
+        Self__T3G->storage__L4G=Result__K00;
+        Self__T3G->capacity__C4G=idx__ZOC;
+      };
+    };
+    Self__T3G->count__2ZG= 0;
+    Self__SZG=((__STRING *)result__N4C);
+    p__TZG=arg__EI;
+    i__UZG= 0;
+    Self__SZG->count__2ZG= 0;
+    while ((((__CHARACTER *)p__TZG)[i__UZG] != '\0')) {
+      __tmp__J0G=((__CHARACTER *)p__TZG)[i__UZG];
+      new_capacity__NTL= 0;
+      if ((Self__SZG->capacity__C4G <= Self__SZG->count__2ZG)) {
+        if ((Self__SZG->capacity__C4G ==  0)) {
+          Self__SZG->capacity__C4G= 32;
+          result__V00=((__POINTER )(NULL));
+          a__W00=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+          new_size__Y00=(__UINTEGER_32)((__UINTEGER_32)( 32 + a__W00) & (__UINTEGER_32)(~ a__W00));
+          new_size2__Z00=(__UINTEGER_32)(new_size__Y00 + ((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))));
+          if ((new_size2__Z00 <= ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+            a__000=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+            new_size__100=(__UINTEGER_32)((__UINTEGER_32)(new_size2__Z00 + a__000) & (__UINTEGER_32)(~ a__000));
+            ptr_table__J50=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__100 / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+            next__I50=((__POINTER )(NULL));
+            result__K50=((__POINTER *)ptr_table__J50)[ 0];
+            if ((result__K50 == (void *)NULL)) {
+              result__K50=new_lab__TIB(new_size__100);
+              next__I50=(void *)((unsigned long)result__K50 - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__100)));
+              ((__POINTER *)next__I50)[ 0]=NULL;
+              ((__POINTER *)ptr_table__J50)[ 0]=next__I50;
+            } else {
+              next__I50=((__POINTER *)result__K50)[ 0];
+              if ((next__I50 == (void *)NULL)) {
+                if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__K50 - (unsigned long)begin_memory__T1)))) &  4095) + (__UINTEGER_32)(new_size__100 <<  1)) <=  4096)) {
+                  next__I50=(void *)((unsigned long)result__K50 - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__100)));
+                } else {
+                  next__I50=new_lab__TIB(new_size__100);
+                };
+                ((__POINTER *)next__I50)[ 0]=NULL;
+                ((__POINTER *)ptr_table__J50)[ 0]=next__I50;
+              } else {
+                ((__POINTER *)result__K50)[ 0]=(void *)((unsigned long)((__POINTER *)next__I50)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+                result__K50=next__I50;
+              };
+            };
+            ((__POINTER *)result__K50)[ 0]=((__POINTER ) 3);
+            result__V00=(void *)((unsigned long)result__K50 - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+          } else {
+            result__N50=first_free__52F;
+            while ((((void *)result__N50 != (void *)NULL) && ((__UINTEGER_32)(((__MEMORY *)result__N50)->size_and_id__3M &  4294967292LU) < new_size__Y00))) {
+              result__N50=result__N50->next_free__4M;
+            };
+            if (((void *)result__N50 == (void *)NULL)) {
+              result__N50=new_page__CJC();
+            };
+            to_busy__index__5NH(result__N50,new_size__Y00,(__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )((__MEMORY *)result__N50)) - (unsigned long)begin_memory__T1)))) >>  26));
+            result__V00=(void *)((unsigned long)((__POINTER )((__MEMORY *)result__N50)) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+          };
+          Result__UVM=((__CHARACTER *)result__V00);
+          Self__MCQ= 31;
+          while ((Self__MCQ >=  0)) {
+            Result__UVM[Self__MCQ]='\0';
+            Self__MCQ=(__INTEGER)(Self__MCQ -  1);
+          };
+          Self__SZG->storage__L4G=Result__UVM;
+        } else {
+          new_capacity__NTL=(__INTEGER)(Self__SZG->capacity__C4G <<  1);
+          __tmp__FUL=Self__SZG->storage__L4G;
+          __tmp__GUL=Self__SZG->capacity__C4G;
+          new__FMP=((__CHARACTER *)realloc_dynamic__old_size__new_size__PFI(((__POINTER )((__CHARACTER *)__tmp__FUL)),((__UINTEGER_32 )__tmp__GUL),((__UINTEGER_32 )new_capacity__NTL)));
+          __tmp__YMP=(__INTEGER)(new_capacity__NTL -  1);
+          Self__SHU=__tmp__GUL;
+          while ((Self__SHU <= __tmp__YMP)) {
+            new__FMP[Self__SHU]='\0';
+            Self__SHU=(__INTEGER)(Self__SHU +  1);
+          };
+          Self__SZG->storage__L4G=new__FMP;
+          Self__SZG->capacity__C4G=new_capacity__NTL;
+        };
+      };
+      ((__CHARACTER *)Self__SZG->storage__L4G)[Self__SZG->count__2ZG]=__tmp__J0G;
+      Self__SZG->count__2ZG=(__INTEGER)(Self__SZG->count__2ZG +  1);
+      i__UZG=(__INTEGER)(i__UZG +  1);
+    };
+    Self__QQC=((__FAST_ARRAYoSTRINGo *)result__DI);
+    new_capacity__SQC= 0;
+    if (((__INTEGER)(Self__QQC->parent_arrayed_collection__PB.upper__2ZB +  1) <= (__INTEGER)(Self__QQC->parent_arrayed_collection__PB.capacity__F1B -  1))) {
+      Self__QQC->parent_arrayed_collection__PB.upper__2ZB=(__INTEGER)(Self__QQC->parent_arrayed_collection__PB.upper__2ZB +  1);
+      __tmp__ARC=TRUE__;
+    } else {
+      __tmp__ARC=FALSE__;
+    };
+    if ((! __tmp__ARC)) {
+      if ((Self__QQC->parent_arrayed_collection__PB.capacity__F1B ==  0)) {
+        sz__500=((__UINTEGER_32 )(__INTEGER)(((__INTEGER )(sizeof(void *))) <<  1));
+        result__300=((__POINTER )(NULL));
+        a__400=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+        new_size__A10=(__UINTEGER_32)((__UINTEGER_32)(sz__500 + a__400) & (__UINTEGER_32)(~ a__400));
+        new_size2__B10=(__UINTEGER_32)(new_size__A10 + ((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))));
+        if ((new_size2__B10 <= ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+          a__C10=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+          new_size__D10=(__UINTEGER_32)((__UINTEGER_32)(new_size2__B10 + a__C10) & (__UINTEGER_32)(~ a__C10));
+          ptr_table__R50=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__D10 / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+          next__Q50=((__POINTER )(NULL));
+          result__S50=((__POINTER *)ptr_table__R50)[ 0];
+          if ((result__S50 == (void *)NULL)) {
+            result__S50=new_lab__TIB(new_size__D10);
+            next__Q50=(void *)((unsigned long)result__S50 - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__D10)));
+            ((__POINTER *)next__Q50)[ 0]=NULL;
+            ((__POINTER *)ptr_table__R50)[ 0]=next__Q50;
+          } else {
+            next__Q50=((__POINTER *)result__S50)[ 0];
+            if ((next__Q50 == (void *)NULL)) {
+              if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__S50 - (unsigned long)begin_memory__T1)))) &  4095) + (__UINTEGER_32)(new_size__D10 <<  1)) <=  4096)) {
+                next__Q50=(void *)((unsigned long)result__S50 - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__D10)));
+              } else {
+                next__Q50=new_lab__TIB(new_size__D10);
+              };
+              ((__POINTER *)next__Q50)[ 0]=NULL;
+              ((__POINTER *)ptr_table__R50)[ 0]=next__Q50;
+            } else {
+              ((__POINTER *)result__S50)[ 0]=(void *)((unsigned long)((__POINTER *)next__Q50)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+              result__S50=next__Q50;
+            };
+          };
+          ((__POINTER *)result__S50)[ 0]=((__POINTER ) 3);
+          result__300=(void *)((unsigned long)result__S50 - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+        } else {
+          result__V50=first_free__52F;
+          while ((((void *)result__V50 != (void *)NULL) && ((__UINTEGER_32)(((__MEMORY *)result__V50)->size_and_id__3M &  4294967292LU) < new_size__A10))) {
+            result__V50=result__V50->next_free__4M;
+          };
+          if (((void *)result__V50 == (void *)NULL)) {
+            result__V50=new_page__CJC();
+          };
+          to_busy__index__5NH(result__V50,new_size__A10,(__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )((__MEMORY *)result__V50)) - (unsigned long)begin_memory__T1)))) >>  26));
+          result__300=(void *)((unsigned long)((__POINTER )((__MEMORY *)result__V50)) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+        };
+        Result__S5E=((void **)result__300);
+        Self__VRI= 1;
+        while ((Self__VRI >=  0)) {
+          Result__S5E[Self__VRI]=NULL;
+          Self__VRI=(__INTEGER)(Self__VRI -  1);
+        };
+        Self__QQC->parent_arrayed_collection__PB.storage__Q1B=Result__S5E;
+        Self__QQC->parent_arrayed_collection__PB.capacity__F1B= 2;
+        Self__QQC->parent_arrayed_collection__PB.upper__2ZB= 0;
+      } else {
+        new_capacity__SQC=(__INTEGER)(Self__QQC->parent_arrayed_collection__PB.capacity__F1B <<  1);
+        __tmp__VRC=Self__QQC->parent_arrayed_collection__PB.storage__Q1B;
+        __tmp__WRC=Self__QQC->parent_arrayed_collection__PB.capacity__F1B;
+        new__JEH=((void **)realloc_dynamic__old_size__new_size__PFI(((__POINTER )((void **)__tmp__VRC)),((__UINTEGER_32 )(__INTEGER)(__tmp__WRC * ((__INTEGER )(sizeof(void *))))),((__UINTEGER_32 )(__INTEGER)(new_capacity__SQC * ((__INTEGER )(sizeof(void *)))))));
+        __tmp__2EH=(__INTEGER)(new_capacity__SQC -  1);
+        Self__RUP=__tmp__WRC;
+        while ((Self__RUP <= __tmp__2EH)) {
+          new__JEH[Self__RUP]=NULL;
+          Self__RUP=(__INTEGER)(Self__RUP +  1);
+        };
+        Self__QQC->parent_arrayed_collection__PB.storage__Q1B=new__JEH;
+        Self__QQC->parent_arrayed_collection__PB.capacity__F1B=new_capacity__SQC;
+        Self__QQC->parent_arrayed_collection__PB.upper__2ZB=(__INTEGER)(Self__QQC->parent_arrayed_collection__PB.upper__2ZB +  1);
+      };
+    };
+    ((void **)Self__QQC->parent_arrayed_collection__PB.storage__Q1B)[Self__QQC->parent_arrayed_collection__PB.upper__2ZB]=result__N4C;
+    Self__SK=(__INTEGER)(Self__SK +  1);
+  };
+  ARRAYED_COLLECTIONoExpanded_UINTEGER_32o__->storage__OZG=NULL;
+  ARRAYED_COLLECTIONoExpanded_UINTEGER_32o__->upper__50G= 0;
+  ARRAYED_COLLECTIONoExpanded_UINTEGER_32o__->capacity__B1G= 0;
+  FAST_ARRAYoExpanded_UINTEGER_32o__->parent_arrayed_collection__3C=(*ARRAYED_COLLECTIONoExpanded_UINTEGER_32o__);
+  result__CHD=NULL;
+  ptr__DHD=((__POINTER )(NULL));
+  typ_id__IHD= 0;
+  sz__FHD=((__UINTEGER_32 )sizeof(__FAST_ARRAYoExpanded_UINTEGER_32o));
+  if ((sz__FHD ==  0)) {
+    result__CHD=FAST_ARRAYoExpanded_UINTEGER_32o__;
+  } else {
+    typ_id__IHD=__FAST_ARRAYoExpanded_UINTEGER_32o__;
+    clone_allocation_size__SM=(__UINTEGER_32)(clone_allocation_size__SM + sz__FHD);
+    if ((typ_id__IHD == (__INTEGER)(-  1))) {
+      a__DZ0=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__EZ0=(__UINTEGER_32)((__UINTEGER_32)(sz__FHD + a__DZ0) & (__UINTEGER_32)(~ a__DZ0));
+      ptr_table__Z50=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__EZ0 / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+      next__Y50=((__POINTER )(NULL));
+      result__050=((__POINTER *)ptr_table__Z50)[ 0];
+      if ((result__050 == (void *)NULL)) {
+        result__050=new_lab__TIB(new_size__EZ0);
+        next__Y50=(void *)((unsigned long)result__050 - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__EZ0)));
+        ((__POINTER *)next__Y50)[ 0]=NULL;
+        ((__POINTER *)ptr_table__Z50)[ 0]=next__Y50;
+      } else {
+        next__Y50=((__POINTER *)result__050)[ 0];
+        if ((next__Y50 == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__050 - (unsigned long)begin_memory__T1)))) &  4095) + (__UINTEGER_32)(new_size__EZ0 <<  1)) <=  4096)) {
+            next__Y50=(void *)((unsigned long)result__050 - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__EZ0)));
+          } else {
+            next__Y50=new_lab__TIB(new_size__EZ0);
+          };
+          ((__POINTER *)next__Y50)[ 0]=NULL;
+          ((__POINTER *)ptr_table__Z50)[ 0]=next__Y50;
+        } else {
+          ((__POINTER *)result__050)[ 0]=(void *)((unsigned long)((__POINTER *)next__Y50)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__050=next__Y50;
+        };
+      };
+      ptr__DHD=result__050;
+    } else {
+      t__IZ0=((__UINTEGER_32 )typ_id__IHD);
+      a__HZ0=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__BA1=(__UINTEGER_32)((__UINTEGER_32)(sz__FHD + a__HZ0) & (__UINTEGER_32)(~ a__HZ0));
+      ptr_table__450=((__POINTER )(&(table_type[(t__IZ0)])));
+      lab_type__AA1=(__UINTEGER_32)(t__IZ0 |  1);
+      next__350=((__POINTER )(NULL));
+      result__550=((__POINTER *)ptr_table__450)[ 0];
+      if ((result__550 == (void *)NULL)) {
+        result__550=new_lab__TIB(lab_type__AA1);
+        next__350=(void *)((unsigned long)result__550 - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__BA1)));
+        ((__POINTER *)next__350)[ 0]=NULL;
+        ((__POINTER *)ptr_table__450)[ 0]=next__350;
+      } else {
+        next__350=((__POINTER *)result__550)[ 0];
+        if ((next__350 == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__550 - (unsigned long)begin_memory__T1)))) &  4095) + (__UINTEGER_32)(new_size__BA1 <<  1)) <=  4096)) {
+            next__350=(void *)((unsigned long)result__550 - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__BA1)));
+          } else {
+            next__350=new_lab__TIB(lab_type__AA1);
+          };
+          ((__POINTER *)next__350)[ 0]=NULL;
+          ((__POINTER *)ptr_table__450)[ 0]=next__350;
+        } else {
+          ((__POINTER *)result__550)[ 0]=(void *)((unsigned long)((__POINTER *)next__350)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__550=next__350;
+        };
+      };
+      ptr__DHD=result__550;
+    };
+    result__CHD=((__FAST_ARRAYoExpanded_UINTEGER_32o *)ptr__DHD);
+    *(result__CHD) = *(FAST_ARRAYoExpanded_UINTEGER_32o__);
+  };
+  Self__D5G=((__FAST_ARRAYoExpanded_UINTEGER_32o *)result__CHD);
+  if ((Self__D5G->parent_arrayed_collection__3C.capacity__B1G <  10)) {
+    result__F10=((__POINTER )(NULL));
+    a__G10=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+    new_size__I10=(__UINTEGER_32)((__UINTEGER_32)( 40 + a__G10) & (__UINTEGER_32)(~ a__G10));
+    new_size2__J10=(__UINTEGER_32)(new_size__I10 + ((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))));
+    if ((new_size2__J10 <= ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+      a__K10=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__L10=(__UINTEGER_32)((__UINTEGER_32)(new_size2__J10 + a__K10) & (__UINTEGER_32)(~ a__K10));
+      ptr_table__DA1=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__L10 / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+      next__CA1=((__POINTER )(NULL));
+      result__EA1=((__POINTER *)ptr_table__DA1)[ 0];
+      if ((result__EA1 == (void *)NULL)) {
+        result__EA1=new_lab__TIB(new_size__L10);
+        next__CA1=(void *)((unsigned long)result__EA1 - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__L10)));
+        ((__POINTER *)next__CA1)[ 0]=NULL;
+        ((__POINTER *)ptr_table__DA1)[ 0]=next__CA1;
+      } else {
+        next__CA1=((__POINTER *)result__EA1)[ 0];
+        if ((next__CA1 == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__EA1 - (unsigned long)begin_memory__T1)))) &  4095) + (__UINTEGER_32)(new_size__L10 <<  1)) <=  4096)) {
+            next__CA1=(void *)((unsigned long)result__EA1 - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__L10)));
+          } else {
+            next__CA1=new_lab__TIB(new_size__L10);
+          };
+          ((__POINTER *)next__CA1)[ 0]=NULL;
+          ((__POINTER *)ptr_table__DA1)[ 0]=next__CA1;
+        } else {
+          ((__POINTER *)result__EA1)[ 0]=(void *)((unsigned long)((__POINTER *)next__CA1)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__EA1=next__CA1;
+        };
+      };
+      ((__POINTER *)result__EA1)[ 0]=((__POINTER ) 3);
+      result__F10=(void *)((unsigned long)result__EA1 - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+    } else {
+      result__HA1=first_free__52F;
+      while ((((void *)result__HA1 != (void *)NULL) && ((__UINTEGER_32)(((__MEMORY *)result__HA1)->size_and_id__3M &  4294967292LU) < new_size__I10))) {
+        result__HA1=result__HA1->next_free__4M;
+      };
+      if (((void *)result__HA1 == (void *)NULL)) {
+        result__HA1=new_page__CJC();
+      };
+      to_busy__index__5NH(result__HA1,new_size__I10,(__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )((__MEMORY *)result__HA1)) - (unsigned long)begin_memory__T1)))) >>  26));
+      result__F10=(void *)((unsigned long)((__POINTER )((__MEMORY *)result__HA1)) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+    };
+    Result__U4K=((__UINTEGER_32 *)result__F10);
+    Self__B2P= 9;
+    while ((Self__B2P >=  0)) {
+      Result__U4K[Self__B2P]= 0;
+      Self__B2P=(__INTEGER)(Self__B2P -  1);
+    };
+    Self__D5G->parent_arrayed_collection__3C.storage__OZG=Result__U4K;
+    Self__D5G->parent_arrayed_collection__3C.capacity__B1G= 10;
+  };
+  Self__D5G->parent_arrayed_collection__3C.upper__50G=(__INTEGER)(-  1);
+  add_last__10G(result__CHD, 271);
+  add_last__10G(result__CHD, 203);
+  add_last__10G(result__CHD, 4231);
+  add_last__10G(result__CHD, 1063);
+  add_last__10G(result__CHD, 1125);
+  add_last__10G(result__CHD, 199);
+  add_last__10G(result__CHD, 33827);
+  add_last__10G(result__CHD, 167);
+  add_last__10G(result__CHD, 391);
+  add_last__10G(result__CHD, 143);
+  base_vecs__4C=result__CHD;
+  FAST_ARRAY2oPIECEo__->capacity__CGH= 0;
+  FAST_ARRAY2oPIECEo__->storage__NBH=NULL;
+  result__ZVE=NULL;
+  ptr__0VE=((__POINTER )(NULL));
+  typ_id__5VE= 0;
+  sz__2VE=((__UINTEGER_32 )sizeof(__FAST_ARRAY2oPIECEo));
+  if ((sz__2VE ==  0)) {
+    result__ZVE=FAST_ARRAY2oPIECEo__;
+  } else {
+    typ_id__5VE=__FAST_ARRAY2oPIECEo__;
+    clone_allocation_size__SM=(__UINTEGER_32)(clone_allocation_size__SM + sz__2VE);
+    if ((typ_id__5VE == (__INTEGER)(-  1))) {
+      a__LZ0=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__MZ0=(__UINTEGER_32)((__UINTEGER_32)(sz__2VE + a__LZ0) & (__UINTEGER_32)(~ a__LZ0));
+      ptr_table__LA1=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__MZ0 / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+      next__KA1=((__POINTER )(NULL));
+      result__MA1=((__POINTER *)ptr_table__LA1)[ 0];
+      if ((result__MA1 == (void *)NULL)) {
+        result__MA1=new_lab__TIB(new_size__MZ0);
+        next__KA1=(void *)((unsigned long)result__MA1 - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__MZ0)));
+        ((__POINTER *)next__KA1)[ 0]=NULL;
+        ((__POINTER *)ptr_table__LA1)[ 0]=next__KA1;
+      } else {
+        next__KA1=((__POINTER *)result__MA1)[ 0];
+        if ((next__KA1 == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__MA1 - (unsigned long)begin_memory__T1)))) &  4095) + (__UINTEGER_32)(new_size__MZ0 <<  1)) <=  4096)) {
+            next__KA1=(void *)((unsigned long)result__MA1 - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__MZ0)));
+          } else {
+            next__KA1=new_lab__TIB(new_size__MZ0);
+          };
+          ((__POINTER *)next__KA1)[ 0]=NULL;
+          ((__POINTER *)ptr_table__LA1)[ 0]=next__KA1;
+        } else {
+          ((__POINTER *)result__MA1)[ 0]=(void *)((unsigned long)((__POINTER *)next__KA1)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__MA1=next__KA1;
+        };
+      };
+      ptr__0VE=result__MA1;
+    } else {
+      t__QZ0=((__UINTEGER_32 )typ_id__5VE);
+      a__PZ0=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__TA1=(__UINTEGER_32)((__UINTEGER_32)(sz__2VE + a__PZ0) & (__UINTEGER_32)(~ a__PZ0));
+      ptr_table__QA1=((__POINTER )(&(table_type[(t__QZ0)])));
+      lab_type__SA1=(__UINTEGER_32)(t__QZ0 |  1);
+      next__PA1=((__POINTER )(NULL));
+      result__RA1=((__POINTER *)ptr_table__QA1)[ 0];
+      if ((result__RA1 == (void *)NULL)) {
+        result__RA1=new_lab__TIB(lab_type__SA1);
+        next__PA1=(void *)((unsigned long)result__RA1 - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__TA1)));
+        ((__POINTER *)next__PA1)[ 0]=NULL;
+        ((__POINTER *)ptr_table__QA1)[ 0]=next__PA1;
+      } else {
+        next__PA1=((__POINTER *)result__RA1)[ 0];
+        if ((next__PA1 == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__RA1 - (unsigned long)begin_memory__T1)))) &  4095) + (__UINTEGER_32)(new_size__TA1 <<  1)) <=  4096)) {
+            next__PA1=(void *)((unsigned long)result__RA1 - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__TA1)));
+          } else {
+            next__PA1=new_lab__TIB(lab_type__SA1);
+          };
+          ((__POINTER *)next__PA1)[ 0]=NULL;
+          ((__POINTER *)ptr_table__QA1)[ 0]=next__PA1;
+        } else {
+          ((__POINTER *)result__RA1)[ 0]=(void *)((unsigned long)((__POINTER *)next__PA1)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__RA1=next__PA1;
+        };
+      };
+      ptr__0VE=result__RA1;
+    };
+    result__ZVE=((__FAST_ARRAY2oPIECEo *)ptr__0VE);
+    *(result__ZVE) = *(FAST_ARRAY2oPIECEo__);
+  };
+  Self__IFH=((__FAST_ARRAY2oPIECEo *)result__ZVE);
+  if ((Self__IFH->capacity__CGH <  120)) {
+    Self__IFH->capacity__CGH= 120;
+    sz__P10=((__UINTEGER_32 )(__INTEGER)( 120 * ((__INTEGER )(sizeof(void *)))));
+    result__N10=((__POINTER )(NULL));
+    a__O10=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+    new_size__Q10=(__UINTEGER_32)((__UINTEGER_32)(sz__P10 + a__O10) & (__UINTEGER_32)(~ a__O10));
+    new_size2__R10=(__UINTEGER_32)(new_size__Q10 + ((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))));
+    if ((new_size2__R10 <= ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+      a__S10=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__T10=(__UINTEGER_32)((__UINTEGER_32)(new_size2__R10 + a__S10) & (__UINTEGER_32)(~ a__S10));
+      ptr_table__VA1=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__T10 / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+      next__UA1=((__POINTER )(NULL));
+      result__WA1=((__POINTER *)ptr_table__VA1)[ 0];
+      if ((result__WA1 == (void *)NULL)) {
+        result__WA1=new_lab__TIB(new_size__T10);
+        next__UA1=(void *)((unsigned long)result__WA1 - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__T10)));
+        ((__POINTER *)next__UA1)[ 0]=NULL;
+        ((__POINTER *)ptr_table__VA1)[ 0]=next__UA1;
+      } else {
+        next__UA1=((__POINTER *)result__WA1)[ 0];
+        if ((next__UA1 == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__WA1 - (unsigned long)begin_memory__T1)))) &  4095) + (__UINTEGER_32)(new_size__T10 <<  1)) <=  4096)) {
+            next__UA1=(void *)((unsigned long)result__WA1 - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__T10)));
+          } else {
+            next__UA1=new_lab__TIB(new_size__T10);
+          };
+          ((__POINTER *)next__UA1)[ 0]=NULL;
+          ((__POINTER *)ptr_table__VA1)[ 0]=next__UA1;
+        } else {
+          ((__POINTER *)result__WA1)[ 0]=(void *)((unsigned long)((__POINTER *)next__UA1)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__WA1=next__UA1;
+        };
+      };
+      ((__POINTER *)result__WA1)[ 0]=((__POINTER ) 3);
+      result__N10=(void *)((unsigned long)result__WA1 - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+    } else {
+      result__ZA1=first_free__52F;
+      while ((((void *)result__ZA1 != (void *)NULL) && ((__UINTEGER_32)(((__MEMORY *)result__ZA1)->size_and_id__3M &  4294967292LU) < new_size__Q10))) {
+        result__ZA1=result__ZA1->next_free__4M;
+      };
+      if (((void *)result__ZA1 == (void *)NULL)) {
+        result__ZA1=new_page__CJC();
+      };
+      to_busy__index__5NH(result__ZA1,new_size__Q10,(__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )((__MEMORY *)result__ZA1)) - (unsigned long)begin_memory__T1)))) >>  26));
+      result__N10=(void *)((unsigned long)((__POINTER )((__MEMORY *)result__ZA1)) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+    };
+    Result__XJL=((void **)result__N10);
+    Self__W10= 119;
+    while ((Self__W10 >=  0)) {
+      Result__XJL[Self__W10]=NULL;
+      Self__W10=(__INTEGER)(Self__W10 -  1);
+    };
+    Self__IFH->storage__NBH=Result__XJL;
+  } else {
+    Self__D5O=((void **)Self__IFH->storage__NBH);
+    Self__LYP=(__INTEGER)(Self__IFH->capacity__CGH -  1);
+    while ((Self__LYP >=  0)) {
+      Self__D5O[Self__LYP]=NULL;
+      Self__LYP=(__INTEGER)(Self__LYP -  1);
+    };
+  };
+  FAST_ARRAY2oExpanded_INTEGERo__->count2__GDH= 0;
+  FAST_ARRAY2oExpanded_INTEGERo__->capacity__IIH= 0;
+  FAST_ARRAY2oExpanded_INTEGERo__->storage__EDH=NULL;
+  FAST_ARRAY2oOK_PIECESo__->capacity__DTH= 0;
+  FAST_ARRAY2oOK_PIECESo__->storage__QRH=NULL;
+  result__NMG=NULL;
+  ptr__OMG=((__POINTER )(NULL));
+  typ_id__TMG= 0;
+  sz__QMG=((__UINTEGER_32 )sizeof(__FAST_ARRAY2oOK_PIECESo));
+  if ((sz__QMG ==  0)) {
+    result__NMG=FAST_ARRAY2oOK_PIECESo__;
+  } else {
+    typ_id__TMG=__FAST_ARRAY2oOK_PIECESo__;
+    clone_allocation_size__SM=(__UINTEGER_32)(clone_allocation_size__SM + sz__QMG);
+    if ((typ_id__TMG == (__INTEGER)(-  1))) {
+      a__TZ0=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__UZ0=(__UINTEGER_32)((__UINTEGER_32)(sz__QMG + a__TZ0) & (__UINTEGER_32)(~ a__TZ0));
+      ptr_table__3A1=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__UZ0 / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+      next__2A1=((__POINTER )(NULL));
+      result__4A1=((__POINTER *)ptr_table__3A1)[ 0];
+      if ((result__4A1 == (void *)NULL)) {
+        result__4A1=new_lab__TIB(new_size__UZ0);
+        next__2A1=(void *)((unsigned long)result__4A1 - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__UZ0)));
+        ((__POINTER *)next__2A1)[ 0]=NULL;
+        ((__POINTER *)ptr_table__3A1)[ 0]=next__2A1;
+      } else {
+        next__2A1=((__POINTER *)result__4A1)[ 0];
+        if ((next__2A1 == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__4A1 - (unsigned long)begin_memory__T1)))) &  4095) + (__UINTEGER_32)(new_size__UZ0 <<  1)) <=  4096)) {
+            next__2A1=(void *)((unsigned long)result__4A1 - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__UZ0)));
+          } else {
+            next__2A1=new_lab__TIB(new_size__UZ0);
+          };
+          ((__POINTER *)next__2A1)[ 0]=NULL;
+          ((__POINTER *)ptr_table__3A1)[ 0]=next__2A1;
+        } else {
+          ((__POINTER *)result__4A1)[ 0]=(void *)((unsigned long)((__POINTER *)next__2A1)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__4A1=next__2A1;
+        };
+      };
+      ptr__OMG=result__4A1;
+    } else {
+      t__YZ0=((__UINTEGER_32 )typ_id__TMG);
+      a__XZ0=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__FB1=(__UINTEGER_32)((__UINTEGER_32)(sz__QMG + a__XZ0) & (__UINTEGER_32)(~ a__XZ0));
+      ptr_table__CB1=((__POINTER )(&(table_type[(t__YZ0)])));
+      lab_type__EB1=(__UINTEGER_32)(t__YZ0 |  1);
+      next__BB1=((__POINTER )(NULL));
+      result__DB1=((__POINTER *)ptr_table__CB1)[ 0];
+      if ((result__DB1 == (void *)NULL)) {
+        result__DB1=new_lab__TIB(lab_type__EB1);
+        next__BB1=(void *)((unsigned long)result__DB1 - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__FB1)));
+        ((__POINTER *)next__BB1)[ 0]=NULL;
+        ((__POINTER *)ptr_table__CB1)[ 0]=next__BB1;
+      } else {
+        next__BB1=((__POINTER *)result__DB1)[ 0];
+        if ((next__BB1 == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__DB1 - (unsigned long)begin_memory__T1)))) &  4095) + (__UINTEGER_32)(new_size__FB1 <<  1)) <=  4096)) {
+            next__BB1=(void *)((unsigned long)result__DB1 - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__FB1)));
+          } else {
+            next__BB1=new_lab__TIB(lab_type__EB1);
+          };
+          ((__POINTER *)next__BB1)[ 0]=NULL;
+          ((__POINTER *)ptr_table__CB1)[ 0]=next__BB1;
+        } else {
+          ((__POINTER *)result__DB1)[ 0]=(void *)((unsigned long)((__POINTER *)next__BB1)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__DB1=next__BB1;
+        };
+      };
+      ptr__OMG=result__DB1;
+    };
+    result__NMG=((__FAST_ARRAY2oOK_PIECESo *)ptr__OMG);
+    *(result__NMG) = *(FAST_ARRAY2oOK_PIECESo__);
+  };
+  Self__JSH=((__FAST_ARRAY2oOK_PIECESo *)result__NMG);
+  if ((Self__JSH->capacity__DTH <  50)) {
+    Self__JSH->capacity__DTH= 50;
+    sz__110=((__UINTEGER_32 )(__INTEGER)( 50 * ((__INTEGER )(sizeof(void *)))));
+    result__Z10=((__POINTER )(NULL));
+    a__010=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+    new_size__210=(__UINTEGER_32)((__UINTEGER_32)(sz__110 + a__010) & (__UINTEGER_32)(~ a__010));
+    new_size2__310=(__UINTEGER_32)(new_size__210 + ((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))));
+    if ((new_size2__310 <= ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+      a__410=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__510=(__UINTEGER_32)((__UINTEGER_32)(new_size2__310 + a__410) & (__UINTEGER_32)(~ a__410));
+      ptr_table__HB1=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__510 / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+      next__GB1=((__POINTER )(NULL));
+      result__IB1=((__POINTER *)ptr_table__HB1)[ 0];
+      if ((result__IB1 == (void *)NULL)) {
+        result__IB1=new_lab__TIB(new_size__510);
+        next__GB1=(void *)((unsigned long)result__IB1 - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__510)));
+        ((__POINTER *)next__GB1)[ 0]=NULL;
+        ((__POINTER *)ptr_table__HB1)[ 0]=next__GB1;
+      } else {
+        next__GB1=((__POINTER *)result__IB1)[ 0];
+        if ((next__GB1 == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__IB1 - (unsigned long)begin_memory__T1)))) &  4095) + (__UINTEGER_32)(new_size__510 <<  1)) <=  4096)) {
+            next__GB1=(void *)((unsigned long)result__IB1 - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__510)));
+          } else {
+            next__GB1=new_lab__TIB(new_size__510);
+          };
+          ((__POINTER *)next__GB1)[ 0]=NULL;
+          ((__POINTER *)ptr_table__HB1)[ 0]=next__GB1;
+        } else {
+          ((__POINTER *)result__IB1)[ 0]=(void *)((unsigned long)((__POINTER *)next__GB1)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__IB1=next__GB1;
+        };
+      };
+      ((__POINTER *)result__IB1)[ 0]=((__POINTER ) 3);
+      result__Z10=(void *)((unsigned long)result__IB1 - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+    } else {
+      result__LB1=first_free__52F;
+      while ((((void *)result__LB1 != (void *)NULL) && ((__UINTEGER_32)(((__MEMORY *)result__LB1)->size_and_id__3M &  4294967292LU) < new_size__210))) {
+        result__LB1=result__LB1->next_free__4M;
+      };
+      if (((void *)result__LB1 == (void *)NULL)) {
+        result__LB1=new_page__CJC();
+      };
+      to_busy__index__5NH(result__LB1,new_size__210,(__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )((__MEMORY *)result__LB1)) - (unsigned long)begin_memory__T1)))) >>  26));
+      result__Z10=(void *)((unsigned long)((__POINTER )((__MEMORY *)result__LB1)) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+    };
+    Result__CQL=((void **)result__Z10);
+    Self__C20= 49;
+    while ((Self__C20 >=  0)) {
+      Result__CQL[Self__C20]=NULL;
+      Self__C20=(__INTEGER)(Self__C20 -  1);
+    };
+    Self__JSH->storage__QRH=Result__CQL;
+  } else {
+    Self__LAP=((void **)Self__JSH->storage__QRH);
+    Self__Z0P=(__INTEGER)(Self__JSH->capacity__DTH -  1);
+    while ((Self__Z0P >=  0)) {
+      Self__LAP[Self__Z0P]=NULL;
+      Self__Z0P=(__INTEGER)(Self__Z0P -  1);
+    };
+  };
+  if (((__INTEGER)(((__FAST_ARRAYoSTRINGo *)result__4L)->parent_arrayed_collection__PB.upper__2ZB +  1) >  2)) {
+    exit(( 1));
+  };
+  ref_piece__FC= 0;
+  Self__IJ= 0;
+  while ((Self__IJ <=  9)) {
+    i_piece__XC=Self__IJ;
+    ref_piece__FC=((__UINTEGER_32 *)((__FAST_ARRAYoExpanded_UINTEGER_32o *)base_vecs__4C)->parent_arrayed_collection__3C.storage__OZG)[Self__IJ];
+    Self__KNC= 0;
+    while ((Self__KNC <=  11)) {
+      __tmp__YD=((__UINTEGER_32 )Self__KNC);
+      y__XXD= 0;
+      x__YXD= 0;
+      result__KXE=NULL;
+      ptr__LXE=((__POINTER )(NULL));
+      typ_id__QXE= 0;
+      sz__NXE=((__UINTEGER_32 )sizeof(__FAST_ARRAY2oExpanded_INTEGERo));
+      if ((sz__NXE ==  0)) {
+        result__KXE=FAST_ARRAY2oExpanded_INTEGERo__;
+      } else {
+        typ_id__QXE=__FAST_ARRAY2oExpanded_INTEGERo__;
+        clone_allocation_size__SM=(__UINTEGER_32)(clone_allocation_size__SM + sz__NXE);
+        if ((typ_id__QXE == (__INTEGER)(-  1))) {
+          a__TW0=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+          new_size__UT=(__UINTEGER_32)((__UINTEGER_32)(sz__NXE + a__TW0) & (__UINTEGER_32)(~ a__TW0));
+          ptr_table__PB1=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__UT / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+          next__OB1=((__POINTER )(NULL));
+          result__QB1=((__POINTER *)ptr_table__PB1)[ 0];
+          if ((result__QB1 == (void *)NULL)) {
+            result__QB1=new_lab__TIB(new_size__UT);
+            next__OB1=(void *)((unsigned long)result__QB1 - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__UT)));
+            ((__POINTER *)next__OB1)[ 0]=NULL;
+            ((__POINTER *)ptr_table__PB1)[ 0]=next__OB1;
+          } else {
+            next__OB1=((__POINTER *)result__QB1)[ 0];
+            if ((next__OB1 == (void *)NULL)) {
+              if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__QB1 - (unsigned long)begin_memory__T1)))) &  4095) + (__UINTEGER_32)(new_size__UT <<  1)) <=  4096)) {
+                next__OB1=(void *)((unsigned long)result__QB1 - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__UT)));
+              } else {
+                next__OB1=new_lab__TIB(new_size__UT);
+              };
+              ((__POINTER *)next__OB1)[ 0]=NULL;
+              ((__POINTER *)ptr_table__PB1)[ 0]=next__OB1;
+            } else {
+              ((__POINTER *)result__QB1)[ 0]=(void *)((unsigned long)((__POINTER *)next__OB1)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+              result__QB1=next__OB1;
+            };
+          };
+          ptr__LXE=result__QB1;
+        } else {
+          t__3U=((__UINTEGER_32 )typ_id__QXE);
+          a__XW0=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+          new_size__XB1=(__UINTEGER_32)((__UINTEGER_32)(sz__NXE + a__XW0) & (__UINTEGER_32)(~ a__XW0));
+          ptr_table__UB1=((__POINTER )(&(table_type[(t__3U)])));
+          lab_type__WB1=(__UINTEGER_32)(t__3U |  1);
+          next__TB1=((__POINTER )(NULL));
+          result__VB1=((__POINTER *)ptr_table__UB1)[ 0];
+          if ((result__VB1 == (void *)NULL)) {
+            result__VB1=new_lab__TIB(lab_type__WB1);
+            next__TB1=(void *)((unsigned long)result__VB1 - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__XB1)));
+            ((__POINTER *)next__TB1)[ 0]=NULL;
+            ((__POINTER *)ptr_table__UB1)[ 0]=next__TB1;
+          } else {
+            next__TB1=((__POINTER *)result__VB1)[ 0];
+            if ((next__TB1 == (void *)NULL)) {
+              if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__VB1 - (unsigned long)begin_memory__T1)))) &  4095) + (__UINTEGER_32)(new_size__XB1 <<  1)) <=  4096)) {
+                next__TB1=(void *)((unsigned long)result__VB1 - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__XB1)));
+              } else {
+                next__TB1=new_lab__TIB(lab_type__WB1);
+              };
+              ((__POINTER *)next__TB1)[ 0]=NULL;
+              ((__POINTER *)ptr_table__UB1)[ 0]=next__TB1;
+            } else {
+              ((__POINTER *)result__VB1)[ 0]=(void *)((unsigned long)((__POINTER *)next__TB1)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+              result__VB1=next__TB1;
+            };
+          };
+          ptr__LXE=result__VB1;
+        };
+        result__KXE=((__FAST_ARRAY2oExpanded_INTEGERo *)ptr__LXE);
+        *(result__KXE) = *(FAST_ARRAY2oExpanded_INTEGERo__);
+      };
+      Self__OHH=((__FAST_ARRAY2oExpanded_INTEGERo *)result__KXE);
+      Self__OHH->count2__GDH= 2;
+      if ((Self__OHH->capacity__IIH <  10)) {
+        Self__OHH->capacity__IIH= 10;
+        sz__H20=((__UINTEGER_32 )(__INTEGER)( 10 * sizeof(__INTEGER)));
+        result__F20=((__POINTER )(NULL));
+        a__G20=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+        new_size__I20=(__UINTEGER_32)((__UINTEGER_32)(sz__H20 + a__G20) & (__UINTEGER_32)(~ a__G20));
+        new_size2__J20=(__UINTEGER_32)(new_size__I20 + ((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))));
+        if ((new_size2__J20 <= ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+          a__K20=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+          new_size__L20=(__UINTEGER_32)((__UINTEGER_32)(new_size2__J20 + a__K20) & (__UINTEGER_32)(~ a__K20));
+          ptr_table__ZZ=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__L20 / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+          next__4Z=((__POINTER )(NULL));
+          result__2Z=((__POINTER *)ptr_table__ZZ)[ 0];
+          if ((result__2Z == (void *)NULL)) {
+            result__2Z=new_lab__TIB(new_size__L20);
+            next__4Z=(void *)((unsigned long)result__2Z - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__L20)));
+            ((__POINTER *)next__4Z)[ 0]=NULL;
+            ((__POINTER *)ptr_table__ZZ)[ 0]=next__4Z;
+          } else {
+            next__4Z=((__POINTER *)result__2Z)[ 0];
+            if ((next__4Z == (void *)NULL)) {
+              if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__2Z - (unsigned long)begin_memory__T1)))) &  4095) + (__UINTEGER_32)(new_size__L20 <<  1)) <=  4096)) {
+                next__4Z=(void *)((unsigned long)result__2Z - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__L20)));
+              } else {
+                next__4Z=new_lab__TIB(new_size__L20);
+              };
+              ((__POINTER *)next__4Z)[ 0]=NULL;
+              ((__POINTER *)ptr_table__ZZ)[ 0]=next__4Z;
+            } else {
+              ((__POINTER *)result__2Z)[ 0]=(void *)((unsigned long)((__POINTER *)next__4Z)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+              result__2Z=next__4Z;
+            };
+          };
+          ((__POINTER *)result__2Z)[ 0]=((__POINTER ) 3);
+          result__F20=(void *)((unsigned long)result__2Z - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+        } else {
+          result__A2F=first_free__52F;
+          while ((((void *)result__A2F != (void *)NULL) && ((__UINTEGER_32)(((__MEMORY *)result__A2F)->size_and_id__3M &  4294967292LU) < new_size__I20))) {
+            result__A2F=result__A2F->next_free__4M;
+          };
+          if (((void *)result__A2F == (void *)NULL)) {
+            result__A2F=new_page__CJC();
+          };
+          to_busy__index__5NH(result__A2F,new_size__I20,(__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )((__MEMORY *)result__A2F)) - (unsigned long)begin_memory__T1)))) >>  26));
+          result__F20=(void *)((unsigned long)((__POINTER )((__MEMORY *)result__A2F)) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+        };
+        Result__DML=((__INTEGER *)result__F20);
+        Self__O20= 9;
+        while ((Self__O20 >=  0)) {
+          Result__DML[Self__O20]= 0;
+          Self__O20=(__INTEGER)(Self__O20 -  1);
+        };
+        Self__OHH->storage__EDH=Result__DML;
+      } else {
+        Self__V5O=((__INTEGER *)Self__OHH->storage__EDH);
+        Self__SZP=(__INTEGER)(Self__OHH->capacity__IIH -  1);
+        while ((Self__SZP >=  0)) {
+          Self__V5O[Self__SZP]= 0;
+          Self__SZP=(__INTEGER)(Self__SZP -  1);
+        };
+      };
+      pts__DYD=result__KXE;
+      vec__FGE=ref_piece__FC;
+      pts__GGE=result__KXE;
+      ipt__HGE= 0;
+      mask__IGE= 1;
+      Self__XYE= 0;
+      while ((Self__XYE <=  9)) {
+        y__TGE=Self__XYE;
+        Self__F0F= 0;
+        while ((Self__F0F <=  4)) {
+          if (((__UINTEGER_32)(mask__IGE & vec__FGE) !=  0)) {
+            Self__QV0=((__FAST_ARRAY2oExpanded_INTEGERo *)pts__GGE);
+            ((__INTEGER *)Self__QV0->storage__EDH)[(__INTEGER)((__INTEGER)(ipt__HGE * Self__QV0->count2__GDH) + Self__F0F)]=Self__F0F;
+            Self__XV0=((__FAST_ARRAY2oExpanded_INTEGERo *)pts__GGE);
+            ((__INTEGER *)Self__XV0->storage__EDH)[(__INTEGER)((__INTEGER)(ipt__HGE * Self__XV0->count2__GDH) + y__TGE)]=y__TGE;
+            ipt__HGE=(__INTEGER)(ipt__HGE +  1);
+          };
+          mask__IGE=(__UINTEGER_32)(mask__IGE <<  1);
+          Self__F0F=(__INTEGER)(Self__F0F +  1);
+        };
+        Self__XYE=(__INTEGER)(Self__XYE +  1);
+      };
+      rot__ZXD=((__INTEGER )(__UINTEGER_32)(__tmp__YD %  6));
+      if ((__tmp__YD >=  6)) {
+        Self__0NJ= 0;
+        while ((Self__0NJ <=  4)) {
+          Self__JR0=((__FAST_ARRAY2oExpanded_INTEGERo *)pts__DYD);
+          Self__NR0=((__INTEGER *)Self__JR0->storage__EDH);
+          Self__4V0=((__FAST_ARRAY2oExpanded_INTEGERo *)pts__DYD);
+          ((__INTEGER *)Self__4V0->storage__EDH)[(__INTEGER)((__INTEGER)(Self__0NJ * Self__4V0->count2__GDH) + y__XXD)]=(__INTEGER)(- Self__NR0[(__INTEGER)((__INTEGER)(Self__0NJ * Self__JR0->count2__GDH) + y__XXD)]);
+          Self__0NJ=(__INTEGER)(Self__0NJ +  1);
+        };
+      };
+      while ((rot__ZXD !=  0)) {
+        rot__ZXD=(__INTEGER)(rot__ZXD -  1);
+        Self__5WF= 0;
+        while ((Self__5WF <=  4)) {
+          Self__QR0=((__FAST_ARRAY2oExpanded_INTEGERo *)pts__DYD);
+          x__YXD=((__INTEGER *)Self__QR0->storage__EDH)[(__INTEGER)((__INTEGER)(Self__5WF * Self__QR0->count2__GDH) + x__YXD)];
+          Self__XR0=((__FAST_ARRAY2oExpanded_INTEGERo *)pts__DYD);
+          y__XXD=((__INTEGER *)Self__XR0->storage__EDH)[(__INTEGER)((__INTEGER)(Self__5WF * Self__XR0->count2__GDH) + y__XXD)];
+          top__FW0=(__INTEGER)((__INTEGER)((__INTEGER)(x__YXD <<  1) - (__INTEGER)( 3 * y__XXD)) +  1);
+          to_zero__HW0=(__INTEGER)(top__FW0 >>  2);
+          if ((((__INTEGER)(to_zero__HW0 <<  2) != top__FW0) && ((top__FW0 <  0) != FALSE__))) {
+            to_zero__HW0=(__INTEGER)(to_zero__HW0 -  1);
+          };
+          top__XIG=(__INTEGER)((__INTEGER)((__INTEGER)(x__YXD <<  1) + y__XXD) +  1);
+          to_zero__0IG=(__INTEGER)(top__XIG >>  1);
+          if ((((__INTEGER)(to_zero__0IG <<  1) != top__XIG) && ((top__XIG <  0) != FALSE__))) {
+            to_zero__0IG=(__INTEGER)(to_zero__0IG -  1);
+          };
+          Self__IW0=((__FAST_ARRAY2oExpanded_INTEGERo *)pts__DYD);
+          ((__INTEGER *)Self__IW0->storage__EDH)[(__INTEGER)((__INTEGER)(Self__5WF * Self__IW0->count2__GDH) + x__YXD)]=to_zero__HW0;
+          Self__ILH=((__FAST_ARRAY2oExpanded_INTEGERo *)pts__DYD);
+          ((__INTEGER *)Self__ILH->storage__EDH)[(__INTEGER)((__INTEGER)(Self__5WF * Self__ILH->count2__GDH) + y__XXD)]=to_zero__0IG;
+          Self__5WF=(__INTEGER)(Self__5WF +  1);
+        };
+      };
+      y_min__2XD=((__INTEGER *)((__FAST_ARRAY2oExpanded_INTEGERo *)result__KXE)->storage__EDH)[y__XXD];
+      y_max__3XD=y_min__2XD;
+      Self__SIE= 1;
+      while ((Self__SIE <=  4)) {
+        Self__WCH=((__FAST_ARRAY2oExpanded_INTEGERo *)pts__DYD);
+        y__XXD=((__INTEGER *)Self__WCH->storage__EDH)[(__INTEGER)((__INTEGER)(Self__SIE * Self__WCH->count2__GDH) + y__XXD)];
+        if ((y__XXD < y_min__2XD)) {
+          y_min__2XD=y__XXD;
+        } else {
+          if ((y__XXD > y_max__3XD)) {
+            y_max__3XD=y__XXD;
+          };
+        };
+        Self__SIE=(__INTEGER)(Self__SIE +  1);
+      };
+      print_string("Call on NULL\n(Use `-D' option)\n"); die_with_code(1);
+      print_string("Call on NULL\n(Use `-D' option)\n"); die_with_code(1);
+      print_string("Call on NULL\n(Use `-D' option)\n"); die_with_code(1);
+      print_string("Call on NULL\n(Use `-D' option)\n"); die_with_code(1);
+      pts__K30=result__KXE;
+      shift__N30=y_min__2XD;
+      rx__H30= 0;
+      ry__I30= 0;
+      Self__J30= 0;
+      while ((Self__J30 <=  4)) {
+        Self__L30=((__FAST_ARRAY2oExpanded_INTEGERo *)pts__K30);
+        rx__H30=((__INTEGER *)Self__L30->storage__EDH)[(__INTEGER)(Self__J30 * Self__L30->count2__GDH)];
+        Self__M30=((__FAST_ARRAY2oExpanded_INTEGERo *)pts__K30);
+        ry__I30=((__INTEGER *)Self__M30->storage__EDH)[(__INTEGER)((__INTEGER)(Self__J30 * Self__M30->count2__GDH) +  1)];
+        if (((__INTEGER)((__INTEGER)(ry__I30 & shift__N30) &  1) !=  0)) {
+          rx__H30=(__INTEGER)(rx__H30 +  1);
+        };
+        ry__I30=(__INTEGER)(ry__I30 - shift__N30);
+        Self__O30=((__FAST_ARRAY2oExpanded_INTEGERo *)pts__K30);
+        ((__INTEGER *)Self__O30->storage__EDH)[(__INTEGER)(Self__J30 * Self__O30->count2__GDH)]=rx__H30;
+        Self__P30=((__FAST_ARRAY2oExpanded_INTEGERo *)pts__K30);
+        ((__INTEGER *)Self__P30->storage__EDH)[(__INTEGER)((__INTEGER)(Self__J30 * Self__P30->count2__GDH) +  1)]=ry__I30;
+        Self__J30=(__INTEGER)(Self__J30 +  1);
+      };
+      shift_to_x0__FKE(result__KXE, 0);
+      print_string("Call on NULL\n(Use `-D' option)\n"); die_with_code(1);
+      print_string("Call on NULL\n(Use `-D' option)\n"); die_with_code(1);
+      print_string("Call on NULL\n(Use `-D' option)\n"); die_with_code(1);
+      print_string("Call on NULL\n(Use `-D' option)\n"); die_with_code(1);
+      pts__CJE=result__KXE;
+      shift__DJE=(__INTEGER)(-  1);
+      rx__EJE= 0;
+      ry__FJE= 0;
+      Self__B0E= 0;
+      while ((Self__B0E <=  4)) {
+        Self__UN0=((__FAST_ARRAY2oExpanded_INTEGERo *)pts__CJE);
+        rx__EJE=((__INTEGER *)Self__UN0->storage__EDH)[(__INTEGER)(Self__B0E * Self__UN0->count2__GDH)];
+        Self__YN0=((__FAST_ARRAY2oExpanded_INTEGERo *)pts__CJE);
+        ry__FJE=((__INTEGER *)Self__YN0->storage__EDH)[(__INTEGER)((__INTEGER)(Self__B0E * Self__YN0->count2__GDH) +  1)];
+        if (((__INTEGER)((__INTEGER)(ry__FJE & shift__DJE) &  1) !=  0)) {
+          rx__EJE=(__INTEGER)(rx__EJE +  1);
+        };
+        ry__FJE=(__INTEGER)(ry__FJE - shift__DJE);
+        Self__PT0=((__FAST_ARRAY2oExpanded_INTEGERo *)pts__CJE);
+        ((__INTEGER *)Self__PT0->storage__EDH)[(__INTEGER)(Self__B0E * Self__PT0->count2__GDH)]=rx__EJE;
+        Self__TT0=((__FAST_ARRAY2oExpanded_INTEGERo *)pts__CJE);
+        ((__INTEGER *)Self__TT0->storage__EDH)[(__INTEGER)((__INTEGER)(Self__B0E * Self__TT0->count2__GDH) +  1)]=ry__FJE;
+        Self__B0E=(__INTEGER)(Self__B0E +  1);
+      };
+      shift_to_x0__FKE(result__KXE, 1);
+      print_string("Call on NULL\n(Use `-D' option)\n"); die_with_code(1);
+      print_string("Call on NULL\n(Use `-D' option)\n"); die_with_code(1);
+      print_string("Call on NULL\n(Use `-D' option)\n"); die_with_code(1);
+      print_string("Call on NULL\n(Use `-D' option)\n"); die_with_code(1);
+      print_string("Call on NULL\n(Use `-D' option)\n"); die_with_code(1);
+      print_string("Call on NULL\n(Use `-D' option)\n"); die_with_code(1);
+      if (((i_piece__XC ==  5) && ((__INTEGER)((__INTEGER)(Self__KNC /  3) &  1) !=  0))) {
+        print_string("Call on NULL\n(Use `-D' option)\n"); die_with_code(1);
+        print_string("Call on NULL\n(Use `-D' option)\n"); die_with_code(1);
+        print_string("Call on NULL\n(Use `-D' option)\n"); die_with_code(1);
+        print_string("Call on NULL\n(Use `-D' option)\n"); die_with_code(1);
+        print_string("Call on NULL\n(Use `-D' option)\n"); die_with_code(1);
+        print_string("Call on NULL\n(Use `-D' option)\n"); die_with_code(1);
+      };
+      Self__KNC=(__INTEGER)(Self__KNC +  1);
+    };
+    Self__IJ=(__INTEGER)(Self__IJ +  1);
+  };
+  Self__YJ= 0;
+  while ((Self__YJ <=  9)) {
+    Self__0NC= 0;
+    while ((Self__0NC <=  11)) {
+      mask__PF= 1;
+      Self__R4D= 0;
+      while ((Self__R4D <=  9)) {
+        print_string("Call on NULL\n(Use `-D' option)\n"); die_with_code(1);
+        print_string("Call on NULL\n(Use `-D' option)\n"); die_with_code(1);
+        Self__2OF= 0;
+        while ((Self__2OF <=  4)) {
+          print_string("Call on NULL\n(Use `-D' option)\n"); die_with_code(1);
+          mask__PF=(__UINTEGER_64)(mask__PF <<  1);
+          Self__2OF=(__INTEGER)(Self__2OF +  1);
+        };
+        Self__R4D=(__INTEGER)(Self__R4D +  1);
+      };
+      Self__0NC=(__INTEGER)(Self__0NC +  1);
+    };
+    Self__YJ=(__INTEGER)(Self__YJ +  1);
+  };
+  return( 0);
+}
+
+static __POINTER new_lab__TIB(__UINTEGER_32 t__VIB)
+// ({UINTEGER_32}) With resultNo recursive, No inlinable.
+{
+  __UINTEGER_32 idx__XIB,pv__4IB;
+  __MEMORY *blc__0IB,*prev__1IB,*Self__2XZ,*Self__E30,*prev__F30;
+  __MEMORY *next__G30;
+  __POINTER result__2IB;
+  __BOOLEAN __tmp__4JB;
+  idx__XIB= 0;
+  blc__0IB=NULL;
+  prev__1IB=NULL;
+  pv__4IB= 0;
+  while_do__WNB:
+  {
+    if ((idx__XIB < nb_page__FJB)) {
+      blc__0IB=((__MEMORY *)(last_block[(idx__XIB)]));
+      __tmp__4JB=(((__UINTEGER_32)(((__MEMORY *)blc__0IB)->size_and_id__3M &  4294967292LU) <  4096) || ((__UINTEGER_32)(((__MEMORY *)blc__0IB)->size_and_id__3M &  1) ==  1));
+    } else {
+      __tmp__4JB=FALSE__;
+    };
+    if (__tmp__4JB) {
+      idx__XIB=(__UINTEGER_32)(idx__XIB +  1);
+      goto while_do__WNB;
+    };
+  };
+  if ((idx__XIB >= nb_page__FJB)) {
+    blc__0IB=new_page__CJC();
+  };
+  ((__MEMORY *)blc__0IB)->size_and_id__3M=(__UINTEGER_32)(blc__0IB->size_and_id__3M -  4096);
+  Self__2XZ=((__MEMORY *)blc__0IB);
+  result__2IB=((__POINTER )((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__2XZ) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__2XZ->size_and_id__3M &  4294967292LU))))));
+  if (((__UINTEGER_32)(((__MEMORY *)blc__0IB)->size_and_id__3M &  4294967292LU) < ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+    Self__E30=((__MEMORY *)blc__0IB);
+    prev__F30=Self__E30->previous_free__5M;
+    next__G30=Self__E30->next_free__4M;
+    if (((void *)prev__F30 == (void *)NULL)) {
+      first_free__52F=next__G30;
+    } else {
+      ((__MEMORY *)prev__F30)->next_free__4M=next__G30;
+    };
+    if (((void *)next__G30 != (void *)NULL)) {
+      ((__MEMORY *)next__G30)->previous_free__5M=prev__F30;
+    };
+    pv__4IB=blc__0IB->previous_linear__2M;
+    if ((pv__4IB !=  4294967295LU)) {
+      prev__1IB=((__MEMORY *)(void *)((unsigned long)begin_memory__T1 - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )pv__4IB))));
+      ((__MEMORY *)prev__1IB)->size_and_id__3M=(__UINTEGER_32)((__UINTEGER_32)(prev__1IB->size_and_id__3M + blc__0IB->size_and_id__3M) +  8);
+      last_block[(idx__XIB)] = (prev__1IB);
+    };
+  };
+  ((__POINTER *)result__2IB)[ 0]=((__POINTER )t__VIB);
+  return((void *)((unsigned long)result__2IB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *)))))));
+}
+
+static __MEMORY* new_page__CJC()
+// () With resultNo recursive, No inlinable.
+{
+  __POINTER mem__ZOD;
+  __UINTEGER_32 cap__WOD,old_size__FJC;
+  __INTEGER Self__2DE,limit_up__3DE;
+  __MEMORY *block__LJC;
+  if ((capacity_max__MJC ==  0)) {
+    mem__ZOD=((__POINTER )(NULL));
+    cap__WOD= 33554432;
+    do {
+      cap__WOD=(__UINTEGER_32)(cap__WOD <<  1);
+      mem__ZOD=((__POINTER )(malloc((cap__WOD))));
+      if ((mem__ZOD != (void *)NULL)) {
+        free((mem__ZOD));
+      };
+    } while ((! ((mem__ZOD == (void *)NULL) || (cap__WOD ==  2147483648LU))));
+    if ((mem__ZOD == (void *)NULL)) {
+      cap__WOD=(__UINTEGER_32)(cap__WOD >>  1);
+    };
+    capacity_max__MJC=cap__WOD;
+    begin_memory__T1=((__POINTER )(malloc((cap__WOD))));
+  };
+  old_size__FJC=(__UINTEGER_32)(nb_page__FJB <<  26);
+  nb_page__FJB=(__UINTEGER_32)(nb_page__FJB +  1);
+  if (((__UINTEGER_32)(old_size__FJC +  67108864) > capacity_max__MJC)) {
+    Self__2DE= 1;
+    limit_up__3DE=((__STRING_CONSTANT *)(&__string_1))->count__XDE;
+    while ((Self__2DE <= limit_up__3DE)) {
+      fputc((int)(((__CHARACTER *)((__STRING_CONSTANT *)(&__string_1))->storage__MUF)[(__INTEGER)(Self__2DE -  1)]),stdout);
+      Self__2DE=(__INTEGER)(Self__2DE +  1);
+    };
+    exit(( 1));
+  };
+  block__LJC=((__MEMORY *)(void *)((unsigned long)begin_memory__T1 - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )old_size__FJC))));
+  block__LJC->previous_linear__2M= 4294967295LU;
+  block__LJC->size_and_id__3M= 67108858;
+  block__LJC->next_free__4M=first_free__52F;
+  block__LJC->previous_free__5M=NULL;
+  if (((void *)first_free__52F != (void *)NULL)) {
+    ((__MEMORY *)first_free__52F)->previous_free__5M=block__LJC;
+  };
+  first_free__52F=block__LJC;
+  last_block[((__UINTEGER_32)(nb_page__FJB -  1))] = (block__LJC);
+  return(block__LJC);
+}
+
+static void to_busy__index__5NH(__MEMORY *Self__AOH,__UINTEGER_32 sz__BOH,__UINTEGER_32 idx__COH)
+// ({MEMORY},{UINTEGER_32},{UINTEGER_32}) VoidNo recursive, No inlinable.
+{
+  __MEMORY *new__JOH,*prev__HYI,*next__IYI,*Self__Q0G,*Self__LTZ;
+  __UINTEGER_32 siz__DOH,new_size__GOH;
+  new__JOH=NULL;
+  prev__HYI=Self__AOH->previous_free__5M;
+  next__IYI=Self__AOH->next_free__4M;
+  if (((void *)prev__HYI == (void *)NULL)) {
+    first_free__52F=next__IYI;
+  } else {
+    ((__MEMORY *)prev__HYI)->next_free__4M=next__IYI;
+  };
+  if (((void *)next__IYI != (void *)NULL)) {
+    ((__MEMORY *)next__IYI)->previous_free__5M=prev__HYI;
+  };
+  siz__DOH=Self__AOH->size_and_id__3M;
+  new_size__GOH=(__UINTEGER_32)(siz__DOH - sz__BOH);
+  if ((new_size__GOH > (__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )(MINIMUM_SIZE)) +  2) +  8))) {
+    siz__DOH=sz__BOH;
+    new__JOH=((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__AOH) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )sz__BOH))));
+    ((__MEMORY *)new__JOH)->previous_linear__2M=((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )Self__AOH) - (unsigned long)begin_memory__T1))));
+    ((__MEMORY *)new__JOH)->size_and_id__3M=(__UINTEGER_32)(new_size__GOH -  8);
+    Self__Q0G=((__MEMORY *)new__JOH);
+    Self__Q0G->next_free__4M=first_free__52F;
+    Self__Q0G->previous_free__5M=NULL;
+    if (((void *)first_free__52F != (void *)NULL)) {
+      ((__MEMORY *)first_free__52F)->previous_free__5M=Self__Q0G;
+    };
+    first_free__52F=Self__Q0G;
+    if (((__UINTEGER_32)(((__MEMORY *)new__JOH)->size_and_id__3M &  2) !=  0)) {
+      last_block[(idx__COH)] = (new__JOH);
+    } else {
+      Self__LTZ=((__MEMORY *)new__JOH);
+      ((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__LTZ) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__LTZ->size_and_id__3M &  4294967292LU)))))->previous_linear__2M=((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )((__MEMORY *)new__JOH)) - (unsigned long)begin_memory__T1))));
+    };
+  };
+  Self__AOH->size_and_id__3M=(__UINTEGER_32)(siz__DOH |  1);
+}
+
+static __POINTER realloc_dynamic__old_size__new_size__PFI(__POINTER p__RFI,__UINTEGER_32 old_sz__SFI,__UINTEGER_32 new_sz__TFI)
+// ({POINTER},{UINTEGER_32},{UINTEGER_32}) With resultNo recursive, No inlinable.
+{
+  __MEMORY *mem__4FI,*result__W30,*Self__WEL,*nxt__0EL,*result__1EL;
+  __MEMORY *result__Z30,*next__C0N,*new_free__B0N,*prev__C30,*next__D30;
+  __POINTER result__5FI,result__R20,ptr_table__S30,next__R30;
+  __POINTER result__T30,p__MDL,last__YBM,src__GCL,dst__HCL;
+  __UINTEGER_32 a__1W0,old_size__VFI,old_size2__YFI,a__5W0;
+  __UINTEGER_32 new_size__1FI,a__S20,new_size__U20,new_size2__V20;
+  __UINTEGER_32 a__W20,new_size__X20,a__DX0,__tmp__QHI,sz__5EL;
+  __UINTEGER_32 old_size__2EL,prev__D0N,new_size__G0N;
+  __INTEGER siz__020,Self__520,siz__LCL,Self__L5L;
+  __POINTER *na_src__220,*na_dst__420,*na_src__JCL,*na_dst__KCL;
+  mem__4FI=NULL;
+  result__5FI=((__POINTER )(NULL));
+  a__1W0=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+  old_size__VFI=(__UINTEGER_32)((__UINTEGER_32)(old_sz__SFI + a__1W0) & (__UINTEGER_32)(~ a__1W0));
+  old_size2__YFI=(__UINTEGER_32)(old_size__VFI + ((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))));
+  a__5W0=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+  new_size__1FI=(__UINTEGER_32)((__UINTEGER_32)(new_sz__TFI + a__5W0) & (__UINTEGER_32)(~ a__5W0));
+  if ((old_size2__YFI <= ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+    result__R20=((__POINTER )(NULL));
+    a__S20=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+    new_size__U20=(__UINTEGER_32)((__UINTEGER_32)(new_size__1FI + a__S20) & (__UINTEGER_32)(~ a__S20));
+    new_size2__V20=(__UINTEGER_32)(new_size__U20 + ((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))));
+    if ((new_size2__V20 <= ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+      a__W20=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__X20=(__UINTEGER_32)((__UINTEGER_32)(new_size2__V20 + a__W20) & (__UINTEGER_32)(~ a__W20));
+      ptr_table__S30=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__X20 / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+      next__R30=((__POINTER )(NULL));
+      result__T30=((__POINTER *)ptr_table__S30)[ 0];
+      if ((result__T30 == (void *)NULL)) {
+        result__T30=new_lab__TIB(new_size__X20);
+        next__R30=(void *)((unsigned long)result__T30 - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__X20)));
+        ((__POINTER *)next__R30)[ 0]=NULL;
+        ((__POINTER *)ptr_table__S30)[ 0]=next__R30;
+      } else {
+        next__R30=((__POINTER *)result__T30)[ 0];
+        if ((next__R30 == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__T30 - (unsigned long)begin_memory__T1)))) &  4095) + (__UINTEGER_32)(new_size__X20 <<  1)) <=  4096)) {
+            next__R30=(void *)((unsigned long)result__T30 - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__X20)));
+          } else {
+            next__R30=new_lab__TIB(new_size__X20);
+          };
+          ((__POINTER *)next__R30)[ 0]=NULL;
+          ((__POINTER *)ptr_table__S30)[ 0]=next__R30;
+        } else {
+          ((__POINTER *)result__T30)[ 0]=(void *)((unsigned long)((__POINTER *)next__R30)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__T30=next__R30;
+        };
+      };
+      ((__POINTER *)result__T30)[ 0]=((__POINTER ) 3);
+      result__R20=(void *)((unsigned long)result__T30 - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+    } else {
+      result__W30=first_free__52F;
+      while ((((void *)result__W30 != (void *)NULL) && ((__UINTEGER_32)(((__MEMORY *)result__W30)->size_and_id__3M &  4294967292LU) < new_size__U20))) {
+        result__W30=result__W30->next_free__4M;
+      };
+      if (((void *)result__W30 == (void *)NULL)) {
+        result__W30=new_page__CJC();
+      };
+      to_busy__index__5NH(result__W30,new_size__U20,(__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )((__MEMORY *)result__W30)) - (unsigned long)begin_memory__T1)))) >>  26));
+      result__R20=(void *)((unsigned long)((__POINTER )((__MEMORY *)result__W30)) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+    };
+    result__5FI=result__R20;
+    siz__020=((__INTEGER )old_size__VFI);
+    siz__020=(__INTEGER)(siz__020 / ((__INTEGER )(sizeof(void *))));
+    na_src__220=((__POINTER *)p__RFI);
+    na_dst__420=((__POINTER *)result__R20);
+    Self__520=(__INTEGER)(siz__020 -  1);
+    while ((Self__520 >=  0)) {
+      na_dst__420[Self__520]=na_src__220[Self__520];
+      Self__520=(__INTEGER)(Self__520 -  1);
+    };
+    p__MDL=(void *)((unsigned long)p__RFI - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *)))));
+    a__DX0=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+    last__YBM=((__POINTER *)((__POINTER )(&(table_size[((__UINTEGER_32)((__UINTEGER_32)((__UINTEGER_32)(old_size2__YFI + a__DX0) & (__UINTEGER_32)(~ a__DX0)) / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1]))))[ 0];
+    ((__POINTER *)p__MDL)[ 0]=(void *)((unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)(void *)((unsigned long)(void *)((unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER *)last__YBM)[ 0]) - (unsigned long)((__POINTER ) 1)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 3)) - (unsigned long)((__POINTER ) 1)))) - (unsigned long)((__POINTER ) 1));
+    ((__POINTER *)last__YBM)[ 0]=p__MDL;
+  } else {
+    mem__4FI=((__MEMORY *)(void *)((unsigned long)p__RFI - (unsigned long)((__POINTER ) 8)));
+    __tmp__QHI=(__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)p__RFI - (unsigned long)begin_memory__T1)))) >>  26);
+    Self__WEL=((__MEMORY *)mem__4FI);
+    nxt__0EL=NULL;
+    result__1EL=NULL;
+    sz__5EL= 0;
+    old_size__2EL=(__UINTEGER_32)(Self__WEL->size_and_id__3M &  4294967292LU);
+    if ((new_size__1FI > old_size__2EL)) {
+      if ((! ((__UINTEGER_32)(Self__WEL->size_and_id__3M &  2) !=  0))) {
+        nxt__0EL=((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__WEL) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__WEL->size_and_id__3M &  4294967292LU)))));
+        sz__5EL=(__UINTEGER_32)((__UINTEGER_32)(new_size__1FI - old_size__2EL) -  8);
+        if ((((__UINTEGER_32)(((__MEMORY *)nxt__0EL)->size_and_id__3M &  1) ==  0) && ((__UINTEGER_32)(((__MEMORY *)nxt__0EL)->size_and_id__3M &  4294967292LU) >= sz__5EL))) {
+          to_busy__index__5NH(nxt__0EL,sz__5EL,__tmp__QHI);
+          Self__WEL->size_and_id__3M=(__UINTEGER_32)((__UINTEGER_32)(Self__WEL->size_and_id__3M + (__UINTEGER_32)(nxt__0EL->size_and_id__3M &  4294967294LU)) +  8);
+          if (((__UINTEGER_32)(Self__WEL->size_and_id__3M &  2) !=  0)) {
+            last_block[(__tmp__QHI)] = (Self__WEL);
+          } else {
+            nxt__0EL=((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__WEL) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__WEL->size_and_id__3M &  4294967292LU)))));
+            ((__MEMORY *)nxt__0EL)->previous_linear__2M=((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )Self__WEL) - (unsigned long)begin_memory__T1))));
+          };
+          result__1EL=Self__WEL;
+        };
+      };
+      if (((void *)result__1EL == (void *)NULL)) {
+        result__Z30=first_free__52F;
+        while ((((void *)result__Z30 != (void *)NULL) && ((__UINTEGER_32)(((__MEMORY *)result__Z30)->size_and_id__3M &  4294967292LU) < new_size__1FI))) {
+          result__Z30=result__Z30->next_free__4M;
+        };
+        if (((void *)result__Z30 == (void *)NULL)) {
+          result__Z30=new_page__CJC();
+        };
+        to_busy__index__5NH(result__Z30,new_size__1FI,(__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )((__MEMORY *)result__Z30)) - (unsigned long)begin_memory__T1)))) >>  26));
+        result__1EL=result__Z30;
+        src__GCL=(void *)((unsigned long)((__POINTER )Self__WEL) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+        dst__HCL=(void *)((unsigned long)((__POINTER )((__MEMORY *)result__Z30)) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+        siz__LCL=((__INTEGER )old_size__2EL);
+        siz__LCL=(__INTEGER)(siz__LCL / ((__INTEGER )(sizeof(void *))));
+        na_src__JCL=((__POINTER *)src__GCL);
+        na_dst__KCL=((__POINTER *)dst__HCL);
+        Self__L5L=(__INTEGER)(siz__LCL -  1);
+        while ((Self__L5L >=  0)) {
+          na_dst__KCL[Self__L5L]=na_src__JCL[Self__L5L];
+          Self__L5L=(__INTEGER)(Self__L5L -  1);
+        };
+        prev__D0N=Self__WEL->previous_linear__2M;
+        next__C0N=((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__WEL) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__WEL->size_and_id__3M &  4294967292LU)))));
+        new_free__B0N=((__MEMORY *)(void *)((unsigned long)begin_memory__T1 - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )prev__D0N))));
+        new_size__G0N=(__UINTEGER_32)(Self__WEL->size_and_id__3M &  4294967294LU);
+        if (((prev__D0N ==  4294967295LU) || ((__UINTEGER_32)(new_free__B0N->size_and_id__3M &  1) !=  0))) {
+          new_free__B0N=Self__WEL;
+          Self__WEL->next_free__4M=first_free__52F;
+          Self__WEL->previous_free__5M=NULL;
+          if (((void *)first_free__52F != (void *)NULL)) {
+            ((__MEMORY *)first_free__52F)->previous_free__5M=Self__WEL;
+          };
+          first_free__52F=Self__WEL;
+        } else {
+          new_size__G0N=(__UINTEGER_32)((__UINTEGER_32)(new_size__G0N + new_free__B0N->size_and_id__3M) +  8);
+        };
+        if (((! ((__UINTEGER_32)(Self__WEL->size_and_id__3M &  2) !=  0)) && ((__UINTEGER_32)(next__C0N->size_and_id__3M &  1) ==  0))) {
+          new_size__G0N=(__UINTEGER_32)((__UINTEGER_32)(new_size__G0N + next__C0N->size_and_id__3M) +  8);
+          prev__C30=next__C0N->previous_free__5M;
+          next__D30=next__C0N->next_free__4M;
+          if (((void *)prev__C30 == (void *)NULL)) {
+            first_free__52F=next__D30;
+          } else {
+            ((__MEMORY *)prev__C30)->next_free__4M=next__D30;
+          };
+          if (((void *)next__D30 != (void *)NULL)) {
+            ((__MEMORY *)next__D30)->previous_free__5M=prev__C30;
+          };
+        };
+        new_free__B0N->size_and_id__3M=new_size__G0N;
+        if (((__UINTEGER_32)(new_free__B0N->size_and_id__3M &  2) !=  0)) {
+          last_block[(__tmp__QHI)] = (new_free__B0N);
+        } else {
+          next__C0N=((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__WEL) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__WEL->size_and_id__3M &  4294967292LU)))));
+          next__C0N->previous_linear__2M=((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )new_free__B0N) - (unsigned long)begin_memory__T1))));
+        };
+      };
+    } else {
+      result__1EL=Self__WEL;
+    };
+    result__5FI=(void *)((unsigned long)((__POINTER )((__MEMORY *)result__1EL)) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+  };
+  return(result__5FI);
+}
+
+static void add_last__10G(__FAST_ARRAYoExpanded_UINTEGER_32o *Self__20G,__UINTEGER_32 element__30G)
+// ({FAST_ARRAYoExpanded_UINTEGER_32o},{UINTEGER_32}) VoidNo recursive, No inlinable.
+{
+  __INTEGER new_capacity__40G,Self__1Z0,__tmp__E2G,__tmp__ADP,Self__TFU;
+  __POINTER result__QIF,ptr_table__330,next__230,result__430;
+  __UINTEGER_32 a__WX,new_size__KIF,new_size2__NIF,a__UX0,new_size__VX0;
+  __MEMORY *result__B40;
+  __BOOLEAN __tmp__O1G;
+  __UINTEGER_32 *Result__0Z0,*__tmp__D2G,*new__NCP;
+  new_capacity__40G= 0;
+  if (((__INTEGER)(Self__20G->parent_arrayed_collection__3C.upper__50G +  1) <= (__INTEGER)(Self__20G->parent_arrayed_collection__3C.capacity__B1G -  1))) {
+    Self__20G->parent_arrayed_collection__3C.upper__50G=(__INTEGER)(Self__20G->parent_arrayed_collection__3C.upper__50G +  1);
+    __tmp__O1G=TRUE__;
+  } else {
+    __tmp__O1G=FALSE__;
+  };
+  if ((! __tmp__O1G)) {
+    if ((Self__20G->parent_arrayed_collection__3C.capacity__B1G ==  0)) {
+      result__QIF=((__POINTER )(NULL));
+      a__WX=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__KIF=(__UINTEGER_32)((__UINTEGER_32)( 8 + a__WX) & (__UINTEGER_32)(~ a__WX));
+      new_size2__NIF=(__UINTEGER_32)(new_size__KIF + ((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))));
+      if ((new_size2__NIF <= ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+        a__UX0=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+        new_size__VX0=(__UINTEGER_32)((__UINTEGER_32)(new_size2__NIF + a__UX0) & (__UINTEGER_32)(~ a__UX0));
+        ptr_table__330=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__VX0 / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+        next__230=((__POINTER )(NULL));
+        result__430=((__POINTER *)ptr_table__330)[ 0];
+        if ((result__430 == (void *)NULL)) {
+          result__430=new_lab__TIB(new_size__VX0);
+          next__230=(void *)((unsigned long)result__430 - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__VX0)));
+          ((__POINTER *)next__230)[ 0]=NULL;
+          ((__POINTER *)ptr_table__330)[ 0]=next__230;
+        } else {
+          next__230=((__POINTER *)result__430)[ 0];
+          if ((next__230 == (void *)NULL)) {
+            if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__430 - (unsigned long)begin_memory__T1)))) &  4095) + (__UINTEGER_32)(new_size__VX0 <<  1)) <=  4096)) {
+              next__230=(void *)((unsigned long)result__430 - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__VX0)));
+            } else {
+              next__230=new_lab__TIB(new_size__VX0);
+            };
+            ((__POINTER *)next__230)[ 0]=NULL;
+            ((__POINTER *)ptr_table__330)[ 0]=next__230;
+          } else {
+            ((__POINTER *)result__430)[ 0]=(void *)((unsigned long)((__POINTER *)next__230)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+            result__430=next__230;
+          };
+        };
+        ((__POINTER *)result__430)[ 0]=((__POINTER ) 3);
+        result__QIF=(void *)((unsigned long)result__430 - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+      } else {
+        result__B40=first_free__52F;
+        while ((((void *)result__B40 != (void *)NULL) && ((__UINTEGER_32)(((__MEMORY *)result__B40)->size_and_id__3M &  4294967292LU) < new_size__KIF))) {
+          result__B40=result__B40->next_free__4M;
+        };
+        if (((void *)result__B40 == (void *)NULL)) {
+          result__B40=new_page__CJC();
+        };
+        to_busy__index__5NH(result__B40,new_size__KIF,(__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )((__MEMORY *)result__B40)) - (unsigned long)begin_memory__T1)))) >>  26));
+        result__QIF=(void *)((unsigned long)((__POINTER )((__MEMORY *)result__B40)) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+      };
+      Result__0Z0=((__UINTEGER_32 *)result__QIF);
+      Self__1Z0= 1;
+      while ((Self__1Z0 >=  0)) {
+        Result__0Z0[Self__1Z0]= 0;
+        Self__1Z0=(__INTEGER)(Self__1Z0 -  1);
+      };
+      Self__20G->parent_arrayed_collection__3C.storage__OZG=Result__0Z0;
+      Self__20G->parent_arrayed_collection__3C.capacity__B1G= 2;
+      Self__20G->parent_arrayed_collection__3C.upper__50G= 0;
+    } else {
+      new_capacity__40G=(__INTEGER)(Self__20G->parent_arrayed_collection__3C.capacity__B1G <<  1);
+      __tmp__D2G=Self__20G->parent_arrayed_collection__3C.storage__OZG;
+      __tmp__E2G=Self__20G->parent_arrayed_collection__3C.capacity__B1G;
+      new__NCP=((__UINTEGER_32 *)realloc_dynamic__old_size__new_size__PFI(((__POINTER )((__UINTEGER_32 *)__tmp__D2G)),((__UINTEGER_32 )(__INTEGER)(__tmp__E2G <<  2)),((__UINTEGER_32 )(__INTEGER)(new_capacity__40G <<  2))));
+      __tmp__ADP=(__INTEGER)(new_capacity__40G -  1);
+      Self__TFU=__tmp__E2G;
+      while ((Self__TFU <= __tmp__ADP)) {
+        new__NCP[Self__TFU]= 0;
+        Self__TFU=(__INTEGER)(Self__TFU +  1);
+      };
+      Self__20G->parent_arrayed_collection__3C.storage__OZG=new__NCP;
+      Self__20G->parent_arrayed_collection__3C.capacity__B1G=new_capacity__40G;
+      Self__20G->parent_arrayed_collection__3C.upper__50G=(__INTEGER)(Self__20G->parent_arrayed_collection__3C.upper__50G +  1);
+    };
+  };
+  ((__UINTEGER_32 *)Self__20G->parent_arrayed_collection__3C.storage__OZG)[Self__20G->parent_arrayed_collection__3C.upper__50G]=element__30G;
+}
+
+static __INTEGER shift_to_x0__FKE(void *pts__HKE,__INTEGER offset_row__JKE)
+// ({NULLxFAST_ARRAY2oExpanded_INTEGERo},{INTEGER}) With resultNo recursive, No inlinable.
+{
+  __INTEGER x__LKE,rx__OKE,ry__PKE,x_min__QKE,x_max__RKE,Self__R0E;
+  __INTEGER offset__NKE,Self__B1E,y__S1E,x__T1E,Self__4EF;
+  __UINTEGER_32 result__U1E;
+  __FAST_ARRAY2oExpanded_INTEGERo *Self__AO0,*Self__IO0,*Self__MO0;
+  __FAST_ARRAY2oExpanded_INTEGERo *Self__GU0,*Self__QO0,*Self__UO0;
+  x__LKE= 0;
+  rx__OKE= 0;
+  ry__PKE= 0;
+  x_min__QKE=((__INTEGER *)((__FAST_ARRAY2oExpanded_INTEGERo *)pts__HKE)->storage__EDH)[ 0];
+  x_max__RKE=x_min__QKE;
+  Self__R0E= 1;
+  while ((Self__R0E <=  4)) {
+    Self__AO0=((__FAST_ARRAY2oExpanded_INTEGERo *)pts__HKE);
+    x__LKE=((__INTEGER *)Self__AO0->storage__EDH)[(__INTEGER)(Self__R0E * Self__AO0->count2__GDH)];
+    if ((x__LKE < x_min__QKE)) {
+      x_min__QKE=x__LKE;
+    } else {
+      if ((x__LKE > x_max__RKE)) {
+        x_max__RKE=x__LKE;
+      };
+    };
+    Self__R0E=(__INTEGER)(Self__R0E +  1);
+  };
+  offset__NKE= 5;
+  Self__B1E= 1;
+  while ((Self__B1E <=  4)) {
+    Self__IO0=((__FAST_ARRAY2oExpanded_INTEGERo *)pts__HKE);
+    rx__OKE=((__INTEGER *)Self__IO0->storage__EDH)[(__INTEGER)(Self__B1E * Self__IO0->count2__GDH)];
+    Self__MO0=((__FAST_ARRAY2oExpanded_INTEGERo *)pts__HKE);
+    ry__PKE=((__INTEGER *)Self__MO0->storage__EDH)[(__INTEGER)((__INTEGER)(Self__B1E * Self__MO0->count2__GDH) +  1)];
+    rx__OKE=(__INTEGER)(rx__OKE - x_min__QKE);
+    Self__GU0=((__FAST_ARRAY2oExpanded_INTEGERo *)pts__HKE);
+    ((__INTEGER *)Self__GU0->storage__EDH)[(__INTEGER)(Self__B1E * Self__GU0->count2__GDH)]=rx__OKE;
+    if (((ry__PKE == offset_row__JKE) && (rx__OKE < offset__NKE))) {
+      offset__NKE=rx__OKE;
+    };
+    Self__B1E=(__INTEGER)(Self__B1E +  1);
+  };
+  print_string("Call on NULL\n(Use `-D' option)\n"); die_with_code(1);
+  y__S1E= 0;
+  x__T1E= 0;
+  result__U1E= 0;
+  Self__4EF= 0;
+  while ((Self__4EF <=  4)) {
+    Self__QO0=((__FAST_ARRAY2oExpanded_INTEGERo *)pts__HKE);
+    x__T1E=((__INTEGER *)Self__QO0->storage__EDH)[(__INTEGER)((__INTEGER)(Self__4EF * Self__QO0->count2__GDH) + x__T1E)];
+    Self__UO0=((__FAST_ARRAY2oExpanded_INTEGERo *)pts__HKE);
+    y__S1E=((__INTEGER *)Self__UO0->storage__EDH)[(__INTEGER)((__INTEGER)(Self__4EF * Self__UO0->count2__GDH) + y__S1E)];
+    result__U1E=(__UINTEGER_32)(result__U1E | ((__UINTEGER_32 )(__INTEGER)( 1 << ((__INTEGER )(__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )y__S1E) *  5) + ((__UINTEGER_32 )x__T1E))))));
+    Self__4EF=(__INTEGER)(Self__4EF +  1);
+  };
+  print_string("Call on NULL\n(Use `-D' option)\n"); die_with_code(1);
+  return((__INTEGER)(x_max__RKE - x_min__QKE));
+}
+
+//==========================//
+// DEBUG MANAGER            //
+//==========================//
+
+void print_string(char *str) 
+{ 
+  while (*str!=0) {
+    print_char(*str); 
+    str++; 
+  };
+}  
+
diff --git a/example/shootout/nbody/nbody.c b/example/shootout/nbody/nbody.c
new file mode 100755
index 0000000..a87962b
--- /dev/null
+++ b/example/shootout/nbody/nbody.c
@@ -0,0 +1,4442 @@
+// C code generated by Lisaac compiler (www.isaacOS.com) //
+int arg_count;
+char **arg_vector;
+
+//==========================//
+// EXTERNAL                 //
+//==========================//
+
+// FLOAT_REAL
+#include <math.h>
+// MEMORY
+
+#define MINIMUM_SIZE 256  
+void *table_size[MINIMUM_SIZE/sizeof(void *)];
+void *last_block[64];
+
+// SYSTEM
+#include <time.h>
+// SYSTEM_IO
+
+#include <stdio.h>
+#include <stdlib.h>
+  
+// Hardware 'print_char'
+void print_char(char car)
+{
+  fputc(car,stdout);
+}
+
+// Hardware 'exit'
+int die_with_code(int code)
+{
+  exit(code);
+}
+
+
+
+//==========================//
+// TYPE                     //
+//==========================//
+
+// Generic Object
+struct ___OBJ {
+  unsigned long __id;
+};
+
+// NULL
+#ifndef NULL
+#define NULL ((void *)0)
+#endif
+
+// INTEGER
+typedef int __INTEGER;
+
+// CHARACTER
+typedef char __CHARACTER;
+
+// STRING
+#define __STRING__ 0
+typedef struct STRING_struct __STRING;
+struct STRING_struct {
+  __INTEGER count__DW;
+  __INTEGER capacity__FW;
+  __CHARACTER *storage__2QC;
+};
+__STRING STRING_;
+#define STRING__ (&STRING_)
+
+// POINTER
+typedef void * __POINTER;
+
+// UINTEGER_32
+typedef unsigned long __UINTEGER_32;
+
+// REAL_64
+typedef double __REAL_64;
+
+// ARRAYED_COLLECTION[STRING]
+#define __ARRAYED_COLLECTIONoSTRINGo__ 1
+typedef struct ARRAYED_COLLECTIONoSTRINGo_struct __ARRAYED_COLLECTIONoSTRINGo;
+struct ARRAYED_COLLECTIONoSTRINGo_struct {
+  __INTEGER capacity__ISC;
+  __INTEGER upper__USC;
+  void **storage__FNC;
+};
+__ARRAYED_COLLECTIONoSTRINGo ARRAYED_COLLECTIONoSTRINGo_;
+#define ARRAYED_COLLECTIONoSTRINGo__ (&ARRAYED_COLLECTIONoSTRINGo_)
+
+// FAST_ARRAY[STRING]
+#define __FAST_ARRAYoSTRINGo__ 2
+typedef struct FAST_ARRAYoSTRINGo_struct __FAST_ARRAYoSTRINGo;
+struct FAST_ARRAYoSTRINGo_struct {
+  __ARRAYED_COLLECTIONoSTRINGo parent_arrayed_collection__QC;
+};
+__FAST_ARRAYoSTRINGo FAST_ARRAYoSTRINGo_;
+#define FAST_ARRAYoSTRINGo__ (&FAST_ARRAYoSTRINGo_)
+
+// NUMERIC
+#define __NUMERIC__ 3
+typedef struct NUMERIC_struct __NUMERIC;
+struct NUMERIC_struct {
+  void *Nothing;
+};
+__NUMERIC NUMERIC_;
+#define NUMERIC__ (&NUMERIC_)
+
+// OBJECT
+#define __OBJECT__ 4
+typedef struct OBJECT_struct __OBJECT;
+struct OBJECT_struct {
+  void *Nothing;
+};
+__OBJECT OBJECT_;
+#define OBJECT__ (&OBJECT_)
+
+// STRING_CONSTANT
+#define __STRING_CONSTANT__ 5
+typedef struct STRING_CONSTANT_struct __STRING_CONSTANT;
+struct STRING_CONSTANT_struct {
+  __INTEGER count__XHB;
+  __CHARACTER *storage__YLE;
+};
+__STRING_CONSTANT STRING_CONSTANT_;
+#define STRING_CONSTANT__ (&STRING_CONSTANT_)
+
+// MEMORY
+#define __MEMORY__ 6
+typedef struct MEMORY_struct __MEMORY;
+struct MEMORY_struct {
+  volatile __UINTEGER_32 previous_linear__ID;
+  volatile __UINTEGER_32 size_and_id__JD;
+  __MEMORY *next_free__KD;
+  __MEMORY *previous_free__LD;
+} __attribute__ ((packed));
+__MEMORY MEMORY_;
+#define MEMORY__ (&MEMORY_)
+
+// FALSE
+#define FALSE__ 0
+
+// TRUE
+#define TRUE__ 1
+
+// NBODY
+#define __NBODY__ 7
+typedef struct NBODY_struct __NBODY;
+struct NBODY_struct {
+  void *Nothing;
+};
+__NBODY NBODY_;
+#define NBODY__ (&NBODY_)
+
+// PLANET
+#define __PLANET__ 8
+typedef struct PLANET_struct __PLANET;
+struct PLANET_struct {
+  __REAL_64 mass__1D;
+  __REAL_64 x__5D;
+  __REAL_64 y__BE;
+  __REAL_64 z__DE;
+  __REAL_64 vx__IE;
+  __REAL_64 vy__ME;
+  __REAL_64 vz__QE;
+};
+__PLANET PLANET_;
+#define PLANET__ (&PLANET_)
+
+// INTEGER_8
+typedef signed char __INTEGER_8;
+
+// BOOLEAN
+typedef char __BOOLEAN;
+
+
+void *table_type[9];
+
+//==========================//
+// GLOBAL                   //
+//==========================//
+
+void *parent_numeric__H;
+void *string_tmp__TK;
+__UINTEGER_32 clone_allocation_size__E5;
+__POINTER begin_memory__2RB;
+__UINTEGER_32 nb_page__L2B;
+__MEMORY *first_free__LMD;
+__UINTEGER_32 capacity_max__NTD;
+__INTEGER nbodies__AB;
+__PLANET *bodies__GB;
+__PLANET *b__VXD;
+__PLANET *b2__AYD;
+__REAL_64 dx__GYD;
+__REAL_64 dy__MYD;
+__REAL_64 dz__SYD;
+__REAL_64 distance__AZD;
+__REAL_64 mag__IZD;
+__REAL_64 solar_mass__ZD;
+__REAL_64 days_per_year__FE;
+__REAL_64 pi__GR;
+
+//==========================//
+// STRING CONSTANT          //
+//==========================//
+
+__STRING_CONSTANT __string_1={19,"Not enough memory.\n"};
+__STRING_CONSTANT __string_2={5,"%.9f\n"};
+
+//==========================//
+// FUNCTION HEADER          //
+//==========================//
+
+// Debug Manager
+void print_string(char *str);
+// Source code
+static __STRING* create__Q3(__INTEGER needed_capacity__S3);
+static __POINTER realloc_dynamic__old_size__new_size__CGI(__POINTER p__EGI,__UINTEGER_32 old_sz__FGI,__UINTEGER_32 new_sz__GGI);
+void offset_momentum(__INTEGER n__IG);
+__REAL_64 energy(__INTEGER n__XH);
+static void print_format_c__QK(__REAL_64 Self__RK);
+void advance(__REAL_64 dt__LXD,__INTEGER n__MXD);
+
+//==========================//
+// SOURCE CODE              //
+//==========================//
+
+int main(int argc,char **argv)
+{
+  void *str__ML;
+  __INTEGER new_count__2W,typ_id__W4,__tmp__ZMT,Self__0MT,__tmp__CNT;
+  __INTEGER Self__DNT,__tmp__LNT,Self__MNT,__tmp__UNT,Self__VNT;
+  __INTEGER __tmp__3NT,Self__4NT,__tmp__GOT,Self__HOT,__tmp__POT;
+  __INTEGER Self__QOT,Self__ZZS,Self__HX,limit_up__IX,idx__OFE,i__BHE;
+  __INTEGER new_capacity__0DE,__tmp__YOT,Self__ZOT,__tmp__BPT,Self__CPT;
+  __INTEGER __tmp__KPT,Self__LPT,Self__H0S,__tmp__TEE,__tmp__VSH;
+  __INTEGER Self__SYL,new_capacity__1HE,__tmp__TPT,Self__UPT,__tmp__2PT;
+  __INTEGER Self__3PT,__tmp__FQT,Self__GQT,Self__KOI,__tmp__5IE;
+  __INTEGER __tmp__MUH,Self__R0L,state__MIL,result__PIL,i__LIL;
+  __INTEGER __tmp__JTS,__tmp__LTS,__tmp__OQT,Self__PQT,__tmp__XQT;
+  __INTEGER Self__YQT,__tmp__U5C,Self__RKD,Self__0K,limit_up__1K;
+  __POINTER ptr__R4,ptr_table__MWS,next__LWS,result__NWS,mem__VMT;
+  __POINTER result__EDT,mem__4MT,result__QDT,ptr_table__SWS,next__RWS;
+  __POINTER result__TWS,mem__HNT,result__2DT,mem__QNT,result__IET;
+  __POINTER result__PZS,ptr_table__VZS,next__WZS,result__XZS,mem__ZNT;
+  __POINTER result__UET,mem__COT,result__AFT,mem__LOT,result__3ZS;
+  __POINTER ptr_table__D0S,next__E0S,result__F0S,mem__UOT,result__MFT;
+  __POINTER mem__3OT,result__YFT,mem__GPT,result__BVS,ptr_table__OVS;
+  __POINTER next__NVS,result__PVS,mem__PPT,result__EGT,mem__YPT;
+  __POINTER result__QGT,mem__BQT,result__XUS,ptr_table__CQB,next__HQB;
+  __POINTER result__FQB,mem__KQT,result__2GT,mem__TQT,result__C2B;
+  __POINTER mem__5MF;
+  __UINTEGER_32 sz__T4,a__XQS,new_size__XKB,idx__3CT,pv__ADT,cap__WMT;
+  __UINTEGER_32 idx__JDT,pv__MDT,cap__5MT,old_size__BNT,t__AMB,a__3QS;
+  __UINTEGER_32 new_size__VWS,lab_type__UWS,idx__VDT,pv__YDT,cap__INT;
+  __UINTEGER_32 old_size__KNT,idx__BET,pv__EET,cap__RNT,old_size__TNT;
+  __UINTEGER_32 sz__OZS,a__QZS,new_size__RZS,new_size2__SZS,a__TZS;
+  __UINTEGER_32 new_size__UZS,idx__NET,pv__QET,cap__0NT,old_size__2NT;
+  __UINTEGER_32 idx__ZET,pv__2ET,cap__DOT,old_size__FOT,cap__MOT;
+  __UINTEGER_32 old_size__OOT,idx__V2S,siz__Z2S,new_size__02S,a__4ZS;
+  __UINTEGER_32 new_size__5ZS,new_size2__A0S,a__B0S,new_size__C0S;
+  __UINTEGER_32 idx__FFT,pv__IFT,cap__VOT,old_size__XOT,idx__RFT;
+  __UINTEGER_32 pv__UFT,cap__4OT,old_size__APT,cap__HPT,old_size__JPT;
+  __UINTEGER_32 idx__B3S,siz__F3S,new_size__G3S,sz__DVS,a__CVS;
+  __UINTEGER_32 new_size__EVS,new_size2__FVS,a__GVS,new_size__HVS;
+  __UINTEGER_32 idx__3FT,pv__AGT,cap__QPT,old_size__SPT,idx__JGT;
+  __UINTEGER_32 pv__MGT,cap__ZPT,old_size__1PT,cap__CQT,old_size__EQT;
+  __UINTEGER_32 idx__N3S,siz__R3S,new_size__S3S,sz__ZUS,a__YUS;
+  __UINTEGER_32 new_size__0US,new_size2__1US,a__2US,new_size__3US;
+  __UINTEGER_32 idx__VGT,pv__YGT,cap__LQT,old_size__NQT,idx__31B;
+  __UINTEGER_32 pv__E2B,cap__UQT,old_size__WQT,cap__2MF,old_size__GTD;
+  __UINTEGER_32 idx__YIH,siz__ZIH,new_size__2IH;
+  __MEMORY *blc__4CT,*prev__5CT,*block__3MT,*prev__GDT,*next__HDT;
+  __MEMORY *blc__KDT,*prev__LDT,*block__GNT,*Self__PDT,*Self__RDT;
+  __MEMORY *prev__SDT,*next__TDT,*blc__WDT,*prev__XDT,*block__PNT;
+  __MEMORY *Self__1DT,*Self__3DT,*prev__4DT,*next__5DT,*blc__CET;
+  __MEMORY *prev__DET,*block__YNT,*Self__HET,*Self__JET,*prev__KET;
+  __MEMORY *next__LET,*blc__OET,*prev__PET,*block__BOT,*Self__TET;
+  __MEMORY *Self__VET,*prev__WET,*next__XET,*blc__0ET,*prev__1ET;
+  __MEMORY *block__KOT,*Self__5ET,*Self__BFT,*prev__CFT,*next__DFT;
+  __MEMORY *result__R2S,*block__TOT,*Self__U2S,*new__W2S,*prev__X2S;
+  __MEMORY *next__Y2S,*Self__12S,*Self__22S,*blc__GFT,*prev__HFT;
+  __MEMORY *block__2OT,*Self__LFT,*Self__NFT,*prev__OFT,*next__PFT;
+  __MEMORY *blc__SFT,*prev__TFT,*block__FPT,*Self__XFT,*Self__ZFT;
+  __MEMORY *prev__0FT,*next__1FT,*result__32S,*block__OPT,*Self__A3S;
+  __MEMORY *new__C3S,*prev__D3S,*next__E3S,*Self__H3S,*Self__I3S;
+  __MEMORY *blc__4FT,*prev__5FT,*block__XPT,*Self__DGT,*Self__FGT;
+  __MEMORY *prev__GGT,*next__HGT,*blc__KGT,*prev__LGT,*block__AQT;
+  __MEMORY *Self__PGT,*Self__RGT,*prev__SGT,*next__TGT,*result__J3S;
+  __MEMORY *block__JQT,*Self__M3S,*new__O3S,*prev__P3S,*next__Q3S;
+  __MEMORY *Self__T3S,*Self__U3S,*blc__WGT,*prev__XGT,*block__SQT;
+  __MEMORY *Self__1GT,*Self__3GT,*prev__4GT,*next__5GT,*blc__A2B;
+  __MEMORY *prev__B2B,*block__1QT,*Self__TES,*Self__0PS,*prev__1PS;
+  __MEMORY *next__2PS,*result__MLD,*block__MTD,*Self__WIH,*new__5IH;
+  __MEMORY *prev__M1H,*next__N1H,*Self__5MH,*Self__HAS;
+  __STRING *Self__5GE,*Self__JIL;
+  __PLANET *Self__3D,*Self__VE,*Self__GF,*Self__XF;
+  __CHARACTER *arg__LL,*__tmp__1MT,*__tmp__ENT,*__tmp__NNT,*__tmp__WNT;
+  __CHARACTER *__tmp__5NT,*__tmp__IOT,*__tmp__ROT,*Self__CFE,*p__AHE;
+  __CHARACTER *__tmp__0OT,*__tmp__DPT,*__tmp__MPT,*Result__G0S;
+  __CHARACTER *__tmp__SEE,*new__CSH,*__tmp__VPT,*__tmp__4PT,*__tmp__HQT;
+  __CHARACTER *__tmp__KTS,*__tmp__QQT,*__tmp__ZQT,*__tmp__1SS;
+  __FAST_ARRAYoSTRINGo *result__Q4,*Self__5RC,*Self__ZHE;
+  __BOOLEAN __tmp__BDT,__tmp__NDT,__tmp__ZDT,__tmp__FET,__tmp__RET;
+  __BOOLEAN __tmp__3ET,__tmp__JFT,__tmp__VFT,__tmp__JIE,__tmp__BGT;
+  __BOOLEAN __tmp__NGT,negative__OIL,__tmp__1JL,result__T3P,__tmp__OKL;
+  __BOOLEAN __tmp__DLL,result__QRO,__tmp__KML,result__CSO,result__JFP;
+  __BOOLEAN __tmp__ZGT,__tmp__E3B;
+  void **Result__YZS,**Result__DOG,**__tmp__4IE,**new__ZTH;
+  void *result__KL;
+  __CHARACTER ch__ZDE,cc__NIL;
+  __PLANET *Result__YC;
+  arg_count  = argc;
+  arg_vector = argv;
+  ARRAYED_COLLECTIONoSTRINGo__->storage__FNC=NULL;
+  ARRAYED_COLLECTIONoSTRINGo__->capacity__ISC= 0;
+  ARRAYED_COLLECTIONoSTRINGo__->upper__USC= 0;
+  FAST_ARRAYoSTRINGo__->parent_arrayed_collection__QC=(*ARRAYED_COLLECTIONoSTRINGo__);
+  parent_numeric__H=NUMERIC__;
+  clone_allocation_size__E5= 0;
+  STRING_CONSTANT__->count__XHB=((__INTEGER )((0)));
+  STRING__->count__DW= 0;
+  STRING_CONSTANT__->storage__YLE=((__CHARACTER *)(NULL));
+  STRING__->storage__2QC=NULL;
+  nb_page__L2B= 0;
+  MEMORY__->size_and_id__JD= 0;
+  capacity_max__NTD= 0;
+  begin_memory__2RB=((__POINTER )(NULL));
+  MEMORY__->previous_linear__ID= 0;
+  first_free__LMD=NULL;
+  MEMORY__->next_free__KD=NULL;
+  MEMORY__->previous_free__LD=NULL;
+  STRING__->capacity__FW= 0;
+  arg__LL=NULL;
+  str__ML=NULL;
+  new_count__2W=((__INTEGER )(arg_count));
+  result__Q4=NULL;
+  ptr__R4=((__POINTER )(NULL));
+  typ_id__W4= 0;
+  sz__T4=((__UINTEGER_32 )sizeof(__FAST_ARRAYoSTRINGo));
+  if ((sz__T4 ==  0)) {
+    result__Q4=FAST_ARRAYoSTRINGo__;
+  } else {
+    typ_id__W4=__FAST_ARRAYoSTRINGo__;
+    clone_allocation_size__E5=sz__T4;
+    if ((typ_id__W4 == (__INTEGER)(-  1))) {
+      a__XQS=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__XKB=(__UINTEGER_32)((__UINTEGER_32)(sz__T4 + a__XQS) & (__UINTEGER_32)(~ a__XQS));
+      ptr_table__MWS=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__XKB / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+      next__LWS=((__POINTER )(NULL));
+      result__NWS=((__POINTER *)ptr_table__MWS)[ 0];
+      if ((result__NWS == (void *)NULL)) {
+        idx__3CT= 0;
+        blc__4CT=NULL;
+        prev__5CT=NULL;
+        pv__ADT= 0;
+        while_do__2AC__CDT:
+        {
+          if ((idx__3CT < nb_page__L2B)) {
+            blc__4CT=((__MEMORY *)(last_block[(idx__3CT)]));
+            __tmp__BDT=(((__UINTEGER_32)(((__MEMORY *)blc__4CT)->size_and_id__JD &  4294967292LU) <  4096) || ((__UINTEGER_32)(((__MEMORY *)blc__4CT)->size_and_id__JD &  1) ==  1));
+          } else {
+            __tmp__BDT=FALSE__;
+          };
+          if (__tmp__BDT) {
+            idx__3CT=(__UINTEGER_32)(idx__3CT +  1);
+            goto while_do__2AC__CDT;
+          };
+        };
+        mem__VMT=((__POINTER )(NULL));
+        cap__WMT= 33554432;
+        do {
+          cap__WMT=(__UINTEGER_32)(cap__WMT <<  1);
+          mem__VMT=((__POINTER )(malloc((cap__WMT))));
+          if ((mem__VMT != (void *)NULL)) {
+            free((mem__VMT));
+          };
+        } while ((! ((mem__VMT == (void *)NULL) || (cap__WMT ==  2147483648LU))));
+        if ((mem__VMT == (void *)NULL)) {
+          cap__WMT=(__UINTEGER_32)(cap__WMT >>  1);
+        };
+        capacity_max__NTD=cap__WMT;
+        begin_memory__2RB=((__POINTER )(malloc((cap__WMT))));
+        nb_page__L2B= 1;
+        if (( 67108864 > cap__WMT)) {
+          __tmp__ZMT=((__STRING_CONSTANT *)(&__string_1))->count__XHB;
+          Self__0MT= 1;
+          __tmp__1MT=((__STRING_CONSTANT *)(&__string_1))->storage__YLE;
+          while ((Self__0MT <= __tmp__ZMT)) {
+            fputc((int)(((__CHARACTER *)__tmp__1MT)[(__INTEGER)(Self__0MT -  1)]),stdout);
+            Self__0MT=(__INTEGER)(Self__0MT +  1);
+          };
+          exit(( 1));
+        };
+        block__3MT=((__MEMORY *)(void *)((unsigned long)begin_memory__2RB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 0))));
+        block__3MT->previous_linear__ID= 4294967295LU;
+        block__3MT->size_and_id__JD= 67108858;
+        block__3MT->next_free__KD=NULL;
+        block__3MT->previous_free__LD=NULL;
+        first_free__LMD=block__3MT;
+        last_block[( 0)] = (block__3MT);
+        blc__4CT=block__3MT;
+        block__3MT->size_and_id__JD=(__UINTEGER_32)(block__3MT->size_and_id__JD -  4096);
+        result__EDT=((__POINTER )((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )block__3MT) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(block__3MT->size_and_id__JD &  4294967292LU))))));
+        if (((__UINTEGER_32)(block__3MT->size_and_id__JD &  4294967292LU) < ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+          prev__GDT=block__3MT->previous_free__LD;
+          next__HDT=block__3MT->next_free__KD;
+          if (((void *)prev__GDT == (void *)NULL)) {
+            first_free__LMD=next__HDT;
+          } else {
+            ((__MEMORY *)prev__GDT)->next_free__KD=next__HDT;
+          };
+          if (((void *)next__HDT != (void *)NULL)) {
+            ((__MEMORY *)next__HDT)->previous_free__LD=prev__GDT;
+          };
+          pv__ADT=block__3MT->previous_linear__ID;
+          if ((pv__ADT !=  4294967295LU)) {
+            prev__5CT=((__MEMORY *)(void *)((unsigned long)begin_memory__2RB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )pv__ADT))));
+            ((__MEMORY *)prev__5CT)->size_and_id__JD=(__UINTEGER_32)((__UINTEGER_32)(prev__5CT->size_and_id__JD + block__3MT->size_and_id__JD) +  8);
+            last_block[(idx__3CT)] = (prev__5CT);
+          };
+        };
+        ((__POINTER *)result__EDT)[ 0]=((__POINTER )new_size__XKB);
+        result__NWS=(void *)((unsigned long)result__EDT - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+        next__LWS=(void *)((unsigned long)result__NWS - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__XKB)));
+        ((__POINTER *)next__LWS)[ 0]=NULL;
+        ((__POINTER *)ptr_table__MWS)[ 0]=next__LWS;
+      } else {
+        next__LWS=((__POINTER *)result__NWS)[ 0];
+        if ((next__LWS == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__NWS - (unsigned long)begin_memory__2RB)))) &  4095) + (__UINTEGER_32)(new_size__XKB <<  1)) <=  4096)) {
+            next__LWS=(void *)((unsigned long)result__NWS - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__XKB)));
+          } else {
+            idx__JDT= 0;
+            blc__KDT=NULL;
+            prev__LDT=NULL;
+            pv__MDT= 0;
+            while_do__2AC__ODT:
+            {
+              if ((idx__JDT < nb_page__L2B)) {
+                blc__KDT=((__MEMORY *)(last_block[(idx__JDT)]));
+                __tmp__NDT=(((__UINTEGER_32)(((__MEMORY *)blc__KDT)->size_and_id__JD &  4294967292LU) <  4096) || ((__UINTEGER_32)(((__MEMORY *)blc__KDT)->size_and_id__JD &  1) ==  1));
+              } else {
+                __tmp__NDT=FALSE__;
+              };
+              if (__tmp__NDT) {
+                idx__JDT=(__UINTEGER_32)(idx__JDT +  1);
+                goto while_do__2AC__ODT;
+              };
+            };
+            if ((idx__JDT >= nb_page__L2B)) {
+              if ((capacity_max__NTD ==  0)) {
+                mem__4MT=((__POINTER )(NULL));
+                cap__5MT= 33554432;
+                do {
+                  cap__5MT=(__UINTEGER_32)(cap__5MT <<  1);
+                  mem__4MT=((__POINTER )(malloc((cap__5MT))));
+                  if ((mem__4MT != (void *)NULL)) {
+                    free((mem__4MT));
+                  };
+                } while ((! ((mem__4MT == (void *)NULL) || (cap__5MT ==  2147483648LU))));
+                if ((mem__4MT == (void *)NULL)) {
+                  cap__5MT=(__UINTEGER_32)(cap__5MT >>  1);
+                };
+                capacity_max__NTD=cap__5MT;
+                begin_memory__2RB=((__POINTER )(malloc((cap__5MT))));
+              };
+              old_size__BNT=(__UINTEGER_32)(nb_page__L2B <<  26);
+              nb_page__L2B=(__UINTEGER_32)(nb_page__L2B +  1);
+              if (((__UINTEGER_32)(old_size__BNT +  67108864) > capacity_max__NTD)) {
+                __tmp__CNT=((__STRING_CONSTANT *)(&__string_1))->count__XHB;
+                Self__DNT= 1;
+                __tmp__ENT=((__STRING_CONSTANT *)(&__string_1))->storage__YLE;
+                while ((Self__DNT <= __tmp__CNT)) {
+                  fputc((int)(((__CHARACTER *)__tmp__ENT)[(__INTEGER)(Self__DNT -  1)]),stdout);
+                  Self__DNT=(__INTEGER)(Self__DNT +  1);
+                };
+                exit(( 1));
+              };
+              block__GNT=((__MEMORY *)(void *)((unsigned long)begin_memory__2RB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )old_size__BNT))));
+              block__GNT->previous_linear__ID= 4294967295LU;
+              block__GNT->size_and_id__JD= 67108858;
+              block__GNT->next_free__KD=first_free__LMD;
+              block__GNT->previous_free__LD=NULL;
+              if (((void *)first_free__LMD != (void *)NULL)) {
+                ((__MEMORY *)first_free__LMD)->previous_free__LD=block__GNT;
+              };
+              first_free__LMD=block__GNT;
+              last_block[((__UINTEGER_32)(nb_page__L2B -  1))] = (block__GNT);
+              blc__KDT=block__GNT;
+            };
+            ((__MEMORY *)blc__KDT)->size_and_id__JD=(__UINTEGER_32)(blc__KDT->size_and_id__JD -  4096);
+            Self__PDT=((__MEMORY *)blc__KDT);
+            result__QDT=((__POINTER )((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__PDT) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__PDT->size_and_id__JD &  4294967292LU))))));
+            if (((__UINTEGER_32)(((__MEMORY *)blc__KDT)->size_and_id__JD &  4294967292LU) < ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+              Self__RDT=((__MEMORY *)blc__KDT);
+              prev__SDT=Self__RDT->previous_free__LD;
+              next__TDT=Self__RDT->next_free__KD;
+              if (((void *)prev__SDT == (void *)NULL)) {
+                first_free__LMD=next__TDT;
+              } else {
+                ((__MEMORY *)prev__SDT)->next_free__KD=next__TDT;
+              };
+              if (((void *)next__TDT != (void *)NULL)) {
+                ((__MEMORY *)next__TDT)->previous_free__LD=prev__SDT;
+              };
+              pv__MDT=blc__KDT->previous_linear__ID;
+              if ((pv__MDT !=  4294967295LU)) {
+                prev__LDT=((__MEMORY *)(void *)((unsigned long)begin_memory__2RB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )pv__MDT))));
+                ((__MEMORY *)prev__LDT)->size_and_id__JD=(__UINTEGER_32)((__UINTEGER_32)(prev__LDT->size_and_id__JD + blc__KDT->size_and_id__JD) +  8);
+                last_block[(idx__JDT)] = (prev__LDT);
+              };
+            };
+            ((__POINTER *)result__QDT)[ 0]=((__POINTER )new_size__XKB);
+            next__LWS=(void *)((unsigned long)result__QDT - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+          };
+          ((__POINTER *)next__LWS)[ 0]=NULL;
+          ((__POINTER *)ptr_table__MWS)[ 0]=next__LWS;
+        } else {
+          ((__POINTER *)result__NWS)[ 0]=(void *)((unsigned long)((__POINTER *)next__LWS)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__NWS=next__LWS;
+        };
+      };
+      ptr__R4=result__NWS;
+    } else {
+      t__AMB=((__UINTEGER_32 )typ_id__W4);
+      a__3QS=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__VWS=(__UINTEGER_32)((__UINTEGER_32)(sz__T4 + a__3QS) & (__UINTEGER_32)(~ a__3QS));
+      ptr_table__SWS=((__POINTER )(&(table_type[(t__AMB)])));
+      lab_type__UWS=(__UINTEGER_32)(t__AMB |  1);
+      next__RWS=((__POINTER )(NULL));
+      result__TWS=((__POINTER *)ptr_table__SWS)[ 0];
+      if ((result__TWS == (void *)NULL)) {
+        idx__VDT= 0;
+        blc__WDT=NULL;
+        prev__XDT=NULL;
+        pv__YDT= 0;
+        while_do__2AC__0DT:
+        {
+          if ((idx__VDT < nb_page__L2B)) {
+            blc__WDT=((__MEMORY *)(last_block[(idx__VDT)]));
+            __tmp__ZDT=(((__UINTEGER_32)(((__MEMORY *)blc__WDT)->size_and_id__JD &  4294967292LU) <  4096) || ((__UINTEGER_32)(((__MEMORY *)blc__WDT)->size_and_id__JD &  1) ==  1));
+          } else {
+            __tmp__ZDT=FALSE__;
+          };
+          if (__tmp__ZDT) {
+            idx__VDT=(__UINTEGER_32)(idx__VDT +  1);
+            goto while_do__2AC__0DT;
+          };
+        };
+        if ((idx__VDT >= nb_page__L2B)) {
+          if ((capacity_max__NTD ==  0)) {
+            mem__HNT=((__POINTER )(NULL));
+            cap__INT= 33554432;
+            do {
+              cap__INT=(__UINTEGER_32)(cap__INT <<  1);
+              mem__HNT=((__POINTER )(malloc((cap__INT))));
+              if ((mem__HNT != (void *)NULL)) {
+                free((mem__HNT));
+              };
+            } while ((! ((mem__HNT == (void *)NULL) || (cap__INT ==  2147483648LU))));
+            if ((mem__HNT == (void *)NULL)) {
+              cap__INT=(__UINTEGER_32)(cap__INT >>  1);
+            };
+            capacity_max__NTD=cap__INT;
+            begin_memory__2RB=((__POINTER )(malloc((cap__INT))));
+          };
+          old_size__KNT=(__UINTEGER_32)(nb_page__L2B <<  26);
+          nb_page__L2B=(__UINTEGER_32)(nb_page__L2B +  1);
+          if (((__UINTEGER_32)(old_size__KNT +  67108864) > capacity_max__NTD)) {
+            __tmp__LNT=((__STRING_CONSTANT *)(&__string_1))->count__XHB;
+            Self__MNT= 1;
+            __tmp__NNT=((__STRING_CONSTANT *)(&__string_1))->storage__YLE;
+            while ((Self__MNT <= __tmp__LNT)) {
+              fputc((int)(((__CHARACTER *)__tmp__NNT)[(__INTEGER)(Self__MNT -  1)]),stdout);
+              Self__MNT=(__INTEGER)(Self__MNT +  1);
+            };
+            exit(( 1));
+          };
+          block__PNT=((__MEMORY *)(void *)((unsigned long)begin_memory__2RB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )old_size__KNT))));
+          block__PNT->previous_linear__ID= 4294967295LU;
+          block__PNT->size_and_id__JD= 67108858;
+          block__PNT->next_free__KD=first_free__LMD;
+          block__PNT->previous_free__LD=NULL;
+          if (((void *)first_free__LMD != (void *)NULL)) {
+            ((__MEMORY *)first_free__LMD)->previous_free__LD=block__PNT;
+          };
+          first_free__LMD=block__PNT;
+          last_block[((__UINTEGER_32)(nb_page__L2B -  1))] = (block__PNT);
+          blc__WDT=block__PNT;
+        };
+        ((__MEMORY *)blc__WDT)->size_and_id__JD=(__UINTEGER_32)(blc__WDT->size_and_id__JD -  4096);
+        Self__1DT=((__MEMORY *)blc__WDT);
+        result__2DT=((__POINTER )((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__1DT) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__1DT->size_and_id__JD &  4294967292LU))))));
+        if (((__UINTEGER_32)(((__MEMORY *)blc__WDT)->size_and_id__JD &  4294967292LU) < ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+          Self__3DT=((__MEMORY *)blc__WDT);
+          prev__4DT=Self__3DT->previous_free__LD;
+          next__5DT=Self__3DT->next_free__KD;
+          if (((void *)prev__4DT == (void *)NULL)) {
+            first_free__LMD=next__5DT;
+          } else {
+            ((__MEMORY *)prev__4DT)->next_free__KD=next__5DT;
+          };
+          if (((void *)next__5DT != (void *)NULL)) {
+            ((__MEMORY *)next__5DT)->previous_free__LD=prev__4DT;
+          };
+          pv__YDT=blc__WDT->previous_linear__ID;
+          if ((pv__YDT !=  4294967295LU)) {
+            prev__XDT=((__MEMORY *)(void *)((unsigned long)begin_memory__2RB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )pv__YDT))));
+            ((__MEMORY *)prev__XDT)->size_and_id__JD=(__UINTEGER_32)((__UINTEGER_32)(prev__XDT->size_and_id__JD + blc__WDT->size_and_id__JD) +  8);
+            last_block[(idx__VDT)] = (prev__XDT);
+          };
+        };
+        ((__POINTER *)result__2DT)[ 0]=((__POINTER )lab_type__UWS);
+        result__TWS=(void *)((unsigned long)result__2DT - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+        next__RWS=(void *)((unsigned long)result__TWS - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__VWS)));
+        ((__POINTER *)next__RWS)[ 0]=NULL;
+        ((__POINTER *)ptr_table__SWS)[ 0]=next__RWS;
+      } else {
+        next__RWS=((__POINTER *)result__TWS)[ 0];
+        if ((next__RWS == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__TWS - (unsigned long)begin_memory__2RB)))) &  4095) + (__UINTEGER_32)(new_size__VWS <<  1)) <=  4096)) {
+            next__RWS=(void *)((unsigned long)result__TWS - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__VWS)));
+          } else {
+            idx__BET= 0;
+            blc__CET=NULL;
+            prev__DET=NULL;
+            pv__EET= 0;
+            while_do__2AC__GET:
+            {
+              if ((idx__BET < nb_page__L2B)) {
+                blc__CET=((__MEMORY *)(last_block[(idx__BET)]));
+                __tmp__FET=(((__UINTEGER_32)(((__MEMORY *)blc__CET)->size_and_id__JD &  4294967292LU) <  4096) || ((__UINTEGER_32)(((__MEMORY *)blc__CET)->size_and_id__JD &  1) ==  1));
+              } else {
+                __tmp__FET=FALSE__;
+              };
+              if (__tmp__FET) {
+                idx__BET=(__UINTEGER_32)(idx__BET +  1);
+                goto while_do__2AC__GET;
+              };
+            };
+            if ((idx__BET >= nb_page__L2B)) {
+              if ((capacity_max__NTD ==  0)) {
+                mem__QNT=((__POINTER )(NULL));
+                cap__RNT= 33554432;
+                do {
+                  cap__RNT=(__UINTEGER_32)(cap__RNT <<  1);
+                  mem__QNT=((__POINTER )(malloc((cap__RNT))));
+                  if ((mem__QNT != (void *)NULL)) {
+                    free((mem__QNT));
+                  };
+                } while ((! ((mem__QNT == (void *)NULL) || (cap__RNT ==  2147483648LU))));
+                if ((mem__QNT == (void *)NULL)) {
+                  cap__RNT=(__UINTEGER_32)(cap__RNT >>  1);
+                };
+                capacity_max__NTD=cap__RNT;
+                begin_memory__2RB=((__POINTER )(malloc((cap__RNT))));
+              };
+              old_size__TNT=(__UINTEGER_32)(nb_page__L2B <<  26);
+              nb_page__L2B=(__UINTEGER_32)(nb_page__L2B +  1);
+              if (((__UINTEGER_32)(old_size__TNT +  67108864) > capacity_max__NTD)) {
+                __tmp__UNT=((__STRING_CONSTANT *)(&__string_1))->count__XHB;
+                Self__VNT= 1;
+                __tmp__WNT=((__STRING_CONSTANT *)(&__string_1))->storage__YLE;
+                while ((Self__VNT <= __tmp__UNT)) {
+                  fputc((int)(((__CHARACTER *)__tmp__WNT)[(__INTEGER)(Self__VNT -  1)]),stdout);
+                  Self__VNT=(__INTEGER)(Self__VNT +  1);
+                };
+                exit(( 1));
+              };
+              block__YNT=((__MEMORY *)(void *)((unsigned long)begin_memory__2RB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )old_size__TNT))));
+              block__YNT->previous_linear__ID= 4294967295LU;
+              block__YNT->size_and_id__JD= 67108858;
+              block__YNT->next_free__KD=first_free__LMD;
+              block__YNT->previous_free__LD=NULL;
+              if (((void *)first_free__LMD != (void *)NULL)) {
+                ((__MEMORY *)first_free__LMD)->previous_free__LD=block__YNT;
+              };
+              first_free__LMD=block__YNT;
+              last_block[((__UINTEGER_32)(nb_page__L2B -  1))] = (block__YNT);
+              blc__CET=block__YNT;
+            };
+            ((__MEMORY *)blc__CET)->size_and_id__JD=(__UINTEGER_32)(blc__CET->size_and_id__JD -  4096);
+            Self__HET=((__MEMORY *)blc__CET);
+            result__IET=((__POINTER )((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__HET) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__HET->size_and_id__JD &  4294967292LU))))));
+            if (((__UINTEGER_32)(((__MEMORY *)blc__CET)->size_and_id__JD &  4294967292LU) < ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+              Self__JET=((__MEMORY *)blc__CET);
+              prev__KET=Self__JET->previous_free__LD;
+              next__LET=Self__JET->next_free__KD;
+              if (((void *)prev__KET == (void *)NULL)) {
+                first_free__LMD=next__LET;
+              } else {
+                ((__MEMORY *)prev__KET)->next_free__KD=next__LET;
+              };
+              if (((void *)next__LET != (void *)NULL)) {
+                ((__MEMORY *)next__LET)->previous_free__LD=prev__KET;
+              };
+              pv__EET=blc__CET->previous_linear__ID;
+              if ((pv__EET !=  4294967295LU)) {
+                prev__DET=((__MEMORY *)(void *)((unsigned long)begin_memory__2RB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )pv__EET))));
+                ((__MEMORY *)prev__DET)->size_and_id__JD=(__UINTEGER_32)((__UINTEGER_32)(prev__DET->size_and_id__JD + blc__CET->size_and_id__JD) +  8);
+                last_block[(idx__BET)] = (prev__DET);
+              };
+            };
+            ((__POINTER *)result__IET)[ 0]=((__POINTER )lab_type__UWS);
+            next__RWS=(void *)((unsigned long)result__IET - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+          };
+          ((__POINTER *)next__RWS)[ 0]=NULL;
+          ((__POINTER *)ptr_table__SWS)[ 0]=next__RWS;
+        } else {
+          ((__POINTER *)result__TWS)[ 0]=(void *)((unsigned long)((__POINTER *)next__RWS)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__TWS=next__RWS;
+        };
+      };
+      ptr__R4=result__TWS;
+    };
+    result__Q4=((__FAST_ARRAYoSTRINGo *)ptr__R4);
+    *(result__Q4) = *(FAST_ARRAYoSTRINGo__);
+  };
+  Self__5RC=((__FAST_ARRAYoSTRINGo *)result__Q4);
+  if ((Self__5RC->parent_arrayed_collection__QC.capacity__ISC < new_count__2W)) {
+    sz__OZS=((__UINTEGER_32 )(__INTEGER)(new_count__2W * ((__INTEGER )(sizeof(void *)))));
+    result__PZS=((__POINTER )(NULL));
+    a__QZS=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+    new_size__RZS=(__UINTEGER_32)((__UINTEGER_32)(sz__OZS + a__QZS) & (__UINTEGER_32)(~ a__QZS));
+    new_size2__SZS=(__UINTEGER_32)(new_size__RZS + ((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))));
+    if ((new_size2__SZS <= ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+      a__TZS=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__UZS=(__UINTEGER_32)((__UINTEGER_32)(new_size2__SZS + a__TZS) & (__UINTEGER_32)(~ a__TZS));
+      ptr_table__VZS=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__UZS / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+      next__WZS=((__POINTER )(NULL));
+      result__XZS=((__POINTER *)ptr_table__VZS)[ 0];
+      if ((result__XZS == (void *)NULL)) {
+        idx__NET= 0;
+        blc__OET=NULL;
+        prev__PET=NULL;
+        pv__QET= 0;
+        while_do__2AC__SET:
+        {
+          if ((idx__NET < nb_page__L2B)) {
+            blc__OET=((__MEMORY *)(last_block[(idx__NET)]));
+            __tmp__RET=(((__UINTEGER_32)(((__MEMORY *)blc__OET)->size_and_id__JD &  4294967292LU) <  4096) || ((__UINTEGER_32)(((__MEMORY *)blc__OET)->size_and_id__JD &  1) ==  1));
+          } else {
+            __tmp__RET=FALSE__;
+          };
+          if (__tmp__RET) {
+            idx__NET=(__UINTEGER_32)(idx__NET +  1);
+            goto while_do__2AC__SET;
+          };
+        };
+        if ((idx__NET >= nb_page__L2B)) {
+          if ((capacity_max__NTD ==  0)) {
+            mem__ZNT=((__POINTER )(NULL));
+            cap__0NT= 33554432;
+            do {
+              cap__0NT=(__UINTEGER_32)(cap__0NT <<  1);
+              mem__ZNT=((__POINTER )(malloc((cap__0NT))));
+              if ((mem__ZNT != (void *)NULL)) {
+                free((mem__ZNT));
+              };
+            } while ((! ((mem__ZNT == (void *)NULL) || (cap__0NT ==  2147483648LU))));
+            if ((mem__ZNT == (void *)NULL)) {
+              cap__0NT=(__UINTEGER_32)(cap__0NT >>  1);
+            };
+            capacity_max__NTD=cap__0NT;
+            begin_memory__2RB=((__POINTER )(malloc((cap__0NT))));
+          };
+          old_size__2NT=(__UINTEGER_32)(nb_page__L2B <<  26);
+          nb_page__L2B=(__UINTEGER_32)(nb_page__L2B +  1);
+          if (((__UINTEGER_32)(old_size__2NT +  67108864) > capacity_max__NTD)) {
+            __tmp__3NT=((__STRING_CONSTANT *)(&__string_1))->count__XHB;
+            Self__4NT= 1;
+            __tmp__5NT=((__STRING_CONSTANT *)(&__string_1))->storage__YLE;
+            while ((Self__4NT <= __tmp__3NT)) {
+              fputc((int)(((__CHARACTER *)__tmp__5NT)[(__INTEGER)(Self__4NT -  1)]),stdout);
+              Self__4NT=(__INTEGER)(Self__4NT +  1);
+            };
+            exit(( 1));
+          };
+          block__BOT=((__MEMORY *)(void *)((unsigned long)begin_memory__2RB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )old_size__2NT))));
+          block__BOT->previous_linear__ID= 4294967295LU;
+          block__BOT->size_and_id__JD= 67108858;
+          block__BOT->next_free__KD=first_free__LMD;
+          block__BOT->previous_free__LD=NULL;
+          if (((void *)first_free__LMD != (void *)NULL)) {
+            ((__MEMORY *)first_free__LMD)->previous_free__LD=block__BOT;
+          };
+          first_free__LMD=block__BOT;
+          last_block[((__UINTEGER_32)(nb_page__L2B -  1))] = (block__BOT);
+          blc__OET=block__BOT;
+        };
+        ((__MEMORY *)blc__OET)->size_and_id__JD=(__UINTEGER_32)(blc__OET->size_and_id__JD -  4096);
+        Self__TET=((__MEMORY *)blc__OET);
+        result__UET=((__POINTER )((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__TET) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__TET->size_and_id__JD &  4294967292LU))))));
+        if (((__UINTEGER_32)(((__MEMORY *)blc__OET)->size_and_id__JD &  4294967292LU) < ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+          Self__VET=((__MEMORY *)blc__OET);
+          prev__WET=Self__VET->previous_free__LD;
+          next__XET=Self__VET->next_free__KD;
+          if (((void *)prev__WET == (void *)NULL)) {
+            first_free__LMD=next__XET;
+          } else {
+            ((__MEMORY *)prev__WET)->next_free__KD=next__XET;
+          };
+          if (((void *)next__XET != (void *)NULL)) {
+            ((__MEMORY *)next__XET)->previous_free__LD=prev__WET;
+          };
+          pv__QET=blc__OET->previous_linear__ID;
+          if ((pv__QET !=  4294967295LU)) {
+            prev__PET=((__MEMORY *)(void *)((unsigned long)begin_memory__2RB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )pv__QET))));
+            ((__MEMORY *)prev__PET)->size_and_id__JD=(__UINTEGER_32)((__UINTEGER_32)(prev__PET->size_and_id__JD + blc__OET->size_and_id__JD) +  8);
+            last_block[(idx__NET)] = (prev__PET);
+          };
+        };
+        ((__POINTER *)result__UET)[ 0]=((__POINTER )new_size__UZS);
+        result__XZS=(void *)((unsigned long)result__UET - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+        next__WZS=(void *)((unsigned long)result__XZS - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__UZS)));
+        ((__POINTER *)next__WZS)[ 0]=NULL;
+        ((__POINTER *)ptr_table__VZS)[ 0]=next__WZS;
+      } else {
+        next__WZS=((__POINTER *)result__XZS)[ 0];
+        if ((next__WZS == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__XZS - (unsigned long)begin_memory__2RB)))) &  4095) + (__UINTEGER_32)(new_size__UZS <<  1)) <=  4096)) {
+            next__WZS=(void *)((unsigned long)result__XZS - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__UZS)));
+          } else {
+            idx__ZET= 0;
+            blc__0ET=NULL;
+            prev__1ET=NULL;
+            pv__2ET= 0;
+            while_do__2AC__4ET:
+            {
+              if ((idx__ZET < nb_page__L2B)) {
+                blc__0ET=((__MEMORY *)(last_block[(idx__ZET)]));
+                __tmp__3ET=(((__UINTEGER_32)(((__MEMORY *)blc__0ET)->size_and_id__JD &  4294967292LU) <  4096) || ((__UINTEGER_32)(((__MEMORY *)blc__0ET)->size_and_id__JD &  1) ==  1));
+              } else {
+                __tmp__3ET=FALSE__;
+              };
+              if (__tmp__3ET) {
+                idx__ZET=(__UINTEGER_32)(idx__ZET +  1);
+                goto while_do__2AC__4ET;
+              };
+            };
+            if ((idx__ZET >= nb_page__L2B)) {
+              if ((capacity_max__NTD ==  0)) {
+                mem__COT=((__POINTER )(NULL));
+                cap__DOT= 33554432;
+                do {
+                  cap__DOT=(__UINTEGER_32)(cap__DOT <<  1);
+                  mem__COT=((__POINTER )(malloc((cap__DOT))));
+                  if ((mem__COT != (void *)NULL)) {
+                    free((mem__COT));
+                  };
+                } while ((! ((mem__COT == (void *)NULL) || (cap__DOT ==  2147483648LU))));
+                if ((mem__COT == (void *)NULL)) {
+                  cap__DOT=(__UINTEGER_32)(cap__DOT >>  1);
+                };
+                capacity_max__NTD=cap__DOT;
+                begin_memory__2RB=((__POINTER )(malloc((cap__DOT))));
+              };
+              old_size__FOT=(__UINTEGER_32)(nb_page__L2B <<  26);
+              nb_page__L2B=(__UINTEGER_32)(nb_page__L2B +  1);
+              if (((__UINTEGER_32)(old_size__FOT +  67108864) > capacity_max__NTD)) {
+                __tmp__GOT=((__STRING_CONSTANT *)(&__string_1))->count__XHB;
+                Self__HOT= 1;
+                __tmp__IOT=((__STRING_CONSTANT *)(&__string_1))->storage__YLE;
+                while ((Self__HOT <= __tmp__GOT)) {
+                  fputc((int)(((__CHARACTER *)__tmp__IOT)[(__INTEGER)(Self__HOT -  1)]),stdout);
+                  Self__HOT=(__INTEGER)(Self__HOT +  1);
+                };
+                exit(( 1));
+              };
+              block__KOT=((__MEMORY *)(void *)((unsigned long)begin_memory__2RB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )old_size__FOT))));
+              block__KOT->previous_linear__ID= 4294967295LU;
+              block__KOT->size_and_id__JD= 67108858;
+              block__KOT->next_free__KD=first_free__LMD;
+              block__KOT->previous_free__LD=NULL;
+              if (((void *)first_free__LMD != (void *)NULL)) {
+                ((__MEMORY *)first_free__LMD)->previous_free__LD=block__KOT;
+              };
+              first_free__LMD=block__KOT;
+              last_block[((__UINTEGER_32)(nb_page__L2B -  1))] = (block__KOT);
+              blc__0ET=block__KOT;
+            };
+            ((__MEMORY *)blc__0ET)->size_and_id__JD=(__UINTEGER_32)(blc__0ET->size_and_id__JD -  4096);
+            Self__5ET=((__MEMORY *)blc__0ET);
+            result__AFT=((__POINTER )((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__5ET) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__5ET->size_and_id__JD &  4294967292LU))))));
+            if (((__UINTEGER_32)(((__MEMORY *)blc__0ET)->size_and_id__JD &  4294967292LU) < ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+              Self__BFT=((__MEMORY *)blc__0ET);
+              prev__CFT=Self__BFT->previous_free__LD;
+              next__DFT=Self__BFT->next_free__KD;
+              if (((void *)prev__CFT == (void *)NULL)) {
+                first_free__LMD=next__DFT;
+              } else {
+                ((__MEMORY *)prev__CFT)->next_free__KD=next__DFT;
+              };
+              if (((void *)next__DFT != (void *)NULL)) {
+                ((__MEMORY *)next__DFT)->previous_free__LD=prev__CFT;
+              };
+              pv__2ET=blc__0ET->previous_linear__ID;
+              if ((pv__2ET !=  4294967295LU)) {
+                prev__1ET=((__MEMORY *)(void *)((unsigned long)begin_memory__2RB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )pv__2ET))));
+                ((__MEMORY *)prev__1ET)->size_and_id__JD=(__UINTEGER_32)((__UINTEGER_32)(prev__1ET->size_and_id__JD + blc__0ET->size_and_id__JD) +  8);
+                last_block[(idx__ZET)] = (prev__1ET);
+              };
+            };
+            ((__POINTER *)result__AFT)[ 0]=((__POINTER )new_size__UZS);
+            next__WZS=(void *)((unsigned long)result__AFT - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+          };
+          ((__POINTER *)next__WZS)[ 0]=NULL;
+          ((__POINTER *)ptr_table__VZS)[ 0]=next__WZS;
+        } else {
+          ((__POINTER *)result__XZS)[ 0]=(void *)((unsigned long)((__POINTER *)next__WZS)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__XZS=next__WZS;
+        };
+      };
+      ((__POINTER *)result__XZS)[ 0]=((__POINTER ) 3);
+      result__PZS=(void *)((unsigned long)result__XZS - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+    } else {
+      result__R2S=first_free__LMD;
+      while ((((void *)result__R2S != (void *)NULL) && ((__UINTEGER_32)(((__MEMORY *)result__R2S)->size_and_id__JD &  4294967292LU) < new_size__RZS))) {
+        result__R2S=result__R2S->next_free__KD;
+      };
+      if (((void *)result__R2S == (void *)NULL)) {
+        if ((capacity_max__NTD ==  0)) {
+          mem__LOT=((__POINTER )(NULL));
+          cap__MOT= 33554432;
+          do {
+            cap__MOT=(__UINTEGER_32)(cap__MOT <<  1);
+            mem__LOT=((__POINTER )(malloc((cap__MOT))));
+            if ((mem__LOT != (void *)NULL)) {
+              free((mem__LOT));
+            };
+          } while ((! ((mem__LOT == (void *)NULL) || (cap__MOT ==  2147483648LU))));
+          if ((mem__LOT == (void *)NULL)) {
+            cap__MOT=(__UINTEGER_32)(cap__MOT >>  1);
+          };
+          capacity_max__NTD=cap__MOT;
+          begin_memory__2RB=((__POINTER )(malloc((cap__MOT))));
+        };
+        old_size__OOT=(__UINTEGER_32)(nb_page__L2B <<  26);
+        nb_page__L2B=(__UINTEGER_32)(nb_page__L2B +  1);
+        if (((__UINTEGER_32)(old_size__OOT +  67108864) > capacity_max__NTD)) {
+          __tmp__POT=((__STRING_CONSTANT *)(&__string_1))->count__XHB;
+          Self__QOT= 1;
+          __tmp__ROT=((__STRING_CONSTANT *)(&__string_1))->storage__YLE;
+          while ((Self__QOT <= __tmp__POT)) {
+            fputc((int)(((__CHARACTER *)__tmp__ROT)[(__INTEGER)(Self__QOT -  1)]),stdout);
+            Self__QOT=(__INTEGER)(Self__QOT +  1);
+          };
+          exit(( 1));
+        };
+        block__TOT=((__MEMORY *)(void *)((unsigned long)begin_memory__2RB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )old_size__OOT))));
+        block__TOT->previous_linear__ID= 4294967295LU;
+        block__TOT->size_and_id__JD= 67108858;
+        block__TOT->next_free__KD=first_free__LMD;
+        block__TOT->previous_free__LD=NULL;
+        if (((void *)first_free__LMD != (void *)NULL)) {
+          ((__MEMORY *)first_free__LMD)->previous_free__LD=block__TOT;
+        };
+        first_free__LMD=block__TOT;
+        last_block[((__UINTEGER_32)(nb_page__L2B -  1))] = (block__TOT);
+        result__R2S=block__TOT;
+      };
+      Self__U2S=((__MEMORY *)result__R2S);
+      idx__V2S=(__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )((__MEMORY *)result__R2S)) - (unsigned long)begin_memory__2RB)))) >>  26);
+      new__W2S=NULL;
+      prev__X2S=Self__U2S->previous_free__LD;
+      next__Y2S=Self__U2S->next_free__KD;
+      if (((void *)prev__X2S == (void *)NULL)) {
+        first_free__LMD=next__Y2S;
+      } else {
+        ((__MEMORY *)prev__X2S)->next_free__KD=next__Y2S;
+      };
+      if (((void *)next__Y2S != (void *)NULL)) {
+        ((__MEMORY *)next__Y2S)->previous_free__LD=prev__X2S;
+      };
+      siz__Z2S=Self__U2S->size_and_id__JD;
+      new_size__02S=(__UINTEGER_32)(siz__Z2S - new_size__RZS);
+      if ((new_size__02S > (__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )(MINIMUM_SIZE)) +  2) +  8))) {
+        siz__Z2S=new_size__RZS;
+        new__W2S=((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__U2S) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__RZS))));
+        ((__MEMORY *)new__W2S)->previous_linear__ID=((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )Self__U2S) - (unsigned long)begin_memory__2RB))));
+        ((__MEMORY *)new__W2S)->size_and_id__JD=(__UINTEGER_32)(new_size__02S -  8);
+        Self__12S=((__MEMORY *)new__W2S);
+        Self__12S->next_free__KD=first_free__LMD;
+        Self__12S->previous_free__LD=NULL;
+        if (((void *)first_free__LMD != (void *)NULL)) {
+          ((__MEMORY *)first_free__LMD)->previous_free__LD=Self__12S;
+        };
+        first_free__LMD=Self__12S;
+        if (((__UINTEGER_32)(((__MEMORY *)new__W2S)->size_and_id__JD &  2) !=  0)) {
+          last_block[(idx__V2S)] = (new__W2S);
+        } else {
+          Self__22S=((__MEMORY *)new__W2S);
+          ((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__22S) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__22S->size_and_id__JD &  4294967292LU)))))->previous_linear__ID=((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )((__MEMORY *)new__W2S)) - (unsigned long)begin_memory__2RB))));
+        };
+      };
+      Self__U2S->size_and_id__JD=(__UINTEGER_32)(siz__Z2S |  1);
+      result__PZS=(void *)((unsigned long)((__POINTER )((__MEMORY *)result__R2S)) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+    };
+    Result__YZS=((void **)result__PZS);
+    Self__ZZS=(__INTEGER)(new_count__2W -  1);
+    while ((Self__ZZS >=  0)) {
+      Result__YZS[Self__ZZS]=NULL;
+      Self__ZZS=(__INTEGER)(Self__ZZS -  1);
+    };
+    Self__5RC->parent_arrayed_collection__QC.storage__FNC=Result__YZS;
+    Self__5RC->parent_arrayed_collection__QC.capacity__ISC=new_count__2W;
+  };
+  Self__5RC->parent_arrayed_collection__QC.upper__USC=(__INTEGER)(-  1);
+  result__KL=result__Q4;
+  Self__HX= 0;
+  limit_up__IX=(__INTEGER)(((__INTEGER )(arg_count)) -  1);
+  while ((Self__HX <= limit_up__IX)) {
+    arg__LL=((__CHARACTER *)(arg_vector[(Self__HX)]));
+    Self__CFE=((__CHARACTER *)arg__LL);
+    idx__OFE= 0;
+    while ((! ((idx__OFE >  1024) || ('\0' == Self__CFE[idx__OFE])))) {
+      idx__OFE=(__INTEGER)(idx__OFE +  1);
+    };
+    str__ML=create__Q3(idx__OFE);
+    Self__5GE=((__STRING *)str__ML);
+    p__AHE=arg__LL;
+    i__BHE= 0;
+    Self__5GE->count__DW= 0;
+    while ((((__CHARACTER *)p__AHE)[i__BHE] != '\0')) {
+      ch__ZDE=((__CHARACTER *)p__AHE)[i__BHE];
+      new_capacity__0DE= 0;
+      if ((Self__5GE->capacity__FW <= Self__5GE->count__DW)) {
+        if ((Self__5GE->capacity__FW ==  0)) {
+          Self__5GE->capacity__FW= 32;
+          result__3ZS=((__POINTER )(NULL));
+          a__4ZS=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+          new_size__5ZS=(__UINTEGER_32)((__UINTEGER_32)( 32 + a__4ZS) & (__UINTEGER_32)(~ a__4ZS));
+          new_size2__A0S=(__UINTEGER_32)(new_size__5ZS + ((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))));
+          if ((new_size2__A0S <= ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+            a__B0S=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+            new_size__C0S=(__UINTEGER_32)((__UINTEGER_32)(new_size2__A0S + a__B0S) & (__UINTEGER_32)(~ a__B0S));
+            ptr_table__D0S=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__C0S / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+            next__E0S=((__POINTER )(NULL));
+            result__F0S=((__POINTER *)ptr_table__D0S)[ 0];
+            if ((result__F0S == (void *)NULL)) {
+              idx__FFT= 0;
+              blc__GFT=NULL;
+              prev__HFT=NULL;
+              pv__IFT= 0;
+              while_do__2AC__KFT:
+              {
+                if ((idx__FFT < nb_page__L2B)) {
+                  blc__GFT=((__MEMORY *)(last_block[(idx__FFT)]));
+                  __tmp__JFT=(((__UINTEGER_32)(((__MEMORY *)blc__GFT)->size_and_id__JD &  4294967292LU) <  4096) || ((__UINTEGER_32)(((__MEMORY *)blc__GFT)->size_and_id__JD &  1) ==  1));
+                } else {
+                  __tmp__JFT=FALSE__;
+                };
+                if (__tmp__JFT) {
+                  idx__FFT=(__UINTEGER_32)(idx__FFT +  1);
+                  goto while_do__2AC__KFT;
+                };
+              };
+              if ((idx__FFT >= nb_page__L2B)) {
+                if ((capacity_max__NTD ==  0)) {
+                  mem__UOT=((__POINTER )(NULL));
+                  cap__VOT= 33554432;
+                  do {
+                    cap__VOT=(__UINTEGER_32)(cap__VOT <<  1);
+                    mem__UOT=((__POINTER )(malloc((cap__VOT))));
+                    if ((mem__UOT != (void *)NULL)) {
+                      free((mem__UOT));
+                    };
+                  } while ((! ((mem__UOT == (void *)NULL) || (cap__VOT ==  2147483648LU))));
+                  if ((mem__UOT == (void *)NULL)) {
+                    cap__VOT=(__UINTEGER_32)(cap__VOT >>  1);
+                  };
+                  capacity_max__NTD=cap__VOT;
+                  begin_memory__2RB=((__POINTER )(malloc((cap__VOT))));
+                };
+                old_size__XOT=(__UINTEGER_32)(nb_page__L2B <<  26);
+                nb_page__L2B=(__UINTEGER_32)(nb_page__L2B +  1);
+                if (((__UINTEGER_32)(old_size__XOT +  67108864) > capacity_max__NTD)) {
+                  __tmp__YOT=((__STRING_CONSTANT *)(&__string_1))->count__XHB;
+                  Self__ZOT= 1;
+                  __tmp__0OT=((__STRING_CONSTANT *)(&__string_1))->storage__YLE;
+                  while ((Self__ZOT <= __tmp__YOT)) {
+                    fputc((int)(((__CHARACTER *)__tmp__0OT)[(__INTEGER)(Self__ZOT -  1)]),stdout);
+                    Self__ZOT=(__INTEGER)(Self__ZOT +  1);
+                  };
+                  exit(( 1));
+                };
+                block__2OT=((__MEMORY *)(void *)((unsigned long)begin_memory__2RB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )old_size__XOT))));
+                block__2OT->previous_linear__ID= 4294967295LU;
+                block__2OT->size_and_id__JD= 67108858;
+                block__2OT->next_free__KD=first_free__LMD;
+                block__2OT->previous_free__LD=NULL;
+                if (((void *)first_free__LMD != (void *)NULL)) {
+                  ((__MEMORY *)first_free__LMD)->previous_free__LD=block__2OT;
+                };
+                first_free__LMD=block__2OT;
+                last_block[((__UINTEGER_32)(nb_page__L2B -  1))] = (block__2OT);
+                blc__GFT=block__2OT;
+              };
+              ((__MEMORY *)blc__GFT)->size_and_id__JD=(__UINTEGER_32)(blc__GFT->size_and_id__JD -  4096);
+              Self__LFT=((__MEMORY *)blc__GFT);
+              result__MFT=((__POINTER )((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__LFT) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__LFT->size_and_id__JD &  4294967292LU))))));
+              if (((__UINTEGER_32)(((__MEMORY *)blc__GFT)->size_and_id__JD &  4294967292LU) < ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+                Self__NFT=((__MEMORY *)blc__GFT);
+                prev__OFT=Self__NFT->previous_free__LD;
+                next__PFT=Self__NFT->next_free__KD;
+                if (((void *)prev__OFT == (void *)NULL)) {
+                  first_free__LMD=next__PFT;
+                } else {
+                  ((__MEMORY *)prev__OFT)->next_free__KD=next__PFT;
+                };
+                if (((void *)next__PFT != (void *)NULL)) {
+                  ((__MEMORY *)next__PFT)->previous_free__LD=prev__OFT;
+                };
+                pv__IFT=blc__GFT->previous_linear__ID;
+                if ((pv__IFT !=  4294967295LU)) {
+                  prev__HFT=((__MEMORY *)(void *)((unsigned long)begin_memory__2RB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )pv__IFT))));
+                  ((__MEMORY *)prev__HFT)->size_and_id__JD=(__UINTEGER_32)((__UINTEGER_32)(prev__HFT->size_and_id__JD + blc__GFT->size_and_id__JD) +  8);
+                  last_block[(idx__FFT)] = (prev__HFT);
+                };
+              };
+              ((__POINTER *)result__MFT)[ 0]=((__POINTER )new_size__C0S);
+              result__F0S=(void *)((unsigned long)result__MFT - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+              next__E0S=(void *)((unsigned long)result__F0S - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__C0S)));
+              ((__POINTER *)next__E0S)[ 0]=NULL;
+              ((__POINTER *)ptr_table__D0S)[ 0]=next__E0S;
+            } else {
+              next__E0S=((__POINTER *)result__F0S)[ 0];
+              if ((next__E0S == (void *)NULL)) {
+                if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__F0S - (unsigned long)begin_memory__2RB)))) &  4095) + (__UINTEGER_32)(new_size__C0S <<  1)) <=  4096)) {
+                  next__E0S=(void *)((unsigned long)result__F0S - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__C0S)));
+                } else {
+                  idx__RFT= 0;
+                  blc__SFT=NULL;
+                  prev__TFT=NULL;
+                  pv__UFT= 0;
+                  while_do__2AC__WFT:
+                  {
+                    if ((idx__RFT < nb_page__L2B)) {
+                      blc__SFT=((__MEMORY *)(last_block[(idx__RFT)]));
+                      __tmp__VFT=(((__UINTEGER_32)(((__MEMORY *)blc__SFT)->size_and_id__JD &  4294967292LU) <  4096) || ((__UINTEGER_32)(((__MEMORY *)blc__SFT)->size_and_id__JD &  1) ==  1));
+                    } else {
+                      __tmp__VFT=FALSE__;
+                    };
+                    if (__tmp__VFT) {
+                      idx__RFT=(__UINTEGER_32)(idx__RFT +  1);
+                      goto while_do__2AC__WFT;
+                    };
+                  };
+                  if ((idx__RFT >= nb_page__L2B)) {
+                    if ((capacity_max__NTD ==  0)) {
+                      mem__3OT=((__POINTER )(NULL));
+                      cap__4OT= 33554432;
+                      do {
+                        cap__4OT=(__UINTEGER_32)(cap__4OT <<  1);
+                        mem__3OT=((__POINTER )(malloc((cap__4OT))));
+                        if ((mem__3OT != (void *)NULL)) {
+                          free((mem__3OT));
+                        };
+                      } while ((! ((mem__3OT == (void *)NULL) || (cap__4OT ==  2147483648LU))));
+                      if ((mem__3OT == (void *)NULL)) {
+                        cap__4OT=(__UINTEGER_32)(cap__4OT >>  1);
+                      };
+                      capacity_max__NTD=cap__4OT;
+                      begin_memory__2RB=((__POINTER )(malloc((cap__4OT))));
+                    };
+                    old_size__APT=(__UINTEGER_32)(nb_page__L2B <<  26);
+                    nb_page__L2B=(__UINTEGER_32)(nb_page__L2B +  1);
+                    if (((__UINTEGER_32)(old_size__APT +  67108864) > capacity_max__NTD)) {
+                      __tmp__BPT=((__STRING_CONSTANT *)(&__string_1))->count__XHB;
+                      Self__CPT= 1;
+                      __tmp__DPT=((__STRING_CONSTANT *)(&__string_1))->storage__YLE;
+                      while ((Self__CPT <= __tmp__BPT)) {
+                        fputc((int)(((__CHARACTER *)__tmp__DPT)[(__INTEGER)(Self__CPT -  1)]),stdout);
+                        Self__CPT=(__INTEGER)(Self__CPT +  1);
+                      };
+                      exit(( 1));
+                    };
+                    block__FPT=((__MEMORY *)(void *)((unsigned long)begin_memory__2RB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )old_size__APT))));
+                    block__FPT->previous_linear__ID= 4294967295LU;
+                    block__FPT->size_and_id__JD= 67108858;
+                    block__FPT->next_free__KD=first_free__LMD;
+                    block__FPT->previous_free__LD=NULL;
+                    if (((void *)first_free__LMD != (void *)NULL)) {
+                      ((__MEMORY *)first_free__LMD)->previous_free__LD=block__FPT;
+                    };
+                    first_free__LMD=block__FPT;
+                    last_block[((__UINTEGER_32)(nb_page__L2B -  1))] = (block__FPT);
+                    blc__SFT=block__FPT;
+                  };
+                  ((__MEMORY *)blc__SFT)->size_and_id__JD=(__UINTEGER_32)(blc__SFT->size_and_id__JD -  4096);
+                  Self__XFT=((__MEMORY *)blc__SFT);
+                  result__YFT=((__POINTER )((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__XFT) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__XFT->size_and_id__JD &  4294967292LU))))));
+                  if (((__UINTEGER_32)(((__MEMORY *)blc__SFT)->size_and_id__JD &  4294967292LU) < ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+                    Self__ZFT=((__MEMORY *)blc__SFT);
+                    prev__0FT=Self__ZFT->previous_free__LD;
+                    next__1FT=Self__ZFT->next_free__KD;
+                    if (((void *)prev__0FT == (void *)NULL)) {
+                      first_free__LMD=next__1FT;
+                    } else {
+                      ((__MEMORY *)prev__0FT)->next_free__KD=next__1FT;
+                    };
+                    if (((void *)next__1FT != (void *)NULL)) {
+                      ((__MEMORY *)next__1FT)->previous_free__LD=prev__0FT;
+                    };
+                    pv__UFT=blc__SFT->previous_linear__ID;
+                    if ((pv__UFT !=  4294967295LU)) {
+                      prev__TFT=((__MEMORY *)(void *)((unsigned long)begin_memory__2RB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )pv__UFT))));
+                      ((__MEMORY *)prev__TFT)->size_and_id__JD=(__UINTEGER_32)((__UINTEGER_32)(prev__TFT->size_and_id__JD + blc__SFT->size_and_id__JD) +  8);
+                      last_block[(idx__RFT)] = (prev__TFT);
+                    };
+                  };
+                  ((__POINTER *)result__YFT)[ 0]=((__POINTER )new_size__C0S);
+                  next__E0S=(void *)((unsigned long)result__YFT - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+                };
+                ((__POINTER *)next__E0S)[ 0]=NULL;
+                ((__POINTER *)ptr_table__D0S)[ 0]=next__E0S;
+              } else {
+                ((__POINTER *)result__F0S)[ 0]=(void *)((unsigned long)((__POINTER *)next__E0S)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+                result__F0S=next__E0S;
+              };
+            };
+            ((__POINTER *)result__F0S)[ 0]=((__POINTER ) 3);
+            result__3ZS=(void *)((unsigned long)result__F0S - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+          } else {
+            result__32S=first_free__LMD;
+            while ((((void *)result__32S != (void *)NULL) && ((__UINTEGER_32)(((__MEMORY *)result__32S)->size_and_id__JD &  4294967292LU) < new_size__5ZS))) {
+              result__32S=result__32S->next_free__KD;
+            };
+            if (((void *)result__32S == (void *)NULL)) {
+              if ((capacity_max__NTD ==  0)) {
+                mem__GPT=((__POINTER )(NULL));
+                cap__HPT= 33554432;
+                do {
+                  cap__HPT=(__UINTEGER_32)(cap__HPT <<  1);
+                  mem__GPT=((__POINTER )(malloc((cap__HPT))));
+                  if ((mem__GPT != (void *)NULL)) {
+                    free((mem__GPT));
+                  };
+                } while ((! ((mem__GPT == (void *)NULL) || (cap__HPT ==  2147483648LU))));
+                if ((mem__GPT == (void *)NULL)) {
+                  cap__HPT=(__UINTEGER_32)(cap__HPT >>  1);
+                };
+                capacity_max__NTD=cap__HPT;
+                begin_memory__2RB=((__POINTER )(malloc((cap__HPT))));
+              };
+              old_size__JPT=(__UINTEGER_32)(nb_page__L2B <<  26);
+              nb_page__L2B=(__UINTEGER_32)(nb_page__L2B +  1);
+              if (((__UINTEGER_32)(old_size__JPT +  67108864) > capacity_max__NTD)) {
+                __tmp__KPT=((__STRING_CONSTANT *)(&__string_1))->count__XHB;
+                Self__LPT= 1;
+                __tmp__MPT=((__STRING_CONSTANT *)(&__string_1))->storage__YLE;
+                while ((Self__LPT <= __tmp__KPT)) {
+                  fputc((int)(((__CHARACTER *)__tmp__MPT)[(__INTEGER)(Self__LPT -  1)]),stdout);
+                  Self__LPT=(__INTEGER)(Self__LPT +  1);
+                };
+                exit(( 1));
+              };
+              block__OPT=((__MEMORY *)(void *)((unsigned long)begin_memory__2RB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )old_size__JPT))));
+              block__OPT->previous_linear__ID= 4294967295LU;
+              block__OPT->size_and_id__JD= 67108858;
+              block__OPT->next_free__KD=first_free__LMD;
+              block__OPT->previous_free__LD=NULL;
+              if (((void *)first_free__LMD != (void *)NULL)) {
+                ((__MEMORY *)first_free__LMD)->previous_free__LD=block__OPT;
+              };
+              first_free__LMD=block__OPT;
+              last_block[((__UINTEGER_32)(nb_page__L2B -  1))] = (block__OPT);
+              result__32S=block__OPT;
+            };
+            Self__A3S=((__MEMORY *)result__32S);
+            idx__B3S=(__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )((__MEMORY *)result__32S)) - (unsigned long)begin_memory__2RB)))) >>  26);
+            new__C3S=NULL;
+            prev__D3S=Self__A3S->previous_free__LD;
+            next__E3S=Self__A3S->next_free__KD;
+            if (((void *)prev__D3S == (void *)NULL)) {
+              first_free__LMD=next__E3S;
+            } else {
+              ((__MEMORY *)prev__D3S)->next_free__KD=next__E3S;
+            };
+            if (((void *)next__E3S != (void *)NULL)) {
+              ((__MEMORY *)next__E3S)->previous_free__LD=prev__D3S;
+            };
+            siz__F3S=Self__A3S->size_and_id__JD;
+            new_size__G3S=(__UINTEGER_32)(siz__F3S - new_size__5ZS);
+            if ((new_size__G3S > (__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )(MINIMUM_SIZE)) +  2) +  8))) {
+              siz__F3S=new_size__5ZS;
+              new__C3S=((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__A3S) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__5ZS))));
+              ((__MEMORY *)new__C3S)->previous_linear__ID=((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )Self__A3S) - (unsigned long)begin_memory__2RB))));
+              ((__MEMORY *)new__C3S)->size_and_id__JD=(__UINTEGER_32)(new_size__G3S -  8);
+              Self__H3S=((__MEMORY *)new__C3S);
+              Self__H3S->next_free__KD=first_free__LMD;
+              Self__H3S->previous_free__LD=NULL;
+              if (((void *)first_free__LMD != (void *)NULL)) {
+                ((__MEMORY *)first_free__LMD)->previous_free__LD=Self__H3S;
+              };
+              first_free__LMD=Self__H3S;
+              if (((__UINTEGER_32)(((__MEMORY *)new__C3S)->size_and_id__JD &  2) !=  0)) {
+                last_block[(idx__B3S)] = (new__C3S);
+              } else {
+                Self__I3S=((__MEMORY *)new__C3S);
+                ((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__I3S) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__I3S->size_and_id__JD &  4294967292LU)))))->previous_linear__ID=((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )((__MEMORY *)new__C3S)) - (unsigned long)begin_memory__2RB))));
+              };
+            };
+            Self__A3S->size_and_id__JD=(__UINTEGER_32)(siz__F3S |  1);
+            result__3ZS=(void *)((unsigned long)((__POINTER )((__MEMORY *)result__32S)) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+          };
+          Result__G0S=((__CHARACTER *)result__3ZS);
+          Self__H0S= 31;
+          while ((Self__H0S >=  0)) {
+            Result__G0S[Self__H0S]='\0';
+            Self__H0S=(__INTEGER)(Self__H0S -  1);
+          };
+          Self__5GE->storage__2QC=Result__G0S;
+        } else {
+          new_capacity__0DE=(__INTEGER)(Self__5GE->capacity__FW <<  1);
+          __tmp__SEE=Self__5GE->storage__2QC;
+          __tmp__TEE=Self__5GE->capacity__FW;
+          new__CSH=((__CHARACTER *)realloc_dynamic__old_size__new_size__CGI(((__POINTER )((__CHARACTER *)__tmp__SEE)),((__UINTEGER_32 )__tmp__TEE),((__UINTEGER_32 )new_capacity__0DE)));
+          __tmp__VSH=(__INTEGER)(new_capacity__0DE -  1);
+          Self__SYL=__tmp__TEE;
+          while ((Self__SYL <= __tmp__VSH)) {
+            new__CSH[Self__SYL]='\0';
+            Self__SYL=(__INTEGER)(Self__SYL +  1);
+          };
+          Self__5GE->storage__2QC=new__CSH;
+          Self__5GE->capacity__FW=new_capacity__0DE;
+        };
+      };
+      ((__CHARACTER *)Self__5GE->storage__2QC)[Self__5GE->count__DW]=ch__ZDE;
+      Self__5GE->count__DW=(__INTEGER)(Self__5GE->count__DW +  1);
+      i__BHE=(__INTEGER)(i__BHE +  1);
+    };
+    Self__ZHE=((__FAST_ARRAYoSTRINGo *)result__KL);
+    new_capacity__1HE= 0;
+    if (((__INTEGER)(Self__ZHE->parent_arrayed_collection__QC.upper__USC +  1) <= (__INTEGER)(Self__ZHE->parent_arrayed_collection__QC.capacity__ISC -  1))) {
+      Self__ZHE->parent_arrayed_collection__QC.upper__USC=(__INTEGER)(Self__ZHE->parent_arrayed_collection__QC.upper__USC +  1);
+      __tmp__JIE=TRUE__;
+    } else {
+      __tmp__JIE=FALSE__;
+    };
+    if ((! __tmp__JIE)) {
+      if ((Self__ZHE->parent_arrayed_collection__QC.capacity__ISC ==  0)) {
+        sz__DVS=((__UINTEGER_32 )(__INTEGER)(((__INTEGER )(sizeof(void *))) <<  1));
+        result__BVS=((__POINTER )(NULL));
+        a__CVS=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+        new_size__EVS=(__UINTEGER_32)((__UINTEGER_32)(sz__DVS + a__CVS) & (__UINTEGER_32)(~ a__CVS));
+        new_size2__FVS=(__UINTEGER_32)(new_size__EVS + ((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))));
+        if ((new_size2__FVS <= ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+          a__GVS=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+          new_size__HVS=(__UINTEGER_32)((__UINTEGER_32)(new_size2__FVS + a__GVS) & (__UINTEGER_32)(~ a__GVS));
+          ptr_table__OVS=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__HVS / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+          next__NVS=((__POINTER )(NULL));
+          result__PVS=((__POINTER *)ptr_table__OVS)[ 0];
+          if ((result__PVS == (void *)NULL)) {
+            idx__3FT= 0;
+            blc__4FT=NULL;
+            prev__5FT=NULL;
+            pv__AGT= 0;
+            while_do__2AC__CGT:
+            {
+              if ((idx__3FT < nb_page__L2B)) {
+                blc__4FT=((__MEMORY *)(last_block[(idx__3FT)]));
+                __tmp__BGT=(((__UINTEGER_32)(((__MEMORY *)blc__4FT)->size_and_id__JD &  4294967292LU) <  4096) || ((__UINTEGER_32)(((__MEMORY *)blc__4FT)->size_and_id__JD &  1) ==  1));
+              } else {
+                __tmp__BGT=FALSE__;
+              };
+              if (__tmp__BGT) {
+                idx__3FT=(__UINTEGER_32)(idx__3FT +  1);
+                goto while_do__2AC__CGT;
+              };
+            };
+            if ((idx__3FT >= nb_page__L2B)) {
+              if ((capacity_max__NTD ==  0)) {
+                mem__PPT=((__POINTER )(NULL));
+                cap__QPT= 33554432;
+                do {
+                  cap__QPT=(__UINTEGER_32)(cap__QPT <<  1);
+                  mem__PPT=((__POINTER )(malloc((cap__QPT))));
+                  if ((mem__PPT != (void *)NULL)) {
+                    free((mem__PPT));
+                  };
+                } while ((! ((mem__PPT == (void *)NULL) || (cap__QPT ==  2147483648LU))));
+                if ((mem__PPT == (void *)NULL)) {
+                  cap__QPT=(__UINTEGER_32)(cap__QPT >>  1);
+                };
+                capacity_max__NTD=cap__QPT;
+                begin_memory__2RB=((__POINTER )(malloc((cap__QPT))));
+              };
+              old_size__SPT=(__UINTEGER_32)(nb_page__L2B <<  26);
+              nb_page__L2B=(__UINTEGER_32)(nb_page__L2B +  1);
+              if (((__UINTEGER_32)(old_size__SPT +  67108864) > capacity_max__NTD)) {
+                __tmp__TPT=((__STRING_CONSTANT *)(&__string_1))->count__XHB;
+                Self__UPT= 1;
+                __tmp__VPT=((__STRING_CONSTANT *)(&__string_1))->storage__YLE;
+                while ((Self__UPT <= __tmp__TPT)) {
+                  fputc((int)(((__CHARACTER *)__tmp__VPT)[(__INTEGER)(Self__UPT -  1)]),stdout);
+                  Self__UPT=(__INTEGER)(Self__UPT +  1);
+                };
+                exit(( 1));
+              };
+              block__XPT=((__MEMORY *)(void *)((unsigned long)begin_memory__2RB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )old_size__SPT))));
+              block__XPT->previous_linear__ID= 4294967295LU;
+              block__XPT->size_and_id__JD= 67108858;
+              block__XPT->next_free__KD=first_free__LMD;
+              block__XPT->previous_free__LD=NULL;
+              if (((void *)first_free__LMD != (void *)NULL)) {
+                ((__MEMORY *)first_free__LMD)->previous_free__LD=block__XPT;
+              };
+              first_free__LMD=block__XPT;
+              last_block[((__UINTEGER_32)(nb_page__L2B -  1))] = (block__XPT);
+              blc__4FT=block__XPT;
+            };
+            ((__MEMORY *)blc__4FT)->size_and_id__JD=(__UINTEGER_32)(blc__4FT->size_and_id__JD -  4096);
+            Self__DGT=((__MEMORY *)blc__4FT);
+            result__EGT=((__POINTER )((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__DGT) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__DGT->size_and_id__JD &  4294967292LU))))));
+            if (((__UINTEGER_32)(((__MEMORY *)blc__4FT)->size_and_id__JD &  4294967292LU) < ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+              Self__FGT=((__MEMORY *)blc__4FT);
+              prev__GGT=Self__FGT->previous_free__LD;
+              next__HGT=Self__FGT->next_free__KD;
+              if (((void *)prev__GGT == (void *)NULL)) {
+                first_free__LMD=next__HGT;
+              } else {
+                ((__MEMORY *)prev__GGT)->next_free__KD=next__HGT;
+              };
+              if (((void *)next__HGT != (void *)NULL)) {
+                ((__MEMORY *)next__HGT)->previous_free__LD=prev__GGT;
+              };
+              pv__AGT=blc__4FT->previous_linear__ID;
+              if ((pv__AGT !=  4294967295LU)) {
+                prev__5FT=((__MEMORY *)(void *)((unsigned long)begin_memory__2RB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )pv__AGT))));
+                ((__MEMORY *)prev__5FT)->size_and_id__JD=(__UINTEGER_32)((__UINTEGER_32)(prev__5FT->size_and_id__JD + blc__4FT->size_and_id__JD) +  8);
+                last_block[(idx__3FT)] = (prev__5FT);
+              };
+            };
+            ((__POINTER *)result__EGT)[ 0]=((__POINTER )new_size__HVS);
+            result__PVS=(void *)((unsigned long)result__EGT - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+            next__NVS=(void *)((unsigned long)result__PVS - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__HVS)));
+            ((__POINTER *)next__NVS)[ 0]=NULL;
+            ((__POINTER *)ptr_table__OVS)[ 0]=next__NVS;
+          } else {
+            next__NVS=((__POINTER *)result__PVS)[ 0];
+            if ((next__NVS == (void *)NULL)) {
+              if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__PVS - (unsigned long)begin_memory__2RB)))) &  4095) + (__UINTEGER_32)(new_size__HVS <<  1)) <=  4096)) {
+                next__NVS=(void *)((unsigned long)result__PVS - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__HVS)));
+              } else {
+                idx__JGT= 0;
+                blc__KGT=NULL;
+                prev__LGT=NULL;
+                pv__MGT= 0;
+                while_do__2AC__OGT:
+                {
+                  if ((idx__JGT < nb_page__L2B)) {
+                    blc__KGT=((__MEMORY *)(last_block[(idx__JGT)]));
+                    __tmp__NGT=(((__UINTEGER_32)(((__MEMORY *)blc__KGT)->size_and_id__JD &  4294967292LU) <  4096) || ((__UINTEGER_32)(((__MEMORY *)blc__KGT)->size_and_id__JD &  1) ==  1));
+                  } else {
+                    __tmp__NGT=FALSE__;
+                  };
+                  if (__tmp__NGT) {
+                    idx__JGT=(__UINTEGER_32)(idx__JGT +  1);
+                    goto while_do__2AC__OGT;
+                  };
+                };
+                if ((idx__JGT >= nb_page__L2B)) {
+                  if ((capacity_max__NTD ==  0)) {
+                    mem__YPT=((__POINTER )(NULL));
+                    cap__ZPT= 33554432;
+                    do {
+                      cap__ZPT=(__UINTEGER_32)(cap__ZPT <<  1);
+                      mem__YPT=((__POINTER )(malloc((cap__ZPT))));
+                      if ((mem__YPT != (void *)NULL)) {
+                        free((mem__YPT));
+                      };
+                    } while ((! ((mem__YPT == (void *)NULL) || (cap__ZPT ==  2147483648LU))));
+                    if ((mem__YPT == (void *)NULL)) {
+                      cap__ZPT=(__UINTEGER_32)(cap__ZPT >>  1);
+                    };
+                    capacity_max__NTD=cap__ZPT;
+                    begin_memory__2RB=((__POINTER )(malloc((cap__ZPT))));
+                  };
+                  old_size__1PT=(__UINTEGER_32)(nb_page__L2B <<  26);
+                  nb_page__L2B=(__UINTEGER_32)(nb_page__L2B +  1);
+                  if (((__UINTEGER_32)(old_size__1PT +  67108864) > capacity_max__NTD)) {
+                    __tmp__2PT=((__STRING_CONSTANT *)(&__string_1))->count__XHB;
+                    Self__3PT= 1;
+                    __tmp__4PT=((__STRING_CONSTANT *)(&__string_1))->storage__YLE;
+                    while ((Self__3PT <= __tmp__2PT)) {
+                      fputc((int)(((__CHARACTER *)__tmp__4PT)[(__INTEGER)(Self__3PT -  1)]),stdout);
+                      Self__3PT=(__INTEGER)(Self__3PT +  1);
+                    };
+                    exit(( 1));
+                  };
+                  block__AQT=((__MEMORY *)(void *)((unsigned long)begin_memory__2RB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )old_size__1PT))));
+                  block__AQT->previous_linear__ID= 4294967295LU;
+                  block__AQT->size_and_id__JD= 67108858;
+                  block__AQT->next_free__KD=first_free__LMD;
+                  block__AQT->previous_free__LD=NULL;
+                  if (((void *)first_free__LMD != (void *)NULL)) {
+                    ((__MEMORY *)first_free__LMD)->previous_free__LD=block__AQT;
+                  };
+                  first_free__LMD=block__AQT;
+                  last_block[((__UINTEGER_32)(nb_page__L2B -  1))] = (block__AQT);
+                  blc__KGT=block__AQT;
+                };
+                ((__MEMORY *)blc__KGT)->size_and_id__JD=(__UINTEGER_32)(blc__KGT->size_and_id__JD -  4096);
+                Self__PGT=((__MEMORY *)blc__KGT);
+                result__QGT=((__POINTER )((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__PGT) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__PGT->size_and_id__JD &  4294967292LU))))));
+                if (((__UINTEGER_32)(((__MEMORY *)blc__KGT)->size_and_id__JD &  4294967292LU) < ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+                  Self__RGT=((__MEMORY *)blc__KGT);
+                  prev__SGT=Self__RGT->previous_free__LD;
+                  next__TGT=Self__RGT->next_free__KD;
+                  if (((void *)prev__SGT == (void *)NULL)) {
+                    first_free__LMD=next__TGT;
+                  } else {
+                    ((__MEMORY *)prev__SGT)->next_free__KD=next__TGT;
+                  };
+                  if (((void *)next__TGT != (void *)NULL)) {
+                    ((__MEMORY *)next__TGT)->previous_free__LD=prev__SGT;
+                  };
+                  pv__MGT=blc__KGT->previous_linear__ID;
+                  if ((pv__MGT !=  4294967295LU)) {
+                    prev__LGT=((__MEMORY *)(void *)((unsigned long)begin_memory__2RB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )pv__MGT))));
+                    ((__MEMORY *)prev__LGT)->size_and_id__JD=(__UINTEGER_32)((__UINTEGER_32)(prev__LGT->size_and_id__JD + blc__KGT->size_and_id__JD) +  8);
+                    last_block[(idx__JGT)] = (prev__LGT);
+                  };
+                };
+                ((__POINTER *)result__QGT)[ 0]=((__POINTER )new_size__HVS);
+                next__NVS=(void *)((unsigned long)result__QGT - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+              };
+              ((__POINTER *)next__NVS)[ 0]=NULL;
+              ((__POINTER *)ptr_table__OVS)[ 0]=next__NVS;
+            } else {
+              ((__POINTER *)result__PVS)[ 0]=(void *)((unsigned long)((__POINTER *)next__NVS)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+              result__PVS=next__NVS;
+            };
+          };
+          ((__POINTER *)result__PVS)[ 0]=((__POINTER ) 3);
+          result__BVS=(void *)((unsigned long)result__PVS - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+        } else {
+          result__J3S=first_free__LMD;
+          while ((((void *)result__J3S != (void *)NULL) && ((__UINTEGER_32)(((__MEMORY *)result__J3S)->size_and_id__JD &  4294967292LU) < new_size__EVS))) {
+            result__J3S=result__J3S->next_free__KD;
+          };
+          if (((void *)result__J3S == (void *)NULL)) {
+            if ((capacity_max__NTD ==  0)) {
+              mem__BQT=((__POINTER )(NULL));
+              cap__CQT= 33554432;
+              do {
+                cap__CQT=(__UINTEGER_32)(cap__CQT <<  1);
+                mem__BQT=((__POINTER )(malloc((cap__CQT))));
+                if ((mem__BQT != (void *)NULL)) {
+                  free((mem__BQT));
+                };
+              } while ((! ((mem__BQT == (void *)NULL) || (cap__CQT ==  2147483648LU))));
+              if ((mem__BQT == (void *)NULL)) {
+                cap__CQT=(__UINTEGER_32)(cap__CQT >>  1);
+              };
+              capacity_max__NTD=cap__CQT;
+              begin_memory__2RB=((__POINTER )(malloc((cap__CQT))));
+            };
+            old_size__EQT=(__UINTEGER_32)(nb_page__L2B <<  26);
+            nb_page__L2B=(__UINTEGER_32)(nb_page__L2B +  1);
+            if (((__UINTEGER_32)(old_size__EQT +  67108864) > capacity_max__NTD)) {
+              __tmp__FQT=((__STRING_CONSTANT *)(&__string_1))->count__XHB;
+              Self__GQT= 1;
+              __tmp__HQT=((__STRING_CONSTANT *)(&__string_1))->storage__YLE;
+              while ((Self__GQT <= __tmp__FQT)) {
+                fputc((int)(((__CHARACTER *)__tmp__HQT)[(__INTEGER)(Self__GQT -  1)]),stdout);
+                Self__GQT=(__INTEGER)(Self__GQT +  1);
+              };
+              exit(( 1));
+            };
+            block__JQT=((__MEMORY *)(void *)((unsigned long)begin_memory__2RB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )old_size__EQT))));
+            block__JQT->previous_linear__ID= 4294967295LU;
+            block__JQT->size_and_id__JD= 67108858;
+            block__JQT->next_free__KD=first_free__LMD;
+            block__JQT->previous_free__LD=NULL;
+            if (((void *)first_free__LMD != (void *)NULL)) {
+              ((__MEMORY *)first_free__LMD)->previous_free__LD=block__JQT;
+            };
+            first_free__LMD=block__JQT;
+            last_block[((__UINTEGER_32)(nb_page__L2B -  1))] = (block__JQT);
+            result__J3S=block__JQT;
+          };
+          Self__M3S=((__MEMORY *)result__J3S);
+          idx__N3S=(__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )((__MEMORY *)result__J3S)) - (unsigned long)begin_memory__2RB)))) >>  26);
+          new__O3S=NULL;
+          prev__P3S=Self__M3S->previous_free__LD;
+          next__Q3S=Self__M3S->next_free__KD;
+          if (((void *)prev__P3S == (void *)NULL)) {
+            first_free__LMD=next__Q3S;
+          } else {
+            ((__MEMORY *)prev__P3S)->next_free__KD=next__Q3S;
+          };
+          if (((void *)next__Q3S != (void *)NULL)) {
+            ((__MEMORY *)next__Q3S)->previous_free__LD=prev__P3S;
+          };
+          siz__R3S=Self__M3S->size_and_id__JD;
+          new_size__S3S=(__UINTEGER_32)(siz__R3S - new_size__EVS);
+          if ((new_size__S3S > (__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )(MINIMUM_SIZE)) +  2) +  8))) {
+            siz__R3S=new_size__EVS;
+            new__O3S=((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__M3S) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__EVS))));
+            ((__MEMORY *)new__O3S)->previous_linear__ID=((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )Self__M3S) - (unsigned long)begin_memory__2RB))));
+            ((__MEMORY *)new__O3S)->size_and_id__JD=(__UINTEGER_32)(new_size__S3S -  8);
+            Self__T3S=((__MEMORY *)new__O3S);
+            Self__T3S->next_free__KD=first_free__LMD;
+            Self__T3S->previous_free__LD=NULL;
+            if (((void *)first_free__LMD != (void *)NULL)) {
+              ((__MEMORY *)first_free__LMD)->previous_free__LD=Self__T3S;
+            };
+            first_free__LMD=Self__T3S;
+            if (((__UINTEGER_32)(((__MEMORY *)new__O3S)->size_and_id__JD &  2) !=  0)) {
+              last_block[(idx__N3S)] = (new__O3S);
+            } else {
+              Self__U3S=((__MEMORY *)new__O3S);
+              ((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__U3S) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__U3S->size_and_id__JD &  4294967292LU)))))->previous_linear__ID=((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )((__MEMORY *)new__O3S)) - (unsigned long)begin_memory__2RB))));
+            };
+          };
+          Self__M3S->size_and_id__JD=(__UINTEGER_32)(siz__R3S |  1);
+          result__BVS=(void *)((unsigned long)((__POINTER )((__MEMORY *)result__J3S)) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+        };
+        Result__DOG=((void **)result__BVS);
+        Self__KOI= 1;
+        while ((Self__KOI >=  0)) {
+          Result__DOG[Self__KOI]=NULL;
+          Self__KOI=(__INTEGER)(Self__KOI -  1);
+        };
+        Self__ZHE->parent_arrayed_collection__QC.storage__FNC=Result__DOG;
+        Self__ZHE->parent_arrayed_collection__QC.capacity__ISC= 2;
+        Self__ZHE->parent_arrayed_collection__QC.upper__USC= 0;
+      } else {
+        new_capacity__1HE=(__INTEGER)(Self__ZHE->parent_arrayed_collection__QC.capacity__ISC <<  1);
+        __tmp__4IE=Self__ZHE->parent_arrayed_collection__QC.storage__FNC;
+        __tmp__5IE=Self__ZHE->parent_arrayed_collection__QC.capacity__ISC;
+        new__ZTH=((void **)realloc_dynamic__old_size__new_size__CGI(((__POINTER )((void **)__tmp__4IE)),((__UINTEGER_32 )(__INTEGER)(__tmp__5IE * ((__INTEGER )(sizeof(void *))))),((__UINTEGER_32 )(__INTEGER)(new_capacity__1HE * ((__INTEGER )(sizeof(void *)))))));
+        __tmp__MUH=(__INTEGER)(new_capacity__1HE -  1);
+        Self__R0L=__tmp__5IE;
+        while ((Self__R0L <= __tmp__MUH)) {
+          new__ZTH[Self__R0L]=NULL;
+          Self__R0L=(__INTEGER)(Self__R0L +  1);
+        };
+        Self__ZHE->parent_arrayed_collection__QC.storage__FNC=new__ZTH;
+        Self__ZHE->parent_arrayed_collection__QC.capacity__ISC=new_capacity__1HE;
+        Self__ZHE->parent_arrayed_collection__QC.upper__USC=(__INTEGER)(Self__ZHE->parent_arrayed_collection__QC.upper__USC +  1);
+      };
+    };
+    ((void **)Self__ZHE->parent_arrayed_collection__QC.storage__FNC)[Self__ZHE->parent_arrayed_collection__QC.upper__USC]=str__ML;
+    Self__HX=(__INTEGER)(Self__HX +  1);
+  };
+  nbodies__AB= 0;
+  bodies__GB=NULL;
+  pi__GR=((__REAL_64 )(3.141592653589793));
+  solar_mass__ZD=(__REAL_64)((__REAL_64)(pi__GR * pi__GR) * ((__REAL_64 )4.0));
+  PLANET__->mass__1D=((__REAL_64 ) 0);
+  PLANET__->x__5D=((__REAL_64 ) 0);
+  PLANET__->y__BE=((__REAL_64 ) 0);
+  PLANET__->z__DE=((__REAL_64 ) 0);
+  days_per_year__FE=((__REAL_64 )365.24);
+  PLANET__->vx__IE=((__REAL_64 ) 0);
+  PLANET__->vy__ME=((__REAL_64 ) 0);
+  PLANET__->vz__QE=((__REAL_64 ) 0);
+  string_tmp__TK=create__Q3( 32);
+  b__VXD=NULL;
+  b2__AYD=NULL;
+  dx__GYD=((__REAL_64 ) 0);
+  dy__MYD=((__REAL_64 ) 0);
+  dz__SYD=((__REAL_64 ) 0);
+  distance__AZD=((__REAL_64 ) 0);
+  mag__IZD=((__REAL_64 ) 0);
+  Self__JIL=((__STRING *)((void **)((__FAST_ARRAYoSTRINGo *)result__Q4)->parent_arrayed_collection__QC.storage__FNC)[ 1]);
+  state__MIL= 0;
+  cc__NIL='\0';
+  negative__OIL=FALSE__;
+  result__PIL= 0;
+  i__LIL= 1;
+  __tmp__JTS=Self__JIL->count__DW;
+  __tmp__KTS=Self__JIL->storage__2QC;
+  __tmp__LTS=Self__JIL->count__DW;
+  while ((i__LIL <= __tmp__JTS)) {
+    cc__NIL=((__CHARACTER *)__tmp__KTS)[(__INTEGER)(i__LIL -  1)];
+    if ((state__MIL ==  0)) {
+      if ((((((((cc__NIL == ' ') || (cc__NIL == '\t')) || (cc__NIL == '\n')) || (cc__NIL == '\r')) || (cc__NIL == '\0')) || (cc__NIL == '\f')) || (cc__NIL == '\v'))) {
+        __tmp__1JL=TRUE__;
+      } else {
+        result__T3P=(cc__NIL == '+');
+        if (result__T3P) {
+          state__MIL= 1;
+        };
+        __tmp__1JL=result__T3P;
+      };
+      if ((! __tmp__1JL)) {
+        if ((cc__NIL == '-')) {
+          negative__OIL=TRUE__;
+          state__MIL= 1;
+        } else {
+          result__PIL=(__INTEGER)(((__INTEGER )((__INTEGER_8 )cc__NIL)) -  48);
+          state__MIL= 2;
+        };
+      };
+      __tmp__OKL=TRUE__;
+    } else {
+      __tmp__OKL=FALSE__;
+    };
+    if (__tmp__OKL) {
+      __tmp__DLL=TRUE__;
+    } else {
+      result__QRO=(state__MIL ==  1);
+      if (result__QRO) {
+        result__PIL=(__INTEGER)(((__INTEGER )((__INTEGER_8 )cc__NIL)) -  48);
+        if (negative__OIL) {
+          result__PIL=(__INTEGER)(- result__PIL);
+        };
+        state__MIL= 2;
+      };
+      __tmp__DLL=result__QRO;
+    };
+    if (__tmp__DLL) {
+      __tmp__KML=TRUE__;
+    } else {
+      result__CSO=(state__MIL ==  2);
+      if (result__CSO) {
+        result__JFP=FALSE__;
+        if ((((__INTEGER_8 )cc__NIL) >= ((__INTEGER_8 )'0'))) {
+          result__JFP=(((__INTEGER_8 )cc__NIL) <= ((__INTEGER_8 )'9'));
+        };
+        if (result__JFP) {
+          if (negative__OIL) {
+            result__PIL=(__INTEGER)((__INTEGER)( 10 * result__PIL) - (__INTEGER)(((__INTEGER )((__INTEGER_8 )cc__NIL)) -  48));
+          } else {
+            result__PIL=(__INTEGER)((__INTEGER)( 10 * result__PIL) + (__INTEGER)(((__INTEGER )((__INTEGER_8 )cc__NIL)) -  48));
+          };
+        } else {
+          state__MIL= 3;
+        };
+      };
+      __tmp__KML=result__CSO;
+    };
+    if ((! __tmp__KML)) {
+      if ((state__MIL ==  3)) {
+        i__LIL=__tmp__LTS;
+      };
+    };
+    i__LIL=(__INTEGER)(i__LIL +  1);
+  };
+  nbodies__AB= 4;
+  sz__ZUS=((__UINTEGER_32 )(__INTEGER)(sizeof(__PLANET) <<  2));
+  result__XUS=((__POINTER )(NULL));
+  a__YUS=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+  new_size__0US=(__UINTEGER_32)((__UINTEGER_32)(sz__ZUS + a__YUS) & (__UINTEGER_32)(~ a__YUS));
+  new_size2__1US=(__UINTEGER_32)(new_size__0US + ((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))));
+  if ((new_size2__1US <= ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+    a__2US=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+    new_size__3US=(__UINTEGER_32)((__UINTEGER_32)(new_size2__1US + a__2US) & (__UINTEGER_32)(~ a__2US));
+    ptr_table__CQB=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__3US / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+    next__HQB=((__POINTER )(NULL));
+    result__FQB=((__POINTER *)ptr_table__CQB)[ 0];
+    if ((result__FQB == (void *)NULL)) {
+      idx__VGT= 0;
+      blc__WGT=NULL;
+      prev__XGT=NULL;
+      pv__YGT= 0;
+      while_do__2AC__0GT:
+      {
+        if ((idx__VGT < nb_page__L2B)) {
+          blc__WGT=((__MEMORY *)(last_block[(idx__VGT)]));
+          __tmp__ZGT=(((__UINTEGER_32)(((__MEMORY *)blc__WGT)->size_and_id__JD &  4294967292LU) <  4096) || ((__UINTEGER_32)(((__MEMORY *)blc__WGT)->size_and_id__JD &  1) ==  1));
+        } else {
+          __tmp__ZGT=FALSE__;
+        };
+        if (__tmp__ZGT) {
+          idx__VGT=(__UINTEGER_32)(idx__VGT +  1);
+          goto while_do__2AC__0GT;
+        };
+      };
+      if ((idx__VGT >= nb_page__L2B)) {
+        if ((capacity_max__NTD ==  0)) {
+          mem__KQT=((__POINTER )(NULL));
+          cap__LQT= 33554432;
+          do {
+            cap__LQT=(__UINTEGER_32)(cap__LQT <<  1);
+            mem__KQT=((__POINTER )(malloc((cap__LQT))));
+            if ((mem__KQT != (void *)NULL)) {
+              free((mem__KQT));
+            };
+          } while ((! ((mem__KQT == (void *)NULL) || (cap__LQT ==  2147483648LU))));
+          if ((mem__KQT == (void *)NULL)) {
+            cap__LQT=(__UINTEGER_32)(cap__LQT >>  1);
+          };
+          capacity_max__NTD=cap__LQT;
+          begin_memory__2RB=((__POINTER )(malloc((cap__LQT))));
+        };
+        old_size__NQT=(__UINTEGER_32)(nb_page__L2B <<  26);
+        nb_page__L2B=(__UINTEGER_32)(nb_page__L2B +  1);
+        if (((__UINTEGER_32)(old_size__NQT +  67108864) > capacity_max__NTD)) {
+          __tmp__OQT=((__STRING_CONSTANT *)(&__string_1))->count__XHB;
+          Self__PQT= 1;
+          __tmp__QQT=((__STRING_CONSTANT *)(&__string_1))->storage__YLE;
+          while ((Self__PQT <= __tmp__OQT)) {
+            fputc((int)(((__CHARACTER *)__tmp__QQT)[(__INTEGER)(Self__PQT -  1)]),stdout);
+            Self__PQT=(__INTEGER)(Self__PQT +  1);
+          };
+          exit(( 1));
+        };
+        block__SQT=((__MEMORY *)(void *)((unsigned long)begin_memory__2RB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )old_size__NQT))));
+        block__SQT->previous_linear__ID= 4294967295LU;
+        block__SQT->size_and_id__JD= 67108858;
+        block__SQT->next_free__KD=first_free__LMD;
+        block__SQT->previous_free__LD=NULL;
+        if (((void *)first_free__LMD != (void *)NULL)) {
+          ((__MEMORY *)first_free__LMD)->previous_free__LD=block__SQT;
+        };
+        first_free__LMD=block__SQT;
+        last_block[((__UINTEGER_32)(nb_page__L2B -  1))] = (block__SQT);
+        blc__WGT=block__SQT;
+      };
+      ((__MEMORY *)blc__WGT)->size_and_id__JD=(__UINTEGER_32)(blc__WGT->size_and_id__JD -  4096);
+      Self__1GT=((__MEMORY *)blc__WGT);
+      result__2GT=((__POINTER )((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__1GT) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__1GT->size_and_id__JD &  4294967292LU))))));
+      if (((__UINTEGER_32)(((__MEMORY *)blc__WGT)->size_and_id__JD &  4294967292LU) < ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+        Self__3GT=((__MEMORY *)blc__WGT);
+        prev__4GT=Self__3GT->previous_free__LD;
+        next__5GT=Self__3GT->next_free__KD;
+        if (((void *)prev__4GT == (void *)NULL)) {
+          first_free__LMD=next__5GT;
+        } else {
+          ((__MEMORY *)prev__4GT)->next_free__KD=next__5GT;
+        };
+        if (((void *)next__5GT != (void *)NULL)) {
+          ((__MEMORY *)next__5GT)->previous_free__LD=prev__4GT;
+        };
+        pv__YGT=blc__WGT->previous_linear__ID;
+        if ((pv__YGT !=  4294967295LU)) {
+          prev__XGT=((__MEMORY *)(void *)((unsigned long)begin_memory__2RB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )pv__YGT))));
+          ((__MEMORY *)prev__XGT)->size_and_id__JD=(__UINTEGER_32)((__UINTEGER_32)(prev__XGT->size_and_id__JD + blc__WGT->size_and_id__JD) +  8);
+          last_block[(idx__VGT)] = (prev__XGT);
+        };
+      };
+      ((__POINTER *)result__2GT)[ 0]=((__POINTER )new_size__3US);
+      result__FQB=(void *)((unsigned long)result__2GT - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+      next__HQB=(void *)((unsigned long)result__FQB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__3US)));
+      ((__POINTER *)next__HQB)[ 0]=NULL;
+      ((__POINTER *)ptr_table__CQB)[ 0]=next__HQB;
+    } else {
+      next__HQB=((__POINTER *)result__FQB)[ 0];
+      if ((next__HQB == (void *)NULL)) {
+        if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__FQB - (unsigned long)begin_memory__2RB)))) &  4095) + (__UINTEGER_32)(new_size__3US <<  1)) <=  4096)) {
+          next__HQB=(void *)((unsigned long)result__FQB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__3US)));
+        } else {
+          idx__31B= 0;
+          blc__A2B=NULL;
+          prev__B2B=NULL;
+          pv__E2B= 0;
+          while_do__2AC:
+          {
+            if ((idx__31B < nb_page__L2B)) {
+              blc__A2B=((__MEMORY *)(last_block[(idx__31B)]));
+              __tmp__E3B=(((__UINTEGER_32)(((__MEMORY *)blc__A2B)->size_and_id__JD &  4294967292LU) <  4096) || ((__UINTEGER_32)(((__MEMORY *)blc__A2B)->size_and_id__JD &  1) ==  1));
+            } else {
+              __tmp__E3B=FALSE__;
+            };
+            if (__tmp__E3B) {
+              idx__31B=(__UINTEGER_32)(idx__31B +  1);
+              goto while_do__2AC;
+            };
+          };
+          if ((idx__31B >= nb_page__L2B)) {
+            if ((capacity_max__NTD ==  0)) {
+              mem__TQT=((__POINTER )(NULL));
+              cap__UQT= 33554432;
+              do {
+                cap__UQT=(__UINTEGER_32)(cap__UQT <<  1);
+                mem__TQT=((__POINTER )(malloc((cap__UQT))));
+                if ((mem__TQT != (void *)NULL)) {
+                  free((mem__TQT));
+                };
+              } while ((! ((mem__TQT == (void *)NULL) || (cap__UQT ==  2147483648LU))));
+              if ((mem__TQT == (void *)NULL)) {
+                cap__UQT=(__UINTEGER_32)(cap__UQT >>  1);
+              };
+              capacity_max__NTD=cap__UQT;
+              begin_memory__2RB=((__POINTER )(malloc((cap__UQT))));
+            };
+            old_size__WQT=(__UINTEGER_32)(nb_page__L2B <<  26);
+            nb_page__L2B=(__UINTEGER_32)(nb_page__L2B +  1);
+            if (((__UINTEGER_32)(old_size__WQT +  67108864) > capacity_max__NTD)) {
+              __tmp__XQT=((__STRING_CONSTANT *)(&__string_1))->count__XHB;
+              Self__YQT= 1;
+              __tmp__ZQT=((__STRING_CONSTANT *)(&__string_1))->storage__YLE;
+              while ((Self__YQT <= __tmp__XQT)) {
+                fputc((int)(((__CHARACTER *)__tmp__ZQT)[(__INTEGER)(Self__YQT -  1)]),stdout);
+                Self__YQT=(__INTEGER)(Self__YQT +  1);
+              };
+              exit(( 1));
+            };
+            block__1QT=((__MEMORY *)(void *)((unsigned long)begin_memory__2RB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )old_size__WQT))));
+            block__1QT->previous_linear__ID= 4294967295LU;
+            block__1QT->size_and_id__JD= 67108858;
+            block__1QT->next_free__KD=first_free__LMD;
+            block__1QT->previous_free__LD=NULL;
+            if (((void *)first_free__LMD != (void *)NULL)) {
+              ((__MEMORY *)first_free__LMD)->previous_free__LD=block__1QT;
+            };
+            first_free__LMD=block__1QT;
+            last_block[((__UINTEGER_32)(nb_page__L2B -  1))] = (block__1QT);
+            blc__A2B=block__1QT;
+          };
+          ((__MEMORY *)blc__A2B)->size_and_id__JD=(__UINTEGER_32)(blc__A2B->size_and_id__JD -  4096);
+          Self__TES=((__MEMORY *)blc__A2B);
+          result__C2B=((__POINTER )((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__TES) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__TES->size_and_id__JD &  4294967292LU))))));
+          if (((__UINTEGER_32)(((__MEMORY *)blc__A2B)->size_and_id__JD &  4294967292LU) < ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+            Self__0PS=((__MEMORY *)blc__A2B);
+            prev__1PS=Self__0PS->previous_free__LD;
+            next__2PS=Self__0PS->next_free__KD;
+            if (((void *)prev__1PS == (void *)NULL)) {
+              first_free__LMD=next__2PS;
+            } else {
+              ((__MEMORY *)prev__1PS)->next_free__KD=next__2PS;
+            };
+            if (((void *)next__2PS != (void *)NULL)) {
+              ((__MEMORY *)next__2PS)->previous_free__LD=prev__1PS;
+            };
+            pv__E2B=blc__A2B->previous_linear__ID;
+            if ((pv__E2B !=  4294967295LU)) {
+              prev__B2B=((__MEMORY *)(void *)((unsigned long)begin_memory__2RB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )pv__E2B))));
+              ((__MEMORY *)prev__B2B)->size_and_id__JD=(__UINTEGER_32)((__UINTEGER_32)(prev__B2B->size_and_id__JD + blc__A2B->size_and_id__JD) +  8);
+              last_block[(idx__31B)] = (prev__B2B);
+            };
+          };
+          ((__POINTER *)result__C2B)[ 0]=((__POINTER )new_size__3US);
+          next__HQB=(void *)((unsigned long)result__C2B - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+        };
+        ((__POINTER *)next__HQB)[ 0]=NULL;
+        ((__POINTER *)ptr_table__CQB)[ 0]=next__HQB;
+      } else {
+        ((__POINTER *)result__FQB)[ 0]=(void *)((unsigned long)((__POINTER *)next__HQB)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+        result__FQB=next__HQB;
+      };
+    };
+    ((__POINTER *)result__FQB)[ 0]=((__POINTER ) 3);
+    result__XUS=(void *)((unsigned long)result__FQB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+  } else {
+    result__MLD=first_free__LMD;
+    while ((((void *)result__MLD != (void *)NULL) && ((__UINTEGER_32)(((__MEMORY *)result__MLD)->size_and_id__JD &  4294967292LU) < new_size__0US))) {
+      result__MLD=result__MLD->next_free__KD;
+    };
+    if (((void *)result__MLD == (void *)NULL)) {
+      if ((capacity_max__NTD ==  0)) {
+        mem__5MF=((__POINTER )(NULL));
+        cap__2MF= 33554432;
+        do {
+          cap__2MF=(__UINTEGER_32)(cap__2MF <<  1);
+          mem__5MF=((__POINTER )(malloc((cap__2MF))));
+          if ((mem__5MF != (void *)NULL)) {
+            free((mem__5MF));
+          };
+        } while ((! ((mem__5MF == (void *)NULL) || (cap__2MF ==  2147483648LU))));
+        if ((mem__5MF == (void *)NULL)) {
+          cap__2MF=(__UINTEGER_32)(cap__2MF >>  1);
+        };
+        capacity_max__NTD=cap__2MF;
+        begin_memory__2RB=((__POINTER )(malloc((cap__2MF))));
+      };
+      old_size__GTD=(__UINTEGER_32)(nb_page__L2B <<  26);
+      nb_page__L2B=(__UINTEGER_32)(nb_page__L2B +  1);
+      if (((__UINTEGER_32)(old_size__GTD +  67108864) > capacity_max__NTD)) {
+        __tmp__U5C=((__STRING_CONSTANT *)(&__string_1))->count__XHB;
+        Self__RKD= 1;
+        __tmp__1SS=((__STRING_CONSTANT *)(&__string_1))->storage__YLE;
+        while ((Self__RKD <= __tmp__U5C)) {
+          fputc((int)(((__CHARACTER *)__tmp__1SS)[(__INTEGER)(Self__RKD -  1)]),stdout);
+          Self__RKD=(__INTEGER)(Self__RKD +  1);
+        };
+        exit(( 1));
+      };
+      block__MTD=((__MEMORY *)(void *)((unsigned long)begin_memory__2RB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )old_size__GTD))));
+      block__MTD->previous_linear__ID= 4294967295LU;
+      block__MTD->size_and_id__JD= 67108858;
+      block__MTD->next_free__KD=first_free__LMD;
+      block__MTD->previous_free__LD=NULL;
+      if (((void *)first_free__LMD != (void *)NULL)) {
+        ((__MEMORY *)first_free__LMD)->previous_free__LD=block__MTD;
+      };
+      first_free__LMD=block__MTD;
+      last_block[((__UINTEGER_32)(nb_page__L2B -  1))] = (block__MTD);
+      result__MLD=block__MTD;
+    };
+    Self__WIH=((__MEMORY *)result__MLD);
+    idx__YIH=(__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )((__MEMORY *)result__MLD)) - (unsigned long)begin_memory__2RB)))) >>  26);
+    new__5IH=NULL;
+    prev__M1H=Self__WIH->previous_free__LD;
+    next__N1H=Self__WIH->next_free__KD;
+    if (((void *)prev__M1H == (void *)NULL)) {
+      first_free__LMD=next__N1H;
+    } else {
+      ((__MEMORY *)prev__M1H)->next_free__KD=next__N1H;
+    };
+    if (((void *)next__N1H != (void *)NULL)) {
+      ((__MEMORY *)next__N1H)->previous_free__LD=prev__M1H;
+    };
+    siz__ZIH=Self__WIH->size_and_id__JD;
+    new_size__2IH=(__UINTEGER_32)(siz__ZIH - new_size__0US);
+    if ((new_size__2IH > (__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )(MINIMUM_SIZE)) +  2) +  8))) {
+      siz__ZIH=new_size__0US;
+      new__5IH=((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__WIH) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__0US))));
+      ((__MEMORY *)new__5IH)->previous_linear__ID=((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )Self__WIH) - (unsigned long)begin_memory__2RB))));
+      ((__MEMORY *)new__5IH)->size_and_id__JD=(__UINTEGER_32)(new_size__2IH -  8);
+      Self__5MH=((__MEMORY *)new__5IH);
+      Self__5MH->next_free__KD=first_free__LMD;
+      Self__5MH->previous_free__LD=NULL;
+      if (((void *)first_free__LMD != (void *)NULL)) {
+        ((__MEMORY *)first_free__LMD)->previous_free__LD=Self__5MH;
+      };
+      first_free__LMD=Self__5MH;
+      if (((__UINTEGER_32)(((__MEMORY *)new__5IH)->size_and_id__JD &  2) !=  0)) {
+        last_block[(idx__YIH)] = (new__5IH);
+      } else {
+        Self__HAS=((__MEMORY *)new__5IH);
+        ((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__HAS) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__HAS->size_and_id__JD &  4294967292LU)))))->previous_linear__ID=((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )((__MEMORY *)new__5IH)) - (unsigned long)begin_memory__2RB))));
+      };
+    };
+    Self__WIH->size_and_id__JD=(__UINTEGER_32)(siz__ZIH |  1);
+    result__XUS=(void *)((unsigned long)((__POINTER )((__MEMORY *)result__MLD)) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+  };
+  Result__YC=((__PLANET *)result__XUS);
+  bodies__GB=Result__YC;
+  Result__YC[ 0].mass__1D=solar_mass__ZD;
+  Self__3D=&(Result__YC[ 1]);
+  Self__3D->x__5D=((__REAL_64 )(4.84143144246472090E+00));
+  Self__3D->y__BE=((__REAL_64 )(-1.16032004402742839E+00));
+  Self__3D->z__DE=((__REAL_64 )(-1.03622044471123109E-01));
+  Self__3D->vx__IE=(__REAL_64)(((__REAL_64 )(1.66007664274403694E-03)) * days_per_year__FE);
+  Self__3D->vy__ME=(__REAL_64)(((__REAL_64 )(7.69901118419740425E-03)) * days_per_year__FE);
+  Self__3D->vz__QE=(__REAL_64)(((__REAL_64 )(-6.90460016972063023E-05)) * days_per_year__FE);
+  Self__3D->mass__1D=(__REAL_64)(((__REAL_64 )(9.54791938424326609E-04)) * solar_mass__ZD);
+  Self__VE=&(Result__YC[ 2]);
+  Self__VE->x__5D=((__REAL_64 )(8.34336671824457987E+00));
+  Self__VE->y__BE=((__REAL_64 )(4.12479856412430479E+00));
+  Self__VE->z__DE=((__REAL_64 )(-4.03523417114321381E-01));
+  Self__VE->vx__IE=(__REAL_64)(((__REAL_64 )(-2.76742510726862411E-03)) * days_per_year__FE);
+  Self__VE->vy__ME=(__REAL_64)(((__REAL_64 )(4.99852801234917238E-03)) * days_per_year__FE);
+  Self__VE->vz__QE=(__REAL_64)(((__REAL_64 )(2.30417297573763929E-05)) * days_per_year__FE);
+  Self__VE->mass__1D=(__REAL_64)(((__REAL_64 )(2.85885980666130812E-04)) * solar_mass__ZD);
+  Self__GF=&(Result__YC[ 3]);
+  Self__GF->x__5D=((__REAL_64 )(1.28943695621391310E+01));
+  Self__GF->y__BE=((__REAL_64 )(-1.51111514016986312E+01));
+  Self__GF->z__DE=((__REAL_64 )(-2.23307578892655734E-01));
+  Self__GF->vx__IE=(__REAL_64)(((__REAL_64 )(2.96460137564761618E-03)) * days_per_year__FE);
+  Self__GF->vy__ME=(__REAL_64)(((__REAL_64 )(2.37847173959480950E-03)) * days_per_year__FE);
+  Self__GF->vz__QE=(__REAL_64)(((__REAL_64 )(-2.96589568540237556E-05)) * days_per_year__FE);
+  Self__GF->mass__1D=(__REAL_64)(((__REAL_64 )(4.36624404335156298E-05)) * solar_mass__ZD);
+  Self__XF=&(Result__YC[ 4]);
+  Self__XF->x__5D=((__REAL_64 )(1.53796971148509165E+01));
+  Self__XF->y__BE=((__REAL_64 )(-2.59193146099879641E+01));
+  Self__XF->z__DE=((__REAL_64 )(1.79258772950371181E-01));
+  Self__XF->vx__IE=(__REAL_64)(((__REAL_64 )(2.68067772490389322E-03)) * days_per_year__FE);
+  Self__XF->vy__ME=(__REAL_64)(((__REAL_64 )(1.62824170038242295E-03)) * days_per_year__FE);
+  Self__XF->vz__QE=(__REAL_64)(((__REAL_64 )(-9.51592254519715870E-05)) * days_per_year__FE);
+  Self__XF->mass__1D=(__REAL_64)(((__REAL_64 )(5.15138902046611451E-05)) * solar_mass__ZD);
+  offset_momentum( 4);
+  print_format_c__QK(energy(nbodies__AB));
+  Self__0K= 1;
+  limit_up__1K=result__PIL;
+  while ((Self__0K <= limit_up__1K)) {
+    advance(((__REAL_64 )(0.01)),nbodies__AB);
+    Self__0K=(__INTEGER)(Self__0K +  1);
+  };
+  print_format_c__QK(energy(nbodies__AB));
+  return( 0);
+}
+
+static __STRING* create__Q3(__INTEGER needed_capacity__S3)
+// ({INTEGER}) With resultNo recursive, No inlinable.
+{
+  __STRING *result__ZDB,*Self__HUC;
+  __POINTER ptr__0DB,ptr_table__UVS,next__TVS,result__VVS,mem__BHT;
+  __POINTER result__23S,mem__KHT,result__I4S,ptr_table__0VS,next__ZVS;
+  __POINTER result__1VS,mem__THT,result__U4S,mem__2HT,result__A5S;
+  __POINTER result__NUS,ptr_table__GWS,next__FWS,result__HWS,mem__FIT;
+  __POINTER result__M5S,mem__OIT,result__Y5S,mem__XIT;
+  __INTEGER typ_id__5DB,__tmp__FHT,Self__GHT,__tmp__OHT,Self__PHT;
+  __INTEGER __tmp__XHT,Self__YHT,__tmp__AIT,Self__BIT,__tmp__JIT;
+  __INTEGER Self__KIT,__tmp__SIT,Self__TIT,__tmp__1IT,Self__2IT;
+  __INTEGER Self__DNI;
+  __UINTEGER_32 sz__2DB,a__CRS,new_size__DRS,idx__V3S,pv__Y3S,cap__CHT;
+  __UINTEGER_32 old_size__EHT,idx__B4S,pv__E4S,cap__LHT,old_size__NHT;
+  __UINTEGER_32 t__MRS,a__JRS,new_size__3VS,lab_type__2VS,idx__N4S;
+  __UINTEGER_32 pv__Q4S,cap__UHT,old_size__WHT,idx__Z4S,pv__24S;
+  __UINTEGER_32 cap__3HT,old_size__5HT,sz__PUS,a__OUS,new_size__QUS;
+  __UINTEGER_32 new_size2__RUS,a__SUS,new_size__TUS,idx__F5S,pv__I5S;
+  __UINTEGER_32 cap__GIT,old_size__IIT,idx__R5S,pv__U5S,cap__PIT;
+  __UINTEGER_32 old_size__RIT,cap__YIT,old_size__0IT,idx__N0S,siz__R0S;
+  __UINTEGER_32 new_size__S0S;
+  __MEMORY *blc__W3S,*prev__X3S,*block__JHT,*Self__13S,*Self__33S;
+  __MEMORY *prev__43S,*next__53S,*blc__C4S,*prev__D4S,*block__SHT;
+  __MEMORY *Self__H4S,*Self__J4S,*prev__K4S,*next__L4S,*blc__O4S;
+  __MEMORY *prev__P4S,*block__1HT,*Self__T4S,*Self__V4S,*prev__W4S;
+  __MEMORY *next__X4S,*blc__04S,*prev__14S,*block__EIT,*Self__54S;
+  __MEMORY *Self__B5S,*prev__C5S,*next__D5S,*blc__G5S,*prev__H5S;
+  __MEMORY *block__NIT,*Self__L5S,*Self__N5S,*prev__O5S,*next__P5S;
+  __MEMORY *blc__S5S,*prev__T5S,*block__WIT,*Self__X5S,*Self__Z5S;
+  __MEMORY *prev__05S,*next__15S,*result__J0S,*block__5IT,*Self__M0S;
+  __MEMORY *new__O0S,*prev__P0S,*next__Q0S,*Self__T0S,*Self__U0S;
+  __BOOLEAN __tmp__Z3S,__tmp__F4S,__tmp__R4S,__tmp__34S,__tmp__J5S;
+  __BOOLEAN __tmp__V5S;
+  __CHARACTER *__tmp__HHT,*__tmp__QHT,*__tmp__ZHT,*__tmp__CIT;
+  __CHARACTER *__tmp__LIT,*__tmp__UIT,*__tmp__3IT,*Result__CLG;
+  result__ZDB=NULL;
+  ptr__0DB=((__POINTER )(NULL));
+  typ_id__5DB= 0;
+  sz__2DB=((__UINTEGER_32 )sizeof(__STRING));
+  if ((sz__2DB ==  0)) {
+    result__ZDB=STRING__;
+  } else {
+    typ_id__5DB=__STRING__;
+    clone_allocation_size__E5=(__UINTEGER_32)(clone_allocation_size__E5 + sz__2DB);
+    if ((typ_id__5DB == (__INTEGER)(-  1))) {
+      a__CRS=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__DRS=(__UINTEGER_32)((__UINTEGER_32)(sz__2DB + a__CRS) & (__UINTEGER_32)(~ a__CRS));
+      ptr_table__UVS=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__DRS / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+      next__TVS=((__POINTER )(NULL));
+      result__VVS=((__POINTER *)ptr_table__UVS)[ 0];
+      if ((result__VVS == (void *)NULL)) {
+        idx__V3S= 0;
+        blc__W3S=NULL;
+        prev__X3S=NULL;
+        pv__Y3S= 0;
+        while_do__2AC__03S:
+        {
+          if ((idx__V3S < nb_page__L2B)) {
+            blc__W3S=((__MEMORY *)(last_block[(idx__V3S)]));
+            __tmp__Z3S=(((__UINTEGER_32)(((__MEMORY *)blc__W3S)->size_and_id__JD &  4294967292LU) <  4096) || ((__UINTEGER_32)(((__MEMORY *)blc__W3S)->size_and_id__JD &  1) ==  1));
+          } else {
+            __tmp__Z3S=FALSE__;
+          };
+          if (__tmp__Z3S) {
+            idx__V3S=(__UINTEGER_32)(idx__V3S +  1);
+            goto while_do__2AC__03S;
+          };
+        };
+        if ((idx__V3S >= nb_page__L2B)) {
+          if ((capacity_max__NTD ==  0)) {
+            mem__BHT=((__POINTER )(NULL));
+            cap__CHT= 33554432;
+            do {
+              cap__CHT=(__UINTEGER_32)(cap__CHT <<  1);
+              mem__BHT=((__POINTER )(malloc((cap__CHT))));
+              if ((mem__BHT != (void *)NULL)) {
+                free((mem__BHT));
+              };
+            } while ((! ((mem__BHT == (void *)NULL) || (cap__CHT ==  2147483648LU))));
+            if ((mem__BHT == (void *)NULL)) {
+              cap__CHT=(__UINTEGER_32)(cap__CHT >>  1);
+            };
+            capacity_max__NTD=cap__CHT;
+            begin_memory__2RB=((__POINTER )(malloc((cap__CHT))));
+          };
+          old_size__EHT=(__UINTEGER_32)(nb_page__L2B <<  26);
+          nb_page__L2B=(__UINTEGER_32)(nb_page__L2B +  1);
+          if (((__UINTEGER_32)(old_size__EHT +  67108864) > capacity_max__NTD)) {
+            __tmp__FHT=((__STRING_CONSTANT *)(&__string_1))->count__XHB;
+            Self__GHT= 1;
+            __tmp__HHT=((__STRING_CONSTANT *)(&__string_1))->storage__YLE;
+            while ((Self__GHT <= __tmp__FHT)) {
+              fputc((int)(((__CHARACTER *)__tmp__HHT)[(__INTEGER)(Self__GHT -  1)]),stdout);
+              Self__GHT=(__INTEGER)(Self__GHT +  1);
+            };
+            exit(( 1));
+          };
+          block__JHT=((__MEMORY *)(void *)((unsigned long)begin_memory__2RB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )old_size__EHT))));
+          block__JHT->previous_linear__ID= 4294967295LU;
+          block__JHT->size_and_id__JD= 67108858;
+          block__JHT->next_free__KD=first_free__LMD;
+          block__JHT->previous_free__LD=NULL;
+          if (((void *)first_free__LMD != (void *)NULL)) {
+            ((__MEMORY *)first_free__LMD)->previous_free__LD=block__JHT;
+          };
+          first_free__LMD=block__JHT;
+          last_block[((__UINTEGER_32)(nb_page__L2B -  1))] = (block__JHT);
+          blc__W3S=block__JHT;
+        };
+        ((__MEMORY *)blc__W3S)->size_and_id__JD=(__UINTEGER_32)(blc__W3S->size_and_id__JD -  4096);
+        Self__13S=((__MEMORY *)blc__W3S);
+        result__23S=((__POINTER )((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__13S) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__13S->size_and_id__JD &  4294967292LU))))));
+        if (((__UINTEGER_32)(((__MEMORY *)blc__W3S)->size_and_id__JD &  4294967292LU) < ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+          Self__33S=((__MEMORY *)blc__W3S);
+          prev__43S=Self__33S->previous_free__LD;
+          next__53S=Self__33S->next_free__KD;
+          if (((void *)prev__43S == (void *)NULL)) {
+            first_free__LMD=next__53S;
+          } else {
+            ((__MEMORY *)prev__43S)->next_free__KD=next__53S;
+          };
+          if (((void *)next__53S != (void *)NULL)) {
+            ((__MEMORY *)next__53S)->previous_free__LD=prev__43S;
+          };
+          pv__Y3S=blc__W3S->previous_linear__ID;
+          if ((pv__Y3S !=  4294967295LU)) {
+            prev__X3S=((__MEMORY *)(void *)((unsigned long)begin_memory__2RB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )pv__Y3S))));
+            ((__MEMORY *)prev__X3S)->size_and_id__JD=(__UINTEGER_32)((__UINTEGER_32)(prev__X3S->size_and_id__JD + blc__W3S->size_and_id__JD) +  8);
+            last_block[(idx__V3S)] = (prev__X3S);
+          };
+        };
+        ((__POINTER *)result__23S)[ 0]=((__POINTER )new_size__DRS);
+        result__VVS=(void *)((unsigned long)result__23S - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+        next__TVS=(void *)((unsigned long)result__VVS - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__DRS)));
+        ((__POINTER *)next__TVS)[ 0]=NULL;
+        ((__POINTER *)ptr_table__UVS)[ 0]=next__TVS;
+      } else {
+        next__TVS=((__POINTER *)result__VVS)[ 0];
+        if ((next__TVS == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__VVS - (unsigned long)begin_memory__2RB)))) &  4095) + (__UINTEGER_32)(new_size__DRS <<  1)) <=  4096)) {
+            next__TVS=(void *)((unsigned long)result__VVS - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__DRS)));
+          } else {
+            idx__B4S= 0;
+            blc__C4S=NULL;
+            prev__D4S=NULL;
+            pv__E4S= 0;
+            while_do__2AC__G4S:
+            {
+              if ((idx__B4S < nb_page__L2B)) {
+                blc__C4S=((__MEMORY *)(last_block[(idx__B4S)]));
+                __tmp__F4S=(((__UINTEGER_32)(((__MEMORY *)blc__C4S)->size_and_id__JD &  4294967292LU) <  4096) || ((__UINTEGER_32)(((__MEMORY *)blc__C4S)->size_and_id__JD &  1) ==  1));
+              } else {
+                __tmp__F4S=FALSE__;
+              };
+              if (__tmp__F4S) {
+                idx__B4S=(__UINTEGER_32)(idx__B4S +  1);
+                goto while_do__2AC__G4S;
+              };
+            };
+            if ((idx__B4S >= nb_page__L2B)) {
+              if ((capacity_max__NTD ==  0)) {
+                mem__KHT=((__POINTER )(NULL));
+                cap__LHT= 33554432;
+                do {
+                  cap__LHT=(__UINTEGER_32)(cap__LHT <<  1);
+                  mem__KHT=((__POINTER )(malloc((cap__LHT))));
+                  if ((mem__KHT != (void *)NULL)) {
+                    free((mem__KHT));
+                  };
+                } while ((! ((mem__KHT == (void *)NULL) || (cap__LHT ==  2147483648LU))));
+                if ((mem__KHT == (void *)NULL)) {
+                  cap__LHT=(__UINTEGER_32)(cap__LHT >>  1);
+                };
+                capacity_max__NTD=cap__LHT;
+                begin_memory__2RB=((__POINTER )(malloc((cap__LHT))));
+              };
+              old_size__NHT=(__UINTEGER_32)(nb_page__L2B <<  26);
+              nb_page__L2B=(__UINTEGER_32)(nb_page__L2B +  1);
+              if (((__UINTEGER_32)(old_size__NHT +  67108864) > capacity_max__NTD)) {
+                __tmp__OHT=((__STRING_CONSTANT *)(&__string_1))->count__XHB;
+                Self__PHT= 1;
+                __tmp__QHT=((__STRING_CONSTANT *)(&__string_1))->storage__YLE;
+                while ((Self__PHT <= __tmp__OHT)) {
+                  fputc((int)(((__CHARACTER *)__tmp__QHT)[(__INTEGER)(Self__PHT -  1)]),stdout);
+                  Self__PHT=(__INTEGER)(Self__PHT +  1);
+                };
+                exit(( 1));
+              };
+              block__SHT=((__MEMORY *)(void *)((unsigned long)begin_memory__2RB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )old_size__NHT))));
+              block__SHT->previous_linear__ID= 4294967295LU;
+              block__SHT->size_and_id__JD= 67108858;
+              block__SHT->next_free__KD=first_free__LMD;
+              block__SHT->previous_free__LD=NULL;
+              if (((void *)first_free__LMD != (void *)NULL)) {
+                ((__MEMORY *)first_free__LMD)->previous_free__LD=block__SHT;
+              };
+              first_free__LMD=block__SHT;
+              last_block[((__UINTEGER_32)(nb_page__L2B -  1))] = (block__SHT);
+              blc__C4S=block__SHT;
+            };
+            ((__MEMORY *)blc__C4S)->size_and_id__JD=(__UINTEGER_32)(blc__C4S->size_and_id__JD -  4096);
+            Self__H4S=((__MEMORY *)blc__C4S);
+            result__I4S=((__POINTER )((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__H4S) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__H4S->size_and_id__JD &  4294967292LU))))));
+            if (((__UINTEGER_32)(((__MEMORY *)blc__C4S)->size_and_id__JD &  4294967292LU) < ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+              Self__J4S=((__MEMORY *)blc__C4S);
+              prev__K4S=Self__J4S->previous_free__LD;
+              next__L4S=Self__J4S->next_free__KD;
+              if (((void *)prev__K4S == (void *)NULL)) {
+                first_free__LMD=next__L4S;
+              } else {
+                ((__MEMORY *)prev__K4S)->next_free__KD=next__L4S;
+              };
+              if (((void *)next__L4S != (void *)NULL)) {
+                ((__MEMORY *)next__L4S)->previous_free__LD=prev__K4S;
+              };
+              pv__E4S=blc__C4S->previous_linear__ID;
+              if ((pv__E4S !=  4294967295LU)) {
+                prev__D4S=((__MEMORY *)(void *)((unsigned long)begin_memory__2RB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )pv__E4S))));
+                ((__MEMORY *)prev__D4S)->size_and_id__JD=(__UINTEGER_32)((__UINTEGER_32)(prev__D4S->size_and_id__JD + blc__C4S->size_and_id__JD) +  8);
+                last_block[(idx__B4S)] = (prev__D4S);
+              };
+            };
+            ((__POINTER *)result__I4S)[ 0]=((__POINTER )new_size__DRS);
+            next__TVS=(void *)((unsigned long)result__I4S - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+          };
+          ((__POINTER *)next__TVS)[ 0]=NULL;
+          ((__POINTER *)ptr_table__UVS)[ 0]=next__TVS;
+        } else {
+          ((__POINTER *)result__VVS)[ 0]=(void *)((unsigned long)((__POINTER *)next__TVS)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__VVS=next__TVS;
+        };
+      };
+      ptr__0DB=result__VVS;
+    } else {
+      t__MRS=((__UINTEGER_32 )typ_id__5DB);
+      a__JRS=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__3VS=(__UINTEGER_32)((__UINTEGER_32)(sz__2DB + a__JRS) & (__UINTEGER_32)(~ a__JRS));
+      ptr_table__0VS=((__POINTER )(&(table_type[(t__MRS)])));
+      lab_type__2VS=(__UINTEGER_32)(t__MRS |  1);
+      next__ZVS=((__POINTER )(NULL));
+      result__1VS=((__POINTER *)ptr_table__0VS)[ 0];
+      if ((result__1VS == (void *)NULL)) {
+        idx__N4S= 0;
+        blc__O4S=NULL;
+        prev__P4S=NULL;
+        pv__Q4S= 0;
+        while_do__2AC__S4S:
+        {
+          if ((idx__N4S < nb_page__L2B)) {
+            blc__O4S=((__MEMORY *)(last_block[(idx__N4S)]));
+            __tmp__R4S=(((__UINTEGER_32)(((__MEMORY *)blc__O4S)->size_and_id__JD &  4294967292LU) <  4096) || ((__UINTEGER_32)(((__MEMORY *)blc__O4S)->size_and_id__JD &  1) ==  1));
+          } else {
+            __tmp__R4S=FALSE__;
+          };
+          if (__tmp__R4S) {
+            idx__N4S=(__UINTEGER_32)(idx__N4S +  1);
+            goto while_do__2AC__S4S;
+          };
+        };
+        if ((idx__N4S >= nb_page__L2B)) {
+          if ((capacity_max__NTD ==  0)) {
+            mem__THT=((__POINTER )(NULL));
+            cap__UHT= 33554432;
+            do {
+              cap__UHT=(__UINTEGER_32)(cap__UHT <<  1);
+              mem__THT=((__POINTER )(malloc((cap__UHT))));
+              if ((mem__THT != (void *)NULL)) {
+                free((mem__THT));
+              };
+            } while ((! ((mem__THT == (void *)NULL) || (cap__UHT ==  2147483648LU))));
+            if ((mem__THT == (void *)NULL)) {
+              cap__UHT=(__UINTEGER_32)(cap__UHT >>  1);
+            };
+            capacity_max__NTD=cap__UHT;
+            begin_memory__2RB=((__POINTER )(malloc((cap__UHT))));
+          };
+          old_size__WHT=(__UINTEGER_32)(nb_page__L2B <<  26);
+          nb_page__L2B=(__UINTEGER_32)(nb_page__L2B +  1);
+          if (((__UINTEGER_32)(old_size__WHT +  67108864) > capacity_max__NTD)) {
+            __tmp__XHT=((__STRING_CONSTANT *)(&__string_1))->count__XHB;
+            Self__YHT= 1;
+            __tmp__ZHT=((__STRING_CONSTANT *)(&__string_1))->storage__YLE;
+            while ((Self__YHT <= __tmp__XHT)) {
+              fputc((int)(((__CHARACTER *)__tmp__ZHT)[(__INTEGER)(Self__YHT -  1)]),stdout);
+              Self__YHT=(__INTEGER)(Self__YHT +  1);
+            };
+            exit(( 1));
+          };
+          block__1HT=((__MEMORY *)(void *)((unsigned long)begin_memory__2RB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )old_size__WHT))));
+          block__1HT->previous_linear__ID= 4294967295LU;
+          block__1HT->size_and_id__JD= 67108858;
+          block__1HT->next_free__KD=first_free__LMD;
+          block__1HT->previous_free__LD=NULL;
+          if (((void *)first_free__LMD != (void *)NULL)) {
+            ((__MEMORY *)first_free__LMD)->previous_free__LD=block__1HT;
+          };
+          first_free__LMD=block__1HT;
+          last_block[((__UINTEGER_32)(nb_page__L2B -  1))] = (block__1HT);
+          blc__O4S=block__1HT;
+        };
+        ((__MEMORY *)blc__O4S)->size_and_id__JD=(__UINTEGER_32)(blc__O4S->size_and_id__JD -  4096);
+        Self__T4S=((__MEMORY *)blc__O4S);
+        result__U4S=((__POINTER )((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__T4S) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__T4S->size_and_id__JD &  4294967292LU))))));
+        if (((__UINTEGER_32)(((__MEMORY *)blc__O4S)->size_and_id__JD &  4294967292LU) < ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+          Self__V4S=((__MEMORY *)blc__O4S);
+          prev__W4S=Self__V4S->previous_free__LD;
+          next__X4S=Self__V4S->next_free__KD;
+          if (((void *)prev__W4S == (void *)NULL)) {
+            first_free__LMD=next__X4S;
+          } else {
+            ((__MEMORY *)prev__W4S)->next_free__KD=next__X4S;
+          };
+          if (((void *)next__X4S != (void *)NULL)) {
+            ((__MEMORY *)next__X4S)->previous_free__LD=prev__W4S;
+          };
+          pv__Q4S=blc__O4S->previous_linear__ID;
+          if ((pv__Q4S !=  4294967295LU)) {
+            prev__P4S=((__MEMORY *)(void *)((unsigned long)begin_memory__2RB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )pv__Q4S))));
+            ((__MEMORY *)prev__P4S)->size_and_id__JD=(__UINTEGER_32)((__UINTEGER_32)(prev__P4S->size_and_id__JD + blc__O4S->size_and_id__JD) +  8);
+            last_block[(idx__N4S)] = (prev__P4S);
+          };
+        };
+        ((__POINTER *)result__U4S)[ 0]=((__POINTER )lab_type__2VS);
+        result__1VS=(void *)((unsigned long)result__U4S - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+        next__ZVS=(void *)((unsigned long)result__1VS - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__3VS)));
+        ((__POINTER *)next__ZVS)[ 0]=NULL;
+        ((__POINTER *)ptr_table__0VS)[ 0]=next__ZVS;
+      } else {
+        next__ZVS=((__POINTER *)result__1VS)[ 0];
+        if ((next__ZVS == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__1VS - (unsigned long)begin_memory__2RB)))) &  4095) + (__UINTEGER_32)(new_size__3VS <<  1)) <=  4096)) {
+            next__ZVS=(void *)((unsigned long)result__1VS - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__3VS)));
+          } else {
+            idx__Z4S= 0;
+            blc__04S=NULL;
+            prev__14S=NULL;
+            pv__24S= 0;
+            while_do__2AC__44S:
+            {
+              if ((idx__Z4S < nb_page__L2B)) {
+                blc__04S=((__MEMORY *)(last_block[(idx__Z4S)]));
+                __tmp__34S=(((__UINTEGER_32)(((__MEMORY *)blc__04S)->size_and_id__JD &  4294967292LU) <  4096) || ((__UINTEGER_32)(((__MEMORY *)blc__04S)->size_and_id__JD &  1) ==  1));
+              } else {
+                __tmp__34S=FALSE__;
+              };
+              if (__tmp__34S) {
+                idx__Z4S=(__UINTEGER_32)(idx__Z4S +  1);
+                goto while_do__2AC__44S;
+              };
+            };
+            if ((idx__Z4S >= nb_page__L2B)) {
+              if ((capacity_max__NTD ==  0)) {
+                mem__2HT=((__POINTER )(NULL));
+                cap__3HT= 33554432;
+                do {
+                  cap__3HT=(__UINTEGER_32)(cap__3HT <<  1);
+                  mem__2HT=((__POINTER )(malloc((cap__3HT))));
+                  if ((mem__2HT != (void *)NULL)) {
+                    free((mem__2HT));
+                  };
+                } while ((! ((mem__2HT == (void *)NULL) || (cap__3HT ==  2147483648LU))));
+                if ((mem__2HT == (void *)NULL)) {
+                  cap__3HT=(__UINTEGER_32)(cap__3HT >>  1);
+                };
+                capacity_max__NTD=cap__3HT;
+                begin_memory__2RB=((__POINTER )(malloc((cap__3HT))));
+              };
+              old_size__5HT=(__UINTEGER_32)(nb_page__L2B <<  26);
+              nb_page__L2B=(__UINTEGER_32)(nb_page__L2B +  1);
+              if (((__UINTEGER_32)(old_size__5HT +  67108864) > capacity_max__NTD)) {
+                __tmp__AIT=((__STRING_CONSTANT *)(&__string_1))->count__XHB;
+                Self__BIT= 1;
+                __tmp__CIT=((__STRING_CONSTANT *)(&__string_1))->storage__YLE;
+                while ((Self__BIT <= __tmp__AIT)) {
+                  fputc((int)(((__CHARACTER *)__tmp__CIT)[(__INTEGER)(Self__BIT -  1)]),stdout);
+                  Self__BIT=(__INTEGER)(Self__BIT +  1);
+                };
+                exit(( 1));
+              };
+              block__EIT=((__MEMORY *)(void *)((unsigned long)begin_memory__2RB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )old_size__5HT))));
+              block__EIT->previous_linear__ID= 4294967295LU;
+              block__EIT->size_and_id__JD= 67108858;
+              block__EIT->next_free__KD=first_free__LMD;
+              block__EIT->previous_free__LD=NULL;
+              if (((void *)first_free__LMD != (void *)NULL)) {
+                ((__MEMORY *)first_free__LMD)->previous_free__LD=block__EIT;
+              };
+              first_free__LMD=block__EIT;
+              last_block[((__UINTEGER_32)(nb_page__L2B -  1))] = (block__EIT);
+              blc__04S=block__EIT;
+            };
+            ((__MEMORY *)blc__04S)->size_and_id__JD=(__UINTEGER_32)(blc__04S->size_and_id__JD -  4096);
+            Self__54S=((__MEMORY *)blc__04S);
+            result__A5S=((__POINTER )((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__54S) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__54S->size_and_id__JD &  4294967292LU))))));
+            if (((__UINTEGER_32)(((__MEMORY *)blc__04S)->size_and_id__JD &  4294967292LU) < ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+              Self__B5S=((__MEMORY *)blc__04S);
+              prev__C5S=Self__B5S->previous_free__LD;
+              next__D5S=Self__B5S->next_free__KD;
+              if (((void *)prev__C5S == (void *)NULL)) {
+                first_free__LMD=next__D5S;
+              } else {
+                ((__MEMORY *)prev__C5S)->next_free__KD=next__D5S;
+              };
+              if (((void *)next__D5S != (void *)NULL)) {
+                ((__MEMORY *)next__D5S)->previous_free__LD=prev__C5S;
+              };
+              pv__24S=blc__04S->previous_linear__ID;
+              if ((pv__24S !=  4294967295LU)) {
+                prev__14S=((__MEMORY *)(void *)((unsigned long)begin_memory__2RB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )pv__24S))));
+                ((__MEMORY *)prev__14S)->size_and_id__JD=(__UINTEGER_32)((__UINTEGER_32)(prev__14S->size_and_id__JD + blc__04S->size_and_id__JD) +  8);
+                last_block[(idx__Z4S)] = (prev__14S);
+              };
+            };
+            ((__POINTER *)result__A5S)[ 0]=((__POINTER )lab_type__2VS);
+            next__ZVS=(void *)((unsigned long)result__A5S - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+          };
+          ((__POINTER *)next__ZVS)[ 0]=NULL;
+          ((__POINTER *)ptr_table__0VS)[ 0]=next__ZVS;
+        } else {
+          ((__POINTER *)result__1VS)[ 0]=(void *)((unsigned long)((__POINTER *)next__ZVS)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__1VS=next__ZVS;
+        };
+      };
+      ptr__0DB=result__1VS;
+    };
+    result__ZDB=((__STRING *)ptr__0DB);
+    *(result__ZDB) = *(STRING__);
+  };
+  Self__HUC=((__STRING *)result__ZDB);
+  if ((needed_capacity__S3 >  0)) {
+    if ((Self__HUC->capacity__FW < needed_capacity__S3)) {
+      sz__PUS=((__UINTEGER_32 )needed_capacity__S3);
+      result__NUS=((__POINTER )(NULL));
+      a__OUS=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__QUS=(__UINTEGER_32)((__UINTEGER_32)(sz__PUS + a__OUS) & (__UINTEGER_32)(~ a__OUS));
+      new_size2__RUS=(__UINTEGER_32)(new_size__QUS + ((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))));
+      if ((new_size2__RUS <= ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+        a__SUS=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+        new_size__TUS=(__UINTEGER_32)((__UINTEGER_32)(new_size2__RUS + a__SUS) & (__UINTEGER_32)(~ a__SUS));
+        ptr_table__GWS=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__TUS / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+        next__FWS=((__POINTER )(NULL));
+        result__HWS=((__POINTER *)ptr_table__GWS)[ 0];
+        if ((result__HWS == (void *)NULL)) {
+          idx__F5S= 0;
+          blc__G5S=NULL;
+          prev__H5S=NULL;
+          pv__I5S= 0;
+          while_do__2AC__K5S:
+          {
+            if ((idx__F5S < nb_page__L2B)) {
+              blc__G5S=((__MEMORY *)(last_block[(idx__F5S)]));
+              __tmp__J5S=(((__UINTEGER_32)(((__MEMORY *)blc__G5S)->size_and_id__JD &  4294967292LU) <  4096) || ((__UINTEGER_32)(((__MEMORY *)blc__G5S)->size_and_id__JD &  1) ==  1));
+            } else {
+              __tmp__J5S=FALSE__;
+            };
+            if (__tmp__J5S) {
+              idx__F5S=(__UINTEGER_32)(idx__F5S +  1);
+              goto while_do__2AC__K5S;
+            };
+          };
+          if ((idx__F5S >= nb_page__L2B)) {
+            if ((capacity_max__NTD ==  0)) {
+              mem__FIT=((__POINTER )(NULL));
+              cap__GIT= 33554432;
+              do {
+                cap__GIT=(__UINTEGER_32)(cap__GIT <<  1);
+                mem__FIT=((__POINTER )(malloc((cap__GIT))));
+                if ((mem__FIT != (void *)NULL)) {
+                  free((mem__FIT));
+                };
+              } while ((! ((mem__FIT == (void *)NULL) || (cap__GIT ==  2147483648LU))));
+              if ((mem__FIT == (void *)NULL)) {
+                cap__GIT=(__UINTEGER_32)(cap__GIT >>  1);
+              };
+              capacity_max__NTD=cap__GIT;
+              begin_memory__2RB=((__POINTER )(malloc((cap__GIT))));
+            };
+            old_size__IIT=(__UINTEGER_32)(nb_page__L2B <<  26);
+            nb_page__L2B=(__UINTEGER_32)(nb_page__L2B +  1);
+            if (((__UINTEGER_32)(old_size__IIT +  67108864) > capacity_max__NTD)) {
+              __tmp__JIT=((__STRING_CONSTANT *)(&__string_1))->count__XHB;
+              Self__KIT= 1;
+              __tmp__LIT=((__STRING_CONSTANT *)(&__string_1))->storage__YLE;
+              while ((Self__KIT <= __tmp__JIT)) {
+                fputc((int)(((__CHARACTER *)__tmp__LIT)[(__INTEGER)(Self__KIT -  1)]),stdout);
+                Self__KIT=(__INTEGER)(Self__KIT +  1);
+              };
+              exit(( 1));
+            };
+            block__NIT=((__MEMORY *)(void *)((unsigned long)begin_memory__2RB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )old_size__IIT))));
+            block__NIT->previous_linear__ID= 4294967295LU;
+            block__NIT->size_and_id__JD= 67108858;
+            block__NIT->next_free__KD=first_free__LMD;
+            block__NIT->previous_free__LD=NULL;
+            if (((void *)first_free__LMD != (void *)NULL)) {
+              ((__MEMORY *)first_free__LMD)->previous_free__LD=block__NIT;
+            };
+            first_free__LMD=block__NIT;
+            last_block[((__UINTEGER_32)(nb_page__L2B -  1))] = (block__NIT);
+            blc__G5S=block__NIT;
+          };
+          ((__MEMORY *)blc__G5S)->size_and_id__JD=(__UINTEGER_32)(blc__G5S->size_and_id__JD -  4096);
+          Self__L5S=((__MEMORY *)blc__G5S);
+          result__M5S=((__POINTER )((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__L5S) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__L5S->size_and_id__JD &  4294967292LU))))));
+          if (((__UINTEGER_32)(((__MEMORY *)blc__G5S)->size_and_id__JD &  4294967292LU) < ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+            Self__N5S=((__MEMORY *)blc__G5S);
+            prev__O5S=Self__N5S->previous_free__LD;
+            next__P5S=Self__N5S->next_free__KD;
+            if (((void *)prev__O5S == (void *)NULL)) {
+              first_free__LMD=next__P5S;
+            } else {
+              ((__MEMORY *)prev__O5S)->next_free__KD=next__P5S;
+            };
+            if (((void *)next__P5S != (void *)NULL)) {
+              ((__MEMORY *)next__P5S)->previous_free__LD=prev__O5S;
+            };
+            pv__I5S=blc__G5S->previous_linear__ID;
+            if ((pv__I5S !=  4294967295LU)) {
+              prev__H5S=((__MEMORY *)(void *)((unsigned long)begin_memory__2RB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )pv__I5S))));
+              ((__MEMORY *)prev__H5S)->size_and_id__JD=(__UINTEGER_32)((__UINTEGER_32)(prev__H5S->size_and_id__JD + blc__G5S->size_and_id__JD) +  8);
+              last_block[(idx__F5S)] = (prev__H5S);
+            };
+          };
+          ((__POINTER *)result__M5S)[ 0]=((__POINTER )new_size__TUS);
+          result__HWS=(void *)((unsigned long)result__M5S - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+          next__FWS=(void *)((unsigned long)result__HWS - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__TUS)));
+          ((__POINTER *)next__FWS)[ 0]=NULL;
+          ((__POINTER *)ptr_table__GWS)[ 0]=next__FWS;
+        } else {
+          next__FWS=((__POINTER *)result__HWS)[ 0];
+          if ((next__FWS == (void *)NULL)) {
+            if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__HWS - (unsigned long)begin_memory__2RB)))) &  4095) + (__UINTEGER_32)(new_size__TUS <<  1)) <=  4096)) {
+              next__FWS=(void *)((unsigned long)result__HWS - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__TUS)));
+            } else {
+              idx__R5S= 0;
+              blc__S5S=NULL;
+              prev__T5S=NULL;
+              pv__U5S= 0;
+              while_do__2AC__W5S:
+              {
+                if ((idx__R5S < nb_page__L2B)) {
+                  blc__S5S=((__MEMORY *)(last_block[(idx__R5S)]));
+                  __tmp__V5S=(((__UINTEGER_32)(((__MEMORY *)blc__S5S)->size_and_id__JD &  4294967292LU) <  4096) || ((__UINTEGER_32)(((__MEMORY *)blc__S5S)->size_and_id__JD &  1) ==  1));
+                } else {
+                  __tmp__V5S=FALSE__;
+                };
+                if (__tmp__V5S) {
+                  idx__R5S=(__UINTEGER_32)(idx__R5S +  1);
+                  goto while_do__2AC__W5S;
+                };
+              };
+              if ((idx__R5S >= nb_page__L2B)) {
+                if ((capacity_max__NTD ==  0)) {
+                  mem__OIT=((__POINTER )(NULL));
+                  cap__PIT= 33554432;
+                  do {
+                    cap__PIT=(__UINTEGER_32)(cap__PIT <<  1);
+                    mem__OIT=((__POINTER )(malloc((cap__PIT))));
+                    if ((mem__OIT != (void *)NULL)) {
+                      free((mem__OIT));
+                    };
+                  } while ((! ((mem__OIT == (void *)NULL) || (cap__PIT ==  2147483648LU))));
+                  if ((mem__OIT == (void *)NULL)) {
+                    cap__PIT=(__UINTEGER_32)(cap__PIT >>  1);
+                  };
+                  capacity_max__NTD=cap__PIT;
+                  begin_memory__2RB=((__POINTER )(malloc((cap__PIT))));
+                };
+                old_size__RIT=(__UINTEGER_32)(nb_page__L2B <<  26);
+                nb_page__L2B=(__UINTEGER_32)(nb_page__L2B +  1);
+                if (((__UINTEGER_32)(old_size__RIT +  67108864) > capacity_max__NTD)) {
+                  __tmp__SIT=((__STRING_CONSTANT *)(&__string_1))->count__XHB;
+                  Self__TIT= 1;
+                  __tmp__UIT=((__STRING_CONSTANT *)(&__string_1))->storage__YLE;
+                  while ((Self__TIT <= __tmp__SIT)) {
+                    fputc((int)(((__CHARACTER *)__tmp__UIT)[(__INTEGER)(Self__TIT -  1)]),stdout);
+                    Self__TIT=(__INTEGER)(Self__TIT +  1);
+                  };
+                  exit(( 1));
+                };
+                block__WIT=((__MEMORY *)(void *)((unsigned long)begin_memory__2RB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )old_size__RIT))));
+                block__WIT->previous_linear__ID= 4294967295LU;
+                block__WIT->size_and_id__JD= 67108858;
+                block__WIT->next_free__KD=first_free__LMD;
+                block__WIT->previous_free__LD=NULL;
+                if (((void *)first_free__LMD != (void *)NULL)) {
+                  ((__MEMORY *)first_free__LMD)->previous_free__LD=block__WIT;
+                };
+                first_free__LMD=block__WIT;
+                last_block[((__UINTEGER_32)(nb_page__L2B -  1))] = (block__WIT);
+                blc__S5S=block__WIT;
+              };
+              ((__MEMORY *)blc__S5S)->size_and_id__JD=(__UINTEGER_32)(blc__S5S->size_and_id__JD -  4096);
+              Self__X5S=((__MEMORY *)blc__S5S);
+              result__Y5S=((__POINTER )((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__X5S) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__X5S->size_and_id__JD &  4294967292LU))))));
+              if (((__UINTEGER_32)(((__MEMORY *)blc__S5S)->size_and_id__JD &  4294967292LU) < ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+                Self__Z5S=((__MEMORY *)blc__S5S);
+                prev__05S=Self__Z5S->previous_free__LD;
+                next__15S=Self__Z5S->next_free__KD;
+                if (((void *)prev__05S == (void *)NULL)) {
+                  first_free__LMD=next__15S;
+                } else {
+                  ((__MEMORY *)prev__05S)->next_free__KD=next__15S;
+                };
+                if (((void *)next__15S != (void *)NULL)) {
+                  ((__MEMORY *)next__15S)->previous_free__LD=prev__05S;
+                };
+                pv__U5S=blc__S5S->previous_linear__ID;
+                if ((pv__U5S !=  4294967295LU)) {
+                  prev__T5S=((__MEMORY *)(void *)((unsigned long)begin_memory__2RB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )pv__U5S))));
+                  ((__MEMORY *)prev__T5S)->size_and_id__JD=(__UINTEGER_32)((__UINTEGER_32)(prev__T5S->size_and_id__JD + blc__S5S->size_and_id__JD) +  8);
+                  last_block[(idx__R5S)] = (prev__T5S);
+                };
+              };
+              ((__POINTER *)result__Y5S)[ 0]=((__POINTER )new_size__TUS);
+              next__FWS=(void *)((unsigned long)result__Y5S - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+            };
+            ((__POINTER *)next__FWS)[ 0]=NULL;
+            ((__POINTER *)ptr_table__GWS)[ 0]=next__FWS;
+          } else {
+            ((__POINTER *)result__HWS)[ 0]=(void *)((unsigned long)((__POINTER *)next__FWS)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+            result__HWS=next__FWS;
+          };
+        };
+        ((__POINTER *)result__HWS)[ 0]=((__POINTER ) 3);
+        result__NUS=(void *)((unsigned long)result__HWS - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+      } else {
+        result__J0S=first_free__LMD;
+        while ((((void *)result__J0S != (void *)NULL) && ((__UINTEGER_32)(((__MEMORY *)result__J0S)->size_and_id__JD &  4294967292LU) < new_size__QUS))) {
+          result__J0S=result__J0S->next_free__KD;
+        };
+        if (((void *)result__J0S == (void *)NULL)) {
+          if ((capacity_max__NTD ==  0)) {
+            mem__XIT=((__POINTER )(NULL));
+            cap__YIT= 33554432;
+            do {
+              cap__YIT=(__UINTEGER_32)(cap__YIT <<  1);
+              mem__XIT=((__POINTER )(malloc((cap__YIT))));
+              if ((mem__XIT != (void *)NULL)) {
+                free((mem__XIT));
+              };
+            } while ((! ((mem__XIT == (void *)NULL) || (cap__YIT ==  2147483648LU))));
+            if ((mem__XIT == (void *)NULL)) {
+              cap__YIT=(__UINTEGER_32)(cap__YIT >>  1);
+            };
+            capacity_max__NTD=cap__YIT;
+            begin_memory__2RB=((__POINTER )(malloc((cap__YIT))));
+          };
+          old_size__0IT=(__UINTEGER_32)(nb_page__L2B <<  26);
+          nb_page__L2B=(__UINTEGER_32)(nb_page__L2B +  1);
+          if (((__UINTEGER_32)(old_size__0IT +  67108864) > capacity_max__NTD)) {
+            __tmp__1IT=((__STRING_CONSTANT *)(&__string_1))->count__XHB;
+            Self__2IT= 1;
+            __tmp__3IT=((__STRING_CONSTANT *)(&__string_1))->storage__YLE;
+            while ((Self__2IT <= __tmp__1IT)) {
+              fputc((int)(((__CHARACTER *)__tmp__3IT)[(__INTEGER)(Self__2IT -  1)]),stdout);
+              Self__2IT=(__INTEGER)(Self__2IT +  1);
+            };
+            exit(( 1));
+          };
+          block__5IT=((__MEMORY *)(void *)((unsigned long)begin_memory__2RB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )old_size__0IT))));
+          block__5IT->previous_linear__ID= 4294967295LU;
+          block__5IT->size_and_id__JD= 67108858;
+          block__5IT->next_free__KD=first_free__LMD;
+          block__5IT->previous_free__LD=NULL;
+          if (((void *)first_free__LMD != (void *)NULL)) {
+            ((__MEMORY *)first_free__LMD)->previous_free__LD=block__5IT;
+          };
+          first_free__LMD=block__5IT;
+          last_block[((__UINTEGER_32)(nb_page__L2B -  1))] = (block__5IT);
+          result__J0S=block__5IT;
+        };
+        Self__M0S=((__MEMORY *)result__J0S);
+        idx__N0S=(__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )((__MEMORY *)result__J0S)) - (unsigned long)begin_memory__2RB)))) >>  26);
+        new__O0S=NULL;
+        prev__P0S=Self__M0S->previous_free__LD;
+        next__Q0S=Self__M0S->next_free__KD;
+        if (((void *)prev__P0S == (void *)NULL)) {
+          first_free__LMD=next__Q0S;
+        } else {
+          ((__MEMORY *)prev__P0S)->next_free__KD=next__Q0S;
+        };
+        if (((void *)next__Q0S != (void *)NULL)) {
+          ((__MEMORY *)next__Q0S)->previous_free__LD=prev__P0S;
+        };
+        siz__R0S=Self__M0S->size_and_id__JD;
+        new_size__S0S=(__UINTEGER_32)(siz__R0S - new_size__QUS);
+        if ((new_size__S0S > (__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )(MINIMUM_SIZE)) +  2) +  8))) {
+          siz__R0S=new_size__QUS;
+          new__O0S=((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__M0S) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__QUS))));
+          ((__MEMORY *)new__O0S)->previous_linear__ID=((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )Self__M0S) - (unsigned long)begin_memory__2RB))));
+          ((__MEMORY *)new__O0S)->size_and_id__JD=(__UINTEGER_32)(new_size__S0S -  8);
+          Self__T0S=((__MEMORY *)new__O0S);
+          Self__T0S->next_free__KD=first_free__LMD;
+          Self__T0S->previous_free__LD=NULL;
+          if (((void *)first_free__LMD != (void *)NULL)) {
+            ((__MEMORY *)first_free__LMD)->previous_free__LD=Self__T0S;
+          };
+          first_free__LMD=Self__T0S;
+          if (((__UINTEGER_32)(((__MEMORY *)new__O0S)->size_and_id__JD &  2) !=  0)) {
+            last_block[(idx__N0S)] = (new__O0S);
+          } else {
+            Self__U0S=((__MEMORY *)new__O0S);
+            ((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__U0S) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__U0S->size_and_id__JD &  4294967292LU)))))->previous_linear__ID=((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )((__MEMORY *)new__O0S)) - (unsigned long)begin_memory__2RB))));
+          };
+        };
+        Self__M0S->size_and_id__JD=(__UINTEGER_32)(siz__R0S |  1);
+        result__NUS=(void *)((unsigned long)((__POINTER )((__MEMORY *)result__J0S)) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+      };
+      Result__CLG=((__CHARACTER *)result__NUS);
+      Self__DNI=(__INTEGER)(needed_capacity__S3 -  1);
+      while ((Self__DNI >=  0)) {
+        Result__CLG[Self__DNI]='\0';
+        Self__DNI=(__INTEGER)(Self__DNI -  1);
+      };
+      Self__HUC->storage__2QC=Result__CLG;
+      Self__HUC->capacity__FW=needed_capacity__S3;
+    };
+  };
+  Self__HUC->count__DW= 0;
+  return(result__ZDB);
+}
+
+static __POINTER realloc_dynamic__old_size__new_size__CGI(__POINTER p__EGI,__UINTEGER_32 old_sz__FGI,__UINTEGER_32 new_sz__GGI)
+// ({POINTER},{UINTEGER_32},{UINTEGER_32}) With resultNo recursive, No inlinable.
+{
+  __MEMORY *mem__RGI,*blc__45S,*prev__55S,*block__IJT,*Self__DAT;
+  __MEMORY *Self__FAT,*prev__GAT,*next__HAT,*blc__KAT,*prev__LAT;
+  __MEMORY *block__RJT,*Self__PAT,*Self__RAT,*prev__SAT,*next__TAT;
+  __MEMORY *result__V0S,*block__0JT,*Self__Y0S,*new__00S,*prev__10S;
+  __MEMORY *next__20S,*Self__50S,*Self__A1S,*Self__MKK,*nxt__QKK;
+  __MEMORY *result__RKK,*Self__AXS,*new__5WS,*prev__BXS,*next__CXS;
+  __MEMORY *Self__GXS,*Self__IXS,*result__B1S,*block__DKT,*Self__E1S;
+  __MEMORY *new__G1S,*prev__H1S,*next__I1S,*Self__L1S,*Self__M1S;
+  __MEMORY *next__ZAL,*new_free__YAL,*prev__DSS,*next__ESS;
+  __POINTER result__SGI,result__OO,ptr_table__AWS,next__5VS,result__BWS;
+  __POINTER mem__AJT,result__EAT,mem__JJT,result__QAT,mem__SJT,p__CJK;
+  __POINTER last__FUK,mem__1JT,src__2HK,dst__3HK;
+  __UINTEGER_32 a__PRS,old_size__IGI,old_size2__LGI,a__TRS;
+  __UINTEGER_32 new_size__OGI,a__A1,new_size__IO,new_size2__LO,a__LSS;
+  __UINTEGER_32 new_size__MSS,idx__35S,pv__AAT,cap__BJT,old_size__DJT;
+  __UINTEGER_32 idx__JAT,pv__MAT,cap__KJT,old_size__MJT,cap__TJT;
+  __UINTEGER_32 old_size__VJT,idx__Z0S,siz__30S,new_size__40S,a__XRS;
+  __UINTEGER_32 __tmp__DII,sz__VKK,old_size__SKK,siz__DXS,new_size__FXS;
+  __UINTEGER_32 cap__2JT,old_size__4JT,idx__F1S,siz__J1S,new_size__K1S;
+  __UINTEGER_32 prev__0AL,new_size__3AL;
+  __INTEGER __tmp__EJT,Self__FJT,__tmp__NJT,Self__OJT,__tmp__WJT;
+  __INTEGER Self__XJT,siz__YWS,Self__3WS,__tmp__5JT,Self__AKT,siz__BIK;
+  __INTEGER Self__YRK;
+  __BOOLEAN __tmp__BAT,__tmp__NAT;
+  __CHARACTER *__tmp__GJT,*__tmp__PJT,*__tmp__YJT,*__tmp__BKT;
+  __POINTER *na_src__0WS,*na_dst__2WS,*na_src__5HK,*na_dst__AIK;
+  mem__RGI=NULL;
+  result__SGI=((__POINTER )(NULL));
+  a__PRS=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+  old_size__IGI=(__UINTEGER_32)((__UINTEGER_32)(old_sz__FGI + a__PRS) & (__UINTEGER_32)(~ a__PRS));
+  old_size2__LGI=(__UINTEGER_32)(old_size__IGI + ((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))));
+  a__TRS=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+  new_size__OGI=(__UINTEGER_32)((__UINTEGER_32)(new_sz__GGI + a__TRS) & (__UINTEGER_32)(~ a__TRS));
+  if ((old_size2__LGI <= ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+    result__OO=((__POINTER )(NULL));
+    a__A1=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+    new_size__IO=(__UINTEGER_32)((__UINTEGER_32)(new_size__OGI + a__A1) & (__UINTEGER_32)(~ a__A1));
+    new_size2__LO=(__UINTEGER_32)(new_size__IO + ((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))));
+    if ((new_size2__LO <= ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+      a__LSS=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__MSS=(__UINTEGER_32)((__UINTEGER_32)(new_size2__LO + a__LSS) & (__UINTEGER_32)(~ a__LSS));
+      ptr_table__AWS=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__MSS / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+      next__5VS=((__POINTER )(NULL));
+      result__BWS=((__POINTER *)ptr_table__AWS)[ 0];
+      if ((result__BWS == (void *)NULL)) {
+        idx__35S= 0;
+        blc__45S=NULL;
+        prev__55S=NULL;
+        pv__AAT= 0;
+        while_do__2AC__CAT:
+        {
+          if ((idx__35S < nb_page__L2B)) {
+            blc__45S=((__MEMORY *)(last_block[(idx__35S)]));
+            __tmp__BAT=(((__UINTEGER_32)(((__MEMORY *)blc__45S)->size_and_id__JD &  4294967292LU) <  4096) || ((__UINTEGER_32)(((__MEMORY *)blc__45S)->size_and_id__JD &  1) ==  1));
+          } else {
+            __tmp__BAT=FALSE__;
+          };
+          if (__tmp__BAT) {
+            idx__35S=(__UINTEGER_32)(idx__35S +  1);
+            goto while_do__2AC__CAT;
+          };
+        };
+        if ((idx__35S >= nb_page__L2B)) {
+          if ((capacity_max__NTD ==  0)) {
+            mem__AJT=((__POINTER )(NULL));
+            cap__BJT= 33554432;
+            do {
+              cap__BJT=(__UINTEGER_32)(cap__BJT <<  1);
+              mem__AJT=((__POINTER )(malloc((cap__BJT))));
+              if ((mem__AJT != (void *)NULL)) {
+                free((mem__AJT));
+              };
+            } while ((! ((mem__AJT == (void *)NULL) || (cap__BJT ==  2147483648LU))));
+            if ((mem__AJT == (void *)NULL)) {
+              cap__BJT=(__UINTEGER_32)(cap__BJT >>  1);
+            };
+            capacity_max__NTD=cap__BJT;
+            begin_memory__2RB=((__POINTER )(malloc((cap__BJT))));
+          };
+          old_size__DJT=(__UINTEGER_32)(nb_page__L2B <<  26);
+          nb_page__L2B=(__UINTEGER_32)(nb_page__L2B +  1);
+          if (((__UINTEGER_32)(old_size__DJT +  67108864) > capacity_max__NTD)) {
+            __tmp__EJT=((__STRING_CONSTANT *)(&__string_1))->count__XHB;
+            Self__FJT= 1;
+            __tmp__GJT=((__STRING_CONSTANT *)(&__string_1))->storage__YLE;
+            while ((Self__FJT <= __tmp__EJT)) {
+              fputc((int)(((__CHARACTER *)__tmp__GJT)[(__INTEGER)(Self__FJT -  1)]),stdout);
+              Self__FJT=(__INTEGER)(Self__FJT +  1);
+            };
+            exit(( 1));
+          };
+          block__IJT=((__MEMORY *)(void *)((unsigned long)begin_memory__2RB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )old_size__DJT))));
+          block__IJT->previous_linear__ID= 4294967295LU;
+          block__IJT->size_and_id__JD= 67108858;
+          block__IJT->next_free__KD=first_free__LMD;
+          block__IJT->previous_free__LD=NULL;
+          if (((void *)first_free__LMD != (void *)NULL)) {
+            ((__MEMORY *)first_free__LMD)->previous_free__LD=block__IJT;
+          };
+          first_free__LMD=block__IJT;
+          last_block[((__UINTEGER_32)(nb_page__L2B -  1))] = (block__IJT);
+          blc__45S=block__IJT;
+        };
+        ((__MEMORY *)blc__45S)->size_and_id__JD=(__UINTEGER_32)(blc__45S->size_and_id__JD -  4096);
+        Self__DAT=((__MEMORY *)blc__45S);
+        result__EAT=((__POINTER )((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__DAT) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__DAT->size_and_id__JD &  4294967292LU))))));
+        if (((__UINTEGER_32)(((__MEMORY *)blc__45S)->size_and_id__JD &  4294967292LU) < ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+          Self__FAT=((__MEMORY *)blc__45S);
+          prev__GAT=Self__FAT->previous_free__LD;
+          next__HAT=Self__FAT->next_free__KD;
+          if (((void *)prev__GAT == (void *)NULL)) {
+            first_free__LMD=next__HAT;
+          } else {
+            ((__MEMORY *)prev__GAT)->next_free__KD=next__HAT;
+          };
+          if (((void *)next__HAT != (void *)NULL)) {
+            ((__MEMORY *)next__HAT)->previous_free__LD=prev__GAT;
+          };
+          pv__AAT=blc__45S->previous_linear__ID;
+          if ((pv__AAT !=  4294967295LU)) {
+            prev__55S=((__MEMORY *)(void *)((unsigned long)begin_memory__2RB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )pv__AAT))));
+            ((__MEMORY *)prev__55S)->size_and_id__JD=(__UINTEGER_32)((__UINTEGER_32)(prev__55S->size_and_id__JD + blc__45S->size_and_id__JD) +  8);
+            last_block[(idx__35S)] = (prev__55S);
+          };
+        };
+        ((__POINTER *)result__EAT)[ 0]=((__POINTER )new_size__MSS);
+        result__BWS=(void *)((unsigned long)result__EAT - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+        next__5VS=(void *)((unsigned long)result__BWS - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__MSS)));
+        ((__POINTER *)next__5VS)[ 0]=NULL;
+        ((__POINTER *)ptr_table__AWS)[ 0]=next__5VS;
+      } else {
+        next__5VS=((__POINTER *)result__BWS)[ 0];
+        if ((next__5VS == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__BWS - (unsigned long)begin_memory__2RB)))) &  4095) + (__UINTEGER_32)(new_size__MSS <<  1)) <=  4096)) {
+            next__5VS=(void *)((unsigned long)result__BWS - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__MSS)));
+          } else {
+            idx__JAT= 0;
+            blc__KAT=NULL;
+            prev__LAT=NULL;
+            pv__MAT= 0;
+            while_do__2AC__OAT:
+            {
+              if ((idx__JAT < nb_page__L2B)) {
+                blc__KAT=((__MEMORY *)(last_block[(idx__JAT)]));
+                __tmp__NAT=(((__UINTEGER_32)(((__MEMORY *)blc__KAT)->size_and_id__JD &  4294967292LU) <  4096) || ((__UINTEGER_32)(((__MEMORY *)blc__KAT)->size_and_id__JD &  1) ==  1));
+              } else {
+                __tmp__NAT=FALSE__;
+              };
+              if (__tmp__NAT) {
+                idx__JAT=(__UINTEGER_32)(idx__JAT +  1);
+                goto while_do__2AC__OAT;
+              };
+            };
+            if ((idx__JAT >= nb_page__L2B)) {
+              if ((capacity_max__NTD ==  0)) {
+                mem__JJT=((__POINTER )(NULL));
+                cap__KJT= 33554432;
+                do {
+                  cap__KJT=(__UINTEGER_32)(cap__KJT <<  1);
+                  mem__JJT=((__POINTER )(malloc((cap__KJT))));
+                  if ((mem__JJT != (void *)NULL)) {
+                    free((mem__JJT));
+                  };
+                } while ((! ((mem__JJT == (void *)NULL) || (cap__KJT ==  2147483648LU))));
+                if ((mem__JJT == (void *)NULL)) {
+                  cap__KJT=(__UINTEGER_32)(cap__KJT >>  1);
+                };
+                capacity_max__NTD=cap__KJT;
+                begin_memory__2RB=((__POINTER )(malloc((cap__KJT))));
+              };
+              old_size__MJT=(__UINTEGER_32)(nb_page__L2B <<  26);
+              nb_page__L2B=(__UINTEGER_32)(nb_page__L2B +  1);
+              if (((__UINTEGER_32)(old_size__MJT +  67108864) > capacity_max__NTD)) {
+                __tmp__NJT=((__STRING_CONSTANT *)(&__string_1))->count__XHB;
+                Self__OJT= 1;
+                __tmp__PJT=((__STRING_CONSTANT *)(&__string_1))->storage__YLE;
+                while ((Self__OJT <= __tmp__NJT)) {
+                  fputc((int)(((__CHARACTER *)__tmp__PJT)[(__INTEGER)(Self__OJT -  1)]),stdout);
+                  Self__OJT=(__INTEGER)(Self__OJT +  1);
+                };
+                exit(( 1));
+              };
+              block__RJT=((__MEMORY *)(void *)((unsigned long)begin_memory__2RB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )old_size__MJT))));
+              block__RJT->previous_linear__ID= 4294967295LU;
+              block__RJT->size_and_id__JD= 67108858;
+              block__RJT->next_free__KD=first_free__LMD;
+              block__RJT->previous_free__LD=NULL;
+              if (((void *)first_free__LMD != (void *)NULL)) {
+                ((__MEMORY *)first_free__LMD)->previous_free__LD=block__RJT;
+              };
+              first_free__LMD=block__RJT;
+              last_block[((__UINTEGER_32)(nb_page__L2B -  1))] = (block__RJT);
+              blc__KAT=block__RJT;
+            };
+            ((__MEMORY *)blc__KAT)->size_and_id__JD=(__UINTEGER_32)(blc__KAT->size_and_id__JD -  4096);
+            Self__PAT=((__MEMORY *)blc__KAT);
+            result__QAT=((__POINTER )((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__PAT) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__PAT->size_and_id__JD &  4294967292LU))))));
+            if (((__UINTEGER_32)(((__MEMORY *)blc__KAT)->size_and_id__JD &  4294967292LU) < ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+              Self__RAT=((__MEMORY *)blc__KAT);
+              prev__SAT=Self__RAT->previous_free__LD;
+              next__TAT=Self__RAT->next_free__KD;
+              if (((void *)prev__SAT == (void *)NULL)) {
+                first_free__LMD=next__TAT;
+              } else {
+                ((__MEMORY *)prev__SAT)->next_free__KD=next__TAT;
+              };
+              if (((void *)next__TAT != (void *)NULL)) {
+                ((__MEMORY *)next__TAT)->previous_free__LD=prev__SAT;
+              };
+              pv__MAT=blc__KAT->previous_linear__ID;
+              if ((pv__MAT !=  4294967295LU)) {
+                prev__LAT=((__MEMORY *)(void *)((unsigned long)begin_memory__2RB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )pv__MAT))));
+                ((__MEMORY *)prev__LAT)->size_and_id__JD=(__UINTEGER_32)((__UINTEGER_32)(prev__LAT->size_and_id__JD + blc__KAT->size_and_id__JD) +  8);
+                last_block[(idx__JAT)] = (prev__LAT);
+              };
+            };
+            ((__POINTER *)result__QAT)[ 0]=((__POINTER )new_size__MSS);
+            next__5VS=(void *)((unsigned long)result__QAT - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+          };
+          ((__POINTER *)next__5VS)[ 0]=NULL;
+          ((__POINTER *)ptr_table__AWS)[ 0]=next__5VS;
+        } else {
+          ((__POINTER *)result__BWS)[ 0]=(void *)((unsigned long)((__POINTER *)next__5VS)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__BWS=next__5VS;
+        };
+      };
+      ((__POINTER *)result__BWS)[ 0]=((__POINTER ) 3);
+      result__OO=(void *)((unsigned long)result__BWS - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+    } else {
+      result__V0S=first_free__LMD;
+      while ((((void *)result__V0S != (void *)NULL) && ((__UINTEGER_32)(((__MEMORY *)result__V0S)->size_and_id__JD &  4294967292LU) < new_size__IO))) {
+        result__V0S=result__V0S->next_free__KD;
+      };
+      if (((void *)result__V0S == (void *)NULL)) {
+        if ((capacity_max__NTD ==  0)) {
+          mem__SJT=((__POINTER )(NULL));
+          cap__TJT= 33554432;
+          do {
+            cap__TJT=(__UINTEGER_32)(cap__TJT <<  1);
+            mem__SJT=((__POINTER )(malloc((cap__TJT))));
+            if ((mem__SJT != (void *)NULL)) {
+              free((mem__SJT));
+            };
+          } while ((! ((mem__SJT == (void *)NULL) || (cap__TJT ==  2147483648LU))));
+          if ((mem__SJT == (void *)NULL)) {
+            cap__TJT=(__UINTEGER_32)(cap__TJT >>  1);
+          };
+          capacity_max__NTD=cap__TJT;
+          begin_memory__2RB=((__POINTER )(malloc((cap__TJT))));
+        };
+        old_size__VJT=(__UINTEGER_32)(nb_page__L2B <<  26);
+        nb_page__L2B=(__UINTEGER_32)(nb_page__L2B +  1);
+        if (((__UINTEGER_32)(old_size__VJT +  67108864) > capacity_max__NTD)) {
+          __tmp__WJT=((__STRING_CONSTANT *)(&__string_1))->count__XHB;
+          Self__XJT= 1;
+          __tmp__YJT=((__STRING_CONSTANT *)(&__string_1))->storage__YLE;
+          while ((Self__XJT <= __tmp__WJT)) {
+            fputc((int)(((__CHARACTER *)__tmp__YJT)[(__INTEGER)(Self__XJT -  1)]),stdout);
+            Self__XJT=(__INTEGER)(Self__XJT +  1);
+          };
+          exit(( 1));
+        };
+        block__0JT=((__MEMORY *)(void *)((unsigned long)begin_memory__2RB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )old_size__VJT))));
+        block__0JT->previous_linear__ID= 4294967295LU;
+        block__0JT->size_and_id__JD= 67108858;
+        block__0JT->next_free__KD=first_free__LMD;
+        block__0JT->previous_free__LD=NULL;
+        if (((void *)first_free__LMD != (void *)NULL)) {
+          ((__MEMORY *)first_free__LMD)->previous_free__LD=block__0JT;
+        };
+        first_free__LMD=block__0JT;
+        last_block[((__UINTEGER_32)(nb_page__L2B -  1))] = (block__0JT);
+        result__V0S=block__0JT;
+      };
+      Self__Y0S=((__MEMORY *)result__V0S);
+      idx__Z0S=(__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )((__MEMORY *)result__V0S)) - (unsigned long)begin_memory__2RB)))) >>  26);
+      new__00S=NULL;
+      prev__10S=Self__Y0S->previous_free__LD;
+      next__20S=Self__Y0S->next_free__KD;
+      if (((void *)prev__10S == (void *)NULL)) {
+        first_free__LMD=next__20S;
+      } else {
+        ((__MEMORY *)prev__10S)->next_free__KD=next__20S;
+      };
+      if (((void *)next__20S != (void *)NULL)) {
+        ((__MEMORY *)next__20S)->previous_free__LD=prev__10S;
+      };
+      siz__30S=Self__Y0S->size_and_id__JD;
+      new_size__40S=(__UINTEGER_32)(siz__30S - new_size__IO);
+      if ((new_size__40S > (__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )(MINIMUM_SIZE)) +  2) +  8))) {
+        siz__30S=new_size__IO;
+        new__00S=((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__Y0S) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__IO))));
+        ((__MEMORY *)new__00S)->previous_linear__ID=((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )Self__Y0S) - (unsigned long)begin_memory__2RB))));
+        ((__MEMORY *)new__00S)->size_and_id__JD=(__UINTEGER_32)(new_size__40S -  8);
+        Self__50S=((__MEMORY *)new__00S);
+        Self__50S->next_free__KD=first_free__LMD;
+        Self__50S->previous_free__LD=NULL;
+        if (((void *)first_free__LMD != (void *)NULL)) {
+          ((__MEMORY *)first_free__LMD)->previous_free__LD=Self__50S;
+        };
+        first_free__LMD=Self__50S;
+        if (((__UINTEGER_32)(((__MEMORY *)new__00S)->size_and_id__JD &  2) !=  0)) {
+          last_block[(idx__Z0S)] = (new__00S);
+        } else {
+          Self__A1S=((__MEMORY *)new__00S);
+          ((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__A1S) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__A1S->size_and_id__JD &  4294967292LU)))))->previous_linear__ID=((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )((__MEMORY *)new__00S)) - (unsigned long)begin_memory__2RB))));
+        };
+      };
+      Self__Y0S->size_and_id__JD=(__UINTEGER_32)(siz__30S |  1);
+      result__OO=(void *)((unsigned long)((__POINTER )((__MEMORY *)result__V0S)) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+    };
+    result__SGI=result__OO;
+    siz__YWS=((__INTEGER )old_size__IGI);
+    siz__YWS=(__INTEGER)(siz__YWS / ((__INTEGER )(sizeof(void *))));
+    na_src__0WS=((__POINTER *)p__EGI);
+    na_dst__2WS=((__POINTER *)result__OO);
+    Self__3WS=(__INTEGER)(siz__YWS -  1);
+    while ((Self__3WS >=  0)) {
+      na_dst__2WS[Self__3WS]=na_src__0WS[Self__3WS];
+      Self__3WS=(__INTEGER)(Self__3WS -  1);
+    };
+    p__CJK=(void *)((unsigned long)p__EGI - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *)))));
+    a__XRS=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+    last__FUK=((__POINTER *)((__POINTER )(&(table_size[((__UINTEGER_32)((__UINTEGER_32)((__UINTEGER_32)(old_size2__LGI + a__XRS) & (__UINTEGER_32)(~ a__XRS)) / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1]))))[ 0];
+    ((__POINTER *)p__CJK)[ 0]=(void *)((unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)(void *)((unsigned long)(void *)((unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER *)last__FUK)[ 0]) - (unsigned long)((__POINTER ) 1)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 3)) - (unsigned long)((__POINTER ) 1)))) - (unsigned long)((__POINTER ) 1));
+    ((__POINTER *)last__FUK)[ 0]=p__CJK;
+  } else {
+    mem__RGI=((__MEMORY *)(void *)((unsigned long)p__EGI - (unsigned long)((__POINTER ) 8)));
+    __tmp__DII=(__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)p__EGI - (unsigned long)begin_memory__2RB)))) >>  26);
+    Self__MKK=((__MEMORY *)mem__RGI);
+    nxt__QKK=NULL;
+    result__RKK=NULL;
+    sz__VKK= 0;
+    old_size__SKK=(__UINTEGER_32)(Self__MKK->size_and_id__JD &  4294967292LU);
+    if ((new_size__OGI > old_size__SKK)) {
+      if ((! ((__UINTEGER_32)(Self__MKK->size_and_id__JD &  2) !=  0))) {
+        nxt__QKK=((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__MKK) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__MKK->size_and_id__JD &  4294967292LU)))));
+        sz__VKK=(__UINTEGER_32)((__UINTEGER_32)(new_size__OGI - old_size__SKK) -  8);
+        if ((((__UINTEGER_32)(((__MEMORY *)nxt__QKK)->size_and_id__JD &  1) ==  0) && ((__UINTEGER_32)(((__MEMORY *)nxt__QKK)->size_and_id__JD &  4294967292LU) >= sz__VKK))) {
+          Self__AXS=((__MEMORY *)nxt__QKK);
+          new__5WS=NULL;
+          prev__BXS=Self__AXS->previous_free__LD;
+          next__CXS=Self__AXS->next_free__KD;
+          if (((void *)prev__BXS == (void *)NULL)) {
+            first_free__LMD=next__CXS;
+          } else {
+            ((__MEMORY *)prev__BXS)->next_free__KD=next__CXS;
+          };
+          if (((void *)next__CXS != (void *)NULL)) {
+            ((__MEMORY *)next__CXS)->previous_free__LD=prev__BXS;
+          };
+          siz__DXS=Self__AXS->size_and_id__JD;
+          new_size__FXS=(__UINTEGER_32)(siz__DXS - sz__VKK);
+          if ((new_size__FXS > (__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )(MINIMUM_SIZE)) +  2) +  8))) {
+            siz__DXS=sz__VKK;
+            new__5WS=((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__AXS) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )sz__VKK))));
+            ((__MEMORY *)new__5WS)->previous_linear__ID=((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )Self__AXS) - (unsigned long)begin_memory__2RB))));
+            ((__MEMORY *)new__5WS)->size_and_id__JD=(__UINTEGER_32)(new_size__FXS -  8);
+            Self__GXS=((__MEMORY *)new__5WS);
+            Self__GXS->next_free__KD=first_free__LMD;
+            Self__GXS->previous_free__LD=NULL;
+            if (((void *)first_free__LMD != (void *)NULL)) {
+              ((__MEMORY *)first_free__LMD)->previous_free__LD=Self__GXS;
+            };
+            first_free__LMD=Self__GXS;
+            if (((__UINTEGER_32)(((__MEMORY *)new__5WS)->size_and_id__JD &  2) !=  0)) {
+              last_block[(__tmp__DII)] = (new__5WS);
+            } else {
+              Self__IXS=((__MEMORY *)new__5WS);
+              ((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__IXS) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__IXS->size_and_id__JD &  4294967292LU)))))->previous_linear__ID=((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )((__MEMORY *)new__5WS)) - (unsigned long)begin_memory__2RB))));
+            };
+          };
+          Self__AXS->size_and_id__JD=(__UINTEGER_32)(siz__DXS |  1);
+          Self__MKK->size_and_id__JD=(__UINTEGER_32)((__UINTEGER_32)(Self__MKK->size_and_id__JD + (__UINTEGER_32)(nxt__QKK->size_and_id__JD &  4294967294LU)) +  8);
+          if (((__UINTEGER_32)(Self__MKK->size_and_id__JD &  2) !=  0)) {
+            last_block[(__tmp__DII)] = (Self__MKK);
+          } else {
+            nxt__QKK=((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__MKK) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__MKK->size_and_id__JD &  4294967292LU)))));
+            ((__MEMORY *)nxt__QKK)->previous_linear__ID=((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )Self__MKK) - (unsigned long)begin_memory__2RB))));
+          };
+          result__RKK=Self__MKK;
+        };
+      };
+      if (((void *)result__RKK == (void *)NULL)) {
+        result__B1S=first_free__LMD;
+        while ((((void *)result__B1S != (void *)NULL) && ((__UINTEGER_32)(((__MEMORY *)result__B1S)->size_and_id__JD &  4294967292LU) < new_size__OGI))) {
+          result__B1S=result__B1S->next_free__KD;
+        };
+        if (((void *)result__B1S == (void *)NULL)) {
+          if ((capacity_max__NTD ==  0)) {
+            mem__1JT=((__POINTER )(NULL));
+            cap__2JT= 33554432;
+            do {
+              cap__2JT=(__UINTEGER_32)(cap__2JT <<  1);
+              mem__1JT=((__POINTER )(malloc((cap__2JT))));
+              if ((mem__1JT != (void *)NULL)) {
+                free((mem__1JT));
+              };
+            } while ((! ((mem__1JT == (void *)NULL) || (cap__2JT ==  2147483648LU))));
+            if ((mem__1JT == (void *)NULL)) {
+              cap__2JT=(__UINTEGER_32)(cap__2JT >>  1);
+            };
+            capacity_max__NTD=cap__2JT;
+            begin_memory__2RB=((__POINTER )(malloc((cap__2JT))));
+          };
+          old_size__4JT=(__UINTEGER_32)(nb_page__L2B <<  26);
+          nb_page__L2B=(__UINTEGER_32)(nb_page__L2B +  1);
+          if (((__UINTEGER_32)(old_size__4JT +  67108864) > capacity_max__NTD)) {
+            __tmp__5JT=((__STRING_CONSTANT *)(&__string_1))->count__XHB;
+            Self__AKT= 1;
+            __tmp__BKT=((__STRING_CONSTANT *)(&__string_1))->storage__YLE;
+            while ((Self__AKT <= __tmp__5JT)) {
+              fputc((int)(((__CHARACTER *)__tmp__BKT)[(__INTEGER)(Self__AKT -  1)]),stdout);
+              Self__AKT=(__INTEGER)(Self__AKT +  1);
+            };
+            exit(( 1));
+          };
+          block__DKT=((__MEMORY *)(void *)((unsigned long)begin_memory__2RB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )old_size__4JT))));
+          block__DKT->previous_linear__ID= 4294967295LU;
+          block__DKT->size_and_id__JD= 67108858;
+          block__DKT->next_free__KD=first_free__LMD;
+          block__DKT->previous_free__LD=NULL;
+          if (((void *)first_free__LMD != (void *)NULL)) {
+            ((__MEMORY *)first_free__LMD)->previous_free__LD=block__DKT;
+          };
+          first_free__LMD=block__DKT;
+          last_block[((__UINTEGER_32)(nb_page__L2B -  1))] = (block__DKT);
+          result__B1S=block__DKT;
+        };
+        Self__E1S=((__MEMORY *)result__B1S);
+        idx__F1S=(__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )((__MEMORY *)result__B1S)) - (unsigned long)begin_memory__2RB)))) >>  26);
+        new__G1S=NULL;
+        prev__H1S=Self__E1S->previous_free__LD;
+        next__I1S=Self__E1S->next_free__KD;
+        if (((void *)prev__H1S == (void *)NULL)) {
+          first_free__LMD=next__I1S;
+        } else {
+          ((__MEMORY *)prev__H1S)->next_free__KD=next__I1S;
+        };
+        if (((void *)next__I1S != (void *)NULL)) {
+          ((__MEMORY *)next__I1S)->previous_free__LD=prev__H1S;
+        };
+        siz__J1S=Self__E1S->size_and_id__JD;
+        new_size__K1S=(__UINTEGER_32)(siz__J1S - new_size__OGI);
+        if ((new_size__K1S > (__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )(MINIMUM_SIZE)) +  2) +  8))) {
+          siz__J1S=new_size__OGI;
+          new__G1S=((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__E1S) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__OGI))));
+          ((__MEMORY *)new__G1S)->previous_linear__ID=((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )Self__E1S) - (unsigned long)begin_memory__2RB))));
+          ((__MEMORY *)new__G1S)->size_and_id__JD=(__UINTEGER_32)(new_size__K1S -  8);
+          Self__L1S=((__MEMORY *)new__G1S);
+          Self__L1S->next_free__KD=first_free__LMD;
+          Self__L1S->previous_free__LD=NULL;
+          if (((void *)first_free__LMD != (void *)NULL)) {
+            ((__MEMORY *)first_free__LMD)->previous_free__LD=Self__L1S;
+          };
+          first_free__LMD=Self__L1S;
+          if (((__UINTEGER_32)(((__MEMORY *)new__G1S)->size_and_id__JD &  2) !=  0)) {
+            last_block[(idx__F1S)] = (new__G1S);
+          } else {
+            Self__M1S=((__MEMORY *)new__G1S);
+            ((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__M1S) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__M1S->size_and_id__JD &  4294967292LU)))))->previous_linear__ID=((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )((__MEMORY *)new__G1S)) - (unsigned long)begin_memory__2RB))));
+          };
+        };
+        Self__E1S->size_and_id__JD=(__UINTEGER_32)(siz__J1S |  1);
+        result__RKK=result__B1S;
+        src__2HK=(void *)((unsigned long)((__POINTER )Self__MKK) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+        dst__3HK=(void *)((unsigned long)((__POINTER )((__MEMORY *)result__B1S)) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+        siz__BIK=((__INTEGER )old_size__SKK);
+        siz__BIK=(__INTEGER)(siz__BIK / ((__INTEGER )(sizeof(void *))));
+        na_src__5HK=((__POINTER *)src__2HK);
+        na_dst__AIK=((__POINTER *)dst__3HK);
+        Self__YRK=(__INTEGER)(siz__BIK -  1);
+        while ((Self__YRK >=  0)) {
+          na_dst__AIK[Self__YRK]=na_src__5HK[Self__YRK];
+          Self__YRK=(__INTEGER)(Self__YRK -  1);
+        };
+        prev__0AL=Self__MKK->previous_linear__ID;
+        next__ZAL=((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__MKK) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__MKK->size_and_id__JD &  4294967292LU)))));
+        new_free__YAL=((__MEMORY *)(void *)((unsigned long)begin_memory__2RB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )prev__0AL))));
+        new_size__3AL=(__UINTEGER_32)(Self__MKK->size_and_id__JD &  4294967294LU);
+        if (((prev__0AL ==  4294967295LU) || ((__UINTEGER_32)(new_free__YAL->size_and_id__JD &  1) !=  0))) {
+          new_free__YAL=Self__MKK;
+          Self__MKK->next_free__KD=first_free__LMD;
+          Self__MKK->previous_free__LD=NULL;
+          if (((void *)first_free__LMD != (void *)NULL)) {
+            ((__MEMORY *)first_free__LMD)->previous_free__LD=Self__MKK;
+          };
+          first_free__LMD=Self__MKK;
+        } else {
+          new_size__3AL=(__UINTEGER_32)((__UINTEGER_32)(new_size__3AL + new_free__YAL->size_and_id__JD) +  8);
+        };
+        if (((! ((__UINTEGER_32)(Self__MKK->size_and_id__JD &  2) !=  0)) && ((__UINTEGER_32)(next__ZAL->size_and_id__JD &  1) ==  0))) {
+          new_size__3AL=(__UINTEGER_32)((__UINTEGER_32)(new_size__3AL + next__ZAL->size_and_id__JD) +  8);
+          prev__DSS=next__ZAL->previous_free__LD;
+          next__ESS=next__ZAL->next_free__KD;
+          if (((void *)prev__DSS == (void *)NULL)) {
+            first_free__LMD=next__ESS;
+          } else {
+            ((__MEMORY *)prev__DSS)->next_free__KD=next__ESS;
+          };
+          if (((void *)next__ESS != (void *)NULL)) {
+            ((__MEMORY *)next__ESS)->previous_free__LD=prev__DSS;
+          };
+        };
+        new_free__YAL->size_and_id__JD=new_size__3AL;
+        if (((__UINTEGER_32)(new_free__YAL->size_and_id__JD &  2) !=  0)) {
+          last_block[(__tmp__DII)] = (new_free__YAL);
+        } else {
+          next__ZAL=((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__MKK) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__MKK->size_and_id__JD &  4294967292LU)))));
+          next__ZAL->previous_linear__ID=((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )new_free__YAL) - (unsigned long)begin_memory__2RB))));
+        };
+      };
+    } else {
+      result__RKK=Self__MKK;
+    };
+    result__SGI=(void *)((unsigned long)((__POINTER )((__MEMORY *)result__RKK)) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+  };
+  return(result__SGI);
+}
+
+void offset_momentum(__INTEGER n__IG)
+// ({INTEGER}) VoidNo recursive, Inlinable.
+{
+  __REAL_64 px__JG,py__MG,pz__PG,__tmp__NH,__tmp__RH,__tmp__VH;
+  __PLANET *b__SG;
+  __INTEGER Self__OT;
+  __PLANET *__tmp__JH;
+  px__JG=((__REAL_64 ) 0);
+  py__MG=((__REAL_64 ) 0);
+  pz__PG=((__REAL_64 ) 0);
+  b__SG=NULL;
+  Self__OT= 0;
+  while ((Self__OT <= n__IG)) {
+    b__SG=((__PLANET *)(&(((__PLANET *)bodies__GB)[Self__OT])));
+    px__JG=((__REAL_64 )((px__JG) + ((__REAL_64)(b__SG->vx__IE * b__SG->mass__1D))));
+    py__MG=((__REAL_64 )((py__MG) + ((__REAL_64)(b__SG->vy__ME * b__SG->mass__1D))));
+    pz__PG=((__REAL_64 )((pz__PG) + ((__REAL_64)(b__SG->vz__QE * b__SG->mass__1D))));
+    Self__OT=(__INTEGER)(Self__OT +  1);
+  };
+  __tmp__JH=&(((__PLANET *)bodies__GB)[ 0]);
+  __tmp__NH=(__REAL_64)((__REAL_64)(((__REAL_64 ) 0) - px__JG) / solar_mass__ZD);
+  __tmp__RH=(__REAL_64)((__REAL_64)(((__REAL_64 ) 0) - py__MG) / solar_mass__ZD);
+  __tmp__VH=(__REAL_64)((__REAL_64)(((__REAL_64 ) 0) - pz__PG) / solar_mass__ZD);
+  __tmp__JH->vx__IE=__tmp__NH;
+  __tmp__JH->vy__ME=__tmp__RH;
+  __tmp__JH->vz__QE=__tmp__VH;
+}
+
+__REAL_64 energy(__INTEGER n__XH)
+// ({INTEGER}) With resultNo recursive, Inlinable.
+{
+  __REAL_64 e__ZH,dx__4H,dy__BI,dz__EI,__tmp__TOS,__tmp__UOS,__tmp__VOS;
+  __REAL_64 __tmp__WOS;
+  __PLANET *b__2H,*b2__3H;
+  __INTEGER __tmp__KI,Self__EV,__tmp__KJ,__tmp__LJ,Self__RCE;
+  e__ZH=((__REAL_64 ) 0);
+  b__2H=NULL;
+  b2__3H=NULL;
+  dx__4H=((__REAL_64 ) 0);
+  dy__BI=((__REAL_64 ) 0);
+  dz__EI=((__REAL_64 ) 0);
+  __tmp__KI=nbodies__AB;
+  Self__EV= 0;
+  while ((Self__EV <= __tmp__KI)) {
+    b__2H=((__PLANET *)(&(((__PLANET *)bodies__GB)[Self__EV])));
+    e__ZH=((__REAL_64 )((e__ZH) + ((__REAL_64)((__REAL_64)(b__2H->mass__1D * ((__REAL_64 )0.5)) * ((__REAL_64 )((((__REAL_64 )(((__REAL_64)(b__2H->vx__IE * b__2H->vx__IE)) + ((__REAL_64)(b__2H->vy__ME * b__2H->vy__ME))))) + ((__REAL_64)(b__2H->vz__QE * b__2H->vz__QE))))))));
+    __tmp__KJ=(__INTEGER)(Self__EV +  1);
+    __tmp__LJ=nbodies__AB;
+    Self__RCE=__tmp__KJ;
+    __tmp__TOS=b__2H->x__5D;
+    __tmp__UOS=b__2H->y__BE;
+    __tmp__VOS=b__2H->z__DE;
+    __tmp__WOS=b__2H->mass__1D;
+    while ((Self__RCE <= __tmp__LJ)) {
+      b2__3H=((__PLANET *)(&(((__PLANET *)bodies__GB)[Self__RCE])));
+      dx__4H=(__REAL_64)(__tmp__TOS - b2__3H->x__5D);
+      dy__BI=(__REAL_64)(__tmp__UOS - b2__3H->y__BE);
+      dz__EI=(__REAL_64)(__tmp__VOS - b2__3H->z__DE);
+      e__ZH=(__REAL_64)(e__ZH - (__REAL_64)((__REAL_64)(__tmp__WOS * b2__3H->mass__1D) / ((__REAL_64 )(sqrt((((__REAL_64 )((((__REAL_64 )(((__REAL_64)(dx__4H * dx__4H)) + ((__REAL_64)(dy__BI * dy__BI))))) + ((__REAL_64)(dz__EI * dz__EI))))))))));
+      Self__RCE=(__INTEGER)(Self__RCE +  1);
+    };
+    Self__EV=(__INTEGER)(Self__EV +  1);
+  };
+  return(e__ZH);
+}
+
+static void print_format_c__QK(__REAL_64 Self__RK)
+// ({REAL_64}) VoidNo recursive, No inlinable.
+{
+  __INTEGER old_count__BW,cap__CW,new_capacity__JXS,__tmp__IKT;
+  __INTEGER Self__JKT,__tmp__RKT,Self__SKT,__tmp__0KT,Self__1KT;
+  __INTEGER Self__HYS,__tmp__MXS,__tmp__OXS,Self__PXS,nb_elements__JYS;
+  __INTEGER __tmp__DLT,Self__ELT,__tmp__MLT,Self__NLT,__tmp__VLT;
+  __INTEGER Self__WLT,Self__VYS,__tmp__OWC,Self__S4H,new_capacity__SXS;
+  __INTEGER __tmp__4LT,Self__5LT,__tmp__HMT,Self__IMT,__tmp__QMT;
+  __INTEGER Self__RMT,Self__DZS,__tmp__VXS,__tmp__XXS,Self__YXS;
+  __INTEGER __tmp__GZS,Self__HZS;
+  __STRING *Self__LVS,*new__EFB,*Self__QVC,*Self__1PC,*Self__NRC;
+  __POINTER result__3XS,ptr_table__DYS,next__EYS,result__FYS,mem__EKT;
+  __POINTER result__2AT,mem__NKT,result__IBT,mem__WKT,ptr__ZEH;
+  __POINTER result__LYS,ptr_table__RYS,next__SYS,result__TYS,mem__5KT;
+  __POINTER result__UBT,mem__ILT,result__ACT,mem__RLT,result__ZYS;
+  __POINTER ptr_table__5YS,next__AZS,result__BZS,mem__0LT,result__MCT;
+  __POINTER mem__DMT,result__YCT,mem__MMT;
+  __UINTEGER_32 a__4XS,new_size__5XS,new_size2__AYS,a__BYS;
+  __UINTEGER_32 new_size__CYS,idx__VAT,pv__YAT,cap__FKT,old_size__HKT;
+  __UINTEGER_32 idx__BBT,pv__EBT,cap__OKT,old_size__QKT,cap__XKT;
+  __UINTEGER_32 old_size__ZKT,idx__R1S,siz__V1S,new_size__W1S,sz__KYS;
+  __UINTEGER_32 a__MYS,new_size__NYS,new_size2__OYS,a__PYS;
+  __UINTEGER_32 new_size__QYS,idx__NBT,pv__QBT,cap__ALT,old_size__CLT;
+  __UINTEGER_32 idx__ZBT,pv__2BT,cap__JLT,old_size__LLT,cap__SLT;
+  __UINTEGER_32 old_size__ULT,idx__31S,siz__B2S,new_size__C2S,a__0YS;
+  __UINTEGER_32 new_size__1YS,new_size2__2YS,a__3YS,new_size__4YS;
+  __UINTEGER_32 idx__FCT,pv__ICT,cap__1LT,old_size__3LT,idx__RCT;
+  __UINTEGER_32 pv__UCT,cap__EMT,old_size__GMT,cap__NMT,old_size__PMT;
+  __UINTEGER_32 idx__J2S,siz__N2S,new_size__O2S;
+  __MEMORY *blc__WAT,*prev__XAT,*block__MKT,*Self__1AT,*Self__3AT;
+  __MEMORY *prev__4AT,*next__5AT,*blc__CBT,*prev__DBT,*block__VKT;
+  __MEMORY *Self__HBT,*Self__JBT,*prev__KBT,*next__LBT,*result__N1S;
+  __MEMORY *block__4KT,*Self__Q1S,*new__S1S,*prev__T1S,*next__U1S;
+  __MEMORY *Self__X1S,*Self__Y1S,*blc__OBT,*prev__PBT,*block__HLT;
+  __MEMORY *Self__TBT,*Self__VBT,*prev__WBT,*next__XBT,*blc__0BT;
+  __MEMORY *prev__1BT,*block__QLT,*Self__5BT,*Self__BCT,*prev__CCT;
+  __MEMORY *next__DCT,*result__Z1S,*block__ZLT,*Self__21S,*new__41S;
+  __MEMORY *prev__51S,*next__A2S,*Self__D2S,*Self__E2S,*blc__GCT;
+  __MEMORY *prev__HCT,*block__CMT,*Self__LCT,*Self__NCT,*prev__OCT;
+  __MEMORY *next__PCT,*blc__SCT,*prev__TCT,*block__LMT,*Self__XCT;
+  __MEMORY *Self__ZCT,*prev__0CT,*next__1CT,*result__F2S,*block__UMT;
+  __MEMORY *Self__I2S,*new__K2S,*prev__L2S,*next__M2S,*Self__P2S;
+  __MEMORY *Self__Q2S;
+  void *s__FZS;
+  __BOOLEAN __tmp__ZAT,__tmp__FBT,__tmp__RBT,__tmp__3BT,__tmp__JCT;
+  __BOOLEAN __tmp__VCT;
+  __CHARACTER *__tmp__KKT,*__tmp__TKT,*__tmp__2KT,*Result__GYS;
+  __CHARACTER *__tmp__LXS,*new__NXS,*nc_buf__5V,*__tmp__FLT,*__tmp__OLT;
+  __CHARACTER *__tmp__XLT,*Result__UYS,*__tmp__IWC,*__tmp__LWC;
+  __CHARACTER *Self__IMH,*__tmp__AMT,*__tmp__JMT,*__tmp__SMT;
+  __CHARACTER *Result__CZS,*__tmp__UXS,*new__WXS,*__tmp__3OS,*__tmp__KZS;
+  ((__STRING *)string_tmp__TK)->count__DW= 0;
+  old_count__BW=((__STRING *)string_tmp__TK)->count__DW;
+  cap__CW=(__INTEGER)(((__STRING *)string_tmp__TK)->capacity__FW - old_count__BW);
+  Self__LVS=((__STRING *)string_tmp__TK);
+  if ((Self__LVS->capacity__FW > Self__LVS->count__DW)) {
+    Self__LVS->count__DW=(__INTEGER)(Self__LVS->count__DW +  1);
+    if ((((__CHARACTER *)Self__LVS->storage__2QC)[(__INTEGER)(Self__LVS->count__DW -  1)] != '\0')) {
+      ((__CHARACTER *)Self__LVS->storage__2QC)[(__INTEGER)(Self__LVS->count__DW -  1)]='\0';
+    };
+  } else {
+    new_capacity__JXS= 0;
+    if ((Self__LVS->capacity__FW <= Self__LVS->count__DW)) {
+      if ((Self__LVS->capacity__FW ==  0)) {
+        Self__LVS->capacity__FW= 32;
+        result__3XS=((__POINTER )(NULL));
+        a__4XS=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+        new_size__5XS=(__UINTEGER_32)((__UINTEGER_32)( 32 + a__4XS) & (__UINTEGER_32)(~ a__4XS));
+        new_size2__AYS=(__UINTEGER_32)(new_size__5XS + ((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))));
+        if ((new_size2__AYS <= ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+          a__BYS=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+          new_size__CYS=(__UINTEGER_32)((__UINTEGER_32)(new_size2__AYS + a__BYS) & (__UINTEGER_32)(~ a__BYS));
+          ptr_table__DYS=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__CYS / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+          next__EYS=((__POINTER )(NULL));
+          result__FYS=((__POINTER *)ptr_table__DYS)[ 0];
+          if ((result__FYS == (void *)NULL)) {
+            idx__VAT= 0;
+            blc__WAT=NULL;
+            prev__XAT=NULL;
+            pv__YAT= 0;
+            while_do__2AC__0AT:
+            {
+              if ((idx__VAT < nb_page__L2B)) {
+                blc__WAT=((__MEMORY *)(last_block[(idx__VAT)]));
+                __tmp__ZAT=(((__UINTEGER_32)(((__MEMORY *)blc__WAT)->size_and_id__JD &  4294967292LU) <  4096) || ((__UINTEGER_32)(((__MEMORY *)blc__WAT)->size_and_id__JD &  1) ==  1));
+              } else {
+                __tmp__ZAT=FALSE__;
+              };
+              if (__tmp__ZAT) {
+                idx__VAT=(__UINTEGER_32)(idx__VAT +  1);
+                goto while_do__2AC__0AT;
+              };
+            };
+            if ((idx__VAT >= nb_page__L2B)) {
+              if ((capacity_max__NTD ==  0)) {
+                mem__EKT=((__POINTER )(NULL));
+                cap__FKT= 33554432;
+                do {
+                  cap__FKT=(__UINTEGER_32)(cap__FKT <<  1);
+                  mem__EKT=((__POINTER )(malloc((cap__FKT))));
+                  if ((mem__EKT != (void *)NULL)) {
+                    free((mem__EKT));
+                  };
+                } while ((! ((mem__EKT == (void *)NULL) || (cap__FKT ==  2147483648LU))));
+                if ((mem__EKT == (void *)NULL)) {
+                  cap__FKT=(__UINTEGER_32)(cap__FKT >>  1);
+                };
+                capacity_max__NTD=cap__FKT;
+                begin_memory__2RB=((__POINTER )(malloc((cap__FKT))));
+              };
+              old_size__HKT=(__UINTEGER_32)(nb_page__L2B <<  26);
+              nb_page__L2B=(__UINTEGER_32)(nb_page__L2B +  1);
+              if (((__UINTEGER_32)(old_size__HKT +  67108864) > capacity_max__NTD)) {
+                __tmp__IKT=((__STRING_CONSTANT *)(&__string_1))->count__XHB;
+                Self__JKT= 1;
+                __tmp__KKT=((__STRING_CONSTANT *)(&__string_1))->storage__YLE;
+                while ((Self__JKT <= __tmp__IKT)) {
+                  fputc((int)(((__CHARACTER *)__tmp__KKT)[(__INTEGER)(Self__JKT -  1)]),stdout);
+                  Self__JKT=(__INTEGER)(Self__JKT +  1);
+                };
+                exit(( 1));
+              };
+              block__MKT=((__MEMORY *)(void *)((unsigned long)begin_memory__2RB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )old_size__HKT))));
+              block__MKT->previous_linear__ID= 4294967295LU;
+              block__MKT->size_and_id__JD= 67108858;
+              block__MKT->next_free__KD=first_free__LMD;
+              block__MKT->previous_free__LD=NULL;
+              if (((void *)first_free__LMD != (void *)NULL)) {
+                ((__MEMORY *)first_free__LMD)->previous_free__LD=block__MKT;
+              };
+              first_free__LMD=block__MKT;
+              last_block[((__UINTEGER_32)(nb_page__L2B -  1))] = (block__MKT);
+              blc__WAT=block__MKT;
+            };
+            ((__MEMORY *)blc__WAT)->size_and_id__JD=(__UINTEGER_32)(blc__WAT->size_and_id__JD -  4096);
+            Self__1AT=((__MEMORY *)blc__WAT);
+            result__2AT=((__POINTER )((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__1AT) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__1AT->size_and_id__JD &  4294967292LU))))));
+            if (((__UINTEGER_32)(((__MEMORY *)blc__WAT)->size_and_id__JD &  4294967292LU) < ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+              Self__3AT=((__MEMORY *)blc__WAT);
+              prev__4AT=Self__3AT->previous_free__LD;
+              next__5AT=Self__3AT->next_free__KD;
+              if (((void *)prev__4AT == (void *)NULL)) {
+                first_free__LMD=next__5AT;
+              } else {
+                ((__MEMORY *)prev__4AT)->next_free__KD=next__5AT;
+              };
+              if (((void *)next__5AT != (void *)NULL)) {
+                ((__MEMORY *)next__5AT)->previous_free__LD=prev__4AT;
+              };
+              pv__YAT=blc__WAT->previous_linear__ID;
+              if ((pv__YAT !=  4294967295LU)) {
+                prev__XAT=((__MEMORY *)(void *)((unsigned long)begin_memory__2RB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )pv__YAT))));
+                ((__MEMORY *)prev__XAT)->size_and_id__JD=(__UINTEGER_32)((__UINTEGER_32)(prev__XAT->size_and_id__JD + blc__WAT->size_and_id__JD) +  8);
+                last_block[(idx__VAT)] = (prev__XAT);
+              };
+            };
+            ((__POINTER *)result__2AT)[ 0]=((__POINTER )new_size__CYS);
+            result__FYS=(void *)((unsigned long)result__2AT - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+            next__EYS=(void *)((unsigned long)result__FYS - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__CYS)));
+            ((__POINTER *)next__EYS)[ 0]=NULL;
+            ((__POINTER *)ptr_table__DYS)[ 0]=next__EYS;
+          } else {
+            next__EYS=((__POINTER *)result__FYS)[ 0];
+            if ((next__EYS == (void *)NULL)) {
+              if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__FYS - (unsigned long)begin_memory__2RB)))) &  4095) + (__UINTEGER_32)(new_size__CYS <<  1)) <=  4096)) {
+                next__EYS=(void *)((unsigned long)result__FYS - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__CYS)));
+              } else {
+                idx__BBT= 0;
+                blc__CBT=NULL;
+                prev__DBT=NULL;
+                pv__EBT= 0;
+                while_do__2AC__GBT:
+                {
+                  if ((idx__BBT < nb_page__L2B)) {
+                    blc__CBT=((__MEMORY *)(last_block[(idx__BBT)]));
+                    __tmp__FBT=(((__UINTEGER_32)(((__MEMORY *)blc__CBT)->size_and_id__JD &  4294967292LU) <  4096) || ((__UINTEGER_32)(((__MEMORY *)blc__CBT)->size_and_id__JD &  1) ==  1));
+                  } else {
+                    __tmp__FBT=FALSE__;
+                  };
+                  if (__tmp__FBT) {
+                    idx__BBT=(__UINTEGER_32)(idx__BBT +  1);
+                    goto while_do__2AC__GBT;
+                  };
+                };
+                if ((idx__BBT >= nb_page__L2B)) {
+                  if ((capacity_max__NTD ==  0)) {
+                    mem__NKT=((__POINTER )(NULL));
+                    cap__OKT= 33554432;
+                    do {
+                      cap__OKT=(__UINTEGER_32)(cap__OKT <<  1);
+                      mem__NKT=((__POINTER )(malloc((cap__OKT))));
+                      if ((mem__NKT != (void *)NULL)) {
+                        free((mem__NKT));
+                      };
+                    } while ((! ((mem__NKT == (void *)NULL) || (cap__OKT ==  2147483648LU))));
+                    if ((mem__NKT == (void *)NULL)) {
+                      cap__OKT=(__UINTEGER_32)(cap__OKT >>  1);
+                    };
+                    capacity_max__NTD=cap__OKT;
+                    begin_memory__2RB=((__POINTER )(malloc((cap__OKT))));
+                  };
+                  old_size__QKT=(__UINTEGER_32)(nb_page__L2B <<  26);
+                  nb_page__L2B=(__UINTEGER_32)(nb_page__L2B +  1);
+                  if (((__UINTEGER_32)(old_size__QKT +  67108864) > capacity_max__NTD)) {
+                    __tmp__RKT=((__STRING_CONSTANT *)(&__string_1))->count__XHB;
+                    Self__SKT= 1;
+                    __tmp__TKT=((__STRING_CONSTANT *)(&__string_1))->storage__YLE;
+                    while ((Self__SKT <= __tmp__RKT)) {
+                      fputc((int)(((__CHARACTER *)__tmp__TKT)[(__INTEGER)(Self__SKT -  1)]),stdout);
+                      Self__SKT=(__INTEGER)(Self__SKT +  1);
+                    };
+                    exit(( 1));
+                  };
+                  block__VKT=((__MEMORY *)(void *)((unsigned long)begin_memory__2RB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )old_size__QKT))));
+                  block__VKT->previous_linear__ID= 4294967295LU;
+                  block__VKT->size_and_id__JD= 67108858;
+                  block__VKT->next_free__KD=first_free__LMD;
+                  block__VKT->previous_free__LD=NULL;
+                  if (((void *)first_free__LMD != (void *)NULL)) {
+                    ((__MEMORY *)first_free__LMD)->previous_free__LD=block__VKT;
+                  };
+                  first_free__LMD=block__VKT;
+                  last_block[((__UINTEGER_32)(nb_page__L2B -  1))] = (block__VKT);
+                  blc__CBT=block__VKT;
+                };
+                ((__MEMORY *)blc__CBT)->size_and_id__JD=(__UINTEGER_32)(blc__CBT->size_and_id__JD -  4096);
+                Self__HBT=((__MEMORY *)blc__CBT);
+                result__IBT=((__POINTER )((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__HBT) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__HBT->size_and_id__JD &  4294967292LU))))));
+                if (((__UINTEGER_32)(((__MEMORY *)blc__CBT)->size_and_id__JD &  4294967292LU) < ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+                  Self__JBT=((__MEMORY *)blc__CBT);
+                  prev__KBT=Self__JBT->previous_free__LD;
+                  next__LBT=Self__JBT->next_free__KD;
+                  if (((void *)prev__KBT == (void *)NULL)) {
+                    first_free__LMD=next__LBT;
+                  } else {
+                    ((__MEMORY *)prev__KBT)->next_free__KD=next__LBT;
+                  };
+                  if (((void *)next__LBT != (void *)NULL)) {
+                    ((__MEMORY *)next__LBT)->previous_free__LD=prev__KBT;
+                  };
+                  pv__EBT=blc__CBT->previous_linear__ID;
+                  if ((pv__EBT !=  4294967295LU)) {
+                    prev__DBT=((__MEMORY *)(void *)((unsigned long)begin_memory__2RB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )pv__EBT))));
+                    ((__MEMORY *)prev__DBT)->size_and_id__JD=(__UINTEGER_32)((__UINTEGER_32)(prev__DBT->size_and_id__JD + blc__CBT->size_and_id__JD) +  8);
+                    last_block[(idx__BBT)] = (prev__DBT);
+                  };
+                };
+                ((__POINTER *)result__IBT)[ 0]=((__POINTER )new_size__CYS);
+                next__EYS=(void *)((unsigned long)result__IBT - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+              };
+              ((__POINTER *)next__EYS)[ 0]=NULL;
+              ((__POINTER *)ptr_table__DYS)[ 0]=next__EYS;
+            } else {
+              ((__POINTER *)result__FYS)[ 0]=(void *)((unsigned long)((__POINTER *)next__EYS)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+              result__FYS=next__EYS;
+            };
+          };
+          ((__POINTER *)result__FYS)[ 0]=((__POINTER ) 3);
+          result__3XS=(void *)((unsigned long)result__FYS - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+        } else {
+          result__N1S=first_free__LMD;
+          while ((((void *)result__N1S != (void *)NULL) && ((__UINTEGER_32)(((__MEMORY *)result__N1S)->size_and_id__JD &  4294967292LU) < new_size__5XS))) {
+            result__N1S=result__N1S->next_free__KD;
+          };
+          if (((void *)result__N1S == (void *)NULL)) {
+            if ((capacity_max__NTD ==  0)) {
+              mem__WKT=((__POINTER )(NULL));
+              cap__XKT= 33554432;
+              do {
+                cap__XKT=(__UINTEGER_32)(cap__XKT <<  1);
+                mem__WKT=((__POINTER )(malloc((cap__XKT))));
+                if ((mem__WKT != (void *)NULL)) {
+                  free((mem__WKT));
+                };
+              } while ((! ((mem__WKT == (void *)NULL) || (cap__XKT ==  2147483648LU))));
+              if ((mem__WKT == (void *)NULL)) {
+                cap__XKT=(__UINTEGER_32)(cap__XKT >>  1);
+              };
+              capacity_max__NTD=cap__XKT;
+              begin_memory__2RB=((__POINTER )(malloc((cap__XKT))));
+            };
+            old_size__ZKT=(__UINTEGER_32)(nb_page__L2B <<  26);
+            nb_page__L2B=(__UINTEGER_32)(nb_page__L2B +  1);
+            if (((__UINTEGER_32)(old_size__ZKT +  67108864) > capacity_max__NTD)) {
+              __tmp__0KT=((__STRING_CONSTANT *)(&__string_1))->count__XHB;
+              Self__1KT= 1;
+              __tmp__2KT=((__STRING_CONSTANT *)(&__string_1))->storage__YLE;
+              while ((Self__1KT <= __tmp__0KT)) {
+                fputc((int)(((__CHARACTER *)__tmp__2KT)[(__INTEGER)(Self__1KT -  1)]),stdout);
+                Self__1KT=(__INTEGER)(Self__1KT +  1);
+              };
+              exit(( 1));
+            };
+            block__4KT=((__MEMORY *)(void *)((unsigned long)begin_memory__2RB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )old_size__ZKT))));
+            block__4KT->previous_linear__ID= 4294967295LU;
+            block__4KT->size_and_id__JD= 67108858;
+            block__4KT->next_free__KD=first_free__LMD;
+            block__4KT->previous_free__LD=NULL;
+            if (((void *)first_free__LMD != (void *)NULL)) {
+              ((__MEMORY *)first_free__LMD)->previous_free__LD=block__4KT;
+            };
+            first_free__LMD=block__4KT;
+            last_block[((__UINTEGER_32)(nb_page__L2B -  1))] = (block__4KT);
+            result__N1S=block__4KT;
+          };
+          Self__Q1S=((__MEMORY *)result__N1S);
+          idx__R1S=(__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )((__MEMORY *)result__N1S)) - (unsigned long)begin_memory__2RB)))) >>  26);
+          new__S1S=NULL;
+          prev__T1S=Self__Q1S->previous_free__LD;
+          next__U1S=Self__Q1S->next_free__KD;
+          if (((void *)prev__T1S == (void *)NULL)) {
+            first_free__LMD=next__U1S;
+          } else {
+            ((__MEMORY *)prev__T1S)->next_free__KD=next__U1S;
+          };
+          if (((void *)next__U1S != (void *)NULL)) {
+            ((__MEMORY *)next__U1S)->previous_free__LD=prev__T1S;
+          };
+          siz__V1S=Self__Q1S->size_and_id__JD;
+          new_size__W1S=(__UINTEGER_32)(siz__V1S - new_size__5XS);
+          if ((new_size__W1S > (__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )(MINIMUM_SIZE)) +  2) +  8))) {
+            siz__V1S=new_size__5XS;
+            new__S1S=((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__Q1S) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__5XS))));
+            ((__MEMORY *)new__S1S)->previous_linear__ID=((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )Self__Q1S) - (unsigned long)begin_memory__2RB))));
+            ((__MEMORY *)new__S1S)->size_and_id__JD=(__UINTEGER_32)(new_size__W1S -  8);
+            Self__X1S=((__MEMORY *)new__S1S);
+            Self__X1S->next_free__KD=first_free__LMD;
+            Self__X1S->previous_free__LD=NULL;
+            if (((void *)first_free__LMD != (void *)NULL)) {
+              ((__MEMORY *)first_free__LMD)->previous_free__LD=Self__X1S;
+            };
+            first_free__LMD=Self__X1S;
+            if (((__UINTEGER_32)(((__MEMORY *)new__S1S)->size_and_id__JD &  2) !=  0)) {
+              last_block[(idx__R1S)] = (new__S1S);
+            } else {
+              Self__Y1S=((__MEMORY *)new__S1S);
+              ((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__Y1S) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__Y1S->size_and_id__JD &  4294967292LU)))))->previous_linear__ID=((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )((__MEMORY *)new__S1S)) - (unsigned long)begin_memory__2RB))));
+            };
+          };
+          Self__Q1S->size_and_id__JD=(__UINTEGER_32)(siz__V1S |  1);
+          result__3XS=(void *)((unsigned long)((__POINTER )((__MEMORY *)result__N1S)) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+        };
+        Result__GYS=((__CHARACTER *)result__3XS);
+        Self__HYS= 31;
+        while ((Self__HYS >=  0)) {
+          Result__GYS[Self__HYS]='\0';
+          Self__HYS=(__INTEGER)(Self__HYS -  1);
+        };
+        Self__LVS->storage__2QC=Result__GYS;
+      } else {
+        new_capacity__JXS=(__INTEGER)(Self__LVS->capacity__FW <<  1);
+        __tmp__LXS=Self__LVS->storage__2QC;
+        __tmp__MXS=Self__LVS->capacity__FW;
+        new__NXS=((__CHARACTER *)realloc_dynamic__old_size__new_size__CGI(((__POINTER )((__CHARACTER *)__tmp__LXS)),((__UINTEGER_32 )__tmp__MXS),((__UINTEGER_32 )new_capacity__JXS)));
+        __tmp__OXS=(__INTEGER)(new_capacity__JXS -  1);
+        Self__PXS=__tmp__MXS;
+        while ((Self__PXS <= __tmp__OXS)) {
+          new__NXS[Self__PXS]='\0';
+          Self__PXS=(__INTEGER)(Self__PXS +  1);
+        };
+        Self__LVS->storage__2QC=new__NXS;
+        Self__LVS->capacity__FW=new_capacity__JXS;
+      };
+    };
+    ((__CHARACTER *)Self__LVS->storage__2QC)[Self__LVS->count__DW]='\0';
+    Self__LVS->count__DW=(__INTEGER)(Self__LVS->count__DW +  1);
+  };
+  Self__LVS->count__DW=(__INTEGER)(Self__LVS->count__DW -  1);
+  ptr__ZEH=((__POINTER )((__CHARACTER *)Self__LVS->storage__2QC));
+  ptr__ZEH=(void *)((unsigned long)ptr__ZEH - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )old_count__BW)));
+  nc_buf__5V=((__CHARACTER *)ptr__ZEH);
+  new__EFB=create__Q3(((__STRING_CONSTANT *)(&__string_2))->count__XHB);
+  Self__QVC=((__STRING *)new__EFB);
+  Self__QVC->count__DW=((__STRING_CONSTANT *)(&__string_2))->count__XHB;
+  if ((Self__QVC->count__DW >  0)) {
+    if ((Self__QVC->capacity__FW < Self__QVC->count__DW)) {
+      nb_elements__JYS=Self__QVC->count__DW;
+      sz__KYS=((__UINTEGER_32 )nb_elements__JYS);
+      result__LYS=((__POINTER )(NULL));
+      a__MYS=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__NYS=(__UINTEGER_32)((__UINTEGER_32)(sz__KYS + a__MYS) & (__UINTEGER_32)(~ a__MYS));
+      new_size2__OYS=(__UINTEGER_32)(new_size__NYS + ((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))));
+      if ((new_size2__OYS <= ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+        a__PYS=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+        new_size__QYS=(__UINTEGER_32)((__UINTEGER_32)(new_size2__OYS + a__PYS) & (__UINTEGER_32)(~ a__PYS));
+        ptr_table__RYS=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__QYS / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+        next__SYS=((__POINTER )(NULL));
+        result__TYS=((__POINTER *)ptr_table__RYS)[ 0];
+        if ((result__TYS == (void *)NULL)) {
+          idx__NBT= 0;
+          blc__OBT=NULL;
+          prev__PBT=NULL;
+          pv__QBT= 0;
+          while_do__2AC__SBT:
+          {
+            if ((idx__NBT < nb_page__L2B)) {
+              blc__OBT=((__MEMORY *)(last_block[(idx__NBT)]));
+              __tmp__RBT=(((__UINTEGER_32)(((__MEMORY *)blc__OBT)->size_and_id__JD &  4294967292LU) <  4096) || ((__UINTEGER_32)(((__MEMORY *)blc__OBT)->size_and_id__JD &  1) ==  1));
+            } else {
+              __tmp__RBT=FALSE__;
+            };
+            if (__tmp__RBT) {
+              idx__NBT=(__UINTEGER_32)(idx__NBT +  1);
+              goto while_do__2AC__SBT;
+            };
+          };
+          if ((idx__NBT >= nb_page__L2B)) {
+            if ((capacity_max__NTD ==  0)) {
+              mem__5KT=((__POINTER )(NULL));
+              cap__ALT= 33554432;
+              do {
+                cap__ALT=(__UINTEGER_32)(cap__ALT <<  1);
+                mem__5KT=((__POINTER )(malloc((cap__ALT))));
+                if ((mem__5KT != (void *)NULL)) {
+                  free((mem__5KT));
+                };
+              } while ((! ((mem__5KT == (void *)NULL) || (cap__ALT ==  2147483648LU))));
+              if ((mem__5KT == (void *)NULL)) {
+                cap__ALT=(__UINTEGER_32)(cap__ALT >>  1);
+              };
+              capacity_max__NTD=cap__ALT;
+              begin_memory__2RB=((__POINTER )(malloc((cap__ALT))));
+            };
+            old_size__CLT=(__UINTEGER_32)(nb_page__L2B <<  26);
+            nb_page__L2B=(__UINTEGER_32)(nb_page__L2B +  1);
+            if (((__UINTEGER_32)(old_size__CLT +  67108864) > capacity_max__NTD)) {
+              __tmp__DLT=((__STRING_CONSTANT *)(&__string_1))->count__XHB;
+              Self__ELT= 1;
+              __tmp__FLT=((__STRING_CONSTANT *)(&__string_1))->storage__YLE;
+              while ((Self__ELT <= __tmp__DLT)) {
+                fputc((int)(((__CHARACTER *)__tmp__FLT)[(__INTEGER)(Self__ELT -  1)]),stdout);
+                Self__ELT=(__INTEGER)(Self__ELT +  1);
+              };
+              exit(( 1));
+            };
+            block__HLT=((__MEMORY *)(void *)((unsigned long)begin_memory__2RB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )old_size__CLT))));
+            block__HLT->previous_linear__ID= 4294967295LU;
+            block__HLT->size_and_id__JD= 67108858;
+            block__HLT->next_free__KD=first_free__LMD;
+            block__HLT->previous_free__LD=NULL;
+            if (((void *)first_free__LMD != (void *)NULL)) {
+              ((__MEMORY *)first_free__LMD)->previous_free__LD=block__HLT;
+            };
+            first_free__LMD=block__HLT;
+            last_block[((__UINTEGER_32)(nb_page__L2B -  1))] = (block__HLT);
+            blc__OBT=block__HLT;
+          };
+          ((__MEMORY *)blc__OBT)->size_and_id__JD=(__UINTEGER_32)(blc__OBT->size_and_id__JD -  4096);
+          Self__TBT=((__MEMORY *)blc__OBT);
+          result__UBT=((__POINTER )((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__TBT) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__TBT->size_and_id__JD &  4294967292LU))))));
+          if (((__UINTEGER_32)(((__MEMORY *)blc__OBT)->size_and_id__JD &  4294967292LU) < ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+            Self__VBT=((__MEMORY *)blc__OBT);
+            prev__WBT=Self__VBT->previous_free__LD;
+            next__XBT=Self__VBT->next_free__KD;
+            if (((void *)prev__WBT == (void *)NULL)) {
+              first_free__LMD=next__XBT;
+            } else {
+              ((__MEMORY *)prev__WBT)->next_free__KD=next__XBT;
+            };
+            if (((void *)next__XBT != (void *)NULL)) {
+              ((__MEMORY *)next__XBT)->previous_free__LD=prev__WBT;
+            };
+            pv__QBT=blc__OBT->previous_linear__ID;
+            if ((pv__QBT !=  4294967295LU)) {
+              prev__PBT=((__MEMORY *)(void *)((unsigned long)begin_memory__2RB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )pv__QBT))));
+              ((__MEMORY *)prev__PBT)->size_and_id__JD=(__UINTEGER_32)((__UINTEGER_32)(prev__PBT->size_and_id__JD + blc__OBT->size_and_id__JD) +  8);
+              last_block[(idx__NBT)] = (prev__PBT);
+            };
+          };
+          ((__POINTER *)result__UBT)[ 0]=((__POINTER )new_size__QYS);
+          result__TYS=(void *)((unsigned long)result__UBT - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+          next__SYS=(void *)((unsigned long)result__TYS - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__QYS)));
+          ((__POINTER *)next__SYS)[ 0]=NULL;
+          ((__POINTER *)ptr_table__RYS)[ 0]=next__SYS;
+        } else {
+          next__SYS=((__POINTER *)result__TYS)[ 0];
+          if ((next__SYS == (void *)NULL)) {
+            if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__TYS - (unsigned long)begin_memory__2RB)))) &  4095) + (__UINTEGER_32)(new_size__QYS <<  1)) <=  4096)) {
+              next__SYS=(void *)((unsigned long)result__TYS - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__QYS)));
+            } else {
+              idx__ZBT= 0;
+              blc__0BT=NULL;
+              prev__1BT=NULL;
+              pv__2BT= 0;
+              while_do__2AC__4BT:
+              {
+                if ((idx__ZBT < nb_page__L2B)) {
+                  blc__0BT=((__MEMORY *)(last_block[(idx__ZBT)]));
+                  __tmp__3BT=(((__UINTEGER_32)(((__MEMORY *)blc__0BT)->size_and_id__JD &  4294967292LU) <  4096) || ((__UINTEGER_32)(((__MEMORY *)blc__0BT)->size_and_id__JD &  1) ==  1));
+                } else {
+                  __tmp__3BT=FALSE__;
+                };
+                if (__tmp__3BT) {
+                  idx__ZBT=(__UINTEGER_32)(idx__ZBT +  1);
+                  goto while_do__2AC__4BT;
+                };
+              };
+              if ((idx__ZBT >= nb_page__L2B)) {
+                if ((capacity_max__NTD ==  0)) {
+                  mem__ILT=((__POINTER )(NULL));
+                  cap__JLT= 33554432;
+                  do {
+                    cap__JLT=(__UINTEGER_32)(cap__JLT <<  1);
+                    mem__ILT=((__POINTER )(malloc((cap__JLT))));
+                    if ((mem__ILT != (void *)NULL)) {
+                      free((mem__ILT));
+                    };
+                  } while ((! ((mem__ILT == (void *)NULL) || (cap__JLT ==  2147483648LU))));
+                  if ((mem__ILT == (void *)NULL)) {
+                    cap__JLT=(__UINTEGER_32)(cap__JLT >>  1);
+                  };
+                  capacity_max__NTD=cap__JLT;
+                  begin_memory__2RB=((__POINTER )(malloc((cap__JLT))));
+                };
+                old_size__LLT=(__UINTEGER_32)(nb_page__L2B <<  26);
+                nb_page__L2B=(__UINTEGER_32)(nb_page__L2B +  1);
+                if (((__UINTEGER_32)(old_size__LLT +  67108864) > capacity_max__NTD)) {
+                  __tmp__MLT=((__STRING_CONSTANT *)(&__string_1))->count__XHB;
+                  Self__NLT= 1;
+                  __tmp__OLT=((__STRING_CONSTANT *)(&__string_1))->storage__YLE;
+                  while ((Self__NLT <= __tmp__MLT)) {
+                    fputc((int)(((__CHARACTER *)__tmp__OLT)[(__INTEGER)(Self__NLT -  1)]),stdout);
+                    Self__NLT=(__INTEGER)(Self__NLT +  1);
+                  };
+                  exit(( 1));
+                };
+                block__QLT=((__MEMORY *)(void *)((unsigned long)begin_memory__2RB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )old_size__LLT))));
+                block__QLT->previous_linear__ID= 4294967295LU;
+                block__QLT->size_and_id__JD= 67108858;
+                block__QLT->next_free__KD=first_free__LMD;
+                block__QLT->previous_free__LD=NULL;
+                if (((void *)first_free__LMD != (void *)NULL)) {
+                  ((__MEMORY *)first_free__LMD)->previous_free__LD=block__QLT;
+                };
+                first_free__LMD=block__QLT;
+                last_block[((__UINTEGER_32)(nb_page__L2B -  1))] = (block__QLT);
+                blc__0BT=block__QLT;
+              };
+              ((__MEMORY *)blc__0BT)->size_and_id__JD=(__UINTEGER_32)(blc__0BT->size_and_id__JD -  4096);
+              Self__5BT=((__MEMORY *)blc__0BT);
+              result__ACT=((__POINTER )((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__5BT) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__5BT->size_and_id__JD &  4294967292LU))))));
+              if (((__UINTEGER_32)(((__MEMORY *)blc__0BT)->size_and_id__JD &  4294967292LU) < ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+                Self__BCT=((__MEMORY *)blc__0BT);
+                prev__CCT=Self__BCT->previous_free__LD;
+                next__DCT=Self__BCT->next_free__KD;
+                if (((void *)prev__CCT == (void *)NULL)) {
+                  first_free__LMD=next__DCT;
+                } else {
+                  ((__MEMORY *)prev__CCT)->next_free__KD=next__DCT;
+                };
+                if (((void *)next__DCT != (void *)NULL)) {
+                  ((__MEMORY *)next__DCT)->previous_free__LD=prev__CCT;
+                };
+                pv__2BT=blc__0BT->previous_linear__ID;
+                if ((pv__2BT !=  4294967295LU)) {
+                  prev__1BT=((__MEMORY *)(void *)((unsigned long)begin_memory__2RB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )pv__2BT))));
+                  ((__MEMORY *)prev__1BT)->size_and_id__JD=(__UINTEGER_32)((__UINTEGER_32)(prev__1BT->size_and_id__JD + blc__0BT->size_and_id__JD) +  8);
+                  last_block[(idx__ZBT)] = (prev__1BT);
+                };
+              };
+              ((__POINTER *)result__ACT)[ 0]=((__POINTER )new_size__QYS);
+              next__SYS=(void *)((unsigned long)result__ACT - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+            };
+            ((__POINTER *)next__SYS)[ 0]=NULL;
+            ((__POINTER *)ptr_table__RYS)[ 0]=next__SYS;
+          } else {
+            ((__POINTER *)result__TYS)[ 0]=(void *)((unsigned long)((__POINTER *)next__SYS)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+            result__TYS=next__SYS;
+          };
+        };
+        ((__POINTER *)result__TYS)[ 0]=((__POINTER ) 3);
+        result__LYS=(void *)((unsigned long)result__TYS - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+      } else {
+        result__Z1S=first_free__LMD;
+        while ((((void *)result__Z1S != (void *)NULL) && ((__UINTEGER_32)(((__MEMORY *)result__Z1S)->size_and_id__JD &  4294967292LU) < new_size__NYS))) {
+          result__Z1S=result__Z1S->next_free__KD;
+        };
+        if (((void *)result__Z1S == (void *)NULL)) {
+          if ((capacity_max__NTD ==  0)) {
+            mem__RLT=((__POINTER )(NULL));
+            cap__SLT= 33554432;
+            do {
+              cap__SLT=(__UINTEGER_32)(cap__SLT <<  1);
+              mem__RLT=((__POINTER )(malloc((cap__SLT))));
+              if ((mem__RLT != (void *)NULL)) {
+                free((mem__RLT));
+              };
+            } while ((! ((mem__RLT == (void *)NULL) || (cap__SLT ==  2147483648LU))));
+            if ((mem__RLT == (void *)NULL)) {
+              cap__SLT=(__UINTEGER_32)(cap__SLT >>  1);
+            };
+            capacity_max__NTD=cap__SLT;
+            begin_memory__2RB=((__POINTER )(malloc((cap__SLT))));
+          };
+          old_size__ULT=(__UINTEGER_32)(nb_page__L2B <<  26);
+          nb_page__L2B=(__UINTEGER_32)(nb_page__L2B +  1);
+          if (((__UINTEGER_32)(old_size__ULT +  67108864) > capacity_max__NTD)) {
+            __tmp__VLT=((__STRING_CONSTANT *)(&__string_1))->count__XHB;
+            Self__WLT= 1;
+            __tmp__XLT=((__STRING_CONSTANT *)(&__string_1))->storage__YLE;
+            while ((Self__WLT <= __tmp__VLT)) {
+              fputc((int)(((__CHARACTER *)__tmp__XLT)[(__INTEGER)(Self__WLT -  1)]),stdout);
+              Self__WLT=(__INTEGER)(Self__WLT +  1);
+            };
+            exit(( 1));
+          };
+          block__ZLT=((__MEMORY *)(void *)((unsigned long)begin_memory__2RB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )old_size__ULT))));
+          block__ZLT->previous_linear__ID= 4294967295LU;
+          block__ZLT->size_and_id__JD= 67108858;
+          block__ZLT->next_free__KD=first_free__LMD;
+          block__ZLT->previous_free__LD=NULL;
+          if (((void *)first_free__LMD != (void *)NULL)) {
+            ((__MEMORY *)first_free__LMD)->previous_free__LD=block__ZLT;
+          };
+          first_free__LMD=block__ZLT;
+          last_block[((__UINTEGER_32)(nb_page__L2B -  1))] = (block__ZLT);
+          result__Z1S=block__ZLT;
+        };
+        Self__21S=((__MEMORY *)result__Z1S);
+        idx__31S=(__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )((__MEMORY *)result__Z1S)) - (unsigned long)begin_memory__2RB)))) >>  26);
+        new__41S=NULL;
+        prev__51S=Self__21S->previous_free__LD;
+        next__A2S=Self__21S->next_free__KD;
+        if (((void *)prev__51S == (void *)NULL)) {
+          first_free__LMD=next__A2S;
+        } else {
+          ((__MEMORY *)prev__51S)->next_free__KD=next__A2S;
+        };
+        if (((void *)next__A2S != (void *)NULL)) {
+          ((__MEMORY *)next__A2S)->previous_free__LD=prev__51S;
+        };
+        siz__B2S=Self__21S->size_and_id__JD;
+        new_size__C2S=(__UINTEGER_32)(siz__B2S - new_size__NYS);
+        if ((new_size__C2S > (__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )(MINIMUM_SIZE)) +  2) +  8))) {
+          siz__B2S=new_size__NYS;
+          new__41S=((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__21S) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__NYS))));
+          ((__MEMORY *)new__41S)->previous_linear__ID=((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )Self__21S) - (unsigned long)begin_memory__2RB))));
+          ((__MEMORY *)new__41S)->size_and_id__JD=(__UINTEGER_32)(new_size__C2S -  8);
+          Self__D2S=((__MEMORY *)new__41S);
+          Self__D2S->next_free__KD=first_free__LMD;
+          Self__D2S->previous_free__LD=NULL;
+          if (((void *)first_free__LMD != (void *)NULL)) {
+            ((__MEMORY *)first_free__LMD)->previous_free__LD=Self__D2S;
+          };
+          first_free__LMD=Self__D2S;
+          if (((__UINTEGER_32)(((__MEMORY *)new__41S)->size_and_id__JD &  2) !=  0)) {
+            last_block[(idx__31S)] = (new__41S);
+          } else {
+            Self__E2S=((__MEMORY *)new__41S);
+            ((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__E2S) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__E2S->size_and_id__JD &  4294967292LU)))))->previous_linear__ID=((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )((__MEMORY *)new__41S)) - (unsigned long)begin_memory__2RB))));
+          };
+        };
+        Self__21S->size_and_id__JD=(__UINTEGER_32)(siz__B2S |  1);
+        result__LYS=(void *)((unsigned long)((__POINTER )((__MEMORY *)result__Z1S)) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+      };
+      Result__UYS=((__CHARACTER *)result__LYS);
+      Self__VYS=(__INTEGER)(nb_elements__JYS -  1);
+      while ((Self__VYS >=  0)) {
+        Result__UYS[Self__VYS]='\0';
+        Self__VYS=(__INTEGER)(Self__VYS -  1);
+      };
+      Self__QVC->storage__2QC=Result__UYS;
+      Self__QVC->capacity__FW=Self__QVC->count__DW;
+    };
+    __tmp__IWC=Self__QVC->storage__2QC;
+    __tmp__LWC=((__STRING_CONSTANT *)(&__string_2))->storage__YLE;
+    __tmp__OWC=(__INTEGER)(Self__QVC->count__DW -  1);
+    Self__IMH=((__CHARACTER *)__tmp__IWC);
+    Self__S4H=__tmp__OWC;
+    while ((Self__S4H >=  0)) {
+      Self__IMH[Self__S4H]=((__CHARACTER *)__tmp__LWC)[Self__S4H];
+      Self__S4H=(__INTEGER)(Self__S4H -  1);
+    };
+  };
+  Self__1PC=((__STRING *)new__EFB);
+  if ((Self__1PC->capacity__FW > Self__1PC->count__DW)) {
+    Self__1PC->count__DW=(__INTEGER)(Self__1PC->count__DW +  1);
+    if ((((__CHARACTER *)Self__1PC->storage__2QC)[(__INTEGER)(Self__1PC->count__DW -  1)] != '\0')) {
+      ((__CHARACTER *)Self__1PC->storage__2QC)[(__INTEGER)(Self__1PC->count__DW -  1)]='\0';
+    };
+  } else {
+    new_capacity__SXS= 0;
+    if ((Self__1PC->capacity__FW <= Self__1PC->count__DW)) {
+      if ((Self__1PC->capacity__FW ==  0)) {
+        Self__1PC->capacity__FW= 32;
+        result__ZYS=((__POINTER )(NULL));
+        a__0YS=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+        new_size__1YS=(__UINTEGER_32)((__UINTEGER_32)( 32 + a__0YS) & (__UINTEGER_32)(~ a__0YS));
+        new_size2__2YS=(__UINTEGER_32)(new_size__1YS + ((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))));
+        if ((new_size2__2YS <= ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+          a__3YS=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+          new_size__4YS=(__UINTEGER_32)((__UINTEGER_32)(new_size2__2YS + a__3YS) & (__UINTEGER_32)(~ a__3YS));
+          ptr_table__5YS=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__4YS / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+          next__AZS=((__POINTER )(NULL));
+          result__BZS=((__POINTER *)ptr_table__5YS)[ 0];
+          if ((result__BZS == (void *)NULL)) {
+            idx__FCT= 0;
+            blc__GCT=NULL;
+            prev__HCT=NULL;
+            pv__ICT= 0;
+            while_do__2AC__KCT:
+            {
+              if ((idx__FCT < nb_page__L2B)) {
+                blc__GCT=((__MEMORY *)(last_block[(idx__FCT)]));
+                __tmp__JCT=(((__UINTEGER_32)(((__MEMORY *)blc__GCT)->size_and_id__JD &  4294967292LU) <  4096) || ((__UINTEGER_32)(((__MEMORY *)blc__GCT)->size_and_id__JD &  1) ==  1));
+              } else {
+                __tmp__JCT=FALSE__;
+              };
+              if (__tmp__JCT) {
+                idx__FCT=(__UINTEGER_32)(idx__FCT +  1);
+                goto while_do__2AC__KCT;
+              };
+            };
+            if ((idx__FCT >= nb_page__L2B)) {
+              if ((capacity_max__NTD ==  0)) {
+                mem__0LT=((__POINTER )(NULL));
+                cap__1LT= 33554432;
+                do {
+                  cap__1LT=(__UINTEGER_32)(cap__1LT <<  1);
+                  mem__0LT=((__POINTER )(malloc((cap__1LT))));
+                  if ((mem__0LT != (void *)NULL)) {
+                    free((mem__0LT));
+                  };
+                } while ((! ((mem__0LT == (void *)NULL) || (cap__1LT ==  2147483648LU))));
+                if ((mem__0LT == (void *)NULL)) {
+                  cap__1LT=(__UINTEGER_32)(cap__1LT >>  1);
+                };
+                capacity_max__NTD=cap__1LT;
+                begin_memory__2RB=((__POINTER )(malloc((cap__1LT))));
+              };
+              old_size__3LT=(__UINTEGER_32)(nb_page__L2B <<  26);
+              nb_page__L2B=(__UINTEGER_32)(nb_page__L2B +  1);
+              if (((__UINTEGER_32)(old_size__3LT +  67108864) > capacity_max__NTD)) {
+                __tmp__4LT=((__STRING_CONSTANT *)(&__string_1))->count__XHB;
+                Self__5LT= 1;
+                __tmp__AMT=((__STRING_CONSTANT *)(&__string_1))->storage__YLE;
+                while ((Self__5LT <= __tmp__4LT)) {
+                  fputc((int)(((__CHARACTER *)__tmp__AMT)[(__INTEGER)(Self__5LT -  1)]),stdout);
+                  Self__5LT=(__INTEGER)(Self__5LT +  1);
+                };
+                exit(( 1));
+              };
+              block__CMT=((__MEMORY *)(void *)((unsigned long)begin_memory__2RB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )old_size__3LT))));
+              block__CMT->previous_linear__ID= 4294967295LU;
+              block__CMT->size_and_id__JD= 67108858;
+              block__CMT->next_free__KD=first_free__LMD;
+              block__CMT->previous_free__LD=NULL;
+              if (((void *)first_free__LMD != (void *)NULL)) {
+                ((__MEMORY *)first_free__LMD)->previous_free__LD=block__CMT;
+              };
+              first_free__LMD=block__CMT;
+              last_block[((__UINTEGER_32)(nb_page__L2B -  1))] = (block__CMT);
+              blc__GCT=block__CMT;
+            };
+            ((__MEMORY *)blc__GCT)->size_and_id__JD=(__UINTEGER_32)(blc__GCT->size_and_id__JD -  4096);
+            Self__LCT=((__MEMORY *)blc__GCT);
+            result__MCT=((__POINTER )((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__LCT) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__LCT->size_and_id__JD &  4294967292LU))))));
+            if (((__UINTEGER_32)(((__MEMORY *)blc__GCT)->size_and_id__JD &  4294967292LU) < ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+              Self__NCT=((__MEMORY *)blc__GCT);
+              prev__OCT=Self__NCT->previous_free__LD;
+              next__PCT=Self__NCT->next_free__KD;
+              if (((void *)prev__OCT == (void *)NULL)) {
+                first_free__LMD=next__PCT;
+              } else {
+                ((__MEMORY *)prev__OCT)->next_free__KD=next__PCT;
+              };
+              if (((void *)next__PCT != (void *)NULL)) {
+                ((__MEMORY *)next__PCT)->previous_free__LD=prev__OCT;
+              };
+              pv__ICT=blc__GCT->previous_linear__ID;
+              if ((pv__ICT !=  4294967295LU)) {
+                prev__HCT=((__MEMORY *)(void *)((unsigned long)begin_memory__2RB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )pv__ICT))));
+                ((__MEMORY *)prev__HCT)->size_and_id__JD=(__UINTEGER_32)((__UINTEGER_32)(prev__HCT->size_and_id__JD + blc__GCT->size_and_id__JD) +  8);
+                last_block[(idx__FCT)] = (prev__HCT);
+              };
+            };
+            ((__POINTER *)result__MCT)[ 0]=((__POINTER )new_size__4YS);
+            result__BZS=(void *)((unsigned long)result__MCT - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+            next__AZS=(void *)((unsigned long)result__BZS - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__4YS)));
+            ((__POINTER *)next__AZS)[ 0]=NULL;
+            ((__POINTER *)ptr_table__5YS)[ 0]=next__AZS;
+          } else {
+            next__AZS=((__POINTER *)result__BZS)[ 0];
+            if ((next__AZS == (void *)NULL)) {
+              if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__BZS - (unsigned long)begin_memory__2RB)))) &  4095) + (__UINTEGER_32)(new_size__4YS <<  1)) <=  4096)) {
+                next__AZS=(void *)((unsigned long)result__BZS - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__4YS)));
+              } else {
+                idx__RCT= 0;
+                blc__SCT=NULL;
+                prev__TCT=NULL;
+                pv__UCT= 0;
+                while_do__2AC__WCT:
+                {
+                  if ((idx__RCT < nb_page__L2B)) {
+                    blc__SCT=((__MEMORY *)(last_block[(idx__RCT)]));
+                    __tmp__VCT=(((__UINTEGER_32)(((__MEMORY *)blc__SCT)->size_and_id__JD &  4294967292LU) <  4096) || ((__UINTEGER_32)(((__MEMORY *)blc__SCT)->size_and_id__JD &  1) ==  1));
+                  } else {
+                    __tmp__VCT=FALSE__;
+                  };
+                  if (__tmp__VCT) {
+                    idx__RCT=(__UINTEGER_32)(idx__RCT +  1);
+                    goto while_do__2AC__WCT;
+                  };
+                };
+                if ((idx__RCT >= nb_page__L2B)) {
+                  if ((capacity_max__NTD ==  0)) {
+                    mem__DMT=((__POINTER )(NULL));
+                    cap__EMT= 33554432;
+                    do {
+                      cap__EMT=(__UINTEGER_32)(cap__EMT <<  1);
+                      mem__DMT=((__POINTER )(malloc((cap__EMT))));
+                      if ((mem__DMT != (void *)NULL)) {
+                        free((mem__DMT));
+                      };
+                    } while ((! ((mem__DMT == (void *)NULL) || (cap__EMT ==  2147483648LU))));
+                    if ((mem__DMT == (void *)NULL)) {
+                      cap__EMT=(__UINTEGER_32)(cap__EMT >>  1);
+                    };
+                    capacity_max__NTD=cap__EMT;
+                    begin_memory__2RB=((__POINTER )(malloc((cap__EMT))));
+                  };
+                  old_size__GMT=(__UINTEGER_32)(nb_page__L2B <<  26);
+                  nb_page__L2B=(__UINTEGER_32)(nb_page__L2B +  1);
+                  if (((__UINTEGER_32)(old_size__GMT +  67108864) > capacity_max__NTD)) {
+                    __tmp__HMT=((__STRING_CONSTANT *)(&__string_1))->count__XHB;
+                    Self__IMT= 1;
+                    __tmp__JMT=((__STRING_CONSTANT *)(&__string_1))->storage__YLE;
+                    while ((Self__IMT <= __tmp__HMT)) {
+                      fputc((int)(((__CHARACTER *)__tmp__JMT)[(__INTEGER)(Self__IMT -  1)]),stdout);
+                      Self__IMT=(__INTEGER)(Self__IMT +  1);
+                    };
+                    exit(( 1));
+                  };
+                  block__LMT=((__MEMORY *)(void *)((unsigned long)begin_memory__2RB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )old_size__GMT))));
+                  block__LMT->previous_linear__ID= 4294967295LU;
+                  block__LMT->size_and_id__JD= 67108858;
+                  block__LMT->next_free__KD=first_free__LMD;
+                  block__LMT->previous_free__LD=NULL;
+                  if (((void *)first_free__LMD != (void *)NULL)) {
+                    ((__MEMORY *)first_free__LMD)->previous_free__LD=block__LMT;
+                  };
+                  first_free__LMD=block__LMT;
+                  last_block[((__UINTEGER_32)(nb_page__L2B -  1))] = (block__LMT);
+                  blc__SCT=block__LMT;
+                };
+                ((__MEMORY *)blc__SCT)->size_and_id__JD=(__UINTEGER_32)(blc__SCT->size_and_id__JD -  4096);
+                Self__XCT=((__MEMORY *)blc__SCT);
+                result__YCT=((__POINTER )((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__XCT) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__XCT->size_and_id__JD &  4294967292LU))))));
+                if (((__UINTEGER_32)(((__MEMORY *)blc__SCT)->size_and_id__JD &  4294967292LU) < ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+                  Self__ZCT=((__MEMORY *)blc__SCT);
+                  prev__0CT=Self__ZCT->previous_free__LD;
+                  next__1CT=Self__ZCT->next_free__KD;
+                  if (((void *)prev__0CT == (void *)NULL)) {
+                    first_free__LMD=next__1CT;
+                  } else {
+                    ((__MEMORY *)prev__0CT)->next_free__KD=next__1CT;
+                  };
+                  if (((void *)next__1CT != (void *)NULL)) {
+                    ((__MEMORY *)next__1CT)->previous_free__LD=prev__0CT;
+                  };
+                  pv__UCT=blc__SCT->previous_linear__ID;
+                  if ((pv__UCT !=  4294967295LU)) {
+                    prev__TCT=((__MEMORY *)(void *)((unsigned long)begin_memory__2RB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )pv__UCT))));
+                    ((__MEMORY *)prev__TCT)->size_and_id__JD=(__UINTEGER_32)((__UINTEGER_32)(prev__TCT->size_and_id__JD + blc__SCT->size_and_id__JD) +  8);
+                    last_block[(idx__RCT)] = (prev__TCT);
+                  };
+                };
+                ((__POINTER *)result__YCT)[ 0]=((__POINTER )new_size__4YS);
+                next__AZS=(void *)((unsigned long)result__YCT - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+              };
+              ((__POINTER *)next__AZS)[ 0]=NULL;
+              ((__POINTER *)ptr_table__5YS)[ 0]=next__AZS;
+            } else {
+              ((__POINTER *)result__BZS)[ 0]=(void *)((unsigned long)((__POINTER *)next__AZS)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+              result__BZS=next__AZS;
+            };
+          };
+          ((__POINTER *)result__BZS)[ 0]=((__POINTER ) 3);
+          result__ZYS=(void *)((unsigned long)result__BZS - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+        } else {
+          result__F2S=first_free__LMD;
+          while ((((void *)result__F2S != (void *)NULL) && ((__UINTEGER_32)(((__MEMORY *)result__F2S)->size_and_id__JD &  4294967292LU) < new_size__1YS))) {
+            result__F2S=result__F2S->next_free__KD;
+          };
+          if (((void *)result__F2S == (void *)NULL)) {
+            if ((capacity_max__NTD ==  0)) {
+              mem__MMT=((__POINTER )(NULL));
+              cap__NMT= 33554432;
+              do {
+                cap__NMT=(__UINTEGER_32)(cap__NMT <<  1);
+                mem__MMT=((__POINTER )(malloc((cap__NMT))));
+                if ((mem__MMT != (void *)NULL)) {
+                  free((mem__MMT));
+                };
+              } while ((! ((mem__MMT == (void *)NULL) || (cap__NMT ==  2147483648LU))));
+              if ((mem__MMT == (void *)NULL)) {
+                cap__NMT=(__UINTEGER_32)(cap__NMT >>  1);
+              };
+              capacity_max__NTD=cap__NMT;
+              begin_memory__2RB=((__POINTER )(malloc((cap__NMT))));
+            };
+            old_size__PMT=(__UINTEGER_32)(nb_page__L2B <<  26);
+            nb_page__L2B=(__UINTEGER_32)(nb_page__L2B +  1);
+            if (((__UINTEGER_32)(old_size__PMT +  67108864) > capacity_max__NTD)) {
+              __tmp__QMT=((__STRING_CONSTANT *)(&__string_1))->count__XHB;
+              Self__RMT= 1;
+              __tmp__SMT=((__STRING_CONSTANT *)(&__string_1))->storage__YLE;
+              while ((Self__RMT <= __tmp__QMT)) {
+                fputc((int)(((__CHARACTER *)__tmp__SMT)[(__INTEGER)(Self__RMT -  1)]),stdout);
+                Self__RMT=(__INTEGER)(Self__RMT +  1);
+              };
+              exit(( 1));
+            };
+            block__UMT=((__MEMORY *)(void *)((unsigned long)begin_memory__2RB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )old_size__PMT))));
+            block__UMT->previous_linear__ID= 4294967295LU;
+            block__UMT->size_and_id__JD= 67108858;
+            block__UMT->next_free__KD=first_free__LMD;
+            block__UMT->previous_free__LD=NULL;
+            if (((void *)first_free__LMD != (void *)NULL)) {
+              ((__MEMORY *)first_free__LMD)->previous_free__LD=block__UMT;
+            };
+            first_free__LMD=block__UMT;
+            last_block[((__UINTEGER_32)(nb_page__L2B -  1))] = (block__UMT);
+            result__F2S=block__UMT;
+          };
+          Self__I2S=((__MEMORY *)result__F2S);
+          idx__J2S=(__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )((__MEMORY *)result__F2S)) - (unsigned long)begin_memory__2RB)))) >>  26);
+          new__K2S=NULL;
+          prev__L2S=Self__I2S->previous_free__LD;
+          next__M2S=Self__I2S->next_free__KD;
+          if (((void *)prev__L2S == (void *)NULL)) {
+            first_free__LMD=next__M2S;
+          } else {
+            ((__MEMORY *)prev__L2S)->next_free__KD=next__M2S;
+          };
+          if (((void *)next__M2S != (void *)NULL)) {
+            ((__MEMORY *)next__M2S)->previous_free__LD=prev__L2S;
+          };
+          siz__N2S=Self__I2S->size_and_id__JD;
+          new_size__O2S=(__UINTEGER_32)(siz__N2S - new_size__1YS);
+          if ((new_size__O2S > (__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )(MINIMUM_SIZE)) +  2) +  8))) {
+            siz__N2S=new_size__1YS;
+            new__K2S=((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__I2S) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__1YS))));
+            ((__MEMORY *)new__K2S)->previous_linear__ID=((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )Self__I2S) - (unsigned long)begin_memory__2RB))));
+            ((__MEMORY *)new__K2S)->size_and_id__JD=(__UINTEGER_32)(new_size__O2S -  8);
+            Self__P2S=((__MEMORY *)new__K2S);
+            Self__P2S->next_free__KD=first_free__LMD;
+            Self__P2S->previous_free__LD=NULL;
+            if (((void *)first_free__LMD != (void *)NULL)) {
+              ((__MEMORY *)first_free__LMD)->previous_free__LD=Self__P2S;
+            };
+            first_free__LMD=Self__P2S;
+            if (((__UINTEGER_32)(((__MEMORY *)new__K2S)->size_and_id__JD &  2) !=  0)) {
+              last_block[(idx__J2S)] = (new__K2S);
+            } else {
+              Self__Q2S=((__MEMORY *)new__K2S);
+              ((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__Q2S) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__Q2S->size_and_id__JD &  4294967292LU)))))->previous_linear__ID=((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )((__MEMORY *)new__K2S)) - (unsigned long)begin_memory__2RB))));
+            };
+          };
+          Self__I2S->size_and_id__JD=(__UINTEGER_32)(siz__N2S |  1);
+          result__ZYS=(void *)((unsigned long)((__POINTER )((__MEMORY *)result__F2S)) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+        };
+        Result__CZS=((__CHARACTER *)result__ZYS);
+        Self__DZS= 31;
+        while ((Self__DZS >=  0)) {
+          Result__CZS[Self__DZS]='\0';
+          Self__DZS=(__INTEGER)(Self__DZS -  1);
+        };
+        Self__1PC->storage__2QC=Result__CZS;
+      } else {
+        new_capacity__SXS=(__INTEGER)(Self__1PC->capacity__FW <<  1);
+        __tmp__UXS=Self__1PC->storage__2QC;
+        __tmp__VXS=Self__1PC->capacity__FW;
+        new__WXS=((__CHARACTER *)realloc_dynamic__old_size__new_size__CGI(((__POINTER )((__CHARACTER *)__tmp__UXS)),((__UINTEGER_32 )__tmp__VXS),((__UINTEGER_32 )new_capacity__SXS)));
+        __tmp__XXS=(__INTEGER)(new_capacity__SXS -  1);
+        Self__YXS=__tmp__VXS;
+        while ((Self__YXS <= __tmp__XXS)) {
+          new__WXS[Self__YXS]='\0';
+          Self__YXS=(__INTEGER)(Self__YXS +  1);
+        };
+        Self__1PC->storage__2QC=new__WXS;
+        Self__1PC->capacity__FW=new_capacity__SXS;
+      };
+    };
+    ((__CHARACTER *)Self__1PC->storage__2QC)[Self__1PC->count__DW]='\0';
+    Self__1PC->count__DW=(__INTEGER)(Self__1PC->count__DW +  1);
+  };
+  Self__1PC->count__DW=(__INTEGER)(Self__1PC->count__DW -  1);
+  snprintf((nc_buf__5V),(cap__CW),(Self__1PC->storage__2QC),(Self__RK));
+  Self__NRC=((__STRING *)string_tmp__TK);
+  Self__NRC->count__DW= 0;
+  __tmp__3OS=Self__NRC->storage__2QC;
+  while ((((__CHARACTER *)__tmp__3OS)[Self__NRC->count__DW] != '\0')) {
+    Self__NRC->count__DW=(__INTEGER)(Self__NRC->count__DW +  1);
+  };
+  s__FZS=((__STRING *)string_tmp__TK);
+  __tmp__GZS=((__STRING *)s__FZS)->count__DW;
+  Self__HZS= 1;
+  __tmp__KZS=((__STRING *)s__FZS)->storage__2QC;
+  while ((Self__HZS <= __tmp__GZS)) {
+    fputc((int)(((__CHARACTER *)__tmp__KZS)[(__INTEGER)(Self__HZS -  1)]),stdout);
+    Self__HZS=(__INTEGER)(Self__HZS +  1);
+  };
+}
+
+void advance(__REAL_64 dt__LXD,__INTEGER n__MXD)
+// ({REAL_64},{INTEGER}) VoidNo recursive, Inlinable.
+{
+  __INTEGER Self__5RE,Self__EBG,Self__OSE;
+  __REAL_64 __tmp__EPS,__tmp__FPS,__tmp__GPS,__tmp__HPS,__tmp__IPS;
+  __REAL_64 __tmp__JPS;
+  Self__5RE= 0;
+  while ((Self__5RE <= n__MXD)) {
+    b__VXD=((__PLANET *)(&(((__PLANET *)bodies__GB)[Self__5RE])));
+    Self__EBG=(__INTEGER)(Self__5RE +  1);
+    __tmp__EPS=b__VXD->x__5D;
+    __tmp__FPS=b__VXD->y__BE;
+    __tmp__GPS=b__VXD->z__DE;
+    __tmp__HPS=b__VXD->mass__1D;
+    __tmp__IPS=b__VXD->mass__1D;
+    __tmp__JPS=b__VXD->mass__1D;
+    while ((Self__EBG <= n__MXD)) {
+      b2__AYD=((__PLANET *)(&(((__PLANET *)bodies__GB)[Self__EBG])));
+      dx__GYD=(__REAL_64)(__tmp__EPS - b2__AYD->x__5D);
+      dy__MYD=(__REAL_64)(__tmp__FPS - b2__AYD->y__BE);
+      dz__SYD=(__REAL_64)(__tmp__GPS - b2__AYD->z__DE);
+      distance__AZD=((__REAL_64 )(sqrt((((__REAL_64 )((((__REAL_64 )(((__REAL_64)(dx__GYD * dx__GYD)) + ((__REAL_64)(dy__MYD * dy__MYD))))) + ((__REAL_64)(dz__SYD * dz__SYD))))))));
+      mag__IZD=(__REAL_64)(dt__LXD / (__REAL_64)((__REAL_64)(distance__AZD * distance__AZD) * distance__AZD));
+      ((__PLANET *)b__VXD)->vx__IE=(__REAL_64)(b__VXD->vx__IE - (__REAL_64)((__REAL_64)(dx__GYD * b2__AYD->mass__1D) * mag__IZD));
+      ((__PLANET *)b__VXD)->vy__ME=(__REAL_64)(b__VXD->vy__ME - (__REAL_64)((__REAL_64)(dy__MYD * b2__AYD->mass__1D) * mag__IZD));
+      ((__PLANET *)b__VXD)->vz__QE=(__REAL_64)(b__VXD->vz__QE - (__REAL_64)((__REAL_64)(dz__SYD * b2__AYD->mass__1D) * mag__IZD));
+      ((__PLANET *)b2__AYD)->vx__IE=((__REAL_64 )((b2__AYD->vx__IE) + ((__REAL_64)((__REAL_64)(dx__GYD * __tmp__HPS) * mag__IZD))));
+      ((__PLANET *)b2__AYD)->vy__ME=((__REAL_64 )((b2__AYD->vy__ME) + ((__REAL_64)((__REAL_64)(dy__MYD * __tmp__IPS) * mag__IZD))));
+      ((__PLANET *)b2__AYD)->vz__QE=((__REAL_64 )((b2__AYD->vz__QE) + ((__REAL_64)((__REAL_64)(dz__SYD * __tmp__JPS) * mag__IZD))));
+      Self__EBG=(__INTEGER)(Self__EBG +  1);
+    };
+    Self__5RE=(__INTEGER)(Self__5RE +  1);
+  };
+  Self__OSE= 0;
+  while ((Self__OSE <= n__MXD)) {
+    b__VXD=((__PLANET *)(&(((__PLANET *)bodies__GB)[Self__OSE])));
+    ((__PLANET *)b__VXD)->x__5D=((__REAL_64 )((b__VXD->x__5D) + ((__REAL_64)(dt__LXD * b__VXD->vx__IE))));
+    ((__PLANET *)b__VXD)->y__BE=((__REAL_64 )((b__VXD->y__BE) + ((__REAL_64)(dt__LXD * b__VXD->vy__ME))));
+    ((__PLANET *)b__VXD)->z__DE=((__REAL_64 )((b__VXD->z__DE) + ((__REAL_64)(dt__LXD * b__VXD->vz__QE))));
+    Self__OSE=(__INTEGER)(Self__OSE +  1);
+  };
+}
+
+//==========================//
+// DEBUG MANAGER            //
+//==========================//
+
+void print_string(char *str) 
+{ 
+  while (*str!=0) {
+    print_char(*str); 
+    str++; 
+  };
+}  
+
diff --git a/example/shootout/nbody/nbody_tst b/example/shootout/nbody/nbody_tst
index a6393f8..e2a908b 100755
--- a/example/shootout/nbody/nbody_tst
+++ b/example/shootout/nbody/nbody_tst
@@ -1,17 +1,6 @@
 lisaac nbody -q -O -i20
 gcc nbody_c.c -o nbody_c -O3 -fomit-frame-pointer -lm
-echo Lisaac 2.10^5:
-time ./nbody 200000 > out_li.txt
-echo C:
-time ./nbody_c 200000 > out_c.txt
-diff out_li.txt out_c.txt
-echo Lisaac 2.10^6:
-time ./nbody 2000000 > out_li.txt
-echo C:
-time ./nbody_c 2000000 > out_c.txt
-diff out_li.txt out_c.txt
-
-echo Lisaac 2.10^7: 
+echo Lisaac: 
 time ./nbody 20000000 > out_li.txt
 # time ./nbody 1 > out_li.txt
 echo C:
diff --git a/example/shootout/nbody3/nbod b/example/shootout/nbody3/nbod
new file mode 100755
index 0000000..2f807b2
--- /dev/null
+++ b/example/shootout/nbody3/nbod
@@ -0,0 +1,7 @@
+lisaac nbody -q -O
+gcc nbody_c.c -o nbody_c -O3 -fomit-frame-pointer -lm
+echo Lisaac: 
+time ./nbody 2000000 > out_li.txt
+echo C:
+time ./nbody_c 2000000 > out_c.txt
+diff out_li.txt out_c.txt
diff --git a/example/shootout/nbody3/nbody.c b/example/shootout/nbody3/nbody.c
new file mode 100755
index 0000000..094346f
--- /dev/null
+++ b/example/shootout/nbody3/nbody.c
@@ -0,0 +1,1324 @@
+// C code generated by Lisaac compiler (www.isaacOS.com) //
+int arg_count;
+char **arg_vector;
+
+//==========================//
+// EXTERNAL                 //
+//==========================//
+
+// FLOAT_REAL
+#include <math.h>
+// MEMORY
+
+#define MINIMUM_SIZE 256  
+void *table_size[MINIMUM_SIZE/sizeof(void *)];
+void *last_block[64];
+
+// SYSTEM
+#include <time.h>
+// SYSTEM_IO
+
+#include <stdio.h>
+#include <stdlib.h>
+  
+// Hardware 'print_char'
+void print_char(char car)
+{
+  fputc(car,stdout);
+}
+
+// Hardware 'exit'
+int die_with_code(int code)
+{
+  exit(code);
+}
+
+
+
+//==========================//
+// TYPE                     //
+//==========================//
+
+// Generic Object
+struct ___OBJ {
+  unsigned long __id;
+};
+
+// NULL
+#ifndef NULL
+#define NULL ((void *)0)
+#endif
+
+// POINTER
+typedef void * __POINTER;
+
+// UINTEGER_32
+typedef unsigned long __UINTEGER_32;
+
+// INTEGER
+typedef int __INTEGER;
+
+// CHARACTER
+typedef char __CHARACTER;
+
+// STRING
+#define __STRING__ 4
+typedef struct STRING_struct __STRING;
+struct STRING_struct {
+  unsigned long __id;
+  __INTEGER count__EW;
+  __INTEGER capacity__GW;
+  __CHARACTER *storage__3QC;
+};
+__STRING STRING_={__STRING__};
+#define STRING__ (&STRING_)
+
+// MEMORY
+#define __MEMORY__ 0
+typedef struct MEMORY_struct __MEMORY;
+struct MEMORY_struct {
+  volatile __UINTEGER_32 previous_linear__ND;
+  volatile __UINTEGER_32 size_and_id__OD;
+  __MEMORY *next_free__PD;
+  __MEMORY *previous_free__QD;
+} __attribute__ ((packed));
+__MEMORY MEMORY_;
+#define MEMORY__ (&MEMORY_)
+
+// REAL_64
+typedef double __REAL_64;
+
+// ARRAYED_COLLECTION[STRING]
+#define __ARRAYED_COLLECTIONoSTRINGo__ 1
+typedef struct ARRAYED_COLLECTIONoSTRINGo_struct __ARRAYED_COLLECTIONoSTRINGo;
+struct ARRAYED_COLLECTIONoSTRINGo_struct {
+  __INTEGER capacity__JSC;
+  __INTEGER upper__VSC;
+  void **storage__GNC;
+};
+__ARRAYED_COLLECTIONoSTRINGo ARRAYED_COLLECTIONoSTRINGo_;
+#define ARRAYED_COLLECTIONoSTRINGo__ (&ARRAYED_COLLECTIONoSTRINGo_)
+
+// FAST_ARRAY[STRING]
+#define __FAST_ARRAYoSTRINGo__ 2
+typedef struct FAST_ARRAYoSTRINGo_struct __FAST_ARRAYoSTRINGo;
+struct FAST_ARRAYoSTRINGo_struct {
+  __ARRAYED_COLLECTIONoSTRINGo parent_arrayed_collection__WC;
+};
+__FAST_ARRAYoSTRINGo FAST_ARRAYoSTRINGo_;
+#define FAST_ARRAYoSTRINGo__ (&FAST_ARRAYoSTRINGo_)
+
+// NUMERIC
+#define __NUMERIC__ 3
+typedef struct NUMERIC_struct __NUMERIC;
+struct NUMERIC_struct {
+  void *Nothing;
+};
+__NUMERIC NUMERIC_;
+#define NUMERIC__ (&NUMERIC_)
+
+// OBJECT
+#define __OBJECT__ 4
+typedef struct OBJECT_struct __OBJECT;
+struct OBJECT_struct {
+  void *Nothing;
+};
+__OBJECT OBJECT_;
+#define OBJECT__ (&OBJECT_)
+
+// STRING_CONSTANT
+#define __STRING_CONSTANT__ 5
+typedef struct STRING_CONSTANT_struct __STRING_CONSTANT;
+struct STRING_CONSTANT_struct {
+  unsigned long __id;
+  __INTEGER count__YHB;
+  __CHARACTER *storage__0LE;
+};
+__STRING_CONSTANT STRING_CONSTANT_={__STRING_CONSTANT__};
+#define STRING_CONSTANT__ (&STRING_CONSTANT_)
+
+// TRUE
+#define TRUE__ 1
+
+// FALSE
+#define FALSE__ 0
+
+// NBODY
+#define __NBODY__ 5
+typedef struct NBODY_struct __NBODY;
+struct NBODY_struct {
+  void *Nothing;
+};
+__NBODY NBODY_;
+#define NBODY__ (&NBODY_)
+
+// PLANET
+#define __PLANET__ 6
+typedef struct PLANET_struct __PLANET;
+struct PLANET_struct {
+  __REAL_64 mass__AE;
+  __REAL_64 x__EE;
+  __REAL_64 y__GE;
+  __REAL_64 z__IE;
+  __REAL_64 vx__NE;
+  __REAL_64 vy__RE;
+  __REAL_64 vz__VE;
+};
+__PLANET PLANET_;
+#define PLANET__ (&PLANET_)
+
+// INTEGER_8
+typedef signed char __INTEGER_8;
+
+// BOOLEAN
+typedef char __BOOLEAN;
+
+
+void *table_type[7];
+
+//==========================//
+// GLOBAL                   //
+//==========================//
+
+void *parent_numeric__H;
+__POINTER begin_memory__3RB;
+__UINTEGER_32 nb_page__M2B;
+__MEMORY *first_free__MMD;
+__UINTEGER_32 capacity_max__OTD;
+void *string_tmp__UK;
+__UINTEGER_32 clone_allocation_size__F5;
+__INTEGER nbodies__AB;
+__PLANET *bodies__GB;
+__PLANET *b__XXD;
+__PLANET *b2__CYD;
+__REAL_64 dx__IYD;
+__REAL_64 dy__OYD;
+__REAL_64 dz__UYD;
+__REAL_64 distance__CZD;
+__REAL_64 mag__KZD;
+__REAL_64 solar_mass__4D;
+__REAL_64 days_per_year__KE;
+__REAL_64 pi__HR;
+
+//==========================//
+// STRING CONSTANT          //
+//==========================//
+
+__STRING_CONSTANT __string_1={__STRING_CONSTANT__,5,"%.9f\n"};
+__STRING_CONSTANT __string_2={__STRING_CONSTANT__,19,"Not enough memory.\n"};
+
+//==========================//
+// FUNCTION HEADER          //
+//==========================//
+
+// Debug Manager
+void print_string(char *str);
+// Source code
+static __POINTER new_lab__01B(__UINTEGER_32 t__21B);
+static void** create__UGG(__INTEGER nb_elements__WGG);
+static __STRING* create__R3(__INTEGER needed_capacity__T3);
+static void add_last__ZDE(__STRING *Self__0DE,__CHARACTER ch__1DE);
+static __POINTER realloc_dynamic__old_size__new_size__EGI(__POINTER p__GGI,__UINTEGER_32 old_sz__HGI,__UINTEGER_32 new_sz__IGI);
+static __MEMORY* search__JLD(__UINTEGER_32 new_size__LLD);
+void offset_momentum(__INTEGER n__NG);
+__REAL_64 energy(__INTEGER n__2H);
+static void print_format_c__RK(__REAL_64 Self__SK);
+void advance(__REAL_64 dt__NXD,__INTEGER n__OXD);
+static __MEMORY* new_page__ETD();
+static __CHARACTER* create__MDG(__INTEGER nb_elements__ODG);
+static void to_busy__index__XIH(__MEMORY *Self__YIH,__UINTEGER_32 sz__ZIH,__UINTEGER_32 idx__0IH);
+static void put_string__B5C(void *s__D5C);
+
+//==========================//
+// SOURCE CODE              //
+//==========================//
+
+int main(int argc,char **argv)
+{
+  void *str__NL;
+  __INTEGER new_count__3W,typ_id__X4,Self__IX,limit_up__JX,idx__QFE;
+  __INTEGER i__DHE,new_capacity__3HE,__tmp__BJE,__tmp__OUH,Self__T0L;
+  __INTEGER state__OIL,result__RIL,i__NIL,__tmp__OTS,__tmp__QTS;
+  __INTEGER Self__1K,limit_up__2K;
+  __POINTER ptr__S4,ptr_table__RWS,next__QWS,result__SWS,ptr_table__XWS;
+  __POINTER next__WWS,result__YWS,result__2US,ptr_table__DQB,next__IQB;
+  __POINTER result__GQB;
+  __UINTEGER_32 sz__U4,a__2QS,new_size__YKB,t__BMB,a__CRS,new_size__0WS;
+  __UINTEGER_32 lab_type__ZWS,sz__4US,a__3US,new_size__5US;
+  __UINTEGER_32 new_size2__AVS,a__BVS,new_size__CVS;
+  __STRING *Self__BHE,*Self__LIL;
+  __PLANET *Self__CE,*Self__0E,*Self__LF,*Self__2F;
+  __CHARACTER *arg__ML,*Self__EFE,*p__CHE,*__tmp__PTS;
+  __FAST_ARRAYoSTRINGo *result__R4,*Self__ASC,*Self__1HE;
+  void *result__LL;
+  __BOOLEAN __tmp__LIE,negative__QIL,__tmp__3JL,result__V3P,__tmp__QKL;
+  __BOOLEAN __tmp__FLL,result__SRO,__tmp__MML,result__ESO,result__LFP;
+  void **__tmp__AJE,**new__1TH;
+  __CHARACTER cc__PIL;
+  __PLANET *Result__4C;
+  arg_count  = argc;
+  arg_vector = argv;
+  ARRAYED_COLLECTIONoSTRINGo__->storage__GNC=NULL;
+  ARRAYED_COLLECTIONoSTRINGo__->capacity__JSC= 0;
+  ARRAYED_COLLECTIONoSTRINGo__->upper__VSC= 0;
+  FAST_ARRAYoSTRINGo__->parent_arrayed_collection__WC=(*ARRAYED_COLLECTIONoSTRINGo__);
+  parent_numeric__H=NUMERIC__;
+  clone_allocation_size__F5= 0;
+  STRING_CONSTANT__->count__YHB=((__INTEGER )((0)));
+  STRING__->count__EW= 0;
+  STRING_CONSTANT__->storage__0LE=((__CHARACTER *)(NULL));
+  STRING__->storage__3QC=NULL;
+  nb_page__M2B= 0;
+  MEMORY__->size_and_id__OD= 0;
+  capacity_max__OTD= 0;
+  begin_memory__3RB=((__POINTER )(NULL));
+  MEMORY__->previous_linear__ND= 0;
+  first_free__MMD=NULL;
+  MEMORY__->next_free__PD=NULL;
+  MEMORY__->previous_free__QD=NULL;
+  STRING__->capacity__GW= 0;
+  arg__ML=NULL;
+  str__NL=NULL;
+  new_count__3W=((__INTEGER )(arg_count));
+  result__R4=NULL;
+  ptr__S4=((__POINTER )(NULL));
+  typ_id__X4= 0;
+  sz__U4=((__UINTEGER_32 )sizeof(__FAST_ARRAYoSTRINGo));
+  if ((sz__U4 ==  0)) {
+    result__R4=FAST_ARRAYoSTRINGo__;
+  } else {
+    typ_id__X4=__FAST_ARRAYoSTRINGo__;
+    clone_allocation_size__F5=sz__U4;
+    if ((typ_id__X4 == (__INTEGER)(-  1))) {
+      a__2QS=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__YKB=(__UINTEGER_32)((__UINTEGER_32)(sz__U4 + a__2QS) & (__UINTEGER_32)(~ a__2QS));
+      ptr_table__RWS=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__YKB / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+      next__QWS=((__POINTER )(NULL));
+      result__SWS=((__POINTER *)ptr_table__RWS)[ 0];
+      if ((result__SWS == (void *)NULL)) {
+        result__SWS=new_lab__01B(new_size__YKB);
+        next__QWS=(void *)((unsigned long)result__SWS - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__YKB)));
+        ((__POINTER *)next__QWS)[ 0]=NULL;
+        ((__POINTER *)ptr_table__RWS)[ 0]=next__QWS;
+      } else {
+        next__QWS=((__POINTER *)result__SWS)[ 0];
+        if ((next__QWS == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__SWS - (unsigned long)begin_memory__3RB)))) &  4095) + (__UINTEGER_32)(new_size__YKB <<  1)) <=  4096)) {
+            next__QWS=(void *)((unsigned long)result__SWS - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__YKB)));
+          } else {
+            next__QWS=new_lab__01B(new_size__YKB);
+          };
+          ((__POINTER *)next__QWS)[ 0]=NULL;
+          ((__POINTER *)ptr_table__RWS)[ 0]=next__QWS;
+        } else {
+          ((__POINTER *)result__SWS)[ 0]=(void *)((unsigned long)((__POINTER *)next__QWS)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__SWS=next__QWS;
+        };
+      };
+      ptr__S4=result__SWS;
+    } else {
+      t__BMB=((__UINTEGER_32 )typ_id__X4);
+      a__CRS=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__0WS=(__UINTEGER_32)((__UINTEGER_32)(sz__U4 + a__CRS) & (__UINTEGER_32)(~ a__CRS));
+      ptr_table__XWS=((__POINTER )(&(table_type[(t__BMB)])));
+      lab_type__ZWS=(__UINTEGER_32)(t__BMB |  1);
+      next__WWS=((__POINTER )(NULL));
+      result__YWS=((__POINTER *)ptr_table__XWS)[ 0];
+      if ((result__YWS == (void *)NULL)) {
+        result__YWS=new_lab__01B(lab_type__ZWS);
+        next__WWS=(void *)((unsigned long)result__YWS - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__0WS)));
+        ((__POINTER *)next__WWS)[ 0]=NULL;
+        ((__POINTER *)ptr_table__XWS)[ 0]=next__WWS;
+      } else {
+        next__WWS=((__POINTER *)result__YWS)[ 0];
+        if ((next__WWS == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__YWS - (unsigned long)begin_memory__3RB)))) &  4095) + (__UINTEGER_32)(new_size__0WS <<  1)) <=  4096)) {
+            next__WWS=(void *)((unsigned long)result__YWS - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__0WS)));
+          } else {
+            next__WWS=new_lab__01B(lab_type__ZWS);
+          };
+          ((__POINTER *)next__WWS)[ 0]=NULL;
+          ((__POINTER *)ptr_table__XWS)[ 0]=next__WWS;
+        } else {
+          ((__POINTER *)result__YWS)[ 0]=(void *)((unsigned long)((__POINTER *)next__WWS)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__YWS=next__WWS;
+        };
+      };
+      ptr__S4=result__YWS;
+    };
+    result__R4=((__FAST_ARRAYoSTRINGo *)ptr__S4);
+    *(result__R4) = *(FAST_ARRAYoSTRINGo__);
+  };
+  Self__ASC=((__FAST_ARRAYoSTRINGo *)result__R4);
+  if ((Self__ASC->parent_arrayed_collection__WC.capacity__JSC < new_count__3W)) {
+    Self__ASC->parent_arrayed_collection__WC.storage__GNC=create__UGG(new_count__3W);
+    Self__ASC->parent_arrayed_collection__WC.capacity__JSC=new_count__3W;
+  };
+  Self__ASC->parent_arrayed_collection__WC.upper__VSC=(__INTEGER)(-  1);
+  result__LL=result__R4;
+  Self__IX= 0;
+  limit_up__JX=(__INTEGER)(((__INTEGER )(arg_count)) -  1);
+  while ((Self__IX <= limit_up__JX)) {
+    arg__ML=((__CHARACTER *)(arg_vector[(Self__IX)]));
+    Self__EFE=((__CHARACTER *)arg__ML);
+    idx__QFE= 0;
+    while ((! ((idx__QFE >  1024) || ('\0' == Self__EFE[idx__QFE])))) {
+      idx__QFE=(__INTEGER)(idx__QFE +  1);
+    };
+    str__NL=create__R3(idx__QFE);
+    Self__BHE=((__STRING *)str__NL);
+    p__CHE=arg__ML;
+    i__DHE= 0;
+    Self__BHE->count__EW= 0;
+    while ((((__CHARACTER *)p__CHE)[i__DHE] != '\0')) {
+      add_last__ZDE(Self__BHE,((__CHARACTER *)p__CHE)[i__DHE]);
+      i__DHE=(__INTEGER)(i__DHE +  1);
+    };
+    Self__1HE=((__FAST_ARRAYoSTRINGo *)result__LL);
+    new_capacity__3HE= 0;
+    if (((__INTEGER)(Self__1HE->parent_arrayed_collection__WC.upper__VSC +  1) <= (__INTEGER)(Self__1HE->parent_arrayed_collection__WC.capacity__JSC -  1))) {
+      Self__1HE->parent_arrayed_collection__WC.upper__VSC=(__INTEGER)(Self__1HE->parent_arrayed_collection__WC.upper__VSC +  1);
+      __tmp__LIE=TRUE__;
+    } else {
+      __tmp__LIE=FALSE__;
+    };
+    if ((! __tmp__LIE)) {
+      if ((Self__1HE->parent_arrayed_collection__WC.capacity__JSC ==  0)) {
+        Self__1HE->parent_arrayed_collection__WC.storage__GNC=create__UGG( 2);
+        Self__1HE->parent_arrayed_collection__WC.capacity__JSC= 2;
+        Self__1HE->parent_arrayed_collection__WC.upper__VSC= 0;
+      } else {
+        new_capacity__3HE=(__INTEGER)(Self__1HE->parent_arrayed_collection__WC.capacity__JSC <<  1);
+        __tmp__AJE=Self__1HE->parent_arrayed_collection__WC.storage__GNC;
+        __tmp__BJE=Self__1HE->parent_arrayed_collection__WC.capacity__JSC;
+        new__1TH=((void **)realloc_dynamic__old_size__new_size__EGI(((__POINTER )((void **)__tmp__AJE)),((__UINTEGER_32 )(__INTEGER)(__tmp__BJE * ((__INTEGER )(sizeof(void *))))),((__UINTEGER_32 )(__INTEGER)(new_capacity__3HE * ((__INTEGER )(sizeof(void *)))))));
+        __tmp__OUH=(__INTEGER)(new_capacity__3HE -  1);
+        Self__T0L=__tmp__BJE;
+        while ((Self__T0L <= __tmp__OUH)) {
+          new__1TH[Self__T0L]=NULL;
+          Self__T0L=(__INTEGER)(Self__T0L +  1);
+        };
+        Self__1HE->parent_arrayed_collection__WC.storage__GNC=new__1TH;
+        Self__1HE->parent_arrayed_collection__WC.capacity__JSC=new_capacity__3HE;
+        Self__1HE->parent_arrayed_collection__WC.upper__VSC=(__INTEGER)(Self__1HE->parent_arrayed_collection__WC.upper__VSC +  1);
+      };
+    };
+    ((void **)Self__1HE->parent_arrayed_collection__WC.storage__GNC)[Self__1HE->parent_arrayed_collection__WC.upper__VSC]=str__NL;
+    Self__IX=(__INTEGER)(Self__IX +  1);
+  };
+  nbodies__AB= 0;
+  bodies__GB=NULL;
+  pi__HR=((__REAL_64 )(3.141592653589793));
+  solar_mass__4D=(__REAL_64)((__REAL_64)(pi__HR * pi__HR) * ((__REAL_64 )4.0));
+  PLANET__->mass__AE=((__REAL_64 ) 0);
+  PLANET__->x__EE=((__REAL_64 ) 0);
+  PLANET__->y__GE=((__REAL_64 ) 0);
+  PLANET__->z__IE=((__REAL_64 ) 0);
+  days_per_year__KE=((__REAL_64 )365.24);
+  PLANET__->vx__NE=((__REAL_64 ) 0);
+  PLANET__->vy__RE=((__REAL_64 ) 0);
+  PLANET__->vz__VE=((__REAL_64 ) 0);
+  string_tmp__UK=create__R3( 32);
+  b__XXD=NULL;
+  b2__CYD=NULL;
+  dx__IYD=((__REAL_64 ) 0);
+  dy__OYD=((__REAL_64 ) 0);
+  dz__UYD=((__REAL_64 ) 0);
+  distance__CZD=((__REAL_64 ) 0);
+  mag__KZD=((__REAL_64 ) 0);
+  Self__LIL=((__STRING *)((void **)((__FAST_ARRAYoSTRINGo *)result__R4)->parent_arrayed_collection__WC.storage__GNC)[ 1]);
+  state__OIL= 0;
+  cc__PIL='\0';
+  negative__QIL=FALSE__;
+  result__RIL= 0;
+  i__NIL= 1;
+  __tmp__OTS=Self__LIL->count__EW;
+  __tmp__PTS=Self__LIL->storage__3QC;
+  __tmp__QTS=Self__LIL->count__EW;
+  while ((i__NIL <= __tmp__OTS)) {
+    cc__PIL=((__CHARACTER *)__tmp__PTS)[(__INTEGER)(i__NIL -  1)];
+    if ((state__OIL ==  0)) {
+      if ((((((((cc__PIL == ' ') || (cc__PIL == '\t')) || (cc__PIL == '\n')) || (cc__PIL == '\r')) || (cc__PIL == '\0')) || (cc__PIL == '\f')) || (cc__PIL == '\v'))) {
+        __tmp__3JL=TRUE__;
+      } else {
+        result__V3P=(cc__PIL == '+');
+        if (result__V3P) {
+          state__OIL= 1;
+        };
+        __tmp__3JL=result__V3P;
+      };
+      if ((! __tmp__3JL)) {
+        if ((cc__PIL == '-')) {
+          negative__QIL=TRUE__;
+          state__OIL= 1;
+        } else {
+          result__RIL=(__INTEGER)(((__INTEGER )((__INTEGER_8 )cc__PIL)) -  48);
+          state__OIL= 2;
+        };
+      };
+      __tmp__QKL=TRUE__;
+    } else {
+      __tmp__QKL=FALSE__;
+    };
+    if (__tmp__QKL) {
+      __tmp__FLL=TRUE__;
+    } else {
+      result__SRO=(state__OIL ==  1);
+      if (result__SRO) {
+        result__RIL=(__INTEGER)(((__INTEGER )((__INTEGER_8 )cc__PIL)) -  48);
+        if (negative__QIL) {
+          result__RIL=(__INTEGER)(- result__RIL);
+        };
+        state__OIL= 2;
+      };
+      __tmp__FLL=result__SRO;
+    };
+    if (__tmp__FLL) {
+      __tmp__MML=TRUE__;
+    } else {
+      result__ESO=(state__OIL ==  2);
+      if (result__ESO) {
+        result__LFP=FALSE__;
+        if ((((__INTEGER_8 )cc__PIL) >= ((__INTEGER_8 )'0'))) {
+          result__LFP=(((__INTEGER_8 )cc__PIL) <= ((__INTEGER_8 )'9'));
+        };
+        if (result__LFP) {
+          if (negative__QIL) {
+            result__RIL=(__INTEGER)((__INTEGER)( 10 * result__RIL) - (__INTEGER)(((__INTEGER )((__INTEGER_8 )cc__PIL)) -  48));
+          } else {
+            result__RIL=(__INTEGER)((__INTEGER)( 10 * result__RIL) + (__INTEGER)(((__INTEGER )((__INTEGER_8 )cc__PIL)) -  48));
+          };
+        } else {
+          state__OIL= 3;
+        };
+      };
+      __tmp__MML=result__ESO;
+    };
+    if ((! __tmp__MML)) {
+      if ((state__OIL ==  3)) {
+        i__NIL=__tmp__QTS;
+      };
+    };
+    i__NIL=(__INTEGER)(i__NIL +  1);
+  };
+  nbodies__AB= 4;
+  sz__4US=((__UINTEGER_32 )(__INTEGER)(sizeof(__PLANET) <<  2));
+  result__2US=((__POINTER )(NULL));
+  a__3US=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+  new_size__5US=(__UINTEGER_32)((__UINTEGER_32)(sz__4US + a__3US) & (__UINTEGER_32)(~ a__3US));
+  new_size2__AVS=(__UINTEGER_32)(new_size__5US + ((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))));
+  if ((new_size2__AVS <= ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+    a__BVS=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+    new_size__CVS=(__UINTEGER_32)((__UINTEGER_32)(new_size2__AVS + a__BVS) & (__UINTEGER_32)(~ a__BVS));
+    ptr_table__DQB=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__CVS / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+    next__IQB=((__POINTER )(NULL));
+    result__GQB=((__POINTER *)ptr_table__DQB)[ 0];
+    if ((result__GQB == (void *)NULL)) {
+      result__GQB=new_lab__01B(new_size__CVS);
+      next__IQB=(void *)((unsigned long)result__GQB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__CVS)));
+      ((__POINTER *)next__IQB)[ 0]=NULL;
+      ((__POINTER *)ptr_table__DQB)[ 0]=next__IQB;
+    } else {
+      next__IQB=((__POINTER *)result__GQB)[ 0];
+      if ((next__IQB == (void *)NULL)) {
+        if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__GQB - (unsigned long)begin_memory__3RB)))) &  4095) + (__UINTEGER_32)(new_size__CVS <<  1)) <=  4096)) {
+          next__IQB=(void *)((unsigned long)result__GQB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__CVS)));
+        } else {
+          next__IQB=new_lab__01B(new_size__CVS);
+        };
+        ((__POINTER *)next__IQB)[ 0]=NULL;
+        ((__POINTER *)ptr_table__DQB)[ 0]=next__IQB;
+      } else {
+        ((__POINTER *)result__GQB)[ 0]=(void *)((unsigned long)((__POINTER *)next__IQB)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+        result__GQB=next__IQB;
+      };
+    };
+    ((__POINTER *)result__GQB)[ 0]=((__POINTER ) 3);
+    result__2US=(void *)((unsigned long)result__GQB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+  } else {
+    result__2US=(void *)((unsigned long)((__POINTER )((__MEMORY *)search__JLD(new_size__5US))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+  };
+  Result__4C=((__PLANET *)result__2US);
+  bodies__GB=Result__4C;
+  Result__4C[ 0].mass__AE=solar_mass__4D;
+  Self__CE=&(Result__4C[ 1]);
+  Self__CE->x__EE=((__REAL_64 )(4.84143144246472090E+00));
+  Self__CE->y__GE=((__REAL_64 )(-1.16032004402742839E+00));
+  Self__CE->z__IE=((__REAL_64 )(-1.03622044471123109E-01));
+  Self__CE->vx__NE=(__REAL_64)(((__REAL_64 )(1.66007664274403694E-03)) * days_per_year__KE);
+  Self__CE->vy__RE=(__REAL_64)(((__REAL_64 )(7.69901118419740425E-03)) * days_per_year__KE);
+  Self__CE->vz__VE=(__REAL_64)(((__REAL_64 )(-6.90460016972063023E-05)) * days_per_year__KE);
+  Self__CE->mass__AE=(__REAL_64)(((__REAL_64 )(9.54791938424326609E-04)) * solar_mass__4D);
+  Self__0E=&(Result__4C[ 2]);
+  Self__0E->x__EE=((__REAL_64 )(8.34336671824457987E+00));
+  Self__0E->y__GE=((__REAL_64 )(4.12479856412430479E+00));
+  Self__0E->z__IE=((__REAL_64 )(-4.03523417114321381E-01));
+  Self__0E->vx__NE=(__REAL_64)(((__REAL_64 )(-2.76742510726862411E-03)) * days_per_year__KE);
+  Self__0E->vy__RE=(__REAL_64)(((__REAL_64 )(4.99852801234917238E-03)) * days_per_year__KE);
+  Self__0E->vz__VE=(__REAL_64)(((__REAL_64 )(2.30417297573763929E-05)) * days_per_year__KE);
+  Self__0E->mass__AE=(__REAL_64)(((__REAL_64 )(2.85885980666130812E-04)) * solar_mass__4D);
+  Self__LF=&(Result__4C[ 3]);
+  Self__LF->x__EE=((__REAL_64 )(1.28943695621391310E+01));
+  Self__LF->y__GE=((__REAL_64 )(-1.51111514016986312E+01));
+  Self__LF->z__IE=((__REAL_64 )(-2.23307578892655734E-01));
+  Self__LF->vx__NE=(__REAL_64)(((__REAL_64 )(2.96460137564761618E-03)) * days_per_year__KE);
+  Self__LF->vy__RE=(__REAL_64)(((__REAL_64 )(2.37847173959480950E-03)) * days_per_year__KE);
+  Self__LF->vz__VE=(__REAL_64)(((__REAL_64 )(-2.96589568540237556E-05)) * days_per_year__KE);
+  Self__LF->mass__AE=(__REAL_64)(((__REAL_64 )(4.36624404335156298E-05)) * solar_mass__4D);
+  Self__2F=&(Result__4C[ 4]);
+  Self__2F->x__EE=((__REAL_64 )(1.53796971148509165E+01));
+  Self__2F->y__GE=((__REAL_64 )(-2.59193146099879641E+01));
+  Self__2F->z__IE=((__REAL_64 )(1.79258772950371181E-01));
+  Self__2F->vx__NE=(__REAL_64)(((__REAL_64 )(2.68067772490389322E-03)) * days_per_year__KE);
+  Self__2F->vy__RE=(__REAL_64)(((__REAL_64 )(1.62824170038242295E-03)) * days_per_year__KE);
+  Self__2F->vz__VE=(__REAL_64)(((__REAL_64 )(-9.51592254519715870E-05)) * days_per_year__KE);
+  Self__2F->mass__AE=(__REAL_64)(((__REAL_64 )(5.15138902046611451E-05)) * solar_mass__4D);
+  offset_momentum(nbodies__AB);
+  print_format_c__RK(energy(nbodies__AB));
+  Self__1K= 1;
+  limit_up__2K=result__RIL;
+  while ((Self__1K <= limit_up__2K)) {
+    advance(((__REAL_64 )0.01),nbodies__AB);
+    Self__1K=(__INTEGER)(Self__1K +  1);
+  };
+  print_format_c__RK(energy(nbodies__AB));
+  return( 0);
+}
+
+static __POINTER new_lab__01B(__UINTEGER_32 t__21B)
+// ({UINTEGER_32}) With resultNo recursive, No inlinable.
+{
+  __UINTEGER_32 idx__41B,pv__F2B;
+  __MEMORY *blc__B2B,*prev__C2B,*Self__YES,*Self__5PS,*prev__AQS;
+  __MEMORY *next__BQS;
+  __POINTER result__D2B;
+  __BOOLEAN __tmp__F3B;
+  idx__41B= 0;
+  blc__B2B=NULL;
+  prev__C2B=NULL;
+  pv__F2B= 0;
+  while_do__3AC:
+  {
+    if ((idx__41B < nb_page__M2B)) {
+      blc__B2B=((__MEMORY *)(last_block[(idx__41B)]));
+      __tmp__F3B=(((__UINTEGER_32)(((__MEMORY *)blc__B2B)->size_and_id__OD &  4294967292LU) <  4096) || ((__UINTEGER_32)(((__MEMORY *)blc__B2B)->size_and_id__OD &  1) ==  1));
+    } else {
+      __tmp__F3B=FALSE__;
+    };
+    if (__tmp__F3B) {
+      idx__41B=(__UINTEGER_32)(idx__41B +  1);
+      goto while_do__3AC;
+    };
+  };
+  if ((idx__41B >= nb_page__M2B)) {
+    blc__B2B=new_page__ETD();
+  };
+  ((__MEMORY *)blc__B2B)->size_and_id__OD=(__UINTEGER_32)(blc__B2B->size_and_id__OD -  4096);
+  Self__YES=((__MEMORY *)blc__B2B);
+  result__D2B=((__POINTER )((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__YES) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__YES->size_and_id__OD &  4294967292LU))))));
+  if (((__UINTEGER_32)(((__MEMORY *)blc__B2B)->size_and_id__OD &  4294967292LU) < ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+    Self__5PS=((__MEMORY *)blc__B2B);
+    prev__AQS=Self__5PS->previous_free__QD;
+    next__BQS=Self__5PS->next_free__PD;
+    if (((void *)prev__AQS == (void *)NULL)) {
+      first_free__MMD=next__BQS;
+    } else {
+      ((__MEMORY *)prev__AQS)->next_free__PD=next__BQS;
+    };
+    if (((void *)next__BQS != (void *)NULL)) {
+      ((__MEMORY *)next__BQS)->previous_free__QD=prev__AQS;
+    };
+    pv__F2B=blc__B2B->previous_linear__ND;
+    if ((pv__F2B !=  4294967295LU)) {
+      prev__C2B=((__MEMORY *)(void *)((unsigned long)begin_memory__3RB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )pv__F2B))));
+      ((__MEMORY *)prev__C2B)->size_and_id__OD=(__UINTEGER_32)((__UINTEGER_32)(prev__C2B->size_and_id__OD + blc__B2B->size_and_id__OD) +  8);
+      last_block[(idx__41B)] = (prev__C2B);
+    };
+  };
+  ((__POINTER *)result__D2B)[ 0]=((__POINTER )t__21B);
+  return((void *)((unsigned long)result__D2B - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *)))))));
+}
+
+static void** create__UGG(__INTEGER nb_elements__WGG)
+// ({INTEGER}) With resultNo recursive, No inlinable.
+{
+  __UINTEGER_32 sz__IVS,a__HVS,new_size__JVS,new_size2__KVS,a__LVS;
+  __UINTEGER_32 new_size__MVS;
+  __POINTER result__GVS,ptr_table__TVS,next__SVS,result__UVS;
+  __INTEGER Self__MOI;
+  void **Result__FOG;
+  sz__IVS=((__UINTEGER_32 )(__INTEGER)(nb_elements__WGG * ((__INTEGER )(sizeof(void *)))));
+  result__GVS=((__POINTER )(NULL));
+  a__HVS=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+  new_size__JVS=(__UINTEGER_32)((__UINTEGER_32)(sz__IVS + a__HVS) & (__UINTEGER_32)(~ a__HVS));
+  new_size2__KVS=(__UINTEGER_32)(new_size__JVS + ((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))));
+  if ((new_size2__KVS <= ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+    a__LVS=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+    new_size__MVS=(__UINTEGER_32)((__UINTEGER_32)(new_size2__KVS + a__LVS) & (__UINTEGER_32)(~ a__LVS));
+    ptr_table__TVS=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__MVS / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+    next__SVS=((__POINTER )(NULL));
+    result__UVS=((__POINTER *)ptr_table__TVS)[ 0];
+    if ((result__UVS == (void *)NULL)) {
+      result__UVS=new_lab__01B(new_size__MVS);
+      next__SVS=(void *)((unsigned long)result__UVS - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__MVS)));
+      ((__POINTER *)next__SVS)[ 0]=NULL;
+      ((__POINTER *)ptr_table__TVS)[ 0]=next__SVS;
+    } else {
+      next__SVS=((__POINTER *)result__UVS)[ 0];
+      if ((next__SVS == (void *)NULL)) {
+        if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__UVS - (unsigned long)begin_memory__3RB)))) &  4095) + (__UINTEGER_32)(new_size__MVS <<  1)) <=  4096)) {
+          next__SVS=(void *)((unsigned long)result__UVS - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__MVS)));
+        } else {
+          next__SVS=new_lab__01B(new_size__MVS);
+        };
+        ((__POINTER *)next__SVS)[ 0]=NULL;
+        ((__POINTER *)ptr_table__TVS)[ 0]=next__SVS;
+      } else {
+        ((__POINTER *)result__UVS)[ 0]=(void *)((unsigned long)((__POINTER *)next__SVS)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+        result__UVS=next__SVS;
+      };
+    };
+    ((__POINTER *)result__UVS)[ 0]=((__POINTER ) 3);
+    result__GVS=(void *)((unsigned long)result__UVS - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+  } else {
+    result__GVS=(void *)((unsigned long)((__POINTER )((__MEMORY *)search__JLD(new_size__JVS))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+  };
+  Result__FOG=((void **)result__GVS);
+  Self__MOI=(__INTEGER)(nb_elements__WGG -  1);
+  while ((Self__MOI >=  0)) {
+    Result__FOG[Self__MOI]=NULL;
+    Self__MOI=(__INTEGER)(Self__MOI -  1);
+  };
+  return(Result__FOG);
+}
+
+static __STRING* create__R3(__INTEGER needed_capacity__T3)
+// ({INTEGER}) With resultNo recursive, No inlinable.
+{
+  __STRING *result__0DB,*Self__IUC;
+  __POINTER ptr__1DB,ptr_table__ZVS,next__YVS,result__0VS;
+  __POINTER ptr_table__5VS,next__4VS,result__AWS;
+  __INTEGER typ_id__AEB;
+  __UINTEGER_32 sz__3DB,a__HRS,new_size__IRS,t__RRS,a__ORS;
+  __UINTEGER_32 new_size__CWS,lab_type__BWS;
+  result__0DB=NULL;
+  ptr__1DB=((__POINTER )(NULL));
+  typ_id__AEB= 0;
+  sz__3DB=((__UINTEGER_32 )sizeof(__STRING));
+  if ((sz__3DB ==  0)) {
+    result__0DB=STRING__;
+  } else {
+    typ_id__AEB=-1;
+    clone_allocation_size__F5=(__UINTEGER_32)(clone_allocation_size__F5 + sz__3DB);
+    if ((typ_id__AEB == (__INTEGER)(-  1))) {
+      a__HRS=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__IRS=(__UINTEGER_32)((__UINTEGER_32)(sz__3DB + a__HRS) & (__UINTEGER_32)(~ a__HRS));
+      ptr_table__ZVS=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__IRS / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+      next__YVS=((__POINTER )(NULL));
+      result__0VS=((__POINTER *)ptr_table__ZVS)[ 0];
+      if ((result__0VS == (void *)NULL)) {
+        result__0VS=new_lab__01B(new_size__IRS);
+        next__YVS=(void *)((unsigned long)result__0VS - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__IRS)));
+        ((__POINTER *)next__YVS)[ 0]=NULL;
+        ((__POINTER *)ptr_table__ZVS)[ 0]=next__YVS;
+      } else {
+        next__YVS=((__POINTER *)result__0VS)[ 0];
+        if ((next__YVS == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__0VS - (unsigned long)begin_memory__3RB)))) &  4095) + (__UINTEGER_32)(new_size__IRS <<  1)) <=  4096)) {
+            next__YVS=(void *)((unsigned long)result__0VS - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__IRS)));
+          } else {
+            next__YVS=new_lab__01B(new_size__IRS);
+          };
+          ((__POINTER *)next__YVS)[ 0]=NULL;
+          ((__POINTER *)ptr_table__ZVS)[ 0]=next__YVS;
+        } else {
+          ((__POINTER *)result__0VS)[ 0]=(void *)((unsigned long)((__POINTER *)next__YVS)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__0VS=next__YVS;
+        };
+      };
+      ptr__1DB=result__0VS;
+    } else {
+      t__RRS=((__UINTEGER_32 )typ_id__AEB);
+      a__ORS=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__CWS=(__UINTEGER_32)((__UINTEGER_32)(sz__3DB + a__ORS) & (__UINTEGER_32)(~ a__ORS));
+      ptr_table__5VS=((__POINTER )(&(table_type[(t__RRS)])));
+      lab_type__BWS=(__UINTEGER_32)(t__RRS |  1);
+      next__4VS=((__POINTER )(NULL));
+      result__AWS=((__POINTER *)ptr_table__5VS)[ 0];
+      if ((result__AWS == (void *)NULL)) {
+        result__AWS=new_lab__01B(lab_type__BWS);
+        next__4VS=(void *)((unsigned long)result__AWS - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__CWS)));
+        ((__POINTER *)next__4VS)[ 0]=NULL;
+        ((__POINTER *)ptr_table__5VS)[ 0]=next__4VS;
+      } else {
+        next__4VS=((__POINTER *)result__AWS)[ 0];
+        if ((next__4VS == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__AWS - (unsigned long)begin_memory__3RB)))) &  4095) + (__UINTEGER_32)(new_size__CWS <<  1)) <=  4096)) {
+            next__4VS=(void *)((unsigned long)result__AWS - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__CWS)));
+          } else {
+            next__4VS=new_lab__01B(lab_type__BWS);
+          };
+          ((__POINTER *)next__4VS)[ 0]=NULL;
+          ((__POINTER *)ptr_table__5VS)[ 0]=next__4VS;
+        } else {
+          ((__POINTER *)result__AWS)[ 0]=(void *)((unsigned long)((__POINTER *)next__4VS)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__AWS=next__4VS;
+        };
+      };
+      ptr__1DB=result__AWS;
+    };
+    result__0DB=((__STRING *)ptr__1DB);
+    *(result__0DB) = *(STRING__);
+  };
+  Self__IUC=((__STRING *)result__0DB);
+  if ((needed_capacity__T3 >  0)) {
+    if ((Self__IUC->capacity__GW < needed_capacity__T3)) {
+      Self__IUC->storage__3QC=create__MDG(needed_capacity__T3);
+      Self__IUC->capacity__GW=needed_capacity__T3;
+    };
+  };
+  Self__IUC->count__EW= 0;
+  return(result__0DB);
+}
+
+static void add_last__ZDE(__STRING *Self__0DE,__CHARACTER ch__1DE)
+// ({STRING},{CHARACTER}) VoidNo recursive, No inlinable.
+{
+  __INTEGER new_capacity__2DE,__tmp__VEE,__tmp__XSH,Self__UYL;
+  __CHARACTER *__tmp__UEE,*new__ESH;
+  new_capacity__2DE= 0;
+  if ((Self__0DE->capacity__GW <= Self__0DE->count__EW)) {
+    if ((Self__0DE->capacity__GW ==  0)) {
+      Self__0DE->capacity__GW= 32;
+      Self__0DE->storage__3QC=create__MDG( 32);
+    } else {
+      new_capacity__2DE=(__INTEGER)(Self__0DE->capacity__GW <<  1);
+      __tmp__UEE=Self__0DE->storage__3QC;
+      __tmp__VEE=Self__0DE->capacity__GW;
+      new__ESH=((__CHARACTER *)realloc_dynamic__old_size__new_size__EGI(((__POINTER )((__CHARACTER *)__tmp__UEE)),((__UINTEGER_32 )__tmp__VEE),((__UINTEGER_32 )new_capacity__2DE)));
+      __tmp__XSH=(__INTEGER)(new_capacity__2DE -  1);
+      Self__UYL=__tmp__VEE;
+      while ((Self__UYL <= __tmp__XSH)) {
+        new__ESH[Self__UYL]='\0';
+        Self__UYL=(__INTEGER)(Self__UYL +  1);
+      };
+      Self__0DE->storage__3QC=new__ESH;
+      Self__0DE->capacity__GW=new_capacity__2DE;
+    };
+  };
+  ((__CHARACTER *)Self__0DE->storage__3QC)[Self__0DE->count__EW]=ch__1DE;
+  Self__0DE->count__EW=(__INTEGER)(Self__0DE->count__EW +  1);
+}
+
+static __POINTER realloc_dynamic__old_size__new_size__EGI(__POINTER p__GGI,__UINTEGER_32 old_sz__HGI,__UINTEGER_32 new_sz__IGI)
+// ({POINTER},{UINTEGER_32},{UINTEGER_32}) With resultNo recursive, No inlinable.
+{
+  __MEMORY *mem__TGI,*Self__OKK,*nxt__SKK,*result__TKK,*next__1AL;
+  __MEMORY *new_free__0AL,*prev__ISS,*next__JSS;
+  __POINTER result__UGI,result__PO,ptr_table__FWS,next__EWS,result__GWS;
+  __POINTER p__EJK,last__HUK,src__4HK,dst__5HK;
+  __UINTEGER_32 a__URS,old_size__KGI,old_size2__NGI,a__YRS;
+  __UINTEGER_32 new_size__QGI,a__B1,new_size__JO,new_size2__MO,a__QSS;
+  __UINTEGER_32 new_size__RSS,a__2RS,__tmp__FII,sz__XKK,old_size__UKK;
+  __UINTEGER_32 prev__2AL,new_size__5AL;
+  __INTEGER siz__3WS,Self__CXS,siz__DIK,Self__0RK;
+  __POINTER *na_src__5WS,*na_dst__BXS,*na_src__BIK,*na_dst__CIK;
+  mem__TGI=NULL;
+  result__UGI=((__POINTER )(NULL));
+  a__URS=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+  old_size__KGI=(__UINTEGER_32)((__UINTEGER_32)(old_sz__HGI + a__URS) & (__UINTEGER_32)(~ a__URS));
+  old_size2__NGI=(__UINTEGER_32)(old_size__KGI + ((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))));
+  a__YRS=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+  new_size__QGI=(__UINTEGER_32)((__UINTEGER_32)(new_sz__IGI + a__YRS) & (__UINTEGER_32)(~ a__YRS));
+  if ((old_size2__NGI <= ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+    result__PO=((__POINTER )(NULL));
+    a__B1=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+    new_size__JO=(__UINTEGER_32)((__UINTEGER_32)(new_size__QGI + a__B1) & (__UINTEGER_32)(~ a__B1));
+    new_size2__MO=(__UINTEGER_32)(new_size__JO + ((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))));
+    if ((new_size2__MO <= ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+      a__QSS=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__RSS=(__UINTEGER_32)((__UINTEGER_32)(new_size2__MO + a__QSS) & (__UINTEGER_32)(~ a__QSS));
+      ptr_table__FWS=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__RSS / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+      next__EWS=((__POINTER )(NULL));
+      result__GWS=((__POINTER *)ptr_table__FWS)[ 0];
+      if ((result__GWS == (void *)NULL)) {
+        result__GWS=new_lab__01B(new_size__RSS);
+        next__EWS=(void *)((unsigned long)result__GWS - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__RSS)));
+        ((__POINTER *)next__EWS)[ 0]=NULL;
+        ((__POINTER *)ptr_table__FWS)[ 0]=next__EWS;
+      } else {
+        next__EWS=((__POINTER *)result__GWS)[ 0];
+        if ((next__EWS == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__GWS - (unsigned long)begin_memory__3RB)))) &  4095) + (__UINTEGER_32)(new_size__RSS <<  1)) <=  4096)) {
+            next__EWS=(void *)((unsigned long)result__GWS - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__RSS)));
+          } else {
+            next__EWS=new_lab__01B(new_size__RSS);
+          };
+          ((__POINTER *)next__EWS)[ 0]=NULL;
+          ((__POINTER *)ptr_table__FWS)[ 0]=next__EWS;
+        } else {
+          ((__POINTER *)result__GWS)[ 0]=(void *)((unsigned long)((__POINTER *)next__EWS)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__GWS=next__EWS;
+        };
+      };
+      ((__POINTER *)result__GWS)[ 0]=((__POINTER ) 3);
+      result__PO=(void *)((unsigned long)result__GWS - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+    } else {
+      result__PO=(void *)((unsigned long)((__POINTER )((__MEMORY *)search__JLD(new_size__JO))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+    };
+    result__UGI=result__PO;
+    siz__3WS=((__INTEGER )old_size__KGI);
+    siz__3WS=(__INTEGER)(siz__3WS / ((__INTEGER )(sizeof(void *))));
+    na_src__5WS=((__POINTER *)p__GGI);
+    na_dst__BXS=((__POINTER *)result__PO);
+    Self__CXS=(__INTEGER)(siz__3WS -  1);
+    while ((Self__CXS >=  0)) {
+      na_dst__BXS[Self__CXS]=na_src__5WS[Self__CXS];
+      Self__CXS=(__INTEGER)(Self__CXS -  1);
+    };
+    p__EJK=(void *)((unsigned long)p__GGI - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *)))));
+    a__2RS=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+    last__HUK=((__POINTER *)((__POINTER )(&(table_size[((__UINTEGER_32)((__UINTEGER_32)((__UINTEGER_32)(old_size2__NGI + a__2RS) & (__UINTEGER_32)(~ a__2RS)) / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1]))))[ 0];
+    ((__POINTER *)p__EJK)[ 0]=(void *)((unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)(void *)((unsigned long)(void *)((unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER *)last__HUK)[ 0]) - (unsigned long)((__POINTER ) 1)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 3)) - (unsigned long)((__POINTER ) 1)))) - (unsigned long)((__POINTER ) 1));
+    ((__POINTER *)last__HUK)[ 0]=p__EJK;
+  } else {
+    mem__TGI=((__MEMORY *)(void *)((unsigned long)p__GGI - (unsigned long)((__POINTER ) 8)));
+    __tmp__FII=(__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)p__GGI - (unsigned long)begin_memory__3RB)))) >>  26);
+    Self__OKK=((__MEMORY *)mem__TGI);
+    nxt__SKK=NULL;
+    result__TKK=NULL;
+    sz__XKK= 0;
+    old_size__UKK=(__UINTEGER_32)(Self__OKK->size_and_id__OD &  4294967292LU);
+    if ((new_size__QGI > old_size__UKK)) {
+      if ((! ((__UINTEGER_32)(Self__OKK->size_and_id__OD &  2) !=  0))) {
+        nxt__SKK=((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__OKK) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__OKK->size_and_id__OD &  4294967292LU)))));
+        sz__XKK=(__UINTEGER_32)((__UINTEGER_32)(new_size__QGI - old_size__UKK) -  8);
+        if ((((__UINTEGER_32)(((__MEMORY *)nxt__SKK)->size_and_id__OD &  1) ==  0) && ((__UINTEGER_32)(((__MEMORY *)nxt__SKK)->size_and_id__OD &  4294967292LU) >= sz__XKK))) {
+          to_busy__index__XIH(nxt__SKK,sz__XKK,__tmp__FII);
+          Self__OKK->size_and_id__OD=(__UINTEGER_32)((__UINTEGER_32)(Self__OKK->size_and_id__OD + (__UINTEGER_32)(nxt__SKK->size_and_id__OD &  4294967294LU)) +  8);
+          if (((__UINTEGER_32)(Self__OKK->size_and_id__OD &  2) !=  0)) {
+            last_block[(__tmp__FII)] = (Self__OKK);
+          } else {
+            nxt__SKK=((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__OKK) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__OKK->size_and_id__OD &  4294967292LU)))));
+            ((__MEMORY *)nxt__SKK)->previous_linear__ND=((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )Self__OKK) - (unsigned long)begin_memory__3RB))));
+          };
+          result__TKK=Self__OKK;
+        };
+      };
+      if (((void *)result__TKK == (void *)NULL)) {
+        result__TKK=search__JLD(new_size__QGI);
+        src__4HK=(void *)((unsigned long)((__POINTER )Self__OKK) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+        dst__5HK=(void *)((unsigned long)((__POINTER )((__MEMORY *)result__TKK)) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+        siz__DIK=((__INTEGER )old_size__UKK);
+        siz__DIK=(__INTEGER)(siz__DIK / ((__INTEGER )(sizeof(void *))));
+        na_src__BIK=((__POINTER *)src__4HK);
+        na_dst__CIK=((__POINTER *)dst__5HK);
+        Self__0RK=(__INTEGER)(siz__DIK -  1);
+        while ((Self__0RK >=  0)) {
+          na_dst__CIK[Self__0RK]=na_src__BIK[Self__0RK];
+          Self__0RK=(__INTEGER)(Self__0RK -  1);
+        };
+        prev__2AL=Self__OKK->previous_linear__ND;
+        next__1AL=((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__OKK) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__OKK->size_and_id__OD &  4294967292LU)))));
+        new_free__0AL=((__MEMORY *)(void *)((unsigned long)begin_memory__3RB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )prev__2AL))));
+        new_size__5AL=(__UINTEGER_32)(Self__OKK->size_and_id__OD &  4294967294LU);
+        if (((prev__2AL ==  4294967295LU) || ((__UINTEGER_32)(new_free__0AL->size_and_id__OD &  1) !=  0))) {
+          new_free__0AL=Self__OKK;
+          Self__OKK->next_free__PD=first_free__MMD;
+          Self__OKK->previous_free__QD=NULL;
+          if (((void *)first_free__MMD != (void *)NULL)) {
+            ((__MEMORY *)first_free__MMD)->previous_free__QD=Self__OKK;
+          };
+          first_free__MMD=Self__OKK;
+        } else {
+          new_size__5AL=(__UINTEGER_32)((__UINTEGER_32)(new_size__5AL + new_free__0AL->size_and_id__OD) +  8);
+        };
+        if (((! ((__UINTEGER_32)(Self__OKK->size_and_id__OD &  2) !=  0)) && ((__UINTEGER_32)(next__1AL->size_and_id__OD &  1) ==  0))) {
+          new_size__5AL=(__UINTEGER_32)((__UINTEGER_32)(new_size__5AL + next__1AL->size_and_id__OD) +  8);
+          prev__ISS=next__1AL->previous_free__QD;
+          next__JSS=next__1AL->next_free__PD;
+          if (((void *)prev__ISS == (void *)NULL)) {
+            first_free__MMD=next__JSS;
+          } else {
+            ((__MEMORY *)prev__ISS)->next_free__PD=next__JSS;
+          };
+          if (((void *)next__JSS != (void *)NULL)) {
+            ((__MEMORY *)next__JSS)->previous_free__QD=prev__ISS;
+          };
+        };
+        new_free__0AL->size_and_id__OD=new_size__5AL;
+        if (((__UINTEGER_32)(new_free__0AL->size_and_id__OD &  2) !=  0)) {
+          last_block[(__tmp__FII)] = (new_free__0AL);
+        } else {
+          next__1AL=((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__OKK) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__OKK->size_and_id__OD &  4294967292LU)))));
+          next__1AL->previous_linear__ND=((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )new_free__0AL) - (unsigned long)begin_memory__3RB))));
+        };
+      };
+    } else {
+      result__TKK=Self__OKK;
+    };
+    result__UGI=(void *)((unsigned long)((__POINTER )((__MEMORY *)result__TKK)) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+  };
+  return(result__UGI);
+}
+
+static __MEMORY* search__JLD(__UINTEGER_32 new_size__LLD)
+// ({UINTEGER_32}) With resultNo recursive, No inlinable.
+{
+  __MEMORY *result__NLD;
+  result__NLD=first_free__MMD;
+  while ((((void *)result__NLD != (void *)NULL) && ((__UINTEGER_32)(((__MEMORY *)result__NLD)->size_and_id__OD &  4294967292LU) < new_size__LLD))) {
+    result__NLD=result__NLD->next_free__PD;
+  };
+  if (((void *)result__NLD == (void *)NULL)) {
+    result__NLD=new_page__ETD();
+  };
+  to_busy__index__XIH(result__NLD,new_size__LLD,(__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )((__MEMORY *)result__NLD)) - (unsigned long)begin_memory__3RB)))) >>  26));
+  return(result__NLD);
+}
+
+void offset_momentum(__INTEGER n__NG)
+// ({INTEGER}) VoidNo recursive, Inlinable.
+{
+  __REAL_64 px__OG,py__RG,pz__UG,__tmp__SH,__tmp__WH,__tmp__0H;
+  __PLANET *b__XG;
+  __INTEGER Self__PT;
+  __PLANET *__tmp__OH;
+  px__OG=((__REAL_64 ) 0);
+  py__RG=((__REAL_64 ) 0);
+  pz__UG=((__REAL_64 ) 0);
+  b__XG=NULL;
+  Self__PT= 0;
+  while ((Self__PT <= n__NG)) {
+    b__XG=((__PLANET *)(&(((__PLANET *)bodies__GB)[Self__PT])));
+    px__OG=((__REAL_64 )((px__OG) + ((__REAL_64)(b__XG->vx__NE * b__XG->mass__AE))));
+    py__RG=((__REAL_64 )((py__RG) + ((__REAL_64)(b__XG->vy__RE * b__XG->mass__AE))));
+    pz__UG=((__REAL_64 )((pz__UG) + ((__REAL_64)(b__XG->vz__VE * b__XG->mass__AE))));
+    Self__PT=(__INTEGER)(Self__PT +  1);
+  };
+  __tmp__OH=&(((__PLANET *)bodies__GB)[ 0]);
+  __tmp__SH=(__REAL_64)((__REAL_64)(((__REAL_64 ) 0) - px__OG) / solar_mass__4D);
+  __tmp__WH=(__REAL_64)((__REAL_64)(((__REAL_64 ) 0) - py__RG) / solar_mass__4D);
+  __tmp__0H=(__REAL_64)((__REAL_64)(((__REAL_64 ) 0) - pz__UG) / solar_mass__4D);
+  __tmp__OH->vx__NE=__tmp__SH;
+  __tmp__OH->vy__RE=__tmp__WH;
+  __tmp__OH->vz__VE=__tmp__0H;
+}
+
+__REAL_64 energy(__INTEGER n__2H)
+// ({INTEGER}) With resultNo recursive, No inlinable.
+{
+  __REAL_64 e__4H,dx__DI,dy__GI,dz__JI,__tmp__YOS,__tmp__ZOS,__tmp__0OS;
+  __REAL_64 __tmp__1OS;
+  __PLANET *b__BI,*b2__CI;
+  __INTEGER __tmp__PI,Self__FV,__tmp__LJ,__tmp__MJ,Self__TCE;
+  e__4H=((__REAL_64 ) 0);
+  b__BI=NULL;
+  b2__CI=NULL;
+  dx__DI=((__REAL_64 ) 0);
+  dy__GI=((__REAL_64 ) 0);
+  dz__JI=((__REAL_64 ) 0);
+  __tmp__PI=nbodies__AB;
+  Self__FV= 0;
+  while ((Self__FV <= __tmp__PI)) {
+    b__BI=((__PLANET *)(&(((__PLANET *)bodies__GB)[Self__FV])));
+    e__4H=((__REAL_64 )((e__4H) + ((__REAL_64)((__REAL_64)(b__BI->mass__AE * ((__REAL_64 )0.5)) * ((__REAL_64 )((((__REAL_64 )(((__REAL_64)(b__BI->vx__NE * b__BI->vx__NE)) + ((__REAL_64)(b__BI->vy__RE * b__BI->vy__RE))))) + ((__REAL_64)(b__BI->vz__VE * b__BI->vz__VE))))))));
+    __tmp__LJ=(__INTEGER)(Self__FV +  1);
+    __tmp__MJ=nbodies__AB;
+    Self__TCE=__tmp__LJ;
+    __tmp__YOS=b__BI->x__EE;
+    __tmp__ZOS=b__BI->y__GE;
+    __tmp__0OS=b__BI->z__IE;
+    __tmp__1OS=b__BI->mass__AE;
+    while ((Self__TCE <= __tmp__MJ)) {
+      b2__CI=((__PLANET *)(&(((__PLANET *)bodies__GB)[Self__TCE])));
+      dx__DI=(__REAL_64)(__tmp__YOS - b2__CI->x__EE);
+      dy__GI=(__REAL_64)(__tmp__ZOS - b2__CI->y__GE);
+      dz__JI=(__REAL_64)(__tmp__0OS - b2__CI->z__IE);
+      e__4H=(__REAL_64)(e__4H - (__REAL_64)((__REAL_64)(__tmp__1OS * b2__CI->mass__AE) / ((__REAL_64 )(sqrt((((__REAL_64 )((((__REAL_64 )(((__REAL_64)(dx__DI * dx__DI)) + ((__REAL_64)(dy__GI * dy__GI))))) + ((__REAL_64)(dz__JI * dz__JI))))))))));
+      Self__TCE=(__INTEGER)(Self__TCE +  1);
+    };
+    Self__FV=(__INTEGER)(Self__FV +  1);
+  };
+  return(e__4H);
+}
+
+static void print_format_c__RK(__REAL_64 Self__SK)
+// ({REAL_64}) VoidNo recursive, No inlinable.
+{
+  __INTEGER old_count__CW,cap__DW,__tmp__PWC,Self__U4H;
+  __STRING *Self__QVS,*new__FFB,*Self__RVC,*Self__2PC,*Self__ORC;
+  __POINTER ptr__1EH;
+  __CHARACTER *nc_buf__AW,*__tmp__JWC,*__tmp__MWC,*Self__KMH,*__tmp__CPS;
+  ((__STRING *)string_tmp__UK)->count__EW= 0;
+  old_count__CW=((__STRING *)string_tmp__UK)->count__EW;
+  cap__DW=(__INTEGER)(((__STRING *)string_tmp__UK)->capacity__GW - old_count__CW);
+  Self__QVS=((__STRING *)string_tmp__UK);
+  if ((Self__QVS->capacity__GW > Self__QVS->count__EW)) {
+    Self__QVS->count__EW=(__INTEGER)(Self__QVS->count__EW +  1);
+    if ((((__CHARACTER *)Self__QVS->storage__3QC)[(__INTEGER)(Self__QVS->count__EW -  1)] != '\0')) {
+      ((__CHARACTER *)Self__QVS->storage__3QC)[(__INTEGER)(Self__QVS->count__EW -  1)]='\0';
+    };
+  } else {
+    add_last__ZDE(Self__QVS,'\0');
+  };
+  Self__QVS->count__EW=(__INTEGER)(Self__QVS->count__EW -  1);
+  ptr__1EH=((__POINTER )((__CHARACTER *)Self__QVS->storage__3QC));
+  ptr__1EH=(void *)((unsigned long)ptr__1EH - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )old_count__CW)));
+  nc_buf__AW=((__CHARACTER *)ptr__1EH);
+  new__FFB=create__R3(((__STRING_CONSTANT *)(&__string_1))->count__YHB);
+  Self__RVC=((__STRING *)new__FFB);
+  Self__RVC->count__EW=((__STRING_CONSTANT *)(&__string_1))->count__YHB;
+  if ((Self__RVC->count__EW >  0)) {
+    if ((Self__RVC->capacity__GW < Self__RVC->count__EW)) {
+      Self__RVC->storage__3QC=create__MDG(Self__RVC->count__EW);
+      Self__RVC->capacity__GW=Self__RVC->count__EW;
+    };
+    __tmp__JWC=Self__RVC->storage__3QC;
+    __tmp__MWC=((__STRING_CONSTANT *)(&__string_1))->storage__0LE;
+    __tmp__PWC=(__INTEGER)(Self__RVC->count__EW -  1);
+    Self__KMH=((__CHARACTER *)__tmp__JWC);
+    Self__U4H=__tmp__PWC;
+    while ((Self__U4H >=  0)) {
+      Self__KMH[Self__U4H]=((__CHARACTER *)__tmp__MWC)[Self__U4H];
+      Self__U4H=(__INTEGER)(Self__U4H -  1);
+    };
+  };
+  Self__2PC=((__STRING *)new__FFB);
+  if ((Self__2PC->capacity__GW > Self__2PC->count__EW)) {
+    Self__2PC->count__EW=(__INTEGER)(Self__2PC->count__EW +  1);
+    if ((((__CHARACTER *)Self__2PC->storage__3QC)[(__INTEGER)(Self__2PC->count__EW -  1)] != '\0')) {
+      ((__CHARACTER *)Self__2PC->storage__3QC)[(__INTEGER)(Self__2PC->count__EW -  1)]='\0';
+    };
+  } else {
+    add_last__ZDE(Self__2PC,'\0');
+  };
+  Self__2PC->count__EW=(__INTEGER)(Self__2PC->count__EW -  1);
+  snprintf((nc_buf__AW),(cap__DW),(Self__2PC->storage__3QC),(Self__SK));
+  Self__ORC=((__STRING *)string_tmp__UK);
+  Self__ORC->count__EW= 0;
+  __tmp__CPS=Self__ORC->storage__3QC;
+  while ((((__CHARACTER *)__tmp__CPS)[Self__ORC->count__EW] != '\0')) {
+    Self__ORC->count__EW=(__INTEGER)(Self__ORC->count__EW +  1);
+  };
+  put_string__B5C(((__STRING *)string_tmp__UK));
+}
+
+void advance(__REAL_64 dt__NXD,__INTEGER n__OXD)
+// ({REAL_64},{INTEGER}) VoidNo recursive, No inlinable.
+{
+  __INTEGER Self__BSE,Self__GBG,Self__QSE;
+  __REAL_64 __tmp__JPS,__tmp__KPS,__tmp__LPS,__tmp__MPS,__tmp__NPS;
+  __REAL_64 __tmp__OPS;
+  /* debut */;
+  Self__BSE= 0;
+  while ((Self__BSE <= n__OXD)) {
+    b__XXD=((__PLANET *)(&(((__PLANET *)bodies__GB)[Self__BSE])));
+    Self__GBG=(__INTEGER)(Self__BSE +  1);
+    __tmp__JPS=b__XXD->x__EE;
+    __tmp__KPS=b__XXD->y__GE;
+    __tmp__LPS=b__XXD->z__IE;
+    __tmp__MPS=b__XXD->mass__AE;
+    __tmp__NPS=b__XXD->mass__AE;
+    __tmp__OPS=b__XXD->mass__AE;
+    while ((Self__GBG <= n__OXD)) {
+      b2__CYD=((__PLANET *)(&(((__PLANET *)bodies__GB)[Self__GBG])));
+      dx__IYD=(__REAL_64)(__tmp__JPS - b2__CYD->x__EE);
+      dy__OYD=(__REAL_64)(__tmp__KPS - b2__CYD->y__GE);
+      dz__UYD=(__REAL_64)(__tmp__LPS - b2__CYD->z__IE);
+      distance__CZD=((__REAL_64 )(sqrt((((__REAL_64 )((((__REAL_64 )(((__REAL_64)(dx__IYD * dx__IYD)) + ((__REAL_64)(dy__OYD * dy__OYD))))) + ((__REAL_64)(dz__UYD * dz__UYD))))))));
+      mag__KZD=(__REAL_64)(dt__NXD / (__REAL_64)((__REAL_64)(distance__CZD * distance__CZD) * distance__CZD));
+      ((__PLANET *)b__XXD)->vx__NE=(__REAL_64)(b__XXD->vx__NE - (__REAL_64)((__REAL_64)(dx__IYD * b2__CYD->mass__AE) * mag__KZD));
+      ((__PLANET *)b__XXD)->vy__RE=(__REAL_64)(b__XXD->vy__RE - (__REAL_64)((__REAL_64)(dy__OYD * b2__CYD->mass__AE) * mag__KZD));
+      ((__PLANET *)b__XXD)->vz__VE=(__REAL_64)(b__XXD->vz__VE - (__REAL_64)((__REAL_64)(dz__UYD * b2__CYD->mass__AE) * mag__KZD));
+      ((__PLANET *)b2__CYD)->vx__NE=((__REAL_64 )((b2__CYD->vx__NE) + ((__REAL_64)((__REAL_64)(dx__IYD * __tmp__MPS) * mag__KZD))));
+      ((__PLANET *)b2__CYD)->vy__RE=((__REAL_64 )((b2__CYD->vy__RE) + ((__REAL_64)((__REAL_64)(dy__OYD * __tmp__NPS) * mag__KZD))));
+      ((__PLANET *)b2__CYD)->vz__VE=((__REAL_64 )((b2__CYD->vz__VE) + ((__REAL_64)((__REAL_64)(dz__UYD * __tmp__OPS) * mag__KZD))));
+      Self__GBG=(__INTEGER)(Self__GBG +  1);
+    };
+    Self__BSE=(__INTEGER)(Self__BSE +  1);
+  };
+  Self__QSE= 0;
+  while ((Self__QSE <= n__OXD)) {
+    b__XXD=((__PLANET *)(&(((__PLANET *)bodies__GB)[Self__QSE])));
+    ((__PLANET *)b__XXD)->x__EE=((__REAL_64 )((b__XXD->x__EE) + ((__REAL_64)(dt__NXD * b__XXD->vx__NE))));
+    ((__PLANET *)b__XXD)->y__GE=((__REAL_64 )((b__XXD->y__GE) + ((__REAL_64)(dt__NXD * b__XXD->vy__RE))));
+    ((__PLANET *)b__XXD)->z__IE=((__REAL_64 )((b__XXD->z__IE) + ((__REAL_64)(dt__NXD * b__XXD->vz__VE))));
+    Self__QSE=(__INTEGER)(Self__QSE +  1);
+  };
+}
+
+static __MEMORY* new_page__ETD()
+// () With resultNo recursive, No inlinable.
+{
+  __POINTER mem__BNF;
+  __UINTEGER_32 cap__4MF,old_size__HTD;
+  __MEMORY *block__NTD;
+  if ((capacity_max__OTD ==  0)) {
+    mem__BNF=((__POINTER )(NULL));
+    cap__4MF= 33554432;
+    do {
+      cap__4MF=(__UINTEGER_32)(cap__4MF <<  1);
+      mem__BNF=((__POINTER )(malloc((cap__4MF))));
+      if ((mem__BNF != (void *)NULL)) {
+        free((mem__BNF));
+      };
+    } while ((! ((mem__BNF == (void *)NULL) || (cap__4MF ==  2147483648LU))));
+    if ((mem__BNF == (void *)NULL)) {
+      cap__4MF=(__UINTEGER_32)(cap__4MF >>  1);
+    };
+    capacity_max__OTD=cap__4MF;
+    begin_memory__3RB=((__POINTER )(malloc((cap__4MF))));
+  };
+  old_size__HTD=(__UINTEGER_32)(nb_page__M2B <<  26);
+  nb_page__M2B=(__UINTEGER_32)(nb_page__M2B +  1);
+  if (((__UINTEGER_32)(old_size__HTD +  67108864) > capacity_max__OTD)) {
+    put_string__B5C((&__string_2));
+    exit(( 1));
+  };
+  block__NTD=((__MEMORY *)(void *)((unsigned long)begin_memory__3RB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )old_size__HTD))));
+  block__NTD->previous_linear__ND= 4294967295LU;
+  block__NTD->size_and_id__OD= 67108858;
+  block__NTD->next_free__PD=first_free__MMD;
+  block__NTD->previous_free__QD=NULL;
+  if (((void *)first_free__MMD != (void *)NULL)) {
+    ((__MEMORY *)first_free__MMD)->previous_free__QD=block__NTD;
+  };
+  first_free__MMD=block__NTD;
+  last_block[((__UINTEGER_32)(nb_page__M2B -  1))] = (block__NTD);
+  return(block__NTD);
+}
+
+static __CHARACTER* create__MDG(__INTEGER nb_elements__ODG)
+// ({INTEGER}) With resultNo recursive, No inlinable.
+{
+  __UINTEGER_32 sz__UUS,a__TUS,new_size__VUS,new_size2__WUS,a__XUS;
+  __UINTEGER_32 new_size__YUS;
+  __POINTER result__SUS,ptr_table__LWS,next__KWS,result__MWS;
+  __INTEGER Self__FNI;
+  __CHARACTER *Result__ELG;
+  sz__UUS=((__UINTEGER_32 )nb_elements__ODG);
+  result__SUS=((__POINTER )(NULL));
+  a__TUS=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+  new_size__VUS=(__UINTEGER_32)((__UINTEGER_32)(sz__UUS + a__TUS) & (__UINTEGER_32)(~ a__TUS));
+  new_size2__WUS=(__UINTEGER_32)(new_size__VUS + ((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))));
+  if ((new_size2__WUS <= ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+    a__XUS=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+    new_size__YUS=(__UINTEGER_32)((__UINTEGER_32)(new_size2__WUS + a__XUS) & (__UINTEGER_32)(~ a__XUS));
+    ptr_table__LWS=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__YUS / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+    next__KWS=((__POINTER )(NULL));
+    result__MWS=((__POINTER *)ptr_table__LWS)[ 0];
+    if ((result__MWS == (void *)NULL)) {
+      result__MWS=new_lab__01B(new_size__YUS);
+      next__KWS=(void *)((unsigned long)result__MWS - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__YUS)));
+      ((__POINTER *)next__KWS)[ 0]=NULL;
+      ((__POINTER *)ptr_table__LWS)[ 0]=next__KWS;
+    } else {
+      next__KWS=((__POINTER *)result__MWS)[ 0];
+      if ((next__KWS == (void *)NULL)) {
+        if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__MWS - (unsigned long)begin_memory__3RB)))) &  4095) + (__UINTEGER_32)(new_size__YUS <<  1)) <=  4096)) {
+          next__KWS=(void *)((unsigned long)result__MWS - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__YUS)));
+        } else {
+          next__KWS=new_lab__01B(new_size__YUS);
+        };
+        ((__POINTER *)next__KWS)[ 0]=NULL;
+        ((__POINTER *)ptr_table__LWS)[ 0]=next__KWS;
+      } else {
+        ((__POINTER *)result__MWS)[ 0]=(void *)((unsigned long)((__POINTER *)next__KWS)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+        result__MWS=next__KWS;
+      };
+    };
+    ((__POINTER *)result__MWS)[ 0]=((__POINTER ) 3);
+    result__SUS=(void *)((unsigned long)result__MWS - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+  } else {
+    result__SUS=(void *)((unsigned long)((__POINTER )((__MEMORY *)search__JLD(new_size__VUS))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+  };
+  Result__ELG=((__CHARACTER *)result__SUS);
+  Self__FNI=(__INTEGER)(nb_elements__ODG -  1);
+  while ((Self__FNI >=  0)) {
+    Result__ELG[Self__FNI]='\0';
+    Self__FNI=(__INTEGER)(Self__FNI -  1);
+  };
+  return(Result__ELG);
+}
+
+static void to_busy__index__XIH(__MEMORY *Self__YIH,__UINTEGER_32 sz__ZIH,__UINTEGER_32 idx__0IH)
+// ({MEMORY},{UINTEGER_32},{UINTEGER_32}) VoidNo recursive, No inlinable.
+{
+  __MEMORY *new__BJH,*prev__O1H,*next__P1H,*Self__BNH,*Self__MAS;
+  __UINTEGER_32 siz__1IH,new_size__4IH;
+  new__BJH=NULL;
+  prev__O1H=Self__YIH->previous_free__QD;
+  next__P1H=Self__YIH->next_free__PD;
+  if (((void *)prev__O1H == (void *)NULL)) {
+    first_free__MMD=next__P1H;
+  } else {
+    ((__MEMORY *)prev__O1H)->next_free__PD=next__P1H;
+  };
+  if (((void *)next__P1H != (void *)NULL)) {
+    ((__MEMORY *)next__P1H)->previous_free__QD=prev__O1H;
+  };
+  siz__1IH=Self__YIH->size_and_id__OD;
+  new_size__4IH=(__UINTEGER_32)(siz__1IH - sz__ZIH);
+  if ((new_size__4IH > (__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )(MINIMUM_SIZE)) +  2) +  8))) {
+    siz__1IH=sz__ZIH;
+    new__BJH=((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__YIH) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )sz__ZIH))));
+    ((__MEMORY *)new__BJH)->previous_linear__ND=((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )Self__YIH) - (unsigned long)begin_memory__3RB))));
+    ((__MEMORY *)new__BJH)->size_and_id__OD=(__UINTEGER_32)(new_size__4IH -  8);
+    Self__BNH=((__MEMORY *)new__BJH);
+    Self__BNH->next_free__PD=first_free__MMD;
+    Self__BNH->previous_free__QD=NULL;
+    if (((void *)first_free__MMD != (void *)NULL)) {
+      ((__MEMORY *)first_free__MMD)->previous_free__QD=Self__BNH;
+    };
+    first_free__MMD=Self__BNH;
+    if (((__UINTEGER_32)(((__MEMORY *)new__BJH)->size_and_id__OD &  2) !=  0)) {
+      last_block[(idx__0IH)] = (new__BJH);
+    } else {
+      Self__MAS=((__MEMORY *)new__BJH);
+      ((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__MAS) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__MAS->size_and_id__OD &  4294967292LU)))))->previous_linear__ND=((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )((__MEMORY *)new__BJH)) - (unsigned long)begin_memory__3RB))));
+    };
+  };
+  Self__YIH->size_and_id__OD=(__UINTEGER_32)(siz__1IH |  1);
+}
+
+static void put_string__B5C(void *s__D5C)
+// ({STRING_CONSTANTxSTRING}) VoidNo recursive, No inlinable.
+{
+  __INTEGER __tmp__V5C,Self__SKD,limit_up__TKD;
+  __CHARACTER *__tmp__ATS,*__tmp__BTS;
+  __CHARACTER __tmp__25C;
+  if (((struct ___OBJ *)s__D5C)->__id==__STRING_CONSTANT__) {
+  };
+  if (((struct ___OBJ *)s__D5C)->__id==__STRING_CONSTANT__) {
+    __tmp__V5C=((__STRING_CONSTANT *)s__D5C)->count__YHB;
+  } else {
+    __tmp__V5C=((__STRING *)s__D5C)->count__EW;
+  };
+  Self__SKD= 1;
+  limit_up__TKD=__tmp__V5C;
+  __tmp__ATS=((__STRING_CONSTANT *)s__D5C)->storage__0LE;
+  __tmp__BTS=((__STRING *)s__D5C)->storage__3QC;
+  while ((Self__SKD <= limit_up__TKD)) {
+    if (((struct ___OBJ *)s__D5C)->__id==__STRING_CONSTANT__) {
+      __tmp__25C=((__CHARACTER *)__tmp__ATS)[(__INTEGER)(Self__SKD -  1)];
+    } else {
+      __tmp__25C=((__CHARACTER *)__tmp__BTS)[(__INTEGER)(Self__SKD -  1)];
+    };
+    fputc((int)(__tmp__25C),stdout);
+    Self__SKD=(__INTEGER)(Self__SKD +  1);
+  };
+}
+
+//==========================//
+// DEBUG MANAGER            //
+//==========================//
+
+void print_string(char *str) 
+{ 
+  while (*str!=0) {
+    print_char(*str); 
+    str++; 
+  };
+}  
+
diff --git a/example/shootout/nbody3/nbody.li b/example/shootout/nbody3/nbody.li
new file mode 100755
index 0000000..a23377f
--- /dev/null
+++ b/example/shootout/nbody3/nbody.li
@@ -0,0 +1,153 @@
+///////////////////////////////////////////////////////////////////////////////
+//                              Lisaac Example                               //
+//                                                                           //
+//                   LSIIT - ULP - CNRS - INRIA - FRANCE                     //
+//                                                                           //
+//   This program is free software: you can redistribute it and/or modify    //
+//   it under the terms of the GNU General Public License as published by    //
+//   the Free Software Foundation, either version 3 of the License, or       //
+//   (at your option) any later version.                                     //
+//                                                                           //
+//   This program is distributed in the hope that it will be useful,         //
+//   but WITHOUT ANY WARRANTY; without even the implied warranty of          //
+//   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the           //
+//   GNU General Public License for more details.                            //
+//                                                                           //
+//   You should have received a copy of the GNU General Public License       //
+//   along with this program.  If not, see <http://www.gnu.org/licenses/>.   //
+//                                                                           //
+//                     http://isaacproject.u-strasbg.fr/                     //
+///////////////////////////////////////////////////////////////////////////////
+Section Header
+
+  + name := NBODY;
+  
+  - comment := "Main prototype for the N-Body shootout benchmark. Based on the C version.";
+  
+  - author := "Anthony Pajot <anthony.pajot at etu.enseeiht.fr>, Xavier Oswald <x.oswald at free.fr>";
+   
+Section Inherit
+  
+  - parent_object : OBJECT := OBJECT;
+  
+Section Private
+  
+  - nbodies : INTEGER;
+  
+  - bodies:NATIVE_ARRAY[Expanded PLANET];
+  
+  - b:Strict PLANET;
+  - b2:Strict PLANET;
+  - dx:REAL_64;
+  - dy:REAL_64; 
+  - dz:REAL_64;
+  - distance:REAL_64;
+  - mag : REAL_64;
+  
+Section External
+  
+  - advance (dt:REAL_64,n:INTEGER) <-
+  (     
+    `/* debut */`;
+    0.to n do { i : INTEGER;          
+      b := bodies.item i.this;            
+      
+      (i + 1).to n do { j : INTEGER;		
+	
+	b2 := bodies.item j.this;	
+	
+	dx := b.x - b2.x;
+	dy := b.y - b2.y;
+	dz := b.z - b2.z;
+	
+	distance := (dx * dx + dy * dy + dz * dz).sqrt;
+	
+	mag := dt / (distance * distance * distance);
+		
+	b.set_vx (b.vx - dx * b2.mass * mag);
+	b.set_vy (b.vy - dy * b2.mass * mag);
+	b.set_vz (b.vz - dz * b2.mass * mag);
+
+	b2.set_vx (b2.vx + dx * b.mass * mag);
+	b2.set_vy (b2.vy + dy * b.mass * mag);
+	b2.set_vz (b2.vz + dz * b.mass * mag);		
+      };      
+    };        
+    0.to n do { i : INTEGER;
+      b := bodies.item i.this;
+      b.set_x (b.x + dt * b.vx);
+      b.set_y (b.y + dt * b.vy);
+      b.set_z (b.z + dt * b.vz);
+    };
+  );
+  
+  - energy n:INTEGER :REAL_64 <-
+  ( + e : REAL_64;
+    + b : Strict PLANET;    
+    + b2 : Strict PLANET;
+    + dx, dy, dz : REAL_64;
+    + distance : REAL_64;
+    
+    0.to nbodies do { i : INTEGER;      
+      b := bodies.item i.this;
+      e := e + b.mass * 0.5 * (b.vx * b.vx + b.vy * b.vy + b.vz * b.vz);
+      
+      (i + 1).to nbodies do { j : INTEGER;		
+	b2 := bodies.item j.this;
+	
+	dx := b.x - b2.x;
+	dy := b.y - b2.y;
+	dz := b.z - b2.z;
+	
+	distance := (dx * dx + dy * dy + dz * dz).sqrt;
+	
+	e := e - (b.mass * b2.mass) / distance;
+      };
+    };
+    
+    e		
+  );
+  
+  - offset_momentum n:INTEGER <-
+  ( + px, py, pz : REAL_64;
+    + b : Strict PLANET;
+    0.to n do { i : INTEGER;			
+      b := bodies.item i.this;
+      px := px + b.vx * b.mass;
+      py := py + b.vy * b.mass;
+      pz := pz + b.vz * b.mass;
+    };
+    
+    bodies.first.set_speed_to (
+      - px / PLANET.solar_mass,
+      - py / PLANET.solar_mass,
+      - pz / PLANET.solar_mass
+    );	
+    
+  );
+Section Public
+  
+  - main <-
+  ( + n:INTEGER;		
+    
+    n := COMMAND_LINE.item 1.to_integer;
+    nbodies := 4;
+    bodies  := NATIVE_ARRAY[Expanded PLANET].calloc_intern nbodies;
+    
+    bodies.item 0.make_sun;
+    bodies.item 1.make_jupiter;
+    bodies.item 2.make_saturn;
+    bodies.item 3.make_uranus;
+    bodies.item 4.make_neptune;
+    
+    offset_momentum nbodies;
+    
+    energy nbodies.print_format_c "%.9f\n";
+        
+    1.to n do { i:INTEGER;
+      advance (0.01,nbodies);      
+    };
+    
+    energy nbodies.print_format_c "%.9f\n";
+  );
+	
diff --git a/example/shootout/nbody3/nbody3.li b/example/shootout/nbody3/nbody3.li
new file mode 100755
index 0000000..8789af8
--- /dev/null
+++ b/example/shootout/nbody3/nbody3.li
@@ -0,0 +1,255 @@
+Section Header
+
+  + name := BODY3;
+
+Section Public
+  
+  - pi:REAL_64 := `3.141592653589793`:REAL_64;
+
+  - solar_mass:REAL_64 := pi * pi * 4;
+
+  - days_per_year:REAL_64 := 365.24;
+
+  + x: REAL_64;
+  + y: REAL_64;
+  + z: REAL_64;
+
+  + vx: REAL_64;
+  + vy: REAL_64;
+  + vz: REAL_64;
+
+  + mass: REAL_64;
+
+  - set_x a:REAL_64 <-
+  (
+    x := a;
+  );  
+  - set_y a:REAL_64 <-
+  (
+    y := a;
+  );
+  - set_z a:REAL_64 <-
+  (
+    z := a;
+  );
+
+  - set_vx a:REAL_64 <-
+  (
+    vx := a;
+  );
+  - set_vy a:REAL_64 <-
+  (
+    vy := a;
+  );
+  - set_vz a:REAL_64 <-
+  (
+    vz := a;
+  );
+  
+  - sun <- 
+  (
+    mass := solar_mass;
+  );
+  
+  - jupiter <-
+  (    
+    x := `4.84143144246472090E+00`:REAL_64;
+    y := `-1.16032004402742839E+00`:REAL_64;
+    z := `-1.03622044471123109E-01`:REAL_64;
+
+    vx := `1.66007664274403694E-03`:REAL_64 * days_per_year;
+    vy := `7.69901118419740425E-03`:REAL_64 * days_per_year;
+    vz := `-6.90460016972063023E-05`:REAL_64 * days_per_year;
+    
+    mass := `9.54791938424326609E-04`:REAL_64 * solar_mass;
+  );
+  
+  - saturn <-
+  (
+    x := `8.34336671824457987E+00`:REAL_64;
+    y := `4.12479856412430479E+00`:REAL_64;
+    z := `-4.03523417114321381E-01`:REAL_64;
+    
+    vx := `-2.76742510726862411E-03`:REAL_64 * days_per_year;
+    vy := `4.99852801234917238E-03`:REAL_64 * days_per_year;
+    vz := `2.30417297573763929E-05`:REAL_64 * days_per_year;
+    
+    mass := `2.85885980666130812E-04`:REAL_64 * solar_mass;
+  );
+  
+  - uranus <-
+  (
+    x := `1.28943695621391310E+01`:REAL_64;
+    y := `-1.51111514016986312E+01`:REAL_64;
+    z := `-2.23307578892655734E-01`:REAL_64;
+    
+    vx := `2.96460137564761618E-03`:REAL_64 * days_per_year;
+    vy := `2.37847173959480950E-03`:REAL_64 * days_per_year;
+    vz := `-2.96589568540237556E-05`:REAL_64 * days_per_year;
+    
+    mass := `4.36624404335156298E-05`:REAL_64 * solar_mass;
+  );
+  
+  - neptune <-
+  (
+    x := `1.53796971148509165E+01`:REAL_64;
+    y := `-2.59193146099879641E+01`:REAL_64;
+    z := `1.79258772950371181E-01`:REAL_64;
+    
+    vx := `2.68067772490389322E-03`:REAL_64  * days_per_year;
+    vy := `1.62824170038242295E-03`:REAL_64  * days_per_year;
+    vz := `-9.51592254519715870E-05`:REAL_64 * days_per_year;
+    
+    mass := `5.15138902046611451E-05`:REAL_64 * solar_mass;
+  );
+  
+ 
+  - offset_momentum (px: REAL_64; py: REAL_64; pz: REAL_64) <-
+  (
+    vx := - px / solar_mass
+    vy := - py / solar_mass
+    vz := - pz / solar_mass
+  );
+
+-- SPLITFILE=nbody.e
+class NBODY
+
+insert ARGUMENTS
+
+creation {ANY}
+   make
+
+feature {ANY}
+   make is
+      local
+         n: INTEGER; i: INTEGER; bodies: NBODY_SYSTEM
+      do
+         create bodies.make
+         std_output.put_real_format(bodies.energy,9)
+         std_output.put_string("%N")
+         n := argument(1).to_integer
+         from
+            i := 0
+         until
+            i = n
+         loop
+            bodies.advance(0.01)
+            i := i + 1
+         end
+         std_output.put_real_format(bodies.energy,9)
+         std_output.put_string("%N")
+      end
+
+end -- class NBODY
+-- SPLITFILE=nbody_system.e
+class NBODY_SYSTEM
+
+creation {ANY}
+   make
+
+feature {ANY}
+   bodies: FAST_ARRAY[BODY]
+
+   make is
+      local
+         b: BODY; px: REAL_64; py: REAL_64; pz: REAL_64; i: INTEGER; bi : BODY
+      do
+         create bodies.make(5)
+         create b.sun
+         bodies.put(b, 0)
+         create b.jupiter
+         bodies.put(b, 1)
+         create b.saturn
+         bodies.put(b, 2)
+         create b.uranus
+         bodies.put(b, 3)
+         create b.neptune
+         bodies.put(b, 4)
+         from
+            i := 0
+         until
+            i = 5
+         loop
+            bi := bodies.item(i)
+            px := px + bi.vx * bi.mass
+            py := py + bi.vy * bi.mass
+            pz := pz + bi.vz * bi.mass
+            i := i + 1
+         end
+         bodies.item(0).offset_momentum(px, py, pz)
+      end
+
+   advance (dt: REAL_64) is
+      local
+         dx: REAL_64; dy: REAL_64; dz: REAL_64; distance: REAL_64; mag: REAL_64; i: INTEGER; j: INTEGER; bi: BODY; bj: BODY
+      do
+         from
+            i := 0
+         until
+            i = 5
+         loop
+            bi := bodies.item(i)
+            from
+               j := i + 1
+            until
+               j = 5
+            loop
+               bj := bodies.item(j)
+               dx := bi.x - bj.x
+               dy := bi.y - bj.y
+               dz := bi.z - bj.z
+               distance := (dx * dx + dy * dy + dz * dz).sqrt
+               mag := dt / (distance * distance * distance)
+               bi.set_vx(bi.vx - dx * bj.mass * mag)
+               bi.set_vy(bi.vy - dy * bj.mass * mag)
+               bi.set_vz(bi.vz - dz * bj.mass * mag)
+               bj.set_vx(bj.vx + dx * bi.mass * mag)
+               bj.set_vy(bj.vy + dy * bi.mass * mag)
+               bj.set_vz(bj.vz + dz * bi.mass * mag)
+               j := j + 1
+            end
+            i := i + 1
+         end
+         from
+            i := 0
+         until
+            i = 5
+         loop
+            bi := bodies.item(i)
+            bi.set_x(bi.x + dt * bi.vx)
+            bi.set_y(bi.y + dt * bi.vy)
+            bi.set_z(bi.z + dt * bi.vz)
+            i := i + 1
+         end
+      end
+
+   energy: REAL_64 is
+      local
+         dx: REAL_64; dy: REAL_64; dz: REAL_64; distance: REAL_64; e: REAL_64; i: INTEGER; j: INTEGER; bi: BODY; bj:BODY
+      do
+         from
+            i := 0
+         until
+            i = 5
+         loop
+            bi := bodies.item(i)
+            e := e + 0.5 * bi.mass * (bi.vx * bi.vx + bi.vy * bi.vy + bi.vz * bi.vz)
+            from
+               j := i + 1
+            until
+               j = 5
+            loop
+               bj := bodies.item(j)
+               dx := bi.x - bj.x
+               dy := bi.y - bj.y
+               dz := bi.z - bj.z
+               distance := (dx * dx + dy * dy + dz * dz).sqrt
+               e := e - bi.mass * bj.mass / distance
+               j := j + 1
+            end
+            i := i + 1
+         end
+         Result := e
+      end
+
+end -- class NBODY_SYSTEM
diff --git a/example/shootout/nbody3/nbody_c.c b/example/shootout/nbody3/nbody_c.c
new file mode 100755
index 0000000..7312851
--- /dev/null
+++ b/example/shootout/nbody3/nbody_c.c
@@ -0,0 +1,138 @@
+#include <math.h>
+#include <stdio.h>
+#include <stdlib.h>
+
+#define pi 3.141592653589793
+#define solar_mass (4 * pi * pi)
+#define days_per_year 365.24
+
+struct planet {
+  double x, y, z;
+  double vx, vy, vz;
+  double mass;
+};
+
+void advance(int nbodies, struct planet * bodies, double dt)
+{
+  int i, j;
+
+  for (i = 0; i < nbodies; i++) {
+    struct planet * b = &(bodies[i]);
+    for (j = i + 1; j < nbodies; j++) {
+      struct planet * b2 = &(bodies[j]);
+      double dx = b->x - b2->x;
+      double dy = b->y - b2->y;
+      double dz = b->z - b2->z;
+      double distance = sqrt(dx * dx + dy * dy + dz * dz);
+      double mag = dt / (distance * distance * distance);
+      
+      b->vx -= dx * b2->mass * mag;
+      b->vy -= dy * b2->mass * mag;
+      b->vz -= dz * b2->mass * mag;
+      
+      b2->vx += dx * b->mass * mag;
+      b2->vy += dy * b->mass * mag;
+      b2->vz += dz * b->mass * mag;
+      
+    }
+  }
+  
+  for (i = 0; i < nbodies; i++) {
+    struct planet * b = &(bodies[i]);
+    b->x += dt * b->vx;
+    b->y += dt * b->vy;
+    b->z += dt * b->vz;
+  }
+  
+}
+
+double energy(int nbodies, struct planet * bodies)
+{
+  double e;
+  int i, j;
+
+  e = 0.0;
+  for (i = 0; i < nbodies; i++) {
+    struct planet * b = &(bodies[i]);
+    e += 0.5 * b->mass * (b->vx * b->vx + b->vy * b->vy + b->vz * b->vz);
+    for (j = i + 1; j < nbodies; j++) {
+      struct planet * b2 = &(bodies[j]);
+      double dx = b->x - b2->x;
+      double dy = b->y - b2->y;
+      double dz = b->z - b2->z;
+      double distance = sqrt(dx * dx + dy * dy + dz * dz);
+      e -= (b->mass * b2->mass) / distance;
+    }
+  }
+  return e;
+}
+
+void offset_momentum(int nbodies, struct planet * bodies)
+{
+  double px = 0.0, py = 0.0, pz = 0.0;
+  int i;
+  for (i = 0; i < nbodies; i++) {
+    px += bodies[i].vx * bodies[i].mass;
+    py += bodies[i].vy * bodies[i].mass;
+    pz += bodies[i].vz * bodies[i].mass;
+  }
+  bodies[0].vx = - px / solar_mass;
+  bodies[0].vy = - py / solar_mass;
+  bodies[0].vz = - pz / solar_mass;
+}
+
+#define NBODIES 5
+struct planet bodies[NBODIES] = {
+  {                               /* sun */
+    0, 0, 0, 0, 0, 0, solar_mass
+  },
+  {                               /* jupiter */
+    4.84143144246472090e+00,
+    -1.16032004402742839e+00,
+    -1.03622044471123109e-01,
+    1.66007664274403694e-03 * days_per_year,
+    7.69901118419740425e-03 * days_per_year,
+    -6.90460016972063023e-05 * days_per_year,
+    9.54791938424326609e-04 * solar_mass
+  },
+  {                               /* saturn */
+    8.34336671824457987e+00,
+    4.12479856412430479e+00,
+    -4.03523417114321381e-01,
+    -2.76742510726862411e-03 * days_per_year,
+    4.99852801234917238e-03 * days_per_year,
+    2.30417297573763929e-05 * days_per_year,
+    2.85885980666130812e-04 * solar_mass
+  },
+  {                               /* uranus */
+    1.28943695621391310e+01,
+    -1.51111514016986312e+01,
+    -2.23307578892655734e-01,
+    2.96460137564761618e-03 * days_per_year,
+    2.37847173959480950e-03 * days_per_year,
+    -2.96589568540237556e-05 * days_per_year,
+    4.36624404335156298e-05 * solar_mass
+  },
+  {                               /* neptune */
+    1.53796971148509165e+01,
+    -2.59193146099879641e+01,
+    1.79258772950371181e-01,
+    2.68067772490389322e-03 * days_per_year,
+    1.62824170038242295e-03 * days_per_year,
+    -9.51592254519715870e-05 * days_per_year,
+    5.15138902046611451e-05 * solar_mass
+  }
+};
+
+int main(int argc, char ** argv)
+{
+  int n = atoi(argv[1]);
+  int i;
+
+  offset_momentum(NBODIES, bodies);
+  printf ("%.9f\n", energy(NBODIES, bodies));
+  for (i = 1; i <= n; i++)
+    advance(NBODIES, bodies, 0.01);
+  printf ("%.9f\n", energy(NBODIES, bodies));
+  return 0;
+}
diff --git a/example/shootout/nbody3/planet.li b/example/shootout/nbody3/planet.li
new file mode 100755
index 0000000..6600fac
--- /dev/null
+++ b/example/shootout/nbody3/planet.li
@@ -0,0 +1,154 @@
+///////////////////////////////////////////////////////////////////////////////
+//                              Lisaac Example                               //
+//                                                                           //
+//                   LSIIT - ULP - CNRS - INRIA - FRANCE                     //
+//                                                                           //
+//   This program is free software: you can redistribute it and/or modify    //
+//   it under the terms of the GNU General Public License as published by    //
+//   the Free Software Foundation, either version 3 of the License, or       //
+//   (at your option) any later version.                                     //
+//                                                                           //
+//   This program is distributed in the hope that it will be useful,         //
+//   but WITHOUT ANY WARRANTY; without even the implied warranty of          //
+//   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the           //
+//   GNU General Public License for more details.                            //
+//                                                                           //
+//   You should have received a copy of the GNU General Public License       //
+//   along with this program.  If not, see <http://www.gnu.org/licenses/>.   //
+//                                                                           //
+//                     http://isaacproject.u-strasbg.fr/                     //
+///////////////////////////////////////////////////////////////////////////////
+Section Header
+
+  + name := PLANET;
+  
+  - comment := "Planet prototype for the N-Body shootout benchmark. Based on the C version.";
+  
+  - author := "Anthony Pajot <anthony.pajot at etu.enseeiht.fr>";
+  
+Section Inherit
+  
+  - parent_object : OBJECT := OBJECT;
+  
+Section Public
+  
+  - this:Strict PLANET <- `&@Self`:Strict PLANET;
+  
+  //**** TO PUT IN REAL IF NOT ALREADY DONE ****
+  - pi : REAL_64 := `3.141592653589793`:REAL_64;
+  
+  - solar_mass:REAL_64 := pi * pi * 4.0;
+  
+  - days_per_year:REAL_64 := 365.24;
+  
+  + x : REAL_64; //it's in double in the C code.
+  + y : REAL_64;
+  + z : REAL_64;
+  
+  + px : REAL_64; //it's in double in the C code.
+  + py : REAL_64;
+  + pz : REAL_64;
+  
+  + vx : REAL_64;
+  + vy : REAL_64;
+  + vz : REAL_64;
+
+  + pvx : REAL_64;
+  + pvy : REAL_64;
+  + pvz : REAL_64;
+  
+  + mass : REAL_64;
+  
+  - set_x v:REAL_64 <-
+  (
+    px := v;
+  );
+  - set_y v:REAL_64 <-
+  (
+    py := v;
+  );
+  - set_z v:REAL_64 <-
+  (
+    pz := v;
+  );
+  
+  - set_vx v:REAL_64 <-
+  (
+    vx := v;
+  );
+  - set_vy v:REAL_64 <-
+  (
+    vy := v;
+  );
+  - set_vz v:REAL_64 <-
+  (
+    vz := v;
+  );
+  
+  - set_speed_to (pvx, pvy, pvz:REAL_64) <-
+  (
+    vx := pvx;
+    vy := pvy;
+    vz := pvz;
+  );
+    
+  //different planets used in the test.
+  
+  - make_sun <- 
+  (
+    mass := solar_mass;
+  );
+  
+  - make_jupiter <-
+  (    
+    x := `4.84143144246472090E+00`:REAL_64;
+    y := `-1.16032004402742839E+00`:REAL_64;
+    z := `-1.03622044471123109E-01`:REAL_64;
+
+    vx := `1.66007664274403694E-03`:REAL_64 * days_per_year;
+    vy := `7.69901118419740425E-03`:REAL_64 * days_per_year;
+    vz := `-6.90460016972063023E-05`:REAL_64 * days_per_year;
+    
+    mass := `9.54791938424326609E-04`:REAL_64 * solar_mass;
+  );
+  
+  - make_saturn <-
+  (
+    x := `8.34336671824457987E+00`:REAL_64;
+    y := `4.12479856412430479E+00`:REAL_64;
+    z := `-4.03523417114321381E-01`:REAL_64;
+    
+    vx := `-2.76742510726862411E-03`:REAL_64 * days_per_year;
+    vy := `4.99852801234917238E-03`:REAL_64 * days_per_year;
+    vz := `2.30417297573763929E-05`:REAL_64 * days_per_year;
+    
+    mass := `2.85885980666130812E-04`:REAL_64 * solar_mass;
+  );
+  
+  - make_uranus <-
+  (
+    x := `1.28943695621391310E+01`:REAL_64;
+    y := `-1.51111514016986312E+01`:REAL_64;
+    z := `-2.23307578892655734E-01`:REAL_64;
+    
+    vx := `2.96460137564761618E-03`:REAL_64 * days_per_year;
+    vy := `2.37847173959480950E-03`:REAL_64 * days_per_year;
+    vz := `-2.96589568540237556E-05`:REAL_64 * days_per_year;
+    
+    mass := `4.36624404335156298E-05`:REAL_64 * solar_mass;
+  );
+  
+  - make_neptune <-
+  (
+    x := `1.53796971148509165E+01`:REAL_64;
+    y := `-2.59193146099879641E+01`:REAL_64;
+    z := `1.79258772950371181E-01`:REAL_64;
+    
+    vx := `2.68067772490389322E-03`:REAL_64  * days_per_year;
+    vy := `1.62824170038242295E-03`:REAL_64  * days_per_year;
+    vz := `-9.51592254519715870E-05`:REAL_64 * days_per_year;
+    
+    mass := `5.15138902046611451E-05`:REAL_64 * solar_mass;
+  );
+  
+ 
\ No newline at end of file
diff --git a/example/shootout/nsieve-bits/nsieve_bits.c b/example/shootout/nsieve-bits/nsieve_bits.c
new file mode 100755
index 0000000..7b74dbe
--- /dev/null
+++ b/example/shootout/nsieve-bits/nsieve_bits.c
@@ -0,0 +1,1295 @@
+// C code generated by Lisaac compiler (www.isaacOS.com) //
+int arg_count;
+char **arg_vector;
+
+//==========================//
+// EXTERNAL                 //
+//==========================//
+
+// MEMORY
+
+#define MINIMUM_SIZE 256  
+void *table_size[MINIMUM_SIZE/sizeof(void *)];
+void *last_block[64];
+
+// FLOAT_REAL
+#include <math.h>
+// SYSTEM_IO
+
+#include <stdio.h>
+#include <stdlib.h>
+  
+// Hardware 'print_char'
+void print_char(char car)
+{
+  fputc(car,stdout);
+}
+
+// Hardware 'exit'
+int die_with_code(int code)
+{
+  exit(code);
+}
+
+
+// SYSTEM
+#include <time.h>
+
+//==========================//
+// TYPE                     //
+//==========================//
+
+// Generic Object
+struct ___OBJ {
+  unsigned long __id;
+};
+
+// NULL
+#ifndef NULL
+#define NULL ((void *)0)
+#endif
+
+// POINTER
+typedef void * __POINTER;
+
+// UINTEGER_32
+typedef unsigned long __UINTEGER_32;
+
+// INTEGER
+typedef int __INTEGER;
+
+// CHARACTER
+typedef char __CHARACTER;
+
+// STRING
+#define __STRING__ 4
+typedef struct STRING_struct __STRING;
+struct STRING_struct {
+  unsigned long __id;
+  __INTEGER count__EDE;
+  __INTEGER capacity__O1H;
+  __CHARACTER *storage__X1H;
+};
+__STRING STRING_={__STRING__};
+#define STRING__ (&STRING_)
+
+// MEMORY
+#define __MEMORY__ 0
+typedef struct MEMORY_struct __MEMORY;
+struct MEMORY_struct {
+  volatile __UINTEGER_32 previous_linear__RM;
+  volatile __UINTEGER_32 size_and_id__SM;
+  __MEMORY *next_free__TM;
+  __MEMORY *previous_free__UM;
+} __attribute__ ((packed));
+__MEMORY MEMORY_;
+#define MEMORY__ (&MEMORY_)
+
+// STRING_CONSTANT
+#define __STRING_CONSTANT__ 5
+typedef struct STRING_CONSTANT_struct __STRING_CONSTANT;
+struct STRING_CONSTANT_struct {
+  unsigned long __id;
+  __INTEGER count__5BE;
+  __CHARACTER *storage__L5F;
+};
+__STRING_CONSTANT STRING_CONSTANT_={__STRING_CONSTANT__};
+#define STRING_CONSTANT__ (&STRING_CONSTANT_)
+
+// NUMERIC
+#define __NUMERIC__ 1
+typedef struct NUMERIC_struct __NUMERIC;
+struct NUMERIC_struct {
+  void *Nothing;
+};
+__NUMERIC NUMERIC_;
+#define NUMERIC__ (&NUMERIC_)
+
+// ARRAYED_COLLECTION[STRING]
+#define __ARRAYED_COLLECTIONoSTRINGo__ 2
+typedef struct ARRAYED_COLLECTIONoSTRINGo_struct __ARRAYED_COLLECTIONoSTRINGo;
+struct ARRAYED_COLLECTIONoSTRINGo_struct {
+  __INTEGER upper__KG;
+  __INTEGER capacity__DAC;
+  void **storage__OAC;
+};
+__ARRAYED_COLLECTIONoSTRINGo ARRAYED_COLLECTIONoSTRINGo_;
+#define ARRAYED_COLLECTIONoSTRINGo__ (&ARRAYED_COLLECTIONoSTRINGo_)
+
+// FAST_ARRAY[STRING]
+#define __FAST_ARRAYoSTRINGo__ 3
+typedef struct FAST_ARRAYoSTRINGo_struct __FAST_ARRAYoSTRINGo;
+struct FAST_ARRAYoSTRINGo_struct {
+  __ARRAYED_COLLECTIONoSTRINGo parent_arrayed_collection__HG;
+};
+__FAST_ARRAYoSTRINGo FAST_ARRAYoSTRINGo_;
+#define FAST_ARRAYoSTRINGo__ (&FAST_ARRAYoSTRINGo_)
+
+// OBJECT
+#define __OBJECT__ 4
+typedef struct OBJECT_struct __OBJECT;
+struct OBJECT_struct {
+  void *Nothing;
+};
+__OBJECT OBJECT_;
+#define OBJECT__ (&OBJECT_)
+
+// TRUE
+#define TRUE__ 1
+
+// FALSE
+#define FALSE__ 0
+
+// ARRAYED_COLLECTION[Expanded UINTEGER_32]
+#define __ARRAYED_COLLECTIONoExpanded_UINTEGER_32o__ 5
+typedef struct ARRAYED_COLLECTIONoExpanded_UINTEGER_32o_struct __ARRAYED_COLLECTIONoExpanded_UINTEGER_32o;
+struct ARRAYED_COLLECTIONoExpanded_UINTEGER_32o_struct {
+  __INTEGER capacity__Y2B;
+  __INTEGER upper__R3B;
+  __UINTEGER_32 *storage__D3B;
+};
+__ARRAYED_COLLECTIONoExpanded_UINTEGER_32o ARRAYED_COLLECTIONoExpanded_UINTEGER_32o_;
+#define ARRAYED_COLLECTIONoExpanded_UINTEGER_32o__ (&ARRAYED_COLLECTIONoExpanded_UINTEGER_32o_)
+
+// FAST_ARRAY[Expanded UINTEGER_32]
+#define __FAST_ARRAYoExpanded_UINTEGER_32o__ 6
+typedef struct FAST_ARRAYoExpanded_UINTEGER_32o_struct __FAST_ARRAYoExpanded_UINTEGER_32o;
+struct FAST_ARRAYoExpanded_UINTEGER_32o_struct {
+  __ARRAYED_COLLECTIONoExpanded_UINTEGER_32o parent_arrayed_collection__OC;
+};
+__FAST_ARRAYoExpanded_UINTEGER_32o FAST_ARRAYoExpanded_UINTEGER_32o_;
+#define FAST_ARRAYoExpanded_UINTEGER_32o__ (&FAST_ARRAYoExpanded_UINTEGER_32o_)
+
+// NSIEVE_BITS
+#define __NSIEVE_BITS__ 7
+typedef struct NSIEVE_BITS_struct __NSIEVE_BITS;
+struct NSIEVE_BITS_struct {
+  void *Nothing;
+};
+__NSIEVE_BITS NSIEVE_BITS_;
+#define NSIEVE_BITS__ (&NSIEVE_BITS_)
+
+// INTEGER_8
+typedef signed char __INTEGER_8;
+
+// BOOLEAN
+typedef char __BOOLEAN;
+
+
+void *table_type[8];
+
+//==========================//
+// GLOBAL                   //
+//==========================//
+
+void *parent_numeric__H;
+__POINTER begin_memory__D4;
+__UINTEGER_32 nb_page__XLB;
+__UINTEGER_32 capacity_max__4VC;
+__MEMORY *first_free__1JF;
+void *string_tmp__M2C;
+__UINTEGER_32 clone_allocation_size__HM;
+void *primes__VC;
+
+//==========================//
+// STRING CONSTANT          //
+//==========================//
+
+__STRING_CONSTANT __string_1={__STRING_CONSTANT__,13,"Primes up to "};
+__STRING_CONSTANT __string_2={__STRING_CONSTANT__,19,"Not enough memory.\n"};
+
+//==========================//
+// FUNCTION HEADER          //
+//==========================//
+
+// Debug Manager
+void print_string(char *str);
+// Source code
+static __POINTER new_lab__FLB(__UINTEGER_32 t__HLB);
+static void** create__BTF(__INTEGER nb_elements__DTF);
+static __STRING* create__I5C(__INTEGER needed_capacity__K5C);
+static void add_last__PDJ(__STRING *Self__QDJ,__CHARACTER ch__RDJ);
+static __POINTER realloc_dynamic__old_size__new_size__T1I(__POINTER p__V1I,__UINTEGER_32 old_sz__W1I,__UINTEGER_32 new_sz__X1I);
+static __MEMORY* search__YIF(__UINTEGER_32 new_size__0IF);
+static void print__31C(__STRING_CONSTANT *Self__41C);
+static void print_format__J2C(__UINTEGER_32 Self__K2C);
+static __MEMORY* new_page__UVC();
+static __CHARACTER* create__ZYL(__INTEGER nb_elements__1YL);
+static void to_busy__index__1DI(__MEMORY *Self__2DI,__UINTEGER_32 sz__3DI,__UINTEGER_32 idx__4DI);
+static void put_string__VMD(void *s__XMD);
+
+//==========================//
+// SOURCE CODE              //
+//==========================//
+
+int main(int argc,char **argv)
+{
+  void *str__FJ;
+  __INTEGER new_count__PN,typ_id__BR,Self__0N,limit_up__1N,idx__Y3C;
+  __INTEGER i__UYH,new_capacity__R5C,__tmp__VAD,__tmp__MDI,Self__K5N;
+  __INTEGER state__PKN,result__SKN,i__OKN,__tmp__DOW,__tmp__FOW;
+  __INTEGER new_count__JI,typ_id__ZL,Self__EPI,__tmp__43B,Self__3CL;
+  __INTEGER Self__PI,Self__00C,limit_up__10C,Self__M1C,limit_up__N1C;
+  __POINTER ptr__2Q,ptr_table__4RW,next__3RW,result__5RW,ptr_table__ESW;
+  __POINTER next__DSW,result__FSW,ptr__UL,ptr_table__KSW,next__JSW;
+  __POINTER result__LSW,ptr_table__QSW,next__PSW,result__RSW;
+  __POINTER result__FQW,ptr_table__J2,next__O2,result__M2;
+  __UINTEGER_32 sz__4Q,a__NNW,new_size__ONW,t__XNW,a__UNW,new_size__HSW;
+  __UINTEGER_32 lab_type__GSW,param__4,count__BB,n__EB,j__HB,sz__1;
+  __UINTEGER_32 sz__WL,a__QKW,new_size__JW,t__SX,a__WKW,new_size__TSW;
+  __UINTEGER_32 lab_type__SSW,sz__HQW,a__GQW,new_size__IQW;
+  __UINTEGER_32 new_size2__JQW,a__KQW,new_size__LQW,m__ZC,__tmp__1D;
+  __UINTEGER_32 i__AE,idx__MCM;
+  __STRING *Self__SYH,*Self__MKN;
+  __CHARACTER *arg__EJ,*Self__M3C,*p__TYH,*__tmp__EOW;
+  __FAST_ARRAYoSTRINGo *result__1Q,*Self__05B,*Self__P5C;
+  void *result__DJ;
+  __BOOLEAN __tmp__55C,negative__RKN,__tmp__4LN,result__BIT,__tmp__RMN;
+  __BOOLEAN __tmp__GNN,result__ZAS,__tmp__NON,result__LBS,result__3QH;
+  __BOOLEAN __tmp__F3B;
+  void **__tmp__UAD,**new__ZCI;
+  __CHARACTER cc__QKN;
+  __FAST_ARRAYoExpanded_UINTEGER_32o *result__TL,*Self__O2B;
+  __UINTEGER_32 *Result__YJD,*__tmp__33B,*Self__JJK,*__tmp__ZQW;
+  __UINTEGER_32 *__tmp__2QW,*__tmp__3QW,*__tmp__4QW,*__tmp__WSW;
+  arg_count  = argc;
+  arg_vector = argv;
+  parent_numeric__H=NUMERIC__;
+  ARRAYED_COLLECTIONoSTRINGo__->upper__KG= 0;
+  ARRAYED_COLLECTIONoSTRINGo__->capacity__DAC= 0;
+  ARRAYED_COLLECTIONoSTRINGo__->storage__OAC=NULL;
+  FAST_ARRAYoSTRINGo__->parent_arrayed_collection__HG=(*ARRAYED_COLLECTIONoSTRINGo__);
+  clone_allocation_size__HM= 0;
+  STRING_CONSTANT__->count__5BE=((__INTEGER )((0)));
+  STRING__->count__EDE= 0;
+  STRING_CONSTANT__->storage__L5F=((__CHARACTER *)(NULL));
+  STRING__->storage__X1H=NULL;
+  nb_page__XLB= 0;
+  MEMORY__->size_and_id__SM= 0;
+  capacity_max__4VC= 0;
+  begin_memory__D4=((__POINTER )(NULL));
+  MEMORY__->previous_linear__RM= 0;
+  first_free__1JF=NULL;
+  MEMORY__->next_free__TM=NULL;
+  MEMORY__->previous_free__UM=NULL;
+  STRING__->capacity__O1H= 0;
+  arg__EJ=NULL;
+  str__FJ=NULL;
+  new_count__PN=((__INTEGER )(arg_count));
+  result__1Q=NULL;
+  ptr__2Q=((__POINTER )(NULL));
+  typ_id__BR= 0;
+  sz__4Q=((__UINTEGER_32 )sizeof(__FAST_ARRAYoSTRINGo));
+  if ((sz__4Q ==  0)) {
+    result__1Q=FAST_ARRAYoSTRINGo__;
+  } else {
+    typ_id__BR=__FAST_ARRAYoSTRINGo__;
+    clone_allocation_size__HM=sz__4Q;
+    if ((typ_id__BR == (__INTEGER)(-  1))) {
+      a__NNW=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__ONW=(__UINTEGER_32)((__UINTEGER_32)(sz__4Q + a__NNW) & (__UINTEGER_32)(~ a__NNW));
+      ptr_table__4RW=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__ONW / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+      next__3RW=((__POINTER )(NULL));
+      result__5RW=((__POINTER *)ptr_table__4RW)[ 0];
+      if ((result__5RW == (void *)NULL)) {
+        result__5RW=new_lab__FLB(new_size__ONW);
+        next__3RW=(void *)((unsigned long)result__5RW - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__ONW)));
+        ((__POINTER *)next__3RW)[ 0]=NULL;
+        ((__POINTER *)ptr_table__4RW)[ 0]=next__3RW;
+      } else {
+        next__3RW=((__POINTER *)result__5RW)[ 0];
+        if ((next__3RW == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__5RW - (unsigned long)begin_memory__D4)))) &  4095) + (__UINTEGER_32)(new_size__ONW <<  1)) <=  4096)) {
+            next__3RW=(void *)((unsigned long)result__5RW - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__ONW)));
+          } else {
+            next__3RW=new_lab__FLB(new_size__ONW);
+          };
+          ((__POINTER *)next__3RW)[ 0]=NULL;
+          ((__POINTER *)ptr_table__4RW)[ 0]=next__3RW;
+        } else {
+          ((__POINTER *)result__5RW)[ 0]=(void *)((unsigned long)((__POINTER *)next__3RW)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__5RW=next__3RW;
+        };
+      };
+      ptr__2Q=result__5RW;
+    } else {
+      t__XNW=((__UINTEGER_32 )typ_id__BR);
+      a__UNW=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__HSW=(__UINTEGER_32)((__UINTEGER_32)(sz__4Q + a__UNW) & (__UINTEGER_32)(~ a__UNW));
+      ptr_table__ESW=((__POINTER )(&(table_type[(t__XNW)])));
+      lab_type__GSW=(__UINTEGER_32)(t__XNW |  1);
+      next__DSW=((__POINTER )(NULL));
+      result__FSW=((__POINTER *)ptr_table__ESW)[ 0];
+      if ((result__FSW == (void *)NULL)) {
+        result__FSW=new_lab__FLB(lab_type__GSW);
+        next__DSW=(void *)((unsigned long)result__FSW - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__HSW)));
+        ((__POINTER *)next__DSW)[ 0]=NULL;
+        ((__POINTER *)ptr_table__ESW)[ 0]=next__DSW;
+      } else {
+        next__DSW=((__POINTER *)result__FSW)[ 0];
+        if ((next__DSW == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__FSW - (unsigned long)begin_memory__D4)))) &  4095) + (__UINTEGER_32)(new_size__HSW <<  1)) <=  4096)) {
+            next__DSW=(void *)((unsigned long)result__FSW - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__HSW)));
+          } else {
+            next__DSW=new_lab__FLB(lab_type__GSW);
+          };
+          ((__POINTER *)next__DSW)[ 0]=NULL;
+          ((__POINTER *)ptr_table__ESW)[ 0]=next__DSW;
+        } else {
+          ((__POINTER *)result__FSW)[ 0]=(void *)((unsigned long)((__POINTER *)next__DSW)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__FSW=next__DSW;
+        };
+      };
+      ptr__2Q=result__FSW;
+    };
+    result__1Q=((__FAST_ARRAYoSTRINGo *)ptr__2Q);
+    *(result__1Q) = *(FAST_ARRAYoSTRINGo__);
+  };
+  Self__05B=((__FAST_ARRAYoSTRINGo *)result__1Q);
+  if ((Self__05B->parent_arrayed_collection__HG.capacity__DAC < new_count__PN)) {
+    Self__05B->parent_arrayed_collection__HG.storage__OAC=create__BTF(new_count__PN);
+    Self__05B->parent_arrayed_collection__HG.capacity__DAC=new_count__PN;
+  };
+  Self__05B->parent_arrayed_collection__HG.upper__KG=(__INTEGER)(-  1);
+  result__DJ=result__1Q;
+  Self__0N= 0;
+  limit_up__1N=(__INTEGER)(((__INTEGER )(arg_count)) -  1);
+  while ((Self__0N <= limit_up__1N)) {
+    arg__EJ=((__CHARACTER *)(arg_vector[(Self__0N)]));
+    Self__M3C=((__CHARACTER *)arg__EJ);
+    idx__Y3C= 0;
+    while ((! ((idx__Y3C >  1024) || ('\0' == Self__M3C[idx__Y3C])))) {
+      idx__Y3C=(__INTEGER)(idx__Y3C +  1);
+    };
+    str__FJ=create__I5C(idx__Y3C);
+    Self__SYH=((__STRING *)str__FJ);
+    p__TYH=arg__EJ;
+    i__UYH= 0;
+    Self__SYH->count__EDE= 0;
+    while ((((__CHARACTER *)p__TYH)[i__UYH] != '\0')) {
+      add_last__PDJ(Self__SYH,((__CHARACTER *)p__TYH)[i__UYH]);
+      i__UYH=(__INTEGER)(i__UYH +  1);
+    };
+    Self__P5C=((__FAST_ARRAYoSTRINGo *)result__DJ);
+    new_capacity__R5C= 0;
+    if (((__INTEGER)(Self__P5C->parent_arrayed_collection__HG.upper__KG +  1) <= (__INTEGER)(Self__P5C->parent_arrayed_collection__HG.capacity__DAC -  1))) {
+      Self__P5C->parent_arrayed_collection__HG.upper__KG=(__INTEGER)(Self__P5C->parent_arrayed_collection__HG.upper__KG +  1);
+      __tmp__55C=TRUE__;
+    } else {
+      __tmp__55C=FALSE__;
+    };
+    if ((! __tmp__55C)) {
+      if ((Self__P5C->parent_arrayed_collection__HG.capacity__DAC ==  0)) {
+        Self__P5C->parent_arrayed_collection__HG.storage__OAC=create__BTF( 2);
+        Self__P5C->parent_arrayed_collection__HG.capacity__DAC= 2;
+        Self__P5C->parent_arrayed_collection__HG.upper__KG= 0;
+      } else {
+        new_capacity__R5C=(__INTEGER)(Self__P5C->parent_arrayed_collection__HG.capacity__DAC <<  1);
+        __tmp__UAD=Self__P5C->parent_arrayed_collection__HG.storage__OAC;
+        __tmp__VAD=Self__P5C->parent_arrayed_collection__HG.capacity__DAC;
+        new__ZCI=((void **)realloc_dynamic__old_size__new_size__T1I(((__POINTER )((void **)__tmp__UAD)),((__UINTEGER_32 )(__INTEGER)(__tmp__VAD * ((__INTEGER )(sizeof(void *))))),((__UINTEGER_32 )(__INTEGER)(new_capacity__R5C * ((__INTEGER )(sizeof(void *)))))));
+        __tmp__MDI=(__INTEGER)(new_capacity__R5C -  1);
+        Self__K5N=__tmp__VAD;
+        while ((Self__K5N <= __tmp__MDI)) {
+          new__ZCI[Self__K5N]=NULL;
+          Self__K5N=(__INTEGER)(Self__K5N +  1);
+        };
+        Self__P5C->parent_arrayed_collection__HG.storage__OAC=new__ZCI;
+        Self__P5C->parent_arrayed_collection__HG.capacity__DAC=new_capacity__R5C;
+        Self__P5C->parent_arrayed_collection__HG.upper__KG=(__INTEGER)(Self__P5C->parent_arrayed_collection__HG.upper__KG +  1);
+      };
+    };
+    ((void **)Self__P5C->parent_arrayed_collection__HG.storage__OAC)[Self__P5C->parent_arrayed_collection__HG.upper__KG]=str__FJ;
+    Self__0N=(__INTEGER)(Self__0N +  1);
+  };
+  ARRAYED_COLLECTIONoExpanded_UINTEGER_32o__->capacity__Y2B= 0;
+  ARRAYED_COLLECTIONoExpanded_UINTEGER_32o__->storage__D3B=NULL;
+  ARRAYED_COLLECTIONoExpanded_UINTEGER_32o__->upper__R3B= 0;
+  FAST_ARRAYoExpanded_UINTEGER_32o__->parent_arrayed_collection__OC=(*ARRAYED_COLLECTIONoExpanded_UINTEGER_32o__);
+  primes__VC=NULL;
+  string_tmp__M2C=create__I5C( 32);
+  param__4= 0;
+  count__BB= 0;
+  n__EB= 0;
+  j__HB= 0;
+  if ((result__1Q->parent_arrayed_collection__HG.upper__KG ==  1)) {
+    Self__MKN=((__STRING *)((void **)((__FAST_ARRAYoSTRINGo *)result__1Q)->parent_arrayed_collection__HG.storage__OAC)[ 1]);
+    state__PKN= 0;
+    cc__QKN='\0';
+    negative__RKN=FALSE__;
+    result__SKN= 0;
+    i__OKN= 1;
+    __tmp__DOW=Self__MKN->count__EDE;
+    __tmp__EOW=Self__MKN->storage__X1H;
+    __tmp__FOW=Self__MKN->count__EDE;
+    while ((i__OKN <= __tmp__DOW)) {
+      cc__QKN=((__CHARACTER *)__tmp__EOW)[(__INTEGER)(i__OKN -  1)];
+      if ((state__PKN ==  0)) {
+        if ((((((((cc__QKN == ' ') || (cc__QKN == '\t')) || (cc__QKN == '\n')) || (cc__QKN == '\r')) || (cc__QKN == '\0')) || (cc__QKN == '\f')) || (cc__QKN == '\v'))) {
+          __tmp__4LN=TRUE__;
+        } else {
+          result__BIT=(cc__QKN == '+');
+          if (result__BIT) {
+            state__PKN= 1;
+          };
+          __tmp__4LN=result__BIT;
+        };
+        if ((! __tmp__4LN)) {
+          if ((cc__QKN == '-')) {
+            negative__RKN=TRUE__;
+            state__PKN= 1;
+          } else {
+            result__SKN=(__INTEGER)(((__INTEGER )((__INTEGER_8 )cc__QKN)) -  48);
+            state__PKN= 2;
+          };
+        };
+        __tmp__RMN=TRUE__;
+      } else {
+        __tmp__RMN=FALSE__;
+      };
+      if (__tmp__RMN) {
+        __tmp__GNN=TRUE__;
+      } else {
+        result__ZAS=(state__PKN ==  1);
+        if (result__ZAS) {
+          result__SKN=(__INTEGER)(((__INTEGER )((__INTEGER_8 )cc__QKN)) -  48);
+          if (negative__RKN) {
+            result__SKN=(__INTEGER)(- result__SKN);
+          };
+          state__PKN= 2;
+        };
+        __tmp__GNN=result__ZAS;
+      };
+      if (__tmp__GNN) {
+        __tmp__NON=TRUE__;
+      } else {
+        result__LBS=(state__PKN ==  2);
+        if (result__LBS) {
+          result__3QH=FALSE__;
+          if ((((__INTEGER_8 )cc__QKN) >= ((__INTEGER_8 )'0'))) {
+            result__3QH=(((__INTEGER_8 )cc__QKN) <= ((__INTEGER_8 )'9'));
+          };
+          if (result__3QH) {
+            if (negative__RKN) {
+              result__SKN=(__INTEGER)((__INTEGER)( 10 * result__SKN) - (__INTEGER)(((__INTEGER )((__INTEGER_8 )cc__QKN)) -  48));
+            } else {
+              result__SKN=(__INTEGER)((__INTEGER)( 10 * result__SKN) + (__INTEGER)(((__INTEGER )((__INTEGER_8 )cc__QKN)) -  48));
+            };
+          } else {
+            state__PKN= 3;
+          };
+        };
+        __tmp__NON=result__LBS;
+      };
+      if ((! __tmp__NON)) {
+        if ((state__PKN ==  3)) {
+          i__OKN=__tmp__FOW;
+        };
+      };
+      i__OKN=(__INTEGER)(i__OKN +  1);
+    };
+    param__4=((__UINTEGER_32 )result__SKN);
+  } else {
+    param__4= 1;
+  };
+  sz__1=((__UINTEGER_32 )(__INTEGER)( 10000 << ((__INTEGER )param__4)));
+  new_count__JI=((__INTEGER )(__UINTEGER_32)((__UINTEGER_32)(sz__1 >>  3) +  4));
+  result__TL=NULL;
+  ptr__UL=((__POINTER )(NULL));
+  typ_id__ZL= 0;
+  sz__WL=((__UINTEGER_32 )sizeof(__FAST_ARRAYoExpanded_UINTEGER_32o));
+  if ((sz__WL ==  0)) {
+    result__TL=FAST_ARRAYoExpanded_UINTEGER_32o__;
+  } else {
+    typ_id__ZL=__FAST_ARRAYoExpanded_UINTEGER_32o__;
+    clone_allocation_size__HM=(__UINTEGER_32)(clone_allocation_size__HM + sz__WL);
+    if ((typ_id__ZL == (__INTEGER)(-  1))) {
+      a__QKW=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__JW=(__UINTEGER_32)((__UINTEGER_32)(sz__WL + a__QKW) & (__UINTEGER_32)(~ a__QKW));
+      ptr_table__KSW=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__JW / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+      next__JSW=((__POINTER )(NULL));
+      result__LSW=((__POINTER *)ptr_table__KSW)[ 0];
+      if ((result__LSW == (void *)NULL)) {
+        result__LSW=new_lab__FLB(new_size__JW);
+        next__JSW=(void *)((unsigned long)result__LSW - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__JW)));
+        ((__POINTER *)next__JSW)[ 0]=NULL;
+        ((__POINTER *)ptr_table__KSW)[ 0]=next__JSW;
+      } else {
+        next__JSW=((__POINTER *)result__LSW)[ 0];
+        if ((next__JSW == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__LSW - (unsigned long)begin_memory__D4)))) &  4095) + (__UINTEGER_32)(new_size__JW <<  1)) <=  4096)) {
+            next__JSW=(void *)((unsigned long)result__LSW - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__JW)));
+          } else {
+            next__JSW=new_lab__FLB(new_size__JW);
+          };
+          ((__POINTER *)next__JSW)[ 0]=NULL;
+          ((__POINTER *)ptr_table__KSW)[ 0]=next__JSW;
+        } else {
+          ((__POINTER *)result__LSW)[ 0]=(void *)((unsigned long)((__POINTER *)next__JSW)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__LSW=next__JSW;
+        };
+      };
+      ptr__UL=result__LSW;
+    } else {
+      t__SX=((__UINTEGER_32 )typ_id__ZL);
+      a__WKW=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__TSW=(__UINTEGER_32)((__UINTEGER_32)(sz__WL + a__WKW) & (__UINTEGER_32)(~ a__WKW));
+      ptr_table__QSW=((__POINTER )(&(table_type[(t__SX)])));
+      lab_type__SSW=(__UINTEGER_32)(t__SX |  1);
+      next__PSW=((__POINTER )(NULL));
+      result__RSW=((__POINTER *)ptr_table__QSW)[ 0];
+      if ((result__RSW == (void *)NULL)) {
+        result__RSW=new_lab__FLB(lab_type__SSW);
+        next__PSW=(void *)((unsigned long)result__RSW - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__TSW)));
+        ((__POINTER *)next__PSW)[ 0]=NULL;
+        ((__POINTER *)ptr_table__QSW)[ 0]=next__PSW;
+      } else {
+        next__PSW=((__POINTER *)result__RSW)[ 0];
+        if ((next__PSW == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__RSW - (unsigned long)begin_memory__D4)))) &  4095) + (__UINTEGER_32)(new_size__TSW <<  1)) <=  4096)) {
+            next__PSW=(void *)((unsigned long)result__RSW - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__TSW)));
+          } else {
+            next__PSW=new_lab__FLB(lab_type__SSW);
+          };
+          ((__POINTER *)next__PSW)[ 0]=NULL;
+          ((__POINTER *)ptr_table__QSW)[ 0]=next__PSW;
+        } else {
+          ((__POINTER *)result__RSW)[ 0]=(void *)((unsigned long)((__POINTER *)next__PSW)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__RSW=next__PSW;
+        };
+      };
+      ptr__UL=result__RSW;
+    };
+    result__TL=((__FAST_ARRAYoExpanded_UINTEGER_32o *)ptr__UL);
+    *(result__TL) = *(FAST_ARRAYoExpanded_UINTEGER_32o__);
+  };
+  Self__O2B=((__FAST_ARRAYoExpanded_UINTEGER_32o *)result__TL);
+  if ((new_count__JI > Self__O2B->parent_arrayed_collection__OC.capacity__Y2B)) {
+    sz__HQW=((__UINTEGER_32 )(__INTEGER)(new_count__JI <<  2));
+    result__FQW=((__POINTER )(NULL));
+    a__GQW=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+    new_size__IQW=(__UINTEGER_32)((__UINTEGER_32)(sz__HQW + a__GQW) & (__UINTEGER_32)(~ a__GQW));
+    new_size2__JQW=(__UINTEGER_32)(new_size__IQW + ((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))));
+    if ((new_size2__JQW <= ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+      a__KQW=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__LQW=(__UINTEGER_32)((__UINTEGER_32)(new_size2__JQW + a__KQW) & (__UINTEGER_32)(~ a__KQW));
+      ptr_table__J2=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__LQW / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+      next__O2=((__POINTER )(NULL));
+      result__M2=((__POINTER *)ptr_table__J2)[ 0];
+      if ((result__M2 == (void *)NULL)) {
+        result__M2=new_lab__FLB(new_size__LQW);
+        next__O2=(void *)((unsigned long)result__M2 - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__LQW)));
+        ((__POINTER *)next__O2)[ 0]=NULL;
+        ((__POINTER *)ptr_table__J2)[ 0]=next__O2;
+      } else {
+        next__O2=((__POINTER *)result__M2)[ 0];
+        if ((next__O2 == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__M2 - (unsigned long)begin_memory__D4)))) &  4095) + (__UINTEGER_32)(new_size__LQW <<  1)) <=  4096)) {
+            next__O2=(void *)((unsigned long)result__M2 - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__LQW)));
+          } else {
+            next__O2=new_lab__FLB(new_size__LQW);
+          };
+          ((__POINTER *)next__O2)[ 0]=NULL;
+          ((__POINTER *)ptr_table__J2)[ 0]=next__O2;
+        } else {
+          ((__POINTER *)result__M2)[ 0]=(void *)((unsigned long)((__POINTER *)next__O2)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__M2=next__O2;
+        };
+      };
+      ((__POINTER *)result__M2)[ 0]=((__POINTER ) 3);
+      result__FQW=(void *)((unsigned long)result__M2 - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+    } else {
+      result__FQW=(void *)((unsigned long)((__POINTER )((__MEMORY *)search__YIF(new_size__IQW))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+    };
+    Result__YJD=((__UINTEGER_32 *)result__FQW);
+    Self__EPI=(__INTEGER)(new_count__JI -  1);
+    while ((Self__EPI >=  0)) {
+      Result__YJD[Self__EPI]= 0;
+      Self__EPI=(__INTEGER)(Self__EPI -  1);
+    };
+    Self__O2B->parent_arrayed_collection__OC.storage__D3B=Result__YJD;
+    Self__O2B->parent_arrayed_collection__OC.capacity__Y2B=new_count__JI;
+    __tmp__F3B=TRUE__;
+  } else {
+    __tmp__F3B=FALSE__;
+  };
+  if ((! __tmp__F3B)) {
+    if (((Self__O2B->parent_arrayed_collection__OC.capacity__Y2B >  0) && (Self__O2B->parent_arrayed_collection__OC.upper__R3B >=  0))) {
+      __tmp__33B=Self__O2B->parent_arrayed_collection__OC.storage__D3B;
+      __tmp__43B=Self__O2B->parent_arrayed_collection__OC.upper__R3B;
+      Self__JJK=((__UINTEGER_32 *)__tmp__33B);
+      Self__3CL= 0;
+      while ((Self__3CL <= __tmp__43B)) {
+        Self__JJK[Self__3CL]= 0;
+        Self__3CL=(__INTEGER)(Self__3CL +  1);
+      };
+    };
+  };
+  Self__O2B->parent_arrayed_collection__OC.upper__R3B=(__INTEGER)(new_count__JI -  1);
+  primes__VC=result__TL;
+  Self__PI= 0;
+  while ((Self__PI <=  2)) {
+    m__ZC=((__UINTEGER_32 )Self__PI);
+    count__BB= 0;
+    n__EB=(__UINTEGER_32)(sz__1 >> ((__INTEGER )m__ZC));
+    __tmp__1D=(__UINTEGER_32)((__UINTEGER_32)((__UINTEGER_32)(n__EB >>  3) +  4) >>  2);
+    Self__00C= 0;
+    limit_up__10C=((__INTEGER )__tmp__1D);
+    __tmp__ZQW=((__FAST_ARRAYoExpanded_UINTEGER_32o *)primes__VC)->parent_arrayed_collection__OC.storage__D3B;
+    while ((Self__00C <= limit_up__10C)) {
+      ((__UINTEGER_32 *)__tmp__ZQW)[Self__00C]=((__UINTEGER_32 )(__INTEGER)(~  0));
+      Self__00C=(__INTEGER)(Self__00C +  1);
+    };
+    Self__M1C= 2;
+    limit_up__N1C=((__INTEGER )n__EB);
+    __tmp__2QW=((__FAST_ARRAYoExpanded_UINTEGER_32o *)primes__VC)->parent_arrayed_collection__OC.storage__D3B;
+    __tmp__3QW=((__FAST_ARRAYoExpanded_UINTEGER_32o *)primes__VC)->parent_arrayed_collection__OC.storage__D3B;
+    __tmp__4QW=((__FAST_ARRAYoExpanded_UINTEGER_32o *)primes__VC)->parent_arrayed_collection__OC.storage__D3B;
+    __tmp__WSW=((__FAST_ARRAYoExpanded_UINTEGER_32o *)primes__VC)->parent_arrayed_collection__OC.storage__D3B;
+    while ((Self__M1C <= limit_up__N1C)) {
+      i__AE=((__UINTEGER_32 )Self__M1C);
+      if (((__UINTEGER_32)(((__UINTEGER_32 *)__tmp__2QW)[((__INTEGER )(__UINTEGER_32)(i__AE >>  5))] & ((__UINTEGER_32 )(__INTEGER)( 1 << ((__INTEGER )(__UINTEGER_32)(i__AE &  31))))) !=  0)) {
+        count__BB=(__UINTEGER_32)(count__BB +  1);
+        j__HB=(__UINTEGER_32)(i__AE + i__AE);
+        while ((j__HB <= n__EB)) {
+          if (((__UINTEGER_32)(((__UINTEGER_32 *)__tmp__3QW)[((__INTEGER )(__UINTEGER_32)(j__HB >>  5))] & ((__UINTEGER_32 )(__INTEGER)( 1 << ((__INTEGER )(__UINTEGER_32)(j__HB &  31))))) !=  0)) {
+            idx__MCM=(__UINTEGER_32)(j__HB >>  5);
+            ((__UINTEGER_32 *)__tmp__WSW)[((__INTEGER )idx__MCM)]=(__UINTEGER_32)(((__UINTEGER_32 *)__tmp__4QW)[((__INTEGER )idx__MCM)] ^ ((__UINTEGER_32 )(__INTEGER)( 1 << ((__INTEGER )(__UINTEGER_32)(j__HB &  31)))));
+          };
+          j__HB=(__UINTEGER_32)(j__HB + i__AE);
+        };
+      };
+      Self__M1C=(__INTEGER)(Self__M1C +  1);
+    };
+    print__31C((&__string_1));
+    print_format__J2C(n__EB);
+    fputc((int)(' '),stdout);
+    print_format__J2C(count__BB);
+    fputc((int)('\n'),stdout);
+    Self__PI=(__INTEGER)(Self__PI +  1);
+  };
+  return( 0);
+}
+
+static __POINTER new_lab__FLB(__UINTEGER_32 t__HLB)
+// ({UINTEGER_32}) With resultNo recursive, No inlinable.
+{
+  __UINTEGER_32 idx__JLB,pv__QLB;
+  __MEMORY *blc__MLB,*prev__NLB,*Self__E0V,*Self__NJW,*prev__OJW;
+  __MEMORY *next__PJW;
+  __POINTER result__OLB;
+  __BOOLEAN __tmp__QMB;
+  idx__JLB= 0;
+  blc__MLB=NULL;
+  prev__NLB=NULL;
+  pv__QLB= 0;
+  while_do__IQB:
+  {
+    if ((idx__JLB < nb_page__XLB)) {
+      blc__MLB=((__MEMORY *)(last_block[(idx__JLB)]));
+      __tmp__QMB=(((__UINTEGER_32)(((__MEMORY *)blc__MLB)->size_and_id__SM &  4294967292LU) <  4096) || ((__UINTEGER_32)(((__MEMORY *)blc__MLB)->size_and_id__SM &  1) ==  1));
+    } else {
+      __tmp__QMB=FALSE__;
+    };
+    if (__tmp__QMB) {
+      idx__JLB=(__UINTEGER_32)(idx__JLB +  1);
+      goto while_do__IQB;
+    };
+  };
+  if ((idx__JLB >= nb_page__XLB)) {
+    blc__MLB=new_page__UVC();
+  };
+  ((__MEMORY *)blc__MLB)->size_and_id__SM=(__UINTEGER_32)(blc__MLB->size_and_id__SM -  4096);
+  Self__E0V=((__MEMORY *)blc__MLB);
+  result__OLB=((__POINTER )((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__E0V) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__E0V->size_and_id__SM &  4294967292LU))))));
+  if (((__UINTEGER_32)(((__MEMORY *)blc__MLB)->size_and_id__SM &  4294967292LU) < ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+    Self__NJW=((__MEMORY *)blc__MLB);
+    prev__OJW=Self__NJW->previous_free__UM;
+    next__PJW=Self__NJW->next_free__TM;
+    if (((void *)prev__OJW == (void *)NULL)) {
+      first_free__1JF=next__PJW;
+    } else {
+      ((__MEMORY *)prev__OJW)->next_free__TM=next__PJW;
+    };
+    if (((void *)next__PJW != (void *)NULL)) {
+      ((__MEMORY *)next__PJW)->previous_free__UM=prev__OJW;
+    };
+    pv__QLB=blc__MLB->previous_linear__RM;
+    if ((pv__QLB !=  4294967295LU)) {
+      prev__NLB=((__MEMORY *)(void *)((unsigned long)begin_memory__D4 - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )pv__QLB))));
+      ((__MEMORY *)prev__NLB)->size_and_id__SM=(__UINTEGER_32)((__UINTEGER_32)(prev__NLB->size_and_id__SM + blc__MLB->size_and_id__SM) +  8);
+      last_block[(idx__JLB)] = (prev__NLB);
+    };
+  };
+  ((__POINTER *)result__OLB)[ 0]=((__POINTER )t__HLB);
+  return((void *)((unsigned long)result__OLB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *)))))));
+}
+
+static void** create__BTF(__INTEGER nb_elements__DTF)
+// ({INTEGER}) With resultNo recursive, No inlinable.
+{
+  __UINTEGER_32 sz__RQW,a__QQW,new_size__SQW,new_size2__TQW,a__UQW;
+  __UINTEGER_32 new_size__VQW;
+  __POINTER result__PQW,ptr_table__ARW,next__5QW,result__BRW;
+  __INTEGER Self__OFJ;
+  void **Result__ICG;
+  sz__RQW=((__UINTEGER_32 )(__INTEGER)(nb_elements__DTF * ((__INTEGER )(sizeof(void *)))));
+  result__PQW=((__POINTER )(NULL));
+  a__QQW=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+  new_size__SQW=(__UINTEGER_32)((__UINTEGER_32)(sz__RQW + a__QQW) & (__UINTEGER_32)(~ a__QQW));
+  new_size2__TQW=(__UINTEGER_32)(new_size__SQW + ((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))));
+  if ((new_size2__TQW <= ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+    a__UQW=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+    new_size__VQW=(__UINTEGER_32)((__UINTEGER_32)(new_size2__TQW + a__UQW) & (__UINTEGER_32)(~ a__UQW));
+    ptr_table__ARW=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__VQW / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+    next__5QW=((__POINTER )(NULL));
+    result__BRW=((__POINTER *)ptr_table__ARW)[ 0];
+    if ((result__BRW == (void *)NULL)) {
+      result__BRW=new_lab__FLB(new_size__VQW);
+      next__5QW=(void *)((unsigned long)result__BRW - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__VQW)));
+      ((__POINTER *)next__5QW)[ 0]=NULL;
+      ((__POINTER *)ptr_table__ARW)[ 0]=next__5QW;
+    } else {
+      next__5QW=((__POINTER *)result__BRW)[ 0];
+      if ((next__5QW == (void *)NULL)) {
+        if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__BRW - (unsigned long)begin_memory__D4)))) &  4095) + (__UINTEGER_32)(new_size__VQW <<  1)) <=  4096)) {
+          next__5QW=(void *)((unsigned long)result__BRW - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__VQW)));
+        } else {
+          next__5QW=new_lab__FLB(new_size__VQW);
+        };
+        ((__POINTER *)next__5QW)[ 0]=NULL;
+        ((__POINTER *)ptr_table__ARW)[ 0]=next__5QW;
+      } else {
+        ((__POINTER *)result__BRW)[ 0]=(void *)((unsigned long)((__POINTER *)next__5QW)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+        result__BRW=next__5QW;
+      };
+    };
+    ((__POINTER *)result__BRW)[ 0]=((__POINTER ) 3);
+    result__PQW=(void *)((unsigned long)result__BRW - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+  } else {
+    result__PQW=(void *)((unsigned long)((__POINTER )((__MEMORY *)search__YIF(new_size__SQW))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+  };
+  Result__ICG=((void **)result__PQW);
+  Self__OFJ=(__INTEGER)(nb_elements__DTF -  1);
+  while ((Self__OFJ >=  0)) {
+    Result__ICG[Self__OFJ]=NULL;
+    Self__OFJ=(__INTEGER)(Self__OFJ -  1);
+  };
+  return(Result__ICG);
+}
+
+static __STRING* create__I5C(__INTEGER needed_capacity__K5C)
+// ({INTEGER}) With resultNo recursive, No inlinable.
+{
+  __STRING *result__URD,*Self__50H;
+  __POINTER ptr__VRD,ptr_table__GRW,next__FRW,result__HRW;
+  __POINTER ptr_table__MRW,next__LRW,result__NRW;
+  __INTEGER typ_id__0RD;
+  __UINTEGER_32 sz__XRD,a__1KW,new_size__2KW,t__FLW,a__CLW;
+  __UINTEGER_32 new_size__PRW,lab_type__ORW;
+  result__URD=NULL;
+  ptr__VRD=((__POINTER )(NULL));
+  typ_id__0RD= 0;
+  sz__XRD=((__UINTEGER_32 )sizeof(__STRING));
+  if ((sz__XRD ==  0)) {
+    result__URD=STRING__;
+  } else {
+    typ_id__0RD=-1;
+    clone_allocation_size__HM=(__UINTEGER_32)(clone_allocation_size__HM + sz__XRD);
+    if ((typ_id__0RD == (__INTEGER)(-  1))) {
+      a__1KW=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__2KW=(__UINTEGER_32)((__UINTEGER_32)(sz__XRD + a__1KW) & (__UINTEGER_32)(~ a__1KW));
+      ptr_table__GRW=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__2KW / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+      next__FRW=((__POINTER )(NULL));
+      result__HRW=((__POINTER *)ptr_table__GRW)[ 0];
+      if ((result__HRW == (void *)NULL)) {
+        result__HRW=new_lab__FLB(new_size__2KW);
+        next__FRW=(void *)((unsigned long)result__HRW - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__2KW)));
+        ((__POINTER *)next__FRW)[ 0]=NULL;
+        ((__POINTER *)ptr_table__GRW)[ 0]=next__FRW;
+      } else {
+        next__FRW=((__POINTER *)result__HRW)[ 0];
+        if ((next__FRW == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__HRW - (unsigned long)begin_memory__D4)))) &  4095) + (__UINTEGER_32)(new_size__2KW <<  1)) <=  4096)) {
+            next__FRW=(void *)((unsigned long)result__HRW - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__2KW)));
+          } else {
+            next__FRW=new_lab__FLB(new_size__2KW);
+          };
+          ((__POINTER *)next__FRW)[ 0]=NULL;
+          ((__POINTER *)ptr_table__GRW)[ 0]=next__FRW;
+        } else {
+          ((__POINTER *)result__HRW)[ 0]=(void *)((unsigned long)((__POINTER *)next__FRW)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__HRW=next__FRW;
+        };
+      };
+      ptr__VRD=result__HRW;
+    } else {
+      t__FLW=((__UINTEGER_32 )typ_id__0RD);
+      a__CLW=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__PRW=(__UINTEGER_32)((__UINTEGER_32)(sz__XRD + a__CLW) & (__UINTEGER_32)(~ a__CLW));
+      ptr_table__MRW=((__POINTER )(&(table_type[(t__FLW)])));
+      lab_type__ORW=(__UINTEGER_32)(t__FLW |  1);
+      next__LRW=((__POINTER )(NULL));
+      result__NRW=((__POINTER *)ptr_table__MRW)[ 0];
+      if ((result__NRW == (void *)NULL)) {
+        result__NRW=new_lab__FLB(lab_type__ORW);
+        next__LRW=(void *)((unsigned long)result__NRW - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__PRW)));
+        ((__POINTER *)next__LRW)[ 0]=NULL;
+        ((__POINTER *)ptr_table__MRW)[ 0]=next__LRW;
+      } else {
+        next__LRW=((__POINTER *)result__NRW)[ 0];
+        if ((next__LRW == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__NRW - (unsigned long)begin_memory__D4)))) &  4095) + (__UINTEGER_32)(new_size__PRW <<  1)) <=  4096)) {
+            next__LRW=(void *)((unsigned long)result__NRW - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__PRW)));
+          } else {
+            next__LRW=new_lab__FLB(lab_type__ORW);
+          };
+          ((__POINTER *)next__LRW)[ 0]=NULL;
+          ((__POINTER *)ptr_table__MRW)[ 0]=next__LRW;
+        } else {
+          ((__POINTER *)result__NRW)[ 0]=(void *)((unsigned long)((__POINTER *)next__LRW)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__NRW=next__LRW;
+        };
+      };
+      ptr__VRD=result__NRW;
+    };
+    result__URD=((__STRING *)ptr__VRD);
+    *(result__URD) = *(STRING__);
+  };
+  Self__50H=((__STRING *)result__URD);
+  if ((needed_capacity__K5C >  0)) {
+    if ((Self__50H->capacity__O1H < needed_capacity__K5C)) {
+      Self__50H->storage__X1H=create__ZYL(needed_capacity__K5C);
+      Self__50H->capacity__O1H=needed_capacity__K5C;
+    };
+  };
+  Self__50H->count__EDE= 0;
+  return(result__URD);
+}
+
+static void add_last__PDJ(__STRING *Self__QDJ,__CHARACTER ch__RDJ)
+// ({STRING},{CHARACTER}) VoidNo recursive, No inlinable.
+{
+  __INTEGER new_capacity__SDJ,__tmp__LEJ,__tmp__UZN,Self__EDR;
+  __CHARACTER *__tmp__KEJ,*new__BZN;
+  new_capacity__SDJ= 0;
+  if ((Self__QDJ->capacity__O1H <= Self__QDJ->count__EDE)) {
+    if ((Self__QDJ->capacity__O1H ==  0)) {
+      Self__QDJ->capacity__O1H= 32;
+      Self__QDJ->storage__X1H=create__ZYL( 32);
+    } else {
+      new_capacity__SDJ=(__INTEGER)(Self__QDJ->capacity__O1H <<  1);
+      __tmp__KEJ=Self__QDJ->storage__X1H;
+      __tmp__LEJ=Self__QDJ->capacity__O1H;
+      new__BZN=((__CHARACTER *)realloc_dynamic__old_size__new_size__T1I(((__POINTER )((__CHARACTER *)__tmp__KEJ)),((__UINTEGER_32 )__tmp__LEJ),((__UINTEGER_32 )new_capacity__SDJ)));
+      __tmp__UZN=(__INTEGER)(new_capacity__SDJ -  1);
+      Self__EDR=__tmp__LEJ;
+      while ((Self__EDR <= __tmp__UZN)) {
+        new__BZN[Self__EDR]='\0';
+        Self__EDR=(__INTEGER)(Self__EDR +  1);
+      };
+      Self__QDJ->storage__X1H=new__BZN;
+      Self__QDJ->capacity__O1H=new_capacity__SDJ;
+    };
+  };
+  ((__CHARACTER *)Self__QDJ->storage__X1H)[Self__QDJ->count__EDE]=ch__RDJ;
+  Self__QDJ->count__EDE=(__INTEGER)(Self__QDJ->count__EDE +  1);
+}
+
+static __POINTER realloc_dynamic__old_size__new_size__T1I(__POINTER p__V1I,__UINTEGER_32 old_sz__W1I,__UINTEGER_32 new_sz__X1I)
+// ({POINTER},{UINTEGER_32},{UINTEGER_32}) With resultNo recursive, No inlinable.
+{
+  __MEMORY *mem__C2I,*Self__1KL,*nxt__5KL,*result__ALL,*next__MCN;
+  __MEMORY *new_free__LCN,*prev__4LW,*next__5LW;
+  __POINTER result__D2I,result__S2D,ptr_table__SRW,next__RRW;
+  __POINTER result__TRW,p__RJL,last__E5L,src__LIL,dst__MIL;
+  __UINTEGER_32 a__KLW,old_size__Z1I,old_size2__21I,a__OLW;
+  __UINTEGER_32 new_size__51I,a__K0,new_size__M2D,new_size2__P2D,a__GMW;
+  __UINTEGER_32 new_size__HMW,a__SLW,__tmp__U3I,sz__ELL,old_size__BLL;
+  __UINTEGER_32 prev__NCN,new_size__QCN;
+  __INTEGER siz__YSW,Self__3SW,siz__QIL,Self__X2L;
+  __POINTER *na_src__0SW,*na_dst__2SW,*na_src__OIL,*na_dst__PIL;
+  mem__C2I=NULL;
+  result__D2I=((__POINTER )(NULL));
+  a__KLW=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+  old_size__Z1I=(__UINTEGER_32)((__UINTEGER_32)(old_sz__W1I + a__KLW) & (__UINTEGER_32)(~ a__KLW));
+  old_size2__21I=(__UINTEGER_32)(old_size__Z1I + ((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))));
+  a__OLW=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+  new_size__51I=(__UINTEGER_32)((__UINTEGER_32)(new_sz__X1I + a__OLW) & (__UINTEGER_32)(~ a__OLW));
+  if ((old_size2__21I <= ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+    result__S2D=((__POINTER )(NULL));
+    a__K0=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+    new_size__M2D=(__UINTEGER_32)((__UINTEGER_32)(new_size__51I + a__K0) & (__UINTEGER_32)(~ a__K0));
+    new_size2__P2D=(__UINTEGER_32)(new_size__M2D + ((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))));
+    if ((new_size2__P2D <= ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+      a__GMW=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__HMW=(__UINTEGER_32)((__UINTEGER_32)(new_size2__P2D + a__GMW) & (__UINTEGER_32)(~ a__GMW));
+      ptr_table__SRW=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__HMW / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+      next__RRW=((__POINTER )(NULL));
+      result__TRW=((__POINTER *)ptr_table__SRW)[ 0];
+      if ((result__TRW == (void *)NULL)) {
+        result__TRW=new_lab__FLB(new_size__HMW);
+        next__RRW=(void *)((unsigned long)result__TRW - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__HMW)));
+        ((__POINTER *)next__RRW)[ 0]=NULL;
+        ((__POINTER *)ptr_table__SRW)[ 0]=next__RRW;
+      } else {
+        next__RRW=((__POINTER *)result__TRW)[ 0];
+        if ((next__RRW == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__TRW - (unsigned long)begin_memory__D4)))) &  4095) + (__UINTEGER_32)(new_size__HMW <<  1)) <=  4096)) {
+            next__RRW=(void *)((unsigned long)result__TRW - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__HMW)));
+          } else {
+            next__RRW=new_lab__FLB(new_size__HMW);
+          };
+          ((__POINTER *)next__RRW)[ 0]=NULL;
+          ((__POINTER *)ptr_table__SRW)[ 0]=next__RRW;
+        } else {
+          ((__POINTER *)result__TRW)[ 0]=(void *)((unsigned long)((__POINTER *)next__RRW)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__TRW=next__RRW;
+        };
+      };
+      ((__POINTER *)result__TRW)[ 0]=((__POINTER ) 3);
+      result__S2D=(void *)((unsigned long)result__TRW - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+    } else {
+      result__S2D=(void *)((unsigned long)((__POINTER )((__MEMORY *)search__YIF(new_size__M2D))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+    };
+    result__D2I=result__S2D;
+    siz__YSW=((__INTEGER )old_size__Z1I);
+    siz__YSW=(__INTEGER)(siz__YSW / ((__INTEGER )(sizeof(void *))));
+    na_src__0SW=((__POINTER *)p__V1I);
+    na_dst__2SW=((__POINTER *)result__S2D);
+    Self__3SW=(__INTEGER)(siz__YSW -  1);
+    while ((Self__3SW >=  0)) {
+      na_dst__2SW[Self__3SW]=na_src__0SW[Self__3SW];
+      Self__3SW=(__INTEGER)(Self__3SW -  1);
+    };
+    p__RJL=(void *)((unsigned long)p__V1I - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *)))));
+    a__SLW=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+    last__E5L=((__POINTER *)((__POINTER )(&(table_size[((__UINTEGER_32)((__UINTEGER_32)((__UINTEGER_32)(old_size2__21I + a__SLW) & (__UINTEGER_32)(~ a__SLW)) / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1]))))[ 0];
+    ((__POINTER *)p__RJL)[ 0]=(void *)((unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)(void *)((unsigned long)(void *)((unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER *)last__E5L)[ 0]) - (unsigned long)((__POINTER ) 1)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 3)) - (unsigned long)((__POINTER ) 1)))) - (unsigned long)((__POINTER ) 1));
+    ((__POINTER *)last__E5L)[ 0]=p__RJL;
+  } else {
+    mem__C2I=((__MEMORY *)(void *)((unsigned long)p__V1I - (unsigned long)((__POINTER ) 8)));
+    __tmp__U3I=(__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)p__V1I - (unsigned long)begin_memory__D4)))) >>  26);
+    Self__1KL=((__MEMORY *)mem__C2I);
+    nxt__5KL=NULL;
+    result__ALL=NULL;
+    sz__ELL= 0;
+    old_size__BLL=(__UINTEGER_32)(Self__1KL->size_and_id__SM &  4294967292LU);
+    if ((new_size__51I > old_size__BLL)) {
+      if ((! ((__UINTEGER_32)(Self__1KL->size_and_id__SM &  2) !=  0))) {
+        nxt__5KL=((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__1KL) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__1KL->size_and_id__SM &  4294967292LU)))));
+        sz__ELL=(__UINTEGER_32)((__UINTEGER_32)(new_size__51I - old_size__BLL) -  8);
+        if ((((__UINTEGER_32)(((__MEMORY *)nxt__5KL)->size_and_id__SM &  1) ==  0) && ((__UINTEGER_32)(((__MEMORY *)nxt__5KL)->size_and_id__SM &  4294967292LU) >= sz__ELL))) {
+          to_busy__index__1DI(nxt__5KL,sz__ELL,__tmp__U3I);
+          Self__1KL->size_and_id__SM=(__UINTEGER_32)((__UINTEGER_32)(Self__1KL->size_and_id__SM + (__UINTEGER_32)(nxt__5KL->size_and_id__SM &  4294967294LU)) +  8);
+          if (((__UINTEGER_32)(Self__1KL->size_and_id__SM &  2) !=  0)) {
+            last_block[(__tmp__U3I)] = (Self__1KL);
+          } else {
+            nxt__5KL=((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__1KL) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__1KL->size_and_id__SM &  4294967292LU)))));
+            ((__MEMORY *)nxt__5KL)->previous_linear__RM=((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )Self__1KL) - (unsigned long)begin_memory__D4))));
+          };
+          result__ALL=Self__1KL;
+        };
+      };
+      if (((void *)result__ALL == (void *)NULL)) {
+        result__ALL=search__YIF(new_size__51I);
+        src__LIL=(void *)((unsigned long)((__POINTER )Self__1KL) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+        dst__MIL=(void *)((unsigned long)((__POINTER )((__MEMORY *)result__ALL)) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+        siz__QIL=((__INTEGER )old_size__BLL);
+        siz__QIL=(__INTEGER)(siz__QIL / ((__INTEGER )(sizeof(void *))));
+        na_src__OIL=((__POINTER *)src__LIL);
+        na_dst__PIL=((__POINTER *)dst__MIL);
+        Self__X2L=(__INTEGER)(siz__QIL -  1);
+        while ((Self__X2L >=  0)) {
+          na_dst__PIL[Self__X2L]=na_src__OIL[Self__X2L];
+          Self__X2L=(__INTEGER)(Self__X2L -  1);
+        };
+        prev__NCN=Self__1KL->previous_linear__RM;
+        next__MCN=((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__1KL) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__1KL->size_and_id__SM &  4294967292LU)))));
+        new_free__LCN=((__MEMORY *)(void *)((unsigned long)begin_memory__D4 - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )prev__NCN))));
+        new_size__QCN=(__UINTEGER_32)(Self__1KL->size_and_id__SM &  4294967294LU);
+        if (((prev__NCN ==  4294967295LU) || ((__UINTEGER_32)(new_free__LCN->size_and_id__SM &  1) !=  0))) {
+          new_free__LCN=Self__1KL;
+          Self__1KL->next_free__TM=first_free__1JF;
+          Self__1KL->previous_free__UM=NULL;
+          if (((void *)first_free__1JF != (void *)NULL)) {
+            ((__MEMORY *)first_free__1JF)->previous_free__UM=Self__1KL;
+          };
+          first_free__1JF=Self__1KL;
+        } else {
+          new_size__QCN=(__UINTEGER_32)((__UINTEGER_32)(new_size__QCN + new_free__LCN->size_and_id__SM) +  8);
+        };
+        if (((! ((__UINTEGER_32)(Self__1KL->size_and_id__SM &  2) !=  0)) && ((__UINTEGER_32)(next__MCN->size_and_id__SM &  1) ==  0))) {
+          new_size__QCN=(__UINTEGER_32)((__UINTEGER_32)(new_size__QCN + next__MCN->size_and_id__SM) +  8);
+          prev__4LW=next__MCN->previous_free__UM;
+          next__5LW=next__MCN->next_free__TM;
+          if (((void *)prev__4LW == (void *)NULL)) {
+            first_free__1JF=next__5LW;
+          } else {
+            ((__MEMORY *)prev__4LW)->next_free__TM=next__5LW;
+          };
+          if (((void *)next__5LW != (void *)NULL)) {
+            ((__MEMORY *)next__5LW)->previous_free__UM=prev__4LW;
+          };
+        };
+        new_free__LCN->size_and_id__SM=new_size__QCN;
+        if (((__UINTEGER_32)(new_free__LCN->size_and_id__SM &  2) !=  0)) {
+          last_block[(__tmp__U3I)] = (new_free__LCN);
+        } else {
+          next__MCN=((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__1KL) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__1KL->size_and_id__SM &  4294967292LU)))));
+          next__MCN->previous_linear__RM=((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )new_free__LCN) - (unsigned long)begin_memory__D4))));
+        };
+      };
+    } else {
+      result__ALL=Self__1KL;
+    };
+    result__D2I=(void *)((unsigned long)((__POINTER )((__MEMORY *)result__ALL)) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+  };
+  return(result__D2I);
+}
+
+static __MEMORY* search__YIF(__UINTEGER_32 new_size__0IF)
+// ({UINTEGER_32}) With resultNo recursive, No inlinable.
+{
+  __MEMORY *result__2IF;
+  result__2IF=first_free__1JF;
+  while ((((void *)result__2IF != (void *)NULL) && ((__UINTEGER_32)(((__MEMORY *)result__2IF)->size_and_id__SM &  4294967292LU) < new_size__0IF))) {
+    result__2IF=result__2IF->next_free__TM;
+  };
+  if (((void *)result__2IF == (void *)NULL)) {
+    result__2IF=new_page__UVC();
+  };
+  to_busy__index__1DI(result__2IF,new_size__0IF,(__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )((__MEMORY *)result__2IF)) - (unsigned long)begin_memory__D4)))) >>  26));
+  return(result__2IF);
+}
+
+static void print__31C(__STRING_CONSTANT *Self__41C)
+// ({STRING_CONSTANT}) VoidRecursive, No inlinable.
+{
+  put_string__VMD(Self__41C);
+}
+
+static void print_format__J2C(__UINTEGER_32 Self__K2C)
+// ({UINTEGER_32}) VoidNo recursive, No inlinable.
+{
+  __INTEGER old_count__JDE,i__1VE,j__2VE,__tmp__PDE,Self__ZUI,i__YZL;
+  __UINTEGER_32 val__YVE;
+  __STRING *Self__C0K,*Self__Q3H;
+  __CHARACTER tmp__F0K;
+  __CHARACTER *__tmp__WPW,*__tmp__XPW;
+  ((__STRING *)string_tmp__M2C)->count__EDE= 0;
+  old_count__JDE=((__STRING *)string_tmp__M2C)->count__EDE;
+  val__YVE= 0;
+  i__1VE= 0;
+  j__2VE= 0;
+  if ((Self__K2C ==  0)) {
+    add_last__PDJ(((__STRING *)string_tmp__M2C),'0');
+  } else {
+    i__1VE=(__INTEGER)(((__STRING *)string_tmp__M2C)->count__EDE +  1);
+    val__YVE=Self__K2C;
+    while ((val__YVE !=  0)) {
+      add_last__PDJ(((__STRING *)string_tmp__M2C),((__CHARACTER )(((__INTEGER_8)(((__INTEGER_8 )(__UINTEGER_32)(val__YVE %  10)) + ((__INTEGER_8 )'0'))))));
+      val__YVE=(__UINTEGER_32)(val__YVE /  10);
+    };
+    j__2VE=((__STRING *)string_tmp__M2C)->count__EDE;
+    while ((i__1VE < j__2VE)) {
+      Self__C0K=((__STRING *)string_tmp__M2C);
+      tmp__F0K=((__CHARACTER *)Self__C0K->storage__X1H)[(__INTEGER)(i__1VE -  1)];
+      ((__CHARACTER *)Self__C0K->storage__X1H)[(__INTEGER)(i__1VE -  1)]=((__CHARACTER *)Self__C0K->storage__X1H)[(__INTEGER)(j__2VE -  1)];
+      ((__CHARACTER *)Self__C0K->storage__X1H)[(__INTEGER)(j__2VE -  1)]=tmp__F0K;
+      j__2VE=(__INTEGER)(j__2VE -  1);
+      i__1VE=(__INTEGER)(i__1VE +  1);
+    };
+  };
+  __tmp__PDE=(__UINTEGER_32)( 8 - (__INTEGER)(((__STRING *)string_tmp__M2C)->count__EDE - old_count__JDE));
+  Self__Q3H=((__STRING *)string_tmp__M2C);
+  Self__ZUI= 1;
+  while ((Self__ZUI <= __tmp__PDE)) {
+    i__YZL=Self__Q3H->count__EDE;
+    add_last__PDJ(Self__Q3H,' ');
+    __tmp__WPW=Self__Q3H->storage__X1H;
+    __tmp__XPW=Self__Q3H->storage__X1H;
+    while ((i__YZL != old_count__JDE)) {
+      ((__CHARACTER *)__tmp__XPW)[(__INTEGER)((__INTEGER)(i__YZL +  1) -  1)]=((__CHARACTER *)__tmp__WPW)[(__INTEGER)(i__YZL -  1)];
+      i__YZL=(__INTEGER)(i__YZL -  1);
+    };
+    ((__CHARACTER *)Self__Q3H->storage__X1H)[(__INTEGER)((__INTEGER)(old_count__JDE +  1) -  1)]=' ';
+    Self__ZUI=(__INTEGER)(Self__ZUI +  1);
+  };
+  put_string__VMD(((__STRING *)string_tmp__M2C));
+}
+
+static __MEMORY* new_page__UVC()
+// () With resultNo recursive, No inlinable.
+{
+  __POINTER mem__YLE;
+  __UINTEGER_32 cap__VLE,old_size__XVC;
+  __MEMORY *block__3VC;
+  if ((capacity_max__4VC ==  0)) {
+    mem__YLE=((__POINTER )(NULL));
+    cap__VLE= 33554432;
+    do {
+      cap__VLE=(__UINTEGER_32)(cap__VLE <<  1);
+      mem__YLE=((__POINTER )(malloc((cap__VLE))));
+      if ((mem__YLE != (void *)NULL)) {
+        free((mem__YLE));
+      };
+    } while ((! ((mem__YLE == (void *)NULL) || (cap__VLE ==  2147483648LU))));
+    if ((mem__YLE == (void *)NULL)) {
+      cap__VLE=(__UINTEGER_32)(cap__VLE >>  1);
+    };
+    capacity_max__4VC=cap__VLE;
+    begin_memory__D4=((__POINTER )(malloc((cap__VLE))));
+  };
+  old_size__XVC=(__UINTEGER_32)(nb_page__XLB <<  26);
+  nb_page__XLB=(__UINTEGER_32)(nb_page__XLB +  1);
+  if (((__UINTEGER_32)(old_size__XVC +  67108864) > capacity_max__4VC)) {
+    print__31C((&__string_2));
+    exit(( 1));
+  };
+  block__3VC=((__MEMORY *)(void *)((unsigned long)begin_memory__D4 - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )old_size__XVC))));
+  block__3VC->previous_linear__RM= 4294967295LU;
+  block__3VC->size_and_id__SM= 67108858;
+  block__3VC->next_free__TM=first_free__1JF;
+  block__3VC->previous_free__UM=NULL;
+  if (((void *)first_free__1JF != (void *)NULL)) {
+    ((__MEMORY *)first_free__1JF)->previous_free__UM=block__3VC;
+  };
+  first_free__1JF=block__3VC;
+  last_block[((__UINTEGER_32)(nb_page__XLB -  1))] = (block__3VC);
+  return(block__3VC);
+}
+
+static __CHARACTER* create__ZYL(__INTEGER nb_elements__1YL)
+// ({INTEGER}) With resultNo recursive, No inlinable.
+{
+  __UINTEGER_32 sz__3PW,a__2PW,new_size__4PW,new_size2__5PW,a__AQW;
+  __UINTEGER_32 new_size__BQW;
+  __POINTER result__1PW,ptr_table__YRW,next__XRW,result__ZRW;
+  __INTEGER Self__MCO;
+  __CHARACTER *Result__MJM;
+  sz__3PW=((__UINTEGER_32 )nb_elements__1YL);
+  result__1PW=((__POINTER )(NULL));
+  a__2PW=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+  new_size__4PW=(__UINTEGER_32)((__UINTEGER_32)(sz__3PW + a__2PW) & (__UINTEGER_32)(~ a__2PW));
+  new_size2__5PW=(__UINTEGER_32)(new_size__4PW + ((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))));
+  if ((new_size2__5PW <= ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+    a__AQW=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+    new_size__BQW=(__UINTEGER_32)((__UINTEGER_32)(new_size2__5PW + a__AQW) & (__UINTEGER_32)(~ a__AQW));
+    ptr_table__YRW=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__BQW / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+    next__XRW=((__POINTER )(NULL));
+    result__ZRW=((__POINTER *)ptr_table__YRW)[ 0];
+    if ((result__ZRW == (void *)NULL)) {
+      result__ZRW=new_lab__FLB(new_size__BQW);
+      next__XRW=(void *)((unsigned long)result__ZRW - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__BQW)));
+      ((__POINTER *)next__XRW)[ 0]=NULL;
+      ((__POINTER *)ptr_table__YRW)[ 0]=next__XRW;
+    } else {
+      next__XRW=((__POINTER *)result__ZRW)[ 0];
+      if ((next__XRW == (void *)NULL)) {
+        if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__ZRW - (unsigned long)begin_memory__D4)))) &  4095) + (__UINTEGER_32)(new_size__BQW <<  1)) <=  4096)) {
+          next__XRW=(void *)((unsigned long)result__ZRW - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__BQW)));
+        } else {
+          next__XRW=new_lab__FLB(new_size__BQW);
+        };
+        ((__POINTER *)next__XRW)[ 0]=NULL;
+        ((__POINTER *)ptr_table__YRW)[ 0]=next__XRW;
+      } else {
+        ((__POINTER *)result__ZRW)[ 0]=(void *)((unsigned long)((__POINTER *)next__XRW)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+        result__ZRW=next__XRW;
+      };
+    };
+    ((__POINTER *)result__ZRW)[ 0]=((__POINTER ) 3);
+    result__1PW=(void *)((unsigned long)result__ZRW - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+  } else {
+    result__1PW=(void *)((unsigned long)((__POINTER )((__MEMORY *)search__YIF(new_size__4PW))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+  };
+  Result__MJM=((__CHARACTER *)result__1PW);
+  Self__MCO=(__INTEGER)(nb_elements__1YL -  1);
+  while ((Self__MCO >=  0)) {
+    Result__MJM[Self__MCO]='\0';
+    Self__MCO=(__INTEGER)(Self__MCO -  1);
+  };
+  return(Result__MJM);
+}
+
+static void to_busy__index__1DI(__MEMORY *Self__2DI,__UINTEGER_32 sz__3DI,__UINTEGER_32 idx__4DI)
+// ({MEMORY},{UINTEGER_32},{UINTEGER_32}) VoidNo recursive, No inlinable.
+{
+  __MEMORY *new__FEI,*prev__LAJ,*next__MAJ,*Self__PZH,*Self__AUV;
+  __UINTEGER_32 siz__5DI,new_size__CEI;
+  new__FEI=NULL;
+  prev__LAJ=Self__2DI->previous_free__UM;
+  next__MAJ=Self__2DI->next_free__TM;
+  if (((void *)prev__LAJ == (void *)NULL)) {
+    first_free__1JF=next__MAJ;
+  } else {
+    ((__MEMORY *)prev__LAJ)->next_free__TM=next__MAJ;
+  };
+  if (((void *)next__MAJ != (void *)NULL)) {
+    ((__MEMORY *)next__MAJ)->previous_free__UM=prev__LAJ;
+  };
+  siz__5DI=Self__2DI->size_and_id__SM;
+  new_size__CEI=(__UINTEGER_32)(siz__5DI - sz__3DI);
+  if ((new_size__CEI > (__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )(MINIMUM_SIZE)) +  2) +  8))) {
+    siz__5DI=sz__3DI;
+    new__FEI=((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__2DI) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )sz__3DI))));
+    ((__MEMORY *)new__FEI)->previous_linear__RM=((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )Self__2DI) - (unsigned long)begin_memory__D4))));
+    ((__MEMORY *)new__FEI)->size_and_id__SM=(__UINTEGER_32)(new_size__CEI -  8);
+    Self__PZH=((__MEMORY *)new__FEI);
+    Self__PZH->next_free__TM=first_free__1JF;
+    Self__PZH->previous_free__UM=NULL;
+    if (((void *)first_free__1JF != (void *)NULL)) {
+      ((__MEMORY *)first_free__1JF)->previous_free__UM=Self__PZH;
+    };
+    first_free__1JF=Self__PZH;
+    if (((__UINTEGER_32)(((__MEMORY *)new__FEI)->size_and_id__SM &  2) !=  0)) {
+      last_block[(idx__4DI)] = (new__FEI);
+    } else {
+      Self__AUV=((__MEMORY *)new__FEI);
+      ((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__AUV) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__AUV->size_and_id__SM &  4294967292LU)))))->previous_linear__RM=((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )((__MEMORY *)new__FEI)) - (unsigned long)begin_memory__D4))));
+    };
+  };
+  Self__2DI->size_and_id__SM=(__UINTEGER_32)(siz__5DI |  1);
+}
+
+static void put_string__VMD(void *s__XMD)
+// ({STRING_CONSTANTxSTRING}) VoidNo recursive, No inlinable.
+{
+  __INTEGER __tmp__KND,Self__ECE,limit_up__FCE;
+  __CHARACTER *__tmp__FNW,*__tmp__GNW;
+  __CHARACTER __tmp__RND;
+  if (((struct ___OBJ *)s__XMD)->__id==__STRING_CONSTANT__) {
+  };
+  if (((struct ___OBJ *)s__XMD)->__id==__STRING_CONSTANT__) {
+    __tmp__KND=((__STRING_CONSTANT *)s__XMD)->count__5BE;
+  } else {
+    __tmp__KND=((__STRING *)s__XMD)->count__EDE;
+  };
+  Self__ECE= 1;
+  limit_up__FCE=__tmp__KND;
+  __tmp__FNW=((__STRING_CONSTANT *)s__XMD)->storage__L5F;
+  __tmp__GNW=((__STRING *)s__XMD)->storage__X1H;
+  while ((Self__ECE <= limit_up__FCE)) {
+    if (((struct ___OBJ *)s__XMD)->__id==__STRING_CONSTANT__) {
+      __tmp__RND=((__CHARACTER *)__tmp__FNW)[(__INTEGER)(Self__ECE -  1)];
+    } else {
+      __tmp__RND=((__CHARACTER *)__tmp__GNW)[(__INTEGER)(Self__ECE -  1)];
+    };
+    fputc((int)(__tmp__RND),stdout);
+    Self__ECE=(__INTEGER)(Self__ECE +  1);
+  };
+}
+
+//==========================//
+// DEBUG MANAGER            //
+//==========================//
+
+void print_string(char *str) 
+{ 
+  while (*str!=0) {
+    print_char(*str); 
+    str++; 
+  };
+}  
+
diff --git a/example/shootout/nsieve-bits/nsieve_bits_tst b/example/shootout/nsieve-bits/nsieve_bits_tst
index 00bc092..8718251 100755
--- a/example/shootout/nsieve-bits/nsieve_bits_tst
+++ b/example/shootout/nsieve-bits/nsieve_bits_tst
@@ -1,18 +1,7 @@
 lisaac nsieve_bits  -O 
 gcc nsieve_bits_c.c -o nsieve_bits_c -O3  
-echo Lisaac 9 : 
-time ./nsieve_bits 9 > out_li.txt
-echo C:
-time ./nsieve_bits_c 9 > out_c.txt
-diff out_li.txt out_c.txt
-echo Lisaac 10:
-time ./nsieve_bits 10 > out_li.txt
-echo C:
-time ./nsieve_bits_c 10 > out_c.txt
-diff out_li.txt out_c.txt
-echo Lisaac 11:
+echo Lisaac: 
 time ./nsieve_bits 11 > out_li.txt
 echo C:
 time ./nsieve_bits_c 11 > out_c.txt
 diff out_li.txt out_c.txt
-
diff --git a/example/shootout/nsieve/nsieve.c b/example/shootout/nsieve/nsieve.c
new file mode 100755
index 0000000..6917ee2
--- /dev/null
+++ b/example/shootout/nsieve/nsieve.c
@@ -0,0 +1,1162 @@
+// C code generated by Lisaac compiler (www.isaacOS.com) //
+int arg_count;
+char **arg_vector;
+
+//==========================//
+// EXTERNAL                 //
+//==========================//
+
+// MEMORY
+
+#define MINIMUM_SIZE 256  
+void *table_size[MINIMUM_SIZE/sizeof(void *)];
+void *last_block[64];
+
+// FLOAT_REAL
+#include <math.h>
+// SYSTEM_IO
+
+#include <stdio.h>
+#include <stdlib.h>
+  
+// Hardware 'print_char'
+void print_char(char car)
+{
+  fputc(car,stdout);
+}
+
+// Hardware 'exit'
+int die_with_code(int code)
+{
+  exit(code);
+}
+
+
+// SYSTEM
+#include <time.h>
+
+//==========================//
+// TYPE                     //
+//==========================//
+
+// Generic Object
+struct ___OBJ {
+  unsigned long __id;
+};
+
+// NULL
+#ifndef NULL
+#define NULL ((void *)0)
+#endif
+
+// POINTER
+typedef void * __POINTER;
+
+// UINTEGER_32
+typedef unsigned long __UINTEGER_32;
+
+// INTEGER
+typedef int __INTEGER;
+
+// CHARACTER
+typedef char __CHARACTER;
+
+// STRING
+#define __STRING__ 4
+typedef struct STRING_struct __STRING;
+struct STRING_struct {
+  unsigned long __id;
+  __INTEGER count__NT;
+  __INTEGER capacity__G3C;
+  __CHARACTER *storage__X3C;
+};
+__STRING STRING_={__STRING__};
+#define STRING__ (&STRING_)
+
+// MEMORY
+#define __MEMORY__ 0
+typedef struct MEMORY_struct __MEMORY;
+struct MEMORY_struct {
+  volatile __UINTEGER_32 previous_linear__UC;
+  volatile __UINTEGER_32 size_and_id__VC;
+  __MEMORY *next_free__WC;
+  __MEMORY *previous_free__XC;
+} __attribute__ ((packed));
+__MEMORY MEMORY_;
+#define MEMORY__ (&MEMORY_)
+
+// STRING_CONSTANT
+#define __STRING_CONSTANT__ 5
+typedef struct STRING_CONSTANT_struct __STRING_CONSTANT;
+struct STRING_CONSTANT_struct {
+  unsigned long __id;
+  __INTEGER count__H1;
+  __CHARACTER *storage__1PE;
+};
+__STRING_CONSTANT STRING_CONSTANT_={__STRING_CONSTANT__};
+#define STRING_CONSTANT__ (&STRING_CONSTANT_)
+
+// ARRAYED_COLLECTION[STRING]
+#define __ARRAYED_COLLECTIONoSTRINGo__ 1
+typedef struct ARRAYED_COLLECTIONoSTRINGo_struct __ARRAYED_COLLECTIONoSTRINGo;
+struct ARRAYED_COLLECTIONoSTRINGo_struct {
+  __INTEGER capacity__AAD;
+  __INTEGER upper__MAD;
+  void **storage__E2C;
+};
+__ARRAYED_COLLECTIONoSTRINGo ARRAYED_COLLECTIONoSTRINGo_;
+#define ARRAYED_COLLECTIONoSTRINGo__ (&ARRAYED_COLLECTIONoSTRINGo_)
+
+// FAST_ARRAY[STRING]
+#define __FAST_ARRAYoSTRINGo__ 2
+typedef struct FAST_ARRAYoSTRINGo_struct __FAST_ARRAYoSTRINGo;
+struct FAST_ARRAYoSTRINGo_struct {
+  __ARRAYED_COLLECTIONoSTRINGo parent_arrayed_collection__SB;
+};
+__FAST_ARRAYoSTRINGo FAST_ARRAYoSTRINGo_;
+#define FAST_ARRAYoSTRINGo__ (&FAST_ARRAYoSTRINGo_)
+
+// NUMERIC
+#define __NUMERIC__ 3
+typedef struct NUMERIC_struct __NUMERIC;
+struct NUMERIC_struct {
+  void *Nothing;
+};
+__NUMERIC NUMERIC_;
+#define NUMERIC__ (&NUMERIC_)
+
+// OBJECT
+#define __OBJECT__ 4
+typedef struct OBJECT_struct __OBJECT;
+struct OBJECT_struct {
+  void *Nothing;
+};
+__OBJECT OBJECT_;
+#define OBJECT__ (&OBJECT_)
+
+// TRUE
+#define TRUE__ 1
+
+// FALSE
+#define FALSE__ 0
+
+// NSIEVE
+#define __NSIEVE__ 5
+typedef struct NSIEVE_struct __NSIEVE;
+struct NSIEVE_struct {
+  void *Nothing;
+};
+__NSIEVE NSIEVE_;
+#define NSIEVE__ (&NSIEVE_)
+
+// INTEGER_8
+typedef signed char __INTEGER_8;
+
+// BOOLEAN
+typedef char __BOOLEAN;
+
+// INTEGER_32
+typedef signed long __INTEGER_32;
+
+
+void *table_type[6];
+
+//==========================//
+// GLOBAL                   //
+//==========================//
+
+void *parent_numeric__H;
+__POINTER begin_memory__CVB;
+__UINTEGER_32 nb_page__HBC;
+__MEMORY *first_free__11D;
+__UINTEGER_32 capacity_max__GCE;
+__UINTEGER_32 clone_allocation_size__BV;
+__BOOLEAN *flags__HB;
+void *string_tmp__RE;
+
+//==========================//
+// STRING CONSTANT          //
+//==========================//
+
+__STRING_CONSTANT __string_1={__STRING_CONSTANT__,13,"Primes up to "};
+__STRING_CONSTANT __string_2={__STRING_CONSTANT__,19,"Not enough memory.\n"};
+
+//==========================//
+// FUNCTION HEADER          //
+//==========================//
+
+// Debug Manager
+void print_string(char *str);
+// Source code
+static __POINTER new_lab__VAC(__UINTEGER_32 t__XAC);
+static void** create__GQH(__INTEGER nb_elements__IQH);
+static __STRING* create__WS(__INTEGER needed_capacity__YS);
+static void add_last__C3C(__STRING *Self__D3C,__CHARACTER ch__E3C);
+static __POINTER realloc_dynamic__old_size__new_size__5FJ(__POINTER p__BGJ,__UINTEGER_32 old_sz__CGJ,__UINTEGER_32 new_sz__DGJ);
+static __MEMORY* search__Y0D(__UINTEGER_32 new_size__00D);
+static void primes__CD(__INTEGER m__ED);
+static __MEMORY* new_page__2BE();
+static __CHARACTER* create__0VF(__INTEGER nb_elements__2VF);
+static void to_busy__index__0KI(__MEMORY *Self__1KI,__UINTEGER_32 sz__2KI,__UINTEGER_32 idx__3KI);
+static void print__RL(__STRING_CONSTANT *Self__SL);
+static void append_in__format__2L(__INTEGER Self__3L,void *str__4L);
+static void put_string__XR(void *s__ZR);
+
+//==========================//
+// SOURCE CODE              //
+//==========================//
+
+int main(int argc,char **argv)
+{
+  void *str__5E;
+  __INTEGER new_count__HM,typ_id__TU,Self__OM,limit_up__PM,idx__CJE;
+  __INTEGER i__VKE,new_capacity__PLE,__tmp__TME,__tmp__PWI,Self__3DN;
+  __INTEGER state__DPM,result__GPM,i__CPM,__tmp__GZT,__tmp__IZT,m__0;
+  __POINTER ptr__OU,ptr_table__H2T,next__G2T,result__I2T,ptr_table__N2T;
+  __POINTER next__M2T,result__O2T,result__U0T,ptr_table__ITB,next__NTB;
+  __POINTER result__LTB;
+  __UINTEGER_32 sz__QU,a__0VT,new_size__VNB,t__4OB,a__AWT,new_size__Q2T;
+  __UINTEGER_32 lab_type__P2T,sz__W0T,a__V0T,new_size__X0T;
+  __UINTEGER_32 new_size2__Y0T,a__Z0T,new_size__00T;
+  __STRING *Self__TKE,*Self__APM;
+  __CHARACTER *arg__4E,*Self__WIE,*p__UKE,*__tmp__HZT;
+  __FAST_ARRAYoSTRINGo *result__NU,*Self__X5C,*Self__NLE;
+  void *result__3E;
+  __BOOLEAN __tmp__3LE,negative__FPM,__tmp__SQM,result__DER,__tmp__FRM;
+  __BOOLEAN __tmp__0RM,result__DKQ,__tmp__BTM,result__VKQ,result__BUH;
+  void **__tmp__SME,**new__2VI;
+  __CHARACTER cc__EPM;
+  arg_count  = argc;
+  arg_vector = argv;
+  ARRAYED_COLLECTIONoSTRINGo__->storage__E2C=NULL;
+  ARRAYED_COLLECTIONoSTRINGo__->capacity__AAD= 0;
+  ARRAYED_COLLECTIONoSTRINGo__->upper__MAD= 0;
+  FAST_ARRAYoSTRINGo__->parent_arrayed_collection__SB=(*ARRAYED_COLLECTIONoSTRINGo__);
+  parent_numeric__H=NUMERIC__;
+  clone_allocation_size__BV= 0;
+  STRING_CONSTANT__->count__H1=((__INTEGER )((0)));
+  STRING__->count__NT= 0;
+  STRING_CONSTANT__->storage__1PE=((__CHARACTER *)(NULL));
+  STRING__->storage__X3C=NULL;
+  nb_page__HBC= 0;
+  MEMORY__->size_and_id__VC= 0;
+  capacity_max__GCE= 0;
+  begin_memory__CVB=((__POINTER )(NULL));
+  MEMORY__->previous_linear__UC= 0;
+  first_free__11D=NULL;
+  MEMORY__->next_free__WC=NULL;
+  MEMORY__->previous_free__XC=NULL;
+  STRING__->capacity__G3C= 0;
+  arg__4E=NULL;
+  str__5E=NULL;
+  new_count__HM=((__INTEGER )(arg_count));
+  result__NU=NULL;
+  ptr__OU=((__POINTER )(NULL));
+  typ_id__TU= 0;
+  sz__QU=((__UINTEGER_32 )sizeof(__FAST_ARRAYoSTRINGo));
+  if ((sz__QU ==  0)) {
+    result__NU=FAST_ARRAYoSTRINGo__;
+  } else {
+    typ_id__TU=__FAST_ARRAYoSTRINGo__;
+    clone_allocation_size__BV=sz__QU;
+    if ((typ_id__TU == (__INTEGER)(-  1))) {
+      a__0VT=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__VNB=(__UINTEGER_32)((__UINTEGER_32)(sz__QU + a__0VT) & (__UINTEGER_32)(~ a__0VT));
+      ptr_table__H2T=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__VNB / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+      next__G2T=((__POINTER )(NULL));
+      result__I2T=((__POINTER *)ptr_table__H2T)[ 0];
+      if ((result__I2T == (void *)NULL)) {
+        result__I2T=new_lab__VAC(new_size__VNB);
+        next__G2T=(void *)((unsigned long)result__I2T - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__VNB)));
+        ((__POINTER *)next__G2T)[ 0]=NULL;
+        ((__POINTER *)ptr_table__H2T)[ 0]=next__G2T;
+      } else {
+        next__G2T=((__POINTER *)result__I2T)[ 0];
+        if ((next__G2T == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__I2T - (unsigned long)begin_memory__CVB)))) &  4095) + (__UINTEGER_32)(new_size__VNB <<  1)) <=  4096)) {
+            next__G2T=(void *)((unsigned long)result__I2T - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__VNB)));
+          } else {
+            next__G2T=new_lab__VAC(new_size__VNB);
+          };
+          ((__POINTER *)next__G2T)[ 0]=NULL;
+          ((__POINTER *)ptr_table__H2T)[ 0]=next__G2T;
+        } else {
+          ((__POINTER *)result__I2T)[ 0]=(void *)((unsigned long)((__POINTER *)next__G2T)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__I2T=next__G2T;
+        };
+      };
+      ptr__OU=result__I2T;
+    } else {
+      t__4OB=((__UINTEGER_32 )typ_id__TU);
+      a__AWT=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__Q2T=(__UINTEGER_32)((__UINTEGER_32)(sz__QU + a__AWT) & (__UINTEGER_32)(~ a__AWT));
+      ptr_table__N2T=((__POINTER )(&(table_type[(t__4OB)])));
+      lab_type__P2T=(__UINTEGER_32)(t__4OB |  1);
+      next__M2T=((__POINTER )(NULL));
+      result__O2T=((__POINTER *)ptr_table__N2T)[ 0];
+      if ((result__O2T == (void *)NULL)) {
+        result__O2T=new_lab__VAC(lab_type__P2T);
+        next__M2T=(void *)((unsigned long)result__O2T - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__Q2T)));
+        ((__POINTER *)next__M2T)[ 0]=NULL;
+        ((__POINTER *)ptr_table__N2T)[ 0]=next__M2T;
+      } else {
+        next__M2T=((__POINTER *)result__O2T)[ 0];
+        if ((next__M2T == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__O2T - (unsigned long)begin_memory__CVB)))) &  4095) + (__UINTEGER_32)(new_size__Q2T <<  1)) <=  4096)) {
+            next__M2T=(void *)((unsigned long)result__O2T - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__Q2T)));
+          } else {
+            next__M2T=new_lab__VAC(lab_type__P2T);
+          };
+          ((__POINTER *)next__M2T)[ 0]=NULL;
+          ((__POINTER *)ptr_table__N2T)[ 0]=next__M2T;
+        } else {
+          ((__POINTER *)result__O2T)[ 0]=(void *)((unsigned long)((__POINTER *)next__M2T)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__O2T=next__M2T;
+        };
+      };
+      ptr__OU=result__O2T;
+    };
+    result__NU=((__FAST_ARRAYoSTRINGo *)ptr__OU);
+    *(result__NU) = *(FAST_ARRAYoSTRINGo__);
+  };
+  Self__X5C=((__FAST_ARRAYoSTRINGo *)result__NU);
+  if ((Self__X5C->parent_arrayed_collection__SB.capacity__AAD < new_count__HM)) {
+    Self__X5C->parent_arrayed_collection__SB.storage__E2C=create__GQH(new_count__HM);
+    Self__X5C->parent_arrayed_collection__SB.capacity__AAD=new_count__HM;
+  };
+  Self__X5C->parent_arrayed_collection__SB.upper__MAD=(__INTEGER)(-  1);
+  result__3E=result__NU;
+  Self__OM= 0;
+  limit_up__PM=(__INTEGER)(((__INTEGER )(arg_count)) -  1);
+  while ((Self__OM <= limit_up__PM)) {
+    arg__4E=((__CHARACTER *)(arg_vector[(Self__OM)]));
+    Self__WIE=((__CHARACTER *)arg__4E);
+    idx__CJE= 0;
+    while ((! ((idx__CJE >  1024) || ('\0' == Self__WIE[idx__CJE])))) {
+      idx__CJE=(__INTEGER)(idx__CJE +  1);
+    };
+    str__5E=create__WS(idx__CJE);
+    Self__TKE=((__STRING *)str__5E);
+    p__UKE=arg__4E;
+    i__VKE= 0;
+    Self__TKE->count__NT= 0;
+    while ((((__CHARACTER *)p__UKE)[i__VKE] != '\0')) {
+      add_last__C3C(Self__TKE,((__CHARACTER *)p__UKE)[i__VKE]);
+      i__VKE=(__INTEGER)(i__VKE +  1);
+    };
+    Self__NLE=((__FAST_ARRAYoSTRINGo *)result__3E);
+    new_capacity__PLE= 0;
+    if (((__INTEGER)(Self__NLE->parent_arrayed_collection__SB.upper__MAD +  1) <= (__INTEGER)(Self__NLE->parent_arrayed_collection__SB.capacity__AAD -  1))) {
+      Self__NLE->parent_arrayed_collection__SB.upper__MAD=(__INTEGER)(Self__NLE->parent_arrayed_collection__SB.upper__MAD +  1);
+      __tmp__3LE=TRUE__;
+    } else {
+      __tmp__3LE=FALSE__;
+    };
+    if ((! __tmp__3LE)) {
+      if ((Self__NLE->parent_arrayed_collection__SB.capacity__AAD ==  0)) {
+        Self__NLE->parent_arrayed_collection__SB.storage__E2C=create__GQH( 2);
+        Self__NLE->parent_arrayed_collection__SB.capacity__AAD= 2;
+        Self__NLE->parent_arrayed_collection__SB.upper__MAD= 0;
+      } else {
+        new_capacity__PLE=(__INTEGER)(Self__NLE->parent_arrayed_collection__SB.capacity__AAD <<  1);
+        __tmp__SME=Self__NLE->parent_arrayed_collection__SB.storage__E2C;
+        __tmp__TME=Self__NLE->parent_arrayed_collection__SB.capacity__AAD;
+        new__2VI=((void **)realloc_dynamic__old_size__new_size__5FJ(((__POINTER )((void **)__tmp__SME)),((__UINTEGER_32 )(__INTEGER)(__tmp__TME * ((__INTEGER )(sizeof(void *))))),((__UINTEGER_32 )(__INTEGER)(new_capacity__PLE * ((__INTEGER )(sizeof(void *)))))));
+        __tmp__PWI=(__INTEGER)(new_capacity__PLE -  1);
+        Self__3DN=__tmp__TME;
+        while ((Self__3DN <= __tmp__PWI)) {
+          new__2VI[Self__3DN]=NULL;
+          Self__3DN=(__INTEGER)(Self__3DN +  1);
+        };
+        Self__NLE->parent_arrayed_collection__SB.storage__E2C=new__2VI;
+        Self__NLE->parent_arrayed_collection__SB.capacity__AAD=new_capacity__PLE;
+        Self__NLE->parent_arrayed_collection__SB.upper__MAD=(__INTEGER)(Self__NLE->parent_arrayed_collection__SB.upper__MAD +  1);
+      };
+    };
+    ((void **)Self__NLE->parent_arrayed_collection__SB.storage__E2C)[Self__NLE->parent_arrayed_collection__SB.upper__MAD]=str__5E;
+    Self__OM=(__INTEGER)(Self__OM +  1);
+  };
+  flags__HB=NULL;
+  string_tmp__RE=create__WS( 64);
+  Self__APM=((__STRING *)((void **)((__FAST_ARRAYoSTRINGo *)result__NU)->parent_arrayed_collection__SB.storage__E2C)[ 1]);
+  state__DPM= 0;
+  cc__EPM='\0';
+  negative__FPM=FALSE__;
+  result__GPM= 0;
+  i__CPM= 1;
+  __tmp__GZT=Self__APM->count__NT;
+  __tmp__HZT=Self__APM->storage__X3C;
+  __tmp__IZT=Self__APM->count__NT;
+  while ((i__CPM <= __tmp__GZT)) {
+    cc__EPM=((__CHARACTER *)__tmp__HZT)[(__INTEGER)(i__CPM -  1)];
+    if ((state__DPM ==  0)) {
+      if ((((((((cc__EPM == ' ') || (cc__EPM == '\t')) || (cc__EPM == '\n')) || (cc__EPM == '\r')) || (cc__EPM == '\0')) || (cc__EPM == '\f')) || (cc__EPM == '\v'))) {
+        __tmp__SQM=TRUE__;
+      } else {
+        result__DER=(cc__EPM == '+');
+        if (result__DER) {
+          state__DPM= 1;
+        };
+        __tmp__SQM=result__DER;
+      };
+      if ((! __tmp__SQM)) {
+        if ((cc__EPM == '-')) {
+          negative__FPM=TRUE__;
+          state__DPM= 1;
+        } else {
+          result__GPM=(__INTEGER)(((__INTEGER )((__INTEGER_8 )cc__EPM)) -  48);
+          state__DPM= 2;
+        };
+      };
+      __tmp__FRM=TRUE__;
+    } else {
+      __tmp__FRM=FALSE__;
+    };
+    if (__tmp__FRM) {
+      __tmp__0RM=TRUE__;
+    } else {
+      result__DKQ=(state__DPM ==  1);
+      if (result__DKQ) {
+        result__GPM=(__INTEGER)(((__INTEGER )((__INTEGER_8 )cc__EPM)) -  48);
+        if (negative__FPM) {
+          result__GPM=(__INTEGER)(- result__GPM);
+        };
+        state__DPM= 2;
+      };
+      __tmp__0RM=result__DKQ;
+    };
+    if (__tmp__0RM) {
+      __tmp__BTM=TRUE__;
+    } else {
+      result__VKQ=(state__DPM ==  2);
+      if (result__VKQ) {
+        result__BUH=FALSE__;
+        if ((((__INTEGER_8 )cc__EPM) >= ((__INTEGER_8 )'0'))) {
+          result__BUH=(((__INTEGER_8 )cc__EPM) <= ((__INTEGER_8 )'9'));
+        };
+        if (result__BUH) {
+          if (negative__FPM) {
+            result__GPM=(__INTEGER)((__INTEGER)( 10 * result__GPM) - (__INTEGER)(((__INTEGER )((__INTEGER_8 )cc__EPM)) -  48));
+          } else {
+            result__GPM=(__INTEGER)((__INTEGER)( 10 * result__GPM) + (__INTEGER)(((__INTEGER )((__INTEGER_8 )cc__EPM)) -  48));
+          };
+        } else {
+          state__DPM= 3;
+        };
+      };
+      __tmp__BTM=result__VKQ;
+    };
+    if ((! __tmp__BTM)) {
+      if ((state__DPM ==  3)) {
+        i__CPM=__tmp__IZT;
+      };
+    };
+    i__CPM=(__INTEGER)(i__CPM +  1);
+  };
+  m__0=(__INTEGER)( 10000 * (__INTEGER)( 1 << result__GPM));
+  sz__W0T=((__UINTEGER_32 )(__INTEGER)(m__0 * sizeof(__BOOLEAN)));
+  result__U0T=((__POINTER )(NULL));
+  a__V0T=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+  new_size__X0T=(__UINTEGER_32)((__UINTEGER_32)(sz__W0T + a__V0T) & (__UINTEGER_32)(~ a__V0T));
+  new_size2__Y0T=(__UINTEGER_32)(new_size__X0T + ((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))));
+  if ((new_size2__Y0T <= ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+    a__Z0T=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+    new_size__00T=(__UINTEGER_32)((__UINTEGER_32)(new_size2__Y0T + a__Z0T) & (__UINTEGER_32)(~ a__Z0T));
+    ptr_table__ITB=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__00T / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+    next__NTB=((__POINTER )(NULL));
+    result__LTB=((__POINTER *)ptr_table__ITB)[ 0];
+    if ((result__LTB == (void *)NULL)) {
+      result__LTB=new_lab__VAC(new_size__00T);
+      next__NTB=(void *)((unsigned long)result__LTB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__00T)));
+      ((__POINTER *)next__NTB)[ 0]=NULL;
+      ((__POINTER *)ptr_table__ITB)[ 0]=next__NTB;
+    } else {
+      next__NTB=((__POINTER *)result__LTB)[ 0];
+      if ((next__NTB == (void *)NULL)) {
+        if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__LTB - (unsigned long)begin_memory__CVB)))) &  4095) + (__UINTEGER_32)(new_size__00T <<  1)) <=  4096)) {
+          next__NTB=(void *)((unsigned long)result__LTB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__00T)));
+        } else {
+          next__NTB=new_lab__VAC(new_size__00T);
+        };
+        ((__POINTER *)next__NTB)[ 0]=NULL;
+        ((__POINTER *)ptr_table__ITB)[ 0]=next__NTB;
+      } else {
+        ((__POINTER *)result__LTB)[ 0]=(void *)((unsigned long)((__POINTER *)next__NTB)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+        result__LTB=next__NTB;
+      };
+    };
+    ((__POINTER *)result__LTB)[ 0]=((__POINTER ) 3);
+    result__U0T=(void *)((unsigned long)result__LTB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+  } else {
+    result__U0T=(void *)((unsigned long)((__POINTER )((__MEMORY *)search__Y0D(new_size__X0T))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+  };
+  flags__HB=((__BOOLEAN *)result__U0T);
+  primes__CD(m__0);
+  m__0=(__INTEGER)(m__0 >>  1);
+  primes__CD(m__0);
+  m__0=(__INTEGER)(m__0 >>  1);
+  primes__CD(m__0);
+  return( 0);
+}
+
+static __POINTER new_lab__VAC(__UINTEGER_32 t__XAC)
+// ({UINTEGER_32}) With resultNo recursive, No inlinable.
+{
+  __UINTEGER_32 idx__ZAC,pv__ABC;
+  __MEMORY *blc__2AC,*prev__3AC,*Self__AIT,*Self__JVT,*prev__KVT;
+  __MEMORY *next__LVT;
+  __POINTER result__4AC;
+  __BOOLEAN __tmp__ACC;
+  idx__ZAC= 0;
+  blc__2AC=NULL;
+  prev__3AC=NULL;
+  pv__ABC= 0;
+  while_do__IHC:
+  {
+    if ((idx__ZAC < nb_page__HBC)) {
+      blc__2AC=((__MEMORY *)(last_block[(idx__ZAC)]));
+      __tmp__ACC=(((__UINTEGER_32)(((__MEMORY *)blc__2AC)->size_and_id__VC &  4294967292LU) <  4096) || ((__UINTEGER_32)(((__MEMORY *)blc__2AC)->size_and_id__VC &  1) ==  1));
+    } else {
+      __tmp__ACC=FALSE__;
+    };
+    if (__tmp__ACC) {
+      idx__ZAC=(__UINTEGER_32)(idx__ZAC +  1);
+      goto while_do__IHC;
+    };
+  };
+  if ((idx__ZAC >= nb_page__HBC)) {
+    blc__2AC=new_page__2BE();
+  };
+  ((__MEMORY *)blc__2AC)->size_and_id__VC=(__UINTEGER_32)(blc__2AC->size_and_id__VC -  4096);
+  Self__AIT=((__MEMORY *)blc__2AC);
+  result__4AC=((__POINTER )((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__AIT) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__AIT->size_and_id__VC &  4294967292LU))))));
+  if (((__UINTEGER_32)(((__MEMORY *)blc__2AC)->size_and_id__VC &  4294967292LU) < ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+    Self__JVT=((__MEMORY *)blc__2AC);
+    prev__KVT=Self__JVT->previous_free__XC;
+    next__LVT=Self__JVT->next_free__WC;
+    if (((void *)prev__KVT == (void *)NULL)) {
+      first_free__11D=next__LVT;
+    } else {
+      ((__MEMORY *)prev__KVT)->next_free__WC=next__LVT;
+    };
+    if (((void *)next__LVT != (void *)NULL)) {
+      ((__MEMORY *)next__LVT)->previous_free__XC=prev__KVT;
+    };
+    pv__ABC=blc__2AC->previous_linear__UC;
+    if ((pv__ABC !=  4294967295LU)) {
+      prev__3AC=((__MEMORY *)(void *)((unsigned long)begin_memory__CVB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )pv__ABC))));
+      ((__MEMORY *)prev__3AC)->size_and_id__VC=(__UINTEGER_32)((__UINTEGER_32)(prev__3AC->size_and_id__VC + blc__2AC->size_and_id__VC) +  8);
+      last_block[(idx__ZAC)] = (prev__3AC);
+    };
+  };
+  ((__POINTER *)result__4AC)[ 0]=((__POINTER )t__XAC);
+  return((void *)((unsigned long)result__4AC - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *)))))));
+}
+
+static void** create__GQH(__INTEGER nb_elements__IQH)
+// ({INTEGER}) With resultNo recursive, No inlinable.
+{
+  __UINTEGER_32 sz__A1T,a__50T,new_size__B1T,new_size2__C1T,a__D1T;
+  __UINTEGER_32 new_size__E1T;
+  __POINTER result__40T,ptr_table__J1T,next__I1T,result__K1T;
+  __INTEGER Self__HOJ;
+  void **Result__EWH;
+  sz__A1T=((__UINTEGER_32 )(__INTEGER)(nb_elements__IQH * ((__INTEGER )(sizeof(void *)))));
+  result__40T=((__POINTER )(NULL));
+  a__50T=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+  new_size__B1T=(__UINTEGER_32)((__UINTEGER_32)(sz__A1T + a__50T) & (__UINTEGER_32)(~ a__50T));
+  new_size2__C1T=(__UINTEGER_32)(new_size__B1T + ((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))));
+  if ((new_size2__C1T <= ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+    a__D1T=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+    new_size__E1T=(__UINTEGER_32)((__UINTEGER_32)(new_size2__C1T + a__D1T) & (__UINTEGER_32)(~ a__D1T));
+    ptr_table__J1T=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__E1T / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+    next__I1T=((__POINTER )(NULL));
+    result__K1T=((__POINTER *)ptr_table__J1T)[ 0];
+    if ((result__K1T == (void *)NULL)) {
+      result__K1T=new_lab__VAC(new_size__E1T);
+      next__I1T=(void *)((unsigned long)result__K1T - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__E1T)));
+      ((__POINTER *)next__I1T)[ 0]=NULL;
+      ((__POINTER *)ptr_table__J1T)[ 0]=next__I1T;
+    } else {
+      next__I1T=((__POINTER *)result__K1T)[ 0];
+      if ((next__I1T == (void *)NULL)) {
+        if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__K1T - (unsigned long)begin_memory__CVB)))) &  4095) + (__UINTEGER_32)(new_size__E1T <<  1)) <=  4096)) {
+          next__I1T=(void *)((unsigned long)result__K1T - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__E1T)));
+        } else {
+          next__I1T=new_lab__VAC(new_size__E1T);
+        };
+        ((__POINTER *)next__I1T)[ 0]=NULL;
+        ((__POINTER *)ptr_table__J1T)[ 0]=next__I1T;
+      } else {
+        ((__POINTER *)result__K1T)[ 0]=(void *)((unsigned long)((__POINTER *)next__I1T)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+        result__K1T=next__I1T;
+      };
+    };
+    ((__POINTER *)result__K1T)[ 0]=((__POINTER ) 3);
+    result__40T=(void *)((unsigned long)result__K1T - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+  } else {
+    result__40T=(void *)((unsigned long)((__POINTER )((__MEMORY *)search__Y0D(new_size__B1T))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+  };
+  Result__EWH=((void **)result__40T);
+  Self__HOJ=(__INTEGER)(nb_elements__IQH -  1);
+  while ((Self__HOJ >=  0)) {
+    Result__EWH[Self__HOJ]=NULL;
+    Self__HOJ=(__INTEGER)(Self__HOJ -  1);
+  };
+  return(Result__EWH);
+}
+
+static __STRING* create__WS(__INTEGER needed_capacity__YS)
+// ({INTEGER}) With resultNo recursive, No inlinable.
+{
+  __STRING *result__C2,*Self__5BD;
+  __POINTER ptr__D2,ptr_table__P1T,next__O1T,result__Q1T,ptr_table__V1T;
+  __POINTER next__U1T,result__W1T;
+  __INTEGER typ_id__I2;
+  __UINTEGER_32 sz__F2,a__FWT,new_size__GWT,t__PWT,a__MWT,new_size__Y1T;
+  __UINTEGER_32 lab_type__X1T;
+  result__C2=NULL;
+  ptr__D2=((__POINTER )(NULL));
+  typ_id__I2= 0;
+  sz__F2=((__UINTEGER_32 )sizeof(__STRING));
+  if ((sz__F2 ==  0)) {
+    result__C2=STRING__;
+  } else {
+    typ_id__I2=-1;
+    clone_allocation_size__BV=(__UINTEGER_32)(clone_allocation_size__BV + sz__F2);
+    if ((typ_id__I2 == (__INTEGER)(-  1))) {
+      a__FWT=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__GWT=(__UINTEGER_32)((__UINTEGER_32)(sz__F2 + a__FWT) & (__UINTEGER_32)(~ a__FWT));
+      ptr_table__P1T=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__GWT / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+      next__O1T=((__POINTER )(NULL));
+      result__Q1T=((__POINTER *)ptr_table__P1T)[ 0];
+      if ((result__Q1T == (void *)NULL)) {
+        result__Q1T=new_lab__VAC(new_size__GWT);
+        next__O1T=(void *)((unsigned long)result__Q1T - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__GWT)));
+        ((__POINTER *)next__O1T)[ 0]=NULL;
+        ((__POINTER *)ptr_table__P1T)[ 0]=next__O1T;
+      } else {
+        next__O1T=((__POINTER *)result__Q1T)[ 0];
+        if ((next__O1T == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__Q1T - (unsigned long)begin_memory__CVB)))) &  4095) + (__UINTEGER_32)(new_size__GWT <<  1)) <=  4096)) {
+            next__O1T=(void *)((unsigned long)result__Q1T - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__GWT)));
+          } else {
+            next__O1T=new_lab__VAC(new_size__GWT);
+          };
+          ((__POINTER *)next__O1T)[ 0]=NULL;
+          ((__POINTER *)ptr_table__P1T)[ 0]=next__O1T;
+        } else {
+          ((__POINTER *)result__Q1T)[ 0]=(void *)((unsigned long)((__POINTER *)next__O1T)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__Q1T=next__O1T;
+        };
+      };
+      ptr__D2=result__Q1T;
+    } else {
+      t__PWT=((__UINTEGER_32 )typ_id__I2);
+      a__MWT=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__Y1T=(__UINTEGER_32)((__UINTEGER_32)(sz__F2 + a__MWT) & (__UINTEGER_32)(~ a__MWT));
+      ptr_table__V1T=((__POINTER )(&(table_type[(t__PWT)])));
+      lab_type__X1T=(__UINTEGER_32)(t__PWT |  1);
+      next__U1T=((__POINTER )(NULL));
+      result__W1T=((__POINTER *)ptr_table__V1T)[ 0];
+      if ((result__W1T == (void *)NULL)) {
+        result__W1T=new_lab__VAC(lab_type__X1T);
+        next__U1T=(void *)((unsigned long)result__W1T - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__Y1T)));
+        ((__POINTER *)next__U1T)[ 0]=NULL;
+        ((__POINTER *)ptr_table__V1T)[ 0]=next__U1T;
+      } else {
+        next__U1T=((__POINTER *)result__W1T)[ 0];
+        if ((next__U1T == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__W1T - (unsigned long)begin_memory__CVB)))) &  4095) + (__UINTEGER_32)(new_size__Y1T <<  1)) <=  4096)) {
+            next__U1T=(void *)((unsigned long)result__W1T - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__Y1T)));
+          } else {
+            next__U1T=new_lab__VAC(lab_type__X1T);
+          };
+          ((__POINTER *)next__U1T)[ 0]=NULL;
+          ((__POINTER *)ptr_table__V1T)[ 0]=next__U1T;
+        } else {
+          ((__POINTER *)result__W1T)[ 0]=(void *)((unsigned long)((__POINTER *)next__U1T)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__W1T=next__U1T;
+        };
+      };
+      ptr__D2=result__W1T;
+    };
+    result__C2=((__STRING *)ptr__D2);
+    *(result__C2) = *(STRING__);
+  };
+  Self__5BD=((__STRING *)result__C2);
+  if ((needed_capacity__YS >  0)) {
+    if ((Self__5BD->capacity__G3C < needed_capacity__YS)) {
+      Self__5BD->storage__X3C=create__0VF(needed_capacity__YS);
+      Self__5BD->capacity__G3C=needed_capacity__YS;
+    };
+  };
+  Self__5BD->count__NT= 0;
+  return(result__C2);
+}
+
+static void add_last__C3C(__STRING *Self__D3C,__CHARACTER ch__E3C)
+// ({STRING},{CHARACTER}) VoidNo recursive, No inlinable.
+{
+  __INTEGER new_capacity__F3C,__tmp__A4C,__tmp__KRI,Self__4BN;
+  __CHARACTER *__tmp__53C,*new__XQI;
+  new_capacity__F3C= 0;
+  if ((Self__D3C->capacity__G3C <= Self__D3C->count__NT)) {
+    if ((Self__D3C->capacity__G3C ==  0)) {
+      Self__D3C->capacity__G3C= 32;
+      Self__D3C->storage__X3C=create__0VF( 32);
+    } else {
+      new_capacity__F3C=(__INTEGER)(Self__D3C->capacity__G3C <<  1);
+      __tmp__53C=Self__D3C->storage__X3C;
+      __tmp__A4C=Self__D3C->capacity__G3C;
+      new__XQI=((__CHARACTER *)realloc_dynamic__old_size__new_size__5FJ(((__POINTER )((__CHARACTER *)__tmp__53C)),((__UINTEGER_32 )__tmp__A4C),((__UINTEGER_32 )new_capacity__F3C)));
+      __tmp__KRI=(__INTEGER)(new_capacity__F3C -  1);
+      Self__4BN=__tmp__A4C;
+      while ((Self__4BN <= __tmp__KRI)) {
+        new__XQI[Self__4BN]='\0';
+        Self__4BN=(__INTEGER)(Self__4BN +  1);
+      };
+      Self__D3C->storage__X3C=new__XQI;
+      Self__D3C->capacity__G3C=new_capacity__F3C;
+    };
+  };
+  ((__CHARACTER *)Self__D3C->storage__X3C)[Self__D3C->count__NT]=ch__E3C;
+  Self__D3C->count__NT=(__INTEGER)(Self__D3C->count__NT +  1);
+}
+
+static __POINTER realloc_dynamic__old_size__new_size__5FJ(__POINTER p__BGJ,__UINTEGER_32 old_sz__CGJ,__UINTEGER_32 new_sz__DGJ)
+// ({POINTER},{UINTEGER_32},{UINTEGER_32}) With resultNo recursive, No inlinable.
+{
+  __MEMORY *mem__OGJ,*Self__ONL,*nxt__SNL,*result__TNL,*next__QHM;
+  __MEMORY *new_free__PHM,*prev__GXT,*next__HXT;
+  __POINTER result__PGJ,result__4H,ptr_table__11T,next__01T,result__21T;
+  __POINTER p__EML,last__40L,src__4KL,dst__5KL;
+  __UINTEGER_32 a__SWT,old_size__FGJ,old_size2__IGJ,a__WWT;
+  __UINTEGER_32 new_size__LGJ,a__HQ,new_size__YH,new_size2__1H,a__OXT;
+  __UINTEGER_32 new_size__PXT,a__0WT,__tmp__AIJ,sz__XNL,old_size__UNL;
+  __UINTEGER_32 prev__RHM,new_size__UHM;
+  __INTEGER siz__T2T,Self__Y2T,siz__DLL,Self__RYL;
+  __POINTER *na_src__V2T,*na_dst__X2T,*na_src__BLL,*na_dst__CLL;
+  mem__OGJ=NULL;
+  result__PGJ=((__POINTER )(NULL));
+  a__SWT=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+  old_size__FGJ=(__UINTEGER_32)((__UINTEGER_32)(old_sz__CGJ + a__SWT) & (__UINTEGER_32)(~ a__SWT));
+  old_size2__IGJ=(__UINTEGER_32)(old_size__FGJ + ((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))));
+  a__WWT=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+  new_size__LGJ=(__UINTEGER_32)((__UINTEGER_32)(new_sz__DGJ + a__WWT) & (__UINTEGER_32)(~ a__WWT));
+  if ((old_size2__IGJ <= ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+    result__4H=((__POINTER )(NULL));
+    a__HQ=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+    new_size__YH=(__UINTEGER_32)((__UINTEGER_32)(new_size__LGJ + a__HQ) & (__UINTEGER_32)(~ a__HQ));
+    new_size2__1H=(__UINTEGER_32)(new_size__YH + ((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))));
+    if ((new_size2__1H <= ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+      a__OXT=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__PXT=(__UINTEGER_32)((__UINTEGER_32)(new_size2__1H + a__OXT) & (__UINTEGER_32)(~ a__OXT));
+      ptr_table__11T=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__PXT / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+      next__01T=((__POINTER )(NULL));
+      result__21T=((__POINTER *)ptr_table__11T)[ 0];
+      if ((result__21T == (void *)NULL)) {
+        result__21T=new_lab__VAC(new_size__PXT);
+        next__01T=(void *)((unsigned long)result__21T - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__PXT)));
+        ((__POINTER *)next__01T)[ 0]=NULL;
+        ((__POINTER *)ptr_table__11T)[ 0]=next__01T;
+      } else {
+        next__01T=((__POINTER *)result__21T)[ 0];
+        if ((next__01T == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__21T - (unsigned long)begin_memory__CVB)))) &  4095) + (__UINTEGER_32)(new_size__PXT <<  1)) <=  4096)) {
+            next__01T=(void *)((unsigned long)result__21T - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__PXT)));
+          } else {
+            next__01T=new_lab__VAC(new_size__PXT);
+          };
+          ((__POINTER *)next__01T)[ 0]=NULL;
+          ((__POINTER *)ptr_table__11T)[ 0]=next__01T;
+        } else {
+          ((__POINTER *)result__21T)[ 0]=(void *)((unsigned long)((__POINTER *)next__01T)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__21T=next__01T;
+        };
+      };
+      ((__POINTER *)result__21T)[ 0]=((__POINTER ) 3);
+      result__4H=(void *)((unsigned long)result__21T - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+    } else {
+      result__4H=(void *)((unsigned long)((__POINTER )((__MEMORY *)search__Y0D(new_size__YH))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+    };
+    result__PGJ=result__4H;
+    siz__T2T=((__INTEGER )old_size__FGJ);
+    siz__T2T=(__INTEGER)(siz__T2T / ((__INTEGER )(sizeof(void *))));
+    na_src__V2T=((__POINTER *)p__BGJ);
+    na_dst__X2T=((__POINTER *)result__4H);
+    Self__Y2T=(__INTEGER)(siz__T2T -  1);
+    while ((Self__Y2T >=  0)) {
+      na_dst__X2T[Self__Y2T]=na_src__V2T[Self__Y2T];
+      Self__Y2T=(__INTEGER)(Self__Y2T -  1);
+    };
+    p__EML=(void *)((unsigned long)p__BGJ - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *)))));
+    a__0WT=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+    last__40L=((__POINTER *)((__POINTER )(&(table_size[((__UINTEGER_32)((__UINTEGER_32)((__UINTEGER_32)(old_size2__IGJ + a__0WT) & (__UINTEGER_32)(~ a__0WT)) / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1]))))[ 0];
+    ((__POINTER *)p__EML)[ 0]=(void *)((unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)(void *)((unsigned long)(void *)((unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER *)last__40L)[ 0]) - (unsigned long)((__POINTER ) 1)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 3)) - (unsigned long)((__POINTER ) 1)))) - (unsigned long)((__POINTER ) 1));
+    ((__POINTER *)last__40L)[ 0]=p__EML;
+  } else {
+    mem__OGJ=((__MEMORY *)(void *)((unsigned long)p__BGJ - (unsigned long)((__POINTER ) 8)));
+    __tmp__AIJ=(__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)p__BGJ - (unsigned long)begin_memory__CVB)))) >>  26);
+    Self__ONL=((__MEMORY *)mem__OGJ);
+    nxt__SNL=NULL;
+    result__TNL=NULL;
+    sz__XNL= 0;
+    old_size__UNL=(__UINTEGER_32)(Self__ONL->size_and_id__VC &  4294967292LU);
+    if ((new_size__LGJ > old_size__UNL)) {
+      if ((! ((__UINTEGER_32)(Self__ONL->size_and_id__VC &  2) !=  0))) {
+        nxt__SNL=((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__ONL) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__ONL->size_and_id__VC &  4294967292LU)))));
+        sz__XNL=(__UINTEGER_32)((__UINTEGER_32)(new_size__LGJ - old_size__UNL) -  8);
+        if ((((__UINTEGER_32)(((__MEMORY *)nxt__SNL)->size_and_id__VC &  1) ==  0) && ((__UINTEGER_32)(((__MEMORY *)nxt__SNL)->size_and_id__VC &  4294967292LU) >= sz__XNL))) {
+          to_busy__index__0KI(nxt__SNL,sz__XNL,__tmp__AIJ);
+          Self__ONL->size_and_id__VC=(__UINTEGER_32)((__UINTEGER_32)(Self__ONL->size_and_id__VC + (__UINTEGER_32)(nxt__SNL->size_and_id__VC &  4294967294LU)) +  8);
+          if (((__UINTEGER_32)(Self__ONL->size_and_id__VC &  2) !=  0)) {
+            last_block[(__tmp__AIJ)] = (Self__ONL);
+          } else {
+            nxt__SNL=((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__ONL) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__ONL->size_and_id__VC &  4294967292LU)))));
+            ((__MEMORY *)nxt__SNL)->previous_linear__UC=((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )Self__ONL) - (unsigned long)begin_memory__CVB))));
+          };
+          result__TNL=Self__ONL;
+        };
+      };
+      if (((void *)result__TNL == (void *)NULL)) {
+        result__TNL=search__Y0D(new_size__LGJ);
+        src__4KL=(void *)((unsigned long)((__POINTER )Self__ONL) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+        dst__5KL=(void *)((unsigned long)((__POINTER )((__MEMORY *)result__TNL)) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+        siz__DLL=((__INTEGER )old_size__UNL);
+        siz__DLL=(__INTEGER)(siz__DLL / ((__INTEGER )(sizeof(void *))));
+        na_src__BLL=((__POINTER *)src__4KL);
+        na_dst__CLL=((__POINTER *)dst__5KL);
+        Self__RYL=(__INTEGER)(siz__DLL -  1);
+        while ((Self__RYL >=  0)) {
+          na_dst__CLL[Self__RYL]=na_src__BLL[Self__RYL];
+          Self__RYL=(__INTEGER)(Self__RYL -  1);
+        };
+        prev__RHM=Self__ONL->previous_linear__UC;
+        next__QHM=((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__ONL) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__ONL->size_and_id__VC &  4294967292LU)))));
+        new_free__PHM=((__MEMORY *)(void *)((unsigned long)begin_memory__CVB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )prev__RHM))));
+        new_size__UHM=(__UINTEGER_32)(Self__ONL->size_and_id__VC &  4294967294LU);
+        if (((prev__RHM ==  4294967295LU) || ((__UINTEGER_32)(new_free__PHM->size_and_id__VC &  1) !=  0))) {
+          new_free__PHM=Self__ONL;
+          Self__ONL->next_free__WC=first_free__11D;
+          Self__ONL->previous_free__XC=NULL;
+          if (((void *)first_free__11D != (void *)NULL)) {
+            ((__MEMORY *)first_free__11D)->previous_free__XC=Self__ONL;
+          };
+          first_free__11D=Self__ONL;
+        } else {
+          new_size__UHM=(__UINTEGER_32)((__UINTEGER_32)(new_size__UHM + new_free__PHM->size_and_id__VC) +  8);
+        };
+        if (((! ((__UINTEGER_32)(Self__ONL->size_and_id__VC &  2) !=  0)) && ((__UINTEGER_32)(next__QHM->size_and_id__VC &  1) ==  0))) {
+          new_size__UHM=(__UINTEGER_32)((__UINTEGER_32)(new_size__UHM + next__QHM->size_and_id__VC) +  8);
+          prev__GXT=next__QHM->previous_free__XC;
+          next__HXT=next__QHM->next_free__WC;
+          if (((void *)prev__GXT == (void *)NULL)) {
+            first_free__11D=next__HXT;
+          } else {
+            ((__MEMORY *)prev__GXT)->next_free__WC=next__HXT;
+          };
+          if (((void *)next__HXT != (void *)NULL)) {
+            ((__MEMORY *)next__HXT)->previous_free__XC=prev__GXT;
+          };
+        };
+        new_free__PHM->size_and_id__VC=new_size__UHM;
+        if (((__UINTEGER_32)(new_free__PHM->size_and_id__VC &  2) !=  0)) {
+          last_block[(__tmp__AIJ)] = (new_free__PHM);
+        } else {
+          next__QHM=((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__ONL) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__ONL->size_and_id__VC &  4294967292LU)))));
+          next__QHM->previous_linear__UC=((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )new_free__PHM) - (unsigned long)begin_memory__CVB))));
+        };
+      };
+    } else {
+      result__TNL=Self__ONL;
+    };
+    result__PGJ=(void *)((unsigned long)((__POINTER )((__MEMORY *)result__TNL)) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+  };
+  return(result__PGJ);
+}
+
+static __MEMORY* search__Y0D(__UINTEGER_32 new_size__00D)
+// ({UINTEGER_32}) With resultNo recursive, No inlinable.
+{
+  __MEMORY *result__20D;
+  result__20D=first_free__11D;
+  while ((((void *)result__20D != (void *)NULL) && ((__UINTEGER_32)(((__MEMORY *)result__20D)->size_and_id__VC &  4294967292LU) < new_size__00D))) {
+    result__20D=result__20D->next_free__WC;
+  };
+  if (((void *)result__20D == (void *)NULL)) {
+    result__20D=new_page__2BE();
+  };
+  to_busy__index__0KI(result__20D,new_size__00D,(__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )((__MEMORY *)result__20D)) - (unsigned long)begin_memory__CVB)))) >>  26));
+  return(result__20D);
+}
+
+static void primes__CD(__INTEGER m__ED)
+// ({INTEGER}) VoidNo recursive, No inlinable.
+{
+  __INTEGER result__FD,j__GD,tmp__ID,Self__ERD,i__HD;
+  __BOOLEAN *Self__I2C;
+  result__FD= 0;
+  j__GD= 0;
+  tmp__ID=(__INTEGER)(m__ED -  1);
+  Self__I2C=((__BOOLEAN *)flags__HB);
+  Self__ERD=tmp__ID;
+  while ((Self__ERD >=  0)) {
+    Self__I2C[Self__ERD]=TRUE__;
+    Self__ERD=(__INTEGER)(Self__ERD -  1);
+  };
+  i__HD= 2;
+  while ((i__HD <= tmp__ID)) {
+    if (((__BOOLEAN *)flags__HB)[i__HD]) {
+      j__GD=(__INTEGER)(i__HD <<  1);
+      while ((j__GD <= tmp__ID)) {
+        ((__BOOLEAN *)flags__HB)[j__GD]=FALSE__;
+        j__GD=(__INTEGER)(j__GD + i__HD);
+      };
+      result__FD=(__INTEGER)(result__FD +  1);
+    };
+    i__HD=(__INTEGER)(i__HD +  1);
+  };
+  print__RL((&__string_1));
+  ((__STRING *)string_tmp__RE)->count__NT= 0;
+  append_in__format__2L(m__ED,string_tmp__RE);
+  add_last__C3C(string_tmp__RE,' ');
+  append_in__format__2L(result__FD,string_tmp__RE);
+  add_last__C3C(string_tmp__RE,'\n');
+  put_string__XR(((__STRING *)string_tmp__RE));
+}
+
+static __MEMORY* new_page__2BE()
+// () With resultNo recursive, No inlinable.
+{
+  __POINTER mem__GHG;
+  __UINTEGER_32 cap__DHG,old_size__5BE;
+  __MEMORY *block__FCE;
+  if ((capacity_max__GCE ==  0)) {
+    mem__GHG=((__POINTER )(NULL));
+    cap__DHG= 33554432;
+    do {
+      cap__DHG=(__UINTEGER_32)(cap__DHG <<  1);
+      mem__GHG=((__POINTER )(malloc((cap__DHG))));
+      if ((mem__GHG != (void *)NULL)) {
+        free((mem__GHG));
+      };
+    } while ((! ((mem__GHG == (void *)NULL) || (cap__DHG ==  2147483648LU))));
+    if ((mem__GHG == (void *)NULL)) {
+      cap__DHG=(__UINTEGER_32)(cap__DHG >>  1);
+    };
+    capacity_max__GCE=cap__DHG;
+    begin_memory__CVB=((__POINTER )(malloc((cap__DHG))));
+  };
+  old_size__5BE=(__UINTEGER_32)(nb_page__HBC <<  26);
+  nb_page__HBC=(__UINTEGER_32)(nb_page__HBC +  1);
+  if (((__UINTEGER_32)(old_size__5BE +  67108864) > capacity_max__GCE)) {
+    print__RL((&__string_2));
+    exit(( 1));
+  };
+  block__FCE=((__MEMORY *)(void *)((unsigned long)begin_memory__CVB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )old_size__5BE))));
+  block__FCE->previous_linear__UC= 4294967295LU;
+  block__FCE->size_and_id__VC= 67108858;
+  block__FCE->next_free__WC=first_free__11D;
+  block__FCE->previous_free__XC=NULL;
+  if (((void *)first_free__11D != (void *)NULL)) {
+    ((__MEMORY *)first_free__11D)->previous_free__XC=block__FCE;
+  };
+  first_free__11D=block__FCE;
+  last_block[((__UINTEGER_32)(nb_page__HBC -  1))] = (block__FCE);
+  return(block__FCE);
+}
+
+static __CHARACTER* create__0VF(__INTEGER nb_elements__2VF)
+// ({INTEGER}) With resultNo recursive, No inlinable.
+{
+  __UINTEGER_32 sz__M0T,a__L0T,new_size__N0T,new_size2__O0T,a__P0T;
+  __UINTEGER_32 new_size__Q0T;
+  __POINTER result__K0T,ptr_table__B2T,next__A2T,result__C2T;
+  __INTEGER Self__XJJ;
+  __CHARACTER *Result__TRG;
+  sz__M0T=((__UINTEGER_32 )nb_elements__2VF);
+  result__K0T=((__POINTER )(NULL));
+  a__L0T=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+  new_size__N0T=(__UINTEGER_32)((__UINTEGER_32)(sz__M0T + a__L0T) & (__UINTEGER_32)(~ a__L0T));
+  new_size2__O0T=(__UINTEGER_32)(new_size__N0T + ((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))));
+  if ((new_size2__O0T <= ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+    a__P0T=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+    new_size__Q0T=(__UINTEGER_32)((__UINTEGER_32)(new_size2__O0T + a__P0T) & (__UINTEGER_32)(~ a__P0T));
+    ptr_table__B2T=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__Q0T / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+    next__A2T=((__POINTER )(NULL));
+    result__C2T=((__POINTER *)ptr_table__B2T)[ 0];
+    if ((result__C2T == (void *)NULL)) {
+      result__C2T=new_lab__VAC(new_size__Q0T);
+      next__A2T=(void *)((unsigned long)result__C2T - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__Q0T)));
+      ((__POINTER *)next__A2T)[ 0]=NULL;
+      ((__POINTER *)ptr_table__B2T)[ 0]=next__A2T;
+    } else {
+      next__A2T=((__POINTER *)result__C2T)[ 0];
+      if ((next__A2T == (void *)NULL)) {
+        if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__C2T - (unsigned long)begin_memory__CVB)))) &  4095) + (__UINTEGER_32)(new_size__Q0T <<  1)) <=  4096)) {
+          next__A2T=(void *)((unsigned long)result__C2T - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__Q0T)));
+        } else {
+          next__A2T=new_lab__VAC(new_size__Q0T);
+        };
+        ((__POINTER *)next__A2T)[ 0]=NULL;
+        ((__POINTER *)ptr_table__B2T)[ 0]=next__A2T;
+      } else {
+        ((__POINTER *)result__C2T)[ 0]=(void *)((unsigned long)((__POINTER *)next__A2T)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+        result__C2T=next__A2T;
+      };
+    };
+    ((__POINTER *)result__C2T)[ 0]=((__POINTER ) 3);
+    result__K0T=(void *)((unsigned long)result__C2T - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+  } else {
+    result__K0T=(void *)((unsigned long)((__POINTER )((__MEMORY *)search__Y0D(new_size__N0T))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+  };
+  Result__TRG=((__CHARACTER *)result__K0T);
+  Self__XJJ=(__INTEGER)(nb_elements__2VF -  1);
+  while ((Self__XJJ >=  0)) {
+    Result__TRG[Self__XJJ]='\0';
+    Self__XJJ=(__INTEGER)(Self__XJJ -  1);
+  };
+  return(Result__TRG);
+}
+
+static void to_busy__index__0KI(__MEMORY *Self__1KI,__UINTEGER_32 sz__2KI,__UINTEGER_32 idx__3KI)
+// ({MEMORY},{UINTEGER_32},{UINTEGER_32}) VoidNo recursive, No inlinable.
+{
+  __MEMORY *new__ELI,*prev__E5I,*next__F5I,*Self__MOI,*Self__ZCT;
+  __UINTEGER_32 siz__4KI,new_size__BLI;
+  new__ELI=NULL;
+  prev__E5I=Self__1KI->previous_free__XC;
+  next__F5I=Self__1KI->next_free__WC;
+  if (((void *)prev__E5I == (void *)NULL)) {
+    first_free__11D=next__F5I;
+  } else {
+    ((__MEMORY *)prev__E5I)->next_free__WC=next__F5I;
+  };
+  if (((void *)next__F5I != (void *)NULL)) {
+    ((__MEMORY *)next__F5I)->previous_free__XC=prev__E5I;
+  };
+  siz__4KI=Self__1KI->size_and_id__VC;
+  new_size__BLI=(__UINTEGER_32)(siz__4KI - sz__2KI);
+  if ((new_size__BLI > (__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )(MINIMUM_SIZE)) +  2) +  8))) {
+    siz__4KI=sz__2KI;
+    new__ELI=((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__1KI) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )sz__2KI))));
+    ((__MEMORY *)new__ELI)->previous_linear__UC=((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )Self__1KI) - (unsigned long)begin_memory__CVB))));
+    ((__MEMORY *)new__ELI)->size_and_id__VC=(__UINTEGER_32)(new_size__BLI -  8);
+    Self__MOI=((__MEMORY *)new__ELI);
+    Self__MOI->next_free__WC=first_free__11D;
+    Self__MOI->previous_free__XC=NULL;
+    if (((void *)first_free__11D != (void *)NULL)) {
+      ((__MEMORY *)first_free__11D)->previous_free__XC=Self__MOI;
+    };
+    first_free__11D=Self__MOI;
+    if (((__UINTEGER_32)(((__MEMORY *)new__ELI)->size_and_id__VC &  2) !=  0)) {
+      last_block[(idx__3KI)] = (new__ELI);
+    } else {
+      Self__ZCT=((__MEMORY *)new__ELI);
+      ((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__ZCT) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__ZCT->size_and_id__VC &  4294967292LU)))))->previous_linear__UC=((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )((__MEMORY *)new__ELI)) - (unsigned long)begin_memory__CVB))));
+    };
+  };
+  Self__1KI->size_and_id__VC=(__UINTEGER_32)(siz__4KI |  1);
+}
+
+static void print__RL(__STRING_CONSTANT *Self__SL)
+// ({STRING_CONSTANT}) VoidRecursive, No inlinable.
+{
+  put_string__XR(Self__SL);
+}
+
+static void append_in__format__2L(__INTEGER Self__3L,void *str__4L)
+// ({INTEGER},{NULLxSTRING}) VoidNo recursive, No inlinable.
+{
+  __INTEGER old_count__ST,i__PEB,j__QEB,__tmp__YT,Self__4XD,i__W4F;
+  __INTEGER_32 Self__EEB,val__MEB;
+  __STRING *Self__GRE,*Self__2CD;
+  __CHARACTER tmp__JRE;
+  __CHARACTER *__tmp__TYT,*__tmp__UYT;
+  old_count__ST=((__STRING *)str__4L)->count__NT;
+  Self__EEB=((__INTEGER_32 )Self__3L);
+  val__MEB= 0;
+  i__PEB= 0;
+  j__QEB= 0;
+  if ((Self__EEB ==  0)) {
+    add_last__C3C(((__STRING *)str__4L),'0');
+  } else {
+    if ((Self__EEB >  0)) {
+      val__MEB=Self__EEB;
+    } else {
+      val__MEB=(__INTEGER_32)(- Self__EEB);
+      add_last__C3C(((__STRING *)str__4L),'-');
+    };
+    i__PEB=(__INTEGER)(((__STRING *)str__4L)->count__NT +  1);
+    while ((val__MEB !=  0)) {
+      add_last__C3C(((__STRING *)str__4L),((__CHARACTER )(((__INTEGER_8)(((__INTEGER_8 )(__INTEGER_32)(val__MEB %  10)) + ((__INTEGER_8 )'0'))))));
+      val__MEB=(__INTEGER_32)(val__MEB /  10);
+    };
+    j__QEB=((__STRING *)str__4L)->count__NT;
+    while ((i__PEB < j__QEB)) {
+      Self__GRE=((__STRING *)str__4L);
+      tmp__JRE=((__CHARACTER *)Self__GRE->storage__X3C)[(__INTEGER)(i__PEB -  1)];
+      ((__CHARACTER *)Self__GRE->storage__X3C)[(__INTEGER)(i__PEB -  1)]=((__CHARACTER *)Self__GRE->storage__X3C)[(__INTEGER)(j__QEB -  1)];
+      ((__CHARACTER *)Self__GRE->storage__X3C)[(__INTEGER)(j__QEB -  1)]=tmp__JRE;
+      j__QEB=(__INTEGER)(j__QEB -  1);
+      i__PEB=(__INTEGER)(i__PEB +  1);
+    };
+  };
+  __tmp__YT=(__INTEGER)( 8 - (__INTEGER)(((__STRING *)str__4L)->count__NT - old_count__ST));
+  Self__2CD=((__STRING *)str__4L);
+  Self__4XD= 1;
+  while ((Self__4XD <= __tmp__YT)) {
+    i__W4F=Self__2CD->count__NT;
+    add_last__C3C(Self__2CD,' ');
+    __tmp__TYT=Self__2CD->storage__X3C;
+    __tmp__UYT=Self__2CD->storage__X3C;
+    while ((i__W4F != old_count__ST)) {
+      ((__CHARACTER *)__tmp__UYT)[(__INTEGER)((__INTEGER)(i__W4F +  1) -  1)]=((__CHARACTER *)__tmp__TYT)[(__INTEGER)(i__W4F -  1)];
+      i__W4F=(__INTEGER)(i__W4F -  1);
+    };
+    ((__CHARACTER *)Self__2CD->storage__X3C)[(__INTEGER)((__INTEGER)(old_count__ST +  1) -  1)]=' ';
+    Self__4XD=(__INTEGER)(Self__4XD +  1);
+  };
+}
+
+static void put_string__XR(void *s__ZR)
+// ({STRING_CONSTANTxSTRING}) VoidNo recursive, No inlinable.
+{
+  __INTEGER __tmp__MS,Self__M1,limit_up__N1;
+  __CHARACTER *__tmp__YYT,*__tmp__ZYT;
+  __CHARACTER __tmp__TS;
+  if (((struct ___OBJ *)s__ZR)->__id==__STRING_CONSTANT__) {
+  };
+  if (((struct ___OBJ *)s__ZR)->__id==__STRING_CONSTANT__) {
+    __tmp__MS=((__STRING_CONSTANT *)s__ZR)->count__H1;
+  } else {
+    __tmp__MS=((__STRING *)s__ZR)->count__NT;
+  };
+  Self__M1= 1;
+  limit_up__N1=__tmp__MS;
+  __tmp__YYT=((__STRING_CONSTANT *)s__ZR)->storage__1PE;
+  __tmp__ZYT=((__STRING *)s__ZR)->storage__X3C;
+  while ((Self__M1 <= limit_up__N1)) {
+    if (((struct ___OBJ *)s__ZR)->__id==__STRING_CONSTANT__) {
+      __tmp__TS=((__CHARACTER *)__tmp__YYT)[(__INTEGER)(Self__M1 -  1)];
+    } else {
+      __tmp__TS=((__CHARACTER *)__tmp__ZYT)[(__INTEGER)(Self__M1 -  1)];
+    };
+    fputc((int)(__tmp__TS),stdout);
+    Self__M1=(__INTEGER)(Self__M1 +  1);
+  };
+}
+
+//==========================//
+// DEBUG MANAGER            //
+//==========================//
+
+void print_string(char *str) 
+{ 
+  while (*str!=0) {
+    print_char(*str); 
+    str++; 
+  };
+}  
+
diff --git a/example/shootout/partial_sums/partial_sums.c b/example/shootout/partial_sums/partial_sums.c
new file mode 100755
index 0000000..0f79d32
--- /dev/null
+++ b/example/shootout/partial_sums/partial_sums.c
@@ -0,0 +1,3853 @@
+// C code generated by Lisaac compiler (www.isaacOS.com) //
+int arg_count;
+char **arg_vector;
+
+//==========================//
+// EXTERNAL                 //
+//==========================//
+
+// FLOAT_REAL
+#include <math.h>
+// MEMORY
+
+#define MINIMUM_SIZE 256  
+void *table_size[MINIMUM_SIZE/sizeof(void *)];
+void *last_block[64];
+
+// SYSTEM_IO
+
+#include <stdio.h>
+#include <stdlib.h>
+  
+// Hardware 'print_char'
+void print_char(char car)
+{
+  fputc(car,stdout);
+}
+
+// Hardware 'exit'
+int die_with_code(int code)
+{
+  exit(code);
+}
+
+
+// SYSTEM
+#include <time.h>
+
+//==========================//
+// TYPE                     //
+//==========================//
+
+// Generic Object
+struct ___OBJ {
+  unsigned long __id;
+};
+
+// NULL
+#ifndef NULL
+#define NULL ((void *)0)
+#endif
+
+// INTEGER
+typedef int __INTEGER;
+
+// CHARACTER
+typedef char __CHARACTER;
+
+// STRING_CONSTANT
+#define __STRING_CONSTANT__ 0
+typedef struct STRING_CONSTANT_struct __STRING_CONSTANT;
+struct STRING_CONSTANT_struct {
+  __INTEGER count__JX;
+  __CHARACTER *storage__ZZD;
+};
+__STRING_CONSTANT STRING_CONSTANT_;
+#define STRING_CONSTANT__ (&STRING_CONSTANT_)
+
+// STRING
+#define __STRING__ 1
+typedef struct STRING_struct __STRING;
+struct STRING_struct {
+  __INTEGER count__CS;
+  __INTEGER capacity__ES;
+  __CHARACTER *storage__CNC;
+};
+__STRING STRING_;
+#define STRING__ (&STRING_)
+
+// POINTER
+typedef void * __POINTER;
+
+// UINTEGER_32
+typedef unsigned long __UINTEGER_32;
+
+// REAL_64
+typedef double __REAL_64;
+
+// NUMERIC
+#define __NUMERIC__ 2
+typedef struct NUMERIC_struct __NUMERIC;
+struct NUMERIC_struct {
+  void *Nothing;
+};
+__NUMERIC NUMERIC_;
+#define NUMERIC__ (&NUMERIC_)
+
+// ARRAYED_COLLECTION[STRING]
+#define __ARRAYED_COLLECTIONoSTRINGo__ 3
+typedef struct ARRAYED_COLLECTIONoSTRINGo_struct __ARRAYED_COLLECTIONoSTRINGo;
+struct ARRAYED_COLLECTIONoSTRINGo_struct {
+  __INTEGER upper__WH;
+  __INTEGER capacity__OOC;
+  void **storage__ZOC;
+};
+__ARRAYED_COLLECTIONoSTRINGo ARRAYED_COLLECTIONoSTRINGo_;
+#define ARRAYED_COLLECTIONoSTRINGo__ (&ARRAYED_COLLECTIONoSTRINGo_)
+
+// FAST_ARRAY[STRING]
+#define __FAST_ARRAYoSTRINGo__ 4
+typedef struct FAST_ARRAYoSTRINGo_struct __FAST_ARRAYoSTRINGo;
+struct FAST_ARRAYoSTRINGo_struct {
+  __ARRAYED_COLLECTIONoSTRINGo parent_arrayed_collection__TH;
+};
+__FAST_ARRAYoSTRINGo FAST_ARRAYoSTRINGo_;
+#define FAST_ARRAYoSTRINGo__ (&FAST_ARRAYoSTRINGo_)
+
+// OBJECT
+#define __OBJECT__ 5
+typedef struct OBJECT_struct __OBJECT;
+struct OBJECT_struct {
+  void *Nothing;
+};
+__OBJECT OBJECT_;
+#define OBJECT__ (&OBJECT_)
+
+// MEMORY
+#define __MEMORY__ 6
+typedef struct MEMORY_struct __MEMORY;
+struct MEMORY_struct {
+  volatile __UINTEGER_32 previous_linear__CZ;
+  volatile __UINTEGER_32 size_and_id__DZ;
+  __MEMORY *next_free__EZ;
+  __MEMORY *previous_free__FZ;
+} __attribute__ ((packed));
+__MEMORY MEMORY_;
+#define MEMORY__ (&MEMORY_)
+
+// FALSE
+#define FALSE__ 0
+
+// TRUE
+#define TRUE__ 1
+
+// PARTIAL_SUMS
+#define __PARTIAL_SUMS__ 7
+typedef struct PARTIAL_SUMS_struct __PARTIAL_SUMS;
+struct PARTIAL_SUMS_struct {
+  void *Nothing;
+};
+__PARTIAL_SUMS PARTIAL_SUMS_;
+#define PARTIAL_SUMS__ (&PARTIAL_SUMS_)
+
+// INTEGER_8
+typedef signed char __INTEGER_8;
+
+// BOOLEAN
+typedef char __BOOLEAN;
+
+
+void *table_type[8];
+
+//==========================//
+// GLOBAL                   //
+//==========================//
+
+void *parent_numeric__H;
+void *string_tmp__JO;
+__UINTEGER_32 clone_allocation_size__YY;
+__POINTER begin_memory__XLB;
+__UINTEGER_32 nb_page__UYB;
+__UINTEGER_32 capacity_max__4KD;
+__MEMORY *first_free__2KG;
+__REAL_64 two_third__DD;
+
+//==========================//
+// STRING CONSTANT          //
+//==========================//
+
+__STRING_CONSTANT __string_1={19,"Not enough memory.\n"};
+__STRING_CONSTANT __string_2={9,"\t(2/3)^k\n"};
+__STRING_CONSTANT __string_3={8,"\tk^-0.5\n"};
+__STRING_CONSTANT __string_4={10,"\t1/k(k+1)\n"};
+__STRING_CONSTANT __string_5={13,"\tFlint Hills\n"};
+__STRING_CONSTANT __string_6={15,"\tCookson Hills\n"};
+__STRING_CONSTANT __string_7={10,"\tHarmonic\n"};
+__STRING_CONSTANT __string_8={14,"\tRiemann Zeta\n"};
+__STRING_CONSTANT __string_9={22,"\tAlternating Harmonic\n"};
+__STRING_CONSTANT __string_10={9,"\tGregory\n"};
+__STRING_CONSTANT __string_11={4,"%.9f"};
+
+//==========================//
+// FUNCTION HEADER          //
+//==========================//
+
+// Debug Manager
+void print_string(char *str);
+// Source code
+static void print__PO(__STRING_CONSTANT *Self__QO);
+static __STRING* create__LV(__INTEGER needed_capacity__NV);
+static __POINTER realloc_dynamic__old_size__new_size__FPH(__POINTER p__HPH,__UINTEGER_32 old_sz__IPH,__UINTEGER_32 new_sz__JPH);
+static void print_format_c__GO(__REAL_64 Self__HO);
+
+//==========================//
+// SOURCE CODE              //
+//==========================//
+
+int main(int argc,char **argv)
+{
+  void *str__1P;
+  __INTEGER new_count__0T,typ_id__KY,Self__W3R,Self__FU,limit_up__GU;
+  __INTEGER idx__JUD,i__2VD,new_capacity__VSD,Self__E4R,__tmp__OTD;
+  __INTEGER __tmp__X2G,Self__YDL,new_capacity__WWD,Self__NXH,__tmp__0XD;
+  __INTEGER __tmp__O4G,Self__XFL,n__Z,state__ZTK,result__2TK,i__YTK;
+  __INTEGER __tmp__2XR,__tmp__4XR,Self__DM,limit_up__EM,Self__HN;
+  __INTEGER limit_up__IN,Self__XN,limit_up__YN;
+  __POINTER ptr__FY,ptr_table__P0R,next__O0R,result__Q0R,mem__HKS;
+  __POINTER result__NKS,mem__YKS,result__4KS,ptr_table__3JB,next__CKB;
+  __POINTER result__AKB,mem__JLS,result__PLS,mem__0LS,result__AMS;
+  __POINTER result__M3R,ptr_table__S3R,next__T3R,result__U3R,mem__LMS;
+  __POINTER result__RMS,mem__2MS,result__CNS,mem__0AS,result__03R;
+  __POINTER ptr_table__A4R,next__B4R,result__C4R,mem__NNS,result__TNS;
+  __POINTER mem__4NS,result__EOS,mem__LBS,result__OYR,ptr_table__RZR;
+  __POINTER next__QZR,result__SZR,mem__POS,result__VOS,mem__VBS;
+  __POINTER result__LYB,mem__QBS;
+  __UINTEGER_32 sz__HY,a__GVR,new_size__XDB,idx__BKS,pv__EKS,cap__IKS;
+  __UINTEGER_32 idx__SKS,pv__VKS,cap__ZKS,old_size__1KS,t__AFB,a__MVR;
+  __UINTEGER_32 new_size__2JB,lab_type__4JB,idx__DLS,pv__GLS,cap__KLS;
+  __UINTEGER_32 old_size__MLS,idx__ULS,pv__XLS,cap__1LS,old_size__3LS;
+  __UINTEGER_32 sz__L3R,a__N3R,new_size__O3R,new_size2__P3R,a__Q3R;
+  __UINTEGER_32 new_size__R3R,idx__FMS,pv__IMS,cap__MMS,old_size__OMS;
+  __UINTEGER_32 idx__WMS,pv__ZMS,cap__3MS,old_size__5MS,cap__1AS;
+  __UINTEGER_32 old_size__3AS,idx__SAS,siz__WAS,new_size__XAS,a__13R;
+  __UINTEGER_32 new_size__23R,new_size2__33R,a__43R,new_size__53R;
+  __UINTEGER_32 idx__HNS,pv__KNS,cap__ONS,old_size__QNS,idx__YNS;
+  __UINTEGER_32 pv__1NS,cap__5NS,old_size__BOS,cap__MBS,old_size__OBS;
+  __UINTEGER_32 idx__DBS,siz__HBS,new_size__IBS,sz__QYR,a__PYR;
+  __UINTEGER_32 new_size__RYR,new_size2__SYR,a__UYR,new_size__VYR;
+  __UINTEGER_32 idx__JOS,pv__MOS,cap__QOS,old_size__SOS,idx__GYB;
+  __UINTEGER_32 pv__NYB,cap__WBS,old_size__YBS,cap__RBS,old_size__TBS;
+  __UINTEGER_32 idx__EDH,siz__FDH,new_size__IDH;
+  __MEMORY *blc__CKS,*prev__DKS,*block__LKS,*prev__PKS,*next__QKS;
+  __MEMORY *blc__TKS,*prev__UKS,*block__2KS,*Self__3KS,*Self__5KS;
+  __MEMORY *prev__ALS,*next__BLS,*blc__ELS,*prev__FLS,*block__NLS;
+  __MEMORY *Self__OLS,*Self__QLS,*prev__RLS,*next__SLS,*blc__VLS;
+  __MEMORY *prev__WLS,*block__4LS,*Self__5LS,*Self__BMS,*prev__CMS;
+  __MEMORY *next__DMS,*blc__GMS,*prev__HMS,*block__PMS,*Self__QMS;
+  __MEMORY *Self__SMS,*prev__TMS,*next__UMS,*blc__XMS,*prev__YMS;
+  __MEMORY *block__ANS,*Self__BNS,*Self__DNS,*prev__ENS,*next__FNS;
+  __MEMORY *result__OAS,*block__4AS,*Self__RAS,*new__TAS,*prev__UAS;
+  __MEMORY *next__VAS,*Self__YAS,*Self__ZAS,*blc__INS,*prev__JNS;
+  __MEMORY *block__RNS,*Self__SNS,*Self__UNS,*prev__VNS,*next__WNS;
+  __MEMORY *blc__ZNS,*prev__0NS,*block__COS,*Self__DOS,*Self__FOS;
+  __MEMORY *prev__GOS,*next__HOS,*result__5AS,*block__PBS,*Self__CBS;
+  __MEMORY *new__EBS,*prev__FBS,*next__GBS,*Self__JBS,*Self__KBS;
+  __MEMORY *blc__KOS,*prev__LOS,*block__TOS,*Self__UOS,*Self__WOS;
+  __MEMORY *prev__XOS,*next__YOS,*blc__JYB,*prev__KYB,*block__ZBS;
+  __MEMORY *Self__TKR,*Self__VUR,*prev__WUR,*next__XUR,*result__3JG;
+  __MEMORY *block__UBS,*Self__CDH,*new__LDH,*prev__U3H,*next__V3H;
+  __MEMORY *Self__BYG,*Self__HGR;
+  __STRING *Self__0VD,*Self__WTK;
+  __REAL_64 a1__CB,a2__FB,a3__IB,a4__LB,a5__OB,a6__RB,a7__UB,a8__XB;
+  __REAL_64 a9__0B,nr__AC,Self__TI,limit_up__UI,Self__WJ,limit_up__XJ;
+  __REAL_64 Self__KK,limit_up__LK,Self__4K,limit_up__5K,Self__SL;
+  __REAL_64 limit_up__TL,Self__VM,limit_up__WM,alt__3B;
+  __CHARACTER *arg__0P,*Self__3TD,*p__1VD,*Result__D4R,*__tmp__NTD;
+  __CHARACTER *new__E2G,*__tmp__3XR;
+  __FAST_ARRAYoSTRINGo *result__EY,*Self__FOC,*Self__UWD;
+  __BOOLEAN __tmp__FKS,__tmp__WKS,__tmp__HLS,__tmp__YLS,__tmp__JMS;
+  __BOOLEAN __tmp__0MS,__tmp__LNS,__tmp__2NS,__tmp__EXD,__tmp__NOS;
+  __BOOLEAN __tmp__NZB,negative__1TK,__tmp__IVK,result__TGP,__tmp__1VK;
+  __BOOLEAN __tmp__QWK,result__Z0N,__tmp__XXK,result__L1N,result__JOO;
+  void **Result__V3R,**Result__FVF,**__tmp__ZXD,**new__13G;
+  void *result__ZP;
+  __CHARACTER ch__USD,cc__0TK;
+  arg_count  = argc;
+  arg_vector = argv;
+  parent_numeric__H=NUMERIC__;
+  ARRAYED_COLLECTIONoSTRINGo__->upper__WH= 0;
+  ARRAYED_COLLECTIONoSTRINGo__->capacity__OOC= 0;
+  ARRAYED_COLLECTIONoSTRINGo__->storage__ZOC=NULL;
+  FAST_ARRAYoSTRINGo__->parent_arrayed_collection__TH=(*ARRAYED_COLLECTIONoSTRINGo__);
+  clone_allocation_size__YY= 0;
+  STRING_CONSTANT__->count__JX=((__INTEGER )((0)));
+  STRING__->count__CS= 0;
+  STRING_CONSTANT__->storage__ZZD=((__CHARACTER *)(NULL));
+  STRING__->storage__CNC=NULL;
+  nb_page__UYB= 0;
+  MEMORY__->size_and_id__DZ= 0;
+  capacity_max__4KD= 0;
+  begin_memory__XLB=((__POINTER )(NULL));
+  MEMORY__->previous_linear__CZ= 0;
+  first_free__2KG=NULL;
+  MEMORY__->next_free__EZ=NULL;
+  MEMORY__->previous_free__FZ=NULL;
+  STRING__->capacity__ES= 0;
+  arg__0P=NULL;
+  str__1P=NULL;
+  new_count__0T=((__INTEGER )(arg_count));
+  result__EY=NULL;
+  ptr__FY=((__POINTER )(NULL));
+  typ_id__KY= 0;
+  sz__HY=((__UINTEGER_32 )sizeof(__FAST_ARRAYoSTRINGo));
+  if ((sz__HY ==  0)) {
+    result__EY=FAST_ARRAYoSTRINGo__;
+  } else {
+    typ_id__KY=__FAST_ARRAYoSTRINGo__;
+    clone_allocation_size__YY=sz__HY;
+    if ((typ_id__KY == (__INTEGER)(-  1))) {
+      a__GVR=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__XDB=(__UINTEGER_32)((__UINTEGER_32)(sz__HY + a__GVR) & (__UINTEGER_32)(~ a__GVR));
+      ptr_table__P0R=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__XDB / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+      next__O0R=((__POINTER )(NULL));
+      result__Q0R=((__POINTER *)ptr_table__P0R)[ 0];
+      if ((result__Q0R == (void *)NULL)) {
+        idx__BKS= 0;
+        blc__CKS=NULL;
+        prev__DKS=NULL;
+        pv__EKS= 0;
+        while_do__F3B__GKS:
+        {
+          if ((idx__BKS < nb_page__UYB)) {
+            blc__CKS=((__MEMORY *)(last_block[(idx__BKS)]));
+            __tmp__FKS=(((__UINTEGER_32)(((__MEMORY *)blc__CKS)->size_and_id__DZ &  4294967292LU) <  4096) || ((__UINTEGER_32)(((__MEMORY *)blc__CKS)->size_and_id__DZ &  1) ==  1));
+          } else {
+            __tmp__FKS=FALSE__;
+          };
+          if (__tmp__FKS) {
+            idx__BKS=(__UINTEGER_32)(idx__BKS +  1);
+            goto while_do__F3B__GKS;
+          };
+        };
+        mem__HKS=((__POINTER )(NULL));
+        cap__IKS= 33554432;
+        do {
+          cap__IKS=(__UINTEGER_32)(cap__IKS <<  1);
+          mem__HKS=((__POINTER )(malloc((cap__IKS))));
+          if ((mem__HKS != (void *)NULL)) {
+            free((mem__HKS));
+          };
+        } while ((! ((mem__HKS == (void *)NULL) || (cap__IKS ==  2147483648LU))));
+        if ((mem__HKS == (void *)NULL)) {
+          cap__IKS=(__UINTEGER_32)(cap__IKS >>  1);
+        };
+        capacity_max__4KD=cap__IKS;
+        begin_memory__XLB=((__POINTER )(malloc((cap__IKS))));
+        nb_page__UYB= 1;
+        if (( 67108864 > cap__IKS)) {
+          print__PO((&__string_1));
+          exit(( 1));
+        };
+        block__LKS=((__MEMORY *)(void *)((unsigned long)begin_memory__XLB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 0))));
+        block__LKS->previous_linear__CZ= 4294967295LU;
+        block__LKS->size_and_id__DZ= 67108858;
+        block__LKS->next_free__EZ=first_free__2KG;
+        block__LKS->previous_free__FZ=NULL;
+        if (((void *)first_free__2KG != (void *)NULL)) {
+          ((__MEMORY *)first_free__2KG)->previous_free__FZ=block__LKS;
+        };
+        first_free__2KG=block__LKS;
+        last_block[((__UINTEGER_32)(nb_page__UYB -  1))] = (block__LKS);
+        blc__CKS=block__LKS;
+        block__LKS->size_and_id__DZ=(__UINTEGER_32)(block__LKS->size_and_id__DZ -  4096);
+        result__NKS=((__POINTER )((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )block__LKS) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(block__LKS->size_and_id__DZ &  4294967292LU))))));
+        if (((__UINTEGER_32)(block__LKS->size_and_id__DZ &  4294967292LU) < ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+          prev__PKS=block__LKS->previous_free__FZ;
+          next__QKS=block__LKS->next_free__EZ;
+          if (((void *)prev__PKS == (void *)NULL)) {
+            first_free__2KG=next__QKS;
+          } else {
+            ((__MEMORY *)prev__PKS)->next_free__EZ=next__QKS;
+          };
+          if (((void *)next__QKS != (void *)NULL)) {
+            ((__MEMORY *)next__QKS)->previous_free__FZ=prev__PKS;
+          };
+          pv__EKS=block__LKS->previous_linear__CZ;
+          if ((pv__EKS !=  4294967295LU)) {
+            prev__DKS=((__MEMORY *)(void *)((unsigned long)begin_memory__XLB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )pv__EKS))));
+            ((__MEMORY *)prev__DKS)->size_and_id__DZ=(__UINTEGER_32)((__UINTEGER_32)(prev__DKS->size_and_id__DZ + block__LKS->size_and_id__DZ) +  8);
+            last_block[(idx__BKS)] = (prev__DKS);
+          };
+        };
+        ((__POINTER *)result__NKS)[ 0]=((__POINTER )new_size__XDB);
+        result__Q0R=(void *)((unsigned long)result__NKS - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+        next__O0R=(void *)((unsigned long)result__Q0R - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__XDB)));
+        ((__POINTER *)next__O0R)[ 0]=NULL;
+        ((__POINTER *)ptr_table__P0R)[ 0]=next__O0R;
+      } else {
+        next__O0R=((__POINTER *)result__Q0R)[ 0];
+        if ((next__O0R == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__Q0R - (unsigned long)begin_memory__XLB)))) &  4095) + (__UINTEGER_32)(new_size__XDB <<  1)) <=  4096)) {
+            next__O0R=(void *)((unsigned long)result__Q0R - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__XDB)));
+          } else {
+            idx__SKS= 0;
+            blc__TKS=NULL;
+            prev__UKS=NULL;
+            pv__VKS= 0;
+            while_do__F3B__XKS:
+            {
+              if ((idx__SKS < nb_page__UYB)) {
+                blc__TKS=((__MEMORY *)(last_block[(idx__SKS)]));
+                __tmp__WKS=(((__UINTEGER_32)(((__MEMORY *)blc__TKS)->size_and_id__DZ &  4294967292LU) <  4096) || ((__UINTEGER_32)(((__MEMORY *)blc__TKS)->size_and_id__DZ &  1) ==  1));
+              } else {
+                __tmp__WKS=FALSE__;
+              };
+              if (__tmp__WKS) {
+                idx__SKS=(__UINTEGER_32)(idx__SKS +  1);
+                goto while_do__F3B__XKS;
+              };
+            };
+            if ((idx__SKS >= nb_page__UYB)) {
+              if ((capacity_max__4KD ==  0)) {
+                mem__YKS=((__POINTER )(NULL));
+                cap__ZKS= 33554432;
+                do {
+                  cap__ZKS=(__UINTEGER_32)(cap__ZKS <<  1);
+                  mem__YKS=((__POINTER )(malloc((cap__ZKS))));
+                  if ((mem__YKS != (void *)NULL)) {
+                    free((mem__YKS));
+                  };
+                } while ((! ((mem__YKS == (void *)NULL) || (cap__ZKS ==  2147483648LU))));
+                if ((mem__YKS == (void *)NULL)) {
+                  cap__ZKS=(__UINTEGER_32)(cap__ZKS >>  1);
+                };
+                capacity_max__4KD=cap__ZKS;
+                begin_memory__XLB=((__POINTER )(malloc((cap__ZKS))));
+              };
+              old_size__1KS=(__UINTEGER_32)(nb_page__UYB <<  26);
+              nb_page__UYB=(__UINTEGER_32)(nb_page__UYB +  1);
+              if (((__UINTEGER_32)(old_size__1KS +  67108864) > capacity_max__4KD)) {
+                print__PO((&__string_1));
+                exit(( 1));
+              };
+              block__2KS=((__MEMORY *)(void *)((unsigned long)begin_memory__XLB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )old_size__1KS))));
+              block__2KS->previous_linear__CZ= 4294967295LU;
+              block__2KS->size_and_id__DZ= 67108858;
+              block__2KS->next_free__EZ=first_free__2KG;
+              block__2KS->previous_free__FZ=NULL;
+              if (((void *)first_free__2KG != (void *)NULL)) {
+                ((__MEMORY *)first_free__2KG)->previous_free__FZ=block__2KS;
+              };
+              first_free__2KG=block__2KS;
+              last_block[((__UINTEGER_32)(nb_page__UYB -  1))] = (block__2KS);
+              blc__TKS=block__2KS;
+            };
+            ((__MEMORY *)blc__TKS)->size_and_id__DZ=(__UINTEGER_32)(blc__TKS->size_and_id__DZ -  4096);
+            Self__3KS=((__MEMORY *)blc__TKS);
+            result__4KS=((__POINTER )((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__3KS) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__3KS->size_and_id__DZ &  4294967292LU))))));
+            if (((__UINTEGER_32)(((__MEMORY *)blc__TKS)->size_and_id__DZ &  4294967292LU) < ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+              Self__5KS=((__MEMORY *)blc__TKS);
+              prev__ALS=Self__5KS->previous_free__FZ;
+              next__BLS=Self__5KS->next_free__EZ;
+              if (((void *)prev__ALS == (void *)NULL)) {
+                first_free__2KG=next__BLS;
+              } else {
+                ((__MEMORY *)prev__ALS)->next_free__EZ=next__BLS;
+              };
+              if (((void *)next__BLS != (void *)NULL)) {
+                ((__MEMORY *)next__BLS)->previous_free__FZ=prev__ALS;
+              };
+              pv__VKS=blc__TKS->previous_linear__CZ;
+              if ((pv__VKS !=  4294967295LU)) {
+                prev__UKS=((__MEMORY *)(void *)((unsigned long)begin_memory__XLB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )pv__VKS))));
+                ((__MEMORY *)prev__UKS)->size_and_id__DZ=(__UINTEGER_32)((__UINTEGER_32)(prev__UKS->size_and_id__DZ + blc__TKS->size_and_id__DZ) +  8);
+                last_block[(idx__SKS)] = (prev__UKS);
+              };
+            };
+            ((__POINTER *)result__4KS)[ 0]=((__POINTER )new_size__XDB);
+            next__O0R=(void *)((unsigned long)result__4KS - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+          };
+          ((__POINTER *)next__O0R)[ 0]=NULL;
+          ((__POINTER *)ptr_table__P0R)[ 0]=next__O0R;
+        } else {
+          ((__POINTER *)result__Q0R)[ 0]=(void *)((unsigned long)((__POINTER *)next__O0R)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__Q0R=next__O0R;
+        };
+      };
+      ptr__FY=result__Q0R;
+    } else {
+      t__AFB=((__UINTEGER_32 )typ_id__KY);
+      a__MVR=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__2JB=(__UINTEGER_32)((__UINTEGER_32)(sz__HY + a__MVR) & (__UINTEGER_32)(~ a__MVR));
+      ptr_table__3JB=((__POINTER )(&(table_type[(t__AFB)])));
+      lab_type__4JB=(__UINTEGER_32)(t__AFB |  1);
+      next__CKB=((__POINTER )(NULL));
+      result__AKB=((__POINTER *)ptr_table__3JB)[ 0];
+      if ((result__AKB == (void *)NULL)) {
+        idx__DLS= 0;
+        blc__ELS=NULL;
+        prev__FLS=NULL;
+        pv__GLS= 0;
+        while_do__F3B__ILS:
+        {
+          if ((idx__DLS < nb_page__UYB)) {
+            blc__ELS=((__MEMORY *)(last_block[(idx__DLS)]));
+            __tmp__HLS=(((__UINTEGER_32)(((__MEMORY *)blc__ELS)->size_and_id__DZ &  4294967292LU) <  4096) || ((__UINTEGER_32)(((__MEMORY *)blc__ELS)->size_and_id__DZ &  1) ==  1));
+          } else {
+            __tmp__HLS=FALSE__;
+          };
+          if (__tmp__HLS) {
+            idx__DLS=(__UINTEGER_32)(idx__DLS +  1);
+            goto while_do__F3B__ILS;
+          };
+        };
+        if ((idx__DLS >= nb_page__UYB)) {
+          if ((capacity_max__4KD ==  0)) {
+            mem__JLS=((__POINTER )(NULL));
+            cap__KLS= 33554432;
+            do {
+              cap__KLS=(__UINTEGER_32)(cap__KLS <<  1);
+              mem__JLS=((__POINTER )(malloc((cap__KLS))));
+              if ((mem__JLS != (void *)NULL)) {
+                free((mem__JLS));
+              };
+            } while ((! ((mem__JLS == (void *)NULL) || (cap__KLS ==  2147483648LU))));
+            if ((mem__JLS == (void *)NULL)) {
+              cap__KLS=(__UINTEGER_32)(cap__KLS >>  1);
+            };
+            capacity_max__4KD=cap__KLS;
+            begin_memory__XLB=((__POINTER )(malloc((cap__KLS))));
+          };
+          old_size__MLS=(__UINTEGER_32)(nb_page__UYB <<  26);
+          nb_page__UYB=(__UINTEGER_32)(nb_page__UYB +  1);
+          if (((__UINTEGER_32)(old_size__MLS +  67108864) > capacity_max__4KD)) {
+            print__PO((&__string_1));
+            exit(( 1));
+          };
+          block__NLS=((__MEMORY *)(void *)((unsigned long)begin_memory__XLB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )old_size__MLS))));
+          block__NLS->previous_linear__CZ= 4294967295LU;
+          block__NLS->size_and_id__DZ= 67108858;
+          block__NLS->next_free__EZ=first_free__2KG;
+          block__NLS->previous_free__FZ=NULL;
+          if (((void *)first_free__2KG != (void *)NULL)) {
+            ((__MEMORY *)first_free__2KG)->previous_free__FZ=block__NLS;
+          };
+          first_free__2KG=block__NLS;
+          last_block[((__UINTEGER_32)(nb_page__UYB -  1))] = (block__NLS);
+          blc__ELS=block__NLS;
+        };
+        ((__MEMORY *)blc__ELS)->size_and_id__DZ=(__UINTEGER_32)(blc__ELS->size_and_id__DZ -  4096);
+        Self__OLS=((__MEMORY *)blc__ELS);
+        result__PLS=((__POINTER )((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__OLS) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__OLS->size_and_id__DZ &  4294967292LU))))));
+        if (((__UINTEGER_32)(((__MEMORY *)blc__ELS)->size_and_id__DZ &  4294967292LU) < ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+          Self__QLS=((__MEMORY *)blc__ELS);
+          prev__RLS=Self__QLS->previous_free__FZ;
+          next__SLS=Self__QLS->next_free__EZ;
+          if (((void *)prev__RLS == (void *)NULL)) {
+            first_free__2KG=next__SLS;
+          } else {
+            ((__MEMORY *)prev__RLS)->next_free__EZ=next__SLS;
+          };
+          if (((void *)next__SLS != (void *)NULL)) {
+            ((__MEMORY *)next__SLS)->previous_free__FZ=prev__RLS;
+          };
+          pv__GLS=blc__ELS->previous_linear__CZ;
+          if ((pv__GLS !=  4294967295LU)) {
+            prev__FLS=((__MEMORY *)(void *)((unsigned long)begin_memory__XLB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )pv__GLS))));
+            ((__MEMORY *)prev__FLS)->size_and_id__DZ=(__UINTEGER_32)((__UINTEGER_32)(prev__FLS->size_and_id__DZ + blc__ELS->size_and_id__DZ) +  8);
+            last_block[(idx__DLS)] = (prev__FLS);
+          };
+        };
+        ((__POINTER *)result__PLS)[ 0]=((__POINTER )lab_type__4JB);
+        result__AKB=(void *)((unsigned long)result__PLS - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+        next__CKB=(void *)((unsigned long)result__AKB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__2JB)));
+        ((__POINTER *)next__CKB)[ 0]=NULL;
+        ((__POINTER *)ptr_table__3JB)[ 0]=next__CKB;
+      } else {
+        next__CKB=((__POINTER *)result__AKB)[ 0];
+        if ((next__CKB == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__AKB - (unsigned long)begin_memory__XLB)))) &  4095) + (__UINTEGER_32)(new_size__2JB <<  1)) <=  4096)) {
+            next__CKB=(void *)((unsigned long)result__AKB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__2JB)));
+          } else {
+            idx__ULS= 0;
+            blc__VLS=NULL;
+            prev__WLS=NULL;
+            pv__XLS= 0;
+            while_do__F3B__ZLS:
+            {
+              if ((idx__ULS < nb_page__UYB)) {
+                blc__VLS=((__MEMORY *)(last_block[(idx__ULS)]));
+                __tmp__YLS=(((__UINTEGER_32)(((__MEMORY *)blc__VLS)->size_and_id__DZ &  4294967292LU) <  4096) || ((__UINTEGER_32)(((__MEMORY *)blc__VLS)->size_and_id__DZ &  1) ==  1));
+              } else {
+                __tmp__YLS=FALSE__;
+              };
+              if (__tmp__YLS) {
+                idx__ULS=(__UINTEGER_32)(idx__ULS +  1);
+                goto while_do__F3B__ZLS;
+              };
+            };
+            if ((idx__ULS >= nb_page__UYB)) {
+              if ((capacity_max__4KD ==  0)) {
+                mem__0LS=((__POINTER )(NULL));
+                cap__1LS= 33554432;
+                do {
+                  cap__1LS=(__UINTEGER_32)(cap__1LS <<  1);
+                  mem__0LS=((__POINTER )(malloc((cap__1LS))));
+                  if ((mem__0LS != (void *)NULL)) {
+                    free((mem__0LS));
+                  };
+                } while ((! ((mem__0LS == (void *)NULL) || (cap__1LS ==  2147483648LU))));
+                if ((mem__0LS == (void *)NULL)) {
+                  cap__1LS=(__UINTEGER_32)(cap__1LS >>  1);
+                };
+                capacity_max__4KD=cap__1LS;
+                begin_memory__XLB=((__POINTER )(malloc((cap__1LS))));
+              };
+              old_size__3LS=(__UINTEGER_32)(nb_page__UYB <<  26);
+              nb_page__UYB=(__UINTEGER_32)(nb_page__UYB +  1);
+              if (((__UINTEGER_32)(old_size__3LS +  67108864) > capacity_max__4KD)) {
+                print__PO((&__string_1));
+                exit(( 1));
+              };
+              block__4LS=((__MEMORY *)(void *)((unsigned long)begin_memory__XLB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )old_size__3LS))));
+              block__4LS->previous_linear__CZ= 4294967295LU;
+              block__4LS->size_and_id__DZ= 67108858;
+              block__4LS->next_free__EZ=first_free__2KG;
+              block__4LS->previous_free__FZ=NULL;
+              if (((void *)first_free__2KG != (void *)NULL)) {
+                ((__MEMORY *)first_free__2KG)->previous_free__FZ=block__4LS;
+              };
+              first_free__2KG=block__4LS;
+              last_block[((__UINTEGER_32)(nb_page__UYB -  1))] = (block__4LS);
+              blc__VLS=block__4LS;
+            };
+            ((__MEMORY *)blc__VLS)->size_and_id__DZ=(__UINTEGER_32)(blc__VLS->size_and_id__DZ -  4096);
+            Self__5LS=((__MEMORY *)blc__VLS);
+            result__AMS=((__POINTER )((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__5LS) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__5LS->size_and_id__DZ &  4294967292LU))))));
+            if (((__UINTEGER_32)(((__MEMORY *)blc__VLS)->size_and_id__DZ &  4294967292LU) < ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+              Self__BMS=((__MEMORY *)blc__VLS);
+              prev__CMS=Self__BMS->previous_free__FZ;
+              next__DMS=Self__BMS->next_free__EZ;
+              if (((void *)prev__CMS == (void *)NULL)) {
+                first_free__2KG=next__DMS;
+              } else {
+                ((__MEMORY *)prev__CMS)->next_free__EZ=next__DMS;
+              };
+              if (((void *)next__DMS != (void *)NULL)) {
+                ((__MEMORY *)next__DMS)->previous_free__FZ=prev__CMS;
+              };
+              pv__XLS=blc__VLS->previous_linear__CZ;
+              if ((pv__XLS !=  4294967295LU)) {
+                prev__WLS=((__MEMORY *)(void *)((unsigned long)begin_memory__XLB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )pv__XLS))));
+                ((__MEMORY *)prev__WLS)->size_and_id__DZ=(__UINTEGER_32)((__UINTEGER_32)(prev__WLS->size_and_id__DZ + blc__VLS->size_and_id__DZ) +  8);
+                last_block[(idx__ULS)] = (prev__WLS);
+              };
+            };
+            ((__POINTER *)result__AMS)[ 0]=((__POINTER )lab_type__4JB);
+            next__CKB=(void *)((unsigned long)result__AMS - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+          };
+          ((__POINTER *)next__CKB)[ 0]=NULL;
+          ((__POINTER *)ptr_table__3JB)[ 0]=next__CKB;
+        } else {
+          ((__POINTER *)result__AKB)[ 0]=(void *)((unsigned long)((__POINTER *)next__CKB)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__AKB=next__CKB;
+        };
+      };
+      ptr__FY=result__AKB;
+    };
+    result__EY=((__FAST_ARRAYoSTRINGo *)ptr__FY);
+    *(result__EY) = *(FAST_ARRAYoSTRINGo__);
+  };
+  Self__FOC=((__FAST_ARRAYoSTRINGo *)result__EY);
+  if ((Self__FOC->parent_arrayed_collection__TH.capacity__OOC < new_count__0T)) {
+    sz__L3R=((__UINTEGER_32 )(__INTEGER)(new_count__0T * ((__INTEGER )(sizeof(void *)))));
+    result__M3R=((__POINTER )(NULL));
+    a__N3R=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+    new_size__O3R=(__UINTEGER_32)((__UINTEGER_32)(sz__L3R + a__N3R) & (__UINTEGER_32)(~ a__N3R));
+    new_size2__P3R=(__UINTEGER_32)(new_size__O3R + ((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))));
+    if ((new_size2__P3R <= ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+      a__Q3R=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__R3R=(__UINTEGER_32)((__UINTEGER_32)(new_size2__P3R + a__Q3R) & (__UINTEGER_32)(~ a__Q3R));
+      ptr_table__S3R=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__R3R / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+      next__T3R=((__POINTER )(NULL));
+      result__U3R=((__POINTER *)ptr_table__S3R)[ 0];
+      if ((result__U3R == (void *)NULL)) {
+        idx__FMS= 0;
+        blc__GMS=NULL;
+        prev__HMS=NULL;
+        pv__IMS= 0;
+        while_do__F3B__KMS:
+        {
+          if ((idx__FMS < nb_page__UYB)) {
+            blc__GMS=((__MEMORY *)(last_block[(idx__FMS)]));
+            __tmp__JMS=(((__UINTEGER_32)(((__MEMORY *)blc__GMS)->size_and_id__DZ &  4294967292LU) <  4096) || ((__UINTEGER_32)(((__MEMORY *)blc__GMS)->size_and_id__DZ &  1) ==  1));
+          } else {
+            __tmp__JMS=FALSE__;
+          };
+          if (__tmp__JMS) {
+            idx__FMS=(__UINTEGER_32)(idx__FMS +  1);
+            goto while_do__F3B__KMS;
+          };
+        };
+        if ((idx__FMS >= nb_page__UYB)) {
+          if ((capacity_max__4KD ==  0)) {
+            mem__LMS=((__POINTER )(NULL));
+            cap__MMS= 33554432;
+            do {
+              cap__MMS=(__UINTEGER_32)(cap__MMS <<  1);
+              mem__LMS=((__POINTER )(malloc((cap__MMS))));
+              if ((mem__LMS != (void *)NULL)) {
+                free((mem__LMS));
+              };
+            } while ((! ((mem__LMS == (void *)NULL) || (cap__MMS ==  2147483648LU))));
+            if ((mem__LMS == (void *)NULL)) {
+              cap__MMS=(__UINTEGER_32)(cap__MMS >>  1);
+            };
+            capacity_max__4KD=cap__MMS;
+            begin_memory__XLB=((__POINTER )(malloc((cap__MMS))));
+          };
+          old_size__OMS=(__UINTEGER_32)(nb_page__UYB <<  26);
+          nb_page__UYB=(__UINTEGER_32)(nb_page__UYB +  1);
+          if (((__UINTEGER_32)(old_size__OMS +  67108864) > capacity_max__4KD)) {
+            print__PO((&__string_1));
+            exit(( 1));
+          };
+          block__PMS=((__MEMORY *)(void *)((unsigned long)begin_memory__XLB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )old_size__OMS))));
+          block__PMS->previous_linear__CZ= 4294967295LU;
+          block__PMS->size_and_id__DZ= 67108858;
+          block__PMS->next_free__EZ=first_free__2KG;
+          block__PMS->previous_free__FZ=NULL;
+          if (((void *)first_free__2KG != (void *)NULL)) {
+            ((__MEMORY *)first_free__2KG)->previous_free__FZ=block__PMS;
+          };
+          first_free__2KG=block__PMS;
+          last_block[((__UINTEGER_32)(nb_page__UYB -  1))] = (block__PMS);
+          blc__GMS=block__PMS;
+        };
+        ((__MEMORY *)blc__GMS)->size_and_id__DZ=(__UINTEGER_32)(blc__GMS->size_and_id__DZ -  4096);
+        Self__QMS=((__MEMORY *)blc__GMS);
+        result__RMS=((__POINTER )((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__QMS) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__QMS->size_and_id__DZ &  4294967292LU))))));
+        if (((__UINTEGER_32)(((__MEMORY *)blc__GMS)->size_and_id__DZ &  4294967292LU) < ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+          Self__SMS=((__MEMORY *)blc__GMS);
+          prev__TMS=Self__SMS->previous_free__FZ;
+          next__UMS=Self__SMS->next_free__EZ;
+          if (((void *)prev__TMS == (void *)NULL)) {
+            first_free__2KG=next__UMS;
+          } else {
+            ((__MEMORY *)prev__TMS)->next_free__EZ=next__UMS;
+          };
+          if (((void *)next__UMS != (void *)NULL)) {
+            ((__MEMORY *)next__UMS)->previous_free__FZ=prev__TMS;
+          };
+          pv__IMS=blc__GMS->previous_linear__CZ;
+          if ((pv__IMS !=  4294967295LU)) {
+            prev__HMS=((__MEMORY *)(void *)((unsigned long)begin_memory__XLB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )pv__IMS))));
+            ((__MEMORY *)prev__HMS)->size_and_id__DZ=(__UINTEGER_32)((__UINTEGER_32)(prev__HMS->size_and_id__DZ + blc__GMS->size_and_id__DZ) +  8);
+            last_block[(idx__FMS)] = (prev__HMS);
+          };
+        };
+        ((__POINTER *)result__RMS)[ 0]=((__POINTER )new_size__R3R);
+        result__U3R=(void *)((unsigned long)result__RMS - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+        next__T3R=(void *)((unsigned long)result__U3R - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__R3R)));
+        ((__POINTER *)next__T3R)[ 0]=NULL;
+        ((__POINTER *)ptr_table__S3R)[ 0]=next__T3R;
+      } else {
+        next__T3R=((__POINTER *)result__U3R)[ 0];
+        if ((next__T3R == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__U3R - (unsigned long)begin_memory__XLB)))) &  4095) + (__UINTEGER_32)(new_size__R3R <<  1)) <=  4096)) {
+            next__T3R=(void *)((unsigned long)result__U3R - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__R3R)));
+          } else {
+            idx__WMS= 0;
+            blc__XMS=NULL;
+            prev__YMS=NULL;
+            pv__ZMS= 0;
+            while_do__F3B__1MS:
+            {
+              if ((idx__WMS < nb_page__UYB)) {
+                blc__XMS=((__MEMORY *)(last_block[(idx__WMS)]));
+                __tmp__0MS=(((__UINTEGER_32)(((__MEMORY *)blc__XMS)->size_and_id__DZ &  4294967292LU) <  4096) || ((__UINTEGER_32)(((__MEMORY *)blc__XMS)->size_and_id__DZ &  1) ==  1));
+              } else {
+                __tmp__0MS=FALSE__;
+              };
+              if (__tmp__0MS) {
+                idx__WMS=(__UINTEGER_32)(idx__WMS +  1);
+                goto while_do__F3B__1MS;
+              };
+            };
+            if ((idx__WMS >= nb_page__UYB)) {
+              if ((capacity_max__4KD ==  0)) {
+                mem__2MS=((__POINTER )(NULL));
+                cap__3MS= 33554432;
+                do {
+                  cap__3MS=(__UINTEGER_32)(cap__3MS <<  1);
+                  mem__2MS=((__POINTER )(malloc((cap__3MS))));
+                  if ((mem__2MS != (void *)NULL)) {
+                    free((mem__2MS));
+                  };
+                } while ((! ((mem__2MS == (void *)NULL) || (cap__3MS ==  2147483648LU))));
+                if ((mem__2MS == (void *)NULL)) {
+                  cap__3MS=(__UINTEGER_32)(cap__3MS >>  1);
+                };
+                capacity_max__4KD=cap__3MS;
+                begin_memory__XLB=((__POINTER )(malloc((cap__3MS))));
+              };
+              old_size__5MS=(__UINTEGER_32)(nb_page__UYB <<  26);
+              nb_page__UYB=(__UINTEGER_32)(nb_page__UYB +  1);
+              if (((__UINTEGER_32)(old_size__5MS +  67108864) > capacity_max__4KD)) {
+                print__PO((&__string_1));
+                exit(( 1));
+              };
+              block__ANS=((__MEMORY *)(void *)((unsigned long)begin_memory__XLB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )old_size__5MS))));
+              block__ANS->previous_linear__CZ= 4294967295LU;
+              block__ANS->size_and_id__DZ= 67108858;
+              block__ANS->next_free__EZ=first_free__2KG;
+              block__ANS->previous_free__FZ=NULL;
+              if (((void *)first_free__2KG != (void *)NULL)) {
+                ((__MEMORY *)first_free__2KG)->previous_free__FZ=block__ANS;
+              };
+              first_free__2KG=block__ANS;
+              last_block[((__UINTEGER_32)(nb_page__UYB -  1))] = (block__ANS);
+              blc__XMS=block__ANS;
+            };
+            ((__MEMORY *)blc__XMS)->size_and_id__DZ=(__UINTEGER_32)(blc__XMS->size_and_id__DZ -  4096);
+            Self__BNS=((__MEMORY *)blc__XMS);
+            result__CNS=((__POINTER )((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__BNS) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__BNS->size_and_id__DZ &  4294967292LU))))));
+            if (((__UINTEGER_32)(((__MEMORY *)blc__XMS)->size_and_id__DZ &  4294967292LU) < ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+              Self__DNS=((__MEMORY *)blc__XMS);
+              prev__ENS=Self__DNS->previous_free__FZ;
+              next__FNS=Self__DNS->next_free__EZ;
+              if (((void *)prev__ENS == (void *)NULL)) {
+                first_free__2KG=next__FNS;
+              } else {
+                ((__MEMORY *)prev__ENS)->next_free__EZ=next__FNS;
+              };
+              if (((void *)next__FNS != (void *)NULL)) {
+                ((__MEMORY *)next__FNS)->previous_free__FZ=prev__ENS;
+              };
+              pv__ZMS=blc__XMS->previous_linear__CZ;
+              if ((pv__ZMS !=  4294967295LU)) {
+                prev__YMS=((__MEMORY *)(void *)((unsigned long)begin_memory__XLB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )pv__ZMS))));
+                ((__MEMORY *)prev__YMS)->size_and_id__DZ=(__UINTEGER_32)((__UINTEGER_32)(prev__YMS->size_and_id__DZ + blc__XMS->size_and_id__DZ) +  8);
+                last_block[(idx__WMS)] = (prev__YMS);
+              };
+            };
+            ((__POINTER *)result__CNS)[ 0]=((__POINTER )new_size__R3R);
+            next__T3R=(void *)((unsigned long)result__CNS - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+          };
+          ((__POINTER *)next__T3R)[ 0]=NULL;
+          ((__POINTER *)ptr_table__S3R)[ 0]=next__T3R;
+        } else {
+          ((__POINTER *)result__U3R)[ 0]=(void *)((unsigned long)((__POINTER *)next__T3R)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__U3R=next__T3R;
+        };
+      };
+      ((__POINTER *)result__U3R)[ 0]=((__POINTER ) 3);
+      result__M3R=(void *)((unsigned long)result__U3R - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+    } else {
+      result__OAS=first_free__2KG;
+      while ((((void *)result__OAS != (void *)NULL) && ((__UINTEGER_32)(((__MEMORY *)result__OAS)->size_and_id__DZ &  4294967292LU) < new_size__O3R))) {
+        result__OAS=result__OAS->next_free__EZ;
+      };
+      if (((void *)result__OAS == (void *)NULL)) {
+        if ((capacity_max__4KD ==  0)) {
+          mem__0AS=((__POINTER )(NULL));
+          cap__1AS= 33554432;
+          do {
+            cap__1AS=(__UINTEGER_32)(cap__1AS <<  1);
+            mem__0AS=((__POINTER )(malloc((cap__1AS))));
+            if ((mem__0AS != (void *)NULL)) {
+              free((mem__0AS));
+            };
+          } while ((! ((mem__0AS == (void *)NULL) || (cap__1AS ==  2147483648LU))));
+          if ((mem__0AS == (void *)NULL)) {
+            cap__1AS=(__UINTEGER_32)(cap__1AS >>  1);
+          };
+          capacity_max__4KD=cap__1AS;
+          begin_memory__XLB=((__POINTER )(malloc((cap__1AS))));
+        };
+        old_size__3AS=(__UINTEGER_32)(nb_page__UYB <<  26);
+        nb_page__UYB=(__UINTEGER_32)(nb_page__UYB +  1);
+        if (((__UINTEGER_32)(old_size__3AS +  67108864) > capacity_max__4KD)) {
+          print__PO((&__string_1));
+          exit(( 1));
+        };
+        block__4AS=((__MEMORY *)(void *)((unsigned long)begin_memory__XLB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )old_size__3AS))));
+        block__4AS->previous_linear__CZ= 4294967295LU;
+        block__4AS->size_and_id__DZ= 67108858;
+        block__4AS->next_free__EZ=first_free__2KG;
+        block__4AS->previous_free__FZ=NULL;
+        if (((void *)first_free__2KG != (void *)NULL)) {
+          ((__MEMORY *)first_free__2KG)->previous_free__FZ=block__4AS;
+        };
+        first_free__2KG=block__4AS;
+        last_block[((__UINTEGER_32)(nb_page__UYB -  1))] = (block__4AS);
+        result__OAS=block__4AS;
+      };
+      Self__RAS=((__MEMORY *)result__OAS);
+      idx__SAS=(__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )((__MEMORY *)result__OAS)) - (unsigned long)begin_memory__XLB)))) >>  26);
+      new__TAS=NULL;
+      prev__UAS=Self__RAS->previous_free__FZ;
+      next__VAS=Self__RAS->next_free__EZ;
+      if (((void *)prev__UAS == (void *)NULL)) {
+        first_free__2KG=next__VAS;
+      } else {
+        ((__MEMORY *)prev__UAS)->next_free__EZ=next__VAS;
+      };
+      if (((void *)next__VAS != (void *)NULL)) {
+        ((__MEMORY *)next__VAS)->previous_free__FZ=prev__UAS;
+      };
+      siz__WAS=Self__RAS->size_and_id__DZ;
+      new_size__XAS=(__UINTEGER_32)(siz__WAS - new_size__O3R);
+      if ((new_size__XAS > (__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )(MINIMUM_SIZE)) +  2) +  8))) {
+        siz__WAS=new_size__O3R;
+        new__TAS=((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__RAS) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__O3R))));
+        ((__MEMORY *)new__TAS)->previous_linear__CZ=((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )Self__RAS) - (unsigned long)begin_memory__XLB))));
+        ((__MEMORY *)new__TAS)->size_and_id__DZ=(__UINTEGER_32)(new_size__XAS -  8);
+        Self__YAS=((__MEMORY *)new__TAS);
+        Self__YAS->next_free__EZ=first_free__2KG;
+        Self__YAS->previous_free__FZ=NULL;
+        if (((void *)first_free__2KG != (void *)NULL)) {
+          ((__MEMORY *)first_free__2KG)->previous_free__FZ=Self__YAS;
+        };
+        first_free__2KG=Self__YAS;
+        if (((__UINTEGER_32)(((__MEMORY *)new__TAS)->size_and_id__DZ &  2) !=  0)) {
+          last_block[(idx__SAS)] = (new__TAS);
+        } else {
+          Self__ZAS=((__MEMORY *)new__TAS);
+          ((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__ZAS) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__ZAS->size_and_id__DZ &  4294967292LU)))))->previous_linear__CZ=((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )((__MEMORY *)new__TAS)) - (unsigned long)begin_memory__XLB))));
+        };
+      };
+      Self__RAS->size_and_id__DZ=(__UINTEGER_32)(siz__WAS |  1);
+      result__M3R=(void *)((unsigned long)((__POINTER )((__MEMORY *)result__OAS)) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+    };
+    Result__V3R=((void **)result__M3R);
+    Self__W3R=(__INTEGER)(new_count__0T -  1);
+    while ((Self__W3R >=  0)) {
+      Result__V3R[Self__W3R]=NULL;
+      Self__W3R=(__INTEGER)(Self__W3R -  1);
+    };
+    Self__FOC->parent_arrayed_collection__TH.storage__ZOC=Result__V3R;
+    Self__FOC->parent_arrayed_collection__TH.capacity__OOC=new_count__0T;
+  };
+  Self__FOC->parent_arrayed_collection__TH.upper__WH=(__INTEGER)(-  1);
+  result__ZP=result__EY;
+  Self__FU= 0;
+  limit_up__GU=(__INTEGER)(((__INTEGER )(arg_count)) -  1);
+  while ((Self__FU <= limit_up__GU)) {
+    arg__0P=((__CHARACTER *)(arg_vector[(Self__FU)]));
+    Self__3TD=((__CHARACTER *)arg__0P);
+    idx__JUD= 0;
+    while ((! ((idx__JUD >  1024) || ('\0' == Self__3TD[idx__JUD])))) {
+      idx__JUD=(__INTEGER)(idx__JUD +  1);
+    };
+    str__1P=create__LV(idx__JUD);
+    Self__0VD=((__STRING *)str__1P);
+    p__1VD=arg__0P;
+    i__2VD= 0;
+    Self__0VD->count__CS= 0;
+    while ((((__CHARACTER *)p__1VD)[i__2VD] != '\0')) {
+      ch__USD=((__CHARACTER *)p__1VD)[i__2VD];
+      new_capacity__VSD= 0;
+      if ((Self__0VD->capacity__ES <= Self__0VD->count__CS)) {
+        if ((Self__0VD->capacity__ES ==  0)) {
+          Self__0VD->capacity__ES= 32;
+          result__03R=((__POINTER )(NULL));
+          a__13R=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+          new_size__23R=(__UINTEGER_32)((__UINTEGER_32)( 32 + a__13R) & (__UINTEGER_32)(~ a__13R));
+          new_size2__33R=(__UINTEGER_32)(new_size__23R + ((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))));
+          if ((new_size2__33R <= ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+            a__43R=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+            new_size__53R=(__UINTEGER_32)((__UINTEGER_32)(new_size2__33R + a__43R) & (__UINTEGER_32)(~ a__43R));
+            ptr_table__A4R=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__53R / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+            next__B4R=((__POINTER )(NULL));
+            result__C4R=((__POINTER *)ptr_table__A4R)[ 0];
+            if ((result__C4R == (void *)NULL)) {
+              idx__HNS= 0;
+              blc__INS=NULL;
+              prev__JNS=NULL;
+              pv__KNS= 0;
+              while_do__F3B__MNS:
+              {
+                if ((idx__HNS < nb_page__UYB)) {
+                  blc__INS=((__MEMORY *)(last_block[(idx__HNS)]));
+                  __tmp__LNS=(((__UINTEGER_32)(((__MEMORY *)blc__INS)->size_and_id__DZ &  4294967292LU) <  4096) || ((__UINTEGER_32)(((__MEMORY *)blc__INS)->size_and_id__DZ &  1) ==  1));
+                } else {
+                  __tmp__LNS=FALSE__;
+                };
+                if (__tmp__LNS) {
+                  idx__HNS=(__UINTEGER_32)(idx__HNS +  1);
+                  goto while_do__F3B__MNS;
+                };
+              };
+              if ((idx__HNS >= nb_page__UYB)) {
+                if ((capacity_max__4KD ==  0)) {
+                  mem__NNS=((__POINTER )(NULL));
+                  cap__ONS= 33554432;
+                  do {
+                    cap__ONS=(__UINTEGER_32)(cap__ONS <<  1);
+                    mem__NNS=((__POINTER )(malloc((cap__ONS))));
+                    if ((mem__NNS != (void *)NULL)) {
+                      free((mem__NNS));
+                    };
+                  } while ((! ((mem__NNS == (void *)NULL) || (cap__ONS ==  2147483648LU))));
+                  if ((mem__NNS == (void *)NULL)) {
+                    cap__ONS=(__UINTEGER_32)(cap__ONS >>  1);
+                  };
+                  capacity_max__4KD=cap__ONS;
+                  begin_memory__XLB=((__POINTER )(malloc((cap__ONS))));
+                };
+                old_size__QNS=(__UINTEGER_32)(nb_page__UYB <<  26);
+                nb_page__UYB=(__UINTEGER_32)(nb_page__UYB +  1);
+                if (((__UINTEGER_32)(old_size__QNS +  67108864) > capacity_max__4KD)) {
+                  print__PO((&__string_1));
+                  exit(( 1));
+                };
+                block__RNS=((__MEMORY *)(void *)((unsigned long)begin_memory__XLB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )old_size__QNS))));
+                block__RNS->previous_linear__CZ= 4294967295LU;
+                block__RNS->size_and_id__DZ= 67108858;
+                block__RNS->next_free__EZ=first_free__2KG;
+                block__RNS->previous_free__FZ=NULL;
+                if (((void *)first_free__2KG != (void *)NULL)) {
+                  ((__MEMORY *)first_free__2KG)->previous_free__FZ=block__RNS;
+                };
+                first_free__2KG=block__RNS;
+                last_block[((__UINTEGER_32)(nb_page__UYB -  1))] = (block__RNS);
+                blc__INS=block__RNS;
+              };
+              ((__MEMORY *)blc__INS)->size_and_id__DZ=(__UINTEGER_32)(blc__INS->size_and_id__DZ -  4096);
+              Self__SNS=((__MEMORY *)blc__INS);
+              result__TNS=((__POINTER )((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__SNS) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__SNS->size_and_id__DZ &  4294967292LU))))));
+              if (((__UINTEGER_32)(((__MEMORY *)blc__INS)->size_and_id__DZ &  4294967292LU) < ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+                Self__UNS=((__MEMORY *)blc__INS);
+                prev__VNS=Self__UNS->previous_free__FZ;
+                next__WNS=Self__UNS->next_free__EZ;
+                if (((void *)prev__VNS == (void *)NULL)) {
+                  first_free__2KG=next__WNS;
+                } else {
+                  ((__MEMORY *)prev__VNS)->next_free__EZ=next__WNS;
+                };
+                if (((void *)next__WNS != (void *)NULL)) {
+                  ((__MEMORY *)next__WNS)->previous_free__FZ=prev__VNS;
+                };
+                pv__KNS=blc__INS->previous_linear__CZ;
+                if ((pv__KNS !=  4294967295LU)) {
+                  prev__JNS=((__MEMORY *)(void *)((unsigned long)begin_memory__XLB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )pv__KNS))));
+                  ((__MEMORY *)prev__JNS)->size_and_id__DZ=(__UINTEGER_32)((__UINTEGER_32)(prev__JNS->size_and_id__DZ + blc__INS->size_and_id__DZ) +  8);
+                  last_block[(idx__HNS)] = (prev__JNS);
+                };
+              };
+              ((__POINTER *)result__TNS)[ 0]=((__POINTER )new_size__53R);
+              result__C4R=(void *)((unsigned long)result__TNS - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+              next__B4R=(void *)((unsigned long)result__C4R - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__53R)));
+              ((__POINTER *)next__B4R)[ 0]=NULL;
+              ((__POINTER *)ptr_table__A4R)[ 0]=next__B4R;
+            } else {
+              next__B4R=((__POINTER *)result__C4R)[ 0];
+              if ((next__B4R == (void *)NULL)) {
+                if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__C4R - (unsigned long)begin_memory__XLB)))) &  4095) + (__UINTEGER_32)(new_size__53R <<  1)) <=  4096)) {
+                  next__B4R=(void *)((unsigned long)result__C4R - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__53R)));
+                } else {
+                  idx__YNS= 0;
+                  blc__ZNS=NULL;
+                  prev__0NS=NULL;
+                  pv__1NS= 0;
+                  while_do__F3B__3NS:
+                  {
+                    if ((idx__YNS < nb_page__UYB)) {
+                      blc__ZNS=((__MEMORY *)(last_block[(idx__YNS)]));
+                      __tmp__2NS=(((__UINTEGER_32)(((__MEMORY *)blc__ZNS)->size_and_id__DZ &  4294967292LU) <  4096) || ((__UINTEGER_32)(((__MEMORY *)blc__ZNS)->size_and_id__DZ &  1) ==  1));
+                    } else {
+                      __tmp__2NS=FALSE__;
+                    };
+                    if (__tmp__2NS) {
+                      idx__YNS=(__UINTEGER_32)(idx__YNS +  1);
+                      goto while_do__F3B__3NS;
+                    };
+                  };
+                  if ((idx__YNS >= nb_page__UYB)) {
+                    if ((capacity_max__4KD ==  0)) {
+                      mem__4NS=((__POINTER )(NULL));
+                      cap__5NS= 33554432;
+                      do {
+                        cap__5NS=(__UINTEGER_32)(cap__5NS <<  1);
+                        mem__4NS=((__POINTER )(malloc((cap__5NS))));
+                        if ((mem__4NS != (void *)NULL)) {
+                          free((mem__4NS));
+                        };
+                      } while ((! ((mem__4NS == (void *)NULL) || (cap__5NS ==  2147483648LU))));
+                      if ((mem__4NS == (void *)NULL)) {
+                        cap__5NS=(__UINTEGER_32)(cap__5NS >>  1);
+                      };
+                      capacity_max__4KD=cap__5NS;
+                      begin_memory__XLB=((__POINTER )(malloc((cap__5NS))));
+                    };
+                    old_size__BOS=(__UINTEGER_32)(nb_page__UYB <<  26);
+                    nb_page__UYB=(__UINTEGER_32)(nb_page__UYB +  1);
+                    if (((__UINTEGER_32)(old_size__BOS +  67108864) > capacity_max__4KD)) {
+                      print__PO((&__string_1));
+                      exit(( 1));
+                    };
+                    block__COS=((__MEMORY *)(void *)((unsigned long)begin_memory__XLB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )old_size__BOS))));
+                    block__COS->previous_linear__CZ= 4294967295LU;
+                    block__COS->size_and_id__DZ= 67108858;
+                    block__COS->next_free__EZ=first_free__2KG;
+                    block__COS->previous_free__FZ=NULL;
+                    if (((void *)first_free__2KG != (void *)NULL)) {
+                      ((__MEMORY *)first_free__2KG)->previous_free__FZ=block__COS;
+                    };
+                    first_free__2KG=block__COS;
+                    last_block[((__UINTEGER_32)(nb_page__UYB -  1))] = (block__COS);
+                    blc__ZNS=block__COS;
+                  };
+                  ((__MEMORY *)blc__ZNS)->size_and_id__DZ=(__UINTEGER_32)(blc__ZNS->size_and_id__DZ -  4096);
+                  Self__DOS=((__MEMORY *)blc__ZNS);
+                  result__EOS=((__POINTER )((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__DOS) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__DOS->size_and_id__DZ &  4294967292LU))))));
+                  if (((__UINTEGER_32)(((__MEMORY *)blc__ZNS)->size_and_id__DZ &  4294967292LU) < ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+                    Self__FOS=((__MEMORY *)blc__ZNS);
+                    prev__GOS=Self__FOS->previous_free__FZ;
+                    next__HOS=Self__FOS->next_free__EZ;
+                    if (((void *)prev__GOS == (void *)NULL)) {
+                      first_free__2KG=next__HOS;
+                    } else {
+                      ((__MEMORY *)prev__GOS)->next_free__EZ=next__HOS;
+                    };
+                    if (((void *)next__HOS != (void *)NULL)) {
+                      ((__MEMORY *)next__HOS)->previous_free__FZ=prev__GOS;
+                    };
+                    pv__1NS=blc__ZNS->previous_linear__CZ;
+                    if ((pv__1NS !=  4294967295LU)) {
+                      prev__0NS=((__MEMORY *)(void *)((unsigned long)begin_memory__XLB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )pv__1NS))));
+                      ((__MEMORY *)prev__0NS)->size_and_id__DZ=(__UINTEGER_32)((__UINTEGER_32)(prev__0NS->size_and_id__DZ + blc__ZNS->size_and_id__DZ) +  8);
+                      last_block[(idx__YNS)] = (prev__0NS);
+                    };
+                  };
+                  ((__POINTER *)result__EOS)[ 0]=((__POINTER )new_size__53R);
+                  next__B4R=(void *)((unsigned long)result__EOS - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+                };
+                ((__POINTER *)next__B4R)[ 0]=NULL;
+                ((__POINTER *)ptr_table__A4R)[ 0]=next__B4R;
+              } else {
+                ((__POINTER *)result__C4R)[ 0]=(void *)((unsigned long)((__POINTER *)next__B4R)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+                result__C4R=next__B4R;
+              };
+            };
+            ((__POINTER *)result__C4R)[ 0]=((__POINTER ) 3);
+            result__03R=(void *)((unsigned long)result__C4R - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+          } else {
+            result__5AS=first_free__2KG;
+            while ((((void *)result__5AS != (void *)NULL) && ((__UINTEGER_32)(((__MEMORY *)result__5AS)->size_and_id__DZ &  4294967292LU) < new_size__23R))) {
+              result__5AS=result__5AS->next_free__EZ;
+            };
+            if (((void *)result__5AS == (void *)NULL)) {
+              if ((capacity_max__4KD ==  0)) {
+                mem__LBS=((__POINTER )(NULL));
+                cap__MBS= 33554432;
+                do {
+                  cap__MBS=(__UINTEGER_32)(cap__MBS <<  1);
+                  mem__LBS=((__POINTER )(malloc((cap__MBS))));
+                  if ((mem__LBS != (void *)NULL)) {
+                    free((mem__LBS));
+                  };
+                } while ((! ((mem__LBS == (void *)NULL) || (cap__MBS ==  2147483648LU))));
+                if ((mem__LBS == (void *)NULL)) {
+                  cap__MBS=(__UINTEGER_32)(cap__MBS >>  1);
+                };
+                capacity_max__4KD=cap__MBS;
+                begin_memory__XLB=((__POINTER )(malloc((cap__MBS))));
+              };
+              old_size__OBS=(__UINTEGER_32)(nb_page__UYB <<  26);
+              nb_page__UYB=(__UINTEGER_32)(nb_page__UYB +  1);
+              if (((__UINTEGER_32)(old_size__OBS +  67108864) > capacity_max__4KD)) {
+                print__PO((&__string_1));
+                exit(( 1));
+              };
+              block__PBS=((__MEMORY *)(void *)((unsigned long)begin_memory__XLB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )old_size__OBS))));
+              block__PBS->previous_linear__CZ= 4294967295LU;
+              block__PBS->size_and_id__DZ= 67108858;
+              block__PBS->next_free__EZ=first_free__2KG;
+              block__PBS->previous_free__FZ=NULL;
+              if (((void *)first_free__2KG != (void *)NULL)) {
+                ((__MEMORY *)first_free__2KG)->previous_free__FZ=block__PBS;
+              };
+              first_free__2KG=block__PBS;
+              last_block[((__UINTEGER_32)(nb_page__UYB -  1))] = (block__PBS);
+              result__5AS=block__PBS;
+            };
+            Self__CBS=((__MEMORY *)result__5AS);
+            idx__DBS=(__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )((__MEMORY *)result__5AS)) - (unsigned long)begin_memory__XLB)))) >>  26);
+            new__EBS=NULL;
+            prev__FBS=Self__CBS->previous_free__FZ;
+            next__GBS=Self__CBS->next_free__EZ;
+            if (((void *)prev__FBS == (void *)NULL)) {
+              first_free__2KG=next__GBS;
+            } else {
+              ((__MEMORY *)prev__FBS)->next_free__EZ=next__GBS;
+            };
+            if (((void *)next__GBS != (void *)NULL)) {
+              ((__MEMORY *)next__GBS)->previous_free__FZ=prev__FBS;
+            };
+            siz__HBS=Self__CBS->size_and_id__DZ;
+            new_size__IBS=(__UINTEGER_32)(siz__HBS - new_size__23R);
+            if ((new_size__IBS > (__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )(MINIMUM_SIZE)) +  2) +  8))) {
+              siz__HBS=new_size__23R;
+              new__EBS=((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__CBS) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__23R))));
+              ((__MEMORY *)new__EBS)->previous_linear__CZ=((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )Self__CBS) - (unsigned long)begin_memory__XLB))));
+              ((__MEMORY *)new__EBS)->size_and_id__DZ=(__UINTEGER_32)(new_size__IBS -  8);
+              Self__JBS=((__MEMORY *)new__EBS);
+              Self__JBS->next_free__EZ=first_free__2KG;
+              Self__JBS->previous_free__FZ=NULL;
+              if (((void *)first_free__2KG != (void *)NULL)) {
+                ((__MEMORY *)first_free__2KG)->previous_free__FZ=Self__JBS;
+              };
+              first_free__2KG=Self__JBS;
+              if (((__UINTEGER_32)(((__MEMORY *)new__EBS)->size_and_id__DZ &  2) !=  0)) {
+                last_block[(idx__DBS)] = (new__EBS);
+              } else {
+                Self__KBS=((__MEMORY *)new__EBS);
+                ((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__KBS) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__KBS->size_and_id__DZ &  4294967292LU)))))->previous_linear__CZ=((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )((__MEMORY *)new__EBS)) - (unsigned long)begin_memory__XLB))));
+              };
+            };
+            Self__CBS->size_and_id__DZ=(__UINTEGER_32)(siz__HBS |  1);
+            result__03R=(void *)((unsigned long)((__POINTER )((__MEMORY *)result__5AS)) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+          };
+          Result__D4R=((__CHARACTER *)result__03R);
+          Self__E4R= 31;
+          while ((Self__E4R >=  0)) {
+            Result__D4R[Self__E4R]='\0';
+            Self__E4R=(__INTEGER)(Self__E4R -  1);
+          };
+          Self__0VD->storage__CNC=Result__D4R;
+        } else {
+          new_capacity__VSD=(__INTEGER)(Self__0VD->capacity__ES <<  1);
+          __tmp__NTD=Self__0VD->storage__CNC;
+          __tmp__OTD=Self__0VD->capacity__ES;
+          new__E2G=((__CHARACTER *)realloc_dynamic__old_size__new_size__FPH(((__POINTER )((__CHARACTER *)__tmp__NTD)),((__UINTEGER_32 )__tmp__OTD),((__UINTEGER_32 )new_capacity__VSD)));
+          __tmp__X2G=(__INTEGER)(new_capacity__VSD -  1);
+          Self__YDL=__tmp__OTD;
+          while ((Self__YDL <= __tmp__X2G)) {
+            new__E2G[Self__YDL]='\0';
+            Self__YDL=(__INTEGER)(Self__YDL +  1);
+          };
+          Self__0VD->storage__CNC=new__E2G;
+          Self__0VD->capacity__ES=new_capacity__VSD;
+        };
+      };
+      ((__CHARACTER *)Self__0VD->storage__CNC)[Self__0VD->count__CS]=ch__USD;
+      Self__0VD->count__CS=(__INTEGER)(Self__0VD->count__CS +  1);
+      i__2VD=(__INTEGER)(i__2VD +  1);
+    };
+    Self__UWD=((__FAST_ARRAYoSTRINGo *)result__ZP);
+    new_capacity__WWD= 0;
+    if (((__INTEGER)(Self__UWD->parent_arrayed_collection__TH.upper__WH +  1) <= (__INTEGER)(Self__UWD->parent_arrayed_collection__TH.capacity__OOC -  1))) {
+      Self__UWD->parent_arrayed_collection__TH.upper__WH=(__INTEGER)(Self__UWD->parent_arrayed_collection__TH.upper__WH +  1);
+      __tmp__EXD=TRUE__;
+    } else {
+      __tmp__EXD=FALSE__;
+    };
+    if ((! __tmp__EXD)) {
+      if ((Self__UWD->parent_arrayed_collection__TH.capacity__OOC ==  0)) {
+        sz__QYR=((__UINTEGER_32 )(__INTEGER)(((__INTEGER )(sizeof(void *))) <<  1));
+        result__OYR=((__POINTER )(NULL));
+        a__PYR=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+        new_size__RYR=(__UINTEGER_32)((__UINTEGER_32)(sz__QYR + a__PYR) & (__UINTEGER_32)(~ a__PYR));
+        new_size2__SYR=(__UINTEGER_32)(new_size__RYR + ((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))));
+        if ((new_size2__SYR <= ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+          a__UYR=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+          new_size__VYR=(__UINTEGER_32)((__UINTEGER_32)(new_size2__SYR + a__UYR) & (__UINTEGER_32)(~ a__UYR));
+          ptr_table__RZR=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__VYR / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+          next__QZR=((__POINTER )(NULL));
+          result__SZR=((__POINTER *)ptr_table__RZR)[ 0];
+          if ((result__SZR == (void *)NULL)) {
+            idx__JOS= 0;
+            blc__KOS=NULL;
+            prev__LOS=NULL;
+            pv__MOS= 0;
+            while_do__F3B__OOS:
+            {
+              if ((idx__JOS < nb_page__UYB)) {
+                blc__KOS=((__MEMORY *)(last_block[(idx__JOS)]));
+                __tmp__NOS=(((__UINTEGER_32)(((__MEMORY *)blc__KOS)->size_and_id__DZ &  4294967292LU) <  4096) || ((__UINTEGER_32)(((__MEMORY *)blc__KOS)->size_and_id__DZ &  1) ==  1));
+              } else {
+                __tmp__NOS=FALSE__;
+              };
+              if (__tmp__NOS) {
+                idx__JOS=(__UINTEGER_32)(idx__JOS +  1);
+                goto while_do__F3B__OOS;
+              };
+            };
+            if ((idx__JOS >= nb_page__UYB)) {
+              if ((capacity_max__4KD ==  0)) {
+                mem__POS=((__POINTER )(NULL));
+                cap__QOS= 33554432;
+                do {
+                  cap__QOS=(__UINTEGER_32)(cap__QOS <<  1);
+                  mem__POS=((__POINTER )(malloc((cap__QOS))));
+                  if ((mem__POS != (void *)NULL)) {
+                    free((mem__POS));
+                  };
+                } while ((! ((mem__POS == (void *)NULL) || (cap__QOS ==  2147483648LU))));
+                if ((mem__POS == (void *)NULL)) {
+                  cap__QOS=(__UINTEGER_32)(cap__QOS >>  1);
+                };
+                capacity_max__4KD=cap__QOS;
+                begin_memory__XLB=((__POINTER )(malloc((cap__QOS))));
+              };
+              old_size__SOS=(__UINTEGER_32)(nb_page__UYB <<  26);
+              nb_page__UYB=(__UINTEGER_32)(nb_page__UYB +  1);
+              if (((__UINTEGER_32)(old_size__SOS +  67108864) > capacity_max__4KD)) {
+                print__PO((&__string_1));
+                exit(( 1));
+              };
+              block__TOS=((__MEMORY *)(void *)((unsigned long)begin_memory__XLB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )old_size__SOS))));
+              block__TOS->previous_linear__CZ= 4294967295LU;
+              block__TOS->size_and_id__DZ= 67108858;
+              block__TOS->next_free__EZ=first_free__2KG;
+              block__TOS->previous_free__FZ=NULL;
+              if (((void *)first_free__2KG != (void *)NULL)) {
+                ((__MEMORY *)first_free__2KG)->previous_free__FZ=block__TOS;
+              };
+              first_free__2KG=block__TOS;
+              last_block[((__UINTEGER_32)(nb_page__UYB -  1))] = (block__TOS);
+              blc__KOS=block__TOS;
+            };
+            ((__MEMORY *)blc__KOS)->size_and_id__DZ=(__UINTEGER_32)(blc__KOS->size_and_id__DZ -  4096);
+            Self__UOS=((__MEMORY *)blc__KOS);
+            result__VOS=((__POINTER )((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__UOS) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__UOS->size_and_id__DZ &  4294967292LU))))));
+            if (((__UINTEGER_32)(((__MEMORY *)blc__KOS)->size_and_id__DZ &  4294967292LU) < ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+              Self__WOS=((__MEMORY *)blc__KOS);
+              prev__XOS=Self__WOS->previous_free__FZ;
+              next__YOS=Self__WOS->next_free__EZ;
+              if (((void *)prev__XOS == (void *)NULL)) {
+                first_free__2KG=next__YOS;
+              } else {
+                ((__MEMORY *)prev__XOS)->next_free__EZ=next__YOS;
+              };
+              if (((void *)next__YOS != (void *)NULL)) {
+                ((__MEMORY *)next__YOS)->previous_free__FZ=prev__XOS;
+              };
+              pv__MOS=blc__KOS->previous_linear__CZ;
+              if ((pv__MOS !=  4294967295LU)) {
+                prev__LOS=((__MEMORY *)(void *)((unsigned long)begin_memory__XLB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )pv__MOS))));
+                ((__MEMORY *)prev__LOS)->size_and_id__DZ=(__UINTEGER_32)((__UINTEGER_32)(prev__LOS->size_and_id__DZ + blc__KOS->size_and_id__DZ) +  8);
+                last_block[(idx__JOS)] = (prev__LOS);
+              };
+            };
+            ((__POINTER *)result__VOS)[ 0]=((__POINTER )new_size__VYR);
+            result__SZR=(void *)((unsigned long)result__VOS - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+            next__QZR=(void *)((unsigned long)result__SZR - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__VYR)));
+            ((__POINTER *)next__QZR)[ 0]=NULL;
+            ((__POINTER *)ptr_table__RZR)[ 0]=next__QZR;
+          } else {
+            next__QZR=((__POINTER *)result__SZR)[ 0];
+            if ((next__QZR == (void *)NULL)) {
+              if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__SZR - (unsigned long)begin_memory__XLB)))) &  4095) + (__UINTEGER_32)(new_size__VYR <<  1)) <=  4096)) {
+                next__QZR=(void *)((unsigned long)result__SZR - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__VYR)));
+              } else {
+                idx__GYB= 0;
+                blc__JYB=NULL;
+                prev__KYB=NULL;
+                pv__NYB= 0;
+                while_do__F3B:
+                {
+                  if ((idx__GYB < nb_page__UYB)) {
+                    blc__JYB=((__MEMORY *)(last_block[(idx__GYB)]));
+                    __tmp__NZB=(((__UINTEGER_32)(((__MEMORY *)blc__JYB)->size_and_id__DZ &  4294967292LU) <  4096) || ((__UINTEGER_32)(((__MEMORY *)blc__JYB)->size_and_id__DZ &  1) ==  1));
+                  } else {
+                    __tmp__NZB=FALSE__;
+                  };
+                  if (__tmp__NZB) {
+                    idx__GYB=(__UINTEGER_32)(idx__GYB +  1);
+                    goto while_do__F3B;
+                  };
+                };
+                if ((idx__GYB >= nb_page__UYB)) {
+                  if ((capacity_max__4KD ==  0)) {
+                    mem__VBS=((__POINTER )(NULL));
+                    cap__WBS= 33554432;
+                    do {
+                      cap__WBS=(__UINTEGER_32)(cap__WBS <<  1);
+                      mem__VBS=((__POINTER )(malloc((cap__WBS))));
+                      if ((mem__VBS != (void *)NULL)) {
+                        free((mem__VBS));
+                      };
+                    } while ((! ((mem__VBS == (void *)NULL) || (cap__WBS ==  2147483648LU))));
+                    if ((mem__VBS == (void *)NULL)) {
+                      cap__WBS=(__UINTEGER_32)(cap__WBS >>  1);
+                    };
+                    capacity_max__4KD=cap__WBS;
+                    begin_memory__XLB=((__POINTER )(malloc((cap__WBS))));
+                  };
+                  old_size__YBS=(__UINTEGER_32)(nb_page__UYB <<  26);
+                  nb_page__UYB=(__UINTEGER_32)(nb_page__UYB +  1);
+                  if (((__UINTEGER_32)(old_size__YBS +  67108864) > capacity_max__4KD)) {
+                    print__PO((&__string_1));
+                    exit(( 1));
+                  };
+                  block__ZBS=((__MEMORY *)(void *)((unsigned long)begin_memory__XLB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )old_size__YBS))));
+                  block__ZBS->previous_linear__CZ= 4294967295LU;
+                  block__ZBS->size_and_id__DZ= 67108858;
+                  block__ZBS->next_free__EZ=first_free__2KG;
+                  block__ZBS->previous_free__FZ=NULL;
+                  if (((void *)first_free__2KG != (void *)NULL)) {
+                    ((__MEMORY *)first_free__2KG)->previous_free__FZ=block__ZBS;
+                  };
+                  first_free__2KG=block__ZBS;
+                  last_block[((__UINTEGER_32)(nb_page__UYB -  1))] = (block__ZBS);
+                  blc__JYB=block__ZBS;
+                };
+                ((__MEMORY *)blc__JYB)->size_and_id__DZ=(__UINTEGER_32)(blc__JYB->size_and_id__DZ -  4096);
+                Self__TKR=((__MEMORY *)blc__JYB);
+                result__LYB=((__POINTER )((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__TKR) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__TKR->size_and_id__DZ &  4294967292LU))))));
+                if (((__UINTEGER_32)(((__MEMORY *)blc__JYB)->size_and_id__DZ &  4294967292LU) < ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+                  Self__VUR=((__MEMORY *)blc__JYB);
+                  prev__WUR=Self__VUR->previous_free__FZ;
+                  next__XUR=Self__VUR->next_free__EZ;
+                  if (((void *)prev__WUR == (void *)NULL)) {
+                    first_free__2KG=next__XUR;
+                  } else {
+                    ((__MEMORY *)prev__WUR)->next_free__EZ=next__XUR;
+                  };
+                  if (((void *)next__XUR != (void *)NULL)) {
+                    ((__MEMORY *)next__XUR)->previous_free__FZ=prev__WUR;
+                  };
+                  pv__NYB=blc__JYB->previous_linear__CZ;
+                  if ((pv__NYB !=  4294967295LU)) {
+                    prev__KYB=((__MEMORY *)(void *)((unsigned long)begin_memory__XLB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )pv__NYB))));
+                    ((__MEMORY *)prev__KYB)->size_and_id__DZ=(__UINTEGER_32)((__UINTEGER_32)(prev__KYB->size_and_id__DZ + blc__JYB->size_and_id__DZ) +  8);
+                    last_block[(idx__GYB)] = (prev__KYB);
+                  };
+                };
+                ((__POINTER *)result__LYB)[ 0]=((__POINTER )new_size__VYR);
+                next__QZR=(void *)((unsigned long)result__LYB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+              };
+              ((__POINTER *)next__QZR)[ 0]=NULL;
+              ((__POINTER *)ptr_table__RZR)[ 0]=next__QZR;
+            } else {
+              ((__POINTER *)result__SZR)[ 0]=(void *)((unsigned long)((__POINTER *)next__QZR)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+              result__SZR=next__QZR;
+            };
+          };
+          ((__POINTER *)result__SZR)[ 0]=((__POINTER ) 3);
+          result__OYR=(void *)((unsigned long)result__SZR - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+        } else {
+          result__3JG=first_free__2KG;
+          while ((((void *)result__3JG != (void *)NULL) && ((__UINTEGER_32)(((__MEMORY *)result__3JG)->size_and_id__DZ &  4294967292LU) < new_size__RYR))) {
+            result__3JG=result__3JG->next_free__EZ;
+          };
+          if (((void *)result__3JG == (void *)NULL)) {
+            if ((capacity_max__4KD ==  0)) {
+              mem__QBS=((__POINTER )(NULL));
+              cap__RBS= 33554432;
+              do {
+                cap__RBS=(__UINTEGER_32)(cap__RBS <<  1);
+                mem__QBS=((__POINTER )(malloc((cap__RBS))));
+                if ((mem__QBS != (void *)NULL)) {
+                  free((mem__QBS));
+                };
+              } while ((! ((mem__QBS == (void *)NULL) || (cap__RBS ==  2147483648LU))));
+              if ((mem__QBS == (void *)NULL)) {
+                cap__RBS=(__UINTEGER_32)(cap__RBS >>  1);
+              };
+              capacity_max__4KD=cap__RBS;
+              begin_memory__XLB=((__POINTER )(malloc((cap__RBS))));
+            };
+            old_size__TBS=(__UINTEGER_32)(nb_page__UYB <<  26);
+            nb_page__UYB=(__UINTEGER_32)(nb_page__UYB +  1);
+            if (((__UINTEGER_32)(old_size__TBS +  67108864) > capacity_max__4KD)) {
+              print__PO((&__string_1));
+              exit(( 1));
+            };
+            block__UBS=((__MEMORY *)(void *)((unsigned long)begin_memory__XLB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )old_size__TBS))));
+            block__UBS->previous_linear__CZ= 4294967295LU;
+            block__UBS->size_and_id__DZ= 67108858;
+            block__UBS->next_free__EZ=first_free__2KG;
+            block__UBS->previous_free__FZ=NULL;
+            if (((void *)first_free__2KG != (void *)NULL)) {
+              ((__MEMORY *)first_free__2KG)->previous_free__FZ=block__UBS;
+            };
+            first_free__2KG=block__UBS;
+            last_block[((__UINTEGER_32)(nb_page__UYB -  1))] = (block__UBS);
+            result__3JG=block__UBS;
+          };
+          Self__CDH=((__MEMORY *)result__3JG);
+          idx__EDH=(__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )((__MEMORY *)result__3JG)) - (unsigned long)begin_memory__XLB)))) >>  26);
+          new__LDH=NULL;
+          prev__U3H=Self__CDH->previous_free__FZ;
+          next__V3H=Self__CDH->next_free__EZ;
+          if (((void *)prev__U3H == (void *)NULL)) {
+            first_free__2KG=next__V3H;
+          } else {
+            ((__MEMORY *)prev__U3H)->next_free__EZ=next__V3H;
+          };
+          if (((void *)next__V3H != (void *)NULL)) {
+            ((__MEMORY *)next__V3H)->previous_free__FZ=prev__U3H;
+          };
+          siz__FDH=Self__CDH->size_and_id__DZ;
+          new_size__IDH=(__UINTEGER_32)(siz__FDH - new_size__RYR);
+          if ((new_size__IDH > (__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )(MINIMUM_SIZE)) +  2) +  8))) {
+            siz__FDH=new_size__RYR;
+            new__LDH=((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__CDH) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__RYR))));
+            ((__MEMORY *)new__LDH)->previous_linear__CZ=((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )Self__CDH) - (unsigned long)begin_memory__XLB))));
+            ((__MEMORY *)new__LDH)->size_and_id__DZ=(__UINTEGER_32)(new_size__IDH -  8);
+            Self__BYG=((__MEMORY *)new__LDH);
+            Self__BYG->next_free__EZ=first_free__2KG;
+            Self__BYG->previous_free__FZ=NULL;
+            if (((void *)first_free__2KG != (void *)NULL)) {
+              ((__MEMORY *)first_free__2KG)->previous_free__FZ=Self__BYG;
+            };
+            first_free__2KG=Self__BYG;
+            if (((__UINTEGER_32)(((__MEMORY *)new__LDH)->size_and_id__DZ &  2) !=  0)) {
+              last_block[(idx__EDH)] = (new__LDH);
+            } else {
+              Self__HGR=((__MEMORY *)new__LDH);
+              ((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__HGR) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__HGR->size_and_id__DZ &  4294967292LU)))))->previous_linear__CZ=((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )((__MEMORY *)new__LDH)) - (unsigned long)begin_memory__XLB))));
+            };
+          };
+          Self__CDH->size_and_id__DZ=(__UINTEGER_32)(siz__FDH |  1);
+          result__OYR=(void *)((unsigned long)((__POINTER )((__MEMORY *)result__3JG)) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+        };
+        Result__FVF=((void **)result__OYR);
+        Self__NXH= 1;
+        while ((Self__NXH >=  0)) {
+          Result__FVF[Self__NXH]=NULL;
+          Self__NXH=(__INTEGER)(Self__NXH -  1);
+        };
+        Self__UWD->parent_arrayed_collection__TH.storage__ZOC=Result__FVF;
+        Self__UWD->parent_arrayed_collection__TH.capacity__OOC= 2;
+        Self__UWD->parent_arrayed_collection__TH.upper__WH= 0;
+      } else {
+        new_capacity__WWD=(__INTEGER)(Self__UWD->parent_arrayed_collection__TH.capacity__OOC <<  1);
+        __tmp__ZXD=Self__UWD->parent_arrayed_collection__TH.storage__ZOC;
+        __tmp__0XD=Self__UWD->parent_arrayed_collection__TH.capacity__OOC;
+        new__13G=((void **)realloc_dynamic__old_size__new_size__FPH(((__POINTER )((void **)__tmp__ZXD)),((__UINTEGER_32 )(__INTEGER)(__tmp__0XD * ((__INTEGER )(sizeof(void *))))),((__UINTEGER_32 )(__INTEGER)(new_capacity__WWD * ((__INTEGER )(sizeof(void *)))))));
+        __tmp__O4G=(__INTEGER)(new_capacity__WWD -  1);
+        Self__XFL=__tmp__0XD;
+        while ((Self__XFL <= __tmp__O4G)) {
+          new__13G[Self__XFL]=NULL;
+          Self__XFL=(__INTEGER)(Self__XFL +  1);
+        };
+        Self__UWD->parent_arrayed_collection__TH.storage__ZOC=new__13G;
+        Self__UWD->parent_arrayed_collection__TH.capacity__OOC=new_capacity__WWD;
+        Self__UWD->parent_arrayed_collection__TH.upper__WH=(__INTEGER)(Self__UWD->parent_arrayed_collection__TH.upper__WH +  1);
+      };
+    };
+    ((void **)Self__UWD->parent_arrayed_collection__TH.storage__ZOC)[Self__UWD->parent_arrayed_collection__TH.upper__WH]=str__1P;
+    Self__FU=(__INTEGER)(Self__FU +  1);
+  };
+  two_third__DD=(__REAL_64)(((__REAL_64 ) 2) / ((__REAL_64 )3.0));
+  string_tmp__JO=create__LV( 32);
+  n__Z= 0;
+  a1__CB=((__REAL_64 ) 0);
+  a2__FB=((__REAL_64 ) 0);
+  a3__IB=((__REAL_64 ) 0);
+  a4__LB=((__REAL_64 ) 0);
+  a5__OB=((__REAL_64 ) 0);
+  a6__RB=((__REAL_64 ) 0);
+  a7__UB=((__REAL_64 ) 0);
+  a8__XB=((__REAL_64 ) 0);
+  a9__0B=((__REAL_64 ) 0);
+  nr__AC=((__REAL_64 ) 0);
+  if ((result__EY->parent_arrayed_collection__TH.upper__WH ==  1)) {
+    Self__WTK=((__STRING *)((void **)((__FAST_ARRAYoSTRINGo *)result__EY)->parent_arrayed_collection__TH.storage__ZOC)[ 1]);
+    state__ZTK= 0;
+    cc__0TK='\0';
+    negative__1TK=FALSE__;
+    result__2TK= 0;
+    i__YTK= 1;
+    __tmp__2XR=Self__WTK->count__CS;
+    __tmp__3XR=Self__WTK->storage__CNC;
+    __tmp__4XR=Self__WTK->count__CS;
+    while ((i__YTK <= __tmp__2XR)) {
+      cc__0TK=((__CHARACTER *)__tmp__3XR)[(__INTEGER)(i__YTK -  1)];
+      if ((state__ZTK ==  0)) {
+        if ((((((((cc__0TK == ' ') || (cc__0TK == '\t')) || (cc__0TK == '\n')) || (cc__0TK == '\r')) || (cc__0TK == '\0')) || (cc__0TK == '\f')) || (cc__0TK == '\v'))) {
+          __tmp__IVK=TRUE__;
+        } else {
+          result__TGP=(cc__0TK == '+');
+          if (result__TGP) {
+            state__ZTK= 1;
+          };
+          __tmp__IVK=result__TGP;
+        };
+        if ((! __tmp__IVK)) {
+          if ((cc__0TK == '-')) {
+            negative__1TK=TRUE__;
+            state__ZTK= 1;
+          } else {
+            result__2TK=(__INTEGER)(((__INTEGER )((__INTEGER_8 )cc__0TK)) -  48);
+            state__ZTK= 2;
+          };
+        };
+        __tmp__1VK=TRUE__;
+      } else {
+        __tmp__1VK=FALSE__;
+      };
+      if (__tmp__1VK) {
+        __tmp__QWK=TRUE__;
+      } else {
+        result__Z0N=(state__ZTK ==  1);
+        if (result__Z0N) {
+          result__2TK=(__INTEGER)(((__INTEGER )((__INTEGER_8 )cc__0TK)) -  48);
+          if (negative__1TK) {
+            result__2TK=(__INTEGER)(- result__2TK);
+          };
+          state__ZTK= 2;
+        };
+        __tmp__QWK=result__Z0N;
+      };
+      if (__tmp__QWK) {
+        __tmp__XXK=TRUE__;
+      } else {
+        result__L1N=(state__ZTK ==  2);
+        if (result__L1N) {
+          result__JOO=FALSE__;
+          if ((((__INTEGER_8 )cc__0TK) >= ((__INTEGER_8 )'0'))) {
+            result__JOO=(((__INTEGER_8 )cc__0TK) <= ((__INTEGER_8 )'9'));
+          };
+          if (result__JOO) {
+            if (negative__1TK) {
+              result__2TK=(__INTEGER)((__INTEGER)( 10 * result__2TK) - (__INTEGER)(((__INTEGER )((__INTEGER_8 )cc__0TK)) -  48));
+            } else {
+              result__2TK=(__INTEGER)((__INTEGER)( 10 * result__2TK) + (__INTEGER)(((__INTEGER )((__INTEGER_8 )cc__0TK)) -  48));
+            };
+          } else {
+            state__ZTK= 3;
+          };
+        };
+        __tmp__XXK=result__L1N;
+      };
+      if ((! __tmp__XXK)) {
+        if ((state__ZTK ==  3)) {
+          i__YTK=__tmp__4XR;
+        };
+      };
+      i__YTK=(__INTEGER)(i__YTK +  1);
+    };
+    n__Z=result__2TK;
+    nr__AC=((__REAL_64 )result__2TK);
+  };
+  Self__TI=((__REAL_64 ) 0);
+  limit_up__UI=(__REAL_64)(nr__AC - ((__REAL_64 )1.0));
+  while ((Self__TI <= limit_up__UI)) {
+    a1__CB=((__REAL_64 )((a1__CB) + (((__REAL_64 )(pow((two_third__DD),(Self__TI)))))));
+    Self__TI=((__REAL_64 )((Self__TI) + (((__REAL_64 ) 1))));
+  };
+  Self__WJ=((__REAL_64 ) 1);
+  limit_up__XJ=nr__AC;
+  while ((Self__WJ <= limit_up__XJ)) {
+    a2__FB=((__REAL_64 )((a2__FB) + ((__REAL_64)(((__REAL_64 ) 1) / ((__REAL_64 )(sqrt((Self__WJ))))))));
+    Self__WJ=((__REAL_64 )((Self__WJ) + (((__REAL_64 ) 1))));
+  };
+  Self__KK=((__REAL_64 ) 1);
+  limit_up__LK=nr__AC;
+  while ((Self__KK <= limit_up__LK)) {
+    a3__IB=((__REAL_64 )((a3__IB) + ((__REAL_64)(((__REAL_64 ) 1) / (__REAL_64)(Self__KK * ((__REAL_64 )((Self__KK) + (((__REAL_64 )1.0)))))))));
+    Self__KK=((__REAL_64 )((Self__KK) + (((__REAL_64 ) 1))));
+  };
+  Self__4K=((__REAL_64 ) 1);
+  limit_up__5K=nr__AC;
+  while ((Self__4K <= limit_up__5K)) {
+    a4__LB=((__REAL_64 )((a4__LB) + ((__REAL_64)(((__REAL_64 ) 1) / (__REAL_64)((__REAL_64)((__REAL_64)((__REAL_64)(((__REAL_64 )(sin((Self__4K)))) * ((__REAL_64 )(sin((Self__4K))))) * Self__4K) * Self__4K) * Self__4K)))));
+    Self__4K=((__REAL_64 )((Self__4K) + (((__REAL_64 ) 1))));
+  };
+  Self__SL=((__REAL_64 ) 1);
+  limit_up__TL=nr__AC;
+  while ((Self__SL <= limit_up__TL)) {
+    a5__OB=((__REAL_64 )((a5__OB) + ((__REAL_64)(((__REAL_64 ) 1) / (__REAL_64)((__REAL_64)((__REAL_64)((__REAL_64)(((__REAL_64 )(cos((Self__SL)))) * ((__REAL_64 )(cos((Self__SL))))) * Self__SL) * Self__SL) * Self__SL)))));
+    Self__SL=((__REAL_64 )((Self__SL) + (((__REAL_64 ) 1))));
+  };
+  Self__DM= 1;
+  limit_up__EM=n__Z;
+  while ((Self__DM <= limit_up__EM)) {
+    a6__RB=((__REAL_64 )((a6__RB) + ((__REAL_64)(((__REAL_64 ) 1) / ((__REAL_64 )Self__DM)))));
+    Self__DM=(__INTEGER)(Self__DM +  1);
+  };
+  Self__VM=((__REAL_64 ) 1);
+  limit_up__WM=nr__AC;
+  while ((Self__VM <= limit_up__WM)) {
+    a7__UB=((__REAL_64 )((a7__UB) + ((__REAL_64)(((__REAL_64 ) 1) / (__REAL_64)(Self__VM * Self__VM)))));
+    Self__VM=((__REAL_64 )((Self__VM) + (((__REAL_64 ) 1))));
+  };
+  alt__3B=((__REAL_64 )1.0);
+  Self__HN= 1;
+  limit_up__IN=n__Z;
+  while ((Self__HN <= limit_up__IN)) {
+    a8__XB=((__REAL_64 )((a8__XB) + ((__REAL_64)(alt__3B / ((__REAL_64 )Self__HN)))));
+    alt__3B=(__REAL_64)(((__REAL_64 ) 0) - alt__3B);
+    Self__HN=(__INTEGER)(Self__HN +  1);
+  };
+  alt__3B=((__REAL_64 )1.0);
+  Self__XN= 1;
+  limit_up__YN=n__Z;
+  while ((Self__XN <= limit_up__YN)) {
+    a9__0B=((__REAL_64 )((a9__0B) + ((__REAL_64)(alt__3B / ((__REAL_64 )(__INTEGER)((__INTEGER)(Self__XN <<  1) -  1))))));
+    alt__3B=(__REAL_64)(((__REAL_64 ) 0) - alt__3B);
+    Self__XN=(__INTEGER)(Self__XN +  1);
+  };
+  print_format_c__GO(a1__CB);
+  print__PO((&__string_2));
+  print_format_c__GO(a2__FB);
+  print__PO((&__string_3));
+  print_format_c__GO(a3__IB);
+  print__PO((&__string_4));
+  print_format_c__GO(a4__LB);
+  print__PO((&__string_5));
+  print_format_c__GO(a5__OB);
+  print__PO((&__string_6));
+  print_format_c__GO(a6__RB);
+  print__PO((&__string_7));
+  print_format_c__GO(a7__UB);
+  print__PO((&__string_8));
+  print_format_c__GO(a8__XB);
+  print__PO((&__string_9));
+  print_format_c__GO(a9__0B);
+  print__PO((&__string_10));
+  return( 0);
+}
+
+static void print__PO(__STRING_CONSTANT *Self__QO)
+// ({STRING_CONSTANT}) VoidRecursive, No inlinable.
+{
+  __INTEGER __tmp__GT,Self__OX;
+  __CHARACTER *__tmp__OXR;
+  __tmp__GT=Self__QO->count__JX;
+  Self__OX= 1;
+  __tmp__OXR=Self__QO->storage__ZZD;
+  while ((Self__OX <= __tmp__GT)) {
+    fputc((int)(((__CHARACTER *)__tmp__OXR)[(__INTEGER)(Self__OX -  1)]),stdout);
+    Self__OX=(__INTEGER)(Self__OX +  1);
+  };
+}
+
+static __STRING* create__LV(__INTEGER needed_capacity__NV)
+// ({INTEGER}) With resultNo recursive, No inlinable.
+{
+  __STRING *result__2Z,*Self__CQC;
+  __POINTER ptr__3Z,ptr_table__XZR,next__WZR,result__YZR,mem__ZCS;
+  __POINTER result__5CS,mem__KDS,result__QDS,ptr_table__3ZR,next__2ZR;
+  __POINTER result__4ZR,mem__1DS,result__BES,mem__MES,result__SES;
+  __POINTER result__DXR,ptr_table__J0R,next__I0R,result__K0R,mem__3ES;
+  __POINTER result__DFS,mem__OFS,result__UFS,mem__0BS;
+  __INTEGER typ_id__C0,Self__GWH;
+  __UINTEGER_32 sz__5Z,a__RVR,new_size__SVR,idx__TCS,pv__WCS,cap__0CS;
+  __UINTEGER_32 old_size__2CS,idx__EDS,pv__HDS,cap__LDS,old_size__NDS;
+  __UINTEGER_32 t__1VR,a__YVR,new_size__A0R,lab_type__5ZR,idx__VDS;
+  __UINTEGER_32 pv__YDS,cap__2DS,old_size__4DS,idx__GES,pv__JES;
+  __UINTEGER_32 cap__NES,old_size__PES,sz__FXR,a__EXR,new_size__GXR;
+  __UINTEGER_32 new_size2__HXR,a__JXR,new_size__KXR,idx__XES,pv__0ES;
+  __UINTEGER_32 cap__4ES,old_size__AFS,idx__IFS,pv__LFS,cap__PFS;
+  __UINTEGER_32 old_size__RFS,cap__1BS,old_size__3BS,idx__K4R,siz__O4R;
+  __UINTEGER_32 new_size__P4R;
+  __MEMORY *blc__UCS,*prev__VCS,*block__3CS,*Self__4CS,*Self__ADS;
+  __MEMORY *prev__BDS,*next__CDS,*blc__FDS,*prev__GDS,*block__ODS;
+  __MEMORY *Self__PDS,*Self__RDS,*prev__SDS,*next__TDS,*blc__WDS;
+  __MEMORY *prev__XDS,*block__5DS,*Self__AES,*Self__CES,*prev__DES;
+  __MEMORY *next__EES,*blc__HES,*prev__IES,*block__QES,*Self__RES;
+  __MEMORY *Self__TES,*prev__UES,*next__VES,*blc__YES,*prev__ZES;
+  __MEMORY *block__BFS,*Self__CFS,*Self__EFS,*prev__FFS,*next__GFS;
+  __MEMORY *blc__JFS,*prev__KFS,*block__SFS,*Self__TFS,*Self__VFS;
+  __MEMORY *prev__WFS,*next__XFS,*result__G4R,*block__4BS,*Self__J4R;
+  __MEMORY *new__L4R,*prev__M4R,*next__N4R,*Self__Q4R,*Self__R4R;
+  __BOOLEAN __tmp__XCS,__tmp__IDS,__tmp__ZDS,__tmp__KES,__tmp__1ES;
+  __BOOLEAN __tmp__MFS;
+  __CHARACTER *Result__ESF;
+  result__2Z=NULL;
+  ptr__3Z=((__POINTER )(NULL));
+  typ_id__C0= 0;
+  sz__5Z=((__UINTEGER_32 )sizeof(__STRING));
+  if ((sz__5Z ==  0)) {
+    result__2Z=STRING__;
+  } else {
+    typ_id__C0=__STRING__;
+    clone_allocation_size__YY=(__UINTEGER_32)(clone_allocation_size__YY + sz__5Z);
+    if ((typ_id__C0 == (__INTEGER)(-  1))) {
+      a__RVR=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__SVR=(__UINTEGER_32)((__UINTEGER_32)(sz__5Z + a__RVR) & (__UINTEGER_32)(~ a__RVR));
+      ptr_table__XZR=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__SVR / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+      next__WZR=((__POINTER )(NULL));
+      result__YZR=((__POINTER *)ptr_table__XZR)[ 0];
+      if ((result__YZR == (void *)NULL)) {
+        idx__TCS= 0;
+        blc__UCS=NULL;
+        prev__VCS=NULL;
+        pv__WCS= 0;
+        while_do__F3B__YCS:
+        {
+          if ((idx__TCS < nb_page__UYB)) {
+            blc__UCS=((__MEMORY *)(last_block[(idx__TCS)]));
+            __tmp__XCS=(((__UINTEGER_32)(((__MEMORY *)blc__UCS)->size_and_id__DZ &  4294967292LU) <  4096) || ((__UINTEGER_32)(((__MEMORY *)blc__UCS)->size_and_id__DZ &  1) ==  1));
+          } else {
+            __tmp__XCS=FALSE__;
+          };
+          if (__tmp__XCS) {
+            idx__TCS=(__UINTEGER_32)(idx__TCS +  1);
+            goto while_do__F3B__YCS;
+          };
+        };
+        if ((idx__TCS >= nb_page__UYB)) {
+          if ((capacity_max__4KD ==  0)) {
+            mem__ZCS=((__POINTER )(NULL));
+            cap__0CS= 33554432;
+            do {
+              cap__0CS=(__UINTEGER_32)(cap__0CS <<  1);
+              mem__ZCS=((__POINTER )(malloc((cap__0CS))));
+              if ((mem__ZCS != (void *)NULL)) {
+                free((mem__ZCS));
+              };
+            } while ((! ((mem__ZCS == (void *)NULL) || (cap__0CS ==  2147483648LU))));
+            if ((mem__ZCS == (void *)NULL)) {
+              cap__0CS=(__UINTEGER_32)(cap__0CS >>  1);
+            };
+            capacity_max__4KD=cap__0CS;
+            begin_memory__XLB=((__POINTER )(malloc((cap__0CS))));
+          };
+          old_size__2CS=(__UINTEGER_32)(nb_page__UYB <<  26);
+          nb_page__UYB=(__UINTEGER_32)(nb_page__UYB +  1);
+          if (((__UINTEGER_32)(old_size__2CS +  67108864) > capacity_max__4KD)) {
+            print__PO((&__string_1));
+            exit(( 1));
+          };
+          block__3CS=((__MEMORY *)(void *)((unsigned long)begin_memory__XLB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )old_size__2CS))));
+          block__3CS->previous_linear__CZ= 4294967295LU;
+          block__3CS->size_and_id__DZ= 67108858;
+          block__3CS->next_free__EZ=first_free__2KG;
+          block__3CS->previous_free__FZ=NULL;
+          if (((void *)first_free__2KG != (void *)NULL)) {
+            ((__MEMORY *)first_free__2KG)->previous_free__FZ=block__3CS;
+          };
+          first_free__2KG=block__3CS;
+          last_block[((__UINTEGER_32)(nb_page__UYB -  1))] = (block__3CS);
+          blc__UCS=block__3CS;
+        };
+        ((__MEMORY *)blc__UCS)->size_and_id__DZ=(__UINTEGER_32)(blc__UCS->size_and_id__DZ -  4096);
+        Self__4CS=((__MEMORY *)blc__UCS);
+        result__5CS=((__POINTER )((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__4CS) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__4CS->size_and_id__DZ &  4294967292LU))))));
+        if (((__UINTEGER_32)(((__MEMORY *)blc__UCS)->size_and_id__DZ &  4294967292LU) < ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+          Self__ADS=((__MEMORY *)blc__UCS);
+          prev__BDS=Self__ADS->previous_free__FZ;
+          next__CDS=Self__ADS->next_free__EZ;
+          if (((void *)prev__BDS == (void *)NULL)) {
+            first_free__2KG=next__CDS;
+          } else {
+            ((__MEMORY *)prev__BDS)->next_free__EZ=next__CDS;
+          };
+          if (((void *)next__CDS != (void *)NULL)) {
+            ((__MEMORY *)next__CDS)->previous_free__FZ=prev__BDS;
+          };
+          pv__WCS=blc__UCS->previous_linear__CZ;
+          if ((pv__WCS !=  4294967295LU)) {
+            prev__VCS=((__MEMORY *)(void *)((unsigned long)begin_memory__XLB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )pv__WCS))));
+            ((__MEMORY *)prev__VCS)->size_and_id__DZ=(__UINTEGER_32)((__UINTEGER_32)(prev__VCS->size_and_id__DZ + blc__UCS->size_and_id__DZ) +  8);
+            last_block[(idx__TCS)] = (prev__VCS);
+          };
+        };
+        ((__POINTER *)result__5CS)[ 0]=((__POINTER )new_size__SVR);
+        result__YZR=(void *)((unsigned long)result__5CS - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+        next__WZR=(void *)((unsigned long)result__YZR - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__SVR)));
+        ((__POINTER *)next__WZR)[ 0]=NULL;
+        ((__POINTER *)ptr_table__XZR)[ 0]=next__WZR;
+      } else {
+        next__WZR=((__POINTER *)result__YZR)[ 0];
+        if ((next__WZR == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__YZR - (unsigned long)begin_memory__XLB)))) &  4095) + (__UINTEGER_32)(new_size__SVR <<  1)) <=  4096)) {
+            next__WZR=(void *)((unsigned long)result__YZR - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__SVR)));
+          } else {
+            idx__EDS= 0;
+            blc__FDS=NULL;
+            prev__GDS=NULL;
+            pv__HDS= 0;
+            while_do__F3B__JDS:
+            {
+              if ((idx__EDS < nb_page__UYB)) {
+                blc__FDS=((__MEMORY *)(last_block[(idx__EDS)]));
+                __tmp__IDS=(((__UINTEGER_32)(((__MEMORY *)blc__FDS)->size_and_id__DZ &  4294967292LU) <  4096) || ((__UINTEGER_32)(((__MEMORY *)blc__FDS)->size_and_id__DZ &  1) ==  1));
+              } else {
+                __tmp__IDS=FALSE__;
+              };
+              if (__tmp__IDS) {
+                idx__EDS=(__UINTEGER_32)(idx__EDS +  1);
+                goto while_do__F3B__JDS;
+              };
+            };
+            if ((idx__EDS >= nb_page__UYB)) {
+              if ((capacity_max__4KD ==  0)) {
+                mem__KDS=((__POINTER )(NULL));
+                cap__LDS= 33554432;
+                do {
+                  cap__LDS=(__UINTEGER_32)(cap__LDS <<  1);
+                  mem__KDS=((__POINTER )(malloc((cap__LDS))));
+                  if ((mem__KDS != (void *)NULL)) {
+                    free((mem__KDS));
+                  };
+                } while ((! ((mem__KDS == (void *)NULL) || (cap__LDS ==  2147483648LU))));
+                if ((mem__KDS == (void *)NULL)) {
+                  cap__LDS=(__UINTEGER_32)(cap__LDS >>  1);
+                };
+                capacity_max__4KD=cap__LDS;
+                begin_memory__XLB=((__POINTER )(malloc((cap__LDS))));
+              };
+              old_size__NDS=(__UINTEGER_32)(nb_page__UYB <<  26);
+              nb_page__UYB=(__UINTEGER_32)(nb_page__UYB +  1);
+              if (((__UINTEGER_32)(old_size__NDS +  67108864) > capacity_max__4KD)) {
+                print__PO((&__string_1));
+                exit(( 1));
+              };
+              block__ODS=((__MEMORY *)(void *)((unsigned long)begin_memory__XLB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )old_size__NDS))));
+              block__ODS->previous_linear__CZ= 4294967295LU;
+              block__ODS->size_and_id__DZ= 67108858;
+              block__ODS->next_free__EZ=first_free__2KG;
+              block__ODS->previous_free__FZ=NULL;
+              if (((void *)first_free__2KG != (void *)NULL)) {
+                ((__MEMORY *)first_free__2KG)->previous_free__FZ=block__ODS;
+              };
+              first_free__2KG=block__ODS;
+              last_block[((__UINTEGER_32)(nb_page__UYB -  1))] = (block__ODS);
+              blc__FDS=block__ODS;
+            };
+            ((__MEMORY *)blc__FDS)->size_and_id__DZ=(__UINTEGER_32)(blc__FDS->size_and_id__DZ -  4096);
+            Self__PDS=((__MEMORY *)blc__FDS);
+            result__QDS=((__POINTER )((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__PDS) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__PDS->size_and_id__DZ &  4294967292LU))))));
+            if (((__UINTEGER_32)(((__MEMORY *)blc__FDS)->size_and_id__DZ &  4294967292LU) < ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+              Self__RDS=((__MEMORY *)blc__FDS);
+              prev__SDS=Self__RDS->previous_free__FZ;
+              next__TDS=Self__RDS->next_free__EZ;
+              if (((void *)prev__SDS == (void *)NULL)) {
+                first_free__2KG=next__TDS;
+              } else {
+                ((__MEMORY *)prev__SDS)->next_free__EZ=next__TDS;
+              };
+              if (((void *)next__TDS != (void *)NULL)) {
+                ((__MEMORY *)next__TDS)->previous_free__FZ=prev__SDS;
+              };
+              pv__HDS=blc__FDS->previous_linear__CZ;
+              if ((pv__HDS !=  4294967295LU)) {
+                prev__GDS=((__MEMORY *)(void *)((unsigned long)begin_memory__XLB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )pv__HDS))));
+                ((__MEMORY *)prev__GDS)->size_and_id__DZ=(__UINTEGER_32)((__UINTEGER_32)(prev__GDS->size_and_id__DZ + blc__FDS->size_and_id__DZ) +  8);
+                last_block[(idx__EDS)] = (prev__GDS);
+              };
+            };
+            ((__POINTER *)result__QDS)[ 0]=((__POINTER )new_size__SVR);
+            next__WZR=(void *)((unsigned long)result__QDS - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+          };
+          ((__POINTER *)next__WZR)[ 0]=NULL;
+          ((__POINTER *)ptr_table__XZR)[ 0]=next__WZR;
+        } else {
+          ((__POINTER *)result__YZR)[ 0]=(void *)((unsigned long)((__POINTER *)next__WZR)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__YZR=next__WZR;
+        };
+      };
+      ptr__3Z=result__YZR;
+    } else {
+      t__1VR=((__UINTEGER_32 )typ_id__C0);
+      a__YVR=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__A0R=(__UINTEGER_32)((__UINTEGER_32)(sz__5Z + a__YVR) & (__UINTEGER_32)(~ a__YVR));
+      ptr_table__3ZR=((__POINTER )(&(table_type[(t__1VR)])));
+      lab_type__5ZR=(__UINTEGER_32)(t__1VR |  1);
+      next__2ZR=((__POINTER )(NULL));
+      result__4ZR=((__POINTER *)ptr_table__3ZR)[ 0];
+      if ((result__4ZR == (void *)NULL)) {
+        idx__VDS= 0;
+        blc__WDS=NULL;
+        prev__XDS=NULL;
+        pv__YDS= 0;
+        while_do__F3B__0DS:
+        {
+          if ((idx__VDS < nb_page__UYB)) {
+            blc__WDS=((__MEMORY *)(last_block[(idx__VDS)]));
+            __tmp__ZDS=(((__UINTEGER_32)(((__MEMORY *)blc__WDS)->size_and_id__DZ &  4294967292LU) <  4096) || ((__UINTEGER_32)(((__MEMORY *)blc__WDS)->size_and_id__DZ &  1) ==  1));
+          } else {
+            __tmp__ZDS=FALSE__;
+          };
+          if (__tmp__ZDS) {
+            idx__VDS=(__UINTEGER_32)(idx__VDS +  1);
+            goto while_do__F3B__0DS;
+          };
+        };
+        if ((idx__VDS >= nb_page__UYB)) {
+          if ((capacity_max__4KD ==  0)) {
+            mem__1DS=((__POINTER )(NULL));
+            cap__2DS= 33554432;
+            do {
+              cap__2DS=(__UINTEGER_32)(cap__2DS <<  1);
+              mem__1DS=((__POINTER )(malloc((cap__2DS))));
+              if ((mem__1DS != (void *)NULL)) {
+                free((mem__1DS));
+              };
+            } while ((! ((mem__1DS == (void *)NULL) || (cap__2DS ==  2147483648LU))));
+            if ((mem__1DS == (void *)NULL)) {
+              cap__2DS=(__UINTEGER_32)(cap__2DS >>  1);
+            };
+            capacity_max__4KD=cap__2DS;
+            begin_memory__XLB=((__POINTER )(malloc((cap__2DS))));
+          };
+          old_size__4DS=(__UINTEGER_32)(nb_page__UYB <<  26);
+          nb_page__UYB=(__UINTEGER_32)(nb_page__UYB +  1);
+          if (((__UINTEGER_32)(old_size__4DS +  67108864) > capacity_max__4KD)) {
+            print__PO((&__string_1));
+            exit(( 1));
+          };
+          block__5DS=((__MEMORY *)(void *)((unsigned long)begin_memory__XLB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )old_size__4DS))));
+          block__5DS->previous_linear__CZ= 4294967295LU;
+          block__5DS->size_and_id__DZ= 67108858;
+          block__5DS->next_free__EZ=first_free__2KG;
+          block__5DS->previous_free__FZ=NULL;
+          if (((void *)first_free__2KG != (void *)NULL)) {
+            ((__MEMORY *)first_free__2KG)->previous_free__FZ=block__5DS;
+          };
+          first_free__2KG=block__5DS;
+          last_block[((__UINTEGER_32)(nb_page__UYB -  1))] = (block__5DS);
+          blc__WDS=block__5DS;
+        };
+        ((__MEMORY *)blc__WDS)->size_and_id__DZ=(__UINTEGER_32)(blc__WDS->size_and_id__DZ -  4096);
+        Self__AES=((__MEMORY *)blc__WDS);
+        result__BES=((__POINTER )((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__AES) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__AES->size_and_id__DZ &  4294967292LU))))));
+        if (((__UINTEGER_32)(((__MEMORY *)blc__WDS)->size_and_id__DZ &  4294967292LU) < ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+          Self__CES=((__MEMORY *)blc__WDS);
+          prev__DES=Self__CES->previous_free__FZ;
+          next__EES=Self__CES->next_free__EZ;
+          if (((void *)prev__DES == (void *)NULL)) {
+            first_free__2KG=next__EES;
+          } else {
+            ((__MEMORY *)prev__DES)->next_free__EZ=next__EES;
+          };
+          if (((void *)next__EES != (void *)NULL)) {
+            ((__MEMORY *)next__EES)->previous_free__FZ=prev__DES;
+          };
+          pv__YDS=blc__WDS->previous_linear__CZ;
+          if ((pv__YDS !=  4294967295LU)) {
+            prev__XDS=((__MEMORY *)(void *)((unsigned long)begin_memory__XLB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )pv__YDS))));
+            ((__MEMORY *)prev__XDS)->size_and_id__DZ=(__UINTEGER_32)((__UINTEGER_32)(prev__XDS->size_and_id__DZ + blc__WDS->size_and_id__DZ) +  8);
+            last_block[(idx__VDS)] = (prev__XDS);
+          };
+        };
+        ((__POINTER *)result__BES)[ 0]=((__POINTER )lab_type__5ZR);
+        result__4ZR=(void *)((unsigned long)result__BES - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+        next__2ZR=(void *)((unsigned long)result__4ZR - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__A0R)));
+        ((__POINTER *)next__2ZR)[ 0]=NULL;
+        ((__POINTER *)ptr_table__3ZR)[ 0]=next__2ZR;
+      } else {
+        next__2ZR=((__POINTER *)result__4ZR)[ 0];
+        if ((next__2ZR == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__4ZR - (unsigned long)begin_memory__XLB)))) &  4095) + (__UINTEGER_32)(new_size__A0R <<  1)) <=  4096)) {
+            next__2ZR=(void *)((unsigned long)result__4ZR - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__A0R)));
+          } else {
+            idx__GES= 0;
+            blc__HES=NULL;
+            prev__IES=NULL;
+            pv__JES= 0;
+            while_do__F3B__LES:
+            {
+              if ((idx__GES < nb_page__UYB)) {
+                blc__HES=((__MEMORY *)(last_block[(idx__GES)]));
+                __tmp__KES=(((__UINTEGER_32)(((__MEMORY *)blc__HES)->size_and_id__DZ &  4294967292LU) <  4096) || ((__UINTEGER_32)(((__MEMORY *)blc__HES)->size_and_id__DZ &  1) ==  1));
+              } else {
+                __tmp__KES=FALSE__;
+              };
+              if (__tmp__KES) {
+                idx__GES=(__UINTEGER_32)(idx__GES +  1);
+                goto while_do__F3B__LES;
+              };
+            };
+            if ((idx__GES >= nb_page__UYB)) {
+              if ((capacity_max__4KD ==  0)) {
+                mem__MES=((__POINTER )(NULL));
+                cap__NES= 33554432;
+                do {
+                  cap__NES=(__UINTEGER_32)(cap__NES <<  1);
+                  mem__MES=((__POINTER )(malloc((cap__NES))));
+                  if ((mem__MES != (void *)NULL)) {
+                    free((mem__MES));
+                  };
+                } while ((! ((mem__MES == (void *)NULL) || (cap__NES ==  2147483648LU))));
+                if ((mem__MES == (void *)NULL)) {
+                  cap__NES=(__UINTEGER_32)(cap__NES >>  1);
+                };
+                capacity_max__4KD=cap__NES;
+                begin_memory__XLB=((__POINTER )(malloc((cap__NES))));
+              };
+              old_size__PES=(__UINTEGER_32)(nb_page__UYB <<  26);
+              nb_page__UYB=(__UINTEGER_32)(nb_page__UYB +  1);
+              if (((__UINTEGER_32)(old_size__PES +  67108864) > capacity_max__4KD)) {
+                print__PO((&__string_1));
+                exit(( 1));
+              };
+              block__QES=((__MEMORY *)(void *)((unsigned long)begin_memory__XLB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )old_size__PES))));
+              block__QES->previous_linear__CZ= 4294967295LU;
+              block__QES->size_and_id__DZ= 67108858;
+              block__QES->next_free__EZ=first_free__2KG;
+              block__QES->previous_free__FZ=NULL;
+              if (((void *)first_free__2KG != (void *)NULL)) {
+                ((__MEMORY *)first_free__2KG)->previous_free__FZ=block__QES;
+              };
+              first_free__2KG=block__QES;
+              last_block[((__UINTEGER_32)(nb_page__UYB -  1))] = (block__QES);
+              blc__HES=block__QES;
+            };
+            ((__MEMORY *)blc__HES)->size_and_id__DZ=(__UINTEGER_32)(blc__HES->size_and_id__DZ -  4096);
+            Self__RES=((__MEMORY *)blc__HES);
+            result__SES=((__POINTER )((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__RES) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__RES->size_and_id__DZ &  4294967292LU))))));
+            if (((__UINTEGER_32)(((__MEMORY *)blc__HES)->size_and_id__DZ &  4294967292LU) < ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+              Self__TES=((__MEMORY *)blc__HES);
+              prev__UES=Self__TES->previous_free__FZ;
+              next__VES=Self__TES->next_free__EZ;
+              if (((void *)prev__UES == (void *)NULL)) {
+                first_free__2KG=next__VES;
+              } else {
+                ((__MEMORY *)prev__UES)->next_free__EZ=next__VES;
+              };
+              if (((void *)next__VES != (void *)NULL)) {
+                ((__MEMORY *)next__VES)->previous_free__FZ=prev__UES;
+              };
+              pv__JES=blc__HES->previous_linear__CZ;
+              if ((pv__JES !=  4294967295LU)) {
+                prev__IES=((__MEMORY *)(void *)((unsigned long)begin_memory__XLB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )pv__JES))));
+                ((__MEMORY *)prev__IES)->size_and_id__DZ=(__UINTEGER_32)((__UINTEGER_32)(prev__IES->size_and_id__DZ + blc__HES->size_and_id__DZ) +  8);
+                last_block[(idx__GES)] = (prev__IES);
+              };
+            };
+            ((__POINTER *)result__SES)[ 0]=((__POINTER )lab_type__5ZR);
+            next__2ZR=(void *)((unsigned long)result__SES - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+          };
+          ((__POINTER *)next__2ZR)[ 0]=NULL;
+          ((__POINTER *)ptr_table__3ZR)[ 0]=next__2ZR;
+        } else {
+          ((__POINTER *)result__4ZR)[ 0]=(void *)((unsigned long)((__POINTER *)next__2ZR)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__4ZR=next__2ZR;
+        };
+      };
+      ptr__3Z=result__4ZR;
+    };
+    result__2Z=((__STRING *)ptr__3Z);
+    *(result__2Z) = *(STRING__);
+  };
+  Self__CQC=((__STRING *)result__2Z);
+  if ((needed_capacity__NV >  0)) {
+    if ((Self__CQC->capacity__ES < needed_capacity__NV)) {
+      sz__FXR=((__UINTEGER_32 )needed_capacity__NV);
+      result__DXR=((__POINTER )(NULL));
+      a__EXR=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__GXR=(__UINTEGER_32)((__UINTEGER_32)(sz__FXR + a__EXR) & (__UINTEGER_32)(~ a__EXR));
+      new_size2__HXR=(__UINTEGER_32)(new_size__GXR + ((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))));
+      if ((new_size2__HXR <= ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+        a__JXR=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+        new_size__KXR=(__UINTEGER_32)((__UINTEGER_32)(new_size2__HXR + a__JXR) & (__UINTEGER_32)(~ a__JXR));
+        ptr_table__J0R=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__KXR / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+        next__I0R=((__POINTER )(NULL));
+        result__K0R=((__POINTER *)ptr_table__J0R)[ 0];
+        if ((result__K0R == (void *)NULL)) {
+          idx__XES= 0;
+          blc__YES=NULL;
+          prev__ZES=NULL;
+          pv__0ES= 0;
+          while_do__F3B__2ES:
+          {
+            if ((idx__XES < nb_page__UYB)) {
+              blc__YES=((__MEMORY *)(last_block[(idx__XES)]));
+              __tmp__1ES=(((__UINTEGER_32)(((__MEMORY *)blc__YES)->size_and_id__DZ &  4294967292LU) <  4096) || ((__UINTEGER_32)(((__MEMORY *)blc__YES)->size_and_id__DZ &  1) ==  1));
+            } else {
+              __tmp__1ES=FALSE__;
+            };
+            if (__tmp__1ES) {
+              idx__XES=(__UINTEGER_32)(idx__XES +  1);
+              goto while_do__F3B__2ES;
+            };
+          };
+          if ((idx__XES >= nb_page__UYB)) {
+            if ((capacity_max__4KD ==  0)) {
+              mem__3ES=((__POINTER )(NULL));
+              cap__4ES= 33554432;
+              do {
+                cap__4ES=(__UINTEGER_32)(cap__4ES <<  1);
+                mem__3ES=((__POINTER )(malloc((cap__4ES))));
+                if ((mem__3ES != (void *)NULL)) {
+                  free((mem__3ES));
+                };
+              } while ((! ((mem__3ES == (void *)NULL) || (cap__4ES ==  2147483648LU))));
+              if ((mem__3ES == (void *)NULL)) {
+                cap__4ES=(__UINTEGER_32)(cap__4ES >>  1);
+              };
+              capacity_max__4KD=cap__4ES;
+              begin_memory__XLB=((__POINTER )(malloc((cap__4ES))));
+            };
+            old_size__AFS=(__UINTEGER_32)(nb_page__UYB <<  26);
+            nb_page__UYB=(__UINTEGER_32)(nb_page__UYB +  1);
+            if (((__UINTEGER_32)(old_size__AFS +  67108864) > capacity_max__4KD)) {
+              print__PO((&__string_1));
+              exit(( 1));
+            };
+            block__BFS=((__MEMORY *)(void *)((unsigned long)begin_memory__XLB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )old_size__AFS))));
+            block__BFS->previous_linear__CZ= 4294967295LU;
+            block__BFS->size_and_id__DZ= 67108858;
+            block__BFS->next_free__EZ=first_free__2KG;
+            block__BFS->previous_free__FZ=NULL;
+            if (((void *)first_free__2KG != (void *)NULL)) {
+              ((__MEMORY *)first_free__2KG)->previous_free__FZ=block__BFS;
+            };
+            first_free__2KG=block__BFS;
+            last_block[((__UINTEGER_32)(nb_page__UYB -  1))] = (block__BFS);
+            blc__YES=block__BFS;
+          };
+          ((__MEMORY *)blc__YES)->size_and_id__DZ=(__UINTEGER_32)(blc__YES->size_and_id__DZ -  4096);
+          Self__CFS=((__MEMORY *)blc__YES);
+          result__DFS=((__POINTER )((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__CFS) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__CFS->size_and_id__DZ &  4294967292LU))))));
+          if (((__UINTEGER_32)(((__MEMORY *)blc__YES)->size_and_id__DZ &  4294967292LU) < ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+            Self__EFS=((__MEMORY *)blc__YES);
+            prev__FFS=Self__EFS->previous_free__FZ;
+            next__GFS=Self__EFS->next_free__EZ;
+            if (((void *)prev__FFS == (void *)NULL)) {
+              first_free__2KG=next__GFS;
+            } else {
+              ((__MEMORY *)prev__FFS)->next_free__EZ=next__GFS;
+            };
+            if (((void *)next__GFS != (void *)NULL)) {
+              ((__MEMORY *)next__GFS)->previous_free__FZ=prev__FFS;
+            };
+            pv__0ES=blc__YES->previous_linear__CZ;
+            if ((pv__0ES !=  4294967295LU)) {
+              prev__ZES=((__MEMORY *)(void *)((unsigned long)begin_memory__XLB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )pv__0ES))));
+              ((__MEMORY *)prev__ZES)->size_and_id__DZ=(__UINTEGER_32)((__UINTEGER_32)(prev__ZES->size_and_id__DZ + blc__YES->size_and_id__DZ) +  8);
+              last_block[(idx__XES)] = (prev__ZES);
+            };
+          };
+          ((__POINTER *)result__DFS)[ 0]=((__POINTER )new_size__KXR);
+          result__K0R=(void *)((unsigned long)result__DFS - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+          next__I0R=(void *)((unsigned long)result__K0R - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__KXR)));
+          ((__POINTER *)next__I0R)[ 0]=NULL;
+          ((__POINTER *)ptr_table__J0R)[ 0]=next__I0R;
+        } else {
+          next__I0R=((__POINTER *)result__K0R)[ 0];
+          if ((next__I0R == (void *)NULL)) {
+            if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__K0R - (unsigned long)begin_memory__XLB)))) &  4095) + (__UINTEGER_32)(new_size__KXR <<  1)) <=  4096)) {
+              next__I0R=(void *)((unsigned long)result__K0R - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__KXR)));
+            } else {
+              idx__IFS= 0;
+              blc__JFS=NULL;
+              prev__KFS=NULL;
+              pv__LFS= 0;
+              while_do__F3B__NFS:
+              {
+                if ((idx__IFS < nb_page__UYB)) {
+                  blc__JFS=((__MEMORY *)(last_block[(idx__IFS)]));
+                  __tmp__MFS=(((__UINTEGER_32)(((__MEMORY *)blc__JFS)->size_and_id__DZ &  4294967292LU) <  4096) || ((__UINTEGER_32)(((__MEMORY *)blc__JFS)->size_and_id__DZ &  1) ==  1));
+                } else {
+                  __tmp__MFS=FALSE__;
+                };
+                if (__tmp__MFS) {
+                  idx__IFS=(__UINTEGER_32)(idx__IFS +  1);
+                  goto while_do__F3B__NFS;
+                };
+              };
+              if ((idx__IFS >= nb_page__UYB)) {
+                if ((capacity_max__4KD ==  0)) {
+                  mem__OFS=((__POINTER )(NULL));
+                  cap__PFS= 33554432;
+                  do {
+                    cap__PFS=(__UINTEGER_32)(cap__PFS <<  1);
+                    mem__OFS=((__POINTER )(malloc((cap__PFS))));
+                    if ((mem__OFS != (void *)NULL)) {
+                      free((mem__OFS));
+                    };
+                  } while ((! ((mem__OFS == (void *)NULL) || (cap__PFS ==  2147483648LU))));
+                  if ((mem__OFS == (void *)NULL)) {
+                    cap__PFS=(__UINTEGER_32)(cap__PFS >>  1);
+                  };
+                  capacity_max__4KD=cap__PFS;
+                  begin_memory__XLB=((__POINTER )(malloc((cap__PFS))));
+                };
+                old_size__RFS=(__UINTEGER_32)(nb_page__UYB <<  26);
+                nb_page__UYB=(__UINTEGER_32)(nb_page__UYB +  1);
+                if (((__UINTEGER_32)(old_size__RFS +  67108864) > capacity_max__4KD)) {
+                  print__PO((&__string_1));
+                  exit(( 1));
+                };
+                block__SFS=((__MEMORY *)(void *)((unsigned long)begin_memory__XLB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )old_size__RFS))));
+                block__SFS->previous_linear__CZ= 4294967295LU;
+                block__SFS->size_and_id__DZ= 67108858;
+                block__SFS->next_free__EZ=first_free__2KG;
+                block__SFS->previous_free__FZ=NULL;
+                if (((void *)first_free__2KG != (void *)NULL)) {
+                  ((__MEMORY *)first_free__2KG)->previous_free__FZ=block__SFS;
+                };
+                first_free__2KG=block__SFS;
+                last_block[((__UINTEGER_32)(nb_page__UYB -  1))] = (block__SFS);
+                blc__JFS=block__SFS;
+              };
+              ((__MEMORY *)blc__JFS)->size_and_id__DZ=(__UINTEGER_32)(blc__JFS->size_and_id__DZ -  4096);
+              Self__TFS=((__MEMORY *)blc__JFS);
+              result__UFS=((__POINTER )((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__TFS) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__TFS->size_and_id__DZ &  4294967292LU))))));
+              if (((__UINTEGER_32)(((__MEMORY *)blc__JFS)->size_and_id__DZ &  4294967292LU) < ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+                Self__VFS=((__MEMORY *)blc__JFS);
+                prev__WFS=Self__VFS->previous_free__FZ;
+                next__XFS=Self__VFS->next_free__EZ;
+                if (((void *)prev__WFS == (void *)NULL)) {
+                  first_free__2KG=next__XFS;
+                } else {
+                  ((__MEMORY *)prev__WFS)->next_free__EZ=next__XFS;
+                };
+                if (((void *)next__XFS != (void *)NULL)) {
+                  ((__MEMORY *)next__XFS)->previous_free__FZ=prev__WFS;
+                };
+                pv__LFS=blc__JFS->previous_linear__CZ;
+                if ((pv__LFS !=  4294967295LU)) {
+                  prev__KFS=((__MEMORY *)(void *)((unsigned long)begin_memory__XLB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )pv__LFS))));
+                  ((__MEMORY *)prev__KFS)->size_and_id__DZ=(__UINTEGER_32)((__UINTEGER_32)(prev__KFS->size_and_id__DZ + blc__JFS->size_and_id__DZ) +  8);
+                  last_block[(idx__IFS)] = (prev__KFS);
+                };
+              };
+              ((__POINTER *)result__UFS)[ 0]=((__POINTER )new_size__KXR);
+              next__I0R=(void *)((unsigned long)result__UFS - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+            };
+            ((__POINTER *)next__I0R)[ 0]=NULL;
+            ((__POINTER *)ptr_table__J0R)[ 0]=next__I0R;
+          } else {
+            ((__POINTER *)result__K0R)[ 0]=(void *)((unsigned long)((__POINTER *)next__I0R)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+            result__K0R=next__I0R;
+          };
+        };
+        ((__POINTER *)result__K0R)[ 0]=((__POINTER ) 3);
+        result__DXR=(void *)((unsigned long)result__K0R - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+      } else {
+        result__G4R=first_free__2KG;
+        while ((((void *)result__G4R != (void *)NULL) && ((__UINTEGER_32)(((__MEMORY *)result__G4R)->size_and_id__DZ &  4294967292LU) < new_size__GXR))) {
+          result__G4R=result__G4R->next_free__EZ;
+        };
+        if (((void *)result__G4R == (void *)NULL)) {
+          if ((capacity_max__4KD ==  0)) {
+            mem__0BS=((__POINTER )(NULL));
+            cap__1BS= 33554432;
+            do {
+              cap__1BS=(__UINTEGER_32)(cap__1BS <<  1);
+              mem__0BS=((__POINTER )(malloc((cap__1BS))));
+              if ((mem__0BS != (void *)NULL)) {
+                free((mem__0BS));
+              };
+            } while ((! ((mem__0BS == (void *)NULL) || (cap__1BS ==  2147483648LU))));
+            if ((mem__0BS == (void *)NULL)) {
+              cap__1BS=(__UINTEGER_32)(cap__1BS >>  1);
+            };
+            capacity_max__4KD=cap__1BS;
+            begin_memory__XLB=((__POINTER )(malloc((cap__1BS))));
+          };
+          old_size__3BS=(__UINTEGER_32)(nb_page__UYB <<  26);
+          nb_page__UYB=(__UINTEGER_32)(nb_page__UYB +  1);
+          if (((__UINTEGER_32)(old_size__3BS +  67108864) > capacity_max__4KD)) {
+            print__PO((&__string_1));
+            exit(( 1));
+          };
+          block__4BS=((__MEMORY *)(void *)((unsigned long)begin_memory__XLB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )old_size__3BS))));
+          block__4BS->previous_linear__CZ= 4294967295LU;
+          block__4BS->size_and_id__DZ= 67108858;
+          block__4BS->next_free__EZ=first_free__2KG;
+          block__4BS->previous_free__FZ=NULL;
+          if (((void *)first_free__2KG != (void *)NULL)) {
+            ((__MEMORY *)first_free__2KG)->previous_free__FZ=block__4BS;
+          };
+          first_free__2KG=block__4BS;
+          last_block[((__UINTEGER_32)(nb_page__UYB -  1))] = (block__4BS);
+          result__G4R=block__4BS;
+        };
+        Self__J4R=((__MEMORY *)result__G4R);
+        idx__K4R=(__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )((__MEMORY *)result__G4R)) - (unsigned long)begin_memory__XLB)))) >>  26);
+        new__L4R=NULL;
+        prev__M4R=Self__J4R->previous_free__FZ;
+        next__N4R=Self__J4R->next_free__EZ;
+        if (((void *)prev__M4R == (void *)NULL)) {
+          first_free__2KG=next__N4R;
+        } else {
+          ((__MEMORY *)prev__M4R)->next_free__EZ=next__N4R;
+        };
+        if (((void *)next__N4R != (void *)NULL)) {
+          ((__MEMORY *)next__N4R)->previous_free__FZ=prev__M4R;
+        };
+        siz__O4R=Self__J4R->size_and_id__DZ;
+        new_size__P4R=(__UINTEGER_32)(siz__O4R - new_size__GXR);
+        if ((new_size__P4R > (__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )(MINIMUM_SIZE)) +  2) +  8))) {
+          siz__O4R=new_size__GXR;
+          new__L4R=((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__J4R) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__GXR))));
+          ((__MEMORY *)new__L4R)->previous_linear__CZ=((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )Self__J4R) - (unsigned long)begin_memory__XLB))));
+          ((__MEMORY *)new__L4R)->size_and_id__DZ=(__UINTEGER_32)(new_size__P4R -  8);
+          Self__Q4R=((__MEMORY *)new__L4R);
+          Self__Q4R->next_free__EZ=first_free__2KG;
+          Self__Q4R->previous_free__FZ=NULL;
+          if (((void *)first_free__2KG != (void *)NULL)) {
+            ((__MEMORY *)first_free__2KG)->previous_free__FZ=Self__Q4R;
+          };
+          first_free__2KG=Self__Q4R;
+          if (((__UINTEGER_32)(((__MEMORY *)new__L4R)->size_and_id__DZ &  2) !=  0)) {
+            last_block[(idx__K4R)] = (new__L4R);
+          } else {
+            Self__R4R=((__MEMORY *)new__L4R);
+            ((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__R4R) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__R4R->size_and_id__DZ &  4294967292LU)))))->previous_linear__CZ=((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )((__MEMORY *)new__L4R)) - (unsigned long)begin_memory__XLB))));
+          };
+        };
+        Self__J4R->size_and_id__DZ=(__UINTEGER_32)(siz__O4R |  1);
+        result__DXR=(void *)((unsigned long)((__POINTER )((__MEMORY *)result__G4R)) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+      };
+      Result__ESF=((__CHARACTER *)result__DXR);
+      Self__GWH=(__INTEGER)(needed_capacity__NV -  1);
+      while ((Self__GWH >=  0)) {
+        Result__ESF[Self__GWH]='\0';
+        Self__GWH=(__INTEGER)(Self__GWH -  1);
+      };
+      Self__CQC->storage__CNC=Result__ESF;
+      Self__CQC->capacity__ES=needed_capacity__NV;
+    };
+  };
+  Self__CQC->count__CS= 0;
+  return(result__2Z);
+}
+
+static __POINTER realloc_dynamic__old_size__new_size__FPH(__POINTER p__HPH,__UINTEGER_32 old_sz__IPH,__UINTEGER_32 new_sz__JPH)
+// ({POINTER},{UINTEGER_32},{UINTEGER_32}) With resultNo recursive, No inlinable.
+{
+  __MEMORY *mem__UPH,*blc__0FS,*prev__1FS,*block__DGS,*Self__EGS;
+  __MEMORY *Self__GGS,*prev__HGS,*next__IGS,*blc__LGS,*prev__MGS;
+  __MEMORY *block__UGS,*Self__VGS,*Self__XGS,*prev__YGS,*next__ZGS;
+  __MEMORY *result__S4R,*block__DCS,*Self__V4R,*new__X4R,*prev__Y4R;
+  __MEMORY *next__Z4R,*Self__24R,*Self__34R,*Self__3UJ,*nxt__BVJ;
+  __MEMORY *result__CVJ,*Self__30R,*new__20R,*prev__40R,*next__50R;
+  __MEMORY *Self__D1R,*Self__F1R,*result__44R,*block__ICS,*Self__B5R;
+  __MEMORY *new__D5R,*prev__E5R,*next__F5R,*Self__I5R,*Self__J5R;
+  __MEMORY *next__GMK,*new_free__FMK,*prev__OWR,*next__PWR;
+  __POINTER result__VPH,result__O0F,ptr_table__D0R,next__C0R;
+  __POINTER result__E0R,mem__5FS,result__FGS,mem__QGS,result__WGS;
+  __POINTER mem__5BS,p__TTJ,last__K5J,mem__ECS,src__NSJ,dst__OSJ;
+  __UINTEGER_32 a__4VR,old_size__LPH,old_size2__OPH,a__CWR;
+  __UINTEGER_32 new_size__RPH,a__LUR,new_size__I0F,new_size2__L0F;
+  __UINTEGER_32 a__5WR,new_size__AXR,idx__ZFS,pv__2FS,cap__AGS;
+  __UINTEGER_32 old_size__CGS,idx__KGS,pv__NGS,cap__RGS,old_size__TGS;
+  __UINTEGER_32 cap__ACS,old_size__CCS,idx__W4R,siz__04R,new_size__14R;
+  __UINTEGER_32 a__0HB,__tmp__GRH,sz__GVJ,old_size__DVJ,siz__A1R;
+  __UINTEGER_32 new_size__C1R,cap__FCS,old_size__HCS,idx__C5R,siz__G5R;
+  __UINTEGER_32 new_size__H5R,prev__HMK,new_size__KMK;
+  __INTEGER siz__V0R,Self__00R,siz__SSJ,Self__32J;
+  __BOOLEAN __tmp__3FS,__tmp__OGS;
+  __POINTER *na_src__X0R,*na_dst__Z0R,*na_src__QSJ,*na_dst__RSJ;
+  mem__UPH=NULL;
+  result__VPH=((__POINTER )(NULL));
+  a__4VR=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+  old_size__LPH=(__UINTEGER_32)((__UINTEGER_32)(old_sz__IPH + a__4VR) & (__UINTEGER_32)(~ a__4VR));
+  old_size2__OPH=(__UINTEGER_32)(old_size__LPH + ((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))));
+  a__CWR=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+  new_size__RPH=(__UINTEGER_32)((__UINTEGER_32)(new_sz__JPH + a__CWR) & (__UINTEGER_32)(~ a__CWR));
+  if ((old_size2__OPH <= ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+    result__O0F=((__POINTER )(NULL));
+    a__LUR=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+    new_size__I0F=(__UINTEGER_32)((__UINTEGER_32)(new_size__RPH + a__LUR) & (__UINTEGER_32)(~ a__LUR));
+    new_size2__L0F=(__UINTEGER_32)(new_size__I0F + ((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))));
+    if ((new_size2__L0F <= ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+      a__5WR=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__AXR=(__UINTEGER_32)((__UINTEGER_32)(new_size2__L0F + a__5WR) & (__UINTEGER_32)(~ a__5WR));
+      ptr_table__D0R=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__AXR / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+      next__C0R=((__POINTER )(NULL));
+      result__E0R=((__POINTER *)ptr_table__D0R)[ 0];
+      if ((result__E0R == (void *)NULL)) {
+        idx__ZFS= 0;
+        blc__0FS=NULL;
+        prev__1FS=NULL;
+        pv__2FS= 0;
+        while_do__F3B__4FS:
+        {
+          if ((idx__ZFS < nb_page__UYB)) {
+            blc__0FS=((__MEMORY *)(last_block[(idx__ZFS)]));
+            __tmp__3FS=(((__UINTEGER_32)(((__MEMORY *)blc__0FS)->size_and_id__DZ &  4294967292LU) <  4096) || ((__UINTEGER_32)(((__MEMORY *)blc__0FS)->size_and_id__DZ &  1) ==  1));
+          } else {
+            __tmp__3FS=FALSE__;
+          };
+          if (__tmp__3FS) {
+            idx__ZFS=(__UINTEGER_32)(idx__ZFS +  1);
+            goto while_do__F3B__4FS;
+          };
+        };
+        if ((idx__ZFS >= nb_page__UYB)) {
+          if ((capacity_max__4KD ==  0)) {
+            mem__5FS=((__POINTER )(NULL));
+            cap__AGS= 33554432;
+            do {
+              cap__AGS=(__UINTEGER_32)(cap__AGS <<  1);
+              mem__5FS=((__POINTER )(malloc((cap__AGS))));
+              if ((mem__5FS != (void *)NULL)) {
+                free((mem__5FS));
+              };
+            } while ((! ((mem__5FS == (void *)NULL) || (cap__AGS ==  2147483648LU))));
+            if ((mem__5FS == (void *)NULL)) {
+              cap__AGS=(__UINTEGER_32)(cap__AGS >>  1);
+            };
+            capacity_max__4KD=cap__AGS;
+            begin_memory__XLB=((__POINTER )(malloc((cap__AGS))));
+          };
+          old_size__CGS=(__UINTEGER_32)(nb_page__UYB <<  26);
+          nb_page__UYB=(__UINTEGER_32)(nb_page__UYB +  1);
+          if (((__UINTEGER_32)(old_size__CGS +  67108864) > capacity_max__4KD)) {
+            print__PO((&__string_1));
+            exit(( 1));
+          };
+          block__DGS=((__MEMORY *)(void *)((unsigned long)begin_memory__XLB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )old_size__CGS))));
+          block__DGS->previous_linear__CZ= 4294967295LU;
+          block__DGS->size_and_id__DZ= 67108858;
+          block__DGS->next_free__EZ=first_free__2KG;
+          block__DGS->previous_free__FZ=NULL;
+          if (((void *)first_free__2KG != (void *)NULL)) {
+            ((__MEMORY *)first_free__2KG)->previous_free__FZ=block__DGS;
+          };
+          first_free__2KG=block__DGS;
+          last_block[((__UINTEGER_32)(nb_page__UYB -  1))] = (block__DGS);
+          blc__0FS=block__DGS;
+        };
+        ((__MEMORY *)blc__0FS)->size_and_id__DZ=(__UINTEGER_32)(blc__0FS->size_and_id__DZ -  4096);
+        Self__EGS=((__MEMORY *)blc__0FS);
+        result__FGS=((__POINTER )((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__EGS) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__EGS->size_and_id__DZ &  4294967292LU))))));
+        if (((__UINTEGER_32)(((__MEMORY *)blc__0FS)->size_and_id__DZ &  4294967292LU) < ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+          Self__GGS=((__MEMORY *)blc__0FS);
+          prev__HGS=Self__GGS->previous_free__FZ;
+          next__IGS=Self__GGS->next_free__EZ;
+          if (((void *)prev__HGS == (void *)NULL)) {
+            first_free__2KG=next__IGS;
+          } else {
+            ((__MEMORY *)prev__HGS)->next_free__EZ=next__IGS;
+          };
+          if (((void *)next__IGS != (void *)NULL)) {
+            ((__MEMORY *)next__IGS)->previous_free__FZ=prev__HGS;
+          };
+          pv__2FS=blc__0FS->previous_linear__CZ;
+          if ((pv__2FS !=  4294967295LU)) {
+            prev__1FS=((__MEMORY *)(void *)((unsigned long)begin_memory__XLB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )pv__2FS))));
+            ((__MEMORY *)prev__1FS)->size_and_id__DZ=(__UINTEGER_32)((__UINTEGER_32)(prev__1FS->size_and_id__DZ + blc__0FS->size_and_id__DZ) +  8);
+            last_block[(idx__ZFS)] = (prev__1FS);
+          };
+        };
+        ((__POINTER *)result__FGS)[ 0]=((__POINTER )new_size__AXR);
+        result__E0R=(void *)((unsigned long)result__FGS - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+        next__C0R=(void *)((unsigned long)result__E0R - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__AXR)));
+        ((__POINTER *)next__C0R)[ 0]=NULL;
+        ((__POINTER *)ptr_table__D0R)[ 0]=next__C0R;
+      } else {
+        next__C0R=((__POINTER *)result__E0R)[ 0];
+        if ((next__C0R == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__E0R - (unsigned long)begin_memory__XLB)))) &  4095) + (__UINTEGER_32)(new_size__AXR <<  1)) <=  4096)) {
+            next__C0R=(void *)((unsigned long)result__E0R - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__AXR)));
+          } else {
+            idx__KGS= 0;
+            blc__LGS=NULL;
+            prev__MGS=NULL;
+            pv__NGS= 0;
+            while_do__F3B__PGS:
+            {
+              if ((idx__KGS < nb_page__UYB)) {
+                blc__LGS=((__MEMORY *)(last_block[(idx__KGS)]));
+                __tmp__OGS=(((__UINTEGER_32)(((__MEMORY *)blc__LGS)->size_and_id__DZ &  4294967292LU) <  4096) || ((__UINTEGER_32)(((__MEMORY *)blc__LGS)->size_and_id__DZ &  1) ==  1));
+              } else {
+                __tmp__OGS=FALSE__;
+              };
+              if (__tmp__OGS) {
+                idx__KGS=(__UINTEGER_32)(idx__KGS +  1);
+                goto while_do__F3B__PGS;
+              };
+            };
+            if ((idx__KGS >= nb_page__UYB)) {
+              if ((capacity_max__4KD ==  0)) {
+                mem__QGS=((__POINTER )(NULL));
+                cap__RGS= 33554432;
+                do {
+                  cap__RGS=(__UINTEGER_32)(cap__RGS <<  1);
+                  mem__QGS=((__POINTER )(malloc((cap__RGS))));
+                  if ((mem__QGS != (void *)NULL)) {
+                    free((mem__QGS));
+                  };
+                } while ((! ((mem__QGS == (void *)NULL) || (cap__RGS ==  2147483648LU))));
+                if ((mem__QGS == (void *)NULL)) {
+                  cap__RGS=(__UINTEGER_32)(cap__RGS >>  1);
+                };
+                capacity_max__4KD=cap__RGS;
+                begin_memory__XLB=((__POINTER )(malloc((cap__RGS))));
+              };
+              old_size__TGS=(__UINTEGER_32)(nb_page__UYB <<  26);
+              nb_page__UYB=(__UINTEGER_32)(nb_page__UYB +  1);
+              if (((__UINTEGER_32)(old_size__TGS +  67108864) > capacity_max__4KD)) {
+                print__PO((&__string_1));
+                exit(( 1));
+              };
+              block__UGS=((__MEMORY *)(void *)((unsigned long)begin_memory__XLB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )old_size__TGS))));
+              block__UGS->previous_linear__CZ= 4294967295LU;
+              block__UGS->size_and_id__DZ= 67108858;
+              block__UGS->next_free__EZ=first_free__2KG;
+              block__UGS->previous_free__FZ=NULL;
+              if (((void *)first_free__2KG != (void *)NULL)) {
+                ((__MEMORY *)first_free__2KG)->previous_free__FZ=block__UGS;
+              };
+              first_free__2KG=block__UGS;
+              last_block[((__UINTEGER_32)(nb_page__UYB -  1))] = (block__UGS);
+              blc__LGS=block__UGS;
+            };
+            ((__MEMORY *)blc__LGS)->size_and_id__DZ=(__UINTEGER_32)(blc__LGS->size_and_id__DZ -  4096);
+            Self__VGS=((__MEMORY *)blc__LGS);
+            result__WGS=((__POINTER )((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__VGS) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__VGS->size_and_id__DZ &  4294967292LU))))));
+            if (((__UINTEGER_32)(((__MEMORY *)blc__LGS)->size_and_id__DZ &  4294967292LU) < ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+              Self__XGS=((__MEMORY *)blc__LGS);
+              prev__YGS=Self__XGS->previous_free__FZ;
+              next__ZGS=Self__XGS->next_free__EZ;
+              if (((void *)prev__YGS == (void *)NULL)) {
+                first_free__2KG=next__ZGS;
+              } else {
+                ((__MEMORY *)prev__YGS)->next_free__EZ=next__ZGS;
+              };
+              if (((void *)next__ZGS != (void *)NULL)) {
+                ((__MEMORY *)next__ZGS)->previous_free__FZ=prev__YGS;
+              };
+              pv__NGS=blc__LGS->previous_linear__CZ;
+              if ((pv__NGS !=  4294967295LU)) {
+                prev__MGS=((__MEMORY *)(void *)((unsigned long)begin_memory__XLB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )pv__NGS))));
+                ((__MEMORY *)prev__MGS)->size_and_id__DZ=(__UINTEGER_32)((__UINTEGER_32)(prev__MGS->size_and_id__DZ + blc__LGS->size_and_id__DZ) +  8);
+                last_block[(idx__KGS)] = (prev__MGS);
+              };
+            };
+            ((__POINTER *)result__WGS)[ 0]=((__POINTER )new_size__AXR);
+            next__C0R=(void *)((unsigned long)result__WGS - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+          };
+          ((__POINTER *)next__C0R)[ 0]=NULL;
+          ((__POINTER *)ptr_table__D0R)[ 0]=next__C0R;
+        } else {
+          ((__POINTER *)result__E0R)[ 0]=(void *)((unsigned long)((__POINTER *)next__C0R)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__E0R=next__C0R;
+        };
+      };
+      ((__POINTER *)result__E0R)[ 0]=((__POINTER ) 3);
+      result__O0F=(void *)((unsigned long)result__E0R - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+    } else {
+      result__S4R=first_free__2KG;
+      while ((((void *)result__S4R != (void *)NULL) && ((__UINTEGER_32)(((__MEMORY *)result__S4R)->size_and_id__DZ &  4294967292LU) < new_size__I0F))) {
+        result__S4R=result__S4R->next_free__EZ;
+      };
+      if (((void *)result__S4R == (void *)NULL)) {
+        if ((capacity_max__4KD ==  0)) {
+          mem__5BS=((__POINTER )(NULL));
+          cap__ACS= 33554432;
+          do {
+            cap__ACS=(__UINTEGER_32)(cap__ACS <<  1);
+            mem__5BS=((__POINTER )(malloc((cap__ACS))));
+            if ((mem__5BS != (void *)NULL)) {
+              free((mem__5BS));
+            };
+          } while ((! ((mem__5BS == (void *)NULL) || (cap__ACS ==  2147483648LU))));
+          if ((mem__5BS == (void *)NULL)) {
+            cap__ACS=(__UINTEGER_32)(cap__ACS >>  1);
+          };
+          capacity_max__4KD=cap__ACS;
+          begin_memory__XLB=((__POINTER )(malloc((cap__ACS))));
+        };
+        old_size__CCS=(__UINTEGER_32)(nb_page__UYB <<  26);
+        nb_page__UYB=(__UINTEGER_32)(nb_page__UYB +  1);
+        if (((__UINTEGER_32)(old_size__CCS +  67108864) > capacity_max__4KD)) {
+          print__PO((&__string_1));
+          exit(( 1));
+        };
+        block__DCS=((__MEMORY *)(void *)((unsigned long)begin_memory__XLB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )old_size__CCS))));
+        block__DCS->previous_linear__CZ= 4294967295LU;
+        block__DCS->size_and_id__DZ= 67108858;
+        block__DCS->next_free__EZ=first_free__2KG;
+        block__DCS->previous_free__FZ=NULL;
+        if (((void *)first_free__2KG != (void *)NULL)) {
+          ((__MEMORY *)first_free__2KG)->previous_free__FZ=block__DCS;
+        };
+        first_free__2KG=block__DCS;
+        last_block[((__UINTEGER_32)(nb_page__UYB -  1))] = (block__DCS);
+        result__S4R=block__DCS;
+      };
+      Self__V4R=((__MEMORY *)result__S4R);
+      idx__W4R=(__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )((__MEMORY *)result__S4R)) - (unsigned long)begin_memory__XLB)))) >>  26);
+      new__X4R=NULL;
+      prev__Y4R=Self__V4R->previous_free__FZ;
+      next__Z4R=Self__V4R->next_free__EZ;
+      if (((void *)prev__Y4R == (void *)NULL)) {
+        first_free__2KG=next__Z4R;
+      } else {
+        ((__MEMORY *)prev__Y4R)->next_free__EZ=next__Z4R;
+      };
+      if (((void *)next__Z4R != (void *)NULL)) {
+        ((__MEMORY *)next__Z4R)->previous_free__FZ=prev__Y4R;
+      };
+      siz__04R=Self__V4R->size_and_id__DZ;
+      new_size__14R=(__UINTEGER_32)(siz__04R - new_size__I0F);
+      if ((new_size__14R > (__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )(MINIMUM_SIZE)) +  2) +  8))) {
+        siz__04R=new_size__I0F;
+        new__X4R=((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__V4R) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__I0F))));
+        ((__MEMORY *)new__X4R)->previous_linear__CZ=((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )Self__V4R) - (unsigned long)begin_memory__XLB))));
+        ((__MEMORY *)new__X4R)->size_and_id__DZ=(__UINTEGER_32)(new_size__14R -  8);
+        Self__24R=((__MEMORY *)new__X4R);
+        Self__24R->next_free__EZ=first_free__2KG;
+        Self__24R->previous_free__FZ=NULL;
+        if (((void *)first_free__2KG != (void *)NULL)) {
+          ((__MEMORY *)first_free__2KG)->previous_free__FZ=Self__24R;
+        };
+        first_free__2KG=Self__24R;
+        if (((__UINTEGER_32)(((__MEMORY *)new__X4R)->size_and_id__DZ &  2) !=  0)) {
+          last_block[(idx__W4R)] = (new__X4R);
+        } else {
+          Self__34R=((__MEMORY *)new__X4R);
+          ((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__34R) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__34R->size_and_id__DZ &  4294967292LU)))))->previous_linear__CZ=((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )((__MEMORY *)new__X4R)) - (unsigned long)begin_memory__XLB))));
+        };
+      };
+      Self__V4R->size_and_id__DZ=(__UINTEGER_32)(siz__04R |  1);
+      result__O0F=(void *)((unsigned long)((__POINTER )((__MEMORY *)result__S4R)) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+    };
+    result__VPH=result__O0F;
+    siz__V0R=((__INTEGER )old_size__LPH);
+    siz__V0R=(__INTEGER)(siz__V0R / ((__INTEGER )(sizeof(void *))));
+    na_src__X0R=((__POINTER *)p__HPH);
+    na_dst__Z0R=((__POINTER *)result__O0F);
+    Self__00R=(__INTEGER)(siz__V0R -  1);
+    while ((Self__00R >=  0)) {
+      na_dst__Z0R[Self__00R]=na_src__X0R[Self__00R];
+      Self__00R=(__INTEGER)(Self__00R -  1);
+    };
+    p__TTJ=(void *)((unsigned long)p__HPH - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *)))));
+    a__0HB=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+    last__K5J=((__POINTER *)((__POINTER )(&(table_size[((__UINTEGER_32)((__UINTEGER_32)((__UINTEGER_32)(old_size2__OPH + a__0HB) & (__UINTEGER_32)(~ a__0HB)) / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1]))))[ 0];
+    ((__POINTER *)p__TTJ)[ 0]=(void *)((unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)(void *)((unsigned long)(void *)((unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER *)last__K5J)[ 0]) - (unsigned long)((__POINTER ) 1)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 3)) - (unsigned long)((__POINTER ) 1)))) - (unsigned long)((__POINTER ) 1));
+    ((__POINTER *)last__K5J)[ 0]=p__TTJ;
+  } else {
+    mem__UPH=((__MEMORY *)(void *)((unsigned long)p__HPH - (unsigned long)((__POINTER ) 8)));
+    __tmp__GRH=(__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)p__HPH - (unsigned long)begin_memory__XLB)))) >>  26);
+    Self__3UJ=((__MEMORY *)mem__UPH);
+    nxt__BVJ=NULL;
+    result__CVJ=NULL;
+    sz__GVJ= 0;
+    old_size__DVJ=(__UINTEGER_32)(Self__3UJ->size_and_id__DZ &  4294967292LU);
+    if ((new_size__RPH > old_size__DVJ)) {
+      if ((! ((__UINTEGER_32)(Self__3UJ->size_and_id__DZ &  2) !=  0))) {
+        nxt__BVJ=((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__3UJ) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__3UJ->size_and_id__DZ &  4294967292LU)))));
+        sz__GVJ=(__UINTEGER_32)((__UINTEGER_32)(new_size__RPH - old_size__DVJ) -  8);
+        if ((((__UINTEGER_32)(((__MEMORY *)nxt__BVJ)->size_and_id__DZ &  1) ==  0) && ((__UINTEGER_32)(((__MEMORY *)nxt__BVJ)->size_and_id__DZ &  4294967292LU) >= sz__GVJ))) {
+          Self__30R=((__MEMORY *)nxt__BVJ);
+          new__20R=NULL;
+          prev__40R=Self__30R->previous_free__FZ;
+          next__50R=Self__30R->next_free__EZ;
+          if (((void *)prev__40R == (void *)NULL)) {
+            first_free__2KG=next__50R;
+          } else {
+            ((__MEMORY *)prev__40R)->next_free__EZ=next__50R;
+          };
+          if (((void *)next__50R != (void *)NULL)) {
+            ((__MEMORY *)next__50R)->previous_free__FZ=prev__40R;
+          };
+          siz__A1R=Self__30R->size_and_id__DZ;
+          new_size__C1R=(__UINTEGER_32)(siz__A1R - sz__GVJ);
+          if ((new_size__C1R > (__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )(MINIMUM_SIZE)) +  2) +  8))) {
+            siz__A1R=sz__GVJ;
+            new__20R=((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__30R) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )sz__GVJ))));
+            ((__MEMORY *)new__20R)->previous_linear__CZ=((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )Self__30R) - (unsigned long)begin_memory__XLB))));
+            ((__MEMORY *)new__20R)->size_and_id__DZ=(__UINTEGER_32)(new_size__C1R -  8);
+            Self__D1R=((__MEMORY *)new__20R);
+            Self__D1R->next_free__EZ=first_free__2KG;
+            Self__D1R->previous_free__FZ=NULL;
+            if (((void *)first_free__2KG != (void *)NULL)) {
+              ((__MEMORY *)first_free__2KG)->previous_free__FZ=Self__D1R;
+            };
+            first_free__2KG=Self__D1R;
+            if (((__UINTEGER_32)(((__MEMORY *)new__20R)->size_and_id__DZ &  2) !=  0)) {
+              last_block[(__tmp__GRH)] = (new__20R);
+            } else {
+              Self__F1R=((__MEMORY *)new__20R);
+              ((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__F1R) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__F1R->size_and_id__DZ &  4294967292LU)))))->previous_linear__CZ=((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )((__MEMORY *)new__20R)) - (unsigned long)begin_memory__XLB))));
+            };
+          };
+          Self__30R->size_and_id__DZ=(__UINTEGER_32)(siz__A1R |  1);
+          Self__3UJ->size_and_id__DZ=(__UINTEGER_32)((__UINTEGER_32)(Self__3UJ->size_and_id__DZ + (__UINTEGER_32)(nxt__BVJ->size_and_id__DZ &  4294967294LU)) +  8);
+          if (((__UINTEGER_32)(Self__3UJ->size_and_id__DZ &  2) !=  0)) {
+            last_block[(__tmp__GRH)] = (Self__3UJ);
+          } else {
+            nxt__BVJ=((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__3UJ) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__3UJ->size_and_id__DZ &  4294967292LU)))));
+            ((__MEMORY *)nxt__BVJ)->previous_linear__CZ=((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )Self__3UJ) - (unsigned long)begin_memory__XLB))));
+          };
+          result__CVJ=Self__3UJ;
+        };
+      };
+      if (((void *)result__CVJ == (void *)NULL)) {
+        result__44R=first_free__2KG;
+        while ((((void *)result__44R != (void *)NULL) && ((__UINTEGER_32)(((__MEMORY *)result__44R)->size_and_id__DZ &  4294967292LU) < new_size__RPH))) {
+          result__44R=result__44R->next_free__EZ;
+        };
+        if (((void *)result__44R == (void *)NULL)) {
+          if ((capacity_max__4KD ==  0)) {
+            mem__ECS=((__POINTER )(NULL));
+            cap__FCS= 33554432;
+            do {
+              cap__FCS=(__UINTEGER_32)(cap__FCS <<  1);
+              mem__ECS=((__POINTER )(malloc((cap__FCS))));
+              if ((mem__ECS != (void *)NULL)) {
+                free((mem__ECS));
+              };
+            } while ((! ((mem__ECS == (void *)NULL) || (cap__FCS ==  2147483648LU))));
+            if ((mem__ECS == (void *)NULL)) {
+              cap__FCS=(__UINTEGER_32)(cap__FCS >>  1);
+            };
+            capacity_max__4KD=cap__FCS;
+            begin_memory__XLB=((__POINTER )(malloc((cap__FCS))));
+          };
+          old_size__HCS=(__UINTEGER_32)(nb_page__UYB <<  26);
+          nb_page__UYB=(__UINTEGER_32)(nb_page__UYB +  1);
+          if (((__UINTEGER_32)(old_size__HCS +  67108864) > capacity_max__4KD)) {
+            print__PO((&__string_1));
+            exit(( 1));
+          };
+          block__ICS=((__MEMORY *)(void *)((unsigned long)begin_memory__XLB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )old_size__HCS))));
+          block__ICS->previous_linear__CZ= 4294967295LU;
+          block__ICS->size_and_id__DZ= 67108858;
+          block__ICS->next_free__EZ=first_free__2KG;
+          block__ICS->previous_free__FZ=NULL;
+          if (((void *)first_free__2KG != (void *)NULL)) {
+            ((__MEMORY *)first_free__2KG)->previous_free__FZ=block__ICS;
+          };
+          first_free__2KG=block__ICS;
+          last_block[((__UINTEGER_32)(nb_page__UYB -  1))] = (block__ICS);
+          result__44R=block__ICS;
+        };
+        Self__B5R=((__MEMORY *)result__44R);
+        idx__C5R=(__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )((__MEMORY *)result__44R)) - (unsigned long)begin_memory__XLB)))) >>  26);
+        new__D5R=NULL;
+        prev__E5R=Self__B5R->previous_free__FZ;
+        next__F5R=Self__B5R->next_free__EZ;
+        if (((void *)prev__E5R == (void *)NULL)) {
+          first_free__2KG=next__F5R;
+        } else {
+          ((__MEMORY *)prev__E5R)->next_free__EZ=next__F5R;
+        };
+        if (((void *)next__F5R != (void *)NULL)) {
+          ((__MEMORY *)next__F5R)->previous_free__FZ=prev__E5R;
+        };
+        siz__G5R=Self__B5R->size_and_id__DZ;
+        new_size__H5R=(__UINTEGER_32)(siz__G5R - new_size__RPH);
+        if ((new_size__H5R > (__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )(MINIMUM_SIZE)) +  2) +  8))) {
+          siz__G5R=new_size__RPH;
+          new__D5R=((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__B5R) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__RPH))));
+          ((__MEMORY *)new__D5R)->previous_linear__CZ=((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )Self__B5R) - (unsigned long)begin_memory__XLB))));
+          ((__MEMORY *)new__D5R)->size_and_id__DZ=(__UINTEGER_32)(new_size__H5R -  8);
+          Self__I5R=((__MEMORY *)new__D5R);
+          Self__I5R->next_free__EZ=first_free__2KG;
+          Self__I5R->previous_free__FZ=NULL;
+          if (((void *)first_free__2KG != (void *)NULL)) {
+            ((__MEMORY *)first_free__2KG)->previous_free__FZ=Self__I5R;
+          };
+          first_free__2KG=Self__I5R;
+          if (((__UINTEGER_32)(((__MEMORY *)new__D5R)->size_and_id__DZ &  2) !=  0)) {
+            last_block[(idx__C5R)] = (new__D5R);
+          } else {
+            Self__J5R=((__MEMORY *)new__D5R);
+            ((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__J5R) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__J5R->size_and_id__DZ &  4294967292LU)))))->previous_linear__CZ=((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )((__MEMORY *)new__D5R)) - (unsigned long)begin_memory__XLB))));
+          };
+        };
+        Self__B5R->size_and_id__DZ=(__UINTEGER_32)(siz__G5R |  1);
+        result__CVJ=result__44R;
+        src__NSJ=(void *)((unsigned long)((__POINTER )Self__3UJ) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+        dst__OSJ=(void *)((unsigned long)((__POINTER )((__MEMORY *)result__44R)) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+        siz__SSJ=((__INTEGER )old_size__DVJ);
+        siz__SSJ=(__INTEGER)(siz__SSJ / ((__INTEGER )(sizeof(void *))));
+        na_src__QSJ=((__POINTER *)src__NSJ);
+        na_dst__RSJ=((__POINTER *)dst__OSJ);
+        Self__32J=(__INTEGER)(siz__SSJ -  1);
+        while ((Self__32J >=  0)) {
+          na_dst__RSJ[Self__32J]=na_src__QSJ[Self__32J];
+          Self__32J=(__INTEGER)(Self__32J -  1);
+        };
+        prev__HMK=Self__3UJ->previous_linear__CZ;
+        next__GMK=((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__3UJ) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__3UJ->size_and_id__DZ &  4294967292LU)))));
+        new_free__FMK=((__MEMORY *)(void *)((unsigned long)begin_memory__XLB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )prev__HMK))));
+        new_size__KMK=(__UINTEGER_32)(Self__3UJ->size_and_id__DZ &  4294967294LU);
+        if (((prev__HMK ==  4294967295LU) || ((__UINTEGER_32)(new_free__FMK->size_and_id__DZ &  1) !=  0))) {
+          new_free__FMK=Self__3UJ;
+          Self__3UJ->next_free__EZ=first_free__2KG;
+          Self__3UJ->previous_free__FZ=NULL;
+          if (((void *)first_free__2KG != (void *)NULL)) {
+            ((__MEMORY *)first_free__2KG)->previous_free__FZ=Self__3UJ;
+          };
+          first_free__2KG=Self__3UJ;
+        } else {
+          new_size__KMK=(__UINTEGER_32)((__UINTEGER_32)(new_size__KMK + new_free__FMK->size_and_id__DZ) +  8);
+        };
+        if (((! ((__UINTEGER_32)(Self__3UJ->size_and_id__DZ &  2) !=  0)) && ((__UINTEGER_32)(next__GMK->size_and_id__DZ &  1) ==  0))) {
+          new_size__KMK=(__UINTEGER_32)((__UINTEGER_32)(new_size__KMK + next__GMK->size_and_id__DZ) +  8);
+          prev__OWR=next__GMK->previous_free__FZ;
+          next__PWR=next__GMK->next_free__EZ;
+          if (((void *)prev__OWR == (void *)NULL)) {
+            first_free__2KG=next__PWR;
+          } else {
+            ((__MEMORY *)prev__OWR)->next_free__EZ=next__PWR;
+          };
+          if (((void *)next__PWR != (void *)NULL)) {
+            ((__MEMORY *)next__PWR)->previous_free__FZ=prev__OWR;
+          };
+        };
+        new_free__FMK->size_and_id__DZ=new_size__KMK;
+        if (((__UINTEGER_32)(new_free__FMK->size_and_id__DZ &  2) !=  0)) {
+          last_block[(__tmp__GRH)] = (new_free__FMK);
+        } else {
+          next__GMK=((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__3UJ) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__3UJ->size_and_id__DZ &  4294967292LU)))));
+          next__GMK->previous_linear__CZ=((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )new_free__FMK) - (unsigned long)begin_memory__XLB))));
+        };
+      };
+    } else {
+      result__CVJ=Self__3UJ;
+    };
+    result__VPH=(void *)((unsigned long)((__POINTER )((__MEMORY *)result__CVJ)) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+  };
+  return(result__VPH);
+}
+
+static void print_format_c__GO(__REAL_64 Self__HO)
+// ({REAL_64}) VoidNo recursive, No inlinable.
+{
+  __INTEGER old_count__AS,cap__BS,new_capacity__G1R,Self__E2R;
+  __INTEGER __tmp__J1R,__tmp__L1R,Self__M1R,nb_elements__G2R,Self__S2R;
+  __INTEGER __tmp__3SC,Self__OIH,new_capacity__P1R,Self__A3R,__tmp__S1R;
+  __INTEGER __tmp__U1R,Self__V1R,__tmp__D3R,Self__E3R;
+  __STRING *Self__OZR,*new__H1,*Self__ASC,*Self__BMC,*Self__TNC;
+  __POINTER result__01R,ptr_table__A2R,next__B2R,result__C2R,mem__BHS;
+  __POINTER result__HHS,mem__SHS,result__YHS,mem__JCS,ptr__NTG;
+  __POINTER result__I2R,ptr_table__O2R,next__P2R,result__Q2R,mem__DIS;
+  __POINTER result__JIS,mem__UIS,result__0IS,mem__OCS,result__W2R;
+  __POINTER ptr_table__22R,next__32R,result__42R,mem__FJS,result__LJS;
+  __POINTER mem__WJS,result__2JS,mem__40E;
+  __UINTEGER_32 a__11R,new_size__21R,new_size2__31R,a__41R;
+  __UINTEGER_32 new_size__51R,idx__1GS,pv__4GS,cap__CHS,old_size__EHS;
+  __UINTEGER_32 idx__MHS,pv__PHS,cap__THS,old_size__VHS,cap__KCS;
+  __UINTEGER_32 old_size__MCS,idx__O5R,siz__S5R,new_size__T5R,sz__H2R;
+  __UINTEGER_32 a__J2R,new_size__K2R,new_size2__L2R,a__M2R;
+  __UINTEGER_32 new_size__N2R,idx__3HS,pv__AIS,cap__EIS,old_size__GIS;
+  __UINTEGER_32 idx__OIS,pv__RIS,cap__VIS,old_size__XIS,cap__PCS;
+  __UINTEGER_32 old_size__RCS,idx__05R,siz__45R,new_size__55R,a__X2R;
+  __UINTEGER_32 new_size__Y2R,new_size2__Z2R,a__02R,new_size__12R;
+  __UINTEGER_32 idx__5IS,pv__CJS,cap__GJS,old_size__IJS,idx__QJS;
+  __UINTEGER_32 pv__TJS,cap__XJS,old_size__ZJS,cap__10E,old_size__XKD;
+  __UINTEGER_32 idx__GAS,siz__KAS,new_size__LAS;
+  __MEMORY *blc__2GS,*prev__3GS,*block__FHS,*Self__GHS,*Self__IHS;
+  __MEMORY *prev__JHS,*next__KHS,*blc__NHS,*prev__OHS,*block__WHS;
+  __MEMORY *Self__XHS,*Self__ZHS,*prev__0HS,*next__1HS,*result__K5R;
+  __MEMORY *block__NCS,*Self__N5R,*new__P5R,*prev__Q5R,*next__R5R;
+  __MEMORY *Self__U5R,*Self__V5R,*blc__4HS,*prev__5HS,*block__HIS;
+  __MEMORY *Self__IIS,*Self__KIS,*prev__LIS,*next__MIS,*blc__PIS;
+  __MEMORY *prev__QIS,*block__YIS,*Self__ZIS,*Self__1IS,*prev__2IS;
+  __MEMORY *next__3IS,*result__W5R,*block__SCS,*Self__Z5R,*new__15R;
+  __MEMORY *prev__25R,*next__35R,*Self__AAS,*Self__BAS,*blc__AJS;
+  __MEMORY *prev__BJS,*block__JJS,*Self__KJS,*Self__MJS,*prev__NJS;
+  __MEMORY *next__OJS,*blc__RJS,*prev__SJS,*block__0JS,*Self__1JS;
+  __MEMORY *Self__3JS,*prev__4JS,*next__5JS,*result__CAS,*block__3KD;
+  __MEMORY *Self__FAS,*new__HAS,*prev__IAS,*next__JAS,*Self__MAS;
+  __MEMORY *Self__NAS;
+  void *s__C3R;
+  __BOOLEAN __tmp__5GS,__tmp__QHS,__tmp__BIS,__tmp__SIS,__tmp__DJS;
+  __BOOLEAN __tmp__UJS;
+  __CHARACTER *Result__D2R,*__tmp__I1R,*new__K1R,*nc_buf__4R;
+  __CHARACTER *Result__R2R,*__tmp__XSC,*__tmp__0SC,*Self__KXG;
+  __CHARACTER *Result__52R,*__tmp__R1R,*new__T1R,*__tmp__BUR,*__tmp__H3R;
+  ((__STRING *)string_tmp__JO)->count__CS= 0;
+  old_count__AS=((__STRING *)string_tmp__JO)->count__CS;
+  cap__BS=(__INTEGER)(((__STRING *)string_tmp__JO)->capacity__ES - old_count__AS);
+  Self__OZR=((__STRING *)string_tmp__JO);
+  if ((Self__OZR->capacity__ES > Self__OZR->count__CS)) {
+    Self__OZR->count__CS=(__INTEGER)(Self__OZR->count__CS +  1);
+    if ((((__CHARACTER *)Self__OZR->storage__CNC)[(__INTEGER)(Self__OZR->count__CS -  1)] != '\0')) {
+      ((__CHARACTER *)Self__OZR->storage__CNC)[(__INTEGER)(Self__OZR->count__CS -  1)]='\0';
+    };
+  } else {
+    new_capacity__G1R= 0;
+    if ((Self__OZR->capacity__ES <= Self__OZR->count__CS)) {
+      if ((Self__OZR->capacity__ES ==  0)) {
+        Self__OZR->capacity__ES= 32;
+        result__01R=((__POINTER )(NULL));
+        a__11R=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+        new_size__21R=(__UINTEGER_32)((__UINTEGER_32)( 32 + a__11R) & (__UINTEGER_32)(~ a__11R));
+        new_size2__31R=(__UINTEGER_32)(new_size__21R + ((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))));
+        if ((new_size2__31R <= ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+          a__41R=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+          new_size__51R=(__UINTEGER_32)((__UINTEGER_32)(new_size2__31R + a__41R) & (__UINTEGER_32)(~ a__41R));
+          ptr_table__A2R=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__51R / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+          next__B2R=((__POINTER )(NULL));
+          result__C2R=((__POINTER *)ptr_table__A2R)[ 0];
+          if ((result__C2R == (void *)NULL)) {
+            idx__1GS= 0;
+            blc__2GS=NULL;
+            prev__3GS=NULL;
+            pv__4GS= 0;
+            while_do__F3B__AHS:
+            {
+              if ((idx__1GS < nb_page__UYB)) {
+                blc__2GS=((__MEMORY *)(last_block[(idx__1GS)]));
+                __tmp__5GS=(((__UINTEGER_32)(((__MEMORY *)blc__2GS)->size_and_id__DZ &  4294967292LU) <  4096) || ((__UINTEGER_32)(((__MEMORY *)blc__2GS)->size_and_id__DZ &  1) ==  1));
+              } else {
+                __tmp__5GS=FALSE__;
+              };
+              if (__tmp__5GS) {
+                idx__1GS=(__UINTEGER_32)(idx__1GS +  1);
+                goto while_do__F3B__AHS;
+              };
+            };
+            if ((idx__1GS >= nb_page__UYB)) {
+              if ((capacity_max__4KD ==  0)) {
+                mem__BHS=((__POINTER )(NULL));
+                cap__CHS= 33554432;
+                do {
+                  cap__CHS=(__UINTEGER_32)(cap__CHS <<  1);
+                  mem__BHS=((__POINTER )(malloc((cap__CHS))));
+                  if ((mem__BHS != (void *)NULL)) {
+                    free((mem__BHS));
+                  };
+                } while ((! ((mem__BHS == (void *)NULL) || (cap__CHS ==  2147483648LU))));
+                if ((mem__BHS == (void *)NULL)) {
+                  cap__CHS=(__UINTEGER_32)(cap__CHS >>  1);
+                };
+                capacity_max__4KD=cap__CHS;
+                begin_memory__XLB=((__POINTER )(malloc((cap__CHS))));
+              };
+              old_size__EHS=(__UINTEGER_32)(nb_page__UYB <<  26);
+              nb_page__UYB=(__UINTEGER_32)(nb_page__UYB +  1);
+              if (((__UINTEGER_32)(old_size__EHS +  67108864) > capacity_max__4KD)) {
+                print__PO((&__string_1));
+                exit(( 1));
+              };
+              block__FHS=((__MEMORY *)(void *)((unsigned long)begin_memory__XLB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )old_size__EHS))));
+              block__FHS->previous_linear__CZ= 4294967295LU;
+              block__FHS->size_and_id__DZ= 67108858;
+              block__FHS->next_free__EZ=first_free__2KG;
+              block__FHS->previous_free__FZ=NULL;
+              if (((void *)first_free__2KG != (void *)NULL)) {
+                ((__MEMORY *)first_free__2KG)->previous_free__FZ=block__FHS;
+              };
+              first_free__2KG=block__FHS;
+              last_block[((__UINTEGER_32)(nb_page__UYB -  1))] = (block__FHS);
+              blc__2GS=block__FHS;
+            };
+            ((__MEMORY *)blc__2GS)->size_and_id__DZ=(__UINTEGER_32)(blc__2GS->size_and_id__DZ -  4096);
+            Self__GHS=((__MEMORY *)blc__2GS);
+            result__HHS=((__POINTER )((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__GHS) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__GHS->size_and_id__DZ &  4294967292LU))))));
+            if (((__UINTEGER_32)(((__MEMORY *)blc__2GS)->size_and_id__DZ &  4294967292LU) < ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+              Self__IHS=((__MEMORY *)blc__2GS);
+              prev__JHS=Self__IHS->previous_free__FZ;
+              next__KHS=Self__IHS->next_free__EZ;
+              if (((void *)prev__JHS == (void *)NULL)) {
+                first_free__2KG=next__KHS;
+              } else {
+                ((__MEMORY *)prev__JHS)->next_free__EZ=next__KHS;
+              };
+              if (((void *)next__KHS != (void *)NULL)) {
+                ((__MEMORY *)next__KHS)->previous_free__FZ=prev__JHS;
+              };
+              pv__4GS=blc__2GS->previous_linear__CZ;
+              if ((pv__4GS !=  4294967295LU)) {
+                prev__3GS=((__MEMORY *)(void *)((unsigned long)begin_memory__XLB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )pv__4GS))));
+                ((__MEMORY *)prev__3GS)->size_and_id__DZ=(__UINTEGER_32)((__UINTEGER_32)(prev__3GS->size_and_id__DZ + blc__2GS->size_and_id__DZ) +  8);
+                last_block[(idx__1GS)] = (prev__3GS);
+              };
+            };
+            ((__POINTER *)result__HHS)[ 0]=((__POINTER )new_size__51R);
+            result__C2R=(void *)((unsigned long)result__HHS - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+            next__B2R=(void *)((unsigned long)result__C2R - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__51R)));
+            ((__POINTER *)next__B2R)[ 0]=NULL;
+            ((__POINTER *)ptr_table__A2R)[ 0]=next__B2R;
+          } else {
+            next__B2R=((__POINTER *)result__C2R)[ 0];
+            if ((next__B2R == (void *)NULL)) {
+              if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__C2R - (unsigned long)begin_memory__XLB)))) &  4095) + (__UINTEGER_32)(new_size__51R <<  1)) <=  4096)) {
+                next__B2R=(void *)((unsigned long)result__C2R - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__51R)));
+              } else {
+                idx__MHS= 0;
+                blc__NHS=NULL;
+                prev__OHS=NULL;
+                pv__PHS= 0;
+                while_do__F3B__RHS:
+                {
+                  if ((idx__MHS < nb_page__UYB)) {
+                    blc__NHS=((__MEMORY *)(last_block[(idx__MHS)]));
+                    __tmp__QHS=(((__UINTEGER_32)(((__MEMORY *)blc__NHS)->size_and_id__DZ &  4294967292LU) <  4096) || ((__UINTEGER_32)(((__MEMORY *)blc__NHS)->size_and_id__DZ &  1) ==  1));
+                  } else {
+                    __tmp__QHS=FALSE__;
+                  };
+                  if (__tmp__QHS) {
+                    idx__MHS=(__UINTEGER_32)(idx__MHS +  1);
+                    goto while_do__F3B__RHS;
+                  };
+                };
+                if ((idx__MHS >= nb_page__UYB)) {
+                  if ((capacity_max__4KD ==  0)) {
+                    mem__SHS=((__POINTER )(NULL));
+                    cap__THS= 33554432;
+                    do {
+                      cap__THS=(__UINTEGER_32)(cap__THS <<  1);
+                      mem__SHS=((__POINTER )(malloc((cap__THS))));
+                      if ((mem__SHS != (void *)NULL)) {
+                        free((mem__SHS));
+                      };
+                    } while ((! ((mem__SHS == (void *)NULL) || (cap__THS ==  2147483648LU))));
+                    if ((mem__SHS == (void *)NULL)) {
+                      cap__THS=(__UINTEGER_32)(cap__THS >>  1);
+                    };
+                    capacity_max__4KD=cap__THS;
+                    begin_memory__XLB=((__POINTER )(malloc((cap__THS))));
+                  };
+                  old_size__VHS=(__UINTEGER_32)(nb_page__UYB <<  26);
+                  nb_page__UYB=(__UINTEGER_32)(nb_page__UYB +  1);
+                  if (((__UINTEGER_32)(old_size__VHS +  67108864) > capacity_max__4KD)) {
+                    print__PO((&__string_1));
+                    exit(( 1));
+                  };
+                  block__WHS=((__MEMORY *)(void *)((unsigned long)begin_memory__XLB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )old_size__VHS))));
+                  block__WHS->previous_linear__CZ= 4294967295LU;
+                  block__WHS->size_and_id__DZ= 67108858;
+                  block__WHS->next_free__EZ=first_free__2KG;
+                  block__WHS->previous_free__FZ=NULL;
+                  if (((void *)first_free__2KG != (void *)NULL)) {
+                    ((__MEMORY *)first_free__2KG)->previous_free__FZ=block__WHS;
+                  };
+                  first_free__2KG=block__WHS;
+                  last_block[((__UINTEGER_32)(nb_page__UYB -  1))] = (block__WHS);
+                  blc__NHS=block__WHS;
+                };
+                ((__MEMORY *)blc__NHS)->size_and_id__DZ=(__UINTEGER_32)(blc__NHS->size_and_id__DZ -  4096);
+                Self__XHS=((__MEMORY *)blc__NHS);
+                result__YHS=((__POINTER )((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__XHS) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__XHS->size_and_id__DZ &  4294967292LU))))));
+                if (((__UINTEGER_32)(((__MEMORY *)blc__NHS)->size_and_id__DZ &  4294967292LU) < ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+                  Self__ZHS=((__MEMORY *)blc__NHS);
+                  prev__0HS=Self__ZHS->previous_free__FZ;
+                  next__1HS=Self__ZHS->next_free__EZ;
+                  if (((void *)prev__0HS == (void *)NULL)) {
+                    first_free__2KG=next__1HS;
+                  } else {
+                    ((__MEMORY *)prev__0HS)->next_free__EZ=next__1HS;
+                  };
+                  if (((void *)next__1HS != (void *)NULL)) {
+                    ((__MEMORY *)next__1HS)->previous_free__FZ=prev__0HS;
+                  };
+                  pv__PHS=blc__NHS->previous_linear__CZ;
+                  if ((pv__PHS !=  4294967295LU)) {
+                    prev__OHS=((__MEMORY *)(void *)((unsigned long)begin_memory__XLB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )pv__PHS))));
+                    ((__MEMORY *)prev__OHS)->size_and_id__DZ=(__UINTEGER_32)((__UINTEGER_32)(prev__OHS->size_and_id__DZ + blc__NHS->size_and_id__DZ) +  8);
+                    last_block[(idx__MHS)] = (prev__OHS);
+                  };
+                };
+                ((__POINTER *)result__YHS)[ 0]=((__POINTER )new_size__51R);
+                next__B2R=(void *)((unsigned long)result__YHS - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+              };
+              ((__POINTER *)next__B2R)[ 0]=NULL;
+              ((__POINTER *)ptr_table__A2R)[ 0]=next__B2R;
+            } else {
+              ((__POINTER *)result__C2R)[ 0]=(void *)((unsigned long)((__POINTER *)next__B2R)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+              result__C2R=next__B2R;
+            };
+          };
+          ((__POINTER *)result__C2R)[ 0]=((__POINTER ) 3);
+          result__01R=(void *)((unsigned long)result__C2R - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+        } else {
+          result__K5R=first_free__2KG;
+          while ((((void *)result__K5R != (void *)NULL) && ((__UINTEGER_32)(((__MEMORY *)result__K5R)->size_and_id__DZ &  4294967292LU) < new_size__21R))) {
+            result__K5R=result__K5R->next_free__EZ;
+          };
+          if (((void *)result__K5R == (void *)NULL)) {
+            if ((capacity_max__4KD ==  0)) {
+              mem__JCS=((__POINTER )(NULL));
+              cap__KCS= 33554432;
+              do {
+                cap__KCS=(__UINTEGER_32)(cap__KCS <<  1);
+                mem__JCS=((__POINTER )(malloc((cap__KCS))));
+                if ((mem__JCS != (void *)NULL)) {
+                  free((mem__JCS));
+                };
+              } while ((! ((mem__JCS == (void *)NULL) || (cap__KCS ==  2147483648LU))));
+              if ((mem__JCS == (void *)NULL)) {
+                cap__KCS=(__UINTEGER_32)(cap__KCS >>  1);
+              };
+              capacity_max__4KD=cap__KCS;
+              begin_memory__XLB=((__POINTER )(malloc((cap__KCS))));
+            };
+            old_size__MCS=(__UINTEGER_32)(nb_page__UYB <<  26);
+            nb_page__UYB=(__UINTEGER_32)(nb_page__UYB +  1);
+            if (((__UINTEGER_32)(old_size__MCS +  67108864) > capacity_max__4KD)) {
+              print__PO((&__string_1));
+              exit(( 1));
+            };
+            block__NCS=((__MEMORY *)(void *)((unsigned long)begin_memory__XLB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )old_size__MCS))));
+            block__NCS->previous_linear__CZ= 4294967295LU;
+            block__NCS->size_and_id__DZ= 67108858;
+            block__NCS->next_free__EZ=first_free__2KG;
+            block__NCS->previous_free__FZ=NULL;
+            if (((void *)first_free__2KG != (void *)NULL)) {
+              ((__MEMORY *)first_free__2KG)->previous_free__FZ=block__NCS;
+            };
+            first_free__2KG=block__NCS;
+            last_block[((__UINTEGER_32)(nb_page__UYB -  1))] = (block__NCS);
+            result__K5R=block__NCS;
+          };
+          Self__N5R=((__MEMORY *)result__K5R);
+          idx__O5R=(__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )((__MEMORY *)result__K5R)) - (unsigned long)begin_memory__XLB)))) >>  26);
+          new__P5R=NULL;
+          prev__Q5R=Self__N5R->previous_free__FZ;
+          next__R5R=Self__N5R->next_free__EZ;
+          if (((void *)prev__Q5R == (void *)NULL)) {
+            first_free__2KG=next__R5R;
+          } else {
+            ((__MEMORY *)prev__Q5R)->next_free__EZ=next__R5R;
+          };
+          if (((void *)next__R5R != (void *)NULL)) {
+            ((__MEMORY *)next__R5R)->previous_free__FZ=prev__Q5R;
+          };
+          siz__S5R=Self__N5R->size_and_id__DZ;
+          new_size__T5R=(__UINTEGER_32)(siz__S5R - new_size__21R);
+          if ((new_size__T5R > (__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )(MINIMUM_SIZE)) +  2) +  8))) {
+            siz__S5R=new_size__21R;
+            new__P5R=((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__N5R) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__21R))));
+            ((__MEMORY *)new__P5R)->previous_linear__CZ=((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )Self__N5R) - (unsigned long)begin_memory__XLB))));
+            ((__MEMORY *)new__P5R)->size_and_id__DZ=(__UINTEGER_32)(new_size__T5R -  8);
+            Self__U5R=((__MEMORY *)new__P5R);
+            Self__U5R->next_free__EZ=first_free__2KG;
+            Self__U5R->previous_free__FZ=NULL;
+            if (((void *)first_free__2KG != (void *)NULL)) {
+              ((__MEMORY *)first_free__2KG)->previous_free__FZ=Self__U5R;
+            };
+            first_free__2KG=Self__U5R;
+            if (((__UINTEGER_32)(((__MEMORY *)new__P5R)->size_and_id__DZ &  2) !=  0)) {
+              last_block[(idx__O5R)] = (new__P5R);
+            } else {
+              Self__V5R=((__MEMORY *)new__P5R);
+              ((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__V5R) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__V5R->size_and_id__DZ &  4294967292LU)))))->previous_linear__CZ=((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )((__MEMORY *)new__P5R)) - (unsigned long)begin_memory__XLB))));
+            };
+          };
+          Self__N5R->size_and_id__DZ=(__UINTEGER_32)(siz__S5R |  1);
+          result__01R=(void *)((unsigned long)((__POINTER )((__MEMORY *)result__K5R)) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+        };
+        Result__D2R=((__CHARACTER *)result__01R);
+        Self__E2R= 31;
+        while ((Self__E2R >=  0)) {
+          Result__D2R[Self__E2R]='\0';
+          Self__E2R=(__INTEGER)(Self__E2R -  1);
+        };
+        Self__OZR->storage__CNC=Result__D2R;
+      } else {
+        new_capacity__G1R=(__INTEGER)(Self__OZR->capacity__ES <<  1);
+        __tmp__I1R=Self__OZR->storage__CNC;
+        __tmp__J1R=Self__OZR->capacity__ES;
+        new__K1R=((__CHARACTER *)realloc_dynamic__old_size__new_size__FPH(((__POINTER )((__CHARACTER *)__tmp__I1R)),((__UINTEGER_32 )__tmp__J1R),((__UINTEGER_32 )new_capacity__G1R)));
+        __tmp__L1R=(__INTEGER)(new_capacity__G1R -  1);
+        Self__M1R=__tmp__J1R;
+        while ((Self__M1R <= __tmp__L1R)) {
+          new__K1R[Self__M1R]='\0';
+          Self__M1R=(__INTEGER)(Self__M1R +  1);
+        };
+        Self__OZR->storage__CNC=new__K1R;
+        Self__OZR->capacity__ES=new_capacity__G1R;
+      };
+    };
+    ((__CHARACTER *)Self__OZR->storage__CNC)[Self__OZR->count__CS]='\0';
+    Self__OZR->count__CS=(__INTEGER)(Self__OZR->count__CS +  1);
+  };
+  Self__OZR->count__CS=(__INTEGER)(Self__OZR->count__CS -  1);
+  ptr__NTG=((__POINTER )((__CHARACTER *)Self__OZR->storage__CNC));
+  ptr__NTG=(void *)((unsigned long)ptr__NTG - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )old_count__AS)));
+  nc_buf__4R=((__CHARACTER *)ptr__NTG);
+  new__H1=create__LV(((__STRING_CONSTANT *)(&__string_11))->count__JX);
+  Self__ASC=((__STRING *)new__H1);
+  Self__ASC->count__CS=((__STRING_CONSTANT *)(&__string_11))->count__JX;
+  if ((Self__ASC->count__CS >  0)) {
+    if ((Self__ASC->capacity__ES < Self__ASC->count__CS)) {
+      nb_elements__G2R=Self__ASC->count__CS;
+      sz__H2R=((__UINTEGER_32 )nb_elements__G2R);
+      result__I2R=((__POINTER )(NULL));
+      a__J2R=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__K2R=(__UINTEGER_32)((__UINTEGER_32)(sz__H2R + a__J2R) & (__UINTEGER_32)(~ a__J2R));
+      new_size2__L2R=(__UINTEGER_32)(new_size__K2R + ((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))));
+      if ((new_size2__L2R <= ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+        a__M2R=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+        new_size__N2R=(__UINTEGER_32)((__UINTEGER_32)(new_size2__L2R + a__M2R) & (__UINTEGER_32)(~ a__M2R));
+        ptr_table__O2R=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__N2R / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+        next__P2R=((__POINTER )(NULL));
+        result__Q2R=((__POINTER *)ptr_table__O2R)[ 0];
+        if ((result__Q2R == (void *)NULL)) {
+          idx__3HS= 0;
+          blc__4HS=NULL;
+          prev__5HS=NULL;
+          pv__AIS= 0;
+          while_do__F3B__CIS:
+          {
+            if ((idx__3HS < nb_page__UYB)) {
+              blc__4HS=((__MEMORY *)(last_block[(idx__3HS)]));
+              __tmp__BIS=(((__UINTEGER_32)(((__MEMORY *)blc__4HS)->size_and_id__DZ &  4294967292LU) <  4096) || ((__UINTEGER_32)(((__MEMORY *)blc__4HS)->size_and_id__DZ &  1) ==  1));
+            } else {
+              __tmp__BIS=FALSE__;
+            };
+            if (__tmp__BIS) {
+              idx__3HS=(__UINTEGER_32)(idx__3HS +  1);
+              goto while_do__F3B__CIS;
+            };
+          };
+          if ((idx__3HS >= nb_page__UYB)) {
+            if ((capacity_max__4KD ==  0)) {
+              mem__DIS=((__POINTER )(NULL));
+              cap__EIS= 33554432;
+              do {
+                cap__EIS=(__UINTEGER_32)(cap__EIS <<  1);
+                mem__DIS=((__POINTER )(malloc((cap__EIS))));
+                if ((mem__DIS != (void *)NULL)) {
+                  free((mem__DIS));
+                };
+              } while ((! ((mem__DIS == (void *)NULL) || (cap__EIS ==  2147483648LU))));
+              if ((mem__DIS == (void *)NULL)) {
+                cap__EIS=(__UINTEGER_32)(cap__EIS >>  1);
+              };
+              capacity_max__4KD=cap__EIS;
+              begin_memory__XLB=((__POINTER )(malloc((cap__EIS))));
+            };
+            old_size__GIS=(__UINTEGER_32)(nb_page__UYB <<  26);
+            nb_page__UYB=(__UINTEGER_32)(nb_page__UYB +  1);
+            if (((__UINTEGER_32)(old_size__GIS +  67108864) > capacity_max__4KD)) {
+              print__PO((&__string_1));
+              exit(( 1));
+            };
+            block__HIS=((__MEMORY *)(void *)((unsigned long)begin_memory__XLB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )old_size__GIS))));
+            block__HIS->previous_linear__CZ= 4294967295LU;
+            block__HIS->size_and_id__DZ= 67108858;
+            block__HIS->next_free__EZ=first_free__2KG;
+            block__HIS->previous_free__FZ=NULL;
+            if (((void *)first_free__2KG != (void *)NULL)) {
+              ((__MEMORY *)first_free__2KG)->previous_free__FZ=block__HIS;
+            };
+            first_free__2KG=block__HIS;
+            last_block[((__UINTEGER_32)(nb_page__UYB -  1))] = (block__HIS);
+            blc__4HS=block__HIS;
+          };
+          ((__MEMORY *)blc__4HS)->size_and_id__DZ=(__UINTEGER_32)(blc__4HS->size_and_id__DZ -  4096);
+          Self__IIS=((__MEMORY *)blc__4HS);
+          result__JIS=((__POINTER )((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__IIS) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__IIS->size_and_id__DZ &  4294967292LU))))));
+          if (((__UINTEGER_32)(((__MEMORY *)blc__4HS)->size_and_id__DZ &  4294967292LU) < ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+            Self__KIS=((__MEMORY *)blc__4HS);
+            prev__LIS=Self__KIS->previous_free__FZ;
+            next__MIS=Self__KIS->next_free__EZ;
+            if (((void *)prev__LIS == (void *)NULL)) {
+              first_free__2KG=next__MIS;
+            } else {
+              ((__MEMORY *)prev__LIS)->next_free__EZ=next__MIS;
+            };
+            if (((void *)next__MIS != (void *)NULL)) {
+              ((__MEMORY *)next__MIS)->previous_free__FZ=prev__LIS;
+            };
+            pv__AIS=blc__4HS->previous_linear__CZ;
+            if ((pv__AIS !=  4294967295LU)) {
+              prev__5HS=((__MEMORY *)(void *)((unsigned long)begin_memory__XLB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )pv__AIS))));
+              ((__MEMORY *)prev__5HS)->size_and_id__DZ=(__UINTEGER_32)((__UINTEGER_32)(prev__5HS->size_and_id__DZ + blc__4HS->size_and_id__DZ) +  8);
+              last_block[(idx__3HS)] = (prev__5HS);
+            };
+          };
+          ((__POINTER *)result__JIS)[ 0]=((__POINTER )new_size__N2R);
+          result__Q2R=(void *)((unsigned long)result__JIS - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+          next__P2R=(void *)((unsigned long)result__Q2R - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__N2R)));
+          ((__POINTER *)next__P2R)[ 0]=NULL;
+          ((__POINTER *)ptr_table__O2R)[ 0]=next__P2R;
+        } else {
+          next__P2R=((__POINTER *)result__Q2R)[ 0];
+          if ((next__P2R == (void *)NULL)) {
+            if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__Q2R - (unsigned long)begin_memory__XLB)))) &  4095) + (__UINTEGER_32)(new_size__N2R <<  1)) <=  4096)) {
+              next__P2R=(void *)((unsigned long)result__Q2R - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__N2R)));
+            } else {
+              idx__OIS= 0;
+              blc__PIS=NULL;
+              prev__QIS=NULL;
+              pv__RIS= 0;
+              while_do__F3B__TIS:
+              {
+                if ((idx__OIS < nb_page__UYB)) {
+                  blc__PIS=((__MEMORY *)(last_block[(idx__OIS)]));
+                  __tmp__SIS=(((__UINTEGER_32)(((__MEMORY *)blc__PIS)->size_and_id__DZ &  4294967292LU) <  4096) || ((__UINTEGER_32)(((__MEMORY *)blc__PIS)->size_and_id__DZ &  1) ==  1));
+                } else {
+                  __tmp__SIS=FALSE__;
+                };
+                if (__tmp__SIS) {
+                  idx__OIS=(__UINTEGER_32)(idx__OIS +  1);
+                  goto while_do__F3B__TIS;
+                };
+              };
+              if ((idx__OIS >= nb_page__UYB)) {
+                if ((capacity_max__4KD ==  0)) {
+                  mem__UIS=((__POINTER )(NULL));
+                  cap__VIS= 33554432;
+                  do {
+                    cap__VIS=(__UINTEGER_32)(cap__VIS <<  1);
+                    mem__UIS=((__POINTER )(malloc((cap__VIS))));
+                    if ((mem__UIS != (void *)NULL)) {
+                      free((mem__UIS));
+                    };
+                  } while ((! ((mem__UIS == (void *)NULL) || (cap__VIS ==  2147483648LU))));
+                  if ((mem__UIS == (void *)NULL)) {
+                    cap__VIS=(__UINTEGER_32)(cap__VIS >>  1);
+                  };
+                  capacity_max__4KD=cap__VIS;
+                  begin_memory__XLB=((__POINTER )(malloc((cap__VIS))));
+                };
+                old_size__XIS=(__UINTEGER_32)(nb_page__UYB <<  26);
+                nb_page__UYB=(__UINTEGER_32)(nb_page__UYB +  1);
+                if (((__UINTEGER_32)(old_size__XIS +  67108864) > capacity_max__4KD)) {
+                  print__PO((&__string_1));
+                  exit(( 1));
+                };
+                block__YIS=((__MEMORY *)(void *)((unsigned long)begin_memory__XLB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )old_size__XIS))));
+                block__YIS->previous_linear__CZ= 4294967295LU;
+                block__YIS->size_and_id__DZ= 67108858;
+                block__YIS->next_free__EZ=first_free__2KG;
+                block__YIS->previous_free__FZ=NULL;
+                if (((void *)first_free__2KG != (void *)NULL)) {
+                  ((__MEMORY *)first_free__2KG)->previous_free__FZ=block__YIS;
+                };
+                first_free__2KG=block__YIS;
+                last_block[((__UINTEGER_32)(nb_page__UYB -  1))] = (block__YIS);
+                blc__PIS=block__YIS;
+              };
+              ((__MEMORY *)blc__PIS)->size_and_id__DZ=(__UINTEGER_32)(blc__PIS->size_and_id__DZ -  4096);
+              Self__ZIS=((__MEMORY *)blc__PIS);
+              result__0IS=((__POINTER )((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__ZIS) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__ZIS->size_and_id__DZ &  4294967292LU))))));
+              if (((__UINTEGER_32)(((__MEMORY *)blc__PIS)->size_and_id__DZ &  4294967292LU) < ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+                Self__1IS=((__MEMORY *)blc__PIS);
+                prev__2IS=Self__1IS->previous_free__FZ;
+                next__3IS=Self__1IS->next_free__EZ;
+                if (((void *)prev__2IS == (void *)NULL)) {
+                  first_free__2KG=next__3IS;
+                } else {
+                  ((__MEMORY *)prev__2IS)->next_free__EZ=next__3IS;
+                };
+                if (((void *)next__3IS != (void *)NULL)) {
+                  ((__MEMORY *)next__3IS)->previous_free__FZ=prev__2IS;
+                };
+                pv__RIS=blc__PIS->previous_linear__CZ;
+                if ((pv__RIS !=  4294967295LU)) {
+                  prev__QIS=((__MEMORY *)(void *)((unsigned long)begin_memory__XLB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )pv__RIS))));
+                  ((__MEMORY *)prev__QIS)->size_and_id__DZ=(__UINTEGER_32)((__UINTEGER_32)(prev__QIS->size_and_id__DZ + blc__PIS->size_and_id__DZ) +  8);
+                  last_block[(idx__OIS)] = (prev__QIS);
+                };
+              };
+              ((__POINTER *)result__0IS)[ 0]=((__POINTER )new_size__N2R);
+              next__P2R=(void *)((unsigned long)result__0IS - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+            };
+            ((__POINTER *)next__P2R)[ 0]=NULL;
+            ((__POINTER *)ptr_table__O2R)[ 0]=next__P2R;
+          } else {
+            ((__POINTER *)result__Q2R)[ 0]=(void *)((unsigned long)((__POINTER *)next__P2R)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+            result__Q2R=next__P2R;
+          };
+        };
+        ((__POINTER *)result__Q2R)[ 0]=((__POINTER ) 3);
+        result__I2R=(void *)((unsigned long)result__Q2R - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+      } else {
+        result__W5R=first_free__2KG;
+        while ((((void *)result__W5R != (void *)NULL) && ((__UINTEGER_32)(((__MEMORY *)result__W5R)->size_and_id__DZ &  4294967292LU) < new_size__K2R))) {
+          result__W5R=result__W5R->next_free__EZ;
+        };
+        if (((void *)result__W5R == (void *)NULL)) {
+          if ((capacity_max__4KD ==  0)) {
+            mem__OCS=((__POINTER )(NULL));
+            cap__PCS= 33554432;
+            do {
+              cap__PCS=(__UINTEGER_32)(cap__PCS <<  1);
+              mem__OCS=((__POINTER )(malloc((cap__PCS))));
+              if ((mem__OCS != (void *)NULL)) {
+                free((mem__OCS));
+              };
+            } while ((! ((mem__OCS == (void *)NULL) || (cap__PCS ==  2147483648LU))));
+            if ((mem__OCS == (void *)NULL)) {
+              cap__PCS=(__UINTEGER_32)(cap__PCS >>  1);
+            };
+            capacity_max__4KD=cap__PCS;
+            begin_memory__XLB=((__POINTER )(malloc((cap__PCS))));
+          };
+          old_size__RCS=(__UINTEGER_32)(nb_page__UYB <<  26);
+          nb_page__UYB=(__UINTEGER_32)(nb_page__UYB +  1);
+          if (((__UINTEGER_32)(old_size__RCS +  67108864) > capacity_max__4KD)) {
+            print__PO((&__string_1));
+            exit(( 1));
+          };
+          block__SCS=((__MEMORY *)(void *)((unsigned long)begin_memory__XLB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )old_size__RCS))));
+          block__SCS->previous_linear__CZ= 4294967295LU;
+          block__SCS->size_and_id__DZ= 67108858;
+          block__SCS->next_free__EZ=first_free__2KG;
+          block__SCS->previous_free__FZ=NULL;
+          if (((void *)first_free__2KG != (void *)NULL)) {
+            ((__MEMORY *)first_free__2KG)->previous_free__FZ=block__SCS;
+          };
+          first_free__2KG=block__SCS;
+          last_block[((__UINTEGER_32)(nb_page__UYB -  1))] = (block__SCS);
+          result__W5R=block__SCS;
+        };
+        Self__Z5R=((__MEMORY *)result__W5R);
+        idx__05R=(__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )((__MEMORY *)result__W5R)) - (unsigned long)begin_memory__XLB)))) >>  26);
+        new__15R=NULL;
+        prev__25R=Self__Z5R->previous_free__FZ;
+        next__35R=Self__Z5R->next_free__EZ;
+        if (((void *)prev__25R == (void *)NULL)) {
+          first_free__2KG=next__35R;
+        } else {
+          ((__MEMORY *)prev__25R)->next_free__EZ=next__35R;
+        };
+        if (((void *)next__35R != (void *)NULL)) {
+          ((__MEMORY *)next__35R)->previous_free__FZ=prev__25R;
+        };
+        siz__45R=Self__Z5R->size_and_id__DZ;
+        new_size__55R=(__UINTEGER_32)(siz__45R - new_size__K2R);
+        if ((new_size__55R > (__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )(MINIMUM_SIZE)) +  2) +  8))) {
+          siz__45R=new_size__K2R;
+          new__15R=((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__Z5R) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__K2R))));
+          ((__MEMORY *)new__15R)->previous_linear__CZ=((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )Self__Z5R) - (unsigned long)begin_memory__XLB))));
+          ((__MEMORY *)new__15R)->size_and_id__DZ=(__UINTEGER_32)(new_size__55R -  8);
+          Self__AAS=((__MEMORY *)new__15R);
+          Self__AAS->next_free__EZ=first_free__2KG;
+          Self__AAS->previous_free__FZ=NULL;
+          if (((void *)first_free__2KG != (void *)NULL)) {
+            ((__MEMORY *)first_free__2KG)->previous_free__FZ=Self__AAS;
+          };
+          first_free__2KG=Self__AAS;
+          if (((__UINTEGER_32)(((__MEMORY *)new__15R)->size_and_id__DZ &  2) !=  0)) {
+            last_block[(idx__05R)] = (new__15R);
+          } else {
+            Self__BAS=((__MEMORY *)new__15R);
+            ((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__BAS) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__BAS->size_and_id__DZ &  4294967292LU)))))->previous_linear__CZ=((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )((__MEMORY *)new__15R)) - (unsigned long)begin_memory__XLB))));
+          };
+        };
+        Self__Z5R->size_and_id__DZ=(__UINTEGER_32)(siz__45R |  1);
+        result__I2R=(void *)((unsigned long)((__POINTER )((__MEMORY *)result__W5R)) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+      };
+      Result__R2R=((__CHARACTER *)result__I2R);
+      Self__S2R=(__INTEGER)(nb_elements__G2R -  1);
+      while ((Self__S2R >=  0)) {
+        Result__R2R[Self__S2R]='\0';
+        Self__S2R=(__INTEGER)(Self__S2R -  1);
+      };
+      Self__ASC->storage__CNC=Result__R2R;
+      Self__ASC->capacity__ES=Self__ASC->count__CS;
+    };
+    __tmp__XSC=Self__ASC->storage__CNC;
+    __tmp__0SC=((__STRING_CONSTANT *)(&__string_11))->storage__ZZD;
+    __tmp__3SC=(__INTEGER)(Self__ASC->count__CS -  1);
+    Self__KXG=((__CHARACTER *)__tmp__XSC);
+    Self__OIH=__tmp__3SC;
+    while ((Self__OIH >=  0)) {
+      Self__KXG[Self__OIH]=((__CHARACTER *)__tmp__0SC)[Self__OIH];
+      Self__OIH=(__INTEGER)(Self__OIH -  1);
+    };
+  };
+  Self__BMC=((__STRING *)new__H1);
+  if ((Self__BMC->capacity__ES > Self__BMC->count__CS)) {
+    Self__BMC->count__CS=(__INTEGER)(Self__BMC->count__CS +  1);
+    if ((((__CHARACTER *)Self__BMC->storage__CNC)[(__INTEGER)(Self__BMC->count__CS -  1)] != '\0')) {
+      ((__CHARACTER *)Self__BMC->storage__CNC)[(__INTEGER)(Self__BMC->count__CS -  1)]='\0';
+    };
+  } else {
+    new_capacity__P1R= 0;
+    if ((Self__BMC->capacity__ES <= Self__BMC->count__CS)) {
+      if ((Self__BMC->capacity__ES ==  0)) {
+        Self__BMC->capacity__ES= 32;
+        result__W2R=((__POINTER )(NULL));
+        a__X2R=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+        new_size__Y2R=(__UINTEGER_32)((__UINTEGER_32)( 32 + a__X2R) & (__UINTEGER_32)(~ a__X2R));
+        new_size2__Z2R=(__UINTEGER_32)(new_size__Y2R + ((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))));
+        if ((new_size2__Z2R <= ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+          a__02R=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+          new_size__12R=(__UINTEGER_32)((__UINTEGER_32)(new_size2__Z2R + a__02R) & (__UINTEGER_32)(~ a__02R));
+          ptr_table__22R=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__12R / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+          next__32R=((__POINTER )(NULL));
+          result__42R=((__POINTER *)ptr_table__22R)[ 0];
+          if ((result__42R == (void *)NULL)) {
+            idx__5IS= 0;
+            blc__AJS=NULL;
+            prev__BJS=NULL;
+            pv__CJS= 0;
+            while_do__F3B__EJS:
+            {
+              if ((idx__5IS < nb_page__UYB)) {
+                blc__AJS=((__MEMORY *)(last_block[(idx__5IS)]));
+                __tmp__DJS=(((__UINTEGER_32)(((__MEMORY *)blc__AJS)->size_and_id__DZ &  4294967292LU) <  4096) || ((__UINTEGER_32)(((__MEMORY *)blc__AJS)->size_and_id__DZ &  1) ==  1));
+              } else {
+                __tmp__DJS=FALSE__;
+              };
+              if (__tmp__DJS) {
+                idx__5IS=(__UINTEGER_32)(idx__5IS +  1);
+                goto while_do__F3B__EJS;
+              };
+            };
+            if ((idx__5IS >= nb_page__UYB)) {
+              if ((capacity_max__4KD ==  0)) {
+                mem__FJS=((__POINTER )(NULL));
+                cap__GJS= 33554432;
+                do {
+                  cap__GJS=(__UINTEGER_32)(cap__GJS <<  1);
+                  mem__FJS=((__POINTER )(malloc((cap__GJS))));
+                  if ((mem__FJS != (void *)NULL)) {
+                    free((mem__FJS));
+                  };
+                } while ((! ((mem__FJS == (void *)NULL) || (cap__GJS ==  2147483648LU))));
+                if ((mem__FJS == (void *)NULL)) {
+                  cap__GJS=(__UINTEGER_32)(cap__GJS >>  1);
+                };
+                capacity_max__4KD=cap__GJS;
+                begin_memory__XLB=((__POINTER )(malloc((cap__GJS))));
+              };
+              old_size__IJS=(__UINTEGER_32)(nb_page__UYB <<  26);
+              nb_page__UYB=(__UINTEGER_32)(nb_page__UYB +  1);
+              if (((__UINTEGER_32)(old_size__IJS +  67108864) > capacity_max__4KD)) {
+                print__PO((&__string_1));
+                exit(( 1));
+              };
+              block__JJS=((__MEMORY *)(void *)((unsigned long)begin_memory__XLB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )old_size__IJS))));
+              block__JJS->previous_linear__CZ= 4294967295LU;
+              block__JJS->size_and_id__DZ= 67108858;
+              block__JJS->next_free__EZ=first_free__2KG;
+              block__JJS->previous_free__FZ=NULL;
+              if (((void *)first_free__2KG != (void *)NULL)) {
+                ((__MEMORY *)first_free__2KG)->previous_free__FZ=block__JJS;
+              };
+              first_free__2KG=block__JJS;
+              last_block[((__UINTEGER_32)(nb_page__UYB -  1))] = (block__JJS);
+              blc__AJS=block__JJS;
+            };
+            ((__MEMORY *)blc__AJS)->size_and_id__DZ=(__UINTEGER_32)(blc__AJS->size_and_id__DZ -  4096);
+            Self__KJS=((__MEMORY *)blc__AJS);
+            result__LJS=((__POINTER )((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__KJS) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__KJS->size_and_id__DZ &  4294967292LU))))));
+            if (((__UINTEGER_32)(((__MEMORY *)blc__AJS)->size_and_id__DZ &  4294967292LU) < ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+              Self__MJS=((__MEMORY *)blc__AJS);
+              prev__NJS=Self__MJS->previous_free__FZ;
+              next__OJS=Self__MJS->next_free__EZ;
+              if (((void *)prev__NJS == (void *)NULL)) {
+                first_free__2KG=next__OJS;
+              } else {
+                ((__MEMORY *)prev__NJS)->next_free__EZ=next__OJS;
+              };
+              if (((void *)next__OJS != (void *)NULL)) {
+                ((__MEMORY *)next__OJS)->previous_free__FZ=prev__NJS;
+              };
+              pv__CJS=blc__AJS->previous_linear__CZ;
+              if ((pv__CJS !=  4294967295LU)) {
+                prev__BJS=((__MEMORY *)(void *)((unsigned long)begin_memory__XLB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )pv__CJS))));
+                ((__MEMORY *)prev__BJS)->size_and_id__DZ=(__UINTEGER_32)((__UINTEGER_32)(prev__BJS->size_and_id__DZ + blc__AJS->size_and_id__DZ) +  8);
+                last_block[(idx__5IS)] = (prev__BJS);
+              };
+            };
+            ((__POINTER *)result__LJS)[ 0]=((__POINTER )new_size__12R);
+            result__42R=(void *)((unsigned long)result__LJS - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+            next__32R=(void *)((unsigned long)result__42R - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__12R)));
+            ((__POINTER *)next__32R)[ 0]=NULL;
+            ((__POINTER *)ptr_table__22R)[ 0]=next__32R;
+          } else {
+            next__32R=((__POINTER *)result__42R)[ 0];
+            if ((next__32R == (void *)NULL)) {
+              if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__42R - (unsigned long)begin_memory__XLB)))) &  4095) + (__UINTEGER_32)(new_size__12R <<  1)) <=  4096)) {
+                next__32R=(void *)((unsigned long)result__42R - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__12R)));
+              } else {
+                idx__QJS= 0;
+                blc__RJS=NULL;
+                prev__SJS=NULL;
+                pv__TJS= 0;
+                while_do__F3B__VJS:
+                {
+                  if ((idx__QJS < nb_page__UYB)) {
+                    blc__RJS=((__MEMORY *)(last_block[(idx__QJS)]));
+                    __tmp__UJS=(((__UINTEGER_32)(((__MEMORY *)blc__RJS)->size_and_id__DZ &  4294967292LU) <  4096) || ((__UINTEGER_32)(((__MEMORY *)blc__RJS)->size_and_id__DZ &  1) ==  1));
+                  } else {
+                    __tmp__UJS=FALSE__;
+                  };
+                  if (__tmp__UJS) {
+                    idx__QJS=(__UINTEGER_32)(idx__QJS +  1);
+                    goto while_do__F3B__VJS;
+                  };
+                };
+                if ((idx__QJS >= nb_page__UYB)) {
+                  if ((capacity_max__4KD ==  0)) {
+                    mem__WJS=((__POINTER )(NULL));
+                    cap__XJS= 33554432;
+                    do {
+                      cap__XJS=(__UINTEGER_32)(cap__XJS <<  1);
+                      mem__WJS=((__POINTER )(malloc((cap__XJS))));
+                      if ((mem__WJS != (void *)NULL)) {
+                        free((mem__WJS));
+                      };
+                    } while ((! ((mem__WJS == (void *)NULL) || (cap__XJS ==  2147483648LU))));
+                    if ((mem__WJS == (void *)NULL)) {
+                      cap__XJS=(__UINTEGER_32)(cap__XJS >>  1);
+                    };
+                    capacity_max__4KD=cap__XJS;
+                    begin_memory__XLB=((__POINTER )(malloc((cap__XJS))));
+                  };
+                  old_size__ZJS=(__UINTEGER_32)(nb_page__UYB <<  26);
+                  nb_page__UYB=(__UINTEGER_32)(nb_page__UYB +  1);
+                  if (((__UINTEGER_32)(old_size__ZJS +  67108864) > capacity_max__4KD)) {
+                    print__PO((&__string_1));
+                    exit(( 1));
+                  };
+                  block__0JS=((__MEMORY *)(void *)((unsigned long)begin_memory__XLB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )old_size__ZJS))));
+                  block__0JS->previous_linear__CZ= 4294967295LU;
+                  block__0JS->size_and_id__DZ= 67108858;
+                  block__0JS->next_free__EZ=first_free__2KG;
+                  block__0JS->previous_free__FZ=NULL;
+                  if (((void *)first_free__2KG != (void *)NULL)) {
+                    ((__MEMORY *)first_free__2KG)->previous_free__FZ=block__0JS;
+                  };
+                  first_free__2KG=block__0JS;
+                  last_block[((__UINTEGER_32)(nb_page__UYB -  1))] = (block__0JS);
+                  blc__RJS=block__0JS;
+                };
+                ((__MEMORY *)blc__RJS)->size_and_id__DZ=(__UINTEGER_32)(blc__RJS->size_and_id__DZ -  4096);
+                Self__1JS=((__MEMORY *)blc__RJS);
+                result__2JS=((__POINTER )((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__1JS) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__1JS->size_and_id__DZ &  4294967292LU))))));
+                if (((__UINTEGER_32)(((__MEMORY *)blc__RJS)->size_and_id__DZ &  4294967292LU) < ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+                  Self__3JS=((__MEMORY *)blc__RJS);
+                  prev__4JS=Self__3JS->previous_free__FZ;
+                  next__5JS=Self__3JS->next_free__EZ;
+                  if (((void *)prev__4JS == (void *)NULL)) {
+                    first_free__2KG=next__5JS;
+                  } else {
+                    ((__MEMORY *)prev__4JS)->next_free__EZ=next__5JS;
+                  };
+                  if (((void *)next__5JS != (void *)NULL)) {
+                    ((__MEMORY *)next__5JS)->previous_free__FZ=prev__4JS;
+                  };
+                  pv__TJS=blc__RJS->previous_linear__CZ;
+                  if ((pv__TJS !=  4294967295LU)) {
+                    prev__SJS=((__MEMORY *)(void *)((unsigned long)begin_memory__XLB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )pv__TJS))));
+                    ((__MEMORY *)prev__SJS)->size_and_id__DZ=(__UINTEGER_32)((__UINTEGER_32)(prev__SJS->size_and_id__DZ + blc__RJS->size_and_id__DZ) +  8);
+                    last_block[(idx__QJS)] = (prev__SJS);
+                  };
+                };
+                ((__POINTER *)result__2JS)[ 0]=((__POINTER )new_size__12R);
+                next__32R=(void *)((unsigned long)result__2JS - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+              };
+              ((__POINTER *)next__32R)[ 0]=NULL;
+              ((__POINTER *)ptr_table__22R)[ 0]=next__32R;
+            } else {
+              ((__POINTER *)result__42R)[ 0]=(void *)((unsigned long)((__POINTER *)next__32R)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+              result__42R=next__32R;
+            };
+          };
+          ((__POINTER *)result__42R)[ 0]=((__POINTER ) 3);
+          result__W2R=(void *)((unsigned long)result__42R - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+        } else {
+          result__CAS=first_free__2KG;
+          while ((((void *)result__CAS != (void *)NULL) && ((__UINTEGER_32)(((__MEMORY *)result__CAS)->size_and_id__DZ &  4294967292LU) < new_size__Y2R))) {
+            result__CAS=result__CAS->next_free__EZ;
+          };
+          if (((void *)result__CAS == (void *)NULL)) {
+            if ((capacity_max__4KD ==  0)) {
+              mem__40E=((__POINTER )(NULL));
+              cap__10E= 33554432;
+              do {
+                cap__10E=(__UINTEGER_32)(cap__10E <<  1);
+                mem__40E=((__POINTER )(malloc((cap__10E))));
+                if ((mem__40E != (void *)NULL)) {
+                  free((mem__40E));
+                };
+              } while ((! ((mem__40E == (void *)NULL) || (cap__10E ==  2147483648LU))));
+              if ((mem__40E == (void *)NULL)) {
+                cap__10E=(__UINTEGER_32)(cap__10E >>  1);
+              };
+              capacity_max__4KD=cap__10E;
+              begin_memory__XLB=((__POINTER )(malloc((cap__10E))));
+            };
+            old_size__XKD=(__UINTEGER_32)(nb_page__UYB <<  26);
+            nb_page__UYB=(__UINTEGER_32)(nb_page__UYB +  1);
+            if (((__UINTEGER_32)(old_size__XKD +  67108864) > capacity_max__4KD)) {
+              print__PO((&__string_1));
+              exit(( 1));
+            };
+            block__3KD=((__MEMORY *)(void *)((unsigned long)begin_memory__XLB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )old_size__XKD))));
+            block__3KD->previous_linear__CZ= 4294967295LU;
+            block__3KD->size_and_id__DZ= 67108858;
+            block__3KD->next_free__EZ=first_free__2KG;
+            block__3KD->previous_free__FZ=NULL;
+            if (((void *)first_free__2KG != (void *)NULL)) {
+              ((__MEMORY *)first_free__2KG)->previous_free__FZ=block__3KD;
+            };
+            first_free__2KG=block__3KD;
+            last_block[((__UINTEGER_32)(nb_page__UYB -  1))] = (block__3KD);
+            result__CAS=block__3KD;
+          };
+          Self__FAS=((__MEMORY *)result__CAS);
+          idx__GAS=(__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )((__MEMORY *)result__CAS)) - (unsigned long)begin_memory__XLB)))) >>  26);
+          new__HAS=NULL;
+          prev__IAS=Self__FAS->previous_free__FZ;
+          next__JAS=Self__FAS->next_free__EZ;
+          if (((void *)prev__IAS == (void *)NULL)) {
+            first_free__2KG=next__JAS;
+          } else {
+            ((__MEMORY *)prev__IAS)->next_free__EZ=next__JAS;
+          };
+          if (((void *)next__JAS != (void *)NULL)) {
+            ((__MEMORY *)next__JAS)->previous_free__FZ=prev__IAS;
+          };
+          siz__KAS=Self__FAS->size_and_id__DZ;
+          new_size__LAS=(__UINTEGER_32)(siz__KAS - new_size__Y2R);
+          if ((new_size__LAS > (__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )(MINIMUM_SIZE)) +  2) +  8))) {
+            siz__KAS=new_size__Y2R;
+            new__HAS=((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__FAS) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__Y2R))));
+            ((__MEMORY *)new__HAS)->previous_linear__CZ=((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )Self__FAS) - (unsigned long)begin_memory__XLB))));
+            ((__MEMORY *)new__HAS)->size_and_id__DZ=(__UINTEGER_32)(new_size__LAS -  8);
+            Self__MAS=((__MEMORY *)new__HAS);
+            Self__MAS->next_free__EZ=first_free__2KG;
+            Self__MAS->previous_free__FZ=NULL;
+            if (((void *)first_free__2KG != (void *)NULL)) {
+              ((__MEMORY *)first_free__2KG)->previous_free__FZ=Self__MAS;
+            };
+            first_free__2KG=Self__MAS;
+            if (((__UINTEGER_32)(((__MEMORY *)new__HAS)->size_and_id__DZ &  2) !=  0)) {
+              last_block[(idx__GAS)] = (new__HAS);
+            } else {
+              Self__NAS=((__MEMORY *)new__HAS);
+              ((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__NAS) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__NAS->size_and_id__DZ &  4294967292LU)))))->previous_linear__CZ=((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )((__MEMORY *)new__HAS)) - (unsigned long)begin_memory__XLB))));
+            };
+          };
+          Self__FAS->size_and_id__DZ=(__UINTEGER_32)(siz__KAS |  1);
+          result__W2R=(void *)((unsigned long)((__POINTER )((__MEMORY *)result__CAS)) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+        };
+        Result__52R=((__CHARACTER *)result__W2R);
+        Self__A3R= 31;
+        while ((Self__A3R >=  0)) {
+          Result__52R[Self__A3R]='\0';
+          Self__A3R=(__INTEGER)(Self__A3R -  1);
+        };
+        Self__BMC->storage__CNC=Result__52R;
+      } else {
+        new_capacity__P1R=(__INTEGER)(Self__BMC->capacity__ES <<  1);
+        __tmp__R1R=Self__BMC->storage__CNC;
+        __tmp__S1R=Self__BMC->capacity__ES;
+        new__T1R=((__CHARACTER *)realloc_dynamic__old_size__new_size__FPH(((__POINTER )((__CHARACTER *)__tmp__R1R)),((__UINTEGER_32 )__tmp__S1R),((__UINTEGER_32 )new_capacity__P1R)));
+        __tmp__U1R=(__INTEGER)(new_capacity__P1R -  1);
+        Self__V1R=__tmp__S1R;
+        while ((Self__V1R <= __tmp__U1R)) {
+          new__T1R[Self__V1R]='\0';
+          Self__V1R=(__INTEGER)(Self__V1R +  1);
+        };
+        Self__BMC->storage__CNC=new__T1R;
+        Self__BMC->capacity__ES=new_capacity__P1R;
+      };
+    };
+    ((__CHARACTER *)Self__BMC->storage__CNC)[Self__BMC->count__CS]='\0';
+    Self__BMC->count__CS=(__INTEGER)(Self__BMC->count__CS +  1);
+  };
+  Self__BMC->count__CS=(__INTEGER)(Self__BMC->count__CS -  1);
+  snprintf((nc_buf__4R),(cap__BS),(Self__BMC->storage__CNC),(Self__HO));
+  Self__TNC=((__STRING *)string_tmp__JO);
+  Self__TNC->count__CS= 0;
+  __tmp__BUR=Self__TNC->storage__CNC;
+  while ((((__CHARACTER *)__tmp__BUR)[Self__TNC->count__CS] != '\0')) {
+    Self__TNC->count__CS=(__INTEGER)(Self__TNC->count__CS +  1);
+  };
+  s__C3R=((__STRING *)string_tmp__JO);
+  __tmp__D3R=((__STRING *)s__C3R)->count__CS;
+  Self__E3R= 1;
+  __tmp__H3R=((__STRING *)s__C3R)->storage__CNC;
+  while ((Self__E3R <= __tmp__D3R)) {
+    fputc((int)(((__CHARACTER *)__tmp__H3R)[(__INTEGER)(Self__E3R -  1)]),stdout);
+    Self__E3R=(__INTEGER)(Self__E3R +  1);
+  };
+}
+
+//==========================//
+// DEBUG MANAGER            //
+//==========================//
+
+void print_string(char *str) 
+{ 
+  while (*str!=0) {
+    print_char(*str); 
+    str++; 
+  };
+}  
+
diff --git a/example/shootout/partial_sums/partial_sums_tst b/example/shootout/partial_sums/partial_sums_tst
index df71a19..1226d73 100755
--- a/example/shootout/partial_sums/partial_sums_tst
+++ b/example/shootout/partial_sums/partial_sums_tst
@@ -1,18 +1,6 @@
 lisaac partial_sums -q -O -i20
 gcc partial_sums_c.c -o partial_sums_c -O3 -msse2 -lm
-echo Lisaac 2,5.10^4:
-time ./partial_sums 25000 > out_li.txt
-echo C:
-time ./partial_sums_c 25000 > out_c.txt
-diff out_li.txt out_c.txt
-
-echo Lisaac 2,5.10^5:
-time ./partial_sums 250000 > out_li.txt
-echo C:
-time ./partial_sums_c 250000 > out_c.txt
-diff out_li.txt out_c.txt
-
-echo Lisaac 2,5.10^6: 
+echo Lisaac: 
 time ./partial_sums 2500000 > out_li.txt
 echo C:
 time ./partial_sums_c 2500000 > out_c.txt
diff --git a/example/shootout/pidigits/pidigits.c b/example/shootout/pidigits/pidigits.c
new file mode 100755
index 0000000..8537210
--- /dev/null
+++ b/example/shootout/pidigits/pidigits.c
@@ -0,0 +1,1174 @@
+// C code generated by Lisaac compiler (www.isaacOS.com) //
+int arg_count;
+char **arg_vector;
+
+//==========================//
+// EXTERNAL                 //
+//==========================//
+
+// CTX
+#include <gmp.h>
+// MEMORY
+
+#define MINIMUM_SIZE 256  
+void *table_size[MINIMUM_SIZE/sizeof(void *)];
+void *last_block[64];
+
+// FLOAT_REAL
+#include <math.h>
+// SYSTEM
+#include <time.h>
+// SYSTEM_IO
+
+#include <stdio.h>
+#include <stdlib.h>
+  
+// Hardware 'print_char'
+void print_char(char car)
+{
+  fputc(car,stdout);
+}
+
+// Hardware 'exit'
+int die_with_code(int code)
+{
+  exit(code);
+}
+
+
+
+//==========================//
+// TYPE                     //
+//==========================//
+
+// Generic Object
+struct ___OBJ {
+  unsigned long __id;
+};
+
+// NULL
+#ifndef NULL
+#define NULL ((void *)0)
+#endif
+
+// POINTER
+typedef void * __POINTER;
+
+// UINTEGER_32
+typedef unsigned long __UINTEGER_32;
+
+// INTEGER
+typedef int __INTEGER;
+
+// CHARACTER
+typedef char __CHARACTER;
+
+// STRING
+#define __STRING__ 4
+typedef struct STRING_struct __STRING;
+struct STRING_struct {
+  unsigned long __id;
+  __INTEGER count__UT;
+  __INTEGER capacity__U1C;
+  __CHARACTER *storage__31C;
+};
+__STRING STRING_={__STRING__};
+#define STRING__ (&STRING_)
+
+// MEMORY
+#define __MEMORY__ 0
+typedef struct MEMORY_struct __MEMORY;
+struct MEMORY_struct {
+  volatile __UINTEGER_32 previous_linear__IJ;
+  volatile __UINTEGER_32 size_and_id__JJ;
+  __MEMORY *next_free__KJ;
+  __MEMORY *previous_free__LJ;
+} __attribute__ ((packed));
+__MEMORY MEMORY_;
+#define MEMORY__ (&MEMORY_)
+
+// ARRAYED_COLLECTION[STRING]
+#define __ARRAYED_COLLECTIONoSTRINGo__ 1
+typedef struct ARRAYED_COLLECTIONoSTRINGo_struct __ARRAYED_COLLECTIONoSTRINGo;
+struct ARRAYED_COLLECTIONoSTRINGo_struct {
+  __INTEGER upper__V0C;
+  __INTEGER capacity__U2C;
+  void **storage__52C;
+};
+__ARRAYED_COLLECTIONoSTRINGo ARRAYED_COLLECTIONoSTRINGo_;
+#define ARRAYED_COLLECTIONoSTRINGo__ (&ARRAYED_COLLECTIONoSTRINGo_)
+
+// FAST_ARRAY[STRING]
+#define __FAST_ARRAYoSTRINGo__ 2
+typedef struct FAST_ARRAYoSTRINGo_struct __FAST_ARRAYoSTRINGo;
+struct FAST_ARRAYoSTRINGo_struct {
+  __ARRAYED_COLLECTIONoSTRINGo parent_arrayed_collection__TB;
+};
+__FAST_ARRAYoSTRINGo FAST_ARRAYoSTRINGo_;
+#define FAST_ARRAYoSTRINGo__ (&FAST_ARRAYoSTRINGo_)
+
+// NUMERIC
+#define __NUMERIC__ 3
+typedef struct NUMERIC_struct __NUMERIC;
+struct NUMERIC_struct {
+  void *Nothing;
+};
+__NUMERIC NUMERIC_;
+#define NUMERIC__ (&NUMERIC_)
+
+// OBJECT
+#define __OBJECT__ 4
+typedef struct OBJECT_struct __OBJECT;
+struct OBJECT_struct {
+  void *Nothing;
+};
+__OBJECT OBJECT_;
+#define OBJECT__ (&OBJECT_)
+
+// STRING_CONSTANT
+#define __STRING_CONSTANT__ 5
+typedef struct STRING_CONSTANT_struct __STRING_CONSTANT;
+struct STRING_CONSTANT_struct {
+  unsigned long __id;
+  __INTEGER count__LDE;
+  __CHARACTER *storage__JDE;
+};
+__STRING_CONSTANT STRING_CONSTANT_={__STRING_CONSTANT__};
+#define STRING_CONSTANT__ (&STRING_CONSTANT_)
+
+// TRUE
+#define TRUE__ 1
+
+// FALSE
+#define FALSE__ 0
+
+// CTX
+#define __CTX__ 5
+typedef struct CTX_struct __CTX;
+struct CTX_struct {
+  void *Nothing;
+};
+__CTX CTX_;
+#define CTX__ (&CTX_)
+
+// MPZ
+typedef mpz_t __MPZ;
+
+// INTEGER_8
+typedef signed char __INTEGER_8;
+
+// INTEGER_32
+typedef signed long __INTEGER_32;
+
+// BOOLEAN
+typedef char __BOOLEAN;
+
+
+void *table_type[6];
+
+//==========================//
+// GLOBAL                   //
+//==========================//
+
+void *parent_numeric__G;
+__POINTER begin_memory__GJB;
+__UINTEGER_32 nb_page__J5B;
+__UINTEGER_32 capacity_max__QZD;
+__MEMORY *first_free__IFH;
+__UINTEGER_32 clone_allocation_size__4I;
+__INTEGER n__LC;
+__INTEGER i__MC;
+void *digits__PC;
+__MPZ q__QC;
+__MPZ r__UC;
+__MPZ s__YC;
+__MPZ t__2C;
+__MPZ u__AD;
+__MPZ v__CD;
+__MPZ w__ED;
+
+//==========================//
+// STRING CONSTANT          //
+//==========================//
+
+__STRING_CONSTANT __string_1={__STRING_CONSTANT__,19,"Not enough memory.\n"};
+
+//==========================//
+// FUNCTION HEADER          //
+//==========================//
+
+// Debug Manager
+void print_string(char *str);
+// Source code
+static __POINTER new_lab__X4B(__UINTEGER_32 t__Z4B);
+static void** create__EQG(__INTEGER nb_elements__GQG);
+static __STRING* create__WF(__INTEGER needed_capacity__YF);
+static void add_last__U4C(__STRING *Self__V4C,__CHARACTER ch__W4C);
+static __POINTER realloc_dynamic__old_size__new_size__VOI(__POINTER p__XOI,__UINTEGER_32 old_sz__YOI,__UINTEGER_32 new_sz__ZOI);
+static void put_string__OQD(void *s__QQD);
+static __MEMORY* new_page__GZD();
+static __MEMORY* search__FEH(__UINTEGER_32 new_size__HEH);
+static __CHARACTER* create__YLF(__INTEGER nb_elements__0LF);
+
+//==========================//
+// SOURCE CODE              //
+//==========================//
+
+int main(int argc,char **argv)
+{
+  void *str__FF,*__tmp__IU;
+  __INTEGER new_count__DH,typ_id__HK,Self__OH,limit_up__PH,idx__B3D;
+  __INTEGER i__U4D,new_capacity__O5D,__tmp__SAE,__tmp__H5H,Self__YMM;
+  __INTEGER n__Y,state__NZL,result__QZL,i__MZL,__tmp__XYS,__tmp__ZYS;
+  __INTEGER y__JC,k__IC,i__1XB,j__2XB,br__DCB,__tmp__TE,__tmp__XE;
+  __POINTER ptr__CK,ptr_table__I1S,next__H1S,result__J1S,ptr_table__MHB;
+  __POINTER next__RHB,result__PHB;
+  __UINTEGER_32 sz__EK,a__BWS,new_size__X1,t__A3,a__HWS,new_size__LHB;
+  __UINTEGER_32 lab_type__NHB;
+  __STRING *Self__S4D,*Self__KZL,*Self__5ME;
+  __INTEGER_32 Self__QXB,val__YXB;
+  __CHARACTER *arg__EF,*Self__V2D,*p__T4D,*__tmp__YYS;
+  __FAST_ARRAYoSTRINGo *result__BK,*Self__L2C,*Self__M5D;
+  void *result__DF;
+  __BOOLEAN __tmp__25D,negative__PZL,__tmp__20L,result__ZEQ,__tmp__P1L;
+  __BOOLEAN __tmp__E2L,result__QKP,__tmp__L3L,result__CLP,result__HWG;
+  __BOOLEAN stop__KC;
+  void **__tmp__RAE,**new__U4H;
+  __CHARACTER cc__OZL,tmp__CNE;
+  arg_count  = argc;
+  arg_vector = argv;
+  ARRAYED_COLLECTIONoSTRINGo__->upper__V0C= 0;
+  ARRAYED_COLLECTIONoSTRINGo__->capacity__U2C= 0;
+  ARRAYED_COLLECTIONoSTRINGo__->storage__52C=NULL;
+  FAST_ARRAYoSTRINGo__->parent_arrayed_collection__TB=(*ARRAYED_COLLECTIONoSTRINGo__);
+  parent_numeric__G=NUMERIC__;
+  clone_allocation_size__4I= 0;
+  STRING_CONSTANT__->count__LDE=((__INTEGER )((0)));
+  STRING__->count__UT= 0;
+  STRING_CONSTANT__->storage__JDE=((__CHARACTER *)(NULL));
+  STRING__->storage__31C=NULL;
+  nb_page__J5B= 0;
+  MEMORY__->size_and_id__JJ= 0;
+  capacity_max__QZD= 0;
+  begin_memory__GJB=((__POINTER )(NULL));
+  MEMORY__->previous_linear__IJ= 0;
+  first_free__IFH=NULL;
+  MEMORY__->next_free__KJ=NULL;
+  MEMORY__->previous_free__LJ=NULL;
+  STRING__->capacity__U1C= 0;
+  arg__EF=NULL;
+  str__FF=NULL;
+  new_count__DH=((__INTEGER )(arg_count));
+  result__BK=NULL;
+  ptr__CK=((__POINTER )(NULL));
+  typ_id__HK= 0;
+  sz__EK=((__UINTEGER_32 )sizeof(__FAST_ARRAYoSTRINGo));
+  if ((sz__EK ==  0)) {
+    result__BK=FAST_ARRAYoSTRINGo__;
+  } else {
+    typ_id__HK=__FAST_ARRAYoSTRINGo__;
+    clone_allocation_size__4I=sz__EK;
+    if ((typ_id__HK == (__INTEGER)(-  1))) {
+      a__BWS=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__X1=(__UINTEGER_32)((__UINTEGER_32)(sz__EK + a__BWS) & (__UINTEGER_32)(~ a__BWS));
+      ptr_table__I1S=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__X1 / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+      next__H1S=((__POINTER )(NULL));
+      result__J1S=((__POINTER *)ptr_table__I1S)[ 0];
+      if ((result__J1S == (void *)NULL)) {
+        result__J1S=new_lab__X4B(new_size__X1);
+        next__H1S=(void *)((unsigned long)result__J1S - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__X1)));
+        ((__POINTER *)next__H1S)[ 0]=NULL;
+        ((__POINTER *)ptr_table__I1S)[ 0]=next__H1S;
+      } else {
+        next__H1S=((__POINTER *)result__J1S)[ 0];
+        if ((next__H1S == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__J1S - (unsigned long)begin_memory__GJB)))) &  4095) + (__UINTEGER_32)(new_size__X1 <<  1)) <=  4096)) {
+            next__H1S=(void *)((unsigned long)result__J1S - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__X1)));
+          } else {
+            next__H1S=new_lab__X4B(new_size__X1);
+          };
+          ((__POINTER *)next__H1S)[ 0]=NULL;
+          ((__POINTER *)ptr_table__I1S)[ 0]=next__H1S;
+        } else {
+          ((__POINTER *)result__J1S)[ 0]=(void *)((unsigned long)((__POINTER *)next__H1S)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__J1S=next__H1S;
+        };
+      };
+      ptr__CK=result__J1S;
+    } else {
+      t__A3=((__UINTEGER_32 )typ_id__HK);
+      a__HWS=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__LHB=(__UINTEGER_32)((__UINTEGER_32)(sz__EK + a__HWS) & (__UINTEGER_32)(~ a__HWS));
+      ptr_table__MHB=((__POINTER )(&(table_type[(t__A3)])));
+      lab_type__NHB=(__UINTEGER_32)(t__A3 |  1);
+      next__RHB=((__POINTER )(NULL));
+      result__PHB=((__POINTER *)ptr_table__MHB)[ 0];
+      if ((result__PHB == (void *)NULL)) {
+        result__PHB=new_lab__X4B(lab_type__NHB);
+        next__RHB=(void *)((unsigned long)result__PHB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__LHB)));
+        ((__POINTER *)next__RHB)[ 0]=NULL;
+        ((__POINTER *)ptr_table__MHB)[ 0]=next__RHB;
+      } else {
+        next__RHB=((__POINTER *)result__PHB)[ 0];
+        if ((next__RHB == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__PHB - (unsigned long)begin_memory__GJB)))) &  4095) + (__UINTEGER_32)(new_size__LHB <<  1)) <=  4096)) {
+            next__RHB=(void *)((unsigned long)result__PHB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__LHB)));
+          } else {
+            next__RHB=new_lab__X4B(lab_type__NHB);
+          };
+          ((__POINTER *)next__RHB)[ 0]=NULL;
+          ((__POINTER *)ptr_table__MHB)[ 0]=next__RHB;
+        } else {
+          ((__POINTER *)result__PHB)[ 0]=(void *)((unsigned long)((__POINTER *)next__RHB)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__PHB=next__RHB;
+        };
+      };
+      ptr__CK=result__PHB;
+    };
+    result__BK=((__FAST_ARRAYoSTRINGo *)ptr__CK);
+    *(result__BK) = *(FAST_ARRAYoSTRINGo__);
+  };
+  Self__L2C=((__FAST_ARRAYoSTRINGo *)result__BK);
+  if ((Self__L2C->parent_arrayed_collection__TB.capacity__U2C < new_count__DH)) {
+    Self__L2C->parent_arrayed_collection__TB.storage__52C=create__EQG(new_count__DH);
+    Self__L2C->parent_arrayed_collection__TB.capacity__U2C=new_count__DH;
+  };
+  Self__L2C->parent_arrayed_collection__TB.upper__V0C=(__INTEGER)(-  1);
+  result__DF=result__BK;
+  Self__OH= 0;
+  limit_up__PH=(__INTEGER)(((__INTEGER )(arg_count)) -  1);
+  while ((Self__OH <= limit_up__PH)) {
+    arg__EF=((__CHARACTER *)(arg_vector[(Self__OH)]));
+    Self__V2D=((__CHARACTER *)arg__EF);
+    idx__B3D= 0;
+    while ((! ((idx__B3D >  1024) || ('\0' == Self__V2D[idx__B3D])))) {
+      idx__B3D=(__INTEGER)(idx__B3D +  1);
+    };
+    str__FF=create__WF(idx__B3D);
+    Self__S4D=((__STRING *)str__FF);
+    p__T4D=arg__EF;
+    i__U4D= 0;
+    Self__S4D->count__UT= 0;
+    while ((((__CHARACTER *)p__T4D)[i__U4D] != '\0')) {
+      add_last__U4C(Self__S4D,((__CHARACTER *)p__T4D)[i__U4D]);
+      i__U4D=(__INTEGER)(i__U4D +  1);
+    };
+    Self__M5D=((__FAST_ARRAYoSTRINGo *)result__DF);
+    new_capacity__O5D= 0;
+    if (((__INTEGER)(Self__M5D->parent_arrayed_collection__TB.upper__V0C +  1) <= (__INTEGER)(Self__M5D->parent_arrayed_collection__TB.capacity__U2C -  1))) {
+      Self__M5D->parent_arrayed_collection__TB.upper__V0C=(__INTEGER)(Self__M5D->parent_arrayed_collection__TB.upper__V0C +  1);
+      __tmp__25D=TRUE__;
+    } else {
+      __tmp__25D=FALSE__;
+    };
+    if ((! __tmp__25D)) {
+      if ((Self__M5D->parent_arrayed_collection__TB.capacity__U2C ==  0)) {
+        Self__M5D->parent_arrayed_collection__TB.storage__52C=create__EQG( 2);
+        Self__M5D->parent_arrayed_collection__TB.capacity__U2C= 2;
+        Self__M5D->parent_arrayed_collection__TB.upper__V0C= 0;
+      } else {
+        new_capacity__O5D=(__INTEGER)(Self__M5D->parent_arrayed_collection__TB.capacity__U2C <<  1);
+        __tmp__RAE=Self__M5D->parent_arrayed_collection__TB.storage__52C;
+        __tmp__SAE=Self__M5D->parent_arrayed_collection__TB.capacity__U2C;
+        new__U4H=((void **)realloc_dynamic__old_size__new_size__VOI(((__POINTER )((void **)__tmp__RAE)),((__UINTEGER_32 )(__INTEGER)(__tmp__SAE * ((__INTEGER )(sizeof(void *))))),((__UINTEGER_32 )(__INTEGER)(new_capacity__O5D * ((__INTEGER )(sizeof(void *)))))));
+        __tmp__H5H=(__INTEGER)(new_capacity__O5D -  1);
+        Self__YMM=__tmp__SAE;
+        while ((Self__YMM <= __tmp__H5H)) {
+          new__U4H[Self__YMM]=NULL;
+          Self__YMM=(__INTEGER)(Self__YMM +  1);
+        };
+        Self__M5D->parent_arrayed_collection__TB.storage__52C=new__U4H;
+        Self__M5D->parent_arrayed_collection__TB.capacity__U2C=new_capacity__O5D;
+        Self__M5D->parent_arrayed_collection__TB.upper__V0C=(__INTEGER)(Self__M5D->parent_arrayed_collection__TB.upper__V0C +  1);
+      };
+    };
+    ((void **)Self__M5D->parent_arrayed_collection__TB.storage__52C)[Self__M5D->parent_arrayed_collection__TB.upper__V0C]=str__FF;
+    Self__OH=(__INTEGER)(Self__OH +  1);
+  };
+  n__LC= 0;
+  i__MC= 0;
+  digits__PC=NULL;
+  ((/*;
+  q__QC=((__MPZ )(n));
+  r__UC=((__MPZ )(n));
+  s__YC=((__MPZ )(n));
+  t__2C=((__MPZ )(n));
+  u__AD=((__MPZ )(n));
+  v__CD=((__MPZ )(n));
+  w__ED=((__MPZ )(*/NULL));
+  n__Y= 0;
+  if (((__INTEGER)(((__FAST_ARRAYoSTRINGo *)result__BK)->parent_arrayed_collection__TB.upper__V0C +  1) >  1)) {
+    Self__KZL=((__STRING *)((void **)((__FAST_ARRAYoSTRINGo *)result__BK)->parent_arrayed_collection__TB.storage__52C)[ 1]);
+    state__NZL= 0;
+    cc__OZL='\0';
+    negative__PZL=FALSE__;
+    result__QZL= 0;
+    i__MZL= 1;
+    __tmp__XYS=Self__KZL->count__UT;
+    __tmp__YYS=Self__KZL->storage__31C;
+    __tmp__ZYS=Self__KZL->count__UT;
+    while ((i__MZL <= __tmp__XYS)) {
+      cc__OZL=((__CHARACTER *)__tmp__YYS)[(__INTEGER)(i__MZL -  1)];
+      if ((state__NZL ==  0)) {
+        if ((((((((cc__OZL == ' ') || (cc__OZL == '\t')) || (cc__OZL == '\n')) || (cc__OZL == '\r')) || (cc__OZL == '\0')) || (cc__OZL == '\f')) || (cc__OZL == '\v'))) {
+          __tmp__20L=TRUE__;
+        } else {
+          result__ZEQ=(cc__OZL == '+');
+          if (result__ZEQ) {
+            state__NZL= 1;
+          };
+          __tmp__20L=result__ZEQ;
+        };
+        if ((! __tmp__20L)) {
+          if ((cc__OZL == '-')) {
+            negative__PZL=TRUE__;
+            state__NZL= 1;
+          } else {
+            result__QZL=(__INTEGER)(((__INTEGER )((__INTEGER_8 )cc__OZL)) -  48);
+            state__NZL= 2;
+          };
+        };
+        __tmp__P1L=TRUE__;
+      } else {
+        __tmp__P1L=FALSE__;
+      };
+      if (__tmp__P1L) {
+        __tmp__E2L=TRUE__;
+      } else {
+        result__QKP=(state__NZL ==  1);
+        if (result__QKP) {
+          result__QZL=(__INTEGER)(((__INTEGER )((__INTEGER_8 )cc__OZL)) -  48);
+          if (negative__PZL) {
+            result__QZL=(__INTEGER)(- result__QZL);
+          };
+          state__NZL= 2;
+        };
+        __tmp__E2L=result__QKP;
+      };
+      if (__tmp__E2L) {
+        __tmp__L3L=TRUE__;
+      } else {
+        result__CLP=(state__NZL ==  2);
+        if (result__CLP) {
+          result__HWG=FALSE__;
+          if ((((__INTEGER_8 )cc__OZL) >= ((__INTEGER_8 )'0'))) {
+            result__HWG=(((__INTEGER_8 )cc__OZL) <= ((__INTEGER_8 )'9'));
+          };
+          if (result__HWG) {
+            if (negative__PZL) {
+              result__QZL=(__INTEGER)((__INTEGER)( 10 * result__QZL) - (__INTEGER)(((__INTEGER )((__INTEGER_8 )cc__OZL)) -  48));
+            } else {
+              result__QZL=(__INTEGER)((__INTEGER)( 10 * result__QZL) + (__INTEGER)(((__INTEGER )((__INTEGER_8 )cc__OZL)) -  48));
+            };
+          } else {
+            state__NZL= 3;
+          };
+        };
+        __tmp__L3L=result__CLP;
+      };
+      if ((! __tmp__L3L)) {
+        if ((state__NZL ==  3)) {
+          i__MZL=__tmp__ZYS;
+        };
+      };
+      i__MZL=(__INTEGER)(i__MZL +  1);
+    };
+    n__Y=result__QZL;
+  } else {
+    n__Y= 27;
+  };
+  y__JC= 0;
+  stop__KC=FALSE__;
+  k__IC= 1;
+  n__LC=n__Y;
+  i__MC= 0;
+  digits__PC=create__WF( 20);
+  mpz_init_set_ui((q__QC), ( 1));
+  mpz_init_set_ui((r__UC), ( 0));
+  mpz_init_set_ui((s__YC), ( 0));
+  mpz_init_set_ui((t__2C), ( 1));
+  mpz_init((u__AD));
+  mpz_init((v__CD));
+  mpz_init((w__ED));
+  do {
+    mpz_mul_ui((u__AD),(q__QC), ( 3));
+    mpz_add((u__AD),(u__AD),(r__UC));
+    mpz_mul_ui((v__CD),(s__YC), ( 3));
+    mpz_add((v__CD),(v__CD),(t__2C));
+    mpz_tdiv_q((w__ED),(u__AD),(v__CD));
+    y__JC=((__INTEGER )(mpz_get_ui((w__ED))));
+    mpz_mul_ui((u__AD),(q__QC), ( 4));
+    mpz_add((u__AD),(u__AD),(r__UC));
+    mpz_mul_ui((v__CD),(s__YC), ( 4));
+    mpz_add((v__CD),(v__CD),(t__2C));
+    mpz_tdiv_q((w__ED),(u__AD),(v__CD));
+    if ((y__JC == ((__INTEGER )(mpz_get_ui((w__ED)))))) {
+      add_last__U4C(digits__PC,((__CHARACTER )(((__INTEGER_8)(((__INTEGER_8 )y__JC) + ((__INTEGER_8 )'0'))))));
+      i__MC=(__INTEGER)(i__MC +  1);
+      if (((((__STRING *)digits__PC)->count__UT ==  10) || (i__MC == n__LC))) {
+        add_last__U4C(digits__PC,'\t');
+        add_last__U4C(digits__PC,':');
+        __tmp__IU=digits__PC;
+        Self__QXB=((__INTEGER_32 )i__MC);
+        val__YXB= 0;
+        i__1XB= 0;
+        j__2XB= 0;
+        if ((Self__QXB ==  0)) {
+          add_last__U4C(((__STRING *)digits__PC),'0');
+        } else {
+          if ((Self__QXB >  0)) {
+            val__YXB=Self__QXB;
+          } else {
+            val__YXB=(__INTEGER_32)(- Self__QXB);
+            add_last__U4C(((__STRING *)__tmp__IU),'-');
+          };
+          i__1XB=(__INTEGER)(((__STRING *)__tmp__IU)->count__UT +  1);
+          while ((val__YXB !=  0)) {
+            add_last__U4C(((__STRING *)__tmp__IU),((__CHARACTER )(((__INTEGER_8)(((__INTEGER_8 )(__INTEGER_32)(val__YXB %  10)) + ((__INTEGER_8 )'0'))))));
+            val__YXB=(__INTEGER_32)(val__YXB /  10);
+          };
+          j__2XB=((__STRING *)__tmp__IU)->count__UT;
+          while ((i__1XB < j__2XB)) {
+            Self__5ME=((__STRING *)__tmp__IU);
+            tmp__CNE=((__CHARACTER *)Self__5ME->storage__31C)[(__INTEGER)(i__1XB -  1)];
+            ((__CHARACTER *)Self__5ME->storage__31C)[(__INTEGER)(i__1XB -  1)]=((__CHARACTER *)Self__5ME->storage__31C)[(__INTEGER)(j__2XB -  1)];
+            ((__CHARACTER *)Self__5ME->storage__31C)[(__INTEGER)(j__2XB -  1)]=tmp__CNE;
+            j__2XB=(__INTEGER)(j__2XB -  1);
+            i__1XB=(__INTEGER)(i__1XB +  1);
+          };
+        };
+        add_last__U4C(digits__PC,'\n');
+        put_string__OQD(((__STRING *)digits__PC));
+        ((__STRING *)digits__PC)->count__UT= 0;
+      };
+      if ((i__MC == n__LC)) {
+        stop__KC=TRUE__;
+      } else {
+        br__DCB=(__INTEGER)((__INTEGER)(-  10) * y__JC);
+        mpz_mul_si((u__AD),(r__UC),( 0));
+        mpz_mul_si((r__UC),(r__UC),( 10));
+        mpz_mul_si((v__CD),(t__2C),(br__DCB));
+        mpz_add((r__UC),(r__UC),(v__CD));
+        mpz_mul_si((t__2C),(t__2C),( 1));
+        mpz_add((t__2C),(t__2C),(u__AD));
+        mpz_mul_si((s__YC),(s__YC),( 1));
+        mpz_mul_si((u__AD),(q__QC),( 0));
+        mpz_add((s__YC),(s__YC),(u__AD));
+        mpz_mul_si((q__QC),(q__QC),( 10));
+      };
+    } else {
+      __tmp__TE=(__INTEGER)((__INTEGER)(k__IC <<  2) +  2);
+      __tmp__XE=(__INTEGER)((__INTEGER)(k__IC <<  1) +  1);
+      mpz_mul_si((r__UC),(r__UC),(__tmp__XE));
+      mpz_mul_si((u__AD),(q__QC),(__tmp__TE));
+      mpz_add((r__UC),(r__UC),(u__AD));
+      mpz_mul_si((u__AD),(t__2C),( 0));
+      mpz_mul_si((t__2C),(t__2C),(__tmp__XE));
+      mpz_mul_si((v__CD),(s__YC),(__tmp__TE));
+      mpz_add((t__2C),(t__2C),(v__CD));
+      mpz_mul_si((s__YC),(s__YC),(k__IC));
+      mpz_add((s__YC),(s__YC),(u__AD));
+      mpz_mul_si((q__QC),(q__QC),(k__IC));
+      k__IC=(__INTEGER)(k__IC +  1);
+    };
+  } while ((! stop__KC));
+  return( 0);
+}
+
+static __POINTER new_lab__X4B(__UINTEGER_32 t__Z4B)
+// ({UINTEGER_32}) With resultNo recursive, No inlinable.
+{
+  __UINTEGER_32 idx__14B,pv__C5B;
+  __MEMORY *blc__44B,*prev__54B,*Self__BIS,*Self__YUS,*prev__ZUS;
+  __MEMORY *next__0US;
+  __POINTER result__A5B;
+  __BOOLEAN __tmp__CAC;
+  idx__14B= 0;
+  blc__44B=NULL;
+  prev__54B=NULL;
+  pv__C5B= 0;
+  while_do__QEC:
+  {
+    if ((idx__14B < nb_page__J5B)) {
+      blc__44B=((__MEMORY *)(last_block[(idx__14B)]));
+      __tmp__CAC=(((__UINTEGER_32)(((__MEMORY *)blc__44B)->size_and_id__JJ &  4294967292LU) <  4096) || ((__UINTEGER_32)(((__MEMORY *)blc__44B)->size_and_id__JJ &  1) ==  1));
+    } else {
+      __tmp__CAC=FALSE__;
+    };
+    if (__tmp__CAC) {
+      idx__14B=(__UINTEGER_32)(idx__14B +  1);
+      goto while_do__QEC;
+    };
+  };
+  if ((idx__14B >= nb_page__J5B)) {
+    blc__44B=new_page__GZD();
+  };
+  ((__MEMORY *)blc__44B)->size_and_id__JJ=(__UINTEGER_32)(blc__44B->size_and_id__JJ -  4096);
+  Self__BIS=((__MEMORY *)blc__44B);
+  result__A5B=((__POINTER )((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__BIS) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__BIS->size_and_id__JJ &  4294967292LU))))));
+  if (((__UINTEGER_32)(((__MEMORY *)blc__44B)->size_and_id__JJ &  4294967292LU) < ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+    Self__YUS=((__MEMORY *)blc__44B);
+    prev__ZUS=Self__YUS->previous_free__LJ;
+    next__0US=Self__YUS->next_free__KJ;
+    if (((void *)prev__ZUS == (void *)NULL)) {
+      first_free__IFH=next__0US;
+    } else {
+      ((__MEMORY *)prev__ZUS)->next_free__KJ=next__0US;
+    };
+    if (((void *)next__0US != (void *)NULL)) {
+      ((__MEMORY *)next__0US)->previous_free__LJ=prev__ZUS;
+    };
+    pv__C5B=blc__44B->previous_linear__IJ;
+    if ((pv__C5B !=  4294967295LU)) {
+      prev__54B=((__MEMORY *)(void *)((unsigned long)begin_memory__GJB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )pv__C5B))));
+      ((__MEMORY *)prev__54B)->size_and_id__JJ=(__UINTEGER_32)((__UINTEGER_32)(prev__54B->size_and_id__JJ + blc__44B->size_and_id__JJ) +  8);
+      last_block[(idx__14B)] = (prev__54B);
+    };
+  };
+  ((__POINTER *)result__A5B)[ 0]=((__POINTER )t__Z4B);
+  return((void *)((unsigned long)result__A5B - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *)))))));
+}
+
+static void** create__EQG(__INTEGER nb_elements__GQG)
+// ({INTEGER}) With resultNo recursive, No inlinable.
+{
+  __UINTEGER_32 sz__RZS,a__QZS,new_size__SZS,new_size2__TZS,a__VZS;
+  __UINTEGER_32 new_size__WZS;
+  __POINTER result__PZS,ptr_table__K0S,next__J0S,result__L0S;
+  __INTEGER Self__WXI;
+  void **Result__VZG;
+  sz__RZS=((__UINTEGER_32 )(__INTEGER)(nb_elements__GQG * ((__INTEGER )(sizeof(void *)))));
+  result__PZS=((__POINTER )(NULL));
+  a__QZS=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+  new_size__SZS=(__UINTEGER_32)((__UINTEGER_32)(sz__RZS + a__QZS) & (__UINTEGER_32)(~ a__QZS));
+  new_size2__TZS=(__UINTEGER_32)(new_size__SZS + ((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))));
+  if ((new_size2__TZS <= ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+    a__VZS=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+    new_size__WZS=(__UINTEGER_32)((__UINTEGER_32)(new_size2__TZS + a__VZS) & (__UINTEGER_32)(~ a__VZS));
+    ptr_table__K0S=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__WZS / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+    next__J0S=((__POINTER )(NULL));
+    result__L0S=((__POINTER *)ptr_table__K0S)[ 0];
+    if ((result__L0S == (void *)NULL)) {
+      result__L0S=new_lab__X4B(new_size__WZS);
+      next__J0S=(void *)((unsigned long)result__L0S - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__WZS)));
+      ((__POINTER *)next__J0S)[ 0]=NULL;
+      ((__POINTER *)ptr_table__K0S)[ 0]=next__J0S;
+    } else {
+      next__J0S=((__POINTER *)result__L0S)[ 0];
+      if ((next__J0S == (void *)NULL)) {
+        if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__L0S - (unsigned long)begin_memory__GJB)))) &  4095) + (__UINTEGER_32)(new_size__WZS <<  1)) <=  4096)) {
+          next__J0S=(void *)((unsigned long)result__L0S - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__WZS)));
+        } else {
+          next__J0S=new_lab__X4B(new_size__WZS);
+        };
+        ((__POINTER *)next__J0S)[ 0]=NULL;
+        ((__POINTER *)ptr_table__K0S)[ 0]=next__J0S;
+      } else {
+        ((__POINTER *)result__L0S)[ 0]=(void *)((unsigned long)((__POINTER *)next__J0S)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+        result__L0S=next__J0S;
+      };
+    };
+    ((__POINTER *)result__L0S)[ 0]=((__POINTER ) 3);
+    result__PZS=(void *)((unsigned long)result__L0S - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+  } else {
+    result__PZS=(void *)((unsigned long)((__POINTER )((__MEMORY *)search__FEH(new_size__SZS))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+  };
+  Result__VZG=((void **)result__PZS);
+  Self__WXI=(__INTEGER)(nb_elements__GQG -  1);
+  while ((Self__WXI >=  0)) {
+    Result__VZG[Self__WXI]=NULL;
+    Self__WXI=(__INTEGER)(Self__WXI -  1);
+  };
+  return(Result__VZG);
+}
+
+static __STRING* create__WF(__INTEGER needed_capacity__YF)
+// ({INTEGER}) With resultNo recursive, No inlinable.
+{
+  __STRING *result__KI,*Self__F1C;
+  __POINTER ptr__LI,ptr_table__Q0S,next__P0S,result__R0S,ptr_table__W0S;
+  __POINTER next__V0S,result__X0S;
+  __INTEGER typ_id__QI;
+  __UINTEGER_32 sz__NI,a__MWS,new_size__NWS,t__WWS,a__TWS,new_size__Z0S;
+  __UINTEGER_32 lab_type__Y0S;
+  result__KI=NULL;
+  ptr__LI=((__POINTER )(NULL));
+  typ_id__QI= 0;
+  sz__NI=((__UINTEGER_32 )sizeof(__STRING));
+  if ((sz__NI ==  0)) {
+    result__KI=STRING__;
+  } else {
+    typ_id__QI=-1;
+    clone_allocation_size__4I=(__UINTEGER_32)(clone_allocation_size__4I + sz__NI);
+    if ((typ_id__QI == (__INTEGER)(-  1))) {
+      a__MWS=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__NWS=(__UINTEGER_32)((__UINTEGER_32)(sz__NI + a__MWS) & (__UINTEGER_32)(~ a__MWS));
+      ptr_table__Q0S=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__NWS / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+      next__P0S=((__POINTER )(NULL));
+      result__R0S=((__POINTER *)ptr_table__Q0S)[ 0];
+      if ((result__R0S == (void *)NULL)) {
+        result__R0S=new_lab__X4B(new_size__NWS);
+        next__P0S=(void *)((unsigned long)result__R0S - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__NWS)));
+        ((__POINTER *)next__P0S)[ 0]=NULL;
+        ((__POINTER *)ptr_table__Q0S)[ 0]=next__P0S;
+      } else {
+        next__P0S=((__POINTER *)result__R0S)[ 0];
+        if ((next__P0S == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__R0S - (unsigned long)begin_memory__GJB)))) &  4095) + (__UINTEGER_32)(new_size__NWS <<  1)) <=  4096)) {
+            next__P0S=(void *)((unsigned long)result__R0S - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__NWS)));
+          } else {
+            next__P0S=new_lab__X4B(new_size__NWS);
+          };
+          ((__POINTER *)next__P0S)[ 0]=NULL;
+          ((__POINTER *)ptr_table__Q0S)[ 0]=next__P0S;
+        } else {
+          ((__POINTER *)result__R0S)[ 0]=(void *)((unsigned long)((__POINTER *)next__P0S)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__R0S=next__P0S;
+        };
+      };
+      ptr__LI=result__R0S;
+    } else {
+      t__WWS=((__UINTEGER_32 )typ_id__QI);
+      a__TWS=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__Z0S=(__UINTEGER_32)((__UINTEGER_32)(sz__NI + a__TWS) & (__UINTEGER_32)(~ a__TWS));
+      ptr_table__W0S=((__POINTER )(&(table_type[(t__WWS)])));
+      lab_type__Y0S=(__UINTEGER_32)(t__WWS |  1);
+      next__V0S=((__POINTER )(NULL));
+      result__X0S=((__POINTER *)ptr_table__W0S)[ 0];
+      if ((result__X0S == (void *)NULL)) {
+        result__X0S=new_lab__X4B(lab_type__Y0S);
+        next__V0S=(void *)((unsigned long)result__X0S - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__Z0S)));
+        ((__POINTER *)next__V0S)[ 0]=NULL;
+        ((__POINTER *)ptr_table__W0S)[ 0]=next__V0S;
+      } else {
+        next__V0S=((__POINTER *)result__X0S)[ 0];
+        if ((next__V0S == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__X0S - (unsigned long)begin_memory__GJB)))) &  4095) + (__UINTEGER_32)(new_size__Z0S <<  1)) <=  4096)) {
+            next__V0S=(void *)((unsigned long)result__X0S - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__Z0S)));
+          } else {
+            next__V0S=new_lab__X4B(lab_type__Y0S);
+          };
+          ((__POINTER *)next__V0S)[ 0]=NULL;
+          ((__POINTER *)ptr_table__W0S)[ 0]=next__V0S;
+        } else {
+          ((__POINTER *)result__X0S)[ 0]=(void *)((unsigned long)((__POINTER *)next__V0S)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__X0S=next__V0S;
+        };
+      };
+      ptr__LI=result__X0S;
+    };
+    result__KI=((__STRING *)ptr__LI);
+    *(result__KI) = *(STRING__);
+  };
+  Self__F1C=((__STRING *)result__KI);
+  if ((needed_capacity__YF >  0)) {
+    if ((Self__F1C->capacity__U1C < needed_capacity__YF)) {
+      Self__F1C->storage__31C=create__YLF(needed_capacity__YF);
+      Self__F1C->capacity__U1C=needed_capacity__YF;
+    };
+  };
+  Self__F1C->count__UT= 0;
+  return(result__KI);
+}
+
+static void add_last__U4C(__STRING *Self__V4C,__CHARACTER ch__W4C)
+// ({STRING},{CHARACTER}) VoidNo recursive, No inlinable.
+{
+  __INTEGER new_capacity__X4C,__tmp__Q5C,__tmp__40H,Self__ZKM;
+  __CHARACTER *__tmp__P5C,*new__L0H;
+  new_capacity__X4C= 0;
+  if ((Self__V4C->capacity__U1C <= Self__V4C->count__UT)) {
+    if ((Self__V4C->capacity__U1C ==  0)) {
+      Self__V4C->capacity__U1C= 32;
+      Self__V4C->storage__31C=create__YLF( 32);
+    } else {
+      new_capacity__X4C=(__INTEGER)(Self__V4C->capacity__U1C <<  1);
+      __tmp__P5C=Self__V4C->storage__31C;
+      __tmp__Q5C=Self__V4C->capacity__U1C;
+      new__L0H=((__CHARACTER *)realloc_dynamic__old_size__new_size__VOI(((__POINTER )((__CHARACTER *)__tmp__P5C)),((__UINTEGER_32 )__tmp__Q5C),((__UINTEGER_32 )new_capacity__X4C)));
+      __tmp__40H=(__INTEGER)(new_capacity__X4C -  1);
+      Self__ZKM=__tmp__Q5C;
+      while ((Self__ZKM <= __tmp__40H)) {
+        new__L0H[Self__ZKM]='\0';
+        Self__ZKM=(__INTEGER)(Self__ZKM +  1);
+      };
+      Self__V4C->storage__31C=new__L0H;
+      Self__V4C->capacity__U1C=new_capacity__X4C;
+    };
+  };
+  ((__CHARACTER *)Self__V4C->storage__31C)[Self__V4C->count__UT]=ch__W4C;
+  Self__V4C->count__UT=(__INTEGER)(Self__V4C->count__UT +  1);
+}
+
+static __POINTER realloc_dynamic__old_size__new_size__VOI(__POINTER p__XOI,__UINTEGER_32 old_sz__YOI,__UINTEGER_32 new_sz__ZOI)
+// ({POINTER},{UINTEGER_32},{UINTEGER_32}) With resultNo recursive, No inlinable.
+{
+  __MEMORY *mem__EPI,*Self__QYK,*nxt__UYK,*result__VYK,*Self__W1S;
+  __MEMORY *new__V1S,*prev__X1S,*next__Y1S,*Self__21S,*Self__41S;
+  __MEMORY *next__0RL,*new_free__ZRL,*prev__JXS,*next__KXS;
+  __POINTER result__FPI,result__OJG,ptr_table__20S,next__10S;
+  __POINTER result__30S,p__GXK,last__UEL,src__AWK,dst__BWK;
+  __UINTEGER_32 a__ZWS,old_size__1OI,old_size2__4OI,a__3WS;
+  __UINTEGER_32 new_size__BPI,a__SUS,new_size__IJG,new_size2__LJG;
+  __UINTEGER_32 a__2XS,new_size__3XS,a__JFB,__tmp__WQI,sz__ZYK;
+  __UINTEGER_32 old_size__WYK,siz__Z1S,new_size__11S,prev__1RL;
+  __UINTEGER_32 new_size__4RL;
+  __INTEGER siz__O1S,Self__T1S,siz__FWK,Self__HCL;
+  __POINTER *na_src__Q1S,*na_dst__S1S,*na_src__DWK,*na_dst__EWK;
+  mem__EPI=NULL;
+  result__FPI=((__POINTER )(NULL));
+  a__ZWS=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+  old_size__1OI=(__UINTEGER_32)((__UINTEGER_32)(old_sz__YOI + a__ZWS) & (__UINTEGER_32)(~ a__ZWS));
+  old_size2__4OI=(__UINTEGER_32)(old_size__1OI + ((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))));
+  a__3WS=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+  new_size__BPI=(__UINTEGER_32)((__UINTEGER_32)(new_sz__ZOI + a__3WS) & (__UINTEGER_32)(~ a__3WS));
+  if ((old_size2__4OI <= ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+    result__OJG=((__POINTER )(NULL));
+    a__SUS=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+    new_size__IJG=(__UINTEGER_32)((__UINTEGER_32)(new_size__BPI + a__SUS) & (__UINTEGER_32)(~ a__SUS));
+    new_size2__LJG=(__UINTEGER_32)(new_size__IJG + ((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))));
+    if ((new_size2__LJG <= ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+      a__2XS=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__3XS=(__UINTEGER_32)((__UINTEGER_32)(new_size2__LJG + a__2XS) & (__UINTEGER_32)(~ a__2XS));
+      ptr_table__20S=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__3XS / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+      next__10S=((__POINTER )(NULL));
+      result__30S=((__POINTER *)ptr_table__20S)[ 0];
+      if ((result__30S == (void *)NULL)) {
+        result__30S=new_lab__X4B(new_size__3XS);
+        next__10S=(void *)((unsigned long)result__30S - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__3XS)));
+        ((__POINTER *)next__10S)[ 0]=NULL;
+        ((__POINTER *)ptr_table__20S)[ 0]=next__10S;
+      } else {
+        next__10S=((__POINTER *)result__30S)[ 0];
+        if ((next__10S == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__30S - (unsigned long)begin_memory__GJB)))) &  4095) + (__UINTEGER_32)(new_size__3XS <<  1)) <=  4096)) {
+            next__10S=(void *)((unsigned long)result__30S - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__3XS)));
+          } else {
+            next__10S=new_lab__X4B(new_size__3XS);
+          };
+          ((__POINTER *)next__10S)[ 0]=NULL;
+          ((__POINTER *)ptr_table__20S)[ 0]=next__10S;
+        } else {
+          ((__POINTER *)result__30S)[ 0]=(void *)((unsigned long)((__POINTER *)next__10S)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__30S=next__10S;
+        };
+      };
+      ((__POINTER *)result__30S)[ 0]=((__POINTER ) 3);
+      result__OJG=(void *)((unsigned long)result__30S - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+    } else {
+      result__OJG=(void *)((unsigned long)((__POINTER )((__MEMORY *)search__FEH(new_size__IJG))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+    };
+    result__FPI=result__OJG;
+    siz__O1S=((__INTEGER )old_size__1OI);
+    siz__O1S=(__INTEGER)(siz__O1S / ((__INTEGER )(sizeof(void *))));
+    na_src__Q1S=((__POINTER *)p__XOI);
+    na_dst__S1S=((__POINTER *)result__OJG);
+    Self__T1S=(__INTEGER)(siz__O1S -  1);
+    while ((Self__T1S >=  0)) {
+      na_dst__S1S[Self__T1S]=na_src__Q1S[Self__T1S];
+      Self__T1S=(__INTEGER)(Self__T1S -  1);
+    };
+    p__GXK=(void *)((unsigned long)p__XOI - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *)))));
+    a__JFB=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+    last__UEL=((__POINTER *)((__POINTER )(&(table_size[((__UINTEGER_32)((__UINTEGER_32)((__UINTEGER_32)(old_size2__4OI + a__JFB) & (__UINTEGER_32)(~ a__JFB)) / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1]))))[ 0];
+    ((__POINTER *)p__GXK)[ 0]=(void *)((unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)(void *)((unsigned long)(void *)((unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER *)last__UEL)[ 0]) - (unsigned long)((__POINTER ) 1)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 3)) - (unsigned long)((__POINTER ) 1)))) - (unsigned long)((__POINTER ) 1));
+    ((__POINTER *)last__UEL)[ 0]=p__GXK;
+  } else {
+    mem__EPI=((__MEMORY *)(void *)((unsigned long)p__XOI - (unsigned long)((__POINTER ) 8)));
+    __tmp__WQI=(__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)p__XOI - (unsigned long)begin_memory__GJB)))) >>  26);
+    Self__QYK=((__MEMORY *)mem__EPI);
+    nxt__UYK=NULL;
+    result__VYK=NULL;
+    sz__ZYK= 0;
+    old_size__WYK=(__UINTEGER_32)(Self__QYK->size_and_id__JJ &  4294967292LU);
+    if ((new_size__BPI > old_size__WYK)) {
+      if ((! ((__UINTEGER_32)(Self__QYK->size_and_id__JJ &  2) !=  0))) {
+        nxt__UYK=((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__QYK) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__QYK->size_and_id__JJ &  4294967292LU)))));
+        sz__ZYK=(__UINTEGER_32)((__UINTEGER_32)(new_size__BPI - old_size__WYK) -  8);
+        if ((((__UINTEGER_32)(((__MEMORY *)nxt__UYK)->size_and_id__JJ &  1) ==  0) && ((__UINTEGER_32)(((__MEMORY *)nxt__UYK)->size_and_id__JJ &  4294967292LU) >= sz__ZYK))) {
+          Self__W1S=((__MEMORY *)nxt__UYK);
+          new__V1S=NULL;
+          prev__X1S=Self__W1S->previous_free__LJ;
+          next__Y1S=Self__W1S->next_free__KJ;
+          if (((void *)prev__X1S == (void *)NULL)) {
+            first_free__IFH=next__Y1S;
+          } else {
+            ((__MEMORY *)prev__X1S)->next_free__KJ=next__Y1S;
+          };
+          if (((void *)next__Y1S != (void *)NULL)) {
+            ((__MEMORY *)next__Y1S)->previous_free__LJ=prev__X1S;
+          };
+          siz__Z1S=Self__W1S->size_and_id__JJ;
+          new_size__11S=(__UINTEGER_32)(siz__Z1S - sz__ZYK);
+          if ((new_size__11S > (__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )(MINIMUM_SIZE)) +  2) +  8))) {
+            siz__Z1S=sz__ZYK;
+            new__V1S=((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__W1S) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )sz__ZYK))));
+            ((__MEMORY *)new__V1S)->previous_linear__IJ=((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )Self__W1S) - (unsigned long)begin_memory__GJB))));
+            ((__MEMORY *)new__V1S)->size_and_id__JJ=(__UINTEGER_32)(new_size__11S -  8);
+            Self__21S=((__MEMORY *)new__V1S);
+            Self__21S->next_free__KJ=first_free__IFH;
+            Self__21S->previous_free__LJ=NULL;
+            if (((void *)first_free__IFH != (void *)NULL)) {
+              ((__MEMORY *)first_free__IFH)->previous_free__LJ=Self__21S;
+            };
+            first_free__IFH=Self__21S;
+            if (((__UINTEGER_32)(((__MEMORY *)new__V1S)->size_and_id__JJ &  2) !=  0)) {
+              last_block[(__tmp__WQI)] = (new__V1S);
+            } else {
+              Self__41S=((__MEMORY *)new__V1S);
+              ((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__41S) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__41S->size_and_id__JJ &  4294967292LU)))))->previous_linear__IJ=((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )((__MEMORY *)new__V1S)) - (unsigned long)begin_memory__GJB))));
+            };
+          };
+          Self__W1S->size_and_id__JJ=(__UINTEGER_32)(siz__Z1S |  1);
+          Self__QYK->size_and_id__JJ=(__UINTEGER_32)((__UINTEGER_32)(Self__QYK->size_and_id__JJ + (__UINTEGER_32)(nxt__UYK->size_and_id__JJ &  4294967294LU)) +  8);
+          if (((__UINTEGER_32)(Self__QYK->size_and_id__JJ &  2) !=  0)) {
+            last_block[(__tmp__WQI)] = (Self__QYK);
+          } else {
+            nxt__UYK=((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__QYK) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__QYK->size_and_id__JJ &  4294967292LU)))));
+            ((__MEMORY *)nxt__UYK)->previous_linear__IJ=((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )Self__QYK) - (unsigned long)begin_memory__GJB))));
+          };
+          result__VYK=Self__QYK;
+        };
+      };
+      if (((void *)result__VYK == (void *)NULL)) {
+        result__VYK=search__FEH(new_size__BPI);
+        src__AWK=(void *)((unsigned long)((__POINTER )Self__QYK) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+        dst__BWK=(void *)((unsigned long)((__POINTER )((__MEMORY *)result__VYK)) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+        siz__FWK=((__INTEGER )old_size__WYK);
+        siz__FWK=(__INTEGER)(siz__FWK / ((__INTEGER )(sizeof(void *))));
+        na_src__DWK=((__POINTER *)src__AWK);
+        na_dst__EWK=((__POINTER *)dst__BWK);
+        Self__HCL=(__INTEGER)(siz__FWK -  1);
+        while ((Self__HCL >=  0)) {
+          na_dst__EWK[Self__HCL]=na_src__DWK[Self__HCL];
+          Self__HCL=(__INTEGER)(Self__HCL -  1);
+        };
+        prev__1RL=Self__QYK->previous_linear__IJ;
+        next__0RL=((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__QYK) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__QYK->size_and_id__JJ &  4294967292LU)))));
+        new_free__ZRL=((__MEMORY *)(void *)((unsigned long)begin_memory__GJB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )prev__1RL))));
+        new_size__4RL=(__UINTEGER_32)(Self__QYK->size_and_id__JJ &  4294967294LU);
+        if (((prev__1RL ==  4294967295LU) || ((__UINTEGER_32)(new_free__ZRL->size_and_id__JJ &  1) !=  0))) {
+          new_free__ZRL=Self__QYK;
+          Self__QYK->next_free__KJ=first_free__IFH;
+          Self__QYK->previous_free__LJ=NULL;
+          if (((void *)first_free__IFH != (void *)NULL)) {
+            ((__MEMORY *)first_free__IFH)->previous_free__LJ=Self__QYK;
+          };
+          first_free__IFH=Self__QYK;
+        } else {
+          new_size__4RL=(__UINTEGER_32)((__UINTEGER_32)(new_size__4RL + new_free__ZRL->size_and_id__JJ) +  8);
+        };
+        if (((! ((__UINTEGER_32)(Self__QYK->size_and_id__JJ &  2) !=  0)) && ((__UINTEGER_32)(next__0RL->size_and_id__JJ &  1) ==  0))) {
+          new_size__4RL=(__UINTEGER_32)((__UINTEGER_32)(new_size__4RL + next__0RL->size_and_id__JJ) +  8);
+          prev__JXS=next__0RL->previous_free__LJ;
+          next__KXS=next__0RL->next_free__KJ;
+          if (((void *)prev__JXS == (void *)NULL)) {
+            first_free__IFH=next__KXS;
+          } else {
+            ((__MEMORY *)prev__JXS)->next_free__KJ=next__KXS;
+          };
+          if (((void *)next__KXS != (void *)NULL)) {
+            ((__MEMORY *)next__KXS)->previous_free__LJ=prev__JXS;
+          };
+        };
+        new_free__ZRL->size_and_id__JJ=new_size__4RL;
+        if (((__UINTEGER_32)(new_free__ZRL->size_and_id__JJ &  2) !=  0)) {
+          last_block[(__tmp__WQI)] = (new_free__ZRL);
+        } else {
+          next__0RL=((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__QYK) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__QYK->size_and_id__JJ &  4294967292LU)))));
+          next__0RL->previous_linear__IJ=((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )new_free__ZRL) - (unsigned long)begin_memory__GJB))));
+        };
+      };
+    } else {
+      result__VYK=Self__QYK;
+    };
+    result__FPI=(void *)((unsigned long)((__POINTER )((__MEMORY *)result__VYK)) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+  };
+  return(result__FPI);
+}
+
+static void put_string__OQD(void *s__QQD)
+// ({STRING_CONSTANTxSTRING}) VoidNo recursive, No inlinable.
+{
+  __INTEGER __tmp__DRD,Self__DYD,limit_up__EYD;
+  __CHARACTER *__tmp__OXS,*__tmp__PXS;
+  __CHARACTER __tmp__KRD;
+  if (((struct ___OBJ *)s__QQD)->__id==__STRING_CONSTANT__) {
+  };
+  if (((struct ___OBJ *)s__QQD)->__id==__STRING_CONSTANT__) {
+    __tmp__DRD=((__STRING_CONSTANT *)s__QQD)->count__LDE;
+  } else {
+    __tmp__DRD=((__STRING *)s__QQD)->count__UT;
+  };
+  Self__DYD= 1;
+  limit_up__EYD=__tmp__DRD;
+  __tmp__OXS=((__STRING_CONSTANT *)s__QQD)->storage__JDE;
+  __tmp__PXS=((__STRING *)s__QQD)->storage__31C;
+  while ((Self__DYD <= limit_up__EYD)) {
+    if (((struct ___OBJ *)s__QQD)->__id==__STRING_CONSTANT__) {
+      __tmp__KRD=((__CHARACTER *)__tmp__OXS)[(__INTEGER)(Self__DYD -  1)];
+    } else {
+      __tmp__KRD=((__CHARACTER *)__tmp__PXS)[(__INTEGER)(Self__DYD -  1)];
+    };
+    fputc((int)(__tmp__KRD),stdout);
+    Self__DYD=(__INTEGER)(Self__DYD +  1);
+  };
+}
+
+static __MEMORY* new_page__GZD()
+// () With resultNo recursive, No inlinable.
+{
+  __POINTER mem__XQF;
+  __UINTEGER_32 cap__UQF,old_size__JZD;
+  __MEMORY *block__PZD;
+  if ((capacity_max__QZD ==  0)) {
+    mem__XQF=((__POINTER )(NULL));
+    cap__UQF= 33554432;
+    do {
+      cap__UQF=(__UINTEGER_32)(cap__UQF <<  1);
+      mem__XQF=((__POINTER )(malloc((cap__UQF))));
+      if ((mem__XQF != (void *)NULL)) {
+        free((mem__XQF));
+      };
+    } while ((! ((mem__XQF == (void *)NULL) || (cap__UQF ==  2147483648LU))));
+    if ((mem__XQF == (void *)NULL)) {
+      cap__UQF=(__UINTEGER_32)(cap__UQF >>  1);
+    };
+    capacity_max__QZD=cap__UQF;
+    begin_memory__GJB=((__POINTER )(malloc((cap__UQF))));
+  };
+  old_size__JZD=(__UINTEGER_32)(nb_page__J5B <<  26);
+  nb_page__J5B=(__UINTEGER_32)(nb_page__J5B +  1);
+  if (((__UINTEGER_32)(old_size__JZD +  67108864) > capacity_max__QZD)) {
+    put_string__OQD((&__string_1));
+    exit(( 1));
+  };
+  block__PZD=((__MEMORY *)(void *)((unsigned long)begin_memory__GJB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )old_size__JZD))));
+  block__PZD->previous_linear__IJ= 4294967295LU;
+  block__PZD->size_and_id__JJ= 67108858;
+  block__PZD->next_free__KJ=first_free__IFH;
+  block__PZD->previous_free__LJ=NULL;
+  if (((void *)first_free__IFH != (void *)NULL)) {
+    ((__MEMORY *)first_free__IFH)->previous_free__LJ=block__PZD;
+  };
+  first_free__IFH=block__PZD;
+  last_block[((__UINTEGER_32)(nb_page__J5B -  1))] = (block__PZD);
+  return(block__PZD);
+}
+
+static __MEMORY* search__FEH(__UINTEGER_32 new_size__HEH)
+// ({UINTEGER_32}) With resultNo recursive, No inlinable.
+{
+  __MEMORY *result__JEH,*Self__RCI,*new__0CI,*prev__41I,*next__51I;
+  __MEMORY *Self__UXH,*Self__HES;
+  __UINTEGER_32 idx__TCI,siz__UCI,new_size__XCI;
+  result__JEH=first_free__IFH;
+  while ((((void *)result__JEH != (void *)NULL) && ((__UINTEGER_32)(((__MEMORY *)result__JEH)->size_and_id__JJ &  4294967292LU) < new_size__HEH))) {
+    result__JEH=result__JEH->next_free__KJ;
+  };
+  if (((void *)result__JEH == (void *)NULL)) {
+    result__JEH=new_page__GZD();
+  };
+  Self__RCI=((__MEMORY *)result__JEH);
+  idx__TCI=(__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )((__MEMORY *)result__JEH)) - (unsigned long)begin_memory__GJB)))) >>  26);
+  new__0CI=NULL;
+  prev__41I=Self__RCI->previous_free__LJ;
+  next__51I=Self__RCI->next_free__KJ;
+  if (((void *)prev__41I == (void *)NULL)) {
+    first_free__IFH=next__51I;
+  } else {
+    ((__MEMORY *)prev__41I)->next_free__KJ=next__51I;
+  };
+  if (((void *)next__51I != (void *)NULL)) {
+    ((__MEMORY *)next__51I)->previous_free__LJ=prev__41I;
+  };
+  siz__UCI=Self__RCI->size_and_id__JJ;
+  new_size__XCI=(__UINTEGER_32)(siz__UCI - new_size__HEH);
+  if ((new_size__XCI > (__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )(MINIMUM_SIZE)) +  2) +  8))) {
+    siz__UCI=new_size__HEH;
+    new__0CI=((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__RCI) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__HEH))));
+    ((__MEMORY *)new__0CI)->previous_linear__IJ=((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )Self__RCI) - (unsigned long)begin_memory__GJB))));
+    ((__MEMORY *)new__0CI)->size_and_id__JJ=(__UINTEGER_32)(new_size__XCI -  8);
+    Self__UXH=((__MEMORY *)new__0CI);
+    Self__UXH->next_free__KJ=first_free__IFH;
+    Self__UXH->previous_free__LJ=NULL;
+    if (((void *)first_free__IFH != (void *)NULL)) {
+      ((__MEMORY *)first_free__IFH)->previous_free__LJ=Self__UXH;
+    };
+    first_free__IFH=Self__UXH;
+    if (((__UINTEGER_32)(((__MEMORY *)new__0CI)->size_and_id__JJ &  2) !=  0)) {
+      last_block[(idx__TCI)] = (new__0CI);
+    } else {
+      Self__HES=((__MEMORY *)new__0CI);
+      ((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__HES) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__HES->size_and_id__JJ &  4294967292LU)))))->previous_linear__IJ=((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )((__MEMORY *)new__0CI)) - (unsigned long)begin_memory__GJB))));
+    };
+  };
+  Self__RCI->size_and_id__JJ=(__UINTEGER_32)(siz__UCI |  1);
+  return(result__JEH);
+}
+
+static __CHARACTER* create__YLF(__INTEGER nb_elements__0LF)
+// ({INTEGER}) With resultNo recursive, No inlinable.
+{
+  __UINTEGER_32 sz__CYS,a__BYS,new_size__DYS,new_size2__EYS,a__GYS;
+  __UINTEGER_32 new_size__HYS;
+  __POINTER result__AYS,ptr_table__C1S,next__B1S,result__D1S;
+  __INTEGER Self__NSI;
+  __CHARACTER *Result__01F;
+  sz__CYS=((__UINTEGER_32 )nb_elements__0LF);
+  result__AYS=((__POINTER )(NULL));
+  a__BYS=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+  new_size__DYS=(__UINTEGER_32)((__UINTEGER_32)(sz__CYS + a__BYS) & (__UINTEGER_32)(~ a__BYS));
+  new_size2__EYS=(__UINTEGER_32)(new_size__DYS + ((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))));
+  if ((new_size2__EYS <= ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+    a__GYS=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+    new_size__HYS=(__UINTEGER_32)((__UINTEGER_32)(new_size2__EYS + a__GYS) & (__UINTEGER_32)(~ a__GYS));
+    ptr_table__C1S=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__HYS / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+    next__B1S=((__POINTER )(NULL));
+    result__D1S=((__POINTER *)ptr_table__C1S)[ 0];
+    if ((result__D1S == (void *)NULL)) {
+      result__D1S=new_lab__X4B(new_size__HYS);
+      next__B1S=(void *)((unsigned long)result__D1S - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__HYS)));
+      ((__POINTER *)next__B1S)[ 0]=NULL;
+      ((__POINTER *)ptr_table__C1S)[ 0]=next__B1S;
+    } else {
+      next__B1S=((__POINTER *)result__D1S)[ 0];
+      if ((next__B1S == (void *)NULL)) {
+        if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__D1S - (unsigned long)begin_memory__GJB)))) &  4095) + (__UINTEGER_32)(new_size__HYS <<  1)) <=  4096)) {
+          next__B1S=(void *)((unsigned long)result__D1S - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__HYS)));
+        } else {
+          next__B1S=new_lab__X4B(new_size__HYS);
+        };
+        ((__POINTER *)next__B1S)[ 0]=NULL;
+        ((__POINTER *)ptr_table__C1S)[ 0]=next__B1S;
+      } else {
+        ((__POINTER *)result__D1S)[ 0]=(void *)((unsigned long)((__POINTER *)next__B1S)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+        result__D1S=next__B1S;
+      };
+    };
+    ((__POINTER *)result__D1S)[ 0]=((__POINTER ) 3);
+    result__AYS=(void *)((unsigned long)result__D1S - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+  } else {
+    result__AYS=(void *)((unsigned long)((__POINTER )((__MEMORY *)search__FEH(new_size__DYS))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+  };
+  Result__01F=((__CHARACTER *)result__AYS);
+  Self__NSI=(__INTEGER)(nb_elements__0LF -  1);
+  while ((Self__NSI >=  0)) {
+    Result__01F[Self__NSI]='\0';
+    Self__NSI=(__INTEGER)(Self__NSI -  1);
+  };
+  return(Result__01F);
+}
+
+//==========================//
+// DEBUG MANAGER            //
+//==========================//
+
+void print_string(char *str) 
+{ 
+  while (*str!=0) {
+    print_char(*str); 
+    str++; 
+  };
+}  
+
diff --git a/example/shootout/regex-dna/regexdna.c b/example/shootout/regex-dna/regexdna.c
new file mode 100755
index 0000000..1b145e4
--- /dev/null
+++ b/example/shootout/regex-dna/regexdna.c
@@ -0,0 +1,1680 @@
+// C code generated by Lisaac compiler (www.isaacOS.com) //
+int arg_count;
+char **arg_vector;
+
+//==========================//
+// EXTERNAL                 //
+//==========================//
+
+// REGEXDNA
+
+#define __USE_STRING_INLINES
+#include <pcre.h>
+pcre *re;
+pcre_extra *re_ex;
+int re_eo;
+const char *re_e;
+
+// MEMORY
+
+#define MINIMUM_SIZE 256  
+void *table_size[MINIMUM_SIZE/sizeof(void *)];
+void *last_block[64];
+
+// FLOAT_REAL
+#include <math.h>
+// SYSTEM
+#include <time.h>
+// SYSTEM_IO
+
+#include <stdio.h>
+#include <stdlib.h>
+  
+// Hardware 'print_char'
+void print_char(char car)
+{
+  fputc(car,stdout);
+}
+
+// Hardware 'exit'
+int die_with_code(int code)
+{
+  exit(code);
+}
+
+
+
+//==========================//
+// TYPE                     //
+//==========================//
+
+// Generic Object
+struct ___OBJ {
+  unsigned long __id;
+};
+
+// NULL
+#ifndef NULL
+#define NULL ((void *)0)
+#endif
+
+// POINTER
+typedef void * __POINTER;
+
+// UINTEGER_32
+typedef unsigned long __UINTEGER_32;
+
+// MEMORY
+#define __MEMORY__ 0
+typedef struct MEMORY_struct __MEMORY;
+struct MEMORY_struct {
+  volatile __UINTEGER_32 previous_linear__DK;
+  volatile __UINTEGER_32 size_and_id__EK;
+  __MEMORY *next_free__FK;
+  __MEMORY *previous_free__GK;
+} __attribute__ ((packed));
+__MEMORY MEMORY_;
+#define MEMORY__ (&MEMORY_)
+
+// INTEGER
+typedef int __INTEGER;
+
+// CHARACTER
+typedef char __CHARACTER;
+
+// STRING_CONSTANT
+#define __STRING_CONSTANT__ 1
+typedef struct STRING_CONSTANT_struct __STRING_CONSTANT;
+struct STRING_CONSTANT_struct {
+  __INTEGER count__ZWF;
+  __CHARACTER *storage__YM;
+};
+__STRING_CONSTANT STRING_CONSTANT_;
+#define STRING_CONSTANT__ (&STRING_CONSTANT_)
+
+// ARRAYED_COLLECTION[STRING_CONSTANT]
+#define __ARRAYED_COLLECTIONoSTRING_CONSTANTo__ 2
+typedef struct ARRAYED_COLLECTIONoSTRING_CONSTANTo_struct __ARRAYED_COLLECTIONoSTRING_CONSTANTo;
+struct ARRAYED_COLLECTIONoSTRING_CONSTANTo_struct {
+  __INTEGER upper__GC;
+  __INTEGER capacity__LGD;
+  void **storage__HHD;
+};
+__ARRAYED_COLLECTIONoSTRING_CONSTANTo ARRAYED_COLLECTIONoSTRING_CONSTANTo_;
+#define ARRAYED_COLLECTIONoSTRING_CONSTANTo__ (&ARRAYED_COLLECTIONoSTRING_CONSTANTo_)
+
+// FAST_ARRAY[STRING_CONSTANT]
+#define __FAST_ARRAYoSTRING_CONSTANTo__ 3
+typedef struct FAST_ARRAYoSTRING_CONSTANTo_struct __FAST_ARRAYoSTRING_CONSTANTo;
+struct FAST_ARRAYoSTRING_CONSTANTo_struct {
+  __ARRAYED_COLLECTIONoSTRING_CONSTANTo parent_arrayed_collection__5B;
+};
+__FAST_ARRAYoSTRING_CONSTANTo FAST_ARRAYoSTRING_CONSTANTo_;
+#define FAST_ARRAYoSTRING_CONSTANTo__ (&FAST_ARRAYoSTRING_CONSTANTo_)
+
+// STRING
+#define __STRING__ 4
+typedef struct STRING_struct __STRING;
+struct STRING_struct {
+  __INTEGER count__SB;
+  __INTEGER capacity__1E;
+  __CHARACTER *storage__JF;
+};
+__STRING STRING_;
+#define STRING__ (&STRING_)
+
+// ARRAYED_COLLECTION[STRING]
+#define __ARRAYED_COLLECTIONoSTRINGo__ 5
+typedef struct ARRAYED_COLLECTIONoSTRINGo_struct __ARRAYED_COLLECTIONoSTRINGo;
+struct ARRAYED_COLLECTIONoSTRINGo_struct {
+  __INTEGER upper__24C;
+  __INTEGER capacity__44C;
+  void **storage__05C;
+};
+__ARRAYED_COLLECTIONoSTRINGo ARRAYED_COLLECTIONoSTRINGo_;
+#define ARRAYED_COLLECTIONoSTRINGo__ (&ARRAYED_COLLECTIONoSTRINGo_)
+
+// FAST_ARRAY[STRING]
+#define __FAST_ARRAYoSTRINGo__ 6
+typedef struct FAST_ARRAYoSTRINGo_struct __FAST_ARRAYoSTRINGo;
+struct FAST_ARRAYoSTRINGo_struct {
+  __ARRAYED_COLLECTIONoSTRINGo parent_arrayed_collection__AB;
+};
+__FAST_ARRAYoSTRINGo FAST_ARRAYoSTRINGo_;
+#define FAST_ARRAYoSTRINGo__ (&FAST_ARRAYoSTRINGo_)
+
+// NUMERIC
+#define __NUMERIC__ 7
+typedef struct NUMERIC_struct __NUMERIC;
+struct NUMERIC_struct {
+  void *Nothing;
+};
+__NUMERIC NUMERIC_;
+#define NUMERIC__ (&NUMERIC_)
+
+// OBJECT
+#define __OBJECT__ 8
+typedef struct OBJECT_struct __OBJECT;
+struct OBJECT_struct {
+  void *Nothing;
+};
+__OBJECT OBJECT_;
+#define OBJECT__ (&OBJECT_)
+
+// REGEXDNA
+#define __REGEXDNA__ 9
+typedef struct REGEXDNA_struct __REGEXDNA;
+struct REGEXDNA_struct {
+  void *Nothing;
+};
+__REGEXDNA REGEXDNA_;
+#define REGEXDNA__ (&REGEXDNA_)
+
+// FALSE
+#define FALSE__ 0
+
+// BOOLEAN
+typedef char __BOOLEAN;
+
+// TRUE
+#define TRUE__ 1
+
+// INTEGER_32
+typedef signed long __INTEGER_32;
+
+// INTEGER_8
+typedef signed char __INTEGER_8;
+
+
+void *table_type[10];
+
+//==========================//
+// GLOBAL                   //
+//==========================//
+
+__POINTER begin_memory__5SB;
+__UINTEGER_32 nb_page__YFC;
+__MEMORY *first_free__22E;
+__UINTEGER_32 capacity_max__V4E;
+void *parent_numeric__H;
+__UINTEGER_32 clone_allocation_size__ZJ;
+void *string_tmp__OC;
+__INTEGER *mem__IG;
+
+//==========================//
+// STRING CONSTANT          //
+//==========================//
+
+__STRING_CONSTANT __string_1={17,"agggtaaa|tttaccct"};
+__STRING_CONSTANT __string_2={25,"[cgt]gggtaaa|tttaccc[acg]"};
+__STRING_CONSTANT __string_3={25,"a[act]ggtaaa|tttacc[agt]t"};
+__STRING_CONSTANT __string_4={25,"ag[act]gtaaa|tttac[agt]ct"};
+__STRING_CONSTANT __string_5={25,"agg[act]taaa|ttta[agt]cct"};
+__STRING_CONSTANT __string_6={25,"aggg[acg]aaa|ttt[cgt]ccct"};
+__STRING_CONSTANT __string_7={25,"agggt[cgt]aa|tt[acg]accct"};
+__STRING_CONSTANT __string_8={25,"agggta[cgt]a|t[acg]taccct"};
+__STRING_CONSTANT __string_9={25,"agggtaa[cgt]|[acg]ttaccct"};
+__STRING_CONSTANT __string_10={1,"B"};
+__STRING_CONSTANT __string_11={7,"(c|g|t)"};
+__STRING_CONSTANT __string_12={1,"D"};
+__STRING_CONSTANT __string_13={7,"(a|g|t)"};
+__STRING_CONSTANT __string_14={1,"H"};
+__STRING_CONSTANT __string_15={7,"(a|c|t)"};
+__STRING_CONSTANT __string_16={1,"K"};
+__STRING_CONSTANT __string_17={5,"(g|t)"};
+__STRING_CONSTANT __string_18={1,"M"};
+__STRING_CONSTANT __string_19={5,"(a|c)"};
+__STRING_CONSTANT __string_20={1,"N"};
+__STRING_CONSTANT __string_21={9,"(a|c|g|t)"};
+__STRING_CONSTANT __string_22={1,"R"};
+__STRING_CONSTANT __string_23={5,"(a|g)"};
+__STRING_CONSTANT __string_24={1,"S"};
+__STRING_CONSTANT __string_25={5,"(c|g)"};
+__STRING_CONSTANT __string_26={1,"V"};
+__STRING_CONSTANT __string_27={7,"(a|c|g)"};
+__STRING_CONSTANT __string_28={1,"W"};
+__STRING_CONSTANT __string_29={5,"(a|t)"};
+__STRING_CONSTANT __string_30={1,"Y"};
+__STRING_CONSTANT __string_31={5,"(c|t)"};
+__STRING_CONSTANT __string_32={5,">.*|\n"};
+__STRING_CONSTANT __string_33={0,""};
+__STRING_CONSTANT __string_34={19,"Not enough memory.\n"};
+
+//==========================//
+// FUNCTION HEADER          //
+//==========================//
+
+// Debug Manager
+void print_string(char *str);
+// Source code
+static __POINTER new_lab__GFC(__UINTEGER_32 t__IFC);
+static __MEMORY* search__Z1E(__UINTEGER_32 new_size__11E);
+static __FAST_ARRAYoSTRING_CONSTANTo* create_with_capacity__VN(__INTEGER new_count__XN);
+static void add_last__GGD(__FAST_ARRAYoSTRING_CONSTANTo *Self__HGD,void *element__IGD);
+static __STRING* create__LE(__INTEGER needed_capacity__NE);
+static void** create__KOG();
+static void add_last__Y4C(__FAST_ARRAYoSTRINGo *Self__Z4C,void *element__04C);
+static __CHARACTER* create__UQG(__INTEGER nb_elements__WQG);
+static __POINTER realloc_dynamic__old_size__new_size__V0K(__POINTER p__X0K,__UINTEGER_32 old_sz__Y0K,__UINTEGER_32 new_sz__Z0K);
+static __INTEGER fb_subst__YF(void *dst__0F,void *src__1F,void *p__2F,void *r__3F);
+static void append__PFF(__STRING *Self__QFF,void *other__RFF);
+static void append_in__WI(__INTEGER Self__XI,void *buffer__YI);
+static __MEMORY* new_page__L4E();
+static void** create__RRG(__INTEGER nb_elements__TRG);
+
+//==========================//
+// SOURCE CODE              //
+//==========================//
+
+int main(int argc,char **argv)
+{
+  __UINTEGER_32 sz__2JB,a__4VW,new_size__4JB,new_size2__BKB,a__U1W;
+  __UINTEGER_32 new_size__V1W,sz__IJ,a__PXW,new_size__KFB,t__Z1W,a__Y1W;
+  __UINTEGER_32 new_size__ERB,lab_type__GRB;
+  __POINTER result__EKB,ptr_table__D5W,next__C5W,result__E5W,ptr__EJ;
+  __POINTER ptr_table__I5W,next__H5W,result__J5W,ptr_table__FRB;
+  __POINTER next__KRB,result__IRB,ptr__S5O;
+  __INTEGER Self__DLE,slen__EB,typ_id__LJ,n__VE,cap__WE;
+  __INTEGER old_nb_elts__5AX,__tmp__CBX,Self__DBX,__tmp__LF,ilen__CB;
+  __INTEGER clen__DB,Self__TH,limit_up__UH,new_capacity__F3W;
+  __INTEGER old_nb_elts__GBX,__tmp__JBX,Self__KBX,count__EHF,pos__DHF;
+  __INTEGER __tmp__BXW,new_capacity__I3W,old_nb_elts__NBX,__tmp__QBX;
+  __INTEGER Self__RBX,flip__FB,Self__GI,limit_up__HI,new_capacity__L3W;
+  __INTEGER old_nb_elts__UBX,__tmp__XBX,Self__YBX,new_capacity__O3W;
+  __INTEGER old_nb_elts__1BX,__tmp__4BX,Self__5BX,new_capacity__R3W;
+  __INTEGER old_nb_elts__CCX,__tmp__FCX,Self__GCX,new_capacity__U3W;
+  __INTEGER old_nb_elts__I4J,__tmp__S5J,Self__AUP;
+  void *str__TE,*__tmp__VC;
+  __STRING *Self__WJP,*Self__G3W,*Self__J3W,*Self__M3W,*Self__P3W;
+  __STRING *Self__S3W,*Self__1DD;
+  void *__tmp__YC;
+  __INTEGER *Result__1BB;
+  void *result__NH,*result__BI;
+  __FAST_ARRAYoSTRINGo *result__DJ,*Self__HED;
+  void *seq__BB;
+  __CHARACTER *Self__4AX,*new__BBX,*__tmp__KF,*Self__FBX,*new__IBX;
+  __CHARACTER *__tmp__AXW,*Self__MBX,*new__PBX,*Self__TBX,*new__WBX;
+  __CHARACTER *Self__0BX,*new__3BX,*Self__BCX,*new__ECX,*Self__H4J;
+  __CHARACTER *new__54J;
+  arg_count  = argc;
+  arg_vector = argv;
+  ARRAYED_COLLECTIONoSTRINGo__->upper__24C= 0;
+  ARRAYED_COLLECTIONoSTRINGo__->capacity__44C= 0;
+  ARRAYED_COLLECTIONoSTRINGo__->storage__05C=NULL;
+  FAST_ARRAYoSTRINGo__->parent_arrayed_collection__AB=(*ARRAYED_COLLECTIONoSTRINGo__);
+  parent_numeric__H=NUMERIC__;
+  clone_allocation_size__ZJ= 0;
+  STRING_CONSTANT__->count__ZWF=((__INTEGER )((0)));
+  STRING_CONSTANT__->storage__YM=((__CHARACTER *)(NULL));
+  nb_page__YFC= 0;
+  MEMORY__->size_and_id__EK= 0;
+  capacity_max__V4E= 0;
+  begin_memory__5SB=((__POINTER )(NULL));
+  MEMORY__->previous_linear__DK= 0;
+  first_free__22E=NULL;
+  MEMORY__->next_free__FK=NULL;
+  MEMORY__->previous_free__GK=NULL;
+  STRING__->capacity__1E= 0;
+  STRING__->storage__JF=NULL;
+  STRING__->count__SB= 0;
+  sz__2JB=((__UINTEGER_32 )(__INTEGER)( 3 * sizeof(__INTEGER)));
+  result__EKB=((__POINTER )(NULL));
+  a__4VW=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+  new_size__4JB=(__UINTEGER_32)((__UINTEGER_32)(sz__2JB + a__4VW) & (__UINTEGER_32)(~ a__4VW));
+  new_size2__BKB=(__UINTEGER_32)(new_size__4JB + ((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))));
+  if ((new_size2__BKB <= ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+    a__U1W=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+    new_size__V1W=(__UINTEGER_32)((__UINTEGER_32)(new_size2__BKB + a__U1W) & (__UINTEGER_32)(~ a__U1W));
+    ptr_table__D5W=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__V1W / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+    next__C5W=((__POINTER )(NULL));
+    result__E5W=((__POINTER *)ptr_table__D5W)[ 0];
+    if ((result__E5W == (void *)NULL)) {
+      result__E5W=new_lab__GFC(new_size__V1W);
+      next__C5W=(void *)((unsigned long)result__E5W - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__V1W)));
+      ((__POINTER *)next__C5W)[ 0]=NULL;
+      ((__POINTER *)ptr_table__D5W)[ 0]=next__C5W;
+    } else {
+      next__C5W=((__POINTER *)result__E5W)[ 0];
+      if ((next__C5W == (void *)NULL)) {
+        if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__E5W - (unsigned long)begin_memory__5SB)))) &  4095) + (__UINTEGER_32)(new_size__V1W <<  1)) <=  4096)) {
+          next__C5W=(void *)((unsigned long)result__E5W - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__V1W)));
+        } else {
+          next__C5W=new_lab__GFC(new_size__V1W);
+        };
+        ((__POINTER *)next__C5W)[ 0]=NULL;
+        ((__POINTER *)ptr_table__D5W)[ 0]=next__C5W;
+      } else {
+        ((__POINTER *)result__E5W)[ 0]=(void *)((unsigned long)((__POINTER *)next__C5W)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+        result__E5W=next__C5W;
+      };
+    };
+    ((__POINTER *)result__E5W)[ 0]=((__POINTER ) 3);
+    result__EKB=(void *)((unsigned long)result__E5W - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+  } else {
+    result__EKB=(void *)((unsigned long)((__POINTER )((__MEMORY *)search__Z1E(new_size__4JB))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+  };
+  Result__1BB=((__INTEGER *)result__EKB);
+  Self__DLE= 2;
+  while ((Self__DLE >=  0)) {
+    Result__1BB[Self__DLE]= 0;
+    Self__DLE=(__INTEGER)(Self__DLE -  1);
+  };
+  mem__IG=Result__1BB;
+  ARRAYED_COLLECTIONoSTRING_CONSTANTo__->upper__GC= 0;
+  ARRAYED_COLLECTIONoSTRING_CONSTANTo__->capacity__LGD= 0;
+  ARRAYED_COLLECTIONoSTRING_CONSTANTo__->storage__HHD=NULL;
+  FAST_ARRAYoSTRING_CONSTANTo__->parent_arrayed_collection__5B=(*ARRAYED_COLLECTIONoSTRING_CONSTANTo__);
+  result__NH=create_with_capacity__VN( 9);
+  add_last__GGD(result__NH,(&__string_1));
+  add_last__GGD(result__NH,(&__string_2));
+  add_last__GGD(result__NH,(&__string_3));
+  add_last__GGD(result__NH,(&__string_4));
+  add_last__GGD(result__NH,(&__string_5));
+  add_last__GGD(result__NH,(&__string_6));
+  add_last__GGD(result__NH,(&__string_7));
+  add_last__GGD(result__NH,(&__string_8));
+  add_last__GGD(result__NH,(&__string_9));
+  string_tmp__OC=create__LE( 512);
+  result__BI=create_with_capacity__VN( 22);
+  add_last__GGD(result__BI,(&__string_10));
+  add_last__GGD(result__BI,(&__string_11));
+  add_last__GGD(result__BI,(&__string_12));
+  add_last__GGD(result__BI,(&__string_13));
+  add_last__GGD(result__BI,(&__string_14));
+  add_last__GGD(result__BI,(&__string_15));
+  add_last__GGD(result__BI,(&__string_16));
+  add_last__GGD(result__BI,(&__string_17));
+  add_last__GGD(result__BI,(&__string_18));
+  add_last__GGD(result__BI,(&__string_19));
+  add_last__GGD(result__BI,(&__string_20));
+  add_last__GGD(result__BI,(&__string_21));
+  add_last__GGD(result__BI,(&__string_22));
+  add_last__GGD(result__BI,(&__string_23));
+  add_last__GGD(result__BI,(&__string_24));
+  add_last__GGD(result__BI,(&__string_25));
+  add_last__GGD(result__BI,(&__string_26));
+  add_last__GGD(result__BI,(&__string_27));
+  add_last__GGD(result__BI,(&__string_28));
+  add_last__GGD(result__BI,(&__string_29));
+  add_last__GGD(result__BI,(&__string_30));
+  add_last__GGD(result__BI,(&__string_31));
+  slen__EB= 0;
+  result__DJ=NULL;
+  ptr__EJ=((__POINTER )(NULL));
+  typ_id__LJ= 0;
+  sz__IJ=((__UINTEGER_32 )sizeof(__FAST_ARRAYoSTRINGo));
+  if ((sz__IJ ==  0)) {
+    result__DJ=FAST_ARRAYoSTRINGo__;
+  } else {
+    typ_id__LJ=__FAST_ARRAYoSTRINGo__;
+    clone_allocation_size__ZJ=(__UINTEGER_32)(clone_allocation_size__ZJ + sz__IJ);
+    if ((typ_id__LJ == (__INTEGER)(-  1))) {
+      a__PXW=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__KFB=(__UINTEGER_32)((__UINTEGER_32)(sz__IJ + a__PXW) & (__UINTEGER_32)(~ a__PXW));
+      ptr_table__I5W=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__KFB / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+      next__H5W=((__POINTER )(NULL));
+      result__J5W=((__POINTER *)ptr_table__I5W)[ 0];
+      if ((result__J5W == (void *)NULL)) {
+        result__J5W=new_lab__GFC(new_size__KFB);
+        next__H5W=(void *)((unsigned long)result__J5W - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__KFB)));
+        ((__POINTER *)next__H5W)[ 0]=NULL;
+        ((__POINTER *)ptr_table__I5W)[ 0]=next__H5W;
+      } else {
+        next__H5W=((__POINTER *)result__J5W)[ 0];
+        if ((next__H5W == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__J5W - (unsigned long)begin_memory__5SB)))) &  4095) + (__UINTEGER_32)(new_size__KFB <<  1)) <=  4096)) {
+            next__H5W=(void *)((unsigned long)result__J5W - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__KFB)));
+          } else {
+            next__H5W=new_lab__GFC(new_size__KFB);
+          };
+          ((__POINTER *)next__H5W)[ 0]=NULL;
+          ((__POINTER *)ptr_table__I5W)[ 0]=next__H5W;
+        } else {
+          ((__POINTER *)result__J5W)[ 0]=(void *)((unsigned long)((__POINTER *)next__H5W)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__J5W=next__H5W;
+        };
+      };
+      ptr__EJ=result__J5W;
+    } else {
+      t__Z1W=((__UINTEGER_32 )typ_id__LJ);
+      a__Y1W=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__ERB=(__UINTEGER_32)((__UINTEGER_32)(sz__IJ + a__Y1W) & (__UINTEGER_32)(~ a__Y1W));
+      ptr_table__FRB=((__POINTER )(&(table_type[(t__Z1W)])));
+      lab_type__GRB=(__UINTEGER_32)(t__Z1W |  1);
+      next__KRB=((__POINTER )(NULL));
+      result__IRB=((__POINTER *)ptr_table__FRB)[ 0];
+      if ((result__IRB == (void *)NULL)) {
+        result__IRB=new_lab__GFC(lab_type__GRB);
+        next__KRB=(void *)((unsigned long)result__IRB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__ERB)));
+        ((__POINTER *)next__KRB)[ 0]=NULL;
+        ((__POINTER *)ptr_table__FRB)[ 0]=next__KRB;
+      } else {
+        next__KRB=((__POINTER *)result__IRB)[ 0];
+        if ((next__KRB == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__IRB - (unsigned long)begin_memory__5SB)))) &  4095) + (__UINTEGER_32)(new_size__ERB <<  1)) <=  4096)) {
+            next__KRB=(void *)((unsigned long)result__IRB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__ERB)));
+          } else {
+            next__KRB=new_lab__GFC(lab_type__GRB);
+          };
+          ((__POINTER *)next__KRB)[ 0]=NULL;
+          ((__POINTER *)ptr_table__FRB)[ 0]=next__KRB;
+        } else {
+          ((__POINTER *)result__IRB)[ 0]=(void *)((unsigned long)((__POINTER *)next__KRB)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__IRB=next__KRB;
+        };
+      };
+      ptr__EJ=result__IRB;
+    };
+    result__DJ=((__FAST_ARRAYoSTRINGo *)ptr__EJ);
+    *(result__DJ) = *(FAST_ARRAYoSTRINGo__);
+  };
+  Self__HED=((__FAST_ARRAYoSTRINGo *)result__DJ);
+  if ((Self__HED->parent_arrayed_collection__AB.capacity__44C <  2)) {
+    Self__HED->parent_arrayed_collection__AB.storage__05C=create__KOG();
+    Self__HED->parent_arrayed_collection__AB.capacity__44C= 2;
+  };
+  Self__HED->parent_arrayed_collection__AB.upper__24C=(__INTEGER)(-  1);
+  seq__BB=result__DJ;
+  add_last__Y4C(result__DJ,create__LE( 5242880));
+  add_last__Y4C(result__DJ,create__LE( 5242880));
+  str__TE=((void **)((__FAST_ARRAYoSTRINGo *)result__DJ)->parent_arrayed_collection__AB.storage__05C)[ 0];
+  n__VE= 0;
+  cap__WE= 0;
+  do {
+    cap__WE=((__STRING *)str__TE)->capacity__1E;
+    if (((__INTEGER)(cap__WE - ((__STRING *)str__TE)->count__SB) <  1024)) {
+      cap__WE=(__INTEGER)(cap__WE <<  1);
+      Self__WJP=((__STRING *)str__TE);
+      if ((cap__WE > Self__WJP->capacity__1E)) {
+        if ((Self__WJP->capacity__1E ==  0)) {
+          Self__WJP->storage__JF=create__UQG(cap__WE);
+        } else {
+          Self__4AX=((__CHARACTER *)Self__WJP->storage__JF);
+          old_nb_elts__5AX=Self__WJP->capacity__1E;
+          new__BBX=((__CHARACTER *)realloc_dynamic__old_size__new_size__V0K(((__POINTER )Self__4AX),((__UINTEGER_32 )old_nb_elts__5AX),((__UINTEGER_32 )cap__WE)));
+          __tmp__CBX=(__INTEGER)(cap__WE -  1);
+          Self__DBX=old_nb_elts__5AX;
+          while ((Self__DBX <= __tmp__CBX)) {
+            new__BBX[Self__DBX]='\0';
+            Self__DBX=(__INTEGER)(Self__DBX +  1);
+          };
+          Self__WJP->storage__JF=new__BBX;
+        };
+        Self__WJP->capacity__1E=cap__WE;
+      };
+    };
+    __tmp__KF=((__STRING *)str__TE)->storage__JF;
+    __tmp__LF=((__STRING *)str__TE)->count__SB;
+    ptr__S5O=((__POINTER )((__CHARACTER *)__tmp__KF));
+    ptr__S5O=(void *)((unsigned long)ptr__S5O - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )__tmp__LF)));
+    n__VE=((__INTEGER )(fread((((__CHARACTER *)ptr__S5O)),1,(cap__WE),stdin)));
+    ((__STRING *)str__TE)->count__SB=(__INTEGER)(((__STRING *)str__TE)->count__SB + n__VE);
+  } while ((n__VE !=  0));
+  ilen__CB=((__STRING *)((void **)((__FAST_ARRAYoSTRINGo *)result__DJ)->parent_arrayed_collection__AB.storage__05C)[ 0])->count__SB;
+  clen__DB=fb_subst__YF(((void **)((__FAST_ARRAYoSTRINGo *)result__DJ)->parent_arrayed_collection__AB.storage__05C)[ 1],((void **)((__FAST_ARRAYoSTRINGo *)result__DJ)->parent_arrayed_collection__AB.storage__05C)[ 0],(&__string_32),(&__string_33));
+  Self__TH= 0;
+  limit_up__UH=((__FAST_ARRAYoSTRING_CONSTANTo *)result__NH)->parent_arrayed_collection__5B.upper__GC;
+  while ((Self__TH <= limit_up__UH)) {
+    append__PFF(string_tmp__OC,((void **)((__FAST_ARRAYoSTRING_CONSTANTo *)result__NH)->parent_arrayed_collection__5B.storage__HHD)[Self__TH]);
+    Self__G3W=((__STRING *)string_tmp__OC);
+    new_capacity__F3W= 0;
+    if ((Self__G3W->capacity__1E <= Self__G3W->count__SB)) {
+      if ((Self__G3W->capacity__1E ==  0)) {
+        Self__G3W->capacity__1E= 32;
+        Self__G3W->storage__JF=create__UQG( 32);
+      } else {
+        new_capacity__F3W=(__INTEGER)(Self__G3W->capacity__1E <<  1);
+        Self__FBX=((__CHARACTER *)Self__G3W->storage__JF);
+        old_nb_elts__GBX=Self__G3W->capacity__1E;
+        new__IBX=((__CHARACTER *)realloc_dynamic__old_size__new_size__V0K(((__POINTER )Self__FBX),((__UINTEGER_32 )old_nb_elts__GBX),((__UINTEGER_32 )new_capacity__F3W)));
+        __tmp__JBX=(__INTEGER)(new_capacity__F3W -  1);
+        Self__KBX=old_nb_elts__GBX;
+        while ((Self__KBX <= __tmp__JBX)) {
+          new__IBX[Self__KBX]='\0';
+          Self__KBX=(__INTEGER)(Self__KBX +  1);
+        };
+        Self__G3W->storage__JF=new__IBX;
+        Self__G3W->capacity__1E=new_capacity__F3W;
+      };
+    };
+    ((__CHARACTER *)Self__G3W->storage__JF)[Self__G3W->count__SB]=' ';
+    Self__G3W->count__SB=(__INTEGER)(Self__G3W->count__SB +  1);
+    __tmp__VC=((void **)((__FAST_ARRAYoSTRINGo *)seq__BB)->parent_arrayed_collection__AB.storage__05C)[ 1];
+    __tmp__YC=((void **)((__FAST_ARRAYoSTRING_CONSTANTo *)result__NH)->parent_arrayed_collection__5B.storage__HHD)[Self__TH];
+    count__EHF= 0;
+    re = pcre_compile((((__STRING_CONSTANT *)__tmp__YC)->storage__YM), PCRE_CASELESS, &re_e, &re_eo, NULL);
+    re_ex = pcre_study(re, 0, &re_e);
+    pos__DHF= 1;
+    __tmp__AXW=((__STRING *)__tmp__VC)->storage__JF;
+    __tmp__BXW=((__STRING *)__tmp__VC)->count__SB;
+    while ((((__INTEGER )(pcre_exec(re, re_ex, (__tmp__AXW), (__tmp__BXW), (pos__DHF)-1, 0, (Result__1BB), 3))) >=  0)) {
+      pos__DHF=(__INTEGER)(Result__1BB[ 1] +  1);
+      count__EHF=(__INTEGER)(count__EHF +  1);
+    };
+    append_in__WI(count__EHF,string_tmp__OC);
+    Self__J3W=((__STRING *)string_tmp__OC);
+    new_capacity__I3W= 0;
+    if ((Self__J3W->capacity__1E <= Self__J3W->count__SB)) {
+      if ((Self__J3W->capacity__1E ==  0)) {
+        Self__J3W->capacity__1E= 32;
+        Self__J3W->storage__JF=create__UQG( 32);
+      } else {
+        new_capacity__I3W=(__INTEGER)(Self__J3W->capacity__1E <<  1);
+        Self__MBX=((__CHARACTER *)Self__J3W->storage__JF);
+        old_nb_elts__NBX=Self__J3W->capacity__1E;
+        new__PBX=((__CHARACTER *)realloc_dynamic__old_size__new_size__V0K(((__POINTER )Self__MBX),((__UINTEGER_32 )old_nb_elts__NBX),((__UINTEGER_32 )new_capacity__I3W)));
+        __tmp__QBX=(__INTEGER)(new_capacity__I3W -  1);
+        Self__RBX=old_nb_elts__NBX;
+        while ((Self__RBX <= __tmp__QBX)) {
+          new__PBX[Self__RBX]='\0';
+          Self__RBX=(__INTEGER)(Self__RBX +  1);
+        };
+        Self__J3W->storage__JF=new__PBX;
+        Self__J3W->capacity__1E=new_capacity__I3W;
+      };
+    };
+    ((__CHARACTER *)Self__J3W->storage__JF)[Self__J3W->count__SB]='\n';
+    Self__J3W->count__SB=(__INTEGER)(Self__J3W->count__SB +  1);
+    Self__TH=(__INTEGER)(Self__TH +  1);
+  };
+  flip__FB= 1;
+  Self__GI= 0;
+  limit_up__HI=((__FAST_ARRAYoSTRING_CONSTANTo *)result__BI)->parent_arrayed_collection__5B.upper__GC;
+  while ((Self__GI <= limit_up__HI)) {
+    slen__EB=fb_subst__YF(((void **)((__FAST_ARRAYoSTRINGo *)seq__BB)->parent_arrayed_collection__AB.storage__05C)[(__INTEGER)( 1 - flip__FB)],((void **)((__FAST_ARRAYoSTRINGo *)seq__BB)->parent_arrayed_collection__AB.storage__05C)[flip__FB],((void **)((__FAST_ARRAYoSTRING_CONSTANTo *)result__BI)->parent_arrayed_collection__5B.storage__HHD)[Self__GI],((void **)((__FAST_ARRAYoSTRING_CONSTANTo *)result__BI)->parent_arrayed_collection__5B.storage__HHD)[(__INTEGER)(Self__GI +  1)]);
+    flip__FB=(__INTEGER)( 1 - flip__FB);
+    Self__GI=(__INTEGER)(Self__GI +  2);
+  };
+  Self__M3W=((__STRING *)string_tmp__OC);
+  new_capacity__L3W= 0;
+  if ((Self__M3W->capacity__1E <= Self__M3W->count__SB)) {
+    if ((Self__M3W->capacity__1E ==  0)) {
+      Self__M3W->capacity__1E= 32;
+      Self__M3W->storage__JF=create__UQG( 32);
+    } else {
+      new_capacity__L3W=(__INTEGER)(Self__M3W->capacity__1E <<  1);
+      Self__TBX=((__CHARACTER *)Self__M3W->storage__JF);
+      old_nb_elts__UBX=Self__M3W->capacity__1E;
+      new__WBX=((__CHARACTER *)realloc_dynamic__old_size__new_size__V0K(((__POINTER )Self__TBX),((__UINTEGER_32 )old_nb_elts__UBX),((__UINTEGER_32 )new_capacity__L3W)));
+      __tmp__XBX=(__INTEGER)(new_capacity__L3W -  1);
+      Self__YBX=old_nb_elts__UBX;
+      while ((Self__YBX <= __tmp__XBX)) {
+        new__WBX[Self__YBX]='\0';
+        Self__YBX=(__INTEGER)(Self__YBX +  1);
+      };
+      Self__M3W->storage__JF=new__WBX;
+      Self__M3W->capacity__1E=new_capacity__L3W;
+    };
+  };
+  ((__CHARACTER *)Self__M3W->storage__JF)[Self__M3W->count__SB]='\n';
+  Self__M3W->count__SB=(__INTEGER)(Self__M3W->count__SB +  1);
+  append_in__WI(ilen__CB,string_tmp__OC);
+  Self__P3W=((__STRING *)string_tmp__OC);
+  new_capacity__O3W= 0;
+  if ((Self__P3W->capacity__1E <= Self__P3W->count__SB)) {
+    if ((Self__P3W->capacity__1E ==  0)) {
+      Self__P3W->capacity__1E= 32;
+      Self__P3W->storage__JF=create__UQG( 32);
+    } else {
+      new_capacity__O3W=(__INTEGER)(Self__P3W->capacity__1E <<  1);
+      Self__0BX=((__CHARACTER *)Self__P3W->storage__JF);
+      old_nb_elts__1BX=Self__P3W->capacity__1E;
+      new__3BX=((__CHARACTER *)realloc_dynamic__old_size__new_size__V0K(((__POINTER )Self__0BX),((__UINTEGER_32 )old_nb_elts__1BX),((__UINTEGER_32 )new_capacity__O3W)));
+      __tmp__4BX=(__INTEGER)(new_capacity__O3W -  1);
+      Self__5BX=old_nb_elts__1BX;
+      while ((Self__5BX <= __tmp__4BX)) {
+        new__3BX[Self__5BX]='\0';
+        Self__5BX=(__INTEGER)(Self__5BX +  1);
+      };
+      Self__P3W->storage__JF=new__3BX;
+      Self__P3W->capacity__1E=new_capacity__O3W;
+    };
+  };
+  ((__CHARACTER *)Self__P3W->storage__JF)[Self__P3W->count__SB]='\n';
+  Self__P3W->count__SB=(__INTEGER)(Self__P3W->count__SB +  1);
+  append_in__WI(clen__DB,string_tmp__OC);
+  Self__S3W=((__STRING *)string_tmp__OC);
+  new_capacity__R3W= 0;
+  if ((Self__S3W->capacity__1E <= Self__S3W->count__SB)) {
+    if ((Self__S3W->capacity__1E ==  0)) {
+      Self__S3W->capacity__1E= 32;
+      Self__S3W->storage__JF=create__UQG( 32);
+    } else {
+      new_capacity__R3W=(__INTEGER)(Self__S3W->capacity__1E <<  1);
+      Self__BCX=((__CHARACTER *)Self__S3W->storage__JF);
+      old_nb_elts__CCX=Self__S3W->capacity__1E;
+      new__ECX=((__CHARACTER *)realloc_dynamic__old_size__new_size__V0K(((__POINTER )Self__BCX),((__UINTEGER_32 )old_nb_elts__CCX),((__UINTEGER_32 )new_capacity__R3W)));
+      __tmp__FCX=(__INTEGER)(new_capacity__R3W -  1);
+      Self__GCX=old_nb_elts__CCX;
+      while ((Self__GCX <= __tmp__FCX)) {
+        new__ECX[Self__GCX]='\0';
+        Self__GCX=(__INTEGER)(Self__GCX +  1);
+      };
+      Self__S3W->storage__JF=new__ECX;
+      Self__S3W->capacity__1E=new_capacity__R3W;
+    };
+  };
+  ((__CHARACTER *)Self__S3W->storage__JF)[Self__S3W->count__SB]='\n';
+  Self__S3W->count__SB=(__INTEGER)(Self__S3W->count__SB +  1);
+  append_in__WI(slen__EB,string_tmp__OC);
+  Self__1DD=((__STRING *)string_tmp__OC);
+  if ((Self__1DD->capacity__1E > Self__1DD->count__SB)) {
+    ((__CHARACTER *)Self__1DD->storage__JF)[Self__1DD->count__SB]='\0';
+  } else {
+    new_capacity__U3W= 0;
+    if ((Self__1DD->capacity__1E <= Self__1DD->count__SB)) {
+      if ((Self__1DD->capacity__1E ==  0)) {
+        Self__1DD->capacity__1E= 32;
+        Self__1DD->storage__JF=create__UQG( 32);
+      } else {
+        new_capacity__U3W=(__INTEGER)(Self__1DD->capacity__1E <<  1);
+        Self__H4J=((__CHARACTER *)Self__1DD->storage__JF);
+        old_nb_elts__I4J=Self__1DD->capacity__1E;
+        new__54J=((__CHARACTER *)realloc_dynamic__old_size__new_size__V0K(((__POINTER )Self__H4J),((__UINTEGER_32 )old_nb_elts__I4J),((__UINTEGER_32 )new_capacity__U3W)));
+        __tmp__S5J=(__INTEGER)(new_capacity__U3W -  1);
+        Self__AUP=old_nb_elts__I4J;
+        while ((Self__AUP <= __tmp__S5J)) {
+          new__54J[Self__AUP]='\0';
+          Self__AUP=(__INTEGER)(Self__AUP +  1);
+        };
+        Self__1DD->storage__JF=new__54J;
+        Self__1DD->capacity__1E=new_capacity__U3W;
+      };
+    };
+    ((__CHARACTER *)Self__1DD->storage__JF)[Self__1DD->count__SB]='\0';
+    Self__1DD->count__SB=(__INTEGER)(Self__1DD->count__SB +  1);
+    Self__1DD->count__SB=(__INTEGER)(Self__1DD->count__SB -  1);
+  };
+  puts((((__CHARACTER *)Self__1DD->storage__JF)));
+  return( 0);
+}
+
+static __POINTER new_lab__GFC(__UINTEGER_32 t__IFC)
+// ({UINTEGER_32}) With resultNo recursive, No inlinable.
+{
+  __UINTEGER_32 idx__KFC,pv__RFC;
+  __MEMORY *blc__NFC,*prev__OFC,*Self__DKV,*Self__WVW,*prev__XVW;
+  __MEMORY *next__YVW;
+  __POINTER result__PFC;
+  __BOOLEAN __tmp__RGC;
+  idx__KFC= 0;
+  blc__NFC=NULL;
+  prev__OFC=NULL;
+  pv__RFC= 0;
+  while_do__2NC:
+  {
+    if ((idx__KFC < nb_page__YFC)) {
+      blc__NFC=((__MEMORY *)(last_block[(idx__KFC)]));
+      __tmp__RGC=(((__UINTEGER_32)(((__MEMORY *)blc__NFC)->size_and_id__EK &  4294967292LU) <  4096) || ((__UINTEGER_32)(((__MEMORY *)blc__NFC)->size_and_id__EK &  1) ==  1));
+    } else {
+      __tmp__RGC=FALSE__;
+    };
+    if (__tmp__RGC) {
+      idx__KFC=(__UINTEGER_32)(idx__KFC +  1);
+      goto while_do__2NC;
+    };
+  };
+  if ((idx__KFC >= nb_page__YFC)) {
+    blc__NFC=new_page__L4E();
+  };
+  ((__MEMORY *)blc__NFC)->size_and_id__EK=(__UINTEGER_32)(blc__NFC->size_and_id__EK -  4096);
+  Self__DKV=((__MEMORY *)blc__NFC);
+  result__PFC=((__POINTER )((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__DKV) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__DKV->size_and_id__EK &  4294967292LU))))));
+  if (((__UINTEGER_32)(((__MEMORY *)blc__NFC)->size_and_id__EK &  4294967292LU) < ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+    Self__WVW=((__MEMORY *)blc__NFC);
+    prev__XVW=Self__WVW->previous_free__GK;
+    next__YVW=Self__WVW->next_free__FK;
+    if (((void *)prev__XVW == (void *)NULL)) {
+      first_free__22E=next__YVW;
+    } else {
+      ((__MEMORY *)prev__XVW)->next_free__FK=next__YVW;
+    };
+    if (((void *)next__YVW != (void *)NULL)) {
+      ((__MEMORY *)next__YVW)->previous_free__GK=prev__XVW;
+    };
+    pv__RFC=blc__NFC->previous_linear__DK;
+    if ((pv__RFC !=  4294967295LU)) {
+      prev__OFC=((__MEMORY *)(void *)((unsigned long)begin_memory__5SB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )pv__RFC))));
+      ((__MEMORY *)prev__OFC)->size_and_id__EK=(__UINTEGER_32)((__UINTEGER_32)(prev__OFC->size_and_id__EK + blc__NFC->size_and_id__EK) +  8);
+      last_block[(idx__KFC)] = (prev__OFC);
+    };
+  };
+  ((__POINTER *)result__PFC)[ 0]=((__POINTER )t__IFC);
+  return((void *)((unsigned long)result__PFC - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *)))))));
+}
+
+static __MEMORY* search__Z1E(__UINTEGER_32 new_size__11E)
+// ({UINTEGER_32}) With resultNo recursive, No inlinable.
+{
+  __MEMORY *result__31E,*Self__JCX,*new__ICX,*prev__KCX,*next__LCX;
+  __MEMORY *Self__PCX,*Self__RCX;
+  __UINTEGER_32 idx__QCX,siz__MCX,new_size__OCX;
+  result__31E=first_free__22E;
+  while ((((void *)result__31E != (void *)NULL) && ((__UINTEGER_32)(((__MEMORY *)result__31E)->size_and_id__EK &  4294967292LU) < new_size__11E))) {
+    result__31E=result__31E->next_free__FK;
+  };
+  if (((void *)result__31E == (void *)NULL)) {
+    result__31E=new_page__L4E();
+  };
+  Self__JCX=((__MEMORY *)result__31E);
+  idx__QCX=(__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )((__MEMORY *)result__31E)) - (unsigned long)begin_memory__5SB)))) >>  26);
+  new__ICX=NULL;
+  prev__KCX=Self__JCX->previous_free__GK;
+  next__LCX=Self__JCX->next_free__FK;
+  if (((void *)prev__KCX == (void *)NULL)) {
+    first_free__22E=next__LCX;
+  } else {
+    ((__MEMORY *)prev__KCX)->next_free__FK=next__LCX;
+  };
+  if (((void *)next__LCX != (void *)NULL)) {
+    ((__MEMORY *)next__LCX)->previous_free__GK=prev__KCX;
+  };
+  siz__MCX=Self__JCX->size_and_id__EK;
+  new_size__OCX=(__UINTEGER_32)(siz__MCX - new_size__11E);
+  if ((new_size__OCX > (__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )(MINIMUM_SIZE)) +  2) +  8))) {
+    siz__MCX=new_size__11E;
+    new__ICX=((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__JCX) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__11E))));
+    ((__MEMORY *)new__ICX)->previous_linear__DK=((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )Self__JCX) - (unsigned long)begin_memory__5SB))));
+    ((__MEMORY *)new__ICX)->size_and_id__EK=(__UINTEGER_32)(new_size__OCX -  8);
+    Self__PCX=((__MEMORY *)new__ICX);
+    Self__PCX->next_free__FK=first_free__22E;
+    Self__PCX->previous_free__GK=NULL;
+    if (((void *)first_free__22E != (void *)NULL)) {
+      ((__MEMORY *)first_free__22E)->previous_free__GK=Self__PCX;
+    };
+    first_free__22E=Self__PCX;
+    if (((__UINTEGER_32)(((__MEMORY *)new__ICX)->size_and_id__EK &  2) !=  0)) {
+      last_block[(idx__QCX)] = (new__ICX);
+    } else {
+      Self__RCX=((__MEMORY *)new__ICX);
+      ((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__RCX) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__RCX->size_and_id__EK &  4294967292LU)))))->previous_linear__DK=((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )((__MEMORY *)new__ICX)) - (unsigned long)begin_memory__5SB))));
+    };
+  };
+  Self__JCX->size_and_id__EK=(__UINTEGER_32)(siz__MCX |  1);
+  return(result__31E);
+}
+
+static __FAST_ARRAYoSTRING_CONSTANTo* create_with_capacity__VN(__INTEGER new_count__XN)
+// ({INTEGER}) With resultNo recursive, No inlinable.
+{
+  __POINTER ptr__AU,ptr_table__Y3W,next__X3W,result__Z3W,ptr_table__33W;
+  __POINTER next__23W,result__43W;
+  __INTEGER typ_id__FU;
+  __UINTEGER_32 sz__CU,a__VXW,new_size__WXW,t__A2W,a__51W,new_size__A4W;
+  __UINTEGER_32 lab_type__53W;
+  __FAST_ARRAYoSTRING_CONSTANTo *result__5T,*Self__5JD;
+  result__5T=NULL;
+  ptr__AU=((__POINTER )(NULL));
+  typ_id__FU= 0;
+  sz__CU=((__UINTEGER_32 )sizeof(__FAST_ARRAYoSTRING_CONSTANTo));
+  if ((sz__CU ==  0)) {
+    result__5T=FAST_ARRAYoSTRING_CONSTANTo__;
+  } else {
+    typ_id__FU=__FAST_ARRAYoSTRING_CONSTANTo__;
+    clone_allocation_size__ZJ=(__UINTEGER_32)(clone_allocation_size__ZJ + sz__CU);
+    if ((typ_id__FU == (__INTEGER)(-  1))) {
+      a__VXW=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__WXW=(__UINTEGER_32)((__UINTEGER_32)(sz__CU + a__VXW) & (__UINTEGER_32)(~ a__VXW));
+      ptr_table__Y3W=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__WXW / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+      next__X3W=((__POINTER )(NULL));
+      result__Z3W=((__POINTER *)ptr_table__Y3W)[ 0];
+      if ((result__Z3W == (void *)NULL)) {
+        result__Z3W=new_lab__GFC(new_size__WXW);
+        next__X3W=(void *)((unsigned long)result__Z3W - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__WXW)));
+        ((__POINTER *)next__X3W)[ 0]=NULL;
+        ((__POINTER *)ptr_table__Y3W)[ 0]=next__X3W;
+      } else {
+        next__X3W=((__POINTER *)result__Z3W)[ 0];
+        if ((next__X3W == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__Z3W - (unsigned long)begin_memory__5SB)))) &  4095) + (__UINTEGER_32)(new_size__WXW <<  1)) <=  4096)) {
+            next__X3W=(void *)((unsigned long)result__Z3W - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__WXW)));
+          } else {
+            next__X3W=new_lab__GFC(new_size__WXW);
+          };
+          ((__POINTER *)next__X3W)[ 0]=NULL;
+          ((__POINTER *)ptr_table__Y3W)[ 0]=next__X3W;
+        } else {
+          ((__POINTER *)result__Z3W)[ 0]=(void *)((unsigned long)((__POINTER *)next__X3W)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__Z3W=next__X3W;
+        };
+      };
+      ptr__AU=result__Z3W;
+    } else {
+      t__A2W=((__UINTEGER_32 )typ_id__FU);
+      a__51W=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__A4W=(__UINTEGER_32)((__UINTEGER_32)(sz__CU + a__51W) & (__UINTEGER_32)(~ a__51W));
+      ptr_table__33W=((__POINTER )(&(table_type[(t__A2W)])));
+      lab_type__53W=(__UINTEGER_32)(t__A2W |  1);
+      next__23W=((__POINTER )(NULL));
+      result__43W=((__POINTER *)ptr_table__33W)[ 0];
+      if ((result__43W == (void *)NULL)) {
+        result__43W=new_lab__GFC(lab_type__53W);
+        next__23W=(void *)((unsigned long)result__43W - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__A4W)));
+        ((__POINTER *)next__23W)[ 0]=NULL;
+        ((__POINTER *)ptr_table__33W)[ 0]=next__23W;
+      } else {
+        next__23W=((__POINTER *)result__43W)[ 0];
+        if ((next__23W == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__43W - (unsigned long)begin_memory__5SB)))) &  4095) + (__UINTEGER_32)(new_size__A4W <<  1)) <=  4096)) {
+            next__23W=(void *)((unsigned long)result__43W - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__A4W)));
+          } else {
+            next__23W=new_lab__GFC(lab_type__53W);
+          };
+          ((__POINTER *)next__23W)[ 0]=NULL;
+          ((__POINTER *)ptr_table__33W)[ 0]=next__23W;
+        } else {
+          ((__POINTER *)result__43W)[ 0]=(void *)((unsigned long)((__POINTER *)next__23W)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__43W=next__23W;
+        };
+      };
+      ptr__AU=result__43W;
+    };
+    result__5T=((__FAST_ARRAYoSTRING_CONSTANTo *)ptr__AU);
+    *(result__5T) = *(FAST_ARRAYoSTRING_CONSTANTo__);
+  };
+  Self__5JD=((__FAST_ARRAYoSTRING_CONSTANTo *)result__5T);
+  if ((Self__5JD->parent_arrayed_collection__5B.capacity__LGD < new_count__XN)) {
+    Self__5JD->parent_arrayed_collection__5B.storage__HHD=create__RRG(new_count__XN);
+    Self__5JD->parent_arrayed_collection__5B.capacity__LGD=new_count__XN;
+  };
+  Self__5JD->parent_arrayed_collection__5B.upper__GC=(__INTEGER)(-  1);
+  return(result__5T);
+}
+
+static void add_last__GGD(__FAST_ARRAYoSTRING_CONSTANTo *Self__HGD,void *element__IGD)
+// ({FAST_ARRAYoSTRING_CONSTANTo},{STRING_CONSTANT}) VoidNo recursive, No inlinable.
+{
+  __INTEGER new_capacity__JGD,__tmp__RHD,__tmp__FBK,Self__5VP;
+  __BOOLEAN __tmp__YGD;
+  void **__tmp__QHD,**new__SAK;
+  new_capacity__JGD= 0;
+  if (((__INTEGER)(Self__HGD->parent_arrayed_collection__5B.upper__GC +  1) <= (__INTEGER)(Self__HGD->parent_arrayed_collection__5B.capacity__LGD -  1))) {
+    Self__HGD->parent_arrayed_collection__5B.upper__GC=(__INTEGER)(Self__HGD->parent_arrayed_collection__5B.upper__GC +  1);
+    __tmp__YGD=TRUE__;
+  } else {
+    __tmp__YGD=FALSE__;
+  };
+  if ((! __tmp__YGD)) {
+    if ((Self__HGD->parent_arrayed_collection__5B.capacity__LGD ==  0)) {
+      Self__HGD->parent_arrayed_collection__5B.storage__HHD=create__RRG( 2);
+      Self__HGD->parent_arrayed_collection__5B.capacity__LGD= 2;
+      Self__HGD->parent_arrayed_collection__5B.upper__GC= 0;
+    } else {
+      new_capacity__JGD=(__INTEGER)(Self__HGD->parent_arrayed_collection__5B.capacity__LGD <<  1);
+      __tmp__QHD=Self__HGD->parent_arrayed_collection__5B.storage__HHD;
+      __tmp__RHD=Self__HGD->parent_arrayed_collection__5B.capacity__LGD;
+      new__SAK=((void **)realloc_dynamic__old_size__new_size__V0K(((__POINTER )((void **)__tmp__QHD)),((__UINTEGER_32 )(__INTEGER)(__tmp__RHD * ((__INTEGER )(sizeof(void *))))),((__UINTEGER_32 )(__INTEGER)(new_capacity__JGD * ((__INTEGER )(sizeof(void *)))))));
+      __tmp__FBK=(__INTEGER)(new_capacity__JGD -  1);
+      Self__5VP=__tmp__RHD;
+      while ((Self__5VP <= __tmp__FBK)) {
+        new__SAK[Self__5VP]=NULL;
+        Self__5VP=(__INTEGER)(Self__5VP +  1);
+      };
+      Self__HGD->parent_arrayed_collection__5B.storage__HHD=new__SAK;
+      Self__HGD->parent_arrayed_collection__5B.capacity__LGD=new_capacity__JGD;
+      Self__HGD->parent_arrayed_collection__5B.upper__GC=(__INTEGER)(Self__HGD->parent_arrayed_collection__5B.upper__GC +  1);
+    };
+  };
+  ((void **)Self__HGD->parent_arrayed_collection__5B.storage__HHD)[Self__HGD->parent_arrayed_collection__5B.upper__GC]=element__IGD;
+}
+
+static __STRING* create__LE(__INTEGER needed_capacity__NE)
+// ({INTEGER}) With resultNo recursive, No inlinable.
+{
+  __STRING *result__AL,*Self__LFD;
+  __POINTER ptr__BL,ptr_table__C4W,next__B4W,result__D4W,ptr_table__H4W;
+  __POINTER next__G4W,result__I4W;
+  __INTEGER typ_id__GL;
+  __UINTEGER_32 sz__DL,a__ZXW,new_size__0XW,t__TGB,a__3XW,new_size__K4W;
+  __UINTEGER_32 lab_type__J4W;
+  result__AL=NULL;
+  ptr__BL=((__POINTER )(NULL));
+  typ_id__GL= 0;
+  sz__DL=((__UINTEGER_32 )sizeof(__STRING));
+  if ((sz__DL ==  0)) {
+    result__AL=STRING__;
+  } else {
+    typ_id__GL=__STRING__;
+    clone_allocation_size__ZJ=(__UINTEGER_32)(clone_allocation_size__ZJ + sz__DL);
+    if ((typ_id__GL == (__INTEGER)(-  1))) {
+      a__ZXW=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__0XW=(__UINTEGER_32)((__UINTEGER_32)(sz__DL + a__ZXW) & (__UINTEGER_32)(~ a__ZXW));
+      ptr_table__C4W=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__0XW / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+      next__B4W=((__POINTER )(NULL));
+      result__D4W=((__POINTER *)ptr_table__C4W)[ 0];
+      if ((result__D4W == (void *)NULL)) {
+        result__D4W=new_lab__GFC(new_size__0XW);
+        next__B4W=(void *)((unsigned long)result__D4W - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__0XW)));
+        ((__POINTER *)next__B4W)[ 0]=NULL;
+        ((__POINTER *)ptr_table__C4W)[ 0]=next__B4W;
+      } else {
+        next__B4W=((__POINTER *)result__D4W)[ 0];
+        if ((next__B4W == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__D4W - (unsigned long)begin_memory__5SB)))) &  4095) + (__UINTEGER_32)(new_size__0XW <<  1)) <=  4096)) {
+            next__B4W=(void *)((unsigned long)result__D4W - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__0XW)));
+          } else {
+            next__B4W=new_lab__GFC(new_size__0XW);
+          };
+          ((__POINTER *)next__B4W)[ 0]=NULL;
+          ((__POINTER *)ptr_table__C4W)[ 0]=next__B4W;
+        } else {
+          ((__POINTER *)result__D4W)[ 0]=(void *)((unsigned long)((__POINTER *)next__B4W)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__D4W=next__B4W;
+        };
+      };
+      ptr__BL=result__D4W;
+    } else {
+      t__TGB=((__UINTEGER_32 )typ_id__GL);
+      a__3XW=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__K4W=(__UINTEGER_32)((__UINTEGER_32)(sz__DL + a__3XW) & (__UINTEGER_32)(~ a__3XW));
+      ptr_table__H4W=((__POINTER )(&(table_type[(t__TGB)])));
+      lab_type__J4W=(__UINTEGER_32)(t__TGB |  1);
+      next__G4W=((__POINTER )(NULL));
+      result__I4W=((__POINTER *)ptr_table__H4W)[ 0];
+      if ((result__I4W == (void *)NULL)) {
+        result__I4W=new_lab__GFC(lab_type__J4W);
+        next__G4W=(void *)((unsigned long)result__I4W - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__K4W)));
+        ((__POINTER *)next__G4W)[ 0]=NULL;
+        ((__POINTER *)ptr_table__H4W)[ 0]=next__G4W;
+      } else {
+        next__G4W=((__POINTER *)result__I4W)[ 0];
+        if ((next__G4W == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__I4W - (unsigned long)begin_memory__5SB)))) &  4095) + (__UINTEGER_32)(new_size__K4W <<  1)) <=  4096)) {
+            next__G4W=(void *)((unsigned long)result__I4W - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__K4W)));
+          } else {
+            next__G4W=new_lab__GFC(lab_type__J4W);
+          };
+          ((__POINTER *)next__G4W)[ 0]=NULL;
+          ((__POINTER *)ptr_table__H4W)[ 0]=next__G4W;
+        } else {
+          ((__POINTER *)result__I4W)[ 0]=(void *)((unsigned long)((__POINTER *)next__G4W)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__I4W=next__G4W;
+        };
+      };
+      ptr__BL=result__I4W;
+    };
+    result__AL=((__STRING *)ptr__BL);
+    *(result__AL) = *(STRING__);
+  };
+  Self__LFD=((__STRING *)result__AL);
+  if ((needed_capacity__NE >  0)) {
+    if ((Self__LFD->capacity__1E < needed_capacity__NE)) {
+      Self__LFD->storage__JF=create__UQG(needed_capacity__NE);
+      Self__LFD->capacity__1E=needed_capacity__NE;
+    };
+  };
+  Self__LFD->count__SB= 0;
+  return(result__AL);
+}
+
+static void** create__KOG()
+// () With resultNo recursive, No inlinable.
+{
+  __UINTEGER_32 sz__VTW,a__BYW,new_size__WTW,new_size2__XTW,a__FYW;
+  __UINTEGER_32 new_size__GYW;
+  __POINTER result__UTW,ptr_table__M4W,next__L4W,result__N4W;
+  __INTEGER Self__5EL;
+  void **Result__THH;
+  sz__VTW=((__UINTEGER_32 )(__INTEGER)(((__INTEGER )(sizeof(void *))) <<  1));
+  result__UTW=((__POINTER )(NULL));
+  a__BYW=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+  new_size__WTW=(__UINTEGER_32)((__UINTEGER_32)(sz__VTW + a__BYW) & (__UINTEGER_32)(~ a__BYW));
+  new_size2__XTW=(__UINTEGER_32)(new_size__WTW + ((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))));
+  if ((new_size2__XTW <= ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+    a__FYW=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+    new_size__GYW=(__UINTEGER_32)((__UINTEGER_32)(new_size2__XTW + a__FYW) & (__UINTEGER_32)(~ a__FYW));
+    ptr_table__M4W=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__GYW / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+    next__L4W=((__POINTER )(NULL));
+    result__N4W=((__POINTER *)ptr_table__M4W)[ 0];
+    if ((result__N4W == (void *)NULL)) {
+      result__N4W=new_lab__GFC(new_size__GYW);
+      next__L4W=(void *)((unsigned long)result__N4W - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__GYW)));
+      ((__POINTER *)next__L4W)[ 0]=NULL;
+      ((__POINTER *)ptr_table__M4W)[ 0]=next__L4W;
+    } else {
+      next__L4W=((__POINTER *)result__N4W)[ 0];
+      if ((next__L4W == (void *)NULL)) {
+        if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__N4W - (unsigned long)begin_memory__5SB)))) &  4095) + (__UINTEGER_32)(new_size__GYW <<  1)) <=  4096)) {
+          next__L4W=(void *)((unsigned long)result__N4W - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__GYW)));
+        } else {
+          next__L4W=new_lab__GFC(new_size__GYW);
+        };
+        ((__POINTER *)next__L4W)[ 0]=NULL;
+        ((__POINTER *)ptr_table__M4W)[ 0]=next__L4W;
+      } else {
+        ((__POINTER *)result__N4W)[ 0]=(void *)((unsigned long)((__POINTER *)next__L4W)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+        result__N4W=next__L4W;
+      };
+    };
+    ((__POINTER *)result__N4W)[ 0]=((__POINTER ) 3);
+    result__UTW=(void *)((unsigned long)result__N4W - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+  } else {
+    result__UTW=(void *)((unsigned long)((__POINTER )((__MEMORY *)search__Z1E(new_size__WTW))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+  };
+  Result__THH=((void **)result__UTW);
+  Self__5EL= 1;
+  while ((Self__5EL >=  0)) {
+    Result__THH[Self__5EL]=NULL;
+    Self__5EL=(__INTEGER)(Self__5EL -  1);
+  };
+  return(Result__THH);
+}
+
+static void add_last__Y4C(__FAST_ARRAYoSTRINGo *Self__Z4C,void *element__04C)
+// ({FAST_ARRAYoSTRINGo},{NULLxSTRING}) VoidNo recursive, No inlinable.
+{
+  __INTEGER new_capacity__14C,__tmp__EAD,__tmp__53J,Self__BSP;
+  __BOOLEAN __tmp__L5C;
+  void **__tmp__DAD,**new__M3J;
+  new_capacity__14C= 0;
+  if (((__INTEGER)(Self__Z4C->parent_arrayed_collection__AB.upper__24C +  1) <= (__INTEGER)(Self__Z4C->parent_arrayed_collection__AB.capacity__44C -  1))) {
+    Self__Z4C->parent_arrayed_collection__AB.upper__24C=(__INTEGER)(Self__Z4C->parent_arrayed_collection__AB.upper__24C +  1);
+    __tmp__L5C=TRUE__;
+  } else {
+    __tmp__L5C=FALSE__;
+  };
+  if ((! __tmp__L5C)) {
+    if ((Self__Z4C->parent_arrayed_collection__AB.capacity__44C ==  0)) {
+      Self__Z4C->parent_arrayed_collection__AB.storage__05C=create__KOG();
+      Self__Z4C->parent_arrayed_collection__AB.capacity__44C= 2;
+      Self__Z4C->parent_arrayed_collection__AB.upper__24C= 0;
+    } else {
+      new_capacity__14C=(__INTEGER)(Self__Z4C->parent_arrayed_collection__AB.capacity__44C <<  1);
+      __tmp__DAD=Self__Z4C->parent_arrayed_collection__AB.storage__05C;
+      __tmp__EAD=Self__Z4C->parent_arrayed_collection__AB.capacity__44C;
+      new__M3J=((void **)realloc_dynamic__old_size__new_size__V0K(((__POINTER )((void **)__tmp__DAD)),((__UINTEGER_32 )(__INTEGER)(__tmp__EAD * ((__INTEGER )(sizeof(void *))))),((__UINTEGER_32 )(__INTEGER)(new_capacity__14C * ((__INTEGER )(sizeof(void *)))))));
+      __tmp__53J=(__INTEGER)(new_capacity__14C -  1);
+      Self__BSP=__tmp__EAD;
+      while ((Self__BSP <= __tmp__53J)) {
+        new__M3J[Self__BSP]=NULL;
+        Self__BSP=(__INTEGER)(Self__BSP +  1);
+      };
+      Self__Z4C->parent_arrayed_collection__AB.storage__05C=new__M3J;
+      Self__Z4C->parent_arrayed_collection__AB.capacity__44C=new_capacity__14C;
+      Self__Z4C->parent_arrayed_collection__AB.upper__24C=(__INTEGER)(Self__Z4C->parent_arrayed_collection__AB.upper__24C +  1);
+    };
+  };
+  ((void **)Self__Z4C->parent_arrayed_collection__AB.storage__05C)[Self__Z4C->parent_arrayed_collection__AB.upper__24C]=element__04C;
+}
+
+static __CHARACTER* create__UQG(__INTEGER nb_elements__WQG)
+// ({INTEGER}) With resultNo recursive, No inlinable.
+{
+  __UINTEGER_32 sz__ZTW,a__CPB,new_size__0TW,new_size2__1TW,a__MYW;
+  __UINTEGER_32 new_size__NYW;
+  __POINTER result__YTW,ptr_table__R4W,next__Q4W,result__S4W;
+  __INTEGER Self__GGL;
+  __CHARACTER *Result__ALH;
+  sz__ZTW=((__UINTEGER_32 )nb_elements__WQG);
+  result__YTW=((__POINTER )(NULL));
+  a__CPB=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+  new_size__0TW=(__UINTEGER_32)((__UINTEGER_32)(sz__ZTW + a__CPB) & (__UINTEGER_32)(~ a__CPB));
+  new_size2__1TW=(__UINTEGER_32)(new_size__0TW + ((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))));
+  if ((new_size2__1TW <= ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+    a__MYW=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+    new_size__NYW=(__UINTEGER_32)((__UINTEGER_32)(new_size2__1TW + a__MYW) & (__UINTEGER_32)(~ a__MYW));
+    ptr_table__R4W=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__NYW / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+    next__Q4W=((__POINTER )(NULL));
+    result__S4W=((__POINTER *)ptr_table__R4W)[ 0];
+    if ((result__S4W == (void *)NULL)) {
+      result__S4W=new_lab__GFC(new_size__NYW);
+      next__Q4W=(void *)((unsigned long)result__S4W - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__NYW)));
+      ((__POINTER *)next__Q4W)[ 0]=NULL;
+      ((__POINTER *)ptr_table__R4W)[ 0]=next__Q4W;
+    } else {
+      next__Q4W=((__POINTER *)result__S4W)[ 0];
+      if ((next__Q4W == (void *)NULL)) {
+        if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__S4W - (unsigned long)begin_memory__5SB)))) &  4095) + (__UINTEGER_32)(new_size__NYW <<  1)) <=  4096)) {
+          next__Q4W=(void *)((unsigned long)result__S4W - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__NYW)));
+        } else {
+          next__Q4W=new_lab__GFC(new_size__NYW);
+        };
+        ((__POINTER *)next__Q4W)[ 0]=NULL;
+        ((__POINTER *)ptr_table__R4W)[ 0]=next__Q4W;
+      } else {
+        ((__POINTER *)result__S4W)[ 0]=(void *)((unsigned long)((__POINTER *)next__Q4W)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+        result__S4W=next__Q4W;
+      };
+    };
+    ((__POINTER *)result__S4W)[ 0]=((__POINTER ) 3);
+    result__YTW=(void *)((unsigned long)result__S4W - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+  } else {
+    result__YTW=(void *)((unsigned long)((__POINTER )((__MEMORY *)search__Z1E(new_size__0TW))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+  };
+  Result__ALH=((__CHARACTER *)result__YTW);
+  Self__GGL=(__INTEGER)(nb_elements__WQG -  1);
+  while ((Self__GGL >=  0)) {
+    Result__ALH[Self__GGL]='\0';
+    Self__GGL=(__INTEGER)(Self__GGL -  1);
+  };
+  return(Result__ALH);
+}
+
+static __POINTER realloc_dynamic__old_size__new_size__V0K(__POINTER p__X0K,__UINTEGER_32 old_sz__Y0K,__UINTEGER_32 new_sz__Z0K)
+// ({POINTER},{UINTEGER_32},{UINTEGER_32}) With resultNo recursive, No inlinable.
+{
+  __MEMORY *mem__E1K,*Self__X2N,*nxt__12N,*result__22N,*Self__PWJ;
+  __MEMORY *new__YWJ,*prev__K0W,*next__L0W,*Self__UZJ,*Self__LQJ;
+  __MEMORY *next__UXO,*new_free__TXO,*prev__3SK,*next__4SK;
+  __POINTER result__F1K,result__FVW,ptr_table__44W,next__34W;
+  __POINTER result__54W,p__N1N,last__RKO,src__H0N,dst__I0N;
+  __UINTEGER_32 a__5UW,old_size__10K,old_size2__40K,a__DVW;
+  __UINTEGER_32 new_size__B1K,a__LVW,new_size__HVW,new_size2__IVW;
+  __UINTEGER_32 a__Y0W,new_size__Z0W,a__PVW,__tmp__W2K,sz__A3N;
+  __UINTEGER_32 old_size__32N,siz__SWJ,new_size__VWJ,prev__VXO;
+  __UINTEGER_32 new_size__YXO;
+  __INTEGER siz__XAX,Self__2AX,siz__M0N,Self__EIO;
+  __POINTER *na_src__ZAX,*na_dst__1AX,*na_src__K0N,*na_dst__L0N;
+  mem__E1K=NULL;
+  result__F1K=((__POINTER )(NULL));
+  a__5UW=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+  old_size__10K=(__UINTEGER_32)((__UINTEGER_32)(old_sz__Y0K + a__5UW) & (__UINTEGER_32)(~ a__5UW));
+  old_size2__40K=(__UINTEGER_32)(old_size__10K + ((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))));
+  a__DVW=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+  new_size__B1K=(__UINTEGER_32)((__UINTEGER_32)(new_sz__Z0K + a__DVW) & (__UINTEGER_32)(~ a__DVW));
+  if ((old_size2__40K <= ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+    result__FVW=((__POINTER )(NULL));
+    a__LVW=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+    new_size__HVW=(__UINTEGER_32)((__UINTEGER_32)(new_size__B1K + a__LVW) & (__UINTEGER_32)(~ a__LVW));
+    new_size2__IVW=(__UINTEGER_32)(new_size__HVW + ((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))));
+    if ((new_size2__IVW <= ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+      a__Y0W=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__Z0W=(__UINTEGER_32)((__UINTEGER_32)(new_size2__IVW + a__Y0W) & (__UINTEGER_32)(~ a__Y0W));
+      ptr_table__44W=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__Z0W / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+      next__34W=((__POINTER )(NULL));
+      result__54W=((__POINTER *)ptr_table__44W)[ 0];
+      if ((result__54W == (void *)NULL)) {
+        result__54W=new_lab__GFC(new_size__Z0W);
+        next__34W=(void *)((unsigned long)result__54W - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__Z0W)));
+        ((__POINTER *)next__34W)[ 0]=NULL;
+        ((__POINTER *)ptr_table__44W)[ 0]=next__34W;
+      } else {
+        next__34W=((__POINTER *)result__54W)[ 0];
+        if ((next__34W == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__54W - (unsigned long)begin_memory__5SB)))) &  4095) + (__UINTEGER_32)(new_size__Z0W <<  1)) <=  4096)) {
+            next__34W=(void *)((unsigned long)result__54W - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__Z0W)));
+          } else {
+            next__34W=new_lab__GFC(new_size__Z0W);
+          };
+          ((__POINTER *)next__34W)[ 0]=NULL;
+          ((__POINTER *)ptr_table__44W)[ 0]=next__34W;
+        } else {
+          ((__POINTER *)result__54W)[ 0]=(void *)((unsigned long)((__POINTER *)next__34W)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__54W=next__34W;
+        };
+      };
+      ((__POINTER *)result__54W)[ 0]=((__POINTER ) 3);
+      result__FVW=(void *)((unsigned long)result__54W - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+    } else {
+      result__FVW=(void *)((unsigned long)((__POINTER )((__MEMORY *)search__Z1E(new_size__HVW))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+    };
+    result__F1K=result__FVW;
+    siz__XAX=((__INTEGER )old_size__10K);
+    siz__XAX=(__INTEGER)(siz__XAX / ((__INTEGER )(sizeof(void *))));
+    na_src__ZAX=((__POINTER *)p__X0K);
+    na_dst__1AX=((__POINTER *)result__FVW);
+    Self__2AX=(__INTEGER)(siz__XAX -  1);
+    while ((Self__2AX >=  0)) {
+      na_dst__1AX[Self__2AX]=na_src__ZAX[Self__2AX];
+      Self__2AX=(__INTEGER)(Self__2AX -  1);
+    };
+    p__N1N=(void *)((unsigned long)p__X0K - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *)))));
+    a__PVW=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+    last__RKO=((__POINTER *)((__POINTER )(&(table_size[((__UINTEGER_32)((__UINTEGER_32)((__UINTEGER_32)(old_size2__40K + a__PVW) & (__UINTEGER_32)(~ a__PVW)) / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1]))))[ 0];
+    ((__POINTER *)p__N1N)[ 0]=(void *)((unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)(void *)((unsigned long)(void *)((unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER *)last__RKO)[ 0]) - (unsigned long)((__POINTER ) 1)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 3)) - (unsigned long)((__POINTER ) 1)))) - (unsigned long)((__POINTER ) 1));
+    ((__POINTER *)last__RKO)[ 0]=p__N1N;
+  } else {
+    mem__E1K=((__MEMORY *)(void *)((unsigned long)p__X0K - (unsigned long)((__POINTER ) 8)));
+    __tmp__W2K=(__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)p__X0K - (unsigned long)begin_memory__5SB)))) >>  26);
+    Self__X2N=((__MEMORY *)mem__E1K);
+    nxt__12N=NULL;
+    result__22N=NULL;
+    sz__A3N= 0;
+    old_size__32N=(__UINTEGER_32)(Self__X2N->size_and_id__EK &  4294967292LU);
+    if ((new_size__B1K > old_size__32N)) {
+      if ((! ((__UINTEGER_32)(Self__X2N->size_and_id__EK &  2) !=  0))) {
+        nxt__12N=((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__X2N) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__X2N->size_and_id__EK &  4294967292LU)))));
+        sz__A3N=(__UINTEGER_32)((__UINTEGER_32)(new_size__B1K - old_size__32N) -  8);
+        if ((((__UINTEGER_32)(((__MEMORY *)nxt__12N)->size_and_id__EK &  1) ==  0) && ((__UINTEGER_32)(((__MEMORY *)nxt__12N)->size_and_id__EK &  4294967292LU) >= sz__A3N))) {
+          Self__PWJ=((__MEMORY *)nxt__12N);
+          new__YWJ=NULL;
+          prev__K0W=Self__PWJ->previous_free__GK;
+          next__L0W=Self__PWJ->next_free__FK;
+          if (((void *)prev__K0W == (void *)NULL)) {
+            first_free__22E=next__L0W;
+          } else {
+            ((__MEMORY *)prev__K0W)->next_free__FK=next__L0W;
+          };
+          if (((void *)next__L0W != (void *)NULL)) {
+            ((__MEMORY *)next__L0W)->previous_free__GK=prev__K0W;
+          };
+          siz__SWJ=Self__PWJ->size_and_id__EK;
+          new_size__VWJ=(__UINTEGER_32)(siz__SWJ - sz__A3N);
+          if ((new_size__VWJ > (__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )(MINIMUM_SIZE)) +  2) +  8))) {
+            siz__SWJ=sz__A3N;
+            new__YWJ=((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__PWJ) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )sz__A3N))));
+            ((__MEMORY *)new__YWJ)->previous_linear__DK=((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )Self__PWJ) - (unsigned long)begin_memory__5SB))));
+            ((__MEMORY *)new__YWJ)->size_and_id__EK=(__UINTEGER_32)(new_size__VWJ -  8);
+            Self__UZJ=((__MEMORY *)new__YWJ);
+            Self__UZJ->next_free__FK=first_free__22E;
+            Self__UZJ->previous_free__GK=NULL;
+            if (((void *)first_free__22E != (void *)NULL)) {
+              ((__MEMORY *)first_free__22E)->previous_free__GK=Self__UZJ;
+            };
+            first_free__22E=Self__UZJ;
+            if (((__UINTEGER_32)(((__MEMORY *)new__YWJ)->size_and_id__EK &  2) !=  0)) {
+              last_block[(__tmp__W2K)] = (new__YWJ);
+            } else {
+              Self__LQJ=((__MEMORY *)new__YWJ);
+              ((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__LQJ) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__LQJ->size_and_id__EK &  4294967292LU)))))->previous_linear__DK=((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )((__MEMORY *)new__YWJ)) - (unsigned long)begin_memory__5SB))));
+            };
+          };
+          Self__PWJ->size_and_id__EK=(__UINTEGER_32)(siz__SWJ |  1);
+          Self__X2N->size_and_id__EK=(__UINTEGER_32)((__UINTEGER_32)(Self__X2N->size_and_id__EK + (__UINTEGER_32)(nxt__12N->size_and_id__EK &  4294967294LU)) +  8);
+          if (((__UINTEGER_32)(Self__X2N->size_and_id__EK &  2) !=  0)) {
+            last_block[(__tmp__W2K)] = (Self__X2N);
+          } else {
+            nxt__12N=((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__X2N) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__X2N->size_and_id__EK &  4294967292LU)))));
+            ((__MEMORY *)nxt__12N)->previous_linear__DK=((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )Self__X2N) - (unsigned long)begin_memory__5SB))));
+          };
+          result__22N=Self__X2N;
+        };
+      };
+      if (((void *)result__22N == (void *)NULL)) {
+        result__22N=search__Z1E(new_size__B1K);
+        src__H0N=(void *)((unsigned long)((__POINTER )Self__X2N) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+        dst__I0N=(void *)((unsigned long)((__POINTER )((__MEMORY *)result__22N)) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+        siz__M0N=((__INTEGER )old_size__32N);
+        siz__M0N=(__INTEGER)(siz__M0N / ((__INTEGER )(sizeof(void *))));
+        na_src__K0N=((__POINTER *)src__H0N);
+        na_dst__L0N=((__POINTER *)dst__I0N);
+        Self__EIO=(__INTEGER)(siz__M0N -  1);
+        while ((Self__EIO >=  0)) {
+          na_dst__L0N[Self__EIO]=na_src__K0N[Self__EIO];
+          Self__EIO=(__INTEGER)(Self__EIO -  1);
+        };
+        prev__VXO=Self__X2N->previous_linear__DK;
+        next__UXO=((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__X2N) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__X2N->size_and_id__EK &  4294967292LU)))));
+        new_free__TXO=((__MEMORY *)(void *)((unsigned long)begin_memory__5SB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )prev__VXO))));
+        new_size__YXO=(__UINTEGER_32)(Self__X2N->size_and_id__EK &  4294967294LU);
+        if (((prev__VXO ==  4294967295LU) || ((__UINTEGER_32)(new_free__TXO->size_and_id__EK &  1) !=  0))) {
+          new_free__TXO=Self__X2N;
+          Self__X2N->next_free__FK=first_free__22E;
+          Self__X2N->previous_free__GK=NULL;
+          if (((void *)first_free__22E != (void *)NULL)) {
+            ((__MEMORY *)first_free__22E)->previous_free__GK=Self__X2N;
+          };
+          first_free__22E=Self__X2N;
+        } else {
+          new_size__YXO=(__UINTEGER_32)((__UINTEGER_32)(new_size__YXO + new_free__TXO->size_and_id__EK) +  8);
+        };
+        if (((! ((__UINTEGER_32)(Self__X2N->size_and_id__EK &  2) !=  0)) && ((__UINTEGER_32)(next__UXO->size_and_id__EK &  1) ==  0))) {
+          new_size__YXO=(__UINTEGER_32)((__UINTEGER_32)(new_size__YXO + next__UXO->size_and_id__EK) +  8);
+          prev__3SK=next__UXO->previous_free__GK;
+          next__4SK=next__UXO->next_free__FK;
+          if (((void *)prev__3SK == (void *)NULL)) {
+            first_free__22E=next__4SK;
+          } else {
+            ((__MEMORY *)prev__3SK)->next_free__FK=next__4SK;
+          };
+          if (((void *)next__4SK != (void *)NULL)) {
+            ((__MEMORY *)next__4SK)->previous_free__GK=prev__3SK;
+          };
+        };
+        new_free__TXO->size_and_id__EK=new_size__YXO;
+        if (((__UINTEGER_32)(new_free__TXO->size_and_id__EK &  2) !=  0)) {
+          last_block[(__tmp__W2K)] = (new_free__TXO);
+        } else {
+          next__UXO=((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__X2N) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__X2N->size_and_id__EK &  4294967292LU)))));
+          next__UXO->previous_linear__DK=((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )new_free__TXO) - (unsigned long)begin_memory__5SB))));
+        };
+      };
+    } else {
+      result__22N=Self__X2N;
+    };
+    result__F1K=(void *)((unsigned long)((__POINTER )((__MEMORY *)result__22N)) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+  };
+  return(result__F1K);
+}
+
+static __INTEGER fb_subst__YF(void *dst__0F,void *src__1F,void *p__2F,void *r__3F)
+// ({NULLxSTRING},{NULLxSTRING},{NULLxSTRING_CONSTANT},{NULLxSTRING_CONSTANT}) With resultNo recursive, No inlinable.
+{
+  __INTEGER pos__5F,Self__VIF,limit_up__WIF,new_capacity__V4W;
+  __INTEGER old_nb_elts__N5W,__tmp__Q5W,Self__R5W,Self__IN,limit_up__JN;
+  __INTEGER new_capacity__XCD,old_nb_elts__U5W,__tmp__X5W,Self__Y5W;
+  __STRING *Self__W4W,*Self__VCD;
+  __CHARACTER ch__X4W,ch__WCD;
+  __CHARACTER *Self__M5W,*new__P5W,*Self__T5W,*new__W5W;
+  re = pcre_compile((((__STRING_CONSTANT *)p__2F)->storage__YM), PCRE_CASELESS, &re_e, &re_eo, NULL);
+  re_ex = pcre_study(re, 0, &re_e);
+  ((__STRING *)dst__0F)->count__SB= 0;
+  pos__5F= 1;
+  while ((((__INTEGER )(pcre_exec(re, re_ex, (((__STRING *)src__1F)->storage__JF), (((__STRING *)src__1F)->count__SB), (pos__5F)-1, 0, (mem__IG), 3))) >=  0)) {
+    Self__VIF=pos__5F;
+    limit_up__WIF=mem__IG[ 0];
+    while ((Self__VIF <= limit_up__WIF)) {
+      Self__W4W=((__STRING *)dst__0F);
+      ch__X4W=((__CHARACTER *)((__STRING *)src__1F)->storage__JF)[(__INTEGER)(Self__VIF -  1)];
+      new_capacity__V4W= 0;
+      if ((Self__W4W->capacity__1E <= Self__W4W->count__SB)) {
+        if ((Self__W4W->capacity__1E ==  0)) {
+          Self__W4W->capacity__1E= 32;
+          Self__W4W->storage__JF=create__UQG( 32);
+        } else {
+          new_capacity__V4W=(__INTEGER)(Self__W4W->capacity__1E <<  1);
+          Self__M5W=((__CHARACTER *)Self__W4W->storage__JF);
+          old_nb_elts__N5W=Self__W4W->capacity__1E;
+          new__P5W=((__CHARACTER *)realloc_dynamic__old_size__new_size__V0K(((__POINTER )Self__M5W),((__UINTEGER_32 )old_nb_elts__N5W),((__UINTEGER_32 )new_capacity__V4W)));
+          __tmp__Q5W=(__INTEGER)(new_capacity__V4W -  1);
+          Self__R5W=old_nb_elts__N5W;
+          while ((Self__R5W <= __tmp__Q5W)) {
+            new__P5W[Self__R5W]='\0';
+            Self__R5W=(__INTEGER)(Self__R5W +  1);
+          };
+          Self__W4W->storage__JF=new__P5W;
+          Self__W4W->capacity__1E=new_capacity__V4W;
+        };
+      };
+      ((__CHARACTER *)Self__W4W->storage__JF)[Self__W4W->count__SB]=ch__X4W;
+      Self__W4W->count__SB=(__INTEGER)(Self__W4W->count__SB +  1);
+      Self__VIF=(__INTEGER)(Self__VIF +  1);
+    };
+    append__PFF(dst__0F,r__3F);
+    pos__5F=(__INTEGER)(mem__IG[ 1] +  1);
+  };
+  Self__IN=pos__5F;
+  limit_up__JN=((__STRING *)src__1F)->count__SB;
+  while ((Self__IN <= limit_up__JN)) {
+    Self__VCD=((__STRING *)dst__0F);
+    ch__WCD=((__CHARACTER *)((__STRING *)src__1F)->storage__JF)[(__INTEGER)(Self__IN -  1)];
+    new_capacity__XCD= 0;
+    if ((Self__VCD->capacity__1E <= Self__VCD->count__SB)) {
+      if ((Self__VCD->capacity__1E ==  0)) {
+        Self__VCD->capacity__1E= 32;
+        Self__VCD->storage__JF=create__UQG( 32);
+      } else {
+        new_capacity__XCD=(__INTEGER)(Self__VCD->capacity__1E <<  1);
+        Self__T5W=((__CHARACTER *)Self__VCD->storage__JF);
+        old_nb_elts__U5W=Self__VCD->capacity__1E;
+        new__W5W=((__CHARACTER *)realloc_dynamic__old_size__new_size__V0K(((__POINTER )Self__T5W),((__UINTEGER_32 )old_nb_elts__U5W),((__UINTEGER_32 )new_capacity__XCD)));
+        __tmp__X5W=(__INTEGER)(new_capacity__XCD -  1);
+        Self__Y5W=old_nb_elts__U5W;
+        while ((Self__Y5W <= __tmp__X5W)) {
+          new__W5W[Self__Y5W]='\0';
+          Self__Y5W=(__INTEGER)(Self__Y5W +  1);
+        };
+        Self__VCD->storage__JF=new__W5W;
+        Self__VCD->capacity__1E=new_capacity__XCD;
+      };
+    };
+    ((__CHARACTER *)Self__VCD->storage__JF)[Self__VCD->count__SB]=ch__WCD;
+    Self__VCD->count__SB=(__INTEGER)(Self__VCD->count__SB +  1);
+    Self__IN=(__INTEGER)(Self__IN +  1);
+  };
+  return(((__STRING *)dst__0F)->count__SB);
+}
+
+static void append__PFF(__STRING *Self__QFF,void *other__RFF)
+// ({STRING},{NULLxSTRING_CONSTANT}) VoidNo recursive, No inlinable.
+{
+  __INTEGER other_count__SFF,needed_capacity__TFF,old_nb_elts__15W;
+  __INTEGER __tmp__45W,Self__55W,__tmp__2GF,i2__O1J,i1__N1J;
+  __CHARACTER *Self__05W,*new__35W,*__tmp__YGF,*__tmp__1GF,*Self__10J;
+  other_count__SFF=((__STRING_CONSTANT *)other__RFF)->count__ZWF;
+  needed_capacity__TFF=(__INTEGER)(Self__QFF->count__SB + other_count__SFF);
+  if ((Self__QFF->capacity__1E < needed_capacity__TFF)) {
+    if ((Self__QFF->capacity__1E ==  0)) {
+      Self__QFF->capacity__1E=needed_capacity__TFF;
+      Self__QFF->storage__JF=create__UQG(needed_capacity__TFF);
+    } else {
+      Self__05W=((__CHARACTER *)Self__QFF->storage__JF);
+      old_nb_elts__15W=Self__QFF->capacity__1E;
+      new__35W=((__CHARACTER *)realloc_dynamic__old_size__new_size__V0K(((__POINTER )Self__05W),((__UINTEGER_32 )old_nb_elts__15W),((__UINTEGER_32 )needed_capacity__TFF)));
+      __tmp__45W=(__INTEGER)(needed_capacity__TFF -  1);
+      Self__55W=old_nb_elts__15W;
+      while ((Self__55W <= __tmp__45W)) {
+        new__35W[Self__55W]='\0';
+        Self__55W=(__INTEGER)(Self__55W +  1);
+      };
+      Self__QFF->storage__JF=new__35W;
+      Self__QFF->capacity__1E=needed_capacity__TFF;
+    };
+  };
+  __tmp__YGF=Self__QFF->storage__JF;
+  __tmp__1GF=((__STRING_CONSTANT *)other__RFF)->storage__YM;
+  __tmp__2GF=Self__QFF->count__SB;
+  Self__10J=((__CHARACTER *)__tmp__YGF);
+  i2__O1J= 0;
+  i1__N1J=__tmp__2GF;
+  while ((i2__O1J != other_count__SFF)) {
+    Self__10J[i1__N1J]=((__CHARACTER *)__tmp__1GF)[i2__O1J];
+    i2__O1J=(__INTEGER)(i2__O1J +  1);
+    i1__N1J=(__INTEGER)(i1__N1J +  1);
+  };
+  Self__QFF->count__SB=needed_capacity__TFF;
+}
+
+static void append_in__WI(__INTEGER Self__XI,void *buffer__YI)
+// ({INTEGER},{NULLxSTRING}) VoidNo recursive, No inlinable.
+{
+  __INTEGER_32 Self__3O,val__FP;
+  __INTEGER i__IP,j__JP,new_capacity__22W,old_nb_elts__CAX,__tmp__FAX;
+  __INTEGER Self__GAX,new_capacity__52W,old_nb_elts__JAX,__tmp__MAX;
+  __INTEGER Self__NAX,new_capacity__C3W,old_nb_elts__QAX,__tmp__TAX;
+  __INTEGER Self__UAX;
+  __STRING *Self__32W,*Self__A3W,*Self__D3W,*Self__1JF;
+  __CHARACTER *Self__BAX,*new__EAX,*Self__IAX,*new__LAX,*Self__PAX;
+  __CHARACTER *new__SAX;
+  __CHARACTER ch__E3W,tmp__4JF;
+  Self__3O=((__INTEGER_32 )Self__XI);
+  val__FP= 0;
+  i__IP= 0;
+  j__JP= 0;
+  if ((Self__3O ==  0)) {
+    Self__32W=((__STRING *)buffer__YI);
+    new_capacity__22W= 0;
+    if ((Self__32W->capacity__1E <= Self__32W->count__SB)) {
+      if ((Self__32W->capacity__1E ==  0)) {
+        Self__32W->capacity__1E= 32;
+        Self__32W->storage__JF=create__UQG( 32);
+      } else {
+        new_capacity__22W=(__INTEGER)(Self__32W->capacity__1E <<  1);
+        Self__BAX=((__CHARACTER *)Self__32W->storage__JF);
+        old_nb_elts__CAX=Self__32W->capacity__1E;
+        new__EAX=((__CHARACTER *)realloc_dynamic__old_size__new_size__V0K(((__POINTER )Self__BAX),((__UINTEGER_32 )old_nb_elts__CAX),((__UINTEGER_32 )new_capacity__22W)));
+        __tmp__FAX=(__INTEGER)(new_capacity__22W -  1);
+        Self__GAX=old_nb_elts__CAX;
+        while ((Self__GAX <= __tmp__FAX)) {
+          new__EAX[Self__GAX]='\0';
+          Self__GAX=(__INTEGER)(Self__GAX +  1);
+        };
+        Self__32W->storage__JF=new__EAX;
+        Self__32W->capacity__1E=new_capacity__22W;
+      };
+    };
+    ((__CHARACTER *)Self__32W->storage__JF)[Self__32W->count__SB]='0';
+    Self__32W->count__SB=(__INTEGER)(Self__32W->count__SB +  1);
+  } else {
+    if ((Self__3O >  0)) {
+      val__FP=Self__3O;
+    } else {
+      val__FP=(__INTEGER_32)(- Self__3O);
+      Self__A3W=((__STRING *)buffer__YI);
+      new_capacity__52W= 0;
+      if ((Self__A3W->capacity__1E <= Self__A3W->count__SB)) {
+        if ((Self__A3W->capacity__1E ==  0)) {
+          Self__A3W->capacity__1E= 32;
+          Self__A3W->storage__JF=create__UQG( 32);
+        } else {
+          new_capacity__52W=(__INTEGER)(Self__A3W->capacity__1E <<  1);
+          Self__IAX=((__CHARACTER *)Self__A3W->storage__JF);
+          old_nb_elts__JAX=Self__A3W->capacity__1E;
+          new__LAX=((__CHARACTER *)realloc_dynamic__old_size__new_size__V0K(((__POINTER )Self__IAX),((__UINTEGER_32 )old_nb_elts__JAX),((__UINTEGER_32 )new_capacity__52W)));
+          __tmp__MAX=(__INTEGER)(new_capacity__52W -  1);
+          Self__NAX=old_nb_elts__JAX;
+          while ((Self__NAX <= __tmp__MAX)) {
+            new__LAX[Self__NAX]='\0';
+            Self__NAX=(__INTEGER)(Self__NAX +  1);
+          };
+          Self__A3W->storage__JF=new__LAX;
+          Self__A3W->capacity__1E=new_capacity__52W;
+        };
+      };
+      ((__CHARACTER *)Self__A3W->storage__JF)[Self__A3W->count__SB]='-';
+      Self__A3W->count__SB=(__INTEGER)(Self__A3W->count__SB +  1);
+    };
+    i__IP=(__INTEGER)(((__STRING *)buffer__YI)->count__SB +  1);
+    while ((val__FP !=  0)) {
+      Self__D3W=((__STRING *)buffer__YI);
+      ch__E3W=((__CHARACTER )(((__INTEGER_8)(((__INTEGER_8 )(__INTEGER_32)(val__FP %  10)) + ((__INTEGER_8 )'0')))));
+      new_capacity__C3W= 0;
+      if ((Self__D3W->capacity__1E <= Self__D3W->count__SB)) {
+        if ((Self__D3W->capacity__1E ==  0)) {
+          Self__D3W->capacity__1E= 32;
+          Self__D3W->storage__JF=create__UQG( 32);
+        } else {
+          new_capacity__C3W=(__INTEGER)(Self__D3W->capacity__1E <<  1);
+          Self__PAX=((__CHARACTER *)Self__D3W->storage__JF);
+          old_nb_elts__QAX=Self__D3W->capacity__1E;
+          new__SAX=((__CHARACTER *)realloc_dynamic__old_size__new_size__V0K(((__POINTER )Self__PAX),((__UINTEGER_32 )old_nb_elts__QAX),((__UINTEGER_32 )new_capacity__C3W)));
+          __tmp__TAX=(__INTEGER)(new_capacity__C3W -  1);
+          Self__UAX=old_nb_elts__QAX;
+          while ((Self__UAX <= __tmp__TAX)) {
+            new__SAX[Self__UAX]='\0';
+            Self__UAX=(__INTEGER)(Self__UAX +  1);
+          };
+          Self__D3W->storage__JF=new__SAX;
+          Self__D3W->capacity__1E=new_capacity__C3W;
+        };
+      };
+      ((__CHARACTER *)Self__D3W->storage__JF)[Self__D3W->count__SB]=ch__E3W;
+      Self__D3W->count__SB=(__INTEGER)(Self__D3W->count__SB +  1);
+      val__FP=(__INTEGER_32)(val__FP /  10);
+    };
+    j__JP=((__STRING *)buffer__YI)->count__SB;
+    while ((i__IP < j__JP)) {
+      Self__1JF=((__STRING *)buffer__YI);
+      tmp__4JF=((__CHARACTER *)Self__1JF->storage__JF)[(__INTEGER)(i__IP -  1)];
+      ((__CHARACTER *)Self__1JF->storage__JF)[(__INTEGER)(i__IP -  1)]=((__CHARACTER *)Self__1JF->storage__JF)[(__INTEGER)(j__JP -  1)];
+      ((__CHARACTER *)Self__1JF->storage__JF)[(__INTEGER)(j__JP -  1)]=tmp__4JF;
+      j__JP=(__INTEGER)(j__JP -  1);
+      i__IP=(__INTEGER)(i__IP +  1);
+    };
+  };
+}
+
+static __MEMORY* new_page__L4E()
+// () With resultNo recursive, No inlinable.
+{
+  __POINTER mem__G5G;
+  __UINTEGER_32 cap__D5G,old_size__O4E;
+  __INTEGER Self__SPI,limit_up__TPI;
+  __MEMORY *block__U4E;
+  __CHARACTER *__tmp__F0W;
+  if ((capacity_max__V4E ==  0)) {
+    mem__G5G=((__POINTER )(NULL));
+    cap__D5G= 33554432;
+    do {
+      cap__D5G=(__UINTEGER_32)(cap__D5G <<  1);
+      mem__G5G=((__POINTER )(malloc((cap__D5G))));
+      if ((mem__G5G != (void *)NULL)) {
+        free((mem__G5G));
+      };
+    } while ((! ((mem__G5G == (void *)NULL) || (cap__D5G ==  2147483648LU))));
+    if ((mem__G5G == (void *)NULL)) {
+      cap__D5G=(__UINTEGER_32)(cap__D5G >>  1);
+    };
+    capacity_max__V4E=cap__D5G;
+    begin_memory__5SB=((__POINTER )(malloc((cap__D5G))));
+  };
+  old_size__O4E=(__UINTEGER_32)(nb_page__YFC <<  26);
+  nb_page__YFC=(__UINTEGER_32)(nb_page__YFC +  1);
+  if (((__UINTEGER_32)(old_size__O4E +  67108864) > capacity_max__V4E)) {
+    Self__SPI= 1;
+    limit_up__TPI=((__STRING_CONSTANT *)(&__string_34))->count__ZWF;
+    __tmp__F0W=((__STRING_CONSTANT *)(&__string_34))->storage__YM;
+    while ((Self__SPI <= limit_up__TPI)) {
+      fputc((int)(((__CHARACTER *)__tmp__F0W)[(__INTEGER)(Self__SPI -  1)]),stdout);
+      Self__SPI=(__INTEGER)(Self__SPI +  1);
+    };
+    exit(( 1));
+  };
+  block__U4E=((__MEMORY *)(void *)((unsigned long)begin_memory__5SB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )old_size__O4E))));
+  block__U4E->previous_linear__DK= 4294967295LU;
+  block__U4E->size_and_id__EK= 67108858;
+  block__U4E->next_free__FK=first_free__22E;
+  block__U4E->previous_free__GK=NULL;
+  if (((void *)first_free__22E != (void *)NULL)) {
+    ((__MEMORY *)first_free__22E)->previous_free__GK=block__U4E;
+  };
+  first_free__22E=block__U4E;
+  last_block[((__UINTEGER_32)(nb_page__YFC -  1))] = (block__U4E);
+  return(block__U4E);
+}
+
+static void** create__RRG(__INTEGER nb_elements__TRG)
+// ({INTEGER}) With resultNo recursive, No inlinable.
+{
+  __UINTEGER_32 sz__WUW,a__1UW,new_size__XUW,new_size2__YUW,a__R0W;
+  __UINTEGER_32 new_size__S0W;
+  __POINTER result__VUW,ptr_table__Z4W,next__Y4W,result__04W;
+  __INTEGER Self__YHL;
+  void **Result__MNH;
+  sz__WUW=((__UINTEGER_32 )(__INTEGER)(nb_elements__TRG * ((__INTEGER )(sizeof(void *)))));
+  result__VUW=((__POINTER )(NULL));
+  a__1UW=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+  new_size__XUW=(__UINTEGER_32)((__UINTEGER_32)(sz__WUW + a__1UW) & (__UINTEGER_32)(~ a__1UW));
+  new_size2__YUW=(__UINTEGER_32)(new_size__XUW + ((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))));
+  if ((new_size2__YUW <= ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+    a__R0W=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+    new_size__S0W=(__UINTEGER_32)((__UINTEGER_32)(new_size2__YUW + a__R0W) & (__UINTEGER_32)(~ a__R0W));
+    ptr_table__Z4W=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__S0W / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+    next__Y4W=((__POINTER )(NULL));
+    result__04W=((__POINTER *)ptr_table__Z4W)[ 0];
+    if ((result__04W == (void *)NULL)) {
+      result__04W=new_lab__GFC(new_size__S0W);
+      next__Y4W=(void *)((unsigned long)result__04W - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__S0W)));
+      ((__POINTER *)next__Y4W)[ 0]=NULL;
+      ((__POINTER *)ptr_table__Z4W)[ 0]=next__Y4W;
+    } else {
+      next__Y4W=((__POINTER *)result__04W)[ 0];
+      if ((next__Y4W == (void *)NULL)) {
+        if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__04W - (unsigned long)begin_memory__5SB)))) &  4095) + (__UINTEGER_32)(new_size__S0W <<  1)) <=  4096)) {
+          next__Y4W=(void *)((unsigned long)result__04W - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__S0W)));
+        } else {
+          next__Y4W=new_lab__GFC(new_size__S0W);
+        };
+        ((__POINTER *)next__Y4W)[ 0]=NULL;
+        ((__POINTER *)ptr_table__Z4W)[ 0]=next__Y4W;
+      } else {
+        ((__POINTER *)result__04W)[ 0]=(void *)((unsigned long)((__POINTER *)next__Y4W)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+        result__04W=next__Y4W;
+      };
+    };
+    ((__POINTER *)result__04W)[ 0]=((__POINTER ) 3);
+    result__VUW=(void *)((unsigned long)result__04W - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+  } else {
+    result__VUW=(void *)((unsigned long)((__POINTER )((__MEMORY *)search__Z1E(new_size__XUW))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+  };
+  Result__MNH=((void **)result__VUW);
+  Self__YHL=(__INTEGER)(nb_elements__TRG -  1);
+  while ((Self__YHL >=  0)) {
+    Result__MNH[Self__YHL]=NULL;
+    Self__YHL=(__INTEGER)(Self__YHL -  1);
+  };
+  return(Result__MNH);
+}
+
+//==========================//
+// DEBUG MANAGER            //
+//==========================//
+
+void print_string(char *str) 
+{ 
+  while (*str!=0) {
+    print_char(*str); 
+    str++; 
+  };
+}  
+
diff --git a/example/shootout/reverse_complement/input1000.txt b/example/shootout/reverse_complement/revcomp-input.txt
old mode 100644
new mode 100755
similarity index 100%
copy from example/shootout/reverse_complement/input1000.txt
copy to example/shootout/reverse_complement/revcomp-input.txt
diff --git a/example/shootout/reverse_complement/reverse_complement.c b/example/shootout/reverse_complement/reverse_complement.c
new file mode 100755
index 0000000..1142272
--- /dev/null
+++ b/example/shootout/reverse_complement/reverse_complement.c
@@ -0,0 +1,757 @@
+// C code generated by Lisaac compiler (www.isaacOS.com) //
+int arg_count;
+char **arg_vector;
+
+//==========================//
+// EXTERNAL                 //
+//==========================//
+
+// FS_MIN
+#include <unistd.h>
+// MEMORY
+
+#define MINIMUM_SIZE 256  
+void *table_size[MINIMUM_SIZE/sizeof(void *)];
+void *last_block[64];
+
+// FLOAT_REAL
+#include <math.h>
+// SYSTEM
+#include <time.h>
+// SYSTEM_IO
+
+#include <stdio.h>
+#include <stdlib.h>
+  
+// Hardware 'print_char'
+void print_char(char car)
+{
+  fputc(car,stdout);
+}
+
+// Hardware 'exit'
+int die_with_code(int code)
+{
+  exit(code);
+}
+
+
+
+//==========================//
+// TYPE                     //
+//==========================//
+
+// Generic Object
+struct ___OBJ {
+  unsigned long __id;
+};
+
+// NULL
+#ifndef NULL
+#define NULL ((void *)0)
+#endif
+
+// POINTER
+typedef void * __POINTER;
+
+// UINTEGER_32
+typedef unsigned long __UINTEGER_32;
+
+// CHARACTER
+typedef char __CHARACTER;
+
+// INTEGER
+typedef int __INTEGER;
+
+// STRING
+#define __STRING__ 0
+typedef struct STRING_struct __STRING;
+struct STRING_struct {
+  __INTEGER count__MUB;
+  __INTEGER capacity__GWB;
+  __CHARACTER *storage__PVB;
+};
+__STRING STRING_;
+#define STRING__ (&STRING_)
+
+// MEMORY
+#define __MEMORY__ 1
+typedef struct MEMORY_struct __MEMORY;
+struct MEMORY_struct {
+  volatile __UINTEGER_32 previous_linear__LG;
+  volatile __UINTEGER_32 size_and_id__MG;
+  __MEMORY *next_free__NG;
+  __MEMORY *previous_free__OG;
+} __attribute__ ((packed));
+__MEMORY MEMORY_;
+#define MEMORY__ (&MEMORY_)
+
+// NUMERIC
+#define __NUMERIC__ 2
+typedef struct NUMERIC_struct __NUMERIC;
+struct NUMERIC_struct {
+  void *Nothing;
+};
+__NUMERIC NUMERIC_;
+#define NUMERIC__ (&NUMERIC_)
+
+// STRING_CONSTANT
+#define __STRING_CONSTANT__ 3
+typedef struct STRING_CONSTANT_struct __STRING_CONSTANT;
+struct STRING_CONSTANT_struct {
+  __INTEGER count__TND;
+  __CHARACTER *storage__Z4D;
+};
+__STRING_CONSTANT STRING_CONSTANT_;
+#define STRING_CONSTANT__ (&STRING_CONSTANT_)
+
+// INTEGER_8
+typedef signed char __INTEGER_8;
+
+// FALSE
+#define FALSE__ 0
+
+// BOOLEAN
+typedef char __BOOLEAN;
+
+
+void *table_type[4];
+
+//==========================//
+// GLOBAL                   //
+//==========================//
+
+void *parent_numeric__H;
+__POINTER begin_memory__0V;
+__UINTEGER_32 nb_page__NDB;
+__UINTEGER_32 capacity_max__MPC;
+__MEMORY *first_free__VCE;
+
+//==========================//
+// STRING CONSTANT          //
+//==========================//
+
+__STRING_CONSTANT __string_1={26,"\0TVGH\0\000CD\0\0M\0KN\0\0\0YSAABW\0R"};
+__STRING_CONSTANT __string_2={19,"Not enough memory.\n"};
+
+//==========================//
+// FUNCTION HEADER          //
+//==========================//
+
+// Debug Manager
+void print_string(char *str);
+// Source code
+static __POINTER new_lab__1CB(__UINTEGER_32 t__3CB);
+static __CHARACTER* create__JOD(__INTEGER nb_elements__LOD);
+static __CHARACTER* to_external__TWB(__STRING *Self__UWB);
+static __MEMORY* new_page__CPC();
+static __MEMORY* search__SBE(__UINTEGER_32 new_size__UBE);
+
+//==========================//
+// SOURCE CODE              //
+//==========================//
+
+int main(int argc,char **argv)
+{
+  __INTEGER j__5,end__AB,typ_id__TF,result__VE,i__4;
+  __STRING *result__LF,*Self__XVB,*Self__0XB,*Self__CUB;
+  __POINTER ptr__MF,ptr_table__2SL,next__1SL,result__3SL,ptr_table__AU;
+  __POINTER next__FU,result__DU,f__QE;
+  __UINTEGER_32 sz__QF,a__3R,new_size__1N,t__EP,a__TNL,new_size__5T;
+  __UINTEGER_32 lab_type__BU;
+  __CHARACTER tmp__BB;
+  __CHARACTER *ptr__UE,*__tmp__0QL,*__tmp__1QL,*__tmp__2QL,*__tmp__3QL;
+  __CHARACTER *__tmp__4QL,*__tmp__5QL,*__tmp__ARL,*__tmp__BRL;
+  __CHARACTER *__tmp__CRL,*__tmp__OSL,*__tmp__CTL;
+  arg_count  = argc;
+  arg_vector = argv;
+  parent_numeric__H=NUMERIC__;
+  STRING_CONSTANT__->count__TND=((__INTEGER )((0)));
+  STRING_CONSTANT__->storage__Z4D=((__CHARACTER *)(NULL));
+  nb_page__NDB= 0;
+  MEMORY__->size_and_id__MG= 0;
+  capacity_max__MPC= 0;
+  begin_memory__0V=((__POINTER )(NULL));
+  MEMORY__->previous_linear__LG= 0;
+  first_free__VCE=NULL;
+  MEMORY__->next_free__NG=NULL;
+  MEMORY__->previous_free__OG=NULL;
+  STRING__->capacity__GWB= 0;
+  STRING__->storage__PVB=NULL;
+  STRING__->count__MUB= 0;
+  j__5= 0;
+  end__AB= 0;
+  tmp__BB='\0';
+  result__LF=NULL;
+  ptr__MF=((__POINTER )(NULL));
+  typ_id__TF= 0;
+  sz__QF=((__UINTEGER_32 )sizeof(__STRING));
+  if ((sz__QF ==  0)) {
+    result__LF=STRING__;
+  } else {
+    typ_id__TF=__STRING__;
+    if ((typ_id__TF == (__INTEGER)(-  1))) {
+      a__3R=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__1N=(__UINTEGER_32)((__UINTEGER_32)(sz__QF + a__3R) & (__UINTEGER_32)(~ a__3R));
+      ptr_table__2SL=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__1N / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+      next__1SL=((__POINTER )(NULL));
+      result__3SL=((__POINTER *)ptr_table__2SL)[ 0];
+      if ((result__3SL == (void *)NULL)) {
+        result__3SL=new_lab__1CB(new_size__1N);
+        next__1SL=(void *)((unsigned long)result__3SL - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__1N)));
+        ((__POINTER *)next__1SL)[ 0]=NULL;
+        ((__POINTER *)ptr_table__2SL)[ 0]=next__1SL;
+      } else {
+        next__1SL=((__POINTER *)result__3SL)[ 0];
+        if ((next__1SL == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__3SL - (unsigned long)begin_memory__0V)))) &  4095) + (__UINTEGER_32)(new_size__1N <<  1)) <=  4096)) {
+            next__1SL=(void *)((unsigned long)result__3SL - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__1N)));
+          } else {
+            next__1SL=new_lab__1CB(new_size__1N);
+          };
+          ((__POINTER *)next__1SL)[ 0]=NULL;
+          ((__POINTER *)ptr_table__2SL)[ 0]=next__1SL;
+        } else {
+          ((__POINTER *)result__3SL)[ 0]=(void *)((unsigned long)((__POINTER *)next__1SL)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__3SL=next__1SL;
+        };
+      };
+      ptr__MF=result__3SL;
+    } else {
+      t__EP=((__UINTEGER_32 )typ_id__TF);
+      a__TNL=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__5T=(__UINTEGER_32)((__UINTEGER_32)(sz__QF + a__TNL) & (__UINTEGER_32)(~ a__TNL));
+      ptr_table__AU=((__POINTER )(&(table_type[(t__EP)])));
+      lab_type__BU=(__UINTEGER_32)(t__EP |  1);
+      next__FU=((__POINTER )(NULL));
+      result__DU=((__POINTER *)ptr_table__AU)[ 0];
+      if ((result__DU == (void *)NULL)) {
+        result__DU=new_lab__1CB(lab_type__BU);
+        next__FU=(void *)((unsigned long)result__DU - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__5T)));
+        ((__POINTER *)next__FU)[ 0]=NULL;
+        ((__POINTER *)ptr_table__AU)[ 0]=next__FU;
+      } else {
+        next__FU=((__POINTER *)result__DU)[ 0];
+        if ((next__FU == (void *)NULL)) {
+          if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__DU - (unsigned long)begin_memory__0V)))) &  4095) + (__UINTEGER_32)(new_size__5T <<  1)) <=  4096)) {
+            next__FU=(void *)((unsigned long)result__DU - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__5T)));
+          } else {
+            next__FU=new_lab__1CB(lab_type__BU);
+          };
+          ((__POINTER *)next__FU)[ 0]=NULL;
+          ((__POINTER *)ptr_table__AU)[ 0]=next__FU;
+        } else {
+          ((__POINTER *)result__DU)[ 0]=(void *)((unsigned long)((__POINTER *)next__FU)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+          result__DU=next__FU;
+        };
+      };
+      ptr__MF=result__DU;
+    };
+    result__LF=((__STRING *)ptr__MF);
+    *(result__LF) = *(STRING__);
+  };
+  Self__XVB=((__STRING *)result__LF);
+  if ((Self__XVB->capacity__GWB <  25416746)) {
+    Self__XVB->storage__PVB=create__JOD( 25416746);
+    Self__XVB->capacity__GWB= 25416746;
+  };
+  Self__XVB->count__MUB= 0;
+  f__QE=((__POINTER )(stdin));
+  ptr__UE=to_external__TWB(result__LF);
+  result__VE=((__INTEGER )(fread((void *)((ptr__UE)),(size_t)(1), (size_t)(( 25416745)),(FILE*)((f__QE)))));
+  ((__CHARACTER *)ptr__UE)[ 25416745]='\0';
+  Self__0XB=((__STRING *)result__LF);
+  Self__0XB->count__MUB= 0;
+  while ((((__CHARACTER *)ptr__UE)[Self__0XB->count__MUB] != '\0')) {
+    Self__0XB->count__MUB=(__INTEGER)(Self__0XB->count__MUB +  1);
+  };
+  if (((void *)Self__0XB->storage__PVB != (void *)ptr__UE)) {
+    Self__0XB->storage__PVB=ptr__UE;
+    Self__0XB->capacity__GWB=(__INTEGER)(Self__0XB->count__MUB +  1);
+  };
+  i__4= 1;
+  __tmp__0QL=((__STRING *)result__LF)->storage__PVB;
+  __tmp__1QL=((__STRING *)result__LF)->storage__PVB;
+  __tmp__2QL=((__STRING *)result__LF)->storage__PVB;
+  __tmp__3QL=((__STRING *)result__LF)->storage__PVB;
+  __tmp__4QL=((__STRING *)result__LF)->storage__PVB;
+  __tmp__5QL=((__STRING_CONSTANT *)(&__string_1))->storage__Z4D;
+  __tmp__ARL=((__STRING *)result__LF)->storage__PVB;
+  __tmp__BRL=((__STRING_CONSTANT *)(&__string_1))->storage__Z4D;
+  __tmp__CRL=((__STRING *)result__LF)->storage__PVB;
+  __tmp__OSL=((__STRING *)result__LF)->storage__PVB;
+  __tmp__CTL=((__STRING *)result__LF)->storage__PVB;
+  while ((i__4 <= result__VE)) {
+    while ((((__CHARACTER *)__tmp__0QL)[(__INTEGER)(i__4 -  1)] != '\n')) {
+      i__4=(__INTEGER)(i__4 +  1);
+    };
+    i__4=(__INTEGER)(i__4 +  1);
+    j__5=i__4;
+    while (((((__CHARACTER *)__tmp__1QL)[(__INTEGER)(j__5 -  1)] != '>') && (((__CHARACTER *)__tmp__2QL)[(__INTEGER)(j__5 -  1)] !=  0))) {
+      j__5=(__INTEGER)(j__5 +  1);
+    };
+    end__AB=j__5;
+    j__5=(__INTEGER)(j__5 -  1);
+    while ((i__4 < j__5)) {
+      if ((((__CHARACTER *)__tmp__3QL)[(__INTEGER)(i__4 -  1)] == '\n')) {
+        i__4=(__INTEGER)(i__4 +  1);
+      };
+      if ((((__CHARACTER *)__tmp__4QL)[(__INTEGER)(j__5 -  1)] == '\n')) {
+        j__5=(__INTEGER)(j__5 -  1);
+      };
+      tmp__BB=((__CHARACTER *)__tmp__5QL)[(__INTEGER)((__INTEGER)((__INTEGER)(((__INTEGER )((__INTEGER_8 )((__CHARACTER *)__tmp__ARL)[(__INTEGER)(i__4 -  1)])) &  31) +  1) -  1)];
+      ((__CHARACTER *)__tmp__CTL)[(__INTEGER)(i__4 -  1)]=((__CHARACTER *)__tmp__BRL)[(__INTEGER)((__INTEGER)((__INTEGER)(((__INTEGER )((__INTEGER_8 )((__CHARACTER *)__tmp__CRL)[(__INTEGER)(j__5 -  1)])) &  31) +  1) -  1)];
+      ((__CHARACTER *)__tmp__OSL)[(__INTEGER)(j__5 -  1)]=tmp__BB;
+      i__4=(__INTEGER)(i__4 +  1);
+      j__5=(__INTEGER)(j__5 -  1);
+    };
+    i__4=end__AB;
+  };
+  Self__CUB=((__STRING *)result__LF);
+  if (( 1 > Self__CUB->count__MUB)) {
+    Self__CUB->count__MUB= 0;
+  } else {
+    Self__CUB->count__MUB=(__INTEGER)(Self__CUB->count__MUB -  1);
+  };
+  puts((((__CHARACTER *)to_external__TWB(((__STRING *)result__LF)))));
+  return( 0);
+}
+
+static __POINTER new_lab__1CB(__UINTEGER_32 t__3CB)
+// ({UINTEGER_32}) With resultNo recursive, No inlinable.
+{
+  __UINTEGER_32 idx__5CB,pv__GDB;
+  __MEMORY *blc__CDB,*prev__DDB,*Self__TOE,*Self__4PL,*prev__5PL;
+  __MEMORY *next__AQL;
+  __POINTER result__EDB;
+  __BOOLEAN __tmp__GEB;
+  idx__5CB= 0;
+  blc__CDB=NULL;
+  prev__DDB=NULL;
+  pv__GDB= 0;
+  while_do__4HB:
+  {
+    if ((idx__5CB < nb_page__NDB)) {
+      blc__CDB=((__MEMORY *)(last_block[(idx__5CB)]));
+      __tmp__GEB=(((__UINTEGER_32)(((__MEMORY *)blc__CDB)->size_and_id__MG &  4294967292LU) <  4096) || ((__UINTEGER_32)(((__MEMORY *)blc__CDB)->size_and_id__MG &  1) ==  1));
+    } else {
+      __tmp__GEB=FALSE__;
+    };
+    if (__tmp__GEB) {
+      idx__5CB=(__UINTEGER_32)(idx__5CB +  1);
+      goto while_do__4HB;
+    };
+  };
+  if ((idx__5CB >= nb_page__NDB)) {
+    blc__CDB=new_page__CPC();
+  };
+  ((__MEMORY *)blc__CDB)->size_and_id__MG=(__UINTEGER_32)(blc__CDB->size_and_id__MG -  4096);
+  Self__TOE=((__MEMORY *)blc__CDB);
+  result__EDB=((__POINTER )((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__TOE) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__TOE->size_and_id__MG &  4294967292LU))))));
+  if (((__UINTEGER_32)(((__MEMORY *)blc__CDB)->size_and_id__MG &  4294967292LU) < ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+    Self__4PL=((__MEMORY *)blc__CDB);
+    prev__5PL=Self__4PL->previous_free__OG;
+    next__AQL=Self__4PL->next_free__NG;
+    if (((void *)prev__5PL == (void *)NULL)) {
+      first_free__VCE=next__AQL;
+    } else {
+      ((__MEMORY *)prev__5PL)->next_free__NG=next__AQL;
+    };
+    if (((void *)next__AQL != (void *)NULL)) {
+      ((__MEMORY *)next__AQL)->previous_free__OG=prev__5PL;
+    };
+    pv__GDB=blc__CDB->previous_linear__LG;
+    if ((pv__GDB !=  4294967295LU)) {
+      prev__DDB=((__MEMORY *)(void *)((unsigned long)begin_memory__0V - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )pv__GDB))));
+      ((__MEMORY *)prev__DDB)->size_and_id__MG=(__UINTEGER_32)((__UINTEGER_32)(prev__DDB->size_and_id__MG + blc__CDB->size_and_id__MG) +  8);
+      last_block[(idx__5CB)] = (prev__DDB);
+    };
+  };
+  ((__POINTER *)result__EDB)[ 0]=((__POINTER )t__3CB);
+  return((void *)((unsigned long)result__EDB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *)))))));
+}
+
+static __CHARACTER* create__JOD(__INTEGER nb_elements__LOD)
+// ({INTEGER}) With resultNo recursive, No inlinable.
+{
+  __UINTEGER_32 sz__NPL,a__PPL,new_size__QPL,new_size2__RPL,a__SRL;
+  __UINTEGER_32 new_size__URL;
+  __POINTER result__LPL,ptr_table__QSL,next__PSL,result__RSL;
+  __INTEGER Self__FDF;
+  __CHARACTER *Result__3SD;
+  sz__NPL=((__UINTEGER_32 )nb_elements__LOD);
+  result__LPL=((__POINTER )(NULL));
+  a__PPL=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+  new_size__QPL=(__UINTEGER_32)((__UINTEGER_32)(sz__NPL + a__PPL) & (__UINTEGER_32)(~ a__PPL));
+  new_size2__RPL=(__UINTEGER_32)(new_size__QPL + ((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))));
+  if ((new_size2__RPL <= ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+    a__SRL=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+    new_size__URL=(__UINTEGER_32)((__UINTEGER_32)(new_size2__RPL + a__SRL) & (__UINTEGER_32)(~ a__SRL));
+    ptr_table__QSL=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__URL / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+    next__PSL=((__POINTER )(NULL));
+    result__RSL=((__POINTER *)ptr_table__QSL)[ 0];
+    if ((result__RSL == (void *)NULL)) {
+      result__RSL=new_lab__1CB(new_size__URL);
+      next__PSL=(void *)((unsigned long)result__RSL - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__URL)));
+      ((__POINTER *)next__PSL)[ 0]=NULL;
+      ((__POINTER *)ptr_table__QSL)[ 0]=next__PSL;
+    } else {
+      next__PSL=((__POINTER *)result__RSL)[ 0];
+      if ((next__PSL == (void *)NULL)) {
+        if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__RSL - (unsigned long)begin_memory__0V)))) &  4095) + (__UINTEGER_32)(new_size__URL <<  1)) <=  4096)) {
+          next__PSL=(void *)((unsigned long)result__RSL - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__URL)));
+        } else {
+          next__PSL=new_lab__1CB(new_size__URL);
+        };
+        ((__POINTER *)next__PSL)[ 0]=NULL;
+        ((__POINTER *)ptr_table__QSL)[ 0]=next__PSL;
+      } else {
+        ((__POINTER *)result__RSL)[ 0]=(void *)((unsigned long)((__POINTER *)next__PSL)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+        result__RSL=next__PSL;
+      };
+    };
+    ((__POINTER *)result__RSL)[ 0]=((__POINTER ) 3);
+    result__LPL=(void *)((unsigned long)result__RSL - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+  } else {
+    result__LPL=(void *)((unsigned long)((__POINTER )((__MEMORY *)search__SBE(new_size__QPL))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+  };
+  Result__3SD=((__CHARACTER *)result__LPL);
+  Self__FDF=(__INTEGER)(nb_elements__LOD -  1);
+  while ((Self__FDF >=  0)) {
+    Result__3SD[Self__FDF]='\0';
+    Self__FDF=(__INTEGER)(Self__FDF -  1);
+  };
+  return(Result__3SD);
+}
+
+static __CHARACTER* to_external__TWB(__STRING *Self__UWB)
+// ({STRING}) With resultNo recursive, No inlinable.
+{
+  __INTEGER new_capacity__ASC,__tmp__ZSC,siz__ETL,Self__JTL,siz__APG;
+  __INTEGER Self__20G,__tmp__EUE,Self__C2H;
+  __POINTER old_ptr__STE,result__35E,result__FXD,ptr_table__WSL;
+  __POINTER next__VSL,result__XSL,p__BQG,last__J3G,src__1OG,dst__2OG;
+  __UINTEGER_32 __tmp__4TE,__tmp__AUE,a__4LL,old_size__T5E;
+  __UINTEGER_32 old_size2__W5E,a__CML,new_size__Z5E,a__JNL;
+  __UINTEGER_32 new_size__5WD,new_size2__CXD,a__4RL,new_size__ASL;
+  __UINTEGER_32 a__GML,__tmp__OBF,sz__URG,old_size__RRG,siz__PTL;
+  __UINTEGER_32 new_size__RTL,prev__ULH,new_size__XLH;
+  __MEMORY *mem__25E,*Self__LRG,*nxt__PRG,*result__QRG,*Self__MTL;
+  __MEMORY *new__LTL,*prev__NTL,*next__OTL,*Self__STL,*Self__UTL;
+  __MEMORY *next__TLH,*new_free__SLH,*prev__ZPL,*next__0PL;
+  __CHARACTER *__tmp__YSC,*new__RTE;
+  __POINTER *na_src__GTL,*na_dst__ITL,*na_src__4OG,*na_dst__5OG;
+  if ((Self__UWB->capacity__GWB > Self__UWB->count__MUB)) {
+    ((__CHARACTER *)Self__UWB->storage__PVB)[Self__UWB->count__MUB]='\0';
+  } else {
+    new_capacity__ASC= 0;
+    if ((Self__UWB->capacity__GWB <= Self__UWB->count__MUB)) {
+      if ((Self__UWB->capacity__GWB ==  0)) {
+        Self__UWB->capacity__GWB= 32;
+        Self__UWB->storage__PVB=create__JOD( 32);
+      } else {
+        new_capacity__ASC=(__INTEGER)(Self__UWB->capacity__GWB <<  1);
+        __tmp__YSC=Self__UWB->storage__PVB;
+        __tmp__ZSC=Self__UWB->capacity__GWB;
+        old_ptr__STE=((__POINTER )((__CHARACTER *)__tmp__YSC));
+        __tmp__4TE=((__UINTEGER_32 )__tmp__ZSC);
+        __tmp__AUE=((__UINTEGER_32 )new_capacity__ASC);
+        mem__25E=NULL;
+        result__35E=((__POINTER )(NULL));
+        a__4LL=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+        old_size__T5E=(__UINTEGER_32)((__UINTEGER_32)(__tmp__4TE + a__4LL) & (__UINTEGER_32)(~ a__4LL));
+        old_size2__W5E=(__UINTEGER_32)(old_size__T5E + ((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))));
+        a__CML=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+        new_size__Z5E=(__UINTEGER_32)((__UINTEGER_32)(__tmp__AUE + a__CML) & (__UINTEGER_32)(~ a__CML));
+        if ((old_size2__W5E <= ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+          result__FXD=((__POINTER )(NULL));
+          a__JNL=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+          new_size__5WD=(__UINTEGER_32)((__UINTEGER_32)(new_size__Z5E + a__JNL) & (__UINTEGER_32)(~ a__JNL));
+          new_size2__CXD=(__UINTEGER_32)(new_size__5WD + ((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))));
+          if ((new_size2__CXD <= ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+            a__4RL=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+            new_size__ASL=(__UINTEGER_32)((__UINTEGER_32)(new_size2__CXD + a__4RL) & (__UINTEGER_32)(~ a__4RL));
+            ptr_table__WSL=((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__ASL / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1])));
+            next__VSL=((__POINTER )(NULL));
+            result__XSL=((__POINTER *)ptr_table__WSL)[ 0];
+            if ((result__XSL == (void *)NULL)) {
+              result__XSL=new_lab__1CB(new_size__ASL);
+              next__VSL=(void *)((unsigned long)result__XSL - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__ASL)));
+              ((__POINTER *)next__VSL)[ 0]=NULL;
+              ((__POINTER *)ptr_table__WSL)[ 0]=next__VSL;
+            } else {
+              next__VSL=((__POINTER *)result__XSL)[ 0];
+              if ((next__VSL == (void *)NULL)) {
+                if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__XSL - (unsigned long)begin_memory__0V)))) &  4095) + (__UINTEGER_32)(new_size__ASL <<  1)) <=  4096)) {
+                  next__VSL=(void *)((unsigned long)result__XSL - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__ASL)));
+                } else {
+                  next__VSL=new_lab__1CB(new_size__ASL);
+                };
+                ((__POINTER *)next__VSL)[ 0]=NULL;
+                ((__POINTER *)ptr_table__WSL)[ 0]=next__VSL;
+              } else {
+                ((__POINTER *)result__XSL)[ 0]=(void *)((unsigned long)((__POINTER *)next__VSL)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+                result__XSL=next__VSL;
+              };
+            };
+            ((__POINTER *)result__XSL)[ 0]=((__POINTER ) 3);
+            result__FXD=(void *)((unsigned long)result__XSL - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+          } else {
+            result__FXD=(void *)((unsigned long)((__POINTER )((__MEMORY *)search__SBE(new_size__5WD))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+          };
+          result__35E=result__FXD;
+          siz__ETL=((__INTEGER )old_size__T5E);
+          siz__ETL=(__INTEGER)(siz__ETL / ((__INTEGER )(sizeof(void *))));
+          na_src__GTL=((__POINTER *)old_ptr__STE);
+          na_dst__ITL=((__POINTER *)result__FXD);
+          Self__JTL=(__INTEGER)(siz__ETL -  1);
+          while ((Self__JTL >=  0)) {
+            na_dst__ITL[Self__JTL]=na_src__GTL[Self__JTL];
+            Self__JTL=(__INTEGER)(Self__JTL -  1);
+          };
+          p__BQG=(void *)((unsigned long)old_ptr__STE - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *)))));
+          a__GML=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+          last__J3G=((__POINTER *)((__POINTER )(&(table_size[((__UINTEGER_32)((__UINTEGER_32)((__UINTEGER_32)(old_size2__W5E + a__GML) & (__UINTEGER_32)(~ a__GML)) / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1]))))[ 0];
+          ((__POINTER *)p__BQG)[ 0]=(void *)((unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)(void *)((unsigned long)(void *)((unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER *)last__J3G)[ 0]) - (unsigned long)((__POINTER ) 1)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 3)) - (unsigned long)((__POINTER ) 1)))) - (unsigned long)((__POINTER ) 1));
+          ((__POINTER *)last__J3G)[ 0]=p__BQG;
+        } else {
+          mem__25E=((__MEMORY *)(void *)((unsigned long)old_ptr__STE - (unsigned long)((__POINTER ) 8)));
+          __tmp__OBF=(__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)old_ptr__STE - (unsigned long)begin_memory__0V)))) >>  26);
+          Self__LRG=((__MEMORY *)mem__25E);
+          nxt__PRG=NULL;
+          result__QRG=NULL;
+          sz__URG= 0;
+          old_size__RRG=(__UINTEGER_32)(Self__LRG->size_and_id__MG &  4294967292LU);
+          if ((new_size__Z5E > old_size__RRG)) {
+            if ((! ((__UINTEGER_32)(Self__LRG->size_and_id__MG &  2) !=  0))) {
+              nxt__PRG=((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__LRG) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__LRG->size_and_id__MG &  4294967292LU)))));
+              sz__URG=(__UINTEGER_32)((__UINTEGER_32)(new_size__Z5E - old_size__RRG) -  8);
+              if ((((__UINTEGER_32)(((__MEMORY *)nxt__PRG)->size_and_id__MG &  1) ==  0) && ((__UINTEGER_32)(((__MEMORY *)nxt__PRG)->size_and_id__MG &  4294967292LU) >= sz__URG))) {
+                Self__MTL=((__MEMORY *)nxt__PRG);
+                new__LTL=NULL;
+                prev__NTL=Self__MTL->previous_free__OG;
+                next__OTL=Self__MTL->next_free__NG;
+                if (((void *)prev__NTL == (void *)NULL)) {
+                  first_free__VCE=next__OTL;
+                } else {
+                  ((__MEMORY *)prev__NTL)->next_free__NG=next__OTL;
+                };
+                if (((void *)next__OTL != (void *)NULL)) {
+                  ((__MEMORY *)next__OTL)->previous_free__OG=prev__NTL;
+                };
+                siz__PTL=Self__MTL->size_and_id__MG;
+                new_size__RTL=(__UINTEGER_32)(siz__PTL - sz__URG);
+                if ((new_size__RTL > (__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )(MINIMUM_SIZE)) +  2) +  8))) {
+                  siz__PTL=sz__URG;
+                  new__LTL=((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__MTL) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )sz__URG))));
+                  ((__MEMORY *)new__LTL)->previous_linear__LG=((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )Self__MTL) - (unsigned long)begin_memory__0V))));
+                  ((__MEMORY *)new__LTL)->size_and_id__MG=(__UINTEGER_32)(new_size__RTL -  8);
+                  Self__STL=((__MEMORY *)new__LTL);
+                  Self__STL->next_free__NG=first_free__VCE;
+                  Self__STL->previous_free__OG=NULL;
+                  if (((void *)first_free__VCE != (void *)NULL)) {
+                    ((__MEMORY *)first_free__VCE)->previous_free__OG=Self__STL;
+                  };
+                  first_free__VCE=Self__STL;
+                  if (((__UINTEGER_32)(((__MEMORY *)new__LTL)->size_and_id__MG &  2) !=  0)) {
+                    last_block[(__tmp__OBF)] = (new__LTL);
+                  } else {
+                    Self__UTL=((__MEMORY *)new__LTL);
+                    ((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__UTL) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__UTL->size_and_id__MG &  4294967292LU)))))->previous_linear__LG=((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )((__MEMORY *)new__LTL)) - (unsigned long)begin_memory__0V))));
+                  };
+                };
+                Self__MTL->size_and_id__MG=(__UINTEGER_32)(siz__PTL |  1);
+                Self__LRG->size_and_id__MG=(__UINTEGER_32)((__UINTEGER_32)(Self__LRG->size_and_id__MG + (__UINTEGER_32)(nxt__PRG->size_and_id__MG &  4294967294LU)) +  8);
+                if (((__UINTEGER_32)(Self__LRG->size_and_id__MG &  2) !=  0)) {
+                  last_block[(__tmp__OBF)] = (Self__LRG);
+                } else {
+                  nxt__PRG=((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__LRG) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__LRG->size_and_id__MG &  4294967292LU)))));
+                  ((__MEMORY *)nxt__PRG)->previous_linear__LG=((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )Self__LRG) - (unsigned long)begin_memory__0V))));
+                };
+                result__QRG=Self__LRG;
+              };
+            };
+            if (((void *)result__QRG == (void *)NULL)) {
+              result__QRG=search__SBE(new_size__Z5E);
+              src__1OG=(void *)((unsigned long)((__POINTER )Self__LRG) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+              dst__2OG=(void *)((unsigned long)((__POINTER )((__MEMORY *)result__QRG)) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+              siz__APG=((__INTEGER )old_size__RRG);
+              siz__APG=(__INTEGER)(siz__APG / ((__INTEGER )(sizeof(void *))));
+              na_src__4OG=((__POINTER *)src__1OG);
+              na_dst__5OG=((__POINTER *)dst__2OG);
+              Self__20G=(__INTEGER)(siz__APG -  1);
+              while ((Self__20G >=  0)) {
+                na_dst__5OG[Self__20G]=na_src__4OG[Self__20G];
+                Self__20G=(__INTEGER)(Self__20G -  1);
+              };
+              prev__ULH=Self__LRG->previous_linear__LG;
+              next__TLH=((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__LRG) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__LRG->size_and_id__MG &  4294967292LU)))));
+              new_free__SLH=((__MEMORY *)(void *)((unsigned long)begin_memory__0V - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )prev__ULH))));
+              new_size__XLH=(__UINTEGER_32)(Self__LRG->size_and_id__MG &  4294967294LU);
+              if (((prev__ULH ==  4294967295LU) || ((__UINTEGER_32)(new_free__SLH->size_and_id__MG &  1) !=  0))) {
+                new_free__SLH=Self__LRG;
+                Self__LRG->next_free__NG=first_free__VCE;
+                Self__LRG->previous_free__OG=NULL;
+                if (((void *)first_free__VCE != (void *)NULL)) {
+                  ((__MEMORY *)first_free__VCE)->previous_free__OG=Self__LRG;
+                };
+                first_free__VCE=Self__LRG;
+              } else {
+                new_size__XLH=(__UINTEGER_32)((__UINTEGER_32)(new_size__XLH + new_free__SLH->size_and_id__MG) +  8);
+              };
+              if (((! ((__UINTEGER_32)(Self__LRG->size_and_id__MG &  2) !=  0)) && ((__UINTEGER_32)(next__TLH->size_and_id__MG &  1) ==  0))) {
+                new_size__XLH=(__UINTEGER_32)((__UINTEGER_32)(new_size__XLH + next__TLH->size_and_id__MG) +  8);
+                prev__ZPL=next__TLH->previous_free__OG;
+                next__0PL=next__TLH->next_free__NG;
+                if (((void *)prev__ZPL == (void *)NULL)) {
+                  first_free__VCE=next__0PL;
+                } else {
+                  ((__MEMORY *)prev__ZPL)->next_free__NG=next__0PL;
+                };
+                if (((void *)next__0PL != (void *)NULL)) {
+                  ((__MEMORY *)next__0PL)->previous_free__OG=prev__ZPL;
+                };
+              };
+              new_free__SLH->size_and_id__MG=new_size__XLH;
+              if (((__UINTEGER_32)(new_free__SLH->size_and_id__MG &  2) !=  0)) {
+                last_block[(__tmp__OBF)] = (new_free__SLH);
+              } else {
+                next__TLH=((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__LRG) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__LRG->size_and_id__MG &  4294967292LU)))));
+                next__TLH->previous_linear__LG=((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )new_free__SLH) - (unsigned long)begin_memory__0V))));
+              };
+            };
+          } else {
+            result__QRG=Self__LRG;
+          };
+          result__35E=(void *)((unsigned long)((__POINTER )((__MEMORY *)result__QRG)) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+        };
+        new__RTE=((__CHARACTER *)result__35E);
+        __tmp__EUE=(__INTEGER)(new_capacity__ASC -  1);
+        Self__C2H=__tmp__ZSC;
+        while ((Self__C2H <= __tmp__EUE)) {
+          new__RTE[Self__C2H]='\0';
+          Self__C2H=(__INTEGER)(Self__C2H +  1);
+        };
+        Self__UWB->storage__PVB=new__RTE;
+        Self__UWB->capacity__GWB=new_capacity__ASC;
+      };
+    };
+    ((__CHARACTER *)Self__UWB->storage__PVB)[Self__UWB->count__MUB]='\0';
+    Self__UWB->count__MUB=(__INTEGER)(Self__UWB->count__MUB +  1);
+    Self__UWB->count__MUB=(__INTEGER)(Self__UWB->count__MUB -  1);
+  };
+  return(Self__UWB->storage__PVB);
+}
+
+static __MEMORY* new_page__CPC()
+// () With resultNo recursive, No inlinable.
+{
+  __POINTER mem__IBD;
+  __UINTEGER_32 cap__FBD,old_size__FPC;
+  __INTEGER Self__YND,limit_up__ZND;
+  __MEMORY *block__LPC;
+  __CHARACTER *__tmp__HQL;
+  if ((capacity_max__MPC ==  0)) {
+    mem__IBD=((__POINTER )(NULL));
+    cap__FBD= 33554432;
+    do {
+      cap__FBD=(__UINTEGER_32)(cap__FBD <<  1);
+      mem__IBD=((__POINTER )(malloc((cap__FBD))));
+      if ((mem__IBD != (void *)NULL)) {
+        free((mem__IBD));
+      };
+    } while ((! ((mem__IBD == (void *)NULL) || (cap__FBD ==  2147483648LU))));
+    if ((mem__IBD == (void *)NULL)) {
+      cap__FBD=(__UINTEGER_32)(cap__FBD >>  1);
+    };
+    capacity_max__MPC=cap__FBD;
+    begin_memory__0V=((__POINTER )(malloc((cap__FBD))));
+  };
+  old_size__FPC=(__UINTEGER_32)(nb_page__NDB <<  26);
+  nb_page__NDB=(__UINTEGER_32)(nb_page__NDB +  1);
+  if (((__UINTEGER_32)(old_size__FPC +  67108864) > capacity_max__MPC)) {
+    Self__YND= 1;
+    limit_up__ZND=((__STRING_CONSTANT *)(&__string_2))->count__TND;
+    __tmp__HQL=((__STRING_CONSTANT *)(&__string_2))->storage__Z4D;
+    while ((Self__YND <= limit_up__ZND)) {
+      fputc((int)(((__CHARACTER *)__tmp__HQL)[(__INTEGER)(Self__YND -  1)]),stdout);
+      Self__YND=(__INTEGER)(Self__YND +  1);
+    };
+    exit(( 1));
+  };
+  block__LPC=((__MEMORY *)(void *)((unsigned long)begin_memory__0V - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )old_size__FPC))));
+  block__LPC->previous_linear__LG= 4294967295LU;
+  block__LPC->size_and_id__MG= 67108858;
+  block__LPC->next_free__NG=first_free__VCE;
+  block__LPC->previous_free__OG=NULL;
+  if (((void *)first_free__VCE != (void *)NULL)) {
+    ((__MEMORY *)first_free__VCE)->previous_free__OG=block__LPC;
+  };
+  first_free__VCE=block__LPC;
+  last_block[((__UINTEGER_32)(nb_page__NDB -  1))] = (block__LPC);
+  return(block__LPC);
+}
+
+static __MEMORY* search__SBE(__UINTEGER_32 new_size__UBE)
+// ({UINTEGER_32}) With resultNo recursive, No inlinable.
+{
+  __MEMORY *result__WBE,*Self__0WE,*new__DXE,*prev__NHF,*next__OHF;
+  __MEMORY *Self__3QE,*Self__RDL;
+  __UINTEGER_32 idx__2WE,siz__3WE,new_size__AXE;
+  result__WBE=first_free__VCE;
+  while ((((void *)result__WBE != (void *)NULL) && ((__UINTEGER_32)(((__MEMORY *)result__WBE)->size_and_id__MG &  4294967292LU) < new_size__UBE))) {
+    result__WBE=result__WBE->next_free__NG;
+  };
+  if (((void *)result__WBE == (void *)NULL)) {
+    result__WBE=new_page__CPC();
+  };
+  Self__0WE=((__MEMORY *)result__WBE);
+  idx__2WE=(__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )((__MEMORY *)result__WBE)) - (unsigned long)begin_memory__0V)))) >>  26);
+  new__DXE=NULL;
+  prev__NHF=Self__0WE->previous_free__OG;
+  next__OHF=Self__0WE->next_free__NG;
+  if (((void *)prev__NHF == (void *)NULL)) {
+    first_free__VCE=next__OHF;
+  } else {
+    ((__MEMORY *)prev__NHF)->next_free__NG=next__OHF;
+  };
+  if (((void *)next__OHF != (void *)NULL)) {
+    ((__MEMORY *)next__OHF)->previous_free__OG=prev__NHF;
+  };
+  siz__3WE=Self__0WE->size_and_id__MG;
+  new_size__AXE=(__UINTEGER_32)(siz__3WE - new_size__UBE);
+  if ((new_size__AXE > (__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )(MINIMUM_SIZE)) +  2) +  8))) {
+    siz__3WE=new_size__UBE;
+    new__DXE=((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__0WE) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__UBE))));
+    ((__MEMORY *)new__DXE)->previous_linear__LG=((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )Self__0WE) - (unsigned long)begin_memory__0V))));
+    ((__MEMORY *)new__DXE)->size_and_id__MG=(__UINTEGER_32)(new_size__AXE -  8);
+    Self__3QE=((__MEMORY *)new__DXE);
+    Self__3QE->next_free__NG=first_free__VCE;
+    Self__3QE->previous_free__OG=NULL;
+    if (((void *)first_free__VCE != (void *)NULL)) {
+      ((__MEMORY *)first_free__VCE)->previous_free__OG=Self__3QE;
+    };
+    first_free__VCE=Self__3QE;
+    if (((__UINTEGER_32)(((__MEMORY *)new__DXE)->size_and_id__MG &  2) !=  0)) {
+      last_block[(idx__2WE)] = (new__DXE);
+    } else {
+      Self__RDL=((__MEMORY *)new__DXE);
+      ((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__RDL) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__RDL->size_and_id__MG &  4294967292LU)))))->previous_linear__LG=((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )((__MEMORY *)new__DXE)) - (unsigned long)begin_memory__0V))));
+    };
+  };
+  Self__0WE->size_and_id__MG=(__UINTEGER_32)(siz__3WE |  1);
+  return(result__WBE);
+}
+
+//==========================//
+// DEBUG MANAGER            //
+//==========================//
+
+void print_string(char *str) 
+{ 
+  while (*str!=0) {
+    print_char(*str); 
+    str++; 
+  };
+}  
+
diff --git a/example/shootout/spectral_norm/spectral_norm.c b/example/shootout/spectral_norm/spectral_norm.c
new file mode 100755
index 0000000..84054e2
--- /dev/null
+++ b/example/shootout/spectral_norm/spectral_norm.c
@@ -0,0 +1,1056 @@
+// C code generated by Lisaac compiler (www.isaacOS.com) //
+int arg_count;
+char **arg_vector;
+
+//==========================//
+// EXTERNAL                 //
+//==========================//
+
+// FLOAT_REAL
+#include <math.h>
+// MEMORY
+
+#define MINIMUM_SIZE 256  
+void *table_size[MINIMUM_SIZE/sizeof(void *)];
+void *last_block[64];
+
+// SYSTEM
+#include <time.h>
+// SYSTEM_IO
+
+#include <stdio.h>
+#include <stdlib.h>
+  
+// Hardware 'print_char'
+void print_char(char car)
+{
+  fputc(car,stdout);
+}
+
+// Hardware 'exit'
+int die_with_code(int code)
+{
+  exit(code);
+}
+
+
+
+//==========================//
+// TYPE                     //
+//==========================//
+
+// Generic Object
+struct ___OBJ {
+  unsigned long __id;
+};
+
+// NULL
+#ifndef NULL
+#define NULL ((void *)0)
+#endif
+
+// POINTER
+typedef void * __POINTER;
+
+// UINTEGER_32
+typedef unsigned long __UINTEGER_32;
+
+// INTEGER
+typedef int __INTEGER;
+
+// CHARACTER
+typedef char __CHARACTER;
+
+// STRING
+#define __STRING__ 4
+typedef struct STRING_struct __STRING;
+struct STRING_struct {
+  unsigned long __id;
+  __INTEGER count__ZO;
+  __INTEGER capacity__1O;
+  __CHARACTER *storage__EHC;
+};
+__STRING STRING_={__STRING__};
+#define STRING__ (&STRING_)
+
+// MEMORY
+#define __MEMORY__ 0
+typedef struct MEMORY_struct __MEMORY;
+struct MEMORY_struct {
+  volatile __UINTEGER_32 previous_linear__PF;
+  volatile __UINTEGER_32 size_and_id__QF;
+  __MEMORY *next_free__RF;
+  __MEMORY *previous_free__SF;
+} __attribute__ ((packed));
+__MEMORY MEMORY_;
+#define MEMORY__ (&MEMORY_)
+
+// REAL_64
+typedef double __REAL_64;
+
+// NUMERIC
+#define __NUMERIC__ 1
+typedef struct NUMERIC_struct __NUMERIC;
+struct NUMERIC_struct {
+  void *Nothing;
+};
+__NUMERIC NUMERIC_;
+#define NUMERIC__ (&NUMERIC_)
+
+// ARRAYED_COLLECTION[STRING]
+#define __ARRAYED_COLLECTIONoSTRINGo__ 2
+typedef struct ARRAYED_COLLECTIONoSTRINGo_struct __ARRAYED_COLLECTIONoSTRINGo;
+struct ARRAYED_COLLECTIONoSTRINGo_struct {
+  __INTEGER upper__SE;
+  __INTEGER capacity__QIC;
+  void **storage__1IC;
+};
+__ARRAYED_COLLECTIONoSTRINGo ARRAYED_COLLECTIONoSTRINGo_;
+#define ARRAYED_COLLECTIONoSTRINGo__ (&ARRAYED_COLLECTIONoSTRINGo_)
+
+// FAST_ARRAY[STRING]
+#define __FAST_ARRAYoSTRINGo__ 3
+typedef struct FAST_ARRAYoSTRINGo_struct __FAST_ARRAYoSTRINGo;
+struct FAST_ARRAYoSTRINGo_struct {
+  __ARRAYED_COLLECTIONoSTRINGo parent_arrayed_collection__PE;
+};
+__FAST_ARRAYoSTRINGo FAST_ARRAYoSTRINGo_;
+#define FAST_ARRAYoSTRINGo__ (&FAST_ARRAYoSTRINGo_)
+
+// OBJECT
+#define __OBJECT__ 4
+typedef struct OBJECT_struct __OBJECT;
+struct OBJECT_struct {
+  void *Nothing;
+};
+__OBJECT OBJECT_;
+#define OBJECT__ (&OBJECT_)
+
+// STRING_CONSTANT
+#define __STRING_CONSTANT__ 5
+typedef struct STRING_CONSTANT_struct __STRING_CONSTANT;
+struct STRING_CONSTANT_struct {
+  unsigned long __id;
+  __INTEGER count__24;
+  __CHARACTER *storage__A1D;
+};
+__STRING_CONSTANT STRING_CONSTANT_={__STRING_CONSTANT__};
+#define STRING_CONSTANT__ (&STRING_CONSTANT_)
+
+// TRUE
+#define TRUE__ 1
+
+// FALSE
+#define FALSE__ 0
+
+// SPECTRAL_NORM
+#define __SPECTRAL_NORM__ 5
+typedef struct SPECTRAL_NORM_struct __SPECTRAL_NORM;
+struct SPECTRAL_NORM_struct {
+  void *Nothing;
+};
+__SPECTRAL_NORM SPECTRAL_NORM_;
+#define SPECTRAL_NORM__ (&SPECTRAL_NORM_)
+
+// INTEGER_8
+typedef signed char __INTEGER_8;
+
+// BOOLEAN
+typedef char __BOOLEAN;
+
+// REAL
+typedef float __REAL;
+
+
+void *table_type[6];
+
+//==========================//
+// GLOBAL                   //
+//==========================//
+
+void *parent_numeric__H;
+__POINTER begin_memory__BJB;
+__UINTEGER_32 nb_page__QTB;
+__MEMORY *first_free__CBD;
+__UINTEGER_32 capacity_max__WID;
+void *string_tmp__EI;
+__UINTEGER_32 clone_allocation_size__UW;
+__INTEGER n__XB;
+__REAL_64 *vtmp__CC;
+
+//==========================//
+// STRING CONSTANT          //
+//==========================//
+
+__STRING_CONSTANT __string_1={__STRING_CONSTANT__,5,"%.9f\n"};
+__STRING_CONSTANT __string_2={__STRING_CONSTANT__,19,"Not enough memory.\n"};
+
+//==========================//
+// FUNCTION HEADER          //
+//==========================//
+
+// Debug Manager
+void print_string(char *str);
+// Source code
+static __POINTER micro_alloc__table__lab__EHB(__UINTEGER_32 new_size__GHB,__POINTER ptr_table__HHB,__UINTEGER_32 lab_type__IHB);
+static void** create__JYF(__INTEGER nb_elements__LYF);
+static __STRING* create__LV(__INTEGER needed_capacity__NV);
+static void add_last__5SD(__STRING *Self__ATD,__CHARACTER ch__BTD);
+static __POINTER realloc_dynamic__old_size__new_size__JXH(__POINTER p__LXH,__UINTEGER_32 old_sz__MXH,__UINTEGER_32 new_sz__NXH);
+static __MEMORY* search__55C(__UINTEGER_32 new_size__BAD);
+static void eval_ata_times_u__XLD(__REAL_64 *u__ZLD,__REAL_64 *atau__0LD);
+static __CHARACTER* create__BVF(__INTEGER nb_elements__DVF);
+static void put_string__FUC(void *s__HUC);
+static __POINTER new_lab__4SB(__UINTEGER_32 t__ATB);
+static void copy__to__size__ZZJ(__POINTER src__1ZJ,__POINTER dst__2ZJ,__UINTEGER_32 sz__3ZJ);
+static void to_busy__index__YZG(__MEMORY *Self__ZZG,__UINTEGER_32 sz__0ZG,__UINTEGER_32 idx__1ZG);
+static __MEMORY* new_page__MID();
+
+//==========================//
+// SOURCE CODE              //
+//==========================//
+
+int main(int argc,char **argv)
+{
+  void *str__PI;
+  __INTEGER new_count__KP,typ_id__GW,Self__RP,limit_up__SP,idx__WUD;
+  __INTEGER i__JWD,new_capacity__DXD,__tmp__HYD,__tmp__PFH,Self__3ML;
+  __INTEGER state__Q0K,result__T0K,i__P0K,__tmp__OFS,__tmp__QFS;
+  __INTEGER Self__EG,limit_up__FG,Self__TG,Self__CH,limit_up__DH;
+  __INTEGER old_count__XO,cap__YO,__tmp__FNC,Self__ZPH;
+  __POINTER ptr__BW,result__O5R,result__W5R,result__35R,ptr__2VG;
+  __UINTEGER_32 sz__DW,a__BFS,new_size__CFS,t__FDB,a__2AS,sz__Q5R;
+  __UINTEGER_32 a__S5R,new_size__T5R,new_size2__U5R,a__UFS;
+  __UINTEGER_32 new_size__VFS,sz__Y5R,a__05R,new_size__15R;
+  __UINTEGER_32 new_size2__25R,a__4FS,new_size__5FS,sz__55R,a__BAS;
+  __UINTEGER_32 new_size__CAS,new_size2__DAS,a__WAS,new_size__2BB;
+  __STRING *Self__HWD,*Self__N0K,*Self__3GS,*new__K2,*Self__HMC;
+  __STRING *Self__DGC,*Self__VHC;
+  __REAL_64 vbv__BB,vv__EB,Self__CI;
+  __CHARACTER *arg__OI,*Self__KUD,*p__IWD,*__tmp__PFS,*nc_buf__VO;
+  __CHARACTER *__tmp__5MC,*__tmp__CNC,*Self__L3G,*__tmp__TAS;
+  __FAST_ARRAYoSTRINGo *result__AW,*Self__HIC,*Self__BXD;
+  void *result__NI;
+  __BOOLEAN __tmp__RXD,negative__S0K,__tmp__51K,result__BSP,__tmp__S2K;
+  __BOOLEAN __tmp__H3K,result__4FO,__tmp__O4K,result__QGO,result__XZO;
+  void **__tmp__GYD,**new__2EH;
+  __CHARACTER cc__R0K;
+  __REAL_64 *u__JB,*v__KB;
+  arg_count  = argc;
+  arg_vector = argv;
+  parent_numeric__H=NUMERIC__;
+  ARRAYED_COLLECTIONoSTRINGo__->upper__SE= 0;
+  ARRAYED_COLLECTIONoSTRINGo__->capacity__QIC= 0;
+  ARRAYED_COLLECTIONoSTRINGo__->storage__1IC=NULL;
+  FAST_ARRAYoSTRINGo__->parent_arrayed_collection__PE=(*ARRAYED_COLLECTIONoSTRINGo__);
+  clone_allocation_size__UW= 0;
+  STRING_CONSTANT__->count__24=((__INTEGER )((0)));
+  STRING__->count__ZO= 0;
+  STRING_CONSTANT__->storage__A1D=((__CHARACTER *)(NULL));
+  STRING__->storage__EHC=NULL;
+  nb_page__QTB= 0;
+  MEMORY__->size_and_id__QF= 0;
+  capacity_max__WID= 0;
+  begin_memory__BJB=((__POINTER )(NULL));
+  MEMORY__->previous_linear__PF= 0;
+  first_free__CBD=NULL;
+  MEMORY__->next_free__RF=NULL;
+  MEMORY__->previous_free__SF=NULL;
+  STRING__->capacity__1O= 0;
+  arg__OI=NULL;
+  str__PI=NULL;
+  new_count__KP=((__INTEGER )(arg_count));
+  result__AW=NULL;
+  ptr__BW=((__POINTER )(NULL));
+  typ_id__GW= 0;
+  sz__DW=((__UINTEGER_32 )sizeof(__FAST_ARRAYoSTRINGo));
+  if ((sz__DW ==  0)) {
+    result__AW=FAST_ARRAYoSTRINGo__;
+  } else {
+    typ_id__GW=__FAST_ARRAYoSTRINGo__;
+    clone_allocation_size__UW=sz__DW;
+    if ((typ_id__GW == (__INTEGER)(-  1))) {
+      a__BFS=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__CFS=(__UINTEGER_32)((__UINTEGER_32)(sz__DW + a__BFS) & (__UINTEGER_32)(~ a__BFS));
+      ptr__BW=micro_alloc__table__lab__EHB(new_size__CFS,((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__CFS / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1]))),new_size__CFS);
+    } else {
+      t__FDB=((__UINTEGER_32 )typ_id__GW);
+      a__2AS=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      ptr__BW=micro_alloc__table__lab__EHB((__UINTEGER_32)((__UINTEGER_32)(sz__DW + a__2AS) & (__UINTEGER_32)(~ a__2AS)),((__POINTER )(&(table_type[(t__FDB)]))),(__UINTEGER_32)(t__FDB |  1));
+    };
+    result__AW=((__FAST_ARRAYoSTRINGo *)ptr__BW);
+    *(result__AW) = *(FAST_ARRAYoSTRINGo__);
+  };
+  Self__HIC=((__FAST_ARRAYoSTRINGo *)result__AW);
+  if ((Self__HIC->parent_arrayed_collection__PE.capacity__QIC < new_count__KP)) {
+    Self__HIC->parent_arrayed_collection__PE.storage__1IC=create__JYF(new_count__KP);
+    Self__HIC->parent_arrayed_collection__PE.capacity__QIC=new_count__KP;
+  };
+  Self__HIC->parent_arrayed_collection__PE.upper__SE=(__INTEGER)(-  1);
+  result__NI=result__AW;
+  Self__RP= 0;
+  limit_up__SP=(__INTEGER)(((__INTEGER )(arg_count)) -  1);
+  while ((Self__RP <= limit_up__SP)) {
+    arg__OI=((__CHARACTER *)(arg_vector[(Self__RP)]));
+    Self__KUD=((__CHARACTER *)arg__OI);
+    idx__WUD= 0;
+    while ((! ((idx__WUD >  1024) || ('\0' == Self__KUD[idx__WUD])))) {
+      idx__WUD=(__INTEGER)(idx__WUD +  1);
+    };
+    str__PI=create__LV(idx__WUD);
+    Self__HWD=((__STRING *)str__PI);
+    p__IWD=arg__OI;
+    i__JWD= 0;
+    Self__HWD->count__ZO= 0;
+    while ((((__CHARACTER *)p__IWD)[i__JWD] != '\0')) {
+      add_last__5SD(Self__HWD,((__CHARACTER *)p__IWD)[i__JWD]);
+      i__JWD=(__INTEGER)(i__JWD +  1);
+    };
+    Self__BXD=((__FAST_ARRAYoSTRINGo *)result__NI);
+    new_capacity__DXD= 0;
+    if (((__INTEGER)(Self__BXD->parent_arrayed_collection__PE.upper__SE +  1) <= (__INTEGER)(Self__BXD->parent_arrayed_collection__PE.capacity__QIC -  1))) {
+      Self__BXD->parent_arrayed_collection__PE.upper__SE=(__INTEGER)(Self__BXD->parent_arrayed_collection__PE.upper__SE +  1);
+      __tmp__RXD=TRUE__;
+    } else {
+      __tmp__RXD=FALSE__;
+    };
+    if ((! __tmp__RXD)) {
+      if ((Self__BXD->parent_arrayed_collection__PE.capacity__QIC ==  0)) {
+        Self__BXD->parent_arrayed_collection__PE.storage__1IC=create__JYF( 2);
+        Self__BXD->parent_arrayed_collection__PE.capacity__QIC= 2;
+        Self__BXD->parent_arrayed_collection__PE.upper__SE= 0;
+      } else {
+        new_capacity__DXD=(__INTEGER)(Self__BXD->parent_arrayed_collection__PE.capacity__QIC <<  1);
+        __tmp__GYD=Self__BXD->parent_arrayed_collection__PE.storage__1IC;
+        __tmp__HYD=Self__BXD->parent_arrayed_collection__PE.capacity__QIC;
+        new__2EH=((void **)realloc_dynamic__old_size__new_size__JXH(((__POINTER )((void **)__tmp__GYD)),((__UINTEGER_32 )(__INTEGER)(__tmp__HYD * ((__INTEGER )(sizeof(void *))))),((__UINTEGER_32 )(__INTEGER)(new_capacity__DXD * ((__INTEGER )(sizeof(void *)))))));
+        __tmp__PFH=(__INTEGER)(new_capacity__DXD -  1);
+        Self__3ML=__tmp__HYD;
+        while ((Self__3ML <= __tmp__PFH)) {
+          new__2EH[Self__3ML]=NULL;
+          Self__3ML=(__INTEGER)(Self__3ML +  1);
+        };
+        Self__BXD->parent_arrayed_collection__PE.storage__1IC=new__2EH;
+        Self__BXD->parent_arrayed_collection__PE.capacity__QIC=new_capacity__DXD;
+        Self__BXD->parent_arrayed_collection__PE.upper__SE=(__INTEGER)(Self__BXD->parent_arrayed_collection__PE.upper__SE +  1);
+      };
+    };
+    ((void **)Self__BXD->parent_arrayed_collection__PE.storage__1IC)[Self__BXD->parent_arrayed_collection__PE.upper__SE]=str__PI;
+    Self__RP=(__INTEGER)(Self__RP +  1);
+  };
+  n__XB= 0;
+  vtmp__CC=NULL;
+  string_tmp__EI=create__LV( 32);
+  vbv__BB=((__REAL_64 ) 0);
+  vv__EB=((__REAL_64 ) 0);
+  if ((result__AW->parent_arrayed_collection__PE.upper__SE ==  1)) {
+    Self__N0K=((__STRING *)((void **)((__FAST_ARRAYoSTRINGo *)result__AW)->parent_arrayed_collection__PE.storage__1IC)[ 1]);
+    state__Q0K= 0;
+    cc__R0K='\0';
+    negative__S0K=FALSE__;
+    result__T0K= 0;
+    i__P0K= 1;
+    __tmp__OFS=Self__N0K->count__ZO;
+    __tmp__PFS=Self__N0K->storage__EHC;
+    __tmp__QFS=Self__N0K->count__ZO;
+    while ((i__P0K <= __tmp__OFS)) {
+      cc__R0K=((__CHARACTER *)__tmp__PFS)[(__INTEGER)(i__P0K -  1)];
+      if ((state__Q0K ==  0)) {
+        if ((((((((cc__R0K == ' ') || (cc__R0K == '\t')) || (cc__R0K == '\n')) || (cc__R0K == '\r')) || (cc__R0K == '\0')) || (cc__R0K == '\f')) || (cc__R0K == '\v'))) {
+          __tmp__51K=TRUE__;
+        } else {
+          result__BSP=(cc__R0K == '+');
+          if (result__BSP) {
+            state__Q0K= 1;
+          };
+          __tmp__51K=result__BSP;
+        };
+        if ((! __tmp__51K)) {
+          if ((cc__R0K == '-')) {
+            negative__S0K=TRUE__;
+            state__Q0K= 1;
+          } else {
+            result__T0K=(__INTEGER)(((__INTEGER )((__INTEGER_8 )cc__R0K)) -  48);
+            state__Q0K= 2;
+          };
+        };
+        __tmp__S2K=TRUE__;
+      } else {
+        __tmp__S2K=FALSE__;
+      };
+      if (__tmp__S2K) {
+        __tmp__H3K=TRUE__;
+      } else {
+        result__4FO=(state__Q0K ==  1);
+        if (result__4FO) {
+          result__T0K=(__INTEGER)(((__INTEGER )((__INTEGER_8 )cc__R0K)) -  48);
+          if (negative__S0K) {
+            result__T0K=(__INTEGER)(- result__T0K);
+          };
+          state__Q0K= 2;
+        };
+        __tmp__H3K=result__4FO;
+      };
+      if (__tmp__H3K) {
+        __tmp__O4K=TRUE__;
+      } else {
+        result__QGO=(state__Q0K ==  2);
+        if (result__QGO) {
+          result__XZO=FALSE__;
+          if ((((__INTEGER_8 )cc__R0K) >= ((__INTEGER_8 )'0'))) {
+            result__XZO=(((__INTEGER_8 )cc__R0K) <= ((__INTEGER_8 )'9'));
+          };
+          if (result__XZO) {
+            if (negative__S0K) {
+              result__T0K=(__INTEGER)((__INTEGER)( 10 * result__T0K) - (__INTEGER)(((__INTEGER )((__INTEGER_8 )cc__R0K)) -  48));
+            } else {
+              result__T0K=(__INTEGER)((__INTEGER)( 10 * result__T0K) + (__INTEGER)(((__INTEGER )((__INTEGER_8 )cc__R0K)) -  48));
+            };
+          } else {
+            state__Q0K= 3;
+          };
+        };
+        __tmp__O4K=result__QGO;
+      };
+      if ((! __tmp__O4K)) {
+        if ((state__Q0K ==  3)) {
+          i__P0K=__tmp__QFS;
+        };
+      };
+      i__P0K=(__INTEGER)(i__P0K +  1);
+    };
+    n__XB=result__T0K;
+  } else {
+    n__XB= 2000;
+  };
+  sz__Q5R=((__UINTEGER_32 )(__INTEGER)(n__XB * sizeof(__REAL_64)));
+  result__O5R=((__POINTER )(NULL));
+  a__S5R=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+  new_size__T5R=(__UINTEGER_32)((__UINTEGER_32)(sz__Q5R + a__S5R) & (__UINTEGER_32)(~ a__S5R));
+  new_size2__U5R=(__UINTEGER_32)(new_size__T5R + ((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))));
+  if ((new_size2__U5R <= ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+    a__UFS=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+    new_size__VFS=(__UINTEGER_32)((__UINTEGER_32)(new_size2__U5R + a__UFS) & (__UINTEGER_32)(~ a__UFS));
+    result__O5R=micro_alloc__table__lab__EHB(new_size__VFS,((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__VFS / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1]))),new_size__VFS);
+    ((__POINTER *)result__O5R)[ 0]=((__POINTER ) 3);
+    result__O5R=(void *)((unsigned long)result__O5R - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+  } else {
+    result__O5R=(void *)((unsigned long)((__POINTER )((__MEMORY *)search__55C(new_size__T5R))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+  };
+  u__JB=((__REAL_64 *)result__O5R);
+  sz__Y5R=((__UINTEGER_32 )(__INTEGER)(n__XB * sizeof(__REAL_64)));
+  result__W5R=((__POINTER )(NULL));
+  a__05R=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+  new_size__15R=(__UINTEGER_32)((__UINTEGER_32)(sz__Y5R + a__05R) & (__UINTEGER_32)(~ a__05R));
+  new_size2__25R=(__UINTEGER_32)(new_size__15R + ((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))));
+  if ((new_size2__25R <= ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+    a__4FS=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+    new_size__5FS=(__UINTEGER_32)((__UINTEGER_32)(new_size2__25R + a__4FS) & (__UINTEGER_32)(~ a__4FS));
+    result__W5R=micro_alloc__table__lab__EHB(new_size__5FS,((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__5FS / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1]))),new_size__5FS);
+    ((__POINTER *)result__W5R)[ 0]=((__POINTER ) 3);
+    result__W5R=(void *)((unsigned long)result__W5R - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+  } else {
+    result__W5R=(void *)((unsigned long)((__POINTER )((__MEMORY *)search__55C(new_size__15R))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+  };
+  vtmp__CC=((__REAL_64 *)result__W5R);
+  sz__55R=((__UINTEGER_32 )(__INTEGER)(n__XB * sizeof(__REAL_64)));
+  result__35R=((__POINTER )(NULL));
+  a__BAS=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+  new_size__CAS=(__UINTEGER_32)((__UINTEGER_32)(sz__55R + a__BAS) & (__UINTEGER_32)(~ a__BAS));
+  new_size2__DAS=(__UINTEGER_32)(new_size__CAS + ((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))));
+  if ((new_size2__DAS <= ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+    a__WAS=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+    new_size__2BB=(__UINTEGER_32)((__UINTEGER_32)(new_size2__DAS + a__WAS) & (__UINTEGER_32)(~ a__WAS));
+    result__35R=micro_alloc__table__lab__EHB(new_size__2BB,((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__2BB / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1]))),new_size__2BB);
+    ((__POINTER *)result__35R)[ 0]=((__POINTER ) 3);
+    result__35R=(void *)((unsigned long)result__35R - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+  } else {
+    result__35R=(void *)((unsigned long)((__POINTER )((__MEMORY *)search__55C(new_size__CAS))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+  };
+  v__KB=((__REAL_64 *)result__35R);
+  n__XB=(__INTEGER)(n__XB -  1);
+  Self__EG= 0;
+  limit_up__FG=n__XB;
+  while ((Self__EG <= limit_up__FG)) {
+    u__JB[Self__EG]=((__REAL_64 ) 1);
+    Self__EG=(__INTEGER)(Self__EG +  1);
+  };
+  Self__TG= 0;
+  while ((Self__TG <=  9)) {
+    eval_ata_times_u__XLD(u__JB,v__KB);
+    eval_ata_times_u__XLD(v__KB,u__JB);
+    Self__TG=(__INTEGER)(Self__TG +  1);
+  };
+  Self__CH= 0;
+  limit_up__DH=n__XB;
+  while ((Self__CH <= limit_up__DH)) {
+    vbv__BB=((__REAL_64 )((vbv__BB) + ((__REAL_64)(u__JB[Self__CH] * v__KB[Self__CH]))));
+    vv__EB=((__REAL_64 )((vv__EB) + ((__REAL_64)(v__KB[Self__CH] * v__KB[Self__CH]))));
+    Self__CH=(__INTEGER)(Self__CH +  1);
+  };
+  Self__CI=((__REAL_64 )(sqrt(((__REAL_64)(vbv__BB / vv__EB)))));
+  ((__STRING *)string_tmp__EI)->count__ZO= 0;
+  old_count__XO=((__STRING *)string_tmp__EI)->count__ZO;
+  cap__YO=(__INTEGER)(((__STRING *)string_tmp__EI)->capacity__1O - old_count__XO);
+  Self__3GS=((__STRING *)string_tmp__EI);
+  if ((Self__3GS->capacity__1O > Self__3GS->count__ZO)) {
+    Self__3GS->count__ZO=(__INTEGER)(Self__3GS->count__ZO +  1);
+    if ((((__CHARACTER *)Self__3GS->storage__EHC)[(__INTEGER)(Self__3GS->count__ZO -  1)] != '\0')) {
+      ((__CHARACTER *)Self__3GS->storage__EHC)[(__INTEGER)(Self__3GS->count__ZO -  1)]='\0';
+    };
+  } else {
+    add_last__5SD(Self__3GS,'\0');
+  };
+  Self__3GS->count__ZO=(__INTEGER)(Self__3GS->count__ZO -  1);
+  ptr__2VG=((__POINTER )((__CHARACTER *)Self__3GS->storage__EHC));
+  ptr__2VG=(void *)((unsigned long)ptr__2VG - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )old_count__XO)));
+  nc_buf__VO=((__CHARACTER *)ptr__2VG);
+  new__K2=create__LV(((__STRING_CONSTANT *)(&__string_1))->count__24);
+  Self__HMC=((__STRING *)new__K2);
+  Self__HMC->count__ZO=((__STRING_CONSTANT *)(&__string_1))->count__24;
+  if ((Self__HMC->count__ZO >  0)) {
+    if ((Self__HMC->capacity__1O < Self__HMC->count__ZO)) {
+      Self__HMC->storage__EHC=create__BVF(Self__HMC->count__ZO);
+      Self__HMC->capacity__1O=Self__HMC->count__ZO;
+    };
+    __tmp__5MC=Self__HMC->storage__EHC;
+    __tmp__CNC=((__STRING_CONSTANT *)(&__string_1))->storage__A1D;
+    __tmp__FNC=(__INTEGER)(Self__HMC->count__ZO -  1);
+    Self__L3G=((__CHARACTER *)__tmp__5MC);
+    Self__ZPH=__tmp__FNC;
+    while ((Self__ZPH >=  0)) {
+      Self__L3G[Self__ZPH]=((__CHARACTER *)__tmp__CNC)[Self__ZPH];
+      Self__ZPH=(__INTEGER)(Self__ZPH -  1);
+    };
+  };
+  Self__DGC=((__STRING *)new__K2);
+  if ((Self__DGC->capacity__1O > Self__DGC->count__ZO)) {
+    Self__DGC->count__ZO=(__INTEGER)(Self__DGC->count__ZO +  1);
+    if ((((__CHARACTER *)Self__DGC->storage__EHC)[(__INTEGER)(Self__DGC->count__ZO -  1)] != '\0')) {
+      ((__CHARACTER *)Self__DGC->storage__EHC)[(__INTEGER)(Self__DGC->count__ZO -  1)]='\0';
+    };
+  } else {
+    add_last__5SD(Self__DGC,'\0');
+  };
+  Self__DGC->count__ZO=(__INTEGER)(Self__DGC->count__ZO -  1);
+  snprintf((nc_buf__VO),(cap__YO),(Self__DGC->storage__EHC),(Self__CI));
+  Self__VHC=((__STRING *)string_tmp__EI);
+  Self__VHC->count__ZO= 0;
+  __tmp__TAS=Self__VHC->storage__EHC;
+  while ((((__CHARACTER *)__tmp__TAS)[Self__VHC->count__ZO] != '\0')) {
+    Self__VHC->count__ZO=(__INTEGER)(Self__VHC->count__ZO +  1);
+  };
+  put_string__FUC(((__STRING *)string_tmp__EI));
+  return( 0);
+}
+
+static __POINTER micro_alloc__table__lab__EHB(__UINTEGER_32 new_size__GHB,__POINTER ptr_table__HHB,__UINTEGER_32 lab_type__IHB)
+// ({UINTEGER_32},{POINTER},{UINTEGER_32}) With resultNo recursive, No inlinable.
+{
+  __POINTER next__MHB,result__KHB;
+  next__MHB=((__POINTER )(NULL));
+  result__KHB=((__POINTER *)ptr_table__HHB)[ 0];
+  if ((result__KHB == (void *)NULL)) {
+    result__KHB=new_lab__4SB(lab_type__IHB);
+    next__MHB=(void *)((unsigned long)result__KHB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__GHB)));
+    ((__POINTER *)next__MHB)[ 0]=NULL;
+    ((__POINTER *)ptr_table__HHB)[ 0]=next__MHB;
+  } else {
+    next__MHB=((__POINTER *)result__KHB)[ 0];
+    if ((next__MHB == (void *)NULL)) {
+      if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__KHB - (unsigned long)begin_memory__BJB)))) &  4095) + (__UINTEGER_32)(new_size__GHB <<  1)) <=  4096)) {
+        next__MHB=(void *)((unsigned long)result__KHB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__GHB)));
+      } else {
+        next__MHB=new_lab__4SB(lab_type__IHB);
+      };
+      ((__POINTER *)next__MHB)[ 0]=NULL;
+      ((__POINTER *)ptr_table__HHB)[ 0]=next__MHB;
+    } else {
+      ((__POINTER *)result__KHB)[ 0]=(void *)((unsigned long)((__POINTER *)next__MHB)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+      result__KHB=next__MHB;
+    };
+  };
+  return(result__KHB);
+}
+
+static void** create__JYF(__INTEGER nb_elements__LYF)
+// ({INTEGER}) With resultNo recursive, No inlinable.
+{
+  __UINTEGER_32 sz__ABS,a__CBS,new_size__DBS,new_size2__EBS,a__IBS;
+  __UINTEGER_32 new_size__JBS;
+  __POINTER result__4AS;
+  __INTEGER Self__R5H;
+  void **Result__EBG;
+  sz__ABS=((__UINTEGER_32 )(__INTEGER)(nb_elements__LYF * ((__INTEGER )(sizeof(void *)))));
+  result__4AS=((__POINTER )(NULL));
+  a__CBS=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+  new_size__DBS=(__UINTEGER_32)((__UINTEGER_32)(sz__ABS + a__CBS) & (__UINTEGER_32)(~ a__CBS));
+  new_size2__EBS=(__UINTEGER_32)(new_size__DBS + ((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))));
+  if ((new_size2__EBS <= ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+    a__IBS=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+    new_size__JBS=(__UINTEGER_32)((__UINTEGER_32)(new_size2__EBS + a__IBS) & (__UINTEGER_32)(~ a__IBS));
+    result__4AS=micro_alloc__table__lab__EHB(new_size__JBS,((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__JBS / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1]))),new_size__JBS);
+    ((__POINTER *)result__4AS)[ 0]=((__POINTER ) 3);
+    result__4AS=(void *)((unsigned long)result__4AS - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+  } else {
+    result__4AS=(void *)((unsigned long)((__POINTER )((__MEMORY *)search__55C(new_size__DBS))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+  };
+  Result__EBG=((void **)result__4AS);
+  Self__R5H=(__INTEGER)(nb_elements__LYF -  1);
+  while ((Self__R5H >=  0)) {
+    Result__EBG[Self__R5H]=NULL;
+    Self__R5H=(__INTEGER)(Self__R5H -  1);
+  };
+  return(Result__EBG);
+}
+
+static __STRING* create__LV(__INTEGER needed_capacity__NV)
+// ({INTEGER}) With resultNo recursive, No inlinable.
+{
+  __STRING *result__50,*Self__4KC;
+  __POINTER ptr__A1;
+  __INTEGER typ_id__F1;
+  __UINTEGER_32 sz__C1,a__PBS,new_size__QBS,t__ZBS,a__WBS;
+  result__50=NULL;
+  ptr__A1=((__POINTER )(NULL));
+  typ_id__F1= 0;
+  sz__C1=((__UINTEGER_32 )sizeof(__STRING));
+  if ((sz__C1 ==  0)) {
+    result__50=STRING__;
+  } else {
+    typ_id__F1=-1;
+    clone_allocation_size__UW=(__UINTEGER_32)(clone_allocation_size__UW + sz__C1);
+    if ((typ_id__F1 == (__INTEGER)(-  1))) {
+      a__PBS=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__QBS=(__UINTEGER_32)((__UINTEGER_32)(sz__C1 + a__PBS) & (__UINTEGER_32)(~ a__PBS));
+      ptr__A1=micro_alloc__table__lab__EHB(new_size__QBS,((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__QBS / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1]))),new_size__QBS);
+    } else {
+      t__ZBS=((__UINTEGER_32 )typ_id__F1);
+      a__WBS=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      ptr__A1=micro_alloc__table__lab__EHB((__UINTEGER_32)((__UINTEGER_32)(sz__C1 + a__WBS) & (__UINTEGER_32)(~ a__WBS)),((__POINTER )(&(table_type[(t__ZBS)]))),(__UINTEGER_32)(t__ZBS |  1));
+    };
+    result__50=((__STRING *)ptr__A1);
+    *(result__50) = *(STRING__);
+  };
+  Self__4KC=((__STRING *)result__50);
+  if ((needed_capacity__NV >  0)) {
+    if ((Self__4KC->capacity__1O < needed_capacity__NV)) {
+      Self__4KC->storage__EHC=create__BVF(needed_capacity__NV);
+      Self__4KC->capacity__1O=needed_capacity__NV;
+    };
+  };
+  Self__4KC->count__ZO= 0;
+  return(result__50);
+}
+
+static void add_last__5SD(__STRING *Self__ATD,__CHARACTER ch__BTD)
+// ({STRING},{CHARACTER}) VoidNo recursive, No inlinable.
+{
+  __INTEGER new_capacity__CTD,__tmp__1TD,__tmp__YDH,Self__4KL;
+  __CHARACTER *__tmp__0TD,*new__FDH;
+  new_capacity__CTD= 0;
+  if ((Self__ATD->capacity__1O <= Self__ATD->count__ZO)) {
+    if ((Self__ATD->capacity__1O ==  0)) {
+      Self__ATD->capacity__1O= 32;
+      Self__ATD->storage__EHC=create__BVF( 32);
+    } else {
+      new_capacity__CTD=(__INTEGER)(Self__ATD->capacity__1O <<  1);
+      __tmp__0TD=Self__ATD->storage__EHC;
+      __tmp__1TD=Self__ATD->capacity__1O;
+      new__FDH=((__CHARACTER *)realloc_dynamic__old_size__new_size__JXH(((__POINTER )((__CHARACTER *)__tmp__0TD)),((__UINTEGER_32 )__tmp__1TD),((__UINTEGER_32 )new_capacity__CTD)));
+      __tmp__YDH=(__INTEGER)(new_capacity__CTD -  1);
+      Self__4KL=__tmp__1TD;
+      while ((Self__4KL <= __tmp__YDH)) {
+        new__FDH[Self__4KL]='\0';
+        Self__4KL=(__INTEGER)(Self__4KL +  1);
+      };
+      Self__ATD->storage__EHC=new__FDH;
+      Self__ATD->capacity__1O=new_capacity__CTD;
+    };
+  };
+  ((__CHARACTER *)Self__ATD->storage__EHC)[Self__ATD->count__ZO]=ch__BTD;
+  Self__ATD->count__ZO=(__INTEGER)(Self__ATD->count__ZO +  1);
+}
+
+static __POINTER realloc_dynamic__old_size__new_size__JXH(__POINTER p__LXH,__UINTEGER_32 old_sz__MXH,__UINTEGER_32 new_sz__NXH)
+// ({POINTER},{UINTEGER_32},{UINTEGER_32}) With resultNo recursive, No inlinable.
+{
+  __MEMORY *mem__YXH,*Self__L2J,*nxt__P2J,*result__Q2J,*next__3SK;
+  __MEMORY *new_free__2SK,*prev__0CS,*next__1CS;
+  __POINTER result__ZXH,result__CCS,p__B1J,last__JGK;
+  __UINTEGER_32 a__2BS,old_size__PXH,old_size2__SXH,a__ACS;
+  __UINTEGER_32 new_size__VXH,a__GCS,new_size__HCS,new_size2__ICS;
+  __UINTEGER_32 a__MCS,new_size__NCS,a__UT,__tmp__KZH,sz__U2J;
+  __UINTEGER_32 old_size__R2J,prev__4SK,new_size__BTK;
+  mem__YXH=NULL;
+  result__ZXH=((__POINTER )(NULL));
+  a__2BS=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+  old_size__PXH=(__UINTEGER_32)((__UINTEGER_32)(old_sz__MXH + a__2BS) & (__UINTEGER_32)(~ a__2BS));
+  old_size2__SXH=(__UINTEGER_32)(old_size__PXH + ((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))));
+  a__ACS=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+  new_size__VXH=(__UINTEGER_32)((__UINTEGER_32)(new_sz__NXH + a__ACS) & (__UINTEGER_32)(~ a__ACS));
+  if ((old_size2__SXH <= ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+    result__CCS=((__POINTER )(NULL));
+    a__GCS=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+    new_size__HCS=(__UINTEGER_32)((__UINTEGER_32)(new_size__VXH + a__GCS) & (__UINTEGER_32)(~ a__GCS));
+    new_size2__ICS=(__UINTEGER_32)(new_size__HCS + ((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))));
+    if ((new_size2__ICS <= ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+      a__MCS=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__NCS=(__UINTEGER_32)((__UINTEGER_32)(new_size2__ICS + a__MCS) & (__UINTEGER_32)(~ a__MCS));
+      result__CCS=micro_alloc__table__lab__EHB(new_size__NCS,((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__NCS / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1]))),new_size__NCS);
+      ((__POINTER *)result__CCS)[ 0]=((__POINTER ) 3);
+      result__CCS=(void *)((unsigned long)result__CCS - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+    } else {
+      result__CCS=(void *)((unsigned long)((__POINTER )((__MEMORY *)search__55C(new_size__HCS))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+    };
+    result__ZXH=result__CCS;
+    copy__to__size__ZZJ(p__LXH,result__CCS,old_size__PXH);
+    p__B1J=(void *)((unsigned long)p__LXH - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *)))));
+    a__UT=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+    last__JGK=((__POINTER *)((__POINTER )(&(table_size[((__UINTEGER_32)((__UINTEGER_32)((__UINTEGER_32)(old_size2__SXH + a__UT) & (__UINTEGER_32)(~ a__UT)) / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1]))))[ 0];
+    ((__POINTER *)p__B1J)[ 0]=(void *)((unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)(void *)((unsigned long)(void *)((unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER *)last__JGK)[ 0]) - (unsigned long)((__POINTER ) 1)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 3)) - (unsigned long)((__POINTER ) 1)))) - (unsigned long)((__POINTER ) 1));
+    ((__POINTER *)last__JGK)[ 0]=p__B1J;
+  } else {
+    mem__YXH=((__MEMORY *)(void *)((unsigned long)p__LXH - (unsigned long)((__POINTER ) 8)));
+    __tmp__KZH=(__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)p__LXH - (unsigned long)begin_memory__BJB)))) >>  26);
+    Self__L2J=((__MEMORY *)mem__YXH);
+    nxt__P2J=NULL;
+    result__Q2J=NULL;
+    sz__U2J= 0;
+    old_size__R2J=(__UINTEGER_32)(Self__L2J->size_and_id__QF &  4294967292LU);
+    if ((new_size__VXH > old_size__R2J)) {
+      if ((! ((__UINTEGER_32)(Self__L2J->size_and_id__QF &  2) !=  0))) {
+        nxt__P2J=((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__L2J) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__L2J->size_and_id__QF &  4294967292LU)))));
+        sz__U2J=(__UINTEGER_32)((__UINTEGER_32)(new_size__VXH - old_size__R2J) -  8);
+        if ((((__UINTEGER_32)(((__MEMORY *)nxt__P2J)->size_and_id__QF &  1) ==  0) && ((__UINTEGER_32)(((__MEMORY *)nxt__P2J)->size_and_id__QF &  4294967292LU) >= sz__U2J))) {
+          to_busy__index__YZG(nxt__P2J,sz__U2J,__tmp__KZH);
+          Self__L2J->size_and_id__QF=(__UINTEGER_32)((__UINTEGER_32)(Self__L2J->size_and_id__QF + (__UINTEGER_32)(nxt__P2J->size_and_id__QF &  4294967294LU)) +  8);
+          if (((__UINTEGER_32)(Self__L2J->size_and_id__QF &  2) !=  0)) {
+            last_block[(__tmp__KZH)] = (Self__L2J);
+          } else {
+            nxt__P2J=((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__L2J) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__L2J->size_and_id__QF &  4294967292LU)))));
+            ((__MEMORY *)nxt__P2J)->previous_linear__PF=((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )Self__L2J) - (unsigned long)begin_memory__BJB))));
+          };
+          result__Q2J=Self__L2J;
+        };
+      };
+      if (((void *)result__Q2J == (void *)NULL)) {
+        result__Q2J=search__55C(new_size__VXH);
+        copy__to__size__ZZJ((void *)((unsigned long)((__POINTER )Self__L2J) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))),(void *)((unsigned long)((__POINTER )((__MEMORY *)result__Q2J)) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))),old_size__R2J);
+        prev__4SK=Self__L2J->previous_linear__PF;
+        next__3SK=((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__L2J) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__L2J->size_and_id__QF &  4294967292LU)))));
+        new_free__2SK=((__MEMORY *)(void *)((unsigned long)begin_memory__BJB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )prev__4SK))));
+        new_size__BTK=(__UINTEGER_32)(Self__L2J->size_and_id__QF &  4294967294LU);
+        if (((prev__4SK ==  4294967295LU) || ((__UINTEGER_32)(new_free__2SK->size_and_id__QF &  1) !=  0))) {
+          new_free__2SK=Self__L2J;
+          Self__L2J->next_free__RF=first_free__CBD;
+          Self__L2J->previous_free__SF=NULL;
+          if (((void *)first_free__CBD != (void *)NULL)) {
+            ((__MEMORY *)first_free__CBD)->previous_free__SF=Self__L2J;
+          };
+          first_free__CBD=Self__L2J;
+        } else {
+          new_size__BTK=(__UINTEGER_32)((__UINTEGER_32)(new_size__BTK + new_free__2SK->size_and_id__QF) +  8);
+        };
+        if (((! ((__UINTEGER_32)(Self__L2J->size_and_id__QF &  2) !=  0)) && ((__UINTEGER_32)(next__3SK->size_and_id__QF &  1) ==  0))) {
+          new_size__BTK=(__UINTEGER_32)((__UINTEGER_32)(new_size__BTK + next__3SK->size_and_id__QF) +  8);
+          prev__0CS=next__3SK->previous_free__SF;
+          next__1CS=next__3SK->next_free__RF;
+          if (((void *)prev__0CS == (void *)NULL)) {
+            first_free__CBD=next__1CS;
+          } else {
+            ((__MEMORY *)prev__0CS)->next_free__RF=next__1CS;
+          };
+          if (((void *)next__1CS != (void *)NULL)) {
+            ((__MEMORY *)next__1CS)->previous_free__SF=prev__0CS;
+          };
+        };
+        new_free__2SK->size_and_id__QF=new_size__BTK;
+        if (((__UINTEGER_32)(new_free__2SK->size_and_id__QF &  2) !=  0)) {
+          last_block[(__tmp__KZH)] = (new_free__2SK);
+        } else {
+          next__3SK=((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__L2J) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__L2J->size_and_id__QF &  4294967292LU)))));
+          next__3SK->previous_linear__PF=((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )new_free__2SK) - (unsigned long)begin_memory__BJB))));
+        };
+      };
+    } else {
+      result__Q2J=Self__L2J;
+    };
+    result__ZXH=(void *)((unsigned long)((__POINTER )((__MEMORY *)result__Q2J)) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+  };
+  return(result__ZXH);
+}
+
+static __MEMORY* search__55C(__UINTEGER_32 new_size__BAD)
+// ({UINTEGER_32}) With resultNo recursive, No inlinable.
+{
+  __MEMORY *result__DAD;
+  result__DAD=first_free__CBD;
+  while ((((void *)result__DAD != (void *)NULL) && ((__UINTEGER_32)(((__MEMORY *)result__DAD)->size_and_id__QF &  4294967292LU) < new_size__BAD))) {
+    result__DAD=result__DAD->next_free__RF;
+  };
+  if (((void *)result__DAD == (void *)NULL)) {
+    result__DAD=new_page__MID();
+  };
+  to_busy__index__YZG(result__DAD,new_size__BAD,(__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )((__MEMORY *)result__DAD)) - (unsigned long)begin_memory__BJB)))) >>  26));
+  return(result__DAD);
+}
+
+static void eval_ata_times_u__XLD(__REAL_64 *u__ZLD,__REAL_64 *atau__0LD)
+// ({NATIVE_ARRAYoExpanded_REAL_64o},{NATIVE_ARRAYoExpanded_REAL_64o}) VoidNo recursive, No inlinable.
+{
+  __INTEGER __tmp__GDE,Self__VWE,i__KDE,__tmp__ODE,Self__J2F,__tmp__CEE;
+  __INTEGER Self__EXE,i__GEE,__tmp__KEE,Self__Z2F;
+  __REAL_64 *__tmp__3LD,*u__AEE;
+  __tmp__3LD=vtmp__CC;
+  __tmp__GDE=n__XB;
+  Self__VWE= 0;
+  while ((Self__VWE <= __tmp__GDE)) {
+    i__KDE=Self__VWE;
+    ((__REAL_64 *)__tmp__3LD)[Self__VWE]=((__REAL_64 ) 0);
+    __tmp__ODE=n__XB;
+    Self__J2F= 0;
+    while ((Self__J2F <= __tmp__ODE)) {
+      ((__REAL_64 *)__tmp__3LD)[i__KDE]=((__REAL_64 )((((__REAL_64 *)__tmp__3LD)[i__KDE]) + ((__REAL_64)(((__REAL_64 )(__REAL)(1.0 / ((__REAL )(__INTEGER)((__INTEGER)((__INTEGER)((__INTEGER)((__INTEGER)(i__KDE + Self__J2F) * (__INTEGER)((__INTEGER)(i__KDE + Self__J2F) +  1)) >>  1) + i__KDE) +  1)))) * u__ZLD[Self__J2F]))));
+      Self__J2F=(__INTEGER)(Self__J2F +  1);
+    };
+    Self__VWE=(__INTEGER)(Self__VWE +  1);
+  };
+  u__AEE=vtmp__CC;
+  __tmp__CEE=n__XB;
+  Self__EXE= 0;
+  while ((Self__EXE <= __tmp__CEE)) {
+    i__GEE=Self__EXE;
+    atau__0LD[Self__EXE]=((__REAL_64 ) 0);
+    __tmp__KEE=n__XB;
+    Self__Z2F= 0;
+    while ((Self__Z2F <= __tmp__KEE)) {
+      atau__0LD[i__GEE]=((__REAL_64 )((atau__0LD[i__GEE]) + ((__REAL_64)(((__REAL_64 )(__REAL)(1.0 / ((__REAL )(__INTEGER)((__INTEGER)((__INTEGER)((__INTEGER)((__INTEGER)(Self__Z2F + i__GEE) * (__INTEGER)((__INTEGER)(Self__Z2F + i__GEE) +  1)) >>  1) + Self__Z2F) +  1)))) * ((__REAL_64 *)u__AEE)[Self__Z2F]))));
+      Self__Z2F=(__INTEGER)(Self__Z2F +  1);
+    };
+    Self__EXE=(__INTEGER)(Self__EXE +  1);
+  };
+}
+
+static __CHARACTER* create__BVF(__INTEGER nb_elements__DVF)
+// ({INTEGER}) With resultNo recursive, No inlinable.
+{
+  __UINTEGER_32 sz__ML,a__Z4R,new_size__OL,new_size2__RL,a__XDS;
+  __UINTEGER_32 new_size__YDS;
+  __POINTER result__UL;
+  __INTEGER Self__K4H;
+  __CHARACTER *Result__D4F;
+  sz__ML=((__UINTEGER_32 )nb_elements__DVF);
+  result__UL=((__POINTER )(NULL));
+  a__Z4R=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+  new_size__OL=(__UINTEGER_32)((__UINTEGER_32)(sz__ML + a__Z4R) & (__UINTEGER_32)(~ a__Z4R));
+  new_size2__RL=(__UINTEGER_32)(new_size__OL + ((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))));
+  if ((new_size2__RL <= ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+    a__XDS=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+    new_size__YDS=(__UINTEGER_32)((__UINTEGER_32)(new_size2__RL + a__XDS) & (__UINTEGER_32)(~ a__XDS));
+    result__UL=micro_alloc__table__lab__EHB(new_size__YDS,((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__YDS / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1]))),new_size__YDS);
+    ((__POINTER *)result__UL)[ 0]=((__POINTER ) 3);
+    result__UL=(void *)((unsigned long)result__UL - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+  } else {
+    result__UL=(void *)((unsigned long)((__POINTER )((__MEMORY *)search__55C(new_size__OL))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+  };
+  Result__D4F=((__CHARACTER *)result__UL);
+  Self__K4H=(__INTEGER)(nb_elements__DVF -  1);
+  while ((Self__K4H >=  0)) {
+    Result__D4F[Self__K4H]='\0';
+    Self__K4H=(__INTEGER)(Self__K4H -  1);
+  };
+  return(Result__D4F);
+}
+
+static void put_string__FUC(void *s__HUC)
+// ({STRING_CONSTANTxSTRING}) VoidNo recursive, No inlinable.
+{
+  __INTEGER __tmp__ZUC,Self__Q5C,limit_up__R5C;
+  __CHARACTER *__tmp__4DS,*__tmp__5DS;
+  __CHARACTER __tmp__AVC;
+  if (((struct ___OBJ *)s__HUC)->__id==__STRING_CONSTANT__) {
+  };
+  if (((struct ___OBJ *)s__HUC)->__id==__STRING_CONSTANT__) {
+    __tmp__ZUC=((__STRING_CONSTANT *)s__HUC)->count__24;
+  } else {
+    __tmp__ZUC=((__STRING *)s__HUC)->count__ZO;
+  };
+  Self__Q5C= 1;
+  limit_up__R5C=__tmp__ZUC;
+  __tmp__4DS=((__STRING_CONSTANT *)s__HUC)->storage__A1D;
+  __tmp__5DS=((__STRING *)s__HUC)->storage__EHC;
+  while ((Self__Q5C <= limit_up__R5C)) {
+    if (((struct ___OBJ *)s__HUC)->__id==__STRING_CONSTANT__) {
+      __tmp__AVC=((__CHARACTER *)__tmp__4DS)[(__INTEGER)(Self__Q5C -  1)];
+    } else {
+      __tmp__AVC=((__CHARACTER *)__tmp__5DS)[(__INTEGER)(Self__Q5C -  1)];
+    };
+    fputc((int)(__tmp__AVC),stdout);
+    Self__Q5C=(__INTEGER)(Self__Q5C +  1);
+  };
+}
+
+static __POINTER new_lab__4SB(__UINTEGER_32 t__ATB)
+// ({UINTEGER_32}) With resultNo recursive, No inlinable.
+{
+  __UINTEGER_32 idx__CTB,pv__JTB;
+  __MEMORY *blc__FTB,*prev__GTB,*Self__4UR,*Self__14R,*prev__24R;
+  __MEMORY *next__34R;
+  __POINTER result__HTB;
+  __BOOLEAN __tmp__JUB;
+  idx__CTB= 0;
+  blc__FTB=NULL;
+  prev__GTB=NULL;
+  pv__JTB= 0;
+  while_do__BYB:
+  {
+    if ((idx__CTB < nb_page__QTB)) {
+      blc__FTB=((__MEMORY *)(last_block[(idx__CTB)]));
+      __tmp__JUB=(((__UINTEGER_32)(((__MEMORY *)blc__FTB)->size_and_id__QF &  4294967292LU) <  4096) || ((__UINTEGER_32)(((__MEMORY *)blc__FTB)->size_and_id__QF &  1) ==  1));
+    } else {
+      __tmp__JUB=FALSE__;
+    };
+    if (__tmp__JUB) {
+      idx__CTB=(__UINTEGER_32)(idx__CTB +  1);
+      goto while_do__BYB;
+    };
+  };
+  if ((idx__CTB >= nb_page__QTB)) {
+    blc__FTB=new_page__MID();
+  };
+  ((__MEMORY *)blc__FTB)->size_and_id__QF=(__UINTEGER_32)(blc__FTB->size_and_id__QF -  4096);
+  Self__4UR=((__MEMORY *)blc__FTB);
+  result__HTB=((__POINTER )((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__4UR) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__4UR->size_and_id__QF &  4294967292LU))))));
+  if (((__UINTEGER_32)(((__MEMORY *)blc__FTB)->size_and_id__QF &  4294967292LU) < ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+    Self__14R=((__MEMORY *)blc__FTB);
+    prev__24R=Self__14R->previous_free__SF;
+    next__34R=Self__14R->next_free__RF;
+    if (((void *)prev__24R == (void *)NULL)) {
+      first_free__CBD=next__34R;
+    } else {
+      ((__MEMORY *)prev__24R)->next_free__RF=next__34R;
+    };
+    if (((void *)next__34R != (void *)NULL)) {
+      ((__MEMORY *)next__34R)->previous_free__SF=prev__24R;
+    };
+    pv__JTB=blc__FTB->previous_linear__PF;
+    if ((pv__JTB !=  4294967295LU)) {
+      prev__GTB=((__MEMORY *)(void *)((unsigned long)begin_memory__BJB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )pv__JTB))));
+      ((__MEMORY *)prev__GTB)->size_and_id__QF=(__UINTEGER_32)((__UINTEGER_32)(prev__GTB->size_and_id__QF + blc__FTB->size_and_id__QF) +  8);
+      last_block[(idx__CTB)] = (prev__GTB);
+    };
+  };
+  ((__POINTER *)result__HTB)[ 0]=((__POINTER )t__ATB);
+  return((void *)((unsigned long)result__HTB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *)))))));
+}
+
+static void copy__to__size__ZZJ(__POINTER src__1ZJ,__POINTER dst__2ZJ,__UINTEGER_32 sz__3ZJ)
+// ({POINTER},{POINTER},{UINTEGER_32}) VoidNo recursive, No inlinable.
+{
+  __INTEGER siz__A0J,Self__2DK;
+  __POINTER *na_src__4ZJ,*na_dst__5ZJ;
+  siz__A0J=((__INTEGER )sz__3ZJ);
+  siz__A0J=(__INTEGER)(siz__A0J / ((__INTEGER )(sizeof(void *))));
+  na_src__4ZJ=((__POINTER *)src__1ZJ);
+  na_dst__5ZJ=((__POINTER *)dst__2ZJ);
+  Self__2DK=(__INTEGER)(siz__A0J -  1);
+  while ((Self__2DK >=  0)) {
+    na_dst__5ZJ[Self__2DK]=na_src__4ZJ[Self__2DK];
+    Self__2DK=(__INTEGER)(Self__2DK -  1);
+  };
+}
+
+static void to_busy__index__YZG(__MEMORY *Self__ZZG,__UINTEGER_32 sz__0ZG,__UINTEGER_32 idx__1ZG)
+// ({MEMORY},{UINTEGER_32},{UINTEGER_32}) VoidNo recursive, No inlinable.
+{
+  __MEMORY *new__C0G,*prev__TMH,*next__UMH,*Self__C4G,*Self__DRR;
+  __UINTEGER_32 siz__2ZG,new_size__5ZG;
+  new__C0G=NULL;
+  prev__TMH=Self__ZZG->previous_free__SF;
+  next__UMH=Self__ZZG->next_free__RF;
+  if (((void *)prev__TMH == (void *)NULL)) {
+    first_free__CBD=next__UMH;
+  } else {
+    ((__MEMORY *)prev__TMH)->next_free__RF=next__UMH;
+  };
+  if (((void *)next__UMH != (void *)NULL)) {
+    ((__MEMORY *)next__UMH)->previous_free__SF=prev__TMH;
+  };
+  siz__2ZG=Self__ZZG->size_and_id__QF;
+  new_size__5ZG=(__UINTEGER_32)(siz__2ZG - sz__0ZG);
+  if ((new_size__5ZG > (__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )(MINIMUM_SIZE)) +  2) +  8))) {
+    siz__2ZG=sz__0ZG;
+    new__C0G=((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__ZZG) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )sz__0ZG))));
+    ((__MEMORY *)new__C0G)->previous_linear__PF=((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )Self__ZZG) - (unsigned long)begin_memory__BJB))));
+    ((__MEMORY *)new__C0G)->size_and_id__QF=(__UINTEGER_32)(new_size__5ZG -  8);
+    Self__C4G=((__MEMORY *)new__C0G);
+    Self__C4G->next_free__RF=first_free__CBD;
+    Self__C4G->previous_free__SF=NULL;
+    if (((void *)first_free__CBD != (void *)NULL)) {
+      ((__MEMORY *)first_free__CBD)->previous_free__SF=Self__C4G;
+    };
+    first_free__CBD=Self__C4G;
+    if (((__UINTEGER_32)(((__MEMORY *)new__C0G)->size_and_id__QF &  2) !=  0)) {
+      last_block[(idx__1ZG)] = (new__C0G);
+    } else {
+      Self__DRR=((__MEMORY *)new__C0G);
+      ((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__DRR) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__DRR->size_and_id__QF &  4294967292LU)))))->previous_linear__PF=((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )((__MEMORY *)new__C0G)) - (unsigned long)begin_memory__BJB))));
+    };
+  };
+  Self__ZZG->size_and_id__QF=(__UINTEGER_32)(siz__2ZG |  1);
+}
+
+static __MEMORY* new_page__MID()
+// () With resultNo recursive, No inlinable.
+{
+  __POINTER mem__ECF;
+  __UINTEGER_32 cap__BCF,old_size__PID;
+  __MEMORY *block__VID;
+  if ((capacity_max__WID ==  0)) {
+    mem__ECF=((__POINTER )(NULL));
+    cap__BCF= 33554432;
+    do {
+      cap__BCF=(__UINTEGER_32)(cap__BCF <<  1);
+      mem__ECF=((__POINTER )(malloc((cap__BCF))));
+      if ((mem__ECF != (void *)NULL)) {
+        free((mem__ECF));
+      };
+    } while ((! ((mem__ECF == (void *)NULL) || (cap__BCF ==  2147483648LU))));
+    if ((mem__ECF == (void *)NULL)) {
+      cap__BCF=(__UINTEGER_32)(cap__BCF >>  1);
+    };
+    capacity_max__WID=cap__BCF;
+    begin_memory__BJB=((__POINTER )(malloc((cap__BCF))));
+  };
+  old_size__PID=(__UINTEGER_32)(nb_page__QTB <<  26);
+  nb_page__QTB=(__UINTEGER_32)(nb_page__QTB +  1);
+  if (((__UINTEGER_32)(old_size__PID +  67108864) > capacity_max__WID)) {
+    put_string__FUC((&__string_2));
+    exit(( 1));
+  };
+  block__VID=((__MEMORY *)(void *)((unsigned long)begin_memory__BJB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )old_size__PID))));
+  block__VID->previous_linear__PF= 4294967295LU;
+  block__VID->size_and_id__QF= 67108858;
+  block__VID->next_free__RF=first_free__CBD;
+  block__VID->previous_free__SF=NULL;
+  if (((void *)first_free__CBD != (void *)NULL)) {
+    ((__MEMORY *)first_free__CBD)->previous_free__SF=block__VID;
+  };
+  first_free__CBD=block__VID;
+  last_block[((__UINTEGER_32)(nb_page__QTB -  1))] = (block__VID);
+  return(block__VID);
+}
+
+//==========================//
+// DEBUG MANAGER            //
+//==========================//
+
+void print_string(char *str) 
+{ 
+  while (*str!=0) {
+    print_char(*str); 
+    str++; 
+  };
+}  
+
diff --git a/example/shootout/spectral_norm/spectral_norm_tst b/example/shootout/spectral_norm/spectral_norm_tst
index 7df6d17..f8a4b9b 100755
--- a/example/shootout/spectral_norm/spectral_norm_tst
+++ b/example/shootout/spectral_norm/spectral_norm_tst
@@ -1,15 +1,5 @@
 lisaac spectral_norm -q -O -i10
 gcc spectral_norm_c.c -o spectral_norm_c -O3 -fomit-frame-pointer -lm
-echo Lisaac:
-time ./spectral_norm 500 > out_li.txt
-echo C:
-time ./spectral_norm_c 500 > out_c.txt
-diff out_li.txt out_c.txt
-echo Lisaac:
-time ./spectral_norm 3000 > out_li.txt
-echo C:
-time ./spectral_norm_c 3000 > out_c.txt
-diff out_li.txt out_c.txt
 echo Lisaac: 
 time ./spectral_norm 5500 > out_li.txt
 echo C:
diff --git a/example/shootout/sum_file/sum_file.c b/example/shootout/sum_file/sum_file.c
new file mode 100755
index 0000000..76e74eb
--- /dev/null
+++ b/example/shootout/sum_file/sum_file.c
@@ -0,0 +1,745 @@
+// C code generated by Lisaac compiler (www.isaacOS.com) //
+int arg_count;
+char **arg_vector;
+
+//==========================//
+// EXTERNAL                 //
+//==========================//
+
+// SYSTEM_IO
+
+#include <stdio.h>
+#include <stdlib.h>
+  
+// Hardware 'print_char'
+void print_char(char car)
+{
+  fputc(car,stdout);
+}
+
+// Hardware 'exit'
+int die_with_code(int code)
+{
+  exit(code);
+}
+
+
+// MEMORY
+
+#define MINIMUM_SIZE 256  
+void *table_size[MINIMUM_SIZE/sizeof(void *)];
+void *last_block[64];
+
+// FLOAT_REAL
+#include <math.h>
+// SYSTEM
+#include <time.h>
+
+//==========================//
+// TYPE                     //
+//==========================//
+
+// Generic Object
+struct ___OBJ {
+  unsigned long __id;
+};
+
+// NULL
+#ifndef NULL
+#define NULL ((void *)0)
+#endif
+
+// POINTER
+typedef void * __POINTER;
+
+// UINTEGER_32
+typedef unsigned long __UINTEGER_32;
+
+// CHARACTER
+typedef char __CHARACTER;
+
+// INTEGER
+typedef int __INTEGER;
+
+// MEMORY
+#define __MEMORY__ 0
+typedef struct MEMORY_struct __MEMORY;
+struct MEMORY_struct {
+  volatile __UINTEGER_32 previous_linear__NL;
+  volatile __UINTEGER_32 size_and_id__OL;
+  __MEMORY *next_free__PL;
+  __MEMORY *previous_free__QL;
+} __attribute__ ((packed));
+__MEMORY MEMORY_;
+#define MEMORY__ (&MEMORY_)
+
+// STRING
+#define __STRING__ 1
+typedef struct STRING_struct __STRING;
+struct STRING_struct {
+  __INTEGER count__XZB;
+  __INTEGER capacity__I1B;
+  __CHARACTER *storage__R1B;
+};
+__STRING STRING_;
+#define STRING__ (&STRING_)
+
+// NUMERIC
+#define __NUMERIC__ 2
+typedef struct NUMERIC_struct __NUMERIC;
+struct NUMERIC_struct {
+  void *Nothing;
+};
+__NUMERIC NUMERIC_;
+#define NUMERIC__ (&NUMERIC_)
+
+// STD_INPUT
+#define __STD_INPUT__ 3
+typedef struct STD_INPUT_struct __STD_INPUT;
+struct STD_INPUT_struct {
+  void *Nothing;
+};
+__STD_INPUT STD_INPUT_;
+#define STD_INPUT__ (&STD_INPUT_)
+
+// STRING_CONSTANT
+#define __STRING_CONSTANT__ 4
+typedef struct STRING_CONSTANT_struct __STRING_CONSTANT;
+struct STRING_CONSTANT_struct {
+  __INTEGER count__FGD;
+  __CHARACTER *storage__TKE;
+};
+__STRING_CONSTANT STRING_CONSTANT_;
+#define STRING_CONSTANT__ (&STRING_CONSTANT_)
+
+// INPUT_STREAM
+#define __INPUT_STREAM__ 5
+typedef struct INPUT_STREAM_struct __INPUT_STREAM;
+struct INPUT_STREAM_struct {
+  void *Nothing;
+};
+__INPUT_STREAM INPUT_STREAM_;
+#define INPUT_STREAM__ (&INPUT_STREAM_)
+
+// FALSE
+#define FALSE__ 0
+
+// TRUE
+#define TRUE__ 1
+
+// INTEGER_8
+typedef signed char __INTEGER_8;
+
+// BOOLEAN
+typedef char __BOOLEAN;
+
+
+void *table_type[6];
+
+//==========================//
+// GLOBAL                   //
+//==========================//
+
+void *parent_numeric__H;
+__POINTER begin_memory__I1;
+__UINTEGER_32 nb_page__1IB;
+__UINTEGER_32 capacity_max__LGC;
+__MEMORY *first_free__UVD;
+__CHARACTER memory__YE;
+void *last_string__OB;
+
+//==========================//
+// STRING CONSTANT          //
+//==========================//
+
+__STRING_CONSTANT __string_1={19,"Not enough memory.\n"};
+
+//==========================//
+// FUNCTION HEADER          //
+//==========================//
+
+// Debug Manager
+void print_string(char *str);
+// Source code
+static __POINTER micro_alloc__table__lab__LZ(__UINTEGER_32 new_size__NZ,__POINTER ptr_table__OZ,__UINTEGER_32 lab_type__PZ);
+static __CHARACTER* create__D2D(__INTEGER nb_elements__F2D);
+static void read_line__XB();
+static void print_positif__Y3D(__INTEGER Self__Z3D);
+static __POINTER new_lab__JIB(__UINTEGER_32 t__LIB);
+static __MEMORY* search__NOF(__UINTEGER_32 new_size__POF);
+static void extend__ZEC(__STRING *Self__0EC,__CHARACTER c__1EC);
+static __MEMORY* new_page__BGC();
+static void to_busy__index__4QG(__MEMORY *Self__5QG,__UINTEGER_32 sz__ARG,__UINTEGER_32 idx__BRG);
+static void copy__to__size__JDI(__POINTER src__LDI,__POINTER dst__MDI,__UINTEGER_32 sz__NDI);
+
+//==========================//
+// SOURCE CODE              //
+//==========================//
+
+int main(int argc,char **argv)
+{
+  __STRING *result__NK,*Self__Z0B,*Self__XIC;
+  __POINTER ptr__OK;
+  __INTEGER typ_id__VK,sum__Z,state__0IC,result__3IC,i__ZIC,__tmp__D3M;
+  __INTEGER __tmp__F3M;
+  __UINTEGER_32 sz__SK,a__LX,new_size__JT,t__SU,a__W1M;
+  __CHARACTER cc__1IC;
+  __BOOLEAN negative__2IC,__tmp__JKC,result__43K,__tmp__2KC,__tmp__RLC;
+  __BOOLEAN result__4GE,__tmp__YMC,result__QHE,result__MEG,__tmp__XC;
+  __CHARACTER *__tmp__E3M;
+  arg_count  = argc;
+  arg_vector = argv;
+  parent_numeric__H=NUMERIC__;
+  memory__YE='\0';
+  STRING_CONSTANT__->count__FGD=((__INTEGER )((0)));
+  STRING_CONSTANT__->storage__TKE=((__CHARACTER *)(NULL));
+  nb_page__1IB= 0;
+  MEMORY__->size_and_id__OL= 0;
+  capacity_max__LGC= 0;
+  begin_memory__I1=((__POINTER )(NULL));
+  MEMORY__->previous_linear__NL= 0;
+  first_free__UVD=NULL;
+  MEMORY__->next_free__PL=NULL;
+  MEMORY__->previous_free__QL=NULL;
+  STRING__->capacity__I1B= 0;
+  STRING__->storage__R1B=NULL;
+  STRING__->count__XZB= 0;
+  result__NK=NULL;
+  ptr__OK=((__POINTER )(NULL));
+  typ_id__VK= 0;
+  sz__SK=((__UINTEGER_32 )sizeof(__STRING));
+  if ((sz__SK ==  0)) {
+    result__NK=STRING__;
+  } else {
+    typ_id__VK=__STRING__;
+    if ((typ_id__VK == (__INTEGER)(-  1))) {
+      a__LX=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__JT=(__UINTEGER_32)((__UINTEGER_32)(sz__SK + a__LX) & (__UINTEGER_32)(~ a__LX));
+      ptr__OK=micro_alloc__table__lab__LZ(new_size__JT,((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__JT / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1]))),new_size__JT);
+    } else {
+      t__SU=((__UINTEGER_32 )typ_id__VK);
+      a__W1M=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      ptr__OK=micro_alloc__table__lab__LZ((__UINTEGER_32)((__UINTEGER_32)(sz__SK + a__W1M) & (__UINTEGER_32)(~ a__W1M)),((__POINTER )(&(table_type[(t__SU)]))),(__UINTEGER_32)(t__SU |  1));
+    };
+    result__NK=((__STRING *)ptr__OK);
+    *(result__NK) = *(STRING__);
+  };
+  Self__Z0B=((__STRING *)result__NK);
+  if ((Self__Z0B->capacity__I1B <  1024)) {
+    Self__Z0B->storage__R1B=create__D2D( 1024);
+    Self__Z0B->capacity__I1B= 1024;
+  };
+  Self__Z0B->count__XZB= 0;
+  last_string__OB=result__NK;
+  sum__Z= 0;
+  read_line__XB();
+  while ((memory__YE != ((__CHARACTER )(EOF)))) {
+    Self__XIC=((__STRING *)last_string__OB);
+    state__0IC= 0;
+    cc__1IC='\0';
+    negative__2IC=FALSE__;
+    result__3IC= 0;
+    i__ZIC= 1;
+    __tmp__D3M=Self__XIC->count__XZB;
+    __tmp__E3M=Self__XIC->storage__R1B;
+    __tmp__F3M=Self__XIC->count__XZB;
+    while ((i__ZIC <= __tmp__D3M)) {
+      cc__1IC=((__CHARACTER *)__tmp__E3M)[(__INTEGER)(i__ZIC -  1)];
+      if ((state__0IC ==  0)) {
+        if ((((((((cc__1IC == ' ') || (cc__1IC == '\t')) || (cc__1IC == '\n')) || (cc__1IC == '\r')) || (cc__1IC == '\0')) || (cc__1IC == '\f')) || (cc__1IC == '\v'))) {
+          __tmp__JKC=TRUE__;
+        } else {
+          result__43K=(cc__1IC == '+');
+          if (result__43K) {
+            state__0IC= 1;
+          };
+          __tmp__JKC=result__43K;
+        };
+        if ((! __tmp__JKC)) {
+          if ((cc__1IC == '-')) {
+            negative__2IC=TRUE__;
+            state__0IC= 1;
+          } else {
+            result__3IC=(__INTEGER)(((__INTEGER )((__INTEGER_8 )cc__1IC)) -  48);
+            state__0IC= 2;
+          };
+        };
+        __tmp__2KC=TRUE__;
+      } else {
+        __tmp__2KC=FALSE__;
+      };
+      if (__tmp__2KC) {
+        __tmp__RLC=TRUE__;
+      } else {
+        result__4GE=(state__0IC ==  1);
+        if (result__4GE) {
+          result__3IC=(__INTEGER)(((__INTEGER )((__INTEGER_8 )cc__1IC)) -  48);
+          if (negative__2IC) {
+            result__3IC=(__INTEGER)(- result__3IC);
+          };
+          state__0IC= 2;
+        };
+        __tmp__RLC=result__4GE;
+      };
+      if (__tmp__RLC) {
+        __tmp__YMC=TRUE__;
+      } else {
+        result__QHE=(state__0IC ==  2);
+        if (result__QHE) {
+          result__MEG=FALSE__;
+          if ((((__INTEGER_8 )cc__1IC) >= ((__INTEGER_8 )'0'))) {
+            result__MEG=(((__INTEGER_8 )cc__1IC) <= ((__INTEGER_8 )'9'));
+          };
+          if (result__MEG) {
+            if (negative__2IC) {
+              result__3IC=(__INTEGER)((__INTEGER)( 10 * result__3IC) - (__INTEGER)(((__INTEGER )((__INTEGER_8 )cc__1IC)) -  48));
+            } else {
+              result__3IC=(__INTEGER)((__INTEGER)( 10 * result__3IC) + (__INTEGER)(((__INTEGER )((__INTEGER_8 )cc__1IC)) -  48));
+            };
+          } else {
+            state__0IC= 3;
+          };
+        };
+        __tmp__YMC=result__QHE;
+      };
+      if ((! __tmp__YMC)) {
+        if ((state__0IC ==  3)) {
+          i__ZIC=__tmp__F3M;
+        };
+      };
+      i__ZIC=(__INTEGER)(i__ZIC +  1);
+    };
+    sum__Z=(__INTEGER)(sum__Z + result__3IC);
+    read_line__XB();
+  };
+  if ((sum__Z ==  0)) {
+    fputc((int)('0'),stdout);
+    __tmp__XC=TRUE__;
+  } else {
+    __tmp__XC=FALSE__;
+  };
+  if ((! __tmp__XC)) {
+    if ((sum__Z <  0)) {
+      fputc((int)('-'),stdout);
+      print_positif__Y3D((__INTEGER)(- sum__Z));
+    } else {
+      print_positif__Y3D(sum__Z);
+    };
+  };
+  fputc((int)('\n'),stdout);
+  return( 0);
+}
+
+static __POINTER micro_alloc__table__lab__LZ(__UINTEGER_32 new_size__NZ,__POINTER ptr_table__OZ,__UINTEGER_32 lab_type__PZ)
+// ({UINTEGER_32},{POINTER},{UINTEGER_32}) With resultNo recursive, No inlinable.
+{
+  __POINTER next__TZ,result__RZ;
+  next__TZ=((__POINTER )(NULL));
+  result__RZ=((__POINTER *)ptr_table__OZ)[ 0];
+  if ((result__RZ == (void *)NULL)) {
+    result__RZ=new_lab__JIB(lab_type__PZ);
+    next__TZ=(void *)((unsigned long)result__RZ - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__NZ)));
+    ((__POINTER *)next__TZ)[ 0]=NULL;
+    ((__POINTER *)ptr_table__OZ)[ 0]=next__TZ;
+  } else {
+    next__TZ=((__POINTER *)result__RZ)[ 0];
+    if ((next__TZ == (void *)NULL)) {
+      if (((__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)result__RZ - (unsigned long)begin_memory__I1)))) &  4095) + (__UINTEGER_32)(new_size__NZ <<  1)) <=  4096)) {
+        next__TZ=(void *)((unsigned long)result__RZ - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )new_size__NZ)));
+      } else {
+        next__TZ=new_lab__JIB(lab_type__PZ);
+      };
+      ((__POINTER *)next__TZ)[ 0]=NULL;
+      ((__POINTER *)ptr_table__OZ)[ 0]=next__TZ;
+    } else {
+      ((__POINTER *)result__RZ)[ 0]=(void *)((unsigned long)((__POINTER *)next__TZ)[ 0] & (unsigned long)((__POINTER )(__INTEGER)(~  3)));
+      result__RZ=next__TZ;
+    };
+  };
+  return(result__RZ);
+}
+
+static __CHARACTER* create__D2D(__INTEGER nb_elements__F2D)
+// ({INTEGER}) With resultNo recursive, No inlinable.
+{
+  __UINTEGER_32 sz__XUE,a__XZM,new_size__ZUE,new_size2__2UE,a__V3M;
+  __UINTEGER_32 new_size__X3M;
+  __POINTER result__5UE;
+  __INTEGER Self__4XG;
+  __CHARACTER *Result__IEE;
+  sz__XUE=((__UINTEGER_32 )nb_elements__F2D);
+  result__5UE=((__POINTER )(NULL));
+  a__XZM=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+  new_size__ZUE=(__UINTEGER_32)((__UINTEGER_32)(sz__XUE + a__XZM) & (__UINTEGER_32)(~ a__XZM));
+  new_size2__2UE=(__UINTEGER_32)(new_size__ZUE + ((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))));
+  if ((new_size2__2UE <= ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+    a__V3M=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+    new_size__X3M=(__UINTEGER_32)((__UINTEGER_32)(new_size2__2UE + a__V3M) & (__UINTEGER_32)(~ a__V3M));
+    result__5UE=micro_alloc__table__lab__LZ(new_size__X3M,((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__X3M / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1]))),new_size__X3M);
+    ((__POINTER *)result__5UE)[ 0]=((__POINTER ) 3);
+    result__5UE=(void *)((unsigned long)result__5UE - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+  } else {
+    result__5UE=(void *)((unsigned long)((__POINTER )((__MEMORY *)search__NOF(new_size__ZUE))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+  };
+  Result__IEE=((__CHARACTER *)result__5UE);
+  Self__4XG=(__INTEGER)(nb_elements__F2D -  1);
+  while ((Self__4XG >=  0)) {
+    Result__IEE[Self__4XG]='\0';
+    Self__4XG=(__INTEGER)(Self__4XG -  1);
+  };
+  return(Result__IEE);
+}
+
+static void read_line__XB()
+// () VoidNo recursive, No inlinable.
+{
+  __CHARACTER mem__QE;
+  ((__STRING *)last_string__OB)->count__XZB= 0;
+  mem__QE='\0';
+  memory__YE=((__CHARACTER )(fgetc(stdin)));
+  if (((memory__YE != '\n') && (memory__YE != ((__CHARACTER )(EOF))))) {
+    extend__ZEC(last_string__OB,memory__YE);
+    mem__QE=((__CHARACTER )(fgetc(stdin)));
+    while ((! ((mem__QE == ((__CHARACTER )(EOF))) || (mem__QE == '\n')))) {
+      extend__ZEC(last_string__OB,mem__QE);
+      mem__QE=((__CHARACTER )(fgetc(stdin)));
+    };
+    memory__YE=mem__QE;
+  };
+}
+
+static void print_positif__Y3D(__INTEGER Self__Z3D)
+// ({INTEGER}) VoidRecursive, No inlinable.
+{
+  __INTEGER val__C4D;
+  __CHARACTER Result__2NE;
+  Result__2NE=((__CHARACTER )(((__INTEGER_8)(((__INTEGER_8 )(__INTEGER)(Self__Z3D %  10)) + ((__INTEGER_8 )'0')))));
+  val__C4D=(__INTEGER)(Self__Z3D /  10);
+  if ((val__C4D !=  0)) {
+    print_positif__Y3D(val__C4D);
+  };
+  fputc((int)(Result__2NE),stdout);
+}
+
+static __POINTER new_lab__JIB(__UINTEGER_32 t__LIB)
+// ({UINTEGER_32}) With resultNo recursive, No inlinable.
+{
+  __UINTEGER_32 idx__NIB,pv__UIB;
+  __MEMORY *blc__QIB,*prev__RIB,*Self__OZM,*Self__B2M,*prev__C2M;
+  __MEMORY *next__D2M;
+  __POINTER result__SIB;
+  __BOOLEAN __tmp__UJB;
+  idx__NIB= 0;
+  blc__QIB=NULL;
+  prev__RIB=NULL;
+  pv__UIB= 0;
+  while_do__MNB:
+  {
+    if ((idx__NIB < nb_page__1IB)) {
+      blc__QIB=((__MEMORY *)(last_block[(idx__NIB)]));
+      __tmp__UJB=(((__UINTEGER_32)(((__MEMORY *)blc__QIB)->size_and_id__OL &  4294967292LU) <  4096) || ((__UINTEGER_32)(((__MEMORY *)blc__QIB)->size_and_id__OL &  1) ==  1));
+    } else {
+      __tmp__UJB=FALSE__;
+    };
+    if (__tmp__UJB) {
+      idx__NIB=(__UINTEGER_32)(idx__NIB +  1);
+      goto while_do__MNB;
+    };
+  };
+  if ((idx__NIB >= nb_page__1IB)) {
+    blc__QIB=new_page__BGC();
+  };
+  ((__MEMORY *)blc__QIB)->size_and_id__OL=(__UINTEGER_32)(blc__QIB->size_and_id__OL -  4096);
+  Self__OZM=((__MEMORY *)blc__QIB);
+  result__SIB=((__POINTER )((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__OZM) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__OZM->size_and_id__OL &  4294967292LU))))));
+  if (((__UINTEGER_32)(((__MEMORY *)blc__QIB)->size_and_id__OL &  4294967292LU) < ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+    Self__B2M=((__MEMORY *)blc__QIB);
+    prev__C2M=Self__B2M->previous_free__QL;
+    next__D2M=Self__B2M->next_free__PL;
+    if (((void *)prev__C2M == (void *)NULL)) {
+      first_free__UVD=next__D2M;
+    } else {
+      ((__MEMORY *)prev__C2M)->next_free__PL=next__D2M;
+    };
+    if (((void *)next__D2M != (void *)NULL)) {
+      ((__MEMORY *)next__D2M)->previous_free__QL=prev__C2M;
+    };
+    pv__UIB=blc__QIB->previous_linear__NL;
+    if ((pv__UIB !=  4294967295LU)) {
+      prev__RIB=((__MEMORY *)(void *)((unsigned long)begin_memory__I1 - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )pv__UIB))));
+      ((__MEMORY *)prev__RIB)->size_and_id__OL=(__UINTEGER_32)((__UINTEGER_32)(prev__RIB->size_and_id__OL + blc__QIB->size_and_id__OL) +  8);
+      last_block[(idx__NIB)] = (prev__RIB);
+    };
+  };
+  ((__POINTER *)result__SIB)[ 0]=((__POINTER )t__LIB);
+  return((void *)((unsigned long)result__SIB - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *)))))));
+}
+
+static __MEMORY* search__NOF(__UINTEGER_32 new_size__POF)
+// ({UINTEGER_32}) With resultNo recursive, No inlinable.
+{
+  __MEMORY *result__ROF;
+  result__ROF=first_free__UVD;
+  while ((((void *)result__ROF != (void *)NULL) && ((__UINTEGER_32)(((__MEMORY *)result__ROF)->size_and_id__OL &  4294967292LU) < new_size__POF))) {
+    result__ROF=result__ROF->next_free__PL;
+  };
+  if (((void *)result__ROF == (void *)NULL)) {
+    result__ROF=new_page__BGC();
+  };
+  to_busy__index__4QG(result__ROF,new_size__POF,(__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )((__MEMORY *)result__ROF)) - (unsigned long)begin_memory__I1)))) >>  26));
+  return(result__ROF);
+}
+
+static void extend__ZEC(__STRING *Self__0EC,__CHARACTER c__1EC)
+// ({STRING},{CHARACTER}) VoidNo recursive, No inlinable.
+{
+  __INTEGER new_capacity__VNC,__tmp__OOC,__tmp__TNG,Self__OKJ;
+  __POINTER old_ptr__BNG,result__L1G,result__B0M,p__REI,last__EPI;
+  __UINTEGER_32 __tmp__NNG,__tmp__PNG,a__1ZM,old_size__B1G;
+  __UINTEGER_32 old_size2__E1G,a__5ZM,new_size__H1G,a__F0M;
+  __UINTEGER_32 new_size__G0M,new_size2__H0M,a__13M,new_size__33M;
+  __UINTEGER_32 a__K0M,__tmp__22G,sz__EGI,old_size__BGI,prev__M1I;
+  __UINTEGER_32 new_size__P1I;
+  __MEMORY *mem__K1G,*Self__1FI,*nxt__5FI,*result__AGI,*next__L1I;
+  __MEMORY *new_free__K1I,*prev__SZD,*next__TZD;
+  __CHARACTER *__tmp__NOC,*new__ANG;
+  new_capacity__VNC= 0;
+  if ((Self__0EC->capacity__I1B <= Self__0EC->count__XZB)) {
+    if ((Self__0EC->capacity__I1B ==  0)) {
+      Self__0EC->capacity__I1B= 32;
+      Self__0EC->storage__R1B=create__D2D( 32);
+    } else {
+      new_capacity__VNC=(__INTEGER)(Self__0EC->capacity__I1B <<  1);
+      __tmp__NOC=Self__0EC->storage__R1B;
+      __tmp__OOC=Self__0EC->capacity__I1B;
+      old_ptr__BNG=((__POINTER )((__CHARACTER *)__tmp__NOC));
+      __tmp__NNG=((__UINTEGER_32 )__tmp__OOC);
+      __tmp__PNG=((__UINTEGER_32 )new_capacity__VNC);
+      mem__K1G=NULL;
+      result__L1G=((__POINTER )(NULL));
+      a__1ZM=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      old_size__B1G=(__UINTEGER_32)((__UINTEGER_32)(__tmp__NNG + a__1ZM) & (__UINTEGER_32)(~ a__1ZM));
+      old_size2__E1G=(__UINTEGER_32)(old_size__B1G + ((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))));
+      a__5ZM=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+      new_size__H1G=(__UINTEGER_32)((__UINTEGER_32)(__tmp__PNG + a__5ZM) & (__UINTEGER_32)(~ a__5ZM));
+      if ((old_size2__E1G <= ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+        result__B0M=((__POINTER )(NULL));
+        a__F0M=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+        new_size__G0M=(__UINTEGER_32)((__UINTEGER_32)(new_size__H1G + a__F0M) & (__UINTEGER_32)(~ a__F0M));
+        new_size2__H0M=(__UINTEGER_32)(new_size__G0M + ((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))));
+        if ((new_size2__H0M <= ((__UINTEGER_32 )(MINIMUM_SIZE)))) {
+          a__13M=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+          new_size__33M=(__UINTEGER_32)((__UINTEGER_32)(new_size2__H0M + a__13M) & (__UINTEGER_32)(~ a__13M));
+          result__B0M=micro_alloc__table__lab__LZ(new_size__33M,((__POINTER )(&(table_size[((__UINTEGER_32)(new_size__33M / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1]))),new_size__33M);
+          ((__POINTER *)result__B0M)[ 0]=((__POINTER ) 3);
+          result__B0M=(void *)((unsigned long)result__B0M - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *))))));
+        } else {
+          result__B0M=(void *)((unsigned long)((__POINTER )((__MEMORY *)search__NOF(new_size__G0M))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+        };
+        result__L1G=result__B0M;
+        copy__to__size__JDI(old_ptr__BNG,result__B0M,old_size__B1G);
+        p__REI=(void *)((unsigned long)old_ptr__BNG - (unsigned long)((__POINTER )((__INTEGER )(sizeof(void *)))));
+        a__K0M=(__UINTEGER_32)(((__UINTEGER_32 )((__INTEGER )(sizeof(void *)))) -  1);
+        last__EPI=((__POINTER *)((__POINTER )(&(table_size[((__UINTEGER_32)((__UINTEGER_32)((__UINTEGER_32)(old_size2__E1G + a__K0M) & (__UINTEGER_32)(~ a__K0M)) / ((__UINTEGER_32 )((__INTEGER )(sizeof(void *))))))-1]))))[ 0];
+        ((__POINTER *)p__REI)[ 0]=(void *)((unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)(void *)((unsigned long)(void *)((unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER *)last__EPI)[ 0]) - (unsigned long)((__POINTER ) 1)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 3)) - (unsigned long)((__POINTER ) 1)))) - (unsigned long)((__POINTER ) 1));
+        ((__POINTER *)last__EPI)[ 0]=p__REI;
+      } else {
+        mem__K1G=((__MEMORY *)(void *)((unsigned long)old_ptr__BNG - (unsigned long)((__POINTER ) 8)));
+        __tmp__22G=(__UINTEGER_32)(((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)old_ptr__BNG - (unsigned long)begin_memory__I1)))) >>  26);
+        Self__1FI=((__MEMORY *)mem__K1G);
+        nxt__5FI=NULL;
+        result__AGI=NULL;
+        sz__EGI= 0;
+        old_size__BGI=(__UINTEGER_32)(Self__1FI->size_and_id__OL &  4294967292LU);
+        if ((new_size__H1G > old_size__BGI)) {
+          if ((! ((__UINTEGER_32)(Self__1FI->size_and_id__OL &  2) !=  0))) {
+            nxt__5FI=((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__1FI) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__1FI->size_and_id__OL &  4294967292LU)))));
+            sz__EGI=(__UINTEGER_32)((__UINTEGER_32)(new_size__H1G - old_size__BGI) -  8);
+            if ((((__UINTEGER_32)(((__MEMORY *)nxt__5FI)->size_and_id__OL &  1) ==  0) && ((__UINTEGER_32)(((__MEMORY *)nxt__5FI)->size_and_id__OL &  4294967292LU) >= sz__EGI))) {
+              to_busy__index__4QG(nxt__5FI,sz__EGI,__tmp__22G);
+              Self__1FI->size_and_id__OL=(__UINTEGER_32)((__UINTEGER_32)(Self__1FI->size_and_id__OL + (__UINTEGER_32)(nxt__5FI->size_and_id__OL &  4294967294LU)) +  8);
+              if (((__UINTEGER_32)(Self__1FI->size_and_id__OL &  2) !=  0)) {
+                last_block[(__tmp__22G)] = (Self__1FI);
+              } else {
+                nxt__5FI=((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__1FI) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__1FI->size_and_id__OL &  4294967292LU)))));
+                ((__MEMORY *)nxt__5FI)->previous_linear__NL=((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )Self__1FI) - (unsigned long)begin_memory__I1))));
+              };
+              result__AGI=Self__1FI;
+            };
+          };
+          if (((void *)result__AGI == (void *)NULL)) {
+            result__AGI=search__NOF(new_size__H1G);
+            copy__to__size__JDI((void *)((unsigned long)((__POINTER )Self__1FI) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))),(void *)((unsigned long)((__POINTER )((__MEMORY *)result__AGI)) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))),old_size__BGI);
+            prev__M1I=Self__1FI->previous_linear__NL;
+            next__L1I=((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__1FI) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__1FI->size_and_id__OL &  4294967292LU)))));
+            new_free__K1I=((__MEMORY *)(void *)((unsigned long)begin_memory__I1 - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )prev__M1I))));
+            new_size__P1I=(__UINTEGER_32)(Self__1FI->size_and_id__OL &  4294967294LU);
+            if (((prev__M1I ==  4294967295LU) || ((__UINTEGER_32)(new_free__K1I->size_and_id__OL &  1) !=  0))) {
+              new_free__K1I=Self__1FI;
+              Self__1FI->next_free__PL=first_free__UVD;
+              Self__1FI->previous_free__QL=NULL;
+              if (((void *)first_free__UVD != (void *)NULL)) {
+                ((__MEMORY *)first_free__UVD)->previous_free__QL=Self__1FI;
+              };
+              first_free__UVD=Self__1FI;
+            } else {
+              new_size__P1I=(__UINTEGER_32)((__UINTEGER_32)(new_size__P1I + new_free__K1I->size_and_id__OL) +  8);
+            };
+            if (((! ((__UINTEGER_32)(Self__1FI->size_and_id__OL &  2) !=  0)) && ((__UINTEGER_32)(next__L1I->size_and_id__OL &  1) ==  0))) {
+              new_size__P1I=(__UINTEGER_32)((__UINTEGER_32)(new_size__P1I + next__L1I->size_and_id__OL) +  8);
+              prev__SZD=next__L1I->previous_free__QL;
+              next__TZD=next__L1I->next_free__PL;
+              if (((void *)prev__SZD == (void *)NULL)) {
+                first_free__UVD=next__TZD;
+              } else {
+                ((__MEMORY *)prev__SZD)->next_free__PL=next__TZD;
+              };
+              if (((void *)next__TZD != (void *)NULL)) {
+                ((__MEMORY *)next__TZD)->previous_free__QL=prev__SZD;
+              };
+            };
+            new_free__K1I->size_and_id__OL=new_size__P1I;
+            if (((__UINTEGER_32)(new_free__K1I->size_and_id__OL &  2) !=  0)) {
+              last_block[(__tmp__22G)] = (new_free__K1I);
+            } else {
+              next__L1I=((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__1FI) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__1FI->size_and_id__OL &  4294967292LU)))));
+              next__L1I->previous_linear__NL=((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )new_free__K1I) - (unsigned long)begin_memory__I1))));
+            };
+          };
+        } else {
+          result__AGI=Self__1FI;
+        };
+        result__L1G=(void *)((unsigned long)((__POINTER )((__MEMORY *)result__AGI)) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8)));
+      };
+      new__ANG=((__CHARACTER *)result__L1G);
+      __tmp__TNG=(__INTEGER)(new_capacity__VNC -  1);
+      Self__OKJ=__tmp__OOC;
+      while ((Self__OKJ <= __tmp__TNG)) {
+        new__ANG[Self__OKJ]='\0';
+        Self__OKJ=(__INTEGER)(Self__OKJ +  1);
+      };
+      Self__0EC->storage__R1B=new__ANG;
+      Self__0EC->capacity__I1B=new_capacity__VNC;
+    };
+  };
+  ((__CHARACTER *)Self__0EC->storage__R1B)[Self__0EC->count__XZB]=c__1EC;
+  Self__0EC->count__XZB=(__INTEGER)(Self__0EC->count__XZB +  1);
+}
+
+static __MEMORY* new_page__BGC()
+// () With resultNo recursive, No inlinable.
+{
+  __POINTER mem__D2C;
+  __UINTEGER_32 cap__A2C,old_size__EGC;
+  __INTEGER Self__KGD,limit_up__LGD;
+  __MEMORY *block__KGC;
+  __CHARACTER *__tmp__22M;
+  if ((capacity_max__LGC ==  0)) {
+    mem__D2C=((__POINTER )(NULL));
+    cap__A2C= 33554432;
+    do {
+      cap__A2C=(__UINTEGER_32)(cap__A2C <<  1);
+      mem__D2C=((__POINTER )(malloc((cap__A2C))));
+      if ((mem__D2C != (void *)NULL)) {
+        free((mem__D2C));
+      };
+    } while ((! ((mem__D2C == (void *)NULL) || (cap__A2C ==  2147483648LU))));
+    if ((mem__D2C == (void *)NULL)) {
+      cap__A2C=(__UINTEGER_32)(cap__A2C >>  1);
+    };
+    capacity_max__LGC=cap__A2C;
+    begin_memory__I1=((__POINTER )(malloc((cap__A2C))));
+  };
+  old_size__EGC=(__UINTEGER_32)(nb_page__1IB <<  26);
+  nb_page__1IB=(__UINTEGER_32)(nb_page__1IB +  1);
+  if (((__UINTEGER_32)(old_size__EGC +  67108864) > capacity_max__LGC)) {
+    Self__KGD= 1;
+    limit_up__LGD=((__STRING_CONSTANT *)(&__string_1))->count__FGD;
+    __tmp__22M=((__STRING_CONSTANT *)(&__string_1))->storage__TKE;
+    while ((Self__KGD <= limit_up__LGD)) {
+      fputc((int)(((__CHARACTER *)__tmp__22M)[(__INTEGER)(Self__KGD -  1)]),stdout);
+      Self__KGD=(__INTEGER)(Self__KGD +  1);
+    };
+    exit(( 1));
+  };
+  block__KGC=((__MEMORY *)(void *)((unsigned long)begin_memory__I1 - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )old_size__EGC))));
+  block__KGC->previous_linear__NL= 4294967295LU;
+  block__KGC->size_and_id__OL= 67108858;
+  block__KGC->next_free__PL=first_free__UVD;
+  block__KGC->previous_free__QL=NULL;
+  if (((void *)first_free__UVD != (void *)NULL)) {
+    ((__MEMORY *)first_free__UVD)->previous_free__QL=block__KGC;
+  };
+  first_free__UVD=block__KGC;
+  last_block[((__UINTEGER_32)(nb_page__1IB -  1))] = (block__KGC);
+  return(block__KGC);
+}
+
+static void to_busy__index__4QG(__MEMORY *Self__5QG,__UINTEGER_32 sz__ARG,__UINTEGER_32 idx__BRG)
+// ({MEMORY},{UINTEGER_32},{UINTEGER_32}) VoidNo recursive, No inlinable.
+{
+  __MEMORY *new__IRG,*prev__P1M,*next__Q1M,*Self__TVD,*Self__YUM;
+  __UINTEGER_32 siz__CRG,new_size__FRG;
+  new__IRG=NULL;
+  prev__P1M=Self__5QG->previous_free__QL;
+  next__Q1M=Self__5QG->next_free__PL;
+  if (((void *)prev__P1M == (void *)NULL)) {
+    first_free__UVD=next__Q1M;
+  } else {
+    ((__MEMORY *)prev__P1M)->next_free__PL=next__Q1M;
+  };
+  if (((void *)next__Q1M != (void *)NULL)) {
+    ((__MEMORY *)next__Q1M)->previous_free__QL=prev__P1M;
+  };
+  siz__CRG=Self__5QG->size_and_id__OL;
+  new_size__FRG=(__UINTEGER_32)(siz__CRG - sz__ARG);
+  if ((new_size__FRG > (__UINTEGER_32)((__UINTEGER_32)(((__UINTEGER_32 )(MINIMUM_SIZE)) +  2) +  8))) {
+    siz__CRG=sz__ARG;
+    new__IRG=((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__5QG) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )sz__ARG))));
+    ((__MEMORY *)new__IRG)->previous_linear__NL=((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )Self__5QG) - (unsigned long)begin_memory__I1))));
+    ((__MEMORY *)new__IRG)->size_and_id__OL=(__UINTEGER_32)(new_size__FRG -  8);
+    Self__TVD=((__MEMORY *)new__IRG);
+    Self__TVD->next_free__PL=first_free__UVD;
+    Self__TVD->previous_free__QL=NULL;
+    if (((void *)first_free__UVD != (void *)NULL)) {
+      ((__MEMORY *)first_free__UVD)->previous_free__QL=Self__TVD;
+    };
+    first_free__UVD=Self__TVD;
+    if (((__UINTEGER_32)(((__MEMORY *)new__IRG)->size_and_id__OL &  2) !=  0)) {
+      last_block[(idx__BRG)] = (new__IRG);
+    } else {
+      Self__YUM=((__MEMORY *)new__IRG);
+      ((__MEMORY *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER )Self__YUM) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER ) 0) - (unsigned long)((__POINTER )(__UINTEGER_32)(Self__YUM->size_and_id__OL &  4294967292LU)))))->previous_linear__NL=((__UINTEGER_32 )((unsigned int)((void *)((unsigned long)((__POINTER )((__MEMORY *)new__IRG)) - (unsigned long)begin_memory__I1))));
+    };
+  };
+  Self__5QG->size_and_id__OL=(__UINTEGER_32)(siz__CRG |  1);
+}
+
+static void copy__to__size__JDI(__POINTER src__LDI,__POINTER dst__MDI,__UINTEGER_32 sz__NDI)
+// ({POINTER},{POINTER},{UINTEGER_32}) VoidNo recursive, No inlinable.
+{
+  __INTEGER siz__QDI,Self__XMI;
+  __POINTER *na_src__ODI,*na_dst__PDI;
+  siz__QDI=((__INTEGER )sz__NDI);
+  siz__QDI=(__INTEGER)(siz__QDI / ((__INTEGER )(sizeof(void *))));
+  na_src__ODI=((__POINTER *)src__LDI);
+  na_dst__PDI=((__POINTER *)dst__MDI);
+  Self__XMI=(__INTEGER)(siz__QDI -  1);
+  while ((Self__XMI >=  0)) {
+    na_dst__PDI[Self__XMI]=na_src__ODI[Self__XMI];
+    Self__XMI=(__INTEGER)(Self__XMI -  1);
+  };
+}
+
+//==========================//
+// DEBUG MANAGER            //
+//==========================//
+
+void print_string(char *str) 
+{ 
+  while (*str!=0) {
+    print_char(*str); 
+    str++; 
+  };
+}  
+

-- 
Lisaac compiler



More information about the Lisaac-commits mailing list