Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
pypy ./pypy/pypy/translator/goal/translate.py --opt=jit --gcrootfinder=shadowstack example5.py
[translation:info] Translating target as defined by example5
[platform:msg] Setting platform to 'host' cc=None
[platform:execute] gcc-4.0 -c -arch x86_64 -O3 -fomit-frame-pointer -mmacosx-version-min=10.4 -mdynamic-no-pic /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/gcctest.c -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/gcctest.o
[platform:execute] gcc-4.0 /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/gcctest.o -arch x86_64 -mmacosx-version-min=10.4 -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/gcctest
[platform:execute] gcc-4.0 -c -arch x86_64 -O3 -fomit-frame-pointer -mmacosx-version-min=10.4 -mdynamic-no-pic /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_0.c -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_0.o
[platform:execute] gcc-4.0 /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_0.o -arch x86_64 -mmacosx-version-min=10.4 -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_0
[translation] translate.py configuration:
[translation] [translate]
[translation] opt = jit
[translation] targetspec = example5
[translation] translation configuration:
[translation] [translation]
[translation] gc = minimark
[translation] gcrootfinder = shadowstack
[translation] gctransformer = framework
[translation] jit = True
[translation] list_comprehension_operations = True
[translation] withsmallfuncsets = 5
[translation:info] Annotating&simplifying...
[translation:info] with policy: pypy.annotation.policy.AnnotatorPolicy
[platform:execute] gcc-4.0 -c -arch x86_64 -O3 -fomit-frame-pointer -mmacosx-version-min=10.4 -mdynamic-no-pic /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_1.c -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_1.o
[platform:execute] gcc-4.0 /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_1.o -arch x86_64 -mmacosx-version-min=10.4 -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_1
[platform:execute] gcc-4.0 -c -arch x86_64 -O3 -fomit-frame-pointer -mmacosx-version-min=10.4 -mdynamic-no-pic /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_2.c -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_2.o
[platform:Error] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_2.c: In function ‘main’:
[platform:Error] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_2.c:31: error: too many arguments to function ‘getpgrp’
[platform:execute] gcc-4.0 -c -arch x86_64 -O3 -fomit-frame-pointer -mmacosx-version-min=10.4 -mdynamic-no-pic /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_3.c -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_3.o
[platform:Error] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_3.c: In function ‘main’:
[platform:Error] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_3.c:31: error: too many arguments to function ‘setpgrp’
[platform:execute] gcc-4.0 -c -arch x86_64 -O3 -fomit-frame-pointer -mmacosx-version-min=10.4 -mdynamic-no-pic /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_4.c -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_4.o
[platform:execute] gcc-4.0 /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_4.o -arch x86_64 -mmacosx-version-min=10.4 -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_4
[platform:execute] gcc-4.0 -c -arch x86_64 -O3 -fomit-frame-pointer -mmacosx-version-min=10.4 -mdynamic-no-pic /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_5.c -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_5.o
[platform:execute] gcc-4.0 /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_5.o -arch x86_64 -mmacosx-version-min=10.4 -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_5
[platform:execute] gcc-4.0 -c -arch x86_64 -O3 -fomit-frame-pointer -mmacosx-version-min=10.4 -mdynamic-no-pic /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_6.c -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_6.o
[platform:execute] gcc-4.0 /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_6.o -arch x86_64 -mmacosx-version-min=10.4 -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_6
[platform:execute] gcc-4.0 -c -arch x86_64 -O3 -fomit-frame-pointer -mmacosx-version-min=10.4 -mdynamic-no-pic /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_7.c -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_7.o
[platform:execute] gcc-4.0 /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_7.o -arch x86_64 -mmacosx-version-min=10.4 -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_7
[platform:execute] gcc-4.0 -c -arch x86_64 -O3 -fomit-frame-pointer -mmacosx-version-min=10.4 -mdynamic-no-pic /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_8.c -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_8.o
[platform:execute] gcc-4.0 /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_8.o -arch x86_64 -mmacosx-version-min=10.4 -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_8
[platform:execute] gcc-4.0 -c -arch x86_64 -O3 -fomit-frame-pointer -mmacosx-version-min=10.4 -mdynamic-no-pic /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_9.c -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_9.o
[platform:execute] gcc-4.0 /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_9.o -arch x86_64 -mmacosx-version-min=10.4 -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_9
[platform:execute] gcc-4.0 -c -arch x86_64 -O3 -fomit-frame-pointer -mmacosx-version-min=10.4 -mdynamic-no-pic /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_10.c -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_10.o
[platform:execute] gcc-4.0 /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_10.o -arch x86_64 -mmacosx-version-min=10.4 -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_10
[platform:execute] gcc-4.0 -c -arch x86_64 -O3 -fomit-frame-pointer -mmacosx-version-min=10.4 -mdynamic-no-pic /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_11.c -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_11.o
[platform:execute] gcc-4.0 /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_11.o -arch x86_64 -mmacosx-version-min=10.4 -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_11
[platform:execute] gcc-4.0 -c -arch x86_64 -O3 -fomit-frame-pointer -mmacosx-version-min=10.4 -mdynamic-no-pic /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_12.c -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_12.o
[platform:execute] gcc-4.0 /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_12.o -arch x86_64 -mmacosx-version-min=10.4 -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_12
[platform:execute] gcc-4.0 -c -arch x86_64 -O3 -fomit-frame-pointer -mmacosx-version-min=10.4 -mdynamic-no-pic /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_13.c -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_13.o
[platform:execute] gcc-4.0 /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_13.o -arch x86_64 -mmacosx-version-min=10.4 -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_13
.++++++++++++++
[translation:info] -- someobjectness 0% (0 of 15 functions polluted by SomeObjects)
[translation:info] RTyping...
.+++++++++++++++************************%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#############
[rtyper] specializing: 100 / 393 blocks (25%)
[rtyper] specializing: 200 / 393 blocks (50%)
[rtyper] specializing: 300 / 393 blocks (76%)
[rtyper] -=- specialized 393 blocks -=-
.+++++++++++++++******
[rtyper] specializing: 400 / 551 blocks (72%)
.
[rtyper] specializing: 500 / 556 blocks (89%)
[rtyper] -=- specialized 163 more blocks -=-
.+++
[rtyper] -=- specialized 12 more blocks -=-
[translation:info] JIT compiler generation...
[platform:execute] gcc-4.0 -c -arch x86_64 -O3 -fomit-frame-pointer -mmacosx-version-min=10.4 -mdynamic-no-pic /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_14.c -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_14.o
[platform:execute] gcc-4.0 /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_14.o -arch x86_64 -mmacosx-version-min=10.4 -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_14
[platform:execute] gcc-4.0 -c -arch x86_64 -O3 -fomit-frame-pointer -mmacosx-version-min=10.4 -mdynamic-no-pic /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_15.c -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_15.o
[platform:execute] gcc-4.0 /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_15.o -arch x86_64 -mmacosx-version-min=10.4 -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_15
[platform:Error] Undefined symbols for architecture x86_64:
[platform:Error] "_mremap", referenced from:
[platform:Error] _main in platcheck_15.o
[platform:Error] ld: symbol(s) not found for architecture x86_64
[platform:Error] collect2: ld returned 1 exit status
[platform:execute] gcc-4.0 -c -arch x86_64 -O3 -fomit-frame-pointer -mmacosx-version-min=10.4 -mdynamic-no-pic /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_16.c -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_16.o
[platform:execute] gcc-4.0 /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_16.o -arch x86_64 -mmacosx-version-min=10.4 -ldl -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_16
[platform:execute] gcc-4.0 -c -arch x86_64 -O3 -fomit-frame-pointer -mmacosx-version-min=10.4 -mdynamic-no-pic -I/usr/include/ffi /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.o
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c: In function ‘dump_section_ffi_type_double_alignment’:
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c:118: warning: comparison is always false due to limited range of data type
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c: In function ‘dump_section_ffi_type_double_type’:
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c:138: warning: comparison is always false due to limited range of data type
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c: In function ‘dump_section_ffi_type_float_alignment’:
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c:148: warning: comparison is always false due to limited range of data type
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c: In function ‘dump_section_ffi_type_float_type’:
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c:168: warning: comparison is always false due to limited range of data type
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c: In function ‘dump_section_ffi_type_longdouble_alignment’:
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c:178: warning: comparison is always false due to limited range of data type
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c: In function ‘dump_section_ffi_type_longdouble_type’:
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c:198: warning: comparison is always false due to limited range of data type
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c: In function ‘dump_section_ffi_type_pointer_alignment’:
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c:208: warning: comparison is always false due to limited range of data type
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c: In function ‘dump_section_ffi_type_pointer_type’:
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c:228: warning: comparison is always false due to limited range of data type
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c: In function ‘dump_section_ffi_type_schar_alignment’:
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c:238: warning: comparison is always false due to limited range of data type
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c: In function ‘dump_section_ffi_type_schar_type’:
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c:258: warning: comparison is always false due to limited range of data type
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c: In function ‘dump_section_ffi_type_sint16_alignment’:
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c:268: warning: comparison is always false due to limited range of data type
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c: In function ‘dump_section_ffi_type_sint16_type’:
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c:288: warning: comparison is always false due to limited range of data type
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c: In function ‘dump_section_ffi_type_sint32_alignment’:
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c:298: warning: comparison is always false due to limited range of data type
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c: In function ‘dump_section_ffi_type_sint32_type’:
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c:318: warning: comparison is always false due to limited range of data type
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c: In function ‘dump_section_ffi_type_sint64_alignment’:
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c:328: warning: comparison is always false due to limited range of data type
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c: In function ‘dump_section_ffi_type_sint64_type’:
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c:348: warning: comparison is always false due to limited range of data type
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c: In function ‘dump_section_ffi_type_sint8_alignment’:
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c:358: warning: comparison is always false due to limited range of data type
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c: In function ‘dump_section_ffi_type_sint8_type’:
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c:378: warning: comparison is always false due to limited range of data type
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c: In function ‘dump_section_ffi_type_sint_alignment’:
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c:388: warning: comparison is always false due to limited range of data type
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c: In function ‘dump_section_ffi_type_sint_type’:
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c:408: warning: comparison is always false due to limited range of data type
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c: In function ‘dump_section_ffi_type_sshort_alignment’:
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c:418: warning: comparison is always false due to limited range of data type
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c: In function ‘dump_section_ffi_type_sshort_type’:
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c:438: warning: comparison is always false due to limited range of data type
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c: In function ‘dump_section_ffi_type_uchar_alignment’:
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c:448: warning: comparison is always false due to limited range of data type
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c: In function ‘dump_section_ffi_type_uchar_type’:
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c:468: warning: comparison is always false due to limited range of data type
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c: In function ‘dump_section_ffi_type_uint16_alignment’:
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c:478: warning: comparison is always false due to limited range of data type
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c: In function ‘dump_section_ffi_type_uint16_type’:
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c:498: warning: comparison is always false due to limited range of data type
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c: In function ‘dump_section_ffi_type_uint32_alignment’:
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c:508: warning: comparison is always false due to limited range of data type
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c: In function ‘dump_section_ffi_type_uint32_type’:
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c:528: warning: comparison is always false due to limited range of data type
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c: In function ‘dump_section_ffi_type_uint64_alignment’:
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c:538: warning: comparison is always false due to limited range of data type
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c: In function ‘dump_section_ffi_type_uint64_type’:
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c:558: warning: comparison is always false due to limited range of data type
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c: In function ‘dump_section_ffi_type_uint8_alignment’:
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c:568: warning: comparison is always false due to limited range of data type
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c: In function ‘dump_section_ffi_type_uint8_type’:
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c:588: warning: comparison is always false due to limited range of data type
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c: In function ‘dump_section_ffi_type_uint_alignment’:
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c:598: warning: comparison is always false due to limited range of data type
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c: In function ‘dump_section_ffi_type_uint_type’:
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c:618: warning: comparison is always false due to limited range of data type
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c: In function ‘dump_section_ffi_type_ushort_alignment’:
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c:628: warning: comparison is always false due to limited range of data type
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c: In function ‘dump_section_ffi_type_ushort_type’:
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c:648: warning: comparison is always false due to limited range of data type
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c: In function ‘dump_section_ffi_type_void_alignment’:
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c:658: warning: comparison is always false due to limited range of data type
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c: In function ‘dump_section_ffi_type_void_type’:
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c:678: warning: comparison is always false due to limited range of data type
[platform:execute] gcc-4.0 /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.o -L/usr/lib -arch x86_64 -mmacosx-version-min=10.4 -lffi -I/usr/include/ffi -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17
[platform:execute] gcc-4.0 -c -arch x86_64 -O3 -fomit-frame-pointer -mmacosx-version-min=10.4 -mdynamic-no-pic /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_18.c -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_18.o
[platform:Error] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_18.c:20:31: error: valgrind/valgrind.h: No such file or directory
.
[rtyper] -=- specialized 8 more blocks -=-
.
[rtyper] -=- specialized 6 more blocks -=-
.
[rtyper] -=- specialized 5 more blocks -=-
.
[rtyper] -=- specialized 8 more blocks -=-
.
[rtyper] specializing: 600 / 601 blocks (99%)
[rtyper] -=- specialized 6 more blocks -=-
.
[rtyper] -=- specialized 5 more blocks -=-
.
[rtyper] -=- specialized 4 more blocks -=-
.
[rtyper] -=- specialized 3 more blocks -=-
[backendopt:removeassert] Could not remove 0 asserts, but removed 0 asserts.
[backendopt:inlining] phase with threshold factor: 32.4
[backendopt:inlining] heuristic: pypy.translator.backendopt.inline.inlining_heuristic
.++++++++++
[backendopt:inlining] inlined 22 callsites.
[backendopt:malloc] starting malloc removal
[backendopt:malloc] removed 0 simple mallocs in total
[backendopt:mergeifblocks] starting to merge if blocks
.
[rtyper] -=- specialized 0 more blocks -=-
.+
[jitcodewriter:info] making JitCodes...
[jitcodewriter:info] there are 3 JitCode instances.
.+++++++++++++++************************%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#######################################################################%#%%%**************
++++++++++++++********************%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%########################################################################%%%%%%%***********
+++++++++++*******************%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%###%%%%######################################################################%%%%%%%%%%%%********
+++++++++*****************%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#############################################################################%%%%%%%%%%%%%%%%%*****
+++++++****************%%%%##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%############################################################################%%%%%%%%%%%%%%%%%***
+++++****************%%%%%%##%%%%%%%%%%%%%%%##%%%%%%%%%%%%%%%%%%%%%#%####################################################################################%#%%%%%%%%%%%%*
++++***************%%%%%%%%%%#%###%%%%%%%%%%%############################################################################################################%#%%%%%%%%%%%%%
+++**************%%%%%%%%%%%%%%%#######################################################################################################################%%%%%%%%%%%%%%%%%
++*************%%%%%%%%%%%%%%%%#################################################################################################
[annrpython:WARNING] <FunctionGraph of (pypy.jit.backend.x86.regalloc:423)RegAlloc._compute_vars_longevity at 0x10ff30bb8> block@249 op=2/ no precise annotation supplied for iter(SomePBC(can_be_None=True, const=None, subset_of=None),)
++*************%%%%%%%%%%%%%%%%#########################################################################################################################%%#%%%%%%%%%%%%%
+*************%%%%%%%%%%%%%%%%############################################################################################################################%%%%%%%%%%%%%%
*************%%%%%%%%%%################################################################################################################################%%%%%%%%%%%%%%%%%
***********%%%%%%#%###################################################################################################################################%%%%%%%%%%%%%%%%%%
%*********%%%%%%####################################################################################################################################%%%%%%%%%%%%%%%%%%%%
%%%%****%%%%%%%#####################################################################################################################################%%%%%%%%%%%%%%%%%%%%
####################################################################################################################################################%%%%%%%%%%%%%%%%%%%%
%%%%****%%%%%%%#####################################################################################################################################%%%%%%%%%%%%%%%%%%%%
%*********%%%%%%####################################################################################################################################%%%%%%%%%%%%%%%%%%%%
***********%%%%%%#%###################################################################################################################################%%%%%%%%%%%%%%%%%%
*************%%%%%%%%%%################################################################################################################################%%%%%%%%%%%%%%%%%
+*************%%%%%%%%%%%%%%%%############################################################################################################################%%%%%%%%%%%%%%
++*************%%%%%%%%%%%%%%%%#########################################################################################################################%%#%%%%%%%%%%%%%
+++**************%%%%%%%%%%%%%%%#######################################################################################################################%%%%%%%%%%%%%%%%%
++++***************%%%%%%%%%%#%###%%%%%%%%%%%############################################################################################################%#%%%%%%%%%%%%%
+++++****************%%%%%%##%%%%%%%%%%%%%%%##%%%%%%%%%%%%%%%%%%%%%#%####################################################################################%#%%%%%%%%%%%%*
+++++++****************%%%%##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%############################################################################%%%%%%%%%%%%%%%%%***
+++++++++*****************%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#############################################################################%%%%%%%%%%%%%%%%%*****
+++++++++++*******************%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%###%%%%######################################################################%%%%%%%%%%%%********
++++++++++++++********************%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%########################################################################%%%%%%%***********
***************************%%%%%%%%%%%%%%%%%%%%%%%%%%#######################%%%%%%%%%%%%%%%%%*****%%%%######%%%****++***%%####%***%**********+++++......................
*************#**********%%###%%%%%%%%%%%%%%%%%%%%%############################%%%%%%%%%%%%%%%%****%%%%%%##%%%%****++++*****%***%*%%%%%%%%*******++++....................
************#%**%********%%%%%%%%%%%%%%%%%%%%%%%################################%%#####%%%%%%%%%##%****%%%******+++++********%%%%%%%%%%%%%%%%****++++...................
**************%###%%****##%%%%%%%%%%%%%%%%%%%%%##################################%%%##%%%#%##%%#************++++++++********%%%%%%%#######%%%%%***++++..................
*******************%#%**%%%%%%%%%%%%%%%%%%%%%%%##################################%%%%%%%%%%%%%%%**##%*******+++++++*********%%%%#%#########%%%%****+++*#%...............
************************%%%%%###%%#%%%%%%##%%%%##################################%%%%%%%%%%%%##%************++++++++********%%%%%%%#######%#%%****++*%%*+...............
*******************%%%**%%%%%%%%%%%%%%########%%################################%%%%%%%%%%%%%%%%************+++++++++*********%%%%%%%%%%%%%%%**%##%%**##%##*+*..........
%%%%%%%%%*******%%%###%%*%%%%%%%%%%%%%%#######%%%##############################%%%%%%%%%%%%%%%%************++++++++++++************%%%%********++++*%#*+**++............
%%%%#%%%%%%%%%***%%%%%%**%%%%%%%%%%
[rtyper:WARNING] prebuilt instance <pypy.jit.metainterp.compile.DoneWithThisFrameDescrVoid object at 0x0000000104bb4058> has no attribute '_x86_current_depths'
[rtyper:WARNING] prebuilt instance <pypy.jit.metainterp.compile.DoneWithThisFrameDescrVoid object at 0x0000000104bb4058> has no attribute '_x86_adr_jump_offset'
[rtyper:WARNING] prebuilt instance <pypy.jit.metainterp.compile.ExitFrameWithExceptionDescrRef object at 0x0000000104bb4250> has no attribute '_x86_current_depths'
[rtyper:WARNING] prebuilt instance <pypy.jit.metainterp.compile.ExitFrameWithExceptionDescrRef object at 0x0000000104bb4250> has no attribute '_x86_adr_jump_offset'
%%%%#%%%%%%%%%***%%%%%%**%%%%%%%%%%%%%%%%%%%%%%%%%
[rtyper:WARNING] prebuilt instance <pypy.jit.metainterp.jitprof.Profiler object at 0x0000000104bdafa8> has no attribute 'tk'
%%%%#%%%%%%%%%***%%%%%%**%%%%%%%%%%%%%%%%%%%%%%%%%%###########
[rtyper] specializing: 1800 / 35058 blocks (5%)
%%%%#%%%%%%%%%***%%%%%%**%%%%%%%%%%%%%%%%%%%%%%%%%%##########################%%%%%%%%%%%%%%%%%*************++++++++++++++++***********
[rtyper:WARNING] prebuilt instance <pypy.jit.backend.llsupport.gc.GcRefList instance at 0x00000001066a8840> has no attribute 'nextindex'
[rtyper:WARNING] prebuilt instance <pypy.jit.backend.llsupport.gc.GcRefList instance at 0x00000001066a8840> has no attribute 'oldlists'
[rtyper:WARNING] prebuilt instance <pypy.jit.backend.llsupport.gc.GcRefList instance at 0x00000001066a8840> has no attribute 'list'
[rtyper:WARNING] prebuilt instance <pypy.jit.backend.llsupport.gc.GcRefList instance at 0x00000001066a8840> has no attribute 'hashtable'
%%%%#%%%%%%%%%***
[rtyper] specializing: 3600 / 35694 blocks (10%)
%%%%#%%%%%%%%%***%%%%%%**%%%%%%%%%%%%%%%%%%%%%%%%%%##########################%%%%%%%%
[rtyper:WARNING] prebuilt instance <Loop -1, gen=0> has no attribute '_x86_param_depth'
[rtyper:WARNING] prebuilt instance <Loop -1, gen=0> has no attribute '_keepalive_target_looktokens'
[rtyper:WARNING] prebuilt instance <Loop -1, gen=0> has no attribute '_x86_arglocs'
[rtyper:WARNING] prebuilt instance <Loop -1, gen=0> has no attribute '_x86_bootstrap_code'
[rtyper:WARNING] prebuilt instance <Loop -1, gen=0> has no attribute '_x86_debug_checksum'
[rtyper:WARNING] prebuilt instance <Loop -1, gen=0> has no attribute '_x86_frame_depth'
[rtyper:WARNING] prebuilt instance <Loop -1, gen=0> has no attribute '_x86_direct_bootstrap_code'
[rtyper:WARNING] prebuilt instance <Loop -1, gen=0> has no attribute '_x86_loop_code'
%%%%#%%%%%%%%%***%%%%%%**%%%%%%
[rtyper] specializing: 5500 / 36228 blocks (15%)
%%%%#%%%%%%%%%***%%%%%%**%%%%%%%%%%%%%%%%%%%%%%%%%%#######################
[rtyper] specializing: 7400 / 36645 blocks (20%)
%%%%#%%%%%%%%%***%%%%%%**%%%%%%%%%%%%%%%%%%%%%%%%%%##########################%%%%%%%%%%%%%%%%%**
[rtyper] specializing: 9300 / 37083 blocks (25%)
%%%%#%%%%%%%%%***%%%%%%**%%%%%%%%%%%%
[rtyper] specializing: 11200 / 37221 blocks (30%)
%%%%#%%%%%%%%%***%%%%%%**%%%%%%%%%%%%%%
[rtyper] specializing: 13100 / 37373 blocks (35%)
%%%%#%%%%%%%%%***%%%%%%**%%%
[rtyper] specializing: 15000 / 37460 blocks (40%)
%%%
[rtyper:WARNING] prebuilt instance <Loop -1, gen=0> has no attribute '_x86_param_depth'
[rtyper:WARNING] prebuilt instance <Loop -1, gen=0> has no attribute '_keepalive_target_looktokens'
[rtyper:WARNING] prebuilt instance <Loop -1, gen=0> has no attribute '_x86_arglocs'
[rtyper:WARNING] prebuilt instance <Loop -1, gen=0> has no attribute '_x86_bootstrap_code'
[rtyper:WARNING] prebuilt instance <Loop -1, gen=0> has no attribute '_x86_debug_checksum'
[rtyper:WARNING] prebuilt instance <Loop -1, gen=0> has no attribute '_x86_frame_depth'
[rtyper:WARNING] prebuilt instance <Loop -1, gen=0> has no attribute '_x86_direct_bootstrap_code'
[rtyper:WARNING] prebuilt instance <Loop -1, gen=0> has no attribute '_x86_loop_code'
%%%%#%%%%%%%%%***%%%%%%**%%%
[rtyper] specializing: 17000 / 37579 blocks (45%)
%%%%#%%%%%%%%%***%%%%%%**
[rtyper] specializing: 18900 / 37664 blocks (50%)
%%%%#%%%%%%%%%***%%%%%%**%%%%%%%%
[rtyper] specializing: 20800 / 37781 blocks (55%)
%%%%#%%%%%%%%%***%%%%%%**%%%%%%%
[rtyper] specializing: 22800 / 37939 blocks (60%)
%
[rtyper:WARNING] prebuilt instance <pypy.jit.metainterp.compile.PropagateExceptionDescr object at 0x000000010475b7f8> has no attribute '_x86_current_depths'
[rtyper:WARNING] prebuilt instance <pypy.jit.metainterp.compile.PropagateExceptionDescr object at 0x000000010475b7f8> has no attribute '_x86_adr_jump_offset'
%%%%#%%%%%%%%%***%%%%%%**%%%%%%%%%
[rtyper] specializing: 24800 / 38090 blocks (65%)
%%%%#%%%%%%%%%***%%%%%%**%%%%%%%%
[rtyper] specializing: 26800 / 38213 blocks (70%)
%%%%#%%%%%%%%%***%%%%%%**%%%%%%%%%%%%%%%
[rtyper] specializing: 28800 / 38376 blocks (75%)
%%%%#%%%%%%%%%***%%%%%%**%%%%%%%%%%
[rtyper] specializing: 30900 / 38529 blocks (80%)
%%%%#%%%%%%%%%***%%%%%%**%%
[rtyper] specializing: 32900 / 38622 blocks (85%)
%%%%#%%%%%%%%
[rtyper] specializing: 34600 / 38648 blocks (89%)
%%%%#%%%
[rtyper] specializing: 36400 / 38676 blocks (94%)
%
[rtyper] specializing: 38300 / 38676 blocks (99%)
%%
[rtyper] -=- specialized 38074 more blocks -=-
%%%%
[rtyper] specializing: 38700 / 38721 blocks (99%)
[rtyper] -=- specialized 34 more blocks -=-
[rtyper] -=- specialized 0 more blocks -=-
[translation:info] the JIT compiler was generated
[translation:info] lltype back-end optimisations...
[backendopt:inlining] phase with threshold factor: 32.4
[backendopt:inlining] heuristic: pypy.translator.backendopt.inline.inlining_heuristic
%%%%#%%%%%%%%%***%%%%%%**%%%%%%%%%%%%%%%%%%%%%%%%%%##########################%%%%%%%%%%%%%%%%%*************++++++++++++++++****************+++++***%%#%%**+.............
%%%%#%%%%%%%%%%%%%%********%%%%%%%%%%%%%%%%%%%%%%%%%%%%###################%%%%%%%%%%%%%%%%%%%*************++++++++++++++++++++++++++++++++++++++**%%###%%*+.............
##########%###%%%%#*********%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%**************++++++++++++++++++++++++++++++++......+++****%%**%.............
############%%%%%%%***********%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%***************++++++++++++.................................+*%%+*%............
############%%%%%%%%************%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%****************++++++++++++...................................+*%...............
############%%%%%%%%**************%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*****************+++++++++++++.....................................................
##########%%%%%%%%%*******************%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*******************+++++++++++++.......................................................
%%%%#%%%%%%%%%%%%%************************%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%**********************++++++++++++++........................................................
%%%%%%%%%%%%%%%**********************************%%%%%%%%%%%%%%%%%%%%***************************+++++++++++++++.........................................................
%%%%%%%%%%%%**********************************************************************************+++++++++++++++...........................................................
*******************************************************************************************+++++++++++++++++............................................................
****************************************************************************************++++++++++++++++++..............................................................
***************++********************************************************************+++++++++++++++++++................................................................
**********+++++++++++***********************************************************++++++++++++++++++++++..................................................................
++++++++++++++++++++++++++*************************************************+++++++++++++++++++++++++....................................................................
+++++++++++++++++++++++++++++++++***********************************++++++++++++++++++++++++++++++......................................................................
+++++++++++++++++++++++++++++++++++++++++++++++*******+++++++++++++++++++++++++++++++++++++++++.........................................................................
*********************+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++............................................................................
**************************+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++...............................................................................
*****##***********************+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++...............................................................................
.......%**++++%%*%##%**************+++++++++........+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*%%#%%%%%%%%%%***********
.......+****.++++******%%%%%%%%%****++++++.......+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*%%###%%%*****************
.................++**%%%#######%%****++++....+++++++++++++++++++++++++++++++++++++++%+++++++++++++++++++++++++++++++++++++++++++++++++++++++***%%%%%%%******************
.................++***%%%####%%%%****++++.+++++++++++++++++++++++++++++++++++++++++*%%+++++++++++++++++++++++++++++++++++++++++++++++******#**%%%%%%********************
..................++****%%%%%%%*****+++++++++++++++++++++++++++++++++++++++++++++*%%%*++++++++++++++++++++++++++++++++++++++++******************%%%%********************
...................++++***%%%#*%%%%%**++++++++++++++++++++#+++++++++++++++++++++*#++++++++++++++++++++++++++++++++++++++*************************%#%***%%%%#%%#*********
......................++++++**%%###%%**++++++*+++*+*****+**%*++***+++++++++++++++++#*++++++++++++++++++++++++++++++*****************************************%%###%%%****
............................++*****#%##%**++**%%%*%###%%*%%%******%*******+++++***%%#%+++++++++++++++++++++++*************************************************%%%%#%%%#%
...........................+++++++*+++++++++++++**%%%%%%*%##%%%%%%%%%%%%******%%%%%%#%***+*******************************************************************%%%%######%
.........................+++++++++++++++++++++++++******%%%%%########%%%%%**%%%######%%%***************%*%**************************************************%%%%#######%
......................+++++++++++++++++++++++++++++****%%%%%#########%%%%%%*%%%##%#%%%%%************%%%******************************************************%%%%%%%%%%#
...................++++++++++++++++++++++++++++++++*****%%%%%#######%%####%%%%#%%%%%%%************************************************************************%%%%%%%%%%
.................++++++++++++++++++++++++++++++++++*****%%%%%%%%%%%%%%%%%%%%#%#%%#%%%%%%%%%%%%%%%%%%%#%%%%%%%*****************************
[backendopt:inlining] inlined 23364 callsites.
[backendopt:malloc] starting malloc removal
.................++++++++++++++++++++++++++++++++++*****%%%%%%%%%%%%%%%%%%%%#%#%%#%%%%%%%%%%%%%%%%%%%#%%%%%%%******************************************%%%%%%%%%%%%%%%##
..............++++++++++++++++++++++++++++++++++++++*****#*%%%%%%%%%%%%%%%%%%#####%%%%##%%%%%%%%%#%%##%%%%%%%%%%%%%%%**********#******************%#%%%%%%%%%#%##%%%####
............+++++++++++++++++++++++++++++++++++++++++**********%%%%%%%%%%%%%%%%###########%%%%%%%%%##%%%#%%%%%%%%%%%%%%%%%%**%#****************%%%%%#%%%%%###%##########
..........++++++++++++++++++++++++++++++++++++++++++***************%%%%%%%####################%%%%%%%#%%%%%%%%%%%%%%%%%%%%%%%#%%************%%%%%%%%%%%%%%%%%###########
........++++++++++++++++++++++++++++++++++++++++++**************%%%%#%%#%#%#############################%%%%%###%%%%%%%%%%%%%%%%%%##%%*%#%%%#%%%%%%%%%%%%%%#############
.....+++++++++++++++++++++++++++++++++++++++++++**************%%%%%%%%%%%%###############################%%##%%%%%%%%%%%%%%%%%%%%%%%%####%#%#%%%%#%%%%%%%%##############
...++++
[backendopt:malloc] removed 2850 simple mallocs in total
[backendopt:WARNING] constant-folding v1 = getfield(v0, ('typeptr')):
[backendopt:WARNING] AttributeError: 'NoneType' object has no attribute '_getattr'
[backendopt:WARNING] constant-folding v1 = getfield(v2, ('typeptr')):
[backendopt:WARNING] AttributeError: 'NoneType' object has no attribute '_getattr'
[backendopt:WARNING] constant-folding v1 = getfield(v2, ('typeptr')):
[backendopt:WARNING] AttributeError: 'NoneType' object has no attribute '_getattr'
[backendopt:WARNING] constant-folding v4 = getfield(v3, ('typeptr')):
[backendopt:WARNING] AttributeError: 'NoneType' object has no attribute '_getattr'
[backendopt:WARNING] constant-folding v4 = getfield(v5, ('typeptr')):
[backendopt:WARNING] AttributeError: 'NoneType' object has no attribute '_getattr'
[backendopt:WARNING] constant-folding v4 = getfield(v5, ('typeptr')):
[backendopt:WARNING] AttributeError: 'NoneType' object has no attribute '_getattr'
[backendopt:WARNING] constant-folding v7 = getfield(v6, ('typeptr')):
[backendopt:WARNING] AttributeError: 'NoneType' object has no attribute '_getattr'
[backendopt:WARNING] constant-folding v7 = getfield(v8, ('typeptr')):
[backendopt:WARNING] AttributeError: 'NoneType' object has no attribute '_getattr'
[backendopt:WARNING] constant-folding v10 = getfield(v9, ('typeptr')):
[backendopt:WARNING] AttributeError: 'NoneType' object has no attribute '_getattr'
[backendopt:WARNING] constant-folding v10 = getfield(v11, ('typeptr')):
[backendopt:WARNING] AttributeError: 'NoneType' object has no attribute '_getattr'
[backendopt:WARNING] constant-folding v13 = getfield(v12, ('typeptr')):
[backendopt:WARNING] AttributeError: 'NoneType' object has no attribute '_getattr'
[backendopt:WARNING] constant-folding v13 = getfield(v14, ('typeptr')):
[backendopt:WARNING] AttributeError: 'NoneType' object has no attribute '_getattr'
[backendopt:WARNING] constant-folding v13 = getfield(v14, ('typeptr')):
[backendopt:WARNING] AttributeError: 'NoneType' object has no attribute '_getattr'
[backendopt:WARNING] constant-folding v16 = getfield(v15, ('typeptr')):
[backendopt:WARNING] AttributeError: 'NoneType' object has no attribute '_getattr'
[backendopt:WARNING] constant-folding v16 = getfield(v17, ('typeptr')):
[backendopt:WARNING] AttributeError: 'NoneType' object has no attribute '_getattr'
[backendopt:WARNING] constant-folding v16 = getfield(v17, ('typeptr')):
[backendopt:WARNING] AttributeError: 'NoneType' object has no attribute '_getattr'
[backendopt:WARNING] constant-folding v19 = getfield(v18, ('typeptr')):
[backendopt:WARNING] AttributeError: 'NoneType' object has no attribute '_getattr'
[backendopt:WARNING] constant-folding v19 = getfield(v20, ('typeptr')):
[backendopt:WARNING] AttributeError: 'NoneType' object has no attribute '_getattr'
[backendopt:WARNING] constant-folding v22 = getfield(v21, ('typeptr')):
[backendopt:WARNING] AttributeError: 'NoneType' object has no attribute '_getattr'
[backendopt:WARNING] constant-folding v22 = getfield(v23, ('typeptr')):
[backendopt:WARNING] AttributeError: 'NoneType' object has no attribute '_getattr'
[backendopt:WARNING] constant-folding v22 = getfield(v23, ('typeptr')):
[backendopt:WARNING] AttributeError: 'NoneType' object has no attribute '_getattr'
[backendopt:WARNING] constant-folding v25 = getfield(v24, ('typeptr')):
[backendopt:WARNING] AttributeError: 'NoneType' object has no attribute '_getattr'
[backendopt:WARNING] constant-folding v25 = getfield(v26, ('typeptr')):
[backendopt:WARNING] AttributeError: 'NoneType' object has no attribute '_getattr'
[backendopt:WARNING] constant-folding v25 = getfield(v26, ('typeptr')):
[backendopt:WARNING] AttributeError: 'NoneType' object has no attribute '_getattr'
[backendopt:WARNING] constant-folding v1 = getfield(v2, ('typeptr')):
[backendopt:WARNING] AttributeError: 'NoneType' object has no attribute '_getattr'
[backendopt:WARNING] constant-folding v4 = getfield(v5, ('typeptr')):
[backendopt:WARNING] AttributeError: 'NoneType' object has no attribute '_getattr'
[backendopt:WARNING] constant-folding v7 = getfield(v8, ('typeptr')):
[backendopt:WARNING] AttributeError: 'NoneType' object has no attribute '_getattr'
[backendopt:WARNING] constant-folding v10 = getfield(v11, ('typeptr')):
[backendopt:WARNING] AttributeError: 'NoneType' object has no attribute '_getattr'
[backendopt:WARNING] constant-folding v13 = getfield(v14, ('typeptr')):
[backendopt:WARNING] AttributeError: 'NoneType' object has no attribute '_getattr'
[backendopt:WARNING] constant-folding v16 = getfield(v17, ('typeptr')):
[backendopt:WARNING] AttributeError: 'NoneType' object has no attribute '_getattr'
[backendopt:WARNING] constant-folding v19 = getfield(v20, ('typeptr')):
[backendopt:WARNING] AttributeError: 'NoneType' object has no attribute '_getattr'
[backendopt:WARNING] constant-folding v22 = getfield(v23, ('typeptr')):
[backendopt:WARNING] AttributeError: 'NoneType' object has no attribute '_getattr'
[backendopt:WARNING] constant-folding v25 = getfield(v26, ('typeptr')):
[backendopt:WARNING] AttributeError: 'NoneType' object has no attribute '_getattr'
[backendopt:mergeifblocks] starting to merge if blocks
...+++++++++++++++++++++++++++++++++++++++++++**************%%%%%%%%%%%#%%####################################%%%%%%%%%%%%%%%%%%%%%%#%####%#%%%%%####%%%%%####
[translation:info] inserting stack checks...
.
[rtyper] -=- specialized 4 more blocks -=-
[translation:info] inserted 176 stack checks.
[translation:info] Creating database for generating c source...
...+++++++++
[rtyper] -=- specialized 25 more blocks -=-
...+++++++++++++++++++++++++++++++++++++++++++**************%%%%%%%%%%%#%%####################################%%%%%%%%%%%%%%%%%%%%%%#%####%#%%%%%####%%%%%##############
.+++++++++++++++++++++++++++++++++++++++++++**************%%%%%%%###%%%%%%##########################
[rtyper:WARNING] prebuilt instance <pypy.rpython.memory.gc.minimark.MiniMarkGC object at 0x000000011eb11ec0> has no attribute 'old_objects_with_weakrefs'
[rtyper:WARNING] prebuilt instance <pypy.rpython.memory.gc.minimark.MiniMarkGC object at 0x000000011eb11ec0> has no attribute 'young_rawmalloced_objects'
[rtyper:WARNING] prebuilt instance <pypy.rpython.memory.gc.minimark.MiniMarkGC object at 0x000000011eb11ec0> has no attribute 'rawmalloced_total_size'
[rtyper:WARNING] prebuilt instance <pypy.rpython.memory.gc.minimark.MiniMarkGC object at 0x000000011eb11ec0> has no attribute 'young_objects_with_weakrefs'
[rtyper:WARNING] prebuilt instance <pypy.rpython.memory.gctypelayout.GCData object at 0x000000011eb11168> has no attribute 'root_stack_top'
[rtyper:WARNING] prebuilt instance <pypy.rpython.memory.gctypelayout.GCData object at 0x000000011eb11168> has no attribute 'root_stack_base'
[rtyper:WARNING] prebuilt instance <pypy.rpython.memory.gc.minimark.MiniMarkGC object at 0x000000011eb11ec0> has no attribute '_debug_pending'
[rtyper:WARNING] prebuilt instance <pypy.rpython.memory.gc.minimark.MiniMarkGC object at 0x000000011eb11ec0> has no attribute '_list_rpy'
[rtyper:WARNING] prebuilt instance <pypy.rpython.memory.gc.minimark.MiniMarkGC object at 0x000000011eb11ec0> has no attribute '_callback2_arg4'
[rtyper:WARNING] prebuilt instance <pypy.rpython.memory.gc.minimark.MiniMarkGC object at 0x000000011eb11ec0> has no attribute '_callback2_arg0'
[rtyper:WARNING] prebuilt instance <pypy.rpython.memory.gc.minimark.MiniMarkGC object at 0x000000011eb11ec0> has no attribute '_callback2_arg1'
[rtyper:WARNING] prebuilt instance <pypy.rpython.memory.gc.minimark.MiniMarkGC object at 0x000000011eb11ec0> has no attribute '_callback2_arg2'
[rtyper:WARNING] prebuilt instance <pypy.rpython.memory.gc.minimark.MiniMarkGC object at 0x000000011eb11ec0> has no attribute '_callback2_arg3'
[rtyper:WARNING] prebuilt instance <pypy.rpython.memory.gc.minimark.MiniMarkGC object at 0x000000011eb11ec0> has no attribute 'nursery_objects_shadows'
[rtyper:WARNING] prebuilt instance <pypy.rpython.memory.gc.minimark.MiniMarkGC object at 0x000000011eb11ec0> has no attribute '_count_rpy'
[rtyper:WARNING] prebuilt instance <pypy.rpython.memory.gc.minimark.MiniMarkGC object at 0x000000011eb11ec0> has no attribute 'tmpstack'
[rtyper:WARNING] prebuilt instance <pypy.rpython.memory.gc.minimark.MiniMarkGC object at 0x000000011eb11ec0> has no attribute 'next_major_collection_threshold'
[rtyper:WARNING] prebuilt instance <pypy.rpython.memory.gc.minimark.MiniMarkGC object at 0x000000011eb11ec0> has no attribute 'old_rawmalloced_objects'
[rtyper:WARNING] prebuilt instance <pypy.rpython.memory.gc.minimark.MiniMarkGC object at 0x000000011eb11ec0> has no attribute 'objects_to_trace'
[rtyper:WARNING] prebuilt instance <pypy.rpython.memory.gc.minimark.MiniMarkGC object at 0x000000011eb11ec0> has no attribute 'objects_with_finalizers'
[rtyper:WARNING] prebuilt instance <pypy.rpython.memory.gc.minimark.MiniMarkGC object at 0x000000011eb11ec0> has no attribute '_debug_seen'
[rtyper:WARNING] prebuilt instance <pypy.rpython.memory.gc.minimark.MiniMarkGC object at 0x000000011eb11ec0> has no attribute 'finalizer_lock_count'
[rtyper:WARNING] prebuilt instance <pypy.rpython.memory.gc.minimark.MiniMarkGC object at 0x000000011eb11ec0> has no attribute 'run_finalizers'
.
[rtyper] specializing: 38800 / 40031 blocks (96%)
.+++++++++++++++++++++++++++++++++++++++++++**************%%
[rtyper] specializing: 40100 / 40112 blocks (99%)
[rtyper] -=- specialized 1362 more blocks -=-
.+++++++++++++
[rtyper] specializing: 40200 / 40337 blocks (99%)
[rtyper] -=- specialized 225 more blocks -=-
[backendopt:inlining] phase with threshold factor: 32.4
[backendopt:inlining] heuristic: pypy.translator.backendopt.inline.inlining_heuristic
.+++++++++++++++++++++++++++++++++++++++++++**************%%%%%%%###%%%%%%######################################%%%%%%#%%%%%%%%%#%%############%%%#####%################
++++++++++++++++++++++++
[backendopt:inlining] inlined 697 callsites.
[backendopt:malloc] starting malloc removal
+++++
[backendopt:malloc] removed 28 simple mallocs in total
[backendopt:mergeifblocks] starting to merge if blocks
+++++++
[rtyper] -=- specialized 15 more blocks -=-
+
[c] 1000 nodes [ array: 218 framework rtti: 37 func: 240 group: 1 struct: 553 ]
[c] 2000 nodes [ array: 325 framework rtti: 56 func: 551 group: 1 struct: 1156 ]
+
[c] 3000 nodes [ array: 461 framework rtti: 161 func: 882 group: 1 struct: 1733 ]
[c] 4000 nodes [ array: 560 framework rtti: 166 func: 1193 group: 1 struct: 2283 ]
[c] 5000 nodes [ array: 748 framework rtti: 170 func: 1699 group: 1 struct: 2703 ]
+++
[rtyper] -=- specialized 44 more blocks -=-
[rtyper] -=- specialized 0 more blocks -=-
[backendopt:inlining] phase with threshold factor: 32.4
[backendopt:inlining] heuristic: pypy.translator.backendopt.inline.inlining_heuristic
+++
[backendopt:inlining] inlined 4 callsites.
[backendopt:malloc] starting malloc removal
[backendopt:malloc] removed 0 simple mallocs in total
[backendopt:mergeifblocks] starting to merge if blocks
[c:database] GC transformer: finished helpers
[c:database] GC transformer: finished tables
[c] 6000 nodes [ array: 1034 framework rtti: 170 func: 1733 group: 1 struct: 3434 ]
[c] 7000 nodes [ array: 1162 framework rtti: 222 func: 1935 group: 1 struct: 3707 ]
[gctransform:info] assigned 619 typeids
[gctransform:info] added 12669 push/pop stack root instructions
[gctransform:info] inserted 612 write barrier calls
[gctransform:info] inserted 609 write_barrier_from_array calls
[gctransform:info] found 3 static roots
[c] 7164 nodes [ array: 1193 framework rtti: 238 func: 1976 group: 1 struct: 3756 ]
[c:database] Completed
[translation:info] database for generating C source was created
[translation:info] Generating c source...
[c:writing] structdef.h
[c:writing] forwarddecl.h
[c:writing] structimpl.c
[c:writing] nonfuncnodes.c
[c:writing] implement.c
[c:writing] implement_1.c
[c:writing] implement_2.c
[c:writing] implement_3.c
[c:writing] implement_4.c
[c:writing] implement_5.c
[c:writing] implement_6.c
[backendopt:WARNING] constant-folding v19 = gc_gettypeptr_group(v20, (<* <pypy.rpython.lltyp...b48e0>>), (<ItemOffset <Struct ty...s }> 1>), ((<Struct header { tid ... 'tid'))):
[backendopt:WARNING] NullAddressError: offset from NULL address
[backendopt:WARNING] constant-folding v19 = gc_gettypeptr_group(v20, (<* <pypy.rpython.lltyp...b48e0>>), (<ItemOffset <Struct ty...s }> 1>), ((<Struct header { tid ... 'tid'))):
[backendopt:WARNING] NullAddressError: offset from NULL address
[backendopt:WARNING] constant-folding v19 = gc_gettypeptr_group(v20, (<* <pypy.rpython.lltyp...b48e0>>), (<ItemOffset <Struct ty...s }> 1>), ((<Struct header { tid ... 'tid'))):
[backendopt:WARNING] NullAddressError: offset from NULL address
[backendopt:WARNING] constant-folding v19 = gc_gettypeptr_group(v20, (<* <pypy.rpython.lltyp...b48e0>>), (<ItemOffset <Struct ty...s }> 1>), ((<Struct header { tid ... 'tid'))):
[backendopt:WARNING] NullAddressError: offset from NULL address
[backendopt:WARNING] constant-folding v19 = gc_gettypeptr_group(v20, (<* <pypy.rpython.lltyp...b48e0>>), (<ItemOffset <Struct ty...s }> 1>), ((<Struct header { tid ... 'tid'))):
[backendopt:WARNING] NullAddressError: offset from NULL address
[backendopt:WARNING] constant-folding v19 = gc_gettypeptr_group(v20, (<* <pypy.rpython.lltyp...b48e0>>), (<ItemOffset <Struct ty...s }> 1>), ((<Struct header { tid ... 'tid'))):
[backendopt:WARNING] NullAddressError: offset from NULL address
[backendopt:WARNING] constant-folding v19 = gc_gettypeptr_group(v20, (<* <pypy.rpython.lltyp...b48e0>>), (<ItemOffset <Struct ty...s }> 1>), ((<Struct header { tid ... 'tid'))):
[backendopt:WARNING] NullAddressError: offset from NULL address
[c:writing] implement_7.c
[c:writing] implement_8.c
[backendopt:WARNING] constant-folding v1 = gc_gettypeptr_group(v2, (<* <pypy.rpython.lltyp...b48e0>>), (<ItemOffset <Struct ty...s }> 1>), ((<Struct header { tid ... 'tid'))):
[backendopt:WARNING] NullAddressError: offset from NULL address
[backendopt:WARNING] constant-folding v1 = gc_gettypeptr_group(v2, (<* <pypy.rpython.lltyp...b48e0>>), (<ItemOffset <Struct ty...s }> 1>), ((<Struct header { tid ... 'tid'))):
[backendopt:WARNING] NullAddressError: offset from NULL address
[backendopt:WARNING] constant-folding v4 = gc_gettypeptr_group(v5, (<* <pypy.rpython.lltyp...b48e0>>), (<ItemOffset <Struct ty...s }> 1>), ((<Struct header { tid ... 'tid'))):
[backendopt:WARNING] NullAddressError: offset from NULL address
[backendopt:WARNING] constant-folding v4 = gc_gettypeptr_group(v5, (<* <pypy.rpython.lltyp...b48e0>>), (<ItemOffset <Struct ty...s }> 1>), ((<Struct header { tid ... 'tid'))):
[backendopt:WARNING] NullAddressError: offset from NULL address
[backendopt:WARNING] constant-folding v7 = gc_gettypeptr_group(v8, (<* <pypy.rpython.lltyp...b48e0>>), (<ItemOffset <Struct ty...s }> 1>), ((<Struct header { tid ... 'tid'))):
[backendopt:WARNING] NullAddressError: offset from NULL address
[backendopt:WARNING] constant-folding v7 = gc_gettypeptr_group(v8, (<* <pypy.rpython.lltyp...b48e0>>), (<ItemOffset <Struct ty...s }> 1>), ((<Struct header { tid ... 'tid'))):
[backendopt:WARNING] NullAddressError: offset from NULL address
[backendopt:WARNING] constant-folding v7 = gc_gettypeptr_group(v8, (<* <pypy.rpython.lltyp...b48e0>>), (<ItemOffset <Struct ty...s }> 1>), ((<Struct header { tid ... 'tid'))):
[backendopt:WARNING] NullAddressError: offset from NULL address
[backendopt:WARNING] constant-folding v7 = gc_gettypeptr_group(v8, (<* <pypy.rpython.lltyp...b48e0>>), (<ItemOffset <Struct ty...s }> 1>), ((<Struct header { tid ... 'tid'))):
[backendopt:WARNING] NullAddressError: offset from NULL address
[backendopt:WARNING] constant-folding v7 = gc_gettypeptr_group(v8, (<* <pypy.rpython.lltyp...b48e0>>), (<ItemOffset <Struct ty...s }> 1>), ((<Struct header { tid ... 'tid'))):
[backendopt:WARNING] NullAddressError: offset from NULL address
[backendopt:WARNING] constant-folding v7 = gc_gettypeptr_group(v8, (<* <pypy.rpython.lltyp...b48e0>>), (<ItemOffset <Struct ty...s }> 1>), ((<Struct header { tid ... 'tid'))):
[backendopt:WARNING] NullAddressError: offset from NULL address
[backendopt:WARNING] constant-folding v16 = gc_gettypeptr_group(v17, (<* <pypy.rpython.lltyp...b48e0>>), (<ItemOffset <Struct ty...s }> 1>), ((<Struct header { tid ... 'tid'))):
[backendopt:WARNING] NullAddressError: offset from NULL address
[backendopt:WARNING] constant-folding v16 = gc_gettypeptr_group(v17, (<* <pypy.rpython.lltyp...b48e0>>), (<ItemOffset <Struct ty...s }> 1>), ((<Struct header { tid ... 'tid'))):
[backendopt:WARNING] NullAddressError: offset from NULL address
[backendopt:WARNING] constant-folding v16 = gc_gettypeptr_group(v17, (<* <pypy.rpython.lltyp...b48e0>>), (<ItemOffset <Struct ty...s }> 1>), ((<Struct header { tid ... 'tid'))):
[backendopt:WARNING] NullAddressError: offset from NULL address
[backendopt:WARNING] constant-folding v16 = gc_gettypeptr_group(v17, (<* <pypy.rpython.lltyp...b48e0>>), (<ItemOffset <Struct ty...s }> 1>), ((<Struct header { tid ... 'tid'))):
[backendopt:WARNING] NullAddressError: offset from NULL address
[backendopt:WARNING] constant-folding v16 = gc_gettypeptr_group(v17, (<* <pypy.rpython.lltyp...b48e0>>), (<ItemOffset <Struct ty...s }> 1>), ((<Struct header { tid ... 'tid'))):
[backendopt:WARNING] NullAddressError: offset from NULL address
[backendopt:WARNING] constant-folding v16 = gc_gettypeptr_group(v17, (<* <pypy.rpython.lltyp...b48e0>>), (<ItemOffset <Struct ty...s }> 1>), ((<Struct header { tid ... 'tid'))):
[backendopt:WARNING] NullAddressError: offset from NULL address
[backendopt:WARNING] constant-folding v16 = gc_gettypeptr_group(v17, (<* <pypy.rpython.lltyp...b48e0>>), (<ItemOffset <Struct ty...s }> 1>), ((<Struct header { tid ... 'tid'))):
[backendopt:WARNING] NullAddressError: offset from NULL address
[backendopt:WARNING] constant-folding v10 = gc_gettypeptr_group(v11, (<* <pypy.rpython.lltyp...b48e0>>), (<ItemOffset <Struct ty...s }> 1>), ((<Struct header { tid ... 'tid'))):
[backendopt:WARNING] NullAddressError: offset from NULL address
[backendopt:WARNING] constant-folding v10 = gc_gettypeptr_group(v11, (<* <pypy.rpython.lltyp...b48e0>>), (<ItemOffset <Struct ty...s }> 1>), ((<Struct header { tid ... 'tid'))):
[backendopt:WARNING] NullAddressError: offset from NULL address
[c:writing] implement_9.c
[translation:info] written: /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/testing_1/testing_1.c
[translation:info] Compiling c source...
[platform:execute] gcc-4.0 -c -arch x86_64 -O3 -fomit-frame-pointer -mmacosx-version-min=10.4 -mdynamic-no-pic -msse2 -mfpmath=sse -DPYPY_CPU_HAS_STANDARD_PRECISION -I/Users/chris/Downloads/pypy/pypy/translator/c /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/testing_1/testing_1.c -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/testing_1/testing_1.o
[platform:execute] gcc-4.0 -c -arch x86_64 -O3 -fomit-frame-pointer -mmacosx-version-min=10.4 -mdynamic-no-pic -msse2 -mfpmath=sse -DPYPY_CPU_HAS_STANDARD_PRECISION -I/Users/chris/Downloads/pypy/pypy/translator/c /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/testing_1/structimpl.c -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/testing_1/structimpl.o
[platform:execute] gcc-4.0 -c -arch x86_64 -O3 -fomit-frame-pointer -mmacosx-version-min=10.4 -mdynamic-no-pic -msse2 -mfpmath=sse -DPYPY_CPU_HAS_STANDARD_PRECISION -I/Users/chris/Downloads/pypy/pypy/translator/c /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/testing_1/nonfuncnodes.c -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/testing_1/nonfuncnodes.o
[platform:execute] gcc-4.0 -c -arch x86_64 -O3 -fomit-frame-pointer -mmacosx-version-min=10.4 -mdynamic-no-pic -msse2 -mfpmath=sse -DPYPY_CPU_HAS_STANDARD_PRECISION -I/Users/chris/Downloads/pypy/pypy/translator/c /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/testing_1/implement.c -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/testing_1/implement.o
[platform:execute] gcc-4.0 -c -arch x86_64 -O3 -fomit-frame-pointer -mmacosx-version-min=10.4 -mdynamic-no-pic -msse2 -mfpmath=sse -DPYPY_CPU_HAS_STANDARD_PRECISION -I/Users/chris/Downloads/pypy/pypy/translator/c /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/testing_1/implement_1.c -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/testing_1/implement_1.o
[platform:execute] gcc-4.0 -c -arch x86_64 -O3 -fomit-frame-pointer -mmacosx-version-min=10.4 -mdynamic-no-pic -msse2 -mfpmath=sse -DPYPY_CPU_HAS_STANDARD_PRECISION -I/Users/chris/Downloads/pypy/pypy/translator/c /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/testing_1/implement_2.c -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/testing_1/implement_2.o
[platform:execute] gcc-4.0 -c -arch x86_64 -O3 -fomit-frame-pointer -mmacosx-version-min=10.4 -mdynamic-no-pic -msse2 -mfpmath=sse -DPYPY_CPU_HAS_STANDARD_PRECISION -I/Users/chris/Downloads/pypy/pypy/translator/c /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/testing_1/implement_3.c -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/testing_1/implement_3.o
[platform:execute] gcc-4.0 -c -arch x86_64 -O3 -fomit-frame-pointer -mmacosx-version-min=10.4 -mdynamic-no-pic -msse2 -mfpmath=sse -DPYPY_CPU_HAS_STANDARD_PRECISION -I/Users/chris/Downloads/pypy/pypy/translator/c /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/testing_1/implement_4.c -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/testing_1/implement_4.o
[platform:execute] gcc-4.0 -c -arch x86_64 -O3 -fomit-frame-pointer -mmacosx-version-min=10.4 -mdynamic-no-pic -msse2 -mfpmath=sse -DPYPY_CPU_HAS_STANDARD_PRECISION -I/Users/chris/Downloads/pypy/pypy/translator/c /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/testing_1/implement_5.c -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/testing_1/implement_5.o
[platform:execute] gcc-4.0 -c -arch x86_64 -O3 -fomit-frame-pointer -mmacosx-version-min=10.4 -mdynamic-no-pic -msse2 -mfpmath=sse -DPYPY_CPU_HAS_STANDARD_PRECISION -I/Users/chris/Downloads/pypy/pypy/translator/c /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/testing_1/implement_6.c -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/testing_1/implement_6.o
[platform:execute] gcc-4.0 -c -arch x86_64 -O3 -fomit-frame-pointer -mmacosx-version-min=10.4 -mdynamic-no-pic -msse2 -mfpmath=sse -DPYPY_CPU_HAS_STANDARD_PRECISION -I/Users/chris/Downloads/pypy/pypy/translator/c /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/testing_1/implement_7.c -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/testing_1/implement_7.o
[platform:execute] gcc-4.0 -c -arch x86_64 -O3 -fomit-frame-pointer -mmacosx-version-min=10.4 -mdynamic-no-pic -msse2 -mfpmath=sse -DPYPY_CPU_HAS_STANDARD_PRECISION -I/Users/chris/Downloads/pypy/pypy/translator/c /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/testing_1/implement_8.c -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/testing_1/implement_8.o
[platform:execute] gcc-4.0 -c -arch x86_64 -O3 -fomit-frame-pointer -mmacosx-version-min=10.4 -mdynamic-no-pic -msse2 -mfpmath=sse -DPYPY_CPU_HAS_STANDARD_PRECISION -I/Users/chris/Downloads/pypy/pypy/translator/c /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/testing_1/implement_9.c -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/testing_1/implement_9.o
[platform:execute] gcc-4.0 -c -arch x86_64 -O3 -fomit-frame-pointer -mmacosx-version-min=10.4 -mdynamic-no-pic -msse2 -mfpmath=sse -DPYPY_CPU_HAS_STANDARD_PRECISION -I/Users/chris/Downloads/pypy/pypy/translator/c /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/module_cache/module_0.c -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/module_cache/module_0.o
[platform:execute] gcc-4.0 -c -arch x86_64 -O3 -fomit-frame-pointer -mmacosx-version-min=10.4 -mdynamic-no-pic -msse2 -mfpmath=sse -DPYPY_CPU_HAS_STANDARD_PRECISION -I/Users/chris/Downloads/pypy/pypy/translator/c /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/module_cache/module_1.c -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/module_cache/module_1.o
[platform:execute] gcc-4.0 -c -arch x86_64 -O3 -fomit-frame-pointer -mmacosx-version-min=10.4 -mdynamic-no-pic -msse2 -mfpmath=sse -DPYPY_CPU_HAS_STANDARD_PRECISION -I/Users/chris/Downloads/pypy/pypy/translator/c /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/module_cache/module_2.c -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/module_cache/module_2.o
[platform:execute] gcc-4.0 /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/testing_1/testing_1.o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/testing_1/structimpl.o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/testing_1/nonfuncnodes.o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/testing_1/implement.o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/testing_1/implement_1.o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/testing_1/implement_2.o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/testing_1/implement_3.o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/testing_1/implement_4.o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/testing_1/implement_5.o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/testing_1/implement_6.o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/testing_1/implement_7.o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/testing_1/implement_8.o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/testing_1/implement_9.o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/module_cache/module_0.o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/module_cache/module_1.o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/module_cache/module_2.o -arch x86_64 -mmacosx-version-min=10.4 -Wl,-exported_symbols_list,/var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/dynamic-symbols-1 -lm -I/Users/chris/Downloads/pypy/pypy/translator/c -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/testing_1/example5-c
[translation:info] created: /Users/chris/Downloads/example5-c
[Timer] Timings:
[Timer] annotate --- 4.2 s
[Timer] rtype_lltype --- 11.8 s
[Timer] pyjitpl_lltype --- 338.3 s
[Timer] backendopt_lltype --- 109.7 s
[Timer] stackcheckinsertion_lltype --- 4.4 s
[Timer] database_c --- 101.4 s
[Timer] source_c --- 86.7 s
[Timer] compile_c --- 73.7 s
[Timer] ==========================================
[Timer] Total: --- 730.1 s
"""
PyPy tutorial by Andrew Brown
example5.py - BF interpreter in RPython, translatable by PyPy, with JIT, and
with a get_printable_location function and pure function wrapper
for the dictionary lookup.
"""
import os
import sys
# So that you can still run this module under standard CPython, I add this
# import guard that creates a dummy class instead.
try:
from pypy.rlib.jit import JitDriver, purefunction
except ImportError:
class JitDriver(object):
def __init__(self,**kw): pass
def jit_merge_point(self,**kw): pass
def can_enter_jit(self,**kw): pass
def purefunction(f): return f
def get_location(pc, program, bracket_map):
return "%s_%s_%s" % (
program[:pc], program[pc], program[pc+1:]
)
jitdriver = JitDriver(greens=['pc', 'program', 'bracket_map'], reds=['tape'],
get_printable_location=get_location)
@purefunction
def get_matching_bracket(bracket_map, pc):
return bracket_map[pc]
def mainloop(program, bracket_map):
pc = 0
tape = Tape()
while pc < len(program):
jitdriver.jit_merge_point(pc=pc, tape=tape, program=program,
bracket_map=bracket_map)
code = program[pc]
if code == ">":
tape.advance()
elif code == "<":
tape.devance()
elif code == "+":
tape.inc()
elif code == "-":
tape.dec()
elif code == ".":
# print
os.write(1, chr(tape.get()))
elif code == ",":
# read from stdin
tape.set(ord(os.read(0, 1)[0]))
elif code == "[" and tape.get() == 0:
# Skip forward to the matching ]
pc = get_matching_bracket(bracket_map, pc)
elif code == "]" and tape.get() != 0:
# Skip back to the matching [
pc = get_matching_bracket(bracket_map, pc)
pc += 1
class Tape(object):
def __init__(self):
self.thetape = [0]
self.position = 0
def get(self):
return self.thetape[self.position]
def set(self, val):
self.thetape[self.position] = val
def inc(self):
self.thetape[self.position] += 1
def dec(self):
self.thetape[self.position] -= 1
def advance(self):
self.position += 1
if len(self.thetape) <= self.position:
self.thetape.append(0)
def devance(self):
self.position -= 1
def parse(program):
parsed = []
bracket_map = {}
leftstack = []
pc = 0
for char in program:
if char in ('[', ']', '<', '>', '+', '-', ',', '.'):
parsed.append(char)
if char == '[':
leftstack.append(pc)
elif char == ']':
left = leftstack.pop()
right = pc
bracket_map[left] = right
bracket_map[right] = left
pc += 1
return "".join(parsed), bracket_map
def run(fp):
program_contents = ""
while True:
read = os.read(fp, 4096)
if len(read) == 0:
break
program_contents += read
os.close(fp)
program, bm = parse(program_contents)
mainloop(program, bm)
def entry_point(argv):
try:
filename = argv[1]
except IndexError:
print "You must supply a filename"
return 1
run(os.open(filename, os.O_RDONLY, 0777))
return 0
def target(*args):
return entry_point, None
def jitpolicy(driver):
from pypy.jit.codewriter.policy import JitPolicy
return JitPolicy()
if __name__ == "__main__":
entry_point(sys.argv)
./example5-c mandel.b
AARPython traceback:
File "implement.c", line 27874, in maybe_compile_and_run__star_4
File "implement.c", line 33559, in compile_and_run_once___pypy_jit_metainterp_jitdr
File "implement.c", line 36240, in Assembler386_setup_once
File "implement.c", line 41340, in Assembler386__build_failure_recovery
File "implement.c", line 49110, in Assembler386__call_footer
Fatal RPython error: AssertionError
Abort trap
A mandelbrot set fractal viewer in brainf*** written by Erik Bosman
+++++++++++++[->++>>>+++++>++>+<<<<<<]>>>>>++++++>--->>>>>>>>>>+++++++++++++++[[
>>>>>>>>>]+[<<<<<<<<<]>>>>>>>>>-]+[>>>>>>>>[-]>]<<<<<<<<<[<<<<<<<<<]>>>>>>>>[-]+
<<<<<<<+++++[-[->>>>>>>>>+<<<<<<<<<]>>>>>>>>>]>>>>>>>+>>>>>>>>>>>>>>>>>>>>>>>>>>
>+<<<<<<<<<<<<<<<<<[<<<<<<<<<]>>>[-]+[>>>>>>[>>>>>>>[-]>>]<<<<<<<<<[<<<<<<<<<]>>
>>>>>[-]+<<<<<<++++[-[->>>>>>>>>+<<<<<<<<<]>>>>>>>>>]>>>>>>+<<<<<<+++++++[-[->>>
>>>>>>+<<<<<<<<<]>>>>>>>>>]>>>>>>+<<<<<<<<<<<<<<<<[<<<<<<<<<]>>>[[-]>>>>>>[>>>>>
>>[-<<<<<<+>>>>>>]<<<<<<[->>>>>>+<<+<<<+<]>>>>>>>>]<<<<<<<<<[<<<<<<<<<]>>>>>>>>>
[>>>>>>>>[-<<<<<<<+>>>>>>>]<<<<<<<[->>>>>>>+<<+<<<+<<]>>>>>>>>]<<<<<<<<<[<<<<<<<
<<]>>>>>>>[-<<<<<<<+>>>>>>>]<<<<<<<[->>>>>>>+<<+<<<<<]>>>>>>>>>+++++++++++++++[[
>>>>>>>>>]+>[-]>[-]>[-]>[-]>[-]>[-]>[-]>[-]>[-]<<<<<<<<<[<<<<<<<<<]>>>>>>>>>-]+[
>+>>>>>>>>]<<<<<<<<<[<<<<<<<<<]>>>>>>>>>[>->>>>[-<<<<+>>>>]<<<<[->>>>+<<<<<[->>[
-<<+>>]<<[->>+>>+<<<<]+>>>>>>>>>]<<<<<<<<[<<<<<<<<<]]>>>>>>>>>[>>>>>>>>>]<<<<<<<
<<[>[->>>>>>>>>+<<<<<<<<<]<<<<<<<<<<]>[->>>>>>>>>+<<<<<<<<<]<+>>>>>>>>]<<<<<<<<<
[>[-]<->>>>[-<<<<+>[<->-<<<<<<+>>>>>>]<[->+<]>>>>]<<<[->>>+<<<]<+<<<<<<<<<]>>>>>
>>>>[>+>>>>>>>>]<<<<<<<<<[<<<<<<<<<]>>>>>>>>>[>->>>>>[-<<<<<+>>>>>]<<<<<[->>>>>+
<<<<<<[->>>[-<<<+>>>]<<<[->>>+>+<<<<]+>>>>>>>>>]<<<<<<<<[<<<<<<<<<]]>>>>>>>>>[>>
>>>>>>>]<<<<<<<<<[>>[->>>>>>>>>+<<<<<<<<<]<<<<<<<<<<<]>>[->>>>>>>>>+<<<<<<<<<]<<
+>>>>>>>>]<<<<<<<<<[>[-]<->>>>[-<<<<+>[<->-<<<<<<+>>>>>>]<[->+<]>>>>]<<<[->>>+<<
<]<+<<<<<<<<<]>>>>>>>>>[>>>>[-<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<+>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>]>>>>>]<<<<<<<<<[<<<<<<<<<]>>>>>>>>>+++++++++++++++[[>>>>
>>>>>]<<<<<<<<<-<<<<<<<<<[<<<<<<<<<]>>>>>>>>>-]+>>>>>>>>>>>>>>>>>>>>>+<<<[<<<<<<
<<<]>>>>>>>>>[>>>[-<<<->>>]+<<<[->>>->[-<<<<+>>>>]<<<<[->>>>+<<<<<<<<<<<<<[<<<<<
<<<<]>>>>[-]+>>>>>[>>>>>>>>>]>+<]]+>>>>[-<<<<->>>>]+<<<<[->>>>-<[-<<<+>>>]<<<[->
>>+<<<<<<<<<<<<[<<<<<<<<<]>>>[-]+>>>>>>[>>>>>>>>>]>[-]+<]]+>[-<[>>>>>>>>>]<<<<<<
<<]>>>>>>>>]<<<<<<<<<[<<<<<<<<<]<<<<<<<[->+>>>-<<<<]>>>>>>>>>+++++++++++++++++++
+++++++>>[-<<<<+>>>>]<<<<[->>>>+<<[-]<<]>>[<<<<<<<+<[-<+>>>>+<<[-]]>[-<<[->+>>>-
<<<<]>>>]>>>>>>>>>>>>>[>>[-]>[-]>[-]>>>>>]<<<<<<<<<[<<<<<<<<<]>>>[-]>>>>>>[>>>>>
[-<<<<+>>>>]<<<<[->>>>+<<<+<]>>>>>>>>]<<<<<<<<<[<<<<<<<<<]>>>>>>>>>[>>[-<<<<<<<<
<+>>>>>>>>>]>>>>>>>]<<<<<<<<<[<<<<<<<<<]>>>>>>>>>+++++++++++++++[[>>>>>>>>>]+>[-
]>[-]>[-]>[-]>[-]>[-]>[-]>[-]>[-]<<<<<<<<<[<<<<<<<<<]>>>>>>>>>-]+[>+>>>>>>>>]<<<
<<<<<<[<<<<<<<<<]>>>>>>>>>[>->>>>>[-<<<<<+>>>>>]<<<<<[->>>>>+<<<<<<[->>[-<<+>>]<
<[->>+>+<<<]+>>>>>>>>>]<<<<<<<<[<<<<<<<<<]]>>>>>>>>>[>>>>>>>>>]<<<<<<<<<[>[->>>>
>>>>>+<<<<<<<<<]<<<<<<<<<<]>[->>>>>>>>>+<<<<<<<<<]<+>>>>>>>>]<<<<<<<<<[>[-]<->>>
[-<<<+>[<->-<<<<<<<+>>>>>>>]<[->+<]>>>]<<[->>+<<]<+<<<<<<<<<]>>>>>>>>>[>>>>>>[-<
<<<<+>>>>>]<<<<<[->>>>>+<<<<+<]>>>>>>>>]<<<<<<<<<[<<<<<<<<<]>>>>>>>>>[>+>>>>>>>>
]<<<<<<<<<[<<<<<<<<<]>>>>>>>>>[>->>>>>[-<<<<<+>>>>>]<<<<<[->>>>>+<<<<<<[->>[-<<+
>>]<<[->>+>>+<<<<]+>>>>>>>>>]<<<<<<<<[<<<<<<<<<]]>>>>>>>>>[>>>>>>>>>]<<<<<<<<<[>
[->>>>>>>>>+<<<<<<<<<]<<<<<<<<<<]>[->>>>>>>>>+<<<<<<<<<]<+>>>>>>>>]<<<<<<<<<[>[-
]<->>>>[-<<<<+>[<->-<<<<<<+>>>>>>]<[->+<]>>>>]<<<[->>>+<<<]<+<<<<<<<<<]>>>>>>>>>
[>>>>[-<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
]>>>>>]<<<<<<<<<[<<<<<<<<<]>>>>>>>>>[>>>[-<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<+>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>]>>>>>>]<<<<<<<<<[<<<<<<<<<]>>>>>>>>>++++++++
+++++++[[>>>>>>>>>]<<<<<<<<<-<<<<<<<<<[<<<<<<<<<]>>>>>>>>>-]+[>>>>>>>>[-<<<<<<<+
>>>>>>>]<<<<<<<[->>>>>>>+<<<<<<+<]>>>>>>>>]<<<<<<<<<[<<<<<<<<<]>>>>>>>>>[>>>>>>[
-]>>>]<<<<<<<<<[<<<<<<<<<]>>>>+>[-<-<<<<+>>>>>]>[-<<<<<<[->>>>>+<++<<<<]>>>>>[-<
<<<<+>>>>>]<->+>]<[->+<]<<<<<[->>>>>+<<<<<]>>>>>>[-]<<<<<<+>>>>[-<<<<->>>>]+<<<<
[->>>>->>>>>[>>[-<<->>]+<<[->>->[-<<<+>>>]<<<[->>>+<<<<<<<<<<<<[<<<<<<<<<]>>>[-]
+>>>>>>[>>>>>>>>>]>+<]]+>>>[-<<<->>>]+<<<[->>>-<[-<<+>>]<<[->>+<<<<<<<<<<<[<<<<<
<<<<]>>>>[-]+>>>>>[>>>>>>>>>]>[-]+<]]+>[-<[>>>>>>>>>]<<<<<<<<]>>>>>>>>]<<<<<<<<<
[<<<<<<<<<]>>>>[-<<<<+>>>>]<<<<[->>>>+>>>>>[>+>>[-<<->>]<<[->>+<<]>>>>>>>>]<<<<<
<<<+<[>[->>>>>+<<<<[->>>>-<<<<<<<<<<<<<<+>>>>>>>>>>>[->>>+<<<]<]>[->>>-<<<<<<<<<
<<<<<+>>>>>>>>>>>]<<]>[->>>>+<<<[->>>-<<<<<<<<<<<<<<+>>>>>>>>>>>]<]>[->>>+<<<]<<
<<<<<<<<<<]>>>>[-]<<<<]>>>[-<<<+>>>]<<<[->>>+>>>>>>[>+>[-<->]<[->+<]>>>>>>>>]<<<
<<<<<+<[>[->>>>>+<<<[->>>-<<<<<<<<<<<<<<+>>>>>>>>>>[->>>>+<<<<]>]<[->>>>-<<<<<<<
<<<<<<<+>>>>>>>>>>]<]>>[->>>+<<<<[->>>>-<<<<<<<<<<<<<<+>>>>>>>>>>]>]<[->>>>+<<<<
]<<<<<<<<<<<]>>>>>>+<<<<<<]]>>>>[-<<<<+>>>>]<<<<[->>>>+>>>>>[>>>>>>>>>]<<<<<<<<<
[>[->>>>>+<<<<[->>>>-<<<<<<<<<<<<<<+>>>>>>>>>>>[->>>+<<<]<]>[->>>-<<<<<<<<<<<<<<
+>>>>>>>>>>>]<<]>[->>>>+<<<[->>>-<<<<<<<<<<<<<<+>>>>>>>>>>>]<]>[->>>+<<<]<<<<<<<
<<<<<]]>[-]>>[-]>[-]>>>>>[>>[-]>[-]>>>>>>]<<<<<<<<<[<<<<<<<<<]>>>>>>>>>[>>>>>[-<
<<<+>>>>]<<<<[->>>>+<<<+<]>>>>>>>>]<<<<<<<<<[<<<<<<<<<]>>>>>>>>>+++++++++++++++[
[>>>>>>>>>]+>[-]>[-]>[-]>[-]>[-]>[-]>[-]>[-]>[-]<<<<<<<<<[<<<<<<<<<]>>>>>>>>>-]+
[>+>>>>>>>>]<<<<<<<<<[<<<<<<<<<]>>>>>>>>>[>->>>>[-<<<<+>>>>]<<<<[->>>>+<<<<<[->>
[-<<+>>]<<[->>+>+<<<]+>>>>>>>>>]<<<<<<<<[<<<<<<<<<]]>>>>>>>>>[>>>>>>>>>]<<<<<<<<
<[>[->>>>>>>>>+<<<<<<<<<]<<<<<<<<<<]>[->>>>>>>>>+<<<<<<<<<]<+>>>>>>>>]<<<<<<<<<[
>[-]<->>>[-<<<+>[<->-<<<<<<<+>>>>>>>]<[->+<]>>>]<<[->>+<<]<+<<<<<<<<<]>>>>>>>>>[
>>>[-<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>]>
>>>>>]<<<<<<<<<[<<<<<<<<<]>>>>>[-]>>>>+++++++++++++++[[>>>>>>>>>]<<<<<<<<<-<<<<<
<<<<[<<<<<<<<<]>>>>>>>>>-]+[>>>[-<<<->>>]+<<<[->>>->[-<<<<+>>>>]<<<<[->>>>+<<<<<
<<<<<<<<[<<<<<<<<<]>>>>[-]+>>>>>[>>>>>>>>>]>+<]]+>>>>[-<<<<->>>>]+<<<<[->>>>-<[-
<<<+>>>]<<<[->>>+<<<<<<<<<<<<[<<<<<<<<<]>>>[-]+>>>>>>[>>>>>>>>>]>[-]+<]]+>[-<[>>
>>>>>>>]<<<<<<<<]>>>>>>>>]<<<<<<<<<[<<<<<<<<<]>>>[-<<<+>>>]<<<[->>>+>>>>>>[>+>>>
[-<<<->>>]<<<[->>>+<<<]>>>>>>>>]<<<<<<<<+<[>[->+>[-<-<<<<<<<<<<+>>>>>>>>>>>>[-<<
+>>]<]>[-<<-<<<<<<<<<<+>>>>>>>>>>>>]<<<]>>[-<+>>[-<<-<<<<<<<<<<+>>>>>>>>>>>>]<]>
[-<<+>>]<<<<<<<<<<<<<]]>>>>[-<<<<+>>>>]<<<<[->>>>+>>>>>[>+>>[-<<->>]<<[->>+<<]>>
>>>>>>]<<<<<<<<+<[>[->+>>[-<<-<<<<<<<<<<+>>>>>>>>>>>[-<+>]>]<[-<-<<<<<<<<<<+>>>>
>>>>>>>]<<]>>>[-<<+>[-<-<<<<<<<<<<+>>>>>>>>>>>]>]<[-<+>]<<<<<<<<<<<<]>>>>>+<<<<<
]>>>>>>>>>[>>>[-]>[-]>[-]>>>>]<<<<<<<<<[<<<<<<<<<]>>>[-]>[-]>>>>>[>>>>>>>[-<<<<<
<+>>>>>>]<<<<<<[->>>>>>+<<<<+<<]>>>>>>>>]<<<<<<<<<[<<<<<<<<<]>>>>+>[-<-<<<<+>>>>
>]>>[-<<<<<<<[->>>>>+<++<<<<]>>>>>[-<<<<<+>>>>>]<->+>>]<<[->>+<<]<<<<<[->>>>>+<<
<<<]+>>>>[-<<<<->>>>]+<<<<[->>>>->>>>>[>>>[-<<<->>>]+<<<[->>>-<[-<<+>>]<<[->>+<<
<<<<<<<<<[<<<<<<<<<]>>>>[-]+>>>>>[>>>>>>>>>]>+<]]+>>[-<<->>]+<<[->>->[-<<<+>>>]<
<<[->>>+<<<<<<<<<<<<[<<<<<<<<<]>>>[-]+>>>>>>[>>>>>>>>>]>[-]+<]]+>[-<[>>>>>>>>>]<
<<<<<<<]>>>>>>>>]<<<<<<<<<[<<<<<<<<<]>>>[-<<<+>>>]<<<[->>>+>>>>>>[>+>[-<->]<[->+
<]>>>>>>>>]<<<<<<<<+<[>[->>>>+<<[->>-<<<<<<<<<<<<<+>>>>>>>>>>[->>>+<<<]>]<[->>>-
<<<<<<<<<<<<<+>>>>>>>>>>]<]>>[->>+<<<[->>>-<<<<<<<<<<<<<+>>>>>>>>>>]>]<[->>>+<<<
]<<<<<<<<<<<]>>>>>[-]>>[-<<<<<<<+>>>>>>>]<<<<<<<[->>>>>>>+<<+<<<<<]]>>>>[-<<<<+>
>>>]<<<<[->>>>+>>>>>[>+>>[-<<->>]<<[->>+<<]>>>>>>>>]<<<<<<<<+<[>[->>>>+<<<[->>>-
<<<<<<<<<<<<<+>>>>>>>>>>>[->>+<<]<]>[->>-<<<<<<<<<<<<<+>>>>>>>>>>>]<<]>[->>>+<<[
->>-<<<<<<<<<<<<<+>>>>>>>>>>>]<]>[->>+<<]<<<<<<<<<<<<]]>>>>[-]<<<<]>>>>[-<<<<+>>
>>]<<<<[->>>>+>[-]>>[-<<<<<<<+>>>>>>>]<<<<<<<[->>>>>>>+<<+<<<<<]>>>>>>>>>[>>>>>>
>>>]<<<<<<<<<[>[->>>>+<<<[->>>-<<<<<<<<<<<<<+>>>>>>>>>>>[->>+<<]<]>[->>-<<<<<<<<
<<<<<+>>>>>>>>>>>]<<]>[->>>+<<[->>-<<<<<<<<<<<<<+>>>>>>>>>>>]<]>[->>+<<]<<<<<<<<
<<<<]]>>>>>>>>>[>>[-]>[-]>>>>>>]<<<<<<<<<[<<<<<<<<<]>>>[-]>[-]>>>>>[>>>>>[-<<<<+
>>>>]<<<<[->>>>+<<<+<]>>>>>>>>]<<<<<<<<<[<<<<<<<<<]>>>>>>>>>[>>>>>>[-<<<<<+>>>>>
]<<<<<[->>>>>+<<<+<<]>>>>>>>>]<<<<<<<<<[<<<<<<<<<]>>>>>>>>>+++++++++++++++[[>>>>
>>>>>]+>[-]>[-]>[-]>[-]>[-]>[-]>[-]>[-]>[-]<<<<<<<<<[<<<<<<<<<]>>>>>>>>>-]+[>+>>
>>>>>>]<<<<<<<<<[<<<<<<<<<]>>>>>>>>>[>->>>>[-<<<<+>>>>]<<<<[->>>>+<<<<<[->>[-<<+
>>]<<[->>+>>+<<<<]+>>>>>>>>>]<<<<<<<<[<<<<<<<<<]]>>>>>>>>>[>>>>>>>>>]<<<<<<<<<[>
[->>>>>>>>>+<<<<<<<<<]<<<<<<<<<<]>[->>>>>>>>>+<<<<<<<<<]<+>>>>>>>>]<<<<<<<<<[>[-
]<->>>>[-<<<<+>[<->-<<<<<<+>>>>>>]<[->+<]>>>>]<<<[->>>+<<<]<+<<<<<<<<<]>>>>>>>>>
[>+>>>>>>>>]<<<<<<<<<[<<<<<<<<<]>>>>>>>>>[>->>>>>[-<<<<<+>>>>>]<<<<<[->>>>>+<<<<
<<[->>>[-<<<+>>>]<<<[->>>+>+<<<<]+>>>>>>>>>]<<<<<<<<[<<<<<<<<<]]>>>>>>>>>[>>>>>>
>>>]<<<<<<<<<[>>[->>>>>>>>>+<<<<<<<<<]<<<<<<<<<<<]>>[->>>>>>>>>+<<<<<<<<<]<<+>>>
>>>>>]<<<<<<<<<[>[-]<->>>>[-<<<<+>[<->-<<<<<<+>>>>>>]<[->+<]>>>>]<<<[->>>+<<<]<+
<<<<<<<<<]>>>>>>>>>[>>>>[-<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<+>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>]>>>>>]<<<<<<<<<[<<<<<<<<<]>>>>>>>>>+++++++++++++++[[>>>>>>>>
>]<<<<<<<<<-<<<<<<<<<[<<<<<<<<<]>>>>>>>>>-]+>>>>>>>>>>>>>>>>>>>>>+<<<[<<<<<<<<<]
>>>>>>>>>[>>>[-<<<->>>]+<<<[->>>->[-<<<<+>>>>]<<<<[->>>>+<<<<<<<<<<<<<[<<<<<<<<<
]>>>>[-]+>>>>>[>>>>>>>>>]>+<]]+>>>>[-<<<<->>>>]+<<<<[->>>>-<[-<<<+>>>]<<<[->>>+<
<<<<<<<<<<<[<<<<<<<<<]>>>[-]+>>>>>>[>>>>>>>>>]>[-]+<]]+>[-<[>>>>>>>>>]<<<<<<<<]>
>>>>>>>]<<<<<<<<<[<<<<<<<<<]>>->>[-<<<<+>>>>]<<<<[->>>>+<<[-]<<]>>]<<+>>>>[-<<<<
->>>>]+<<<<[->>>>-<<<<<<.>>]>>>>[-<<<<<<<.>>>>>>>]<<<[-]>[-]>[-]>[-]>[-]>[-]>>>[
>[-]>[-]>[-]>[-]>[-]>[-]>>>]<<<<<<<<<[<<<<<<<<<]>>>>>>>>>[>>>>>[-]>>>>]<<<<<<<<<
[<<<<<<<<<]>+++++++++++[-[->>>>>>>>>+<<<<<<<<<]>>>>>>>>>]>>>>+>>>>>>>>>+<<<<<<<<
<<<<<<[<<<<<<<<<]>>>>>>>[-<<<<<<<+>>>>>>>]<<<<<<<[->>>>>>>+[-]>>[>>>>>>>>>]<<<<<
<<<<[>>>>>>>[-<<<<<<+>>>>>>]<<<<<<[->>>>>>+<<<<<<<[<<<<<<<<<]>>>>>>>[-]+>>>]<<<<
<<<<<<]]>>>>>>>[-<<<<<<<+>>>>>>>]<<<<<<<[->>>>>>>+>>[>+>>>>[-<<<<->>>>]<<<<[->>>
>+<<<<]>>>>>>>>]<<+<<<<<<<[>>>>>[->>+<<]<<<<<<<<<<<<<<]>>>>>>>>>[>>>>>>>>>]<<<<<
<<<<[>[-]<->>>>>>>[-<<<<<<<+>[<->-<<<+>>>]<[->+<]>>>>>>>]<<<<<<[->>>>>>+<<<<<<]<
+<<<<<<<<<]>>>>>>>-<<<<[-]+<<<]+>>>>>>>[-<<<<<<<->>>>>>>]+<<<<<<<[->>>>>>>->>[>>
>>>[->>+<<]>>>>]<<<<<<<<<[>[-]<->>>>>>>[-<<<<<<<+>[<->-<<<+>>>]<[->+<]>>>>>>>]<<
<<<<[->>>>>>+<<<<<<]<+<<<<<<<<<]>+++++[-[->>>>>>>>>+<<<<<<<<<]>>>>>>>>>]>>>>+<<<
<<[<<<<<<<<<]>>>>>>>>>[>>>>>[-<<<<<->>>>>]+<<<<<[->>>>>->>[-<<<<<<<+>>>>>>>]<<<<
<<<[->>>>>>>+<<<<<<<<<<<<<<<<[<<<<<<<<<]>>>>[-]+>>>>>[>>>>>>>>>]>+<]]+>>>>>>>[-<
<<<<<<->>>>>>>]+<<<<<<<[->>>>>>>-<<[-<<<<<+>>>>>]<<<<<[->>>>>+<<<<<<<<<<<<<<[<<<
<<<<<<]>>>[-]+>>>>>>[>>>>>>>>>]>[-]+<]]+>[-<[>>>>>>>>>]<<<<<<<<]>>>>>>>>]<<<<<<<
<<[<<<<<<<<<]>>>>[-]<<<+++++[-[->>>>>>>>>+<<<<<<<<<]>>>>>>>>>]>>>>-<<<<<[<<<<<<<
<<]]>>>]<<<<.>>>>>>>>>>[>>>>>>[-]>>>]<<<<<<<<<[<<<<<<<<<]>++++++++++[-[->>>>>>>>
>+<<<<<<<<<]>>>>>>>>>]>>>>>+>>>>>>>>>+<<<<<<<<<<<<<<<[<<<<<<<<<]>>>>>>>>[-<<<<<<
<<+>>>>>>>>]<<<<<<<<[->>>>>>>>+[-]>[>>>>>>>>>]<<<<<<<<<[>>>>>>>>[-<<<<<<<+>>>>>>
>]<<<<<<<[->>>>>>>+<<<<<<<<[<<<<<<<<<]>>>>>>>>[-]+>>]<<<<<<<<<<]]>>>>>>>>[-<<<<<
<<<+>>>>>>>>]<<<<<<<<[->>>>>>>>+>[>+>>>>>[-<<<<<->>>>>]<<<<<[->>>>>+<<<<<]>>>>>>
>>]<+<<<<<<<<[>>>>>>[->>+<<]<<<<<<<<<<<<<<<]>>>>>>>>>[>>>>>>>>>]<<<<<<<<<[>[-]<-
>>>>>>>>[-<<<<<<<<+>[<->-<<+>>]<[->+<]>>>>>>>>]<<<<<<<[->>>>>>>+<<<<<<<]<+<<<<<<
<<<]>>>>>>>>-<<<<<[-]+<<<]+>>>>>>>>[-<<<<<<<<->>>>>>>>]+<<<<<<<<[->>>>>>>>->[>>>
>>>[->>+<<]>>>]<<<<<<<<<[>[-]<->>>>>>>>[-<<<<<<<<+>[<->-<<+>>]<[->+<]>>>>>>>>]<<
<<<<<[->>>>>>>+<<<<<<<]<+<<<<<<<<<]>+++++[-[->>>>>>>>>+<<<<<<<<<]>>>>>>>>>]>>>>>
+>>>>>>>>>>>>>>>>>>>>>>>>>>>+<<<<<<[<<<<<<<<<]>>>>>>>>>[>>>>>>[-<<<<<<->>>>>>]+<
<<<<<[->>>>>>->>[-<<<<<<<<+>>>>>>>>]<<<<<<<<[->>>>>>>>+<<<<<<<<<<<<<<<<<[<<<<<<<
<<]>>>>[-]+>>>>>[>>>>>>>>>]>+<]]+>>>>>>>>[-<<<<<<<<->>>>>>>>]+<<<<<<<<[->>>>>>>>
-<<[-<<<<<<+>>>>>>]<<<<<<[->>>>>>+<<<<<<<<<<<<<<<[<<<<<<<<<]>>>[-]+>>>>>>[>>>>>>
>>>]>[-]+<]]+>[-<[>>>>>>>>>]<<<<<<<<]>>>>>>>>]<<<<<<<<<[<<<<<<<<<]>>>>[-]<<<++++
+[-[->>>>>>>>>+<<<<<<<<<]>>>>>>>>>]>>>>>->>>>>>>>>>>>>>>>>>>>>>>>>>>-<<<<<<[<<<<
<<<<<]]>>>]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.