Skip to content

Instantly share code, notes, and snippets.

@miura1729
Created July 12, 2024 09:09
Show Gist options
  • Save miura1729/654678f5ce86de70abb13ccba1e4610e to your computer and use it in GitHub Desktop.
Save miura1729/654678f5ce86de70abb13ccba1e4610e to your computer and use it in GitHub Desktop.
compiled bf by mmc
#include <mruby.h>
#include <mruby/value.h>
#include <mruby/array.h>
#include <mruby/hash.h>
#include <mruby/throw.h>
#include <mruby/proc.h>
#include <mruby/string.h>
#include <mruby/range.h>
#include <mruby/error.h>
#include <mruby/variable.h>
#include <mruby/throw.h>
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
#undef mrb_int
typedef mrb_float mrb_float2;
#define mrb_float_value2(n) ({\
mrb_value rc; \
rc.f = n; \
rc; \
})
#define mmc_boxing_array(src, size, boxing_func) ({ \
mrb_value ary; \
ary = mrb_ary_new_capa(mrb, (size)); \
for (int i = 0; i < (size); i++) { \
mrb_ary_push(mrb, ary, (boxing_func)(mrb, (src)[i])); \
} \
ary; \
})
typedef void *gproc;
struct gctab {
int size;
int csize;
int osize;
struct gctab *prev;
mrb_value **complex;
mrb_value **object;
void *caller_alloc;
int ret_status;
mrb_value *single[0];
};
void mrb_mark_local(mrb_state *mrb)
{
struct gctab *curtab = (struct gctab *)mrb->ud;
while (curtab) {
for (int i = curtab->size; i--;) {
if (!mrb_immediate_p(*curtab->single[i])) {
mrb_gc_mark(mrb, mrb_basic_ptr(*curtab->single[i]));
}
}
for (int i = curtab->osize; i--;) {
if (!mrb_immediate_p(*curtab->object[i])) {
mrb_gc_mark(mrb, mrb_basic_ptr(*curtab->object[i]));
}
}
for (int i = curtab->csize; i--;) {
mrb_value *cptr = curtab->complex[i];
for (int j = 0; cptr[j].value.ttt != MRB_TT_FREE; j++) {
if (!mrb_immediate_p(cptr[i])) {
mrb_gc_mark(mrb, mrb_basic_ptr(cptr[j]));
}
}
}
curtab = curtab->prev;
}
}
struct env2 {
char *v3434;
mrb_value v3445;
mrb_value v3438;
mrb_value v3439;
mrb_value v3437;
mrb_int v3512;
mrb_int v3513;
mrb_value v3511;
struct env0 *prev;
};
struct env11 {
mrb_value v13604;
struct env0 *prev;
};
struct env6 {
struct env2 *prev;
};
struct env9 {
struct env2 *prev;
};
struct env19 {
struct env11 *prev;
};
struct env3 {
struct env2 *prev;
};
struct env7 {
struct env2 *prev;
};
struct env12 {
struct env11 *prev;
};
struct cls0_14 {
};
struct cls4_14 {
};
char *const0;
static mrb_value main_Object_0(mrb_state *, mrb_value self,struct gctab *);
struct proc3 {
int id;
void *code[2];
struct env2 *env;
mrb_value self;
};
struct proc7 {
int id;
void *code[2];
struct env2 *env;
mrb_value self;
};
static mrb_value compile__Object__1(mrb_state *, mrb_value self, char *v3423,struct gctab *);
struct cls4_14 * const1;
struct proc12 {
int id;
void *code[2];
struct env11 *env;
mrb_value self;
};
static mrb_value evalbf__Object__8(mrb_state *, mrb_value self, mrb_value v13562,struct gctab *);
static mrb_int times__Fixnum__2(mrb_state *, mrb_int self, gproc v6166,struct gctab *);
static mrb_int times__Fixnum__5(mrb_state *, mrb_int self, gproc v6166,struct gctab *);
static mrb_value optimize__Object__8(mrb_state *, mrb_value self, mrb_value v9643,struct gctab *);
static mrb_int times__Fixnum__9(mrb_state *, mrb_int self, gproc v6166,struct gctab *);
static mrb_value print__Object__12(mrb_state *, mrb_value self, char *v15247,struct gctab *);
static mrb_value p3_Object_0_4(mrb_state *, gproc cgproc, mrb_int v3454, struct gctab *);
static mrb_int p7_Object_1_7(mrb_state *, gproc cgproc, mrb_int v3523, struct gctab *);
static mrb_int p12_Object_0_11(mrb_state *, gproc cgproc, mrb_int v13611, struct gctab *);
int main(int argc, char **argv)
{
mrb_state *mrb = mrb_open();
struct mrb_jmpbuf c_jmp;
struct gctab *gctab = (struct gctab *)alloca(sizeof(struct gctab));
gctab->prev = NULL;
gctab->size = 0;
gctab->csize = 0;
gctab->osize = 0;
gctab->ret_status = 0;
MRB_TRY(&c_jmp) {
mrb->jmp = &c_jmp;
main_Object_0(mrb, mrb_top_self(mrb), gctab);
}
MRB_CATCH(&c_jmp) {
mrb_p(mrb, mrb_obj_value(mrb->exc));
return 1;
}
MRB_END_EXC(&c_jmp);
return 0;
}
static mrb_value main_Object_0(mrb_state *mrb, mrb_value self, struct gctab *prevgctab) {
mrb_value v19;
mrb_value v20;/*snd*/
mrb_value v22;/*snd*/
mrb_value v24;
struct gctab *gctab = (struct gctab *)alloca(sizeof(struct gctab) + 1 * sizeof(mrb_value *));
gctab->prev = prevgctab;
gctab->complex = NULL;
gctab->object = NULL;
gctab->size = 0;
gctab->csize = 0;
gctab->osize = 0;
gctab->ret_status = 0;
L0:;
v19 = compile__Object__1(mrb, self, const0, gctab);
v20 = v19;
v22 = v20;
gctab->single[0] = &v20;/* normal */
gctab->size = 1;
v24 = evalbf__Object__8(mrb, self, v22, gctab);
return v24;
}
static mrb_value compile__Object__1(mrb_state *mrb, mrb_value self, char *v3423, struct gctab *prevgctab) {
struct env2 env;
struct REnv *venv = NULL;
char *v3434;
mrb_value v3437 = mrb_nil_value();
mrb_value v3426 = mrb_nil_value();
mrb_value v3438 = mrb_nil_value();
mrb_value v3427 = mrb_nil_value();
mrb_value v3439 = mrb_nil_value();
mrb_value v3428 = mrb_nil_value();
mrb_value v3445
; /* fst */
char *v3446;/*snd*/
mrb_int v3448;
struct proc3 v3449;
mrb_int v3510;
mrb_value v3511;
mrb_int v3512; /* fst */
mrb_int v3513; /* fst */
mrb_value v3514;/*snd*/
mrb_int v3516;
struct proc7 v3518;
mrb_int v5229;
mrb_value v5231;/*snd*/
mrb_value v5233;
mrb_value v5234;/*snd*/
mrb_value v5237;
int ai = mrb_gc_arena_save(mrb);
struct gctab *gctab = (struct gctab *)alloca(sizeof(struct gctab) + 2 * sizeof(mrb_value *));
gctab->prev = prevgctab;
gctab->complex = NULL;
gctab->object = NULL;
gctab->size = 0;
gctab->csize = 0;
gctab->osize = 0;
gctab->ret_status = 0;
L142:;
env.v3434 = " A mandelbrot set fractal viewer in brainf*** written by Erik Bosman\n+++++++++++++[->++>>>+++++>++>+<<<<<<]>>>>>++++++>--->>>>>>>>>>+++++++++++++++[[\n>>>>>>>>>]+[<<<<<<<<<]>>>>>>>>>-]+[>>>>>>>>[-]>]<<<<<<<<<[<<<<<<<<<]>>>>>>>>[-]+\n<<<<<<<+++++[-[->>>>>>>>>+<<<<<<<<<]>>>>>>>>>]>>>>>>>+>>>>>>>>>>>>>>>>>>>>>>>>>>\n>+<<<<<<<<<<<<<<<<<[<<<<<<<<<]>>>[-]+[>>>>>>[>>>>>>>[-]>>]<<<<<<<<<[<<<<<<<<<]>>\n>>>>>[-]+<<<<<<++++[-[->>>>>>>>>+<<<<<<<<<]>>>>>>>>>]>>>>>>+<<<<<<+++++++[-[->>>\n>>>>>>+<<<<<<<<<]>>>>>>>>>]>>>>>>+<<<<<<<<<<<<<<<<[<<<<<<<<<]>>>[[-]>>>>>>[>>>>>\n>>[-<<<<<<+>>>>>>]<<<<<<[->>>>>>+<<+<<<+<]>>>>>>>>]<<<<<<<<<[<<<<<<<<<]>>>>>>>>>\n[>>>>>>>>[-<<<<<<<+>>>>>>>]<<<<<<<[->>>>>>>+<<+<<<+<<]>>>>>>>>]<<<<<<<<<[<<<<<<<\n<<]>>>>>>>[-<<<<<<<+>>>>>>>]<<<<<<<[->>>>>>>+<<+<<<<<]>>>>>>>>>+++++++++++++++[[\n>>>>>>>>>]+>[-]>[-]>[-]>[-]>[-]>[-]>[-]>[-]>[-]<<<<<<<<<[<<<<<<<<<]>>>>>>>>>-]+[\n>+>>>>>>>>]<<<<<<<<<[<<<<<<<<<]>>>>>>>>>[>->>>>[-<<<<+>>>>]<<<<[->>>>+<<<<<[->>[\n-<<+>>]<<[->>+>>+<<<<]+>>>>>>>>>]<<<<<<<<[<<<<<<<<<]]>>>>>>>>>[>>>>>>>>>]<<<<<<<\n<<[>[->>>>>>>>>+<<<<<<<<<]<<<<<<<<<<]>[->>>>>>>>>+<<<<<<<<<]<+>>>>>>>>]<<<<<<<<<\n[>[-]<->>>>[-<<<<+>[<->-<<<<<<+>>>>>>]<[->+<]>>>>]<<<[->>>+<<<]<+<<<<<<<<<]>>>>>\n>>>>[>+>>>>>>>>]<<<<<<<<<[<<<<<<<<<]>>>>>>>>>[>->>>>>[-<<<<<+>>>>>]<<<<<[->>>>>+\n<<<<<<[->>>[-<<<+>>>]<<<[->>>+>+<<<<]+>>>>>>>>>]<<<<<<<<[<<<<<<<<<]]>>>>>>>>>[>>\n>>>>>>>]<<<<<<<<<[>>[->>>>>>>>>+<<<<<<<<<]<<<<<<<<<<<]>>[->>>>>>>>>+<<<<<<<<<]<<\n+>>>>>>>>]<<<<<<<<<[>[-]<->>>>[-<<<<+>[<->-<<<<<<+>>>>>>]<[->+<]>>>>]<<<[->>>+<<\n<]<+<<<<<<<<<]>>>>>>>>>[>>>>[-<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<+>>>>>>>>>>>>>\n>>>>>>>>>>>>>>>>>>>>>>>]>>>>>]<<<<<<<<<[<<<<<<<<<]>>>>>>>>>+++++++++++++++[[>>>>\n>>>>>]<<<<<<<<<-<<<<<<<<<[<<<<<<<<<]>>>>>>>>>-]+>>>>>>>>>>>>>>>>>>>>>+<<<[<<<<<<\n<<<]>>>>>>>>>[>>>[-<<<->>>]+<<<[->>>->[-<<<<+>>>>]<<<<[->>>>+<<<<<<<<<<<<<[<<<<<\n<<<<]>>>>[-]+>>>>>[>>>>>>>>>]>+<]]+>>>>[-<<<<->>>>]+<<<<[->>>>-<[-<<<+>>>]<<<[->\n>>+<<<<<<<<<<<<[<<<<<<<<<]>>>[-]+>>>>>>[>>>>>>>>>]>[-]+<]]+>[-<[>>>>>>>>>]<<<<<<\n<<]>>>>>>>>]<<<<<<<<<[<<<<<<<<<]<<<<<<<[->+>>>-<<<<]>>>>>>>>>+++++++++++++++++++\n+++++++>>[-<<<<+>>>>]<<<<[->>>>+<<[-]<<]>>[<<<<<<<+<[-<+>>>>+<<[-]]>[-<<[->+>>>-\n<<<<]>>>]>>>>>>>>>>>>>[>>[-]>[-]>[-]>>>>>]<<<<<<<<<[<<<<<<<<<]>>>[-]>>>>>>[>>>>>\n[-<<<<+>>>>]<<<<[->>>>+<<<+<]>>>>>>>>]<<<<<<<<<[<<<<<<<<<]>>>>>>>>>[>>[-<<<<<<<<\n<+>>>>>>>>>]>>>>>>>]<<<<<<<<<[<<<<<<<<<]>>>>>>>>>+++++++++++++++[[>>>>>>>>>]+>[-\n]>[-]>[-]>[-]>[-]>[-]>[-]>[-]>[-]<<<<<<<<<[<<<<<<<<<]>>>>>>>>>-]+[>+>>>>>>>>]<<<\n<<<<<<[<<<<<<<<<]>>>>>>>>>[>->>>>>[-<<<<<+>>>>>]<<<<<[->>>>>+<<<<<<[->>[-<<+>>]<\n<[->>+>+<<<]+>>>>>>>>>]<<<<<<<<[<<<<<<<<<]]>>>>>>>>>[>>>>>>>>>]<<<<<<<<<[>[->>>>\n>>>>>+<<<<<<<<<]<<<<<<<<<<]>[->>>>>>>>>+<<<<<<<<<]<+>>>>>>>>]<<<<<<<<<[>[-]<->>>\n[-<<<+>[<->-<<<<<<<+>>>>>>>]<[->+<]>>>]<<[->>+<<]<+<<<<<<<<<]>>>>>>>>>[>>>>>>[-<\n<<<<+>>>>>]<<<<<[->>>>>+<<<<+<]>>>>>>>>]<<<<<<<<<[<<<<<<<<<]>>>>>>>>>[>+>>>>>>>>\n]<<<<<<<<<[<<<<<<<<<]>>>>>>>>>[>->>>>>[-<<<<<+>>>>>]<<<<<[->>>>>+<<<<<<[->>[-<<+\n>>]<<[->>+>>+<<<<]+>>>>>>>>>]<<<<<<<<[<<<<<<<<<]]>>>>>>>>>[>>>>>>>>>]<<<<<<<<<[>\n[->>>>>>>>>+<<<<<<<<<]<<<<<<<<<<]>[->>>>>>>>>+<<<<<<<<<]<+>>>>>>>>]<<<<<<<<<[>[-\n]<->>>>[-<<<<+>[<->-<<<<<<+>>>>>>]<[->+<]>>>>]<<<[->>>+<<<]<+<<<<<<<<<]>>>>>>>>>\n[>>>>[-<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>\n]>>>>>]<<<<<<<<<[<<<<<<<<<]>>>>>>>>>[>>>[-<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<+>\n>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>]>>>>>>]<<<<<<<<<[<<<<<<<<<]>>>>>>>>>++++++++\n+++++++[[>>>>>>>>>]<<<<<<<<<-<<<<<<<<<[<<<<<<<<<]>>>>>>>>>-]+[>>>>>>>>[-<<<<<<<+\n>>>>>>>]<<<<<<<[->>>>>>>+<<<<<<+<]>>>>>>>>]<<<<<<<<<[<<<<<<<<<]>>>>>>>>>[>>>>>>[\n-]>>>]<<<<<<<<<[<<<<<<<<<]>>>>+>[-<-<<<<+>>>>>]>[-<<<<<<[->>>>>+<++<<<<]>>>>>[-<\n<<<<+>>>>>]<->+>]<[->+<]<<<<<[->>>>>+<<<<<]>>>>>>[-]<<<<<<+>>>>[-<<<<->>>>]+<<<<\n[->>>>->>>>>[>>[-<<->>]+<<[->>->[-<<<+>>>]<<<[->>>+<<<<<<<<<<<<[<<<<<<<<<]>>>[-]\n+>>>>>>[>>>>>>>>>]>+<]]+>>>[-<<<->>>]+<<<[->>>-<[-<<+>>]<<[->>+<<<<<<<<<<<[<<<<<\n<<<<]>>>>[-]+>>>>>[>>>>>>>>>]>[-]+<]]+>[-<[>>>>>>>>>]<<<<<<<<]>>>>>>>>]<<<<<<<<<\n[<<<<<<<<<]>>>>[-<<<<+>>>>]<<<<[->>>>+>>>>>[>+>>[-<<->>]<<[->>+<<]>>>>>>>>]<<<<<\n<<<+<[>[->>>>>+<<<<[->>>>-<<<<<<<<<<<<<<+>>>>>>>>>>>[->>>+<<<]<]>[->>>-<<<<<<<<<\n<<<<<+>>>>>>>>>>>]<<]>[->>>>+<<<[->>>-<<<<<<<<<<<<<<+>>>>>>>>>>>]<]>[->>>+<<<]<<\n<<<<<<<<<<]>>>>[-]<<<<]>>>[-<<<+>>>]<<<[->>>+>>>>>>[>+>[-<->]<[->+<]>>>>>>>>]<<<\n<<<<<+<[>[->>>>>+<<<[->>>-<<<<<<<<<<<<<<+>>>>>>>>>>[->>>>+<<<<]>]<[->>>>-<<<<<<<\n<<<<<<<+>>>>>>>>>>]<]>>[->>>+<<<<[->>>>-<<<<<<<<<<<<<<+>>>>>>>>>>]>]<[->>>>+<<<<\n]<<<<<<<<<<<]>>>>>>+<<<<<<]]>>>>[-<<<<+>>>>]<<<<[->>>>+>>>>>[>>>>>>>>>]<<<<<<<<<\n[>[->>>>>+<<<<[->>>>-<<<<<<<<<<<<<<+>>>>>>>>>>>[->>>+<<<]<]>[->>>-<<<<<<<<<<<<<<\n+>>>>>>>>>>>]<<]>[->>>>+<<<[->>>-<<<<<<<<<<<<<<+>>>>>>>>>>>]<]>[->>>+<<<]<<<<<<<\n<<<<<]]>[-]>>[-]>[-]>>>>>[>>[-]>[-]>>>>>>]<<<<<<<<<[<<<<<<<<<]>>>>>>>>>[>>>>>[-<\n<<<+>>>>]<<<<[->>>>+<<<+<]>>>>>>>>]<<<<<<<<<[<<<<<<<<<]>>>>>>>>>+++++++++++++++[\n[>>>>>>>>>]+>[-]>[-]>[-]>[-]>[-]>[-]>[-]>[-]>[-]<<<<<<<<<[<<<<<<<<<]>>>>>>>>>-]+\n[>+>>>>>>>>]<<<<<<<<<[<<<<<<<<<]>>>>>>>>>[>->>>>[-<<<<+>>>>]<<<<[->>>>+<<<<<[->>\n[-<<+>>]<<[->>+>+<<<]+>>>>>>>>>]<<<<<<<<[<<<<<<<<<]]>>>>>>>>>[>>>>>>>>>]<<<<<<<<\n<[>[->>>>>>>>>+<<<<<<<<<]<<<<<<<<<<]>[->>>>>>>>>+<<<<<<<<<]<+>>>>>>>>]<<<<<<<<<[\n>[-]<->>>[-<<<+>[<->-<<<<<<<+>>>>>>>]<[->+<]>>>]<<[->>+<<]<+<<<<<<<<<]>>>>>>>>>[\n>>>[-<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>]>\n>>>>>]<<<<<<<<<[<<<<<<<<<]>>>>>[-]>>>>+++++++++++++++[[>>>>>>>>>]<<<<<<<<<-<<<<<\n<<<<[<<<<<<<<<]>>>>>>>>>-]+[>>>[-<<<->>>]+<<<[->>>->[-<<<<+>>>>]<<<<[->>>>+<<<<<\n<<<<<<<<[<<<<<<<<<]>>>>[-]+>>>>>[>>>>>>>>>]>+<]]+>>>>[-<<<<->>>>]+<<<<[->>>>-<[-\n<<<+>>>]<<<[->>>+<<<<<<<<<<<<[<<<<<<<<<]>>>[-]+>>>>>>[>>>>>>>>>]>[-]+<]]+>[-<[>>\n>>>>>>>]<<<<<<<<]>>>>>>>>]<<<<<<<<<[<<<<<<<<<]>>>[-<<<+>>>]<<<[->>>+>>>>>>[>+>>>\n[-<<<->>>]<<<[->>>+<<<]>>>>>>>>]<<<<<<<<+<[>[->+>[-<-<<<<<<<<<<+>>>>>>>>>>>>[-<<\n+>>]<]>[-<<-<<<<<<<<<<+>>>>>>>>>>>>]<<<]>>[-<+>>[-<<-<<<<<<<<<<+>>>>>>>>>>>>]<]>\n[-<<+>>]<<<<<<<<<<<<<]]>>>>[-<<<<+>>>>]<<<<[->>>>+>>>>>[>+>>[-<<->>]<<[->>+<<]>>\n>>>>>>]<<<<<<<<+<[>[->+>>[-<<-<<<<<<<<<<+>>>>>>>>>>>[-<+>]>]<[-<-<<<<<<<<<<+>>>>\n>>>>>>>]<<]>>>[-<<+>[-<-<<<<<<<<<<+>>>>>>>>>>>]>]<[-<+>]<<<<<<<<<<<<]>>>>>+<<<<<\n]>>>>>>>>>[>>>[-]>[-]>[-]>>>>]<<<<<<<<<[<<<<<<<<<]>>>[-]>[-]>>>>>[>>>>>>>[-<<<<<\n<+>>>>>>]<<<<<<[->>>>>>+<<<<+<<]>>>>>>>>]<<<<<<<<<[<<<<<<<<<]>>>>+>[-<-<<<<+>>>>\n>]>>[-<<<<<<<[->>>>>+<++<<<<]>>>>>[-<<<<<+>>>>>]<->+>>]<<[->>+<<]<<<<<[->>>>>+<<\n<<<]+>>>>[-<<<<->>>>]+<<<<[->>>>->>>>>[>>>[-<<<->>>]+<<<[->>>-<[-<<+>>]<<[->>+<<\n<<<<<<<<<[<<<<<<<<<]>>>>[-]+>>>>>[>>>>>>>>>]>+<]]+>>[-<<->>]+<<[->>->[-<<<+>>>]<\n<<[->>>+<<<<<<<<<<<<[<<<<<<<<<]>>>[-]+>>>>>>[>>>>>>>>>]>[-]+<]]+>[-<[>>>>>>>>>]<\n<<<<<<<]>>>>>>>>]<<<<<<<<<[<<<<<<<<<]>>>[-<<<+>>>]<<<[->>>+>>>>>>[>+>[-<->]<[->+\n<]>>>>>>>>]<<<<<<<<+<[>[->>>>+<<[->>-<<<<<<<<<<<<<+>>>>>>>>>>[->>>+<<<]>]<[->>>-\n<<<<<<<<<<<<<+>>>>>>>>>>]<]>>[->>+<<<[->>>-<<<<<<<<<<<<<+>>>>>>>>>>]>]<[->>>+<<<\n]<<<<<<<<<<<]>>>>>[-]>>[-<<<<<<<+>>>>>>>]<<<<<<<[->>>>>>>+<<+<<<<<]]>>>>[-<<<<+>\n>>>]<<<<[->>>>+>>>>>[>+>>[-<<->>]<<[->>+<<]>>>>>>>>]<<<<<<<<+<[>[->>>>+<<<[->>>-\n<<<<<<<<<<<<<+>>>>>>>>>>>[->>+<<]<]>[->>-<<<<<<<<<<<<<+>>>>>>>>>>>]<<]>[->>>+<<[\n->>-<<<<<<<<<<<<<+>>>>>>>>>>>]<]>[->>+<<]<<<<<<<<<<<<]]>>>>[-]<<<<]>>>>[-<<<<+>>\n>>]<<<<[->>>>+>[-]>>[-<<<<<<<+>>>>>>>]<<<<<<<[->>>>>>>+<<+<<<<<]>>>>>>>>>[>>>>>>\n>>>]<<<<<<<<<[>[->>>>+<<<[->>>-<<<<<<<<<<<<<+>>>>>>>>>>>[->>+<<]<]>[->>-<<<<<<<<\n<<<<<+>>>>>>>>>>>]<<]>[->>>+<<[->>-<<<<<<<<<<<<<+>>>>>>>>>>>]<]>[->>+<<]<<<<<<<<\n<<<<]]>>>>>>>>>[>>[-]>[-]>>>>>>]<<<<<<<<<[<<<<<<<<<]>>>[-]>[-]>>>>>[>>>>>[-<<<<+\n>>>>]<<<<[->>>>+<<<+<]>>>>>>>>]<<<<<<<<<[<<<<<<<<<]>>>>>>>>>[>>>>>>[-<<<<<+>>>>>\n]<<<<<[->>>>>+<<<+<<]>>>>>>>>]<<<<<<<<<[<<<<<<<<<]>>>>>>>>>+++++++++++++++[[>>>>\n>>>>>]+>[-]>[-]>[-]>[-]>[-]>[-]>[-]>[-]>[-]<<<<<<<<<[<<<<<<<<<]>>>>>>>>>-]+[>+>>\n>>>>>>]<<<<<<<<<[<<<<<<<<<]>>>>>>>>>[>->>>>[-<<<<+>>>>]<<<<[->>>>+<<<<<[->>[-<<+\n>>]<<[->>+>>+<<<<]+>>>>>>>>>]<<<<<<<<[<<<<<<<<<]]>>>>>>>>>[>>>>>>>>>]<<<<<<<<<[>\n[->>>>>>>>>+<<<<<<<<<]<<<<<<<<<<]>[->>>>>>>>>+<<<<<<<<<]<+>>>>>>>>]<<<<<<<<<[>[-\n]<->>>>[-<<<<+>[<->-<<<<<<+>>>>>>]<[->+<]>>>>]<<<[->>>+<<<]<+<<<<<<<<<]>>>>>>>>>\n[>+>>>>>>>>]<<<<<<<<<[<<<<<<<<<]>>>>>>>>>[>->>>>>[-<<<<<+>>>>>]<<<<<[->>>>>+<<<<\n<<[->>>[-<<<+>>>]<<<[->>>+>+<<<<]+>>>>>>>>>]<<<<<<<<[<<<<<<<<<]]>>>>>>>>>[>>>>>>\n>>>]<<<<<<<<<[>>[->>>>>>>>>+<<<<<<<<<]<<<<<<<<<<<]>>[->>>>>>>>>+<<<<<<<<<]<<+>>>\n>>>>>]<<<<<<<<<[>[-]<->>>>[-<<<<+>[<->-<<<<<<+>>>>>>]<[->+<]>>>>]<<<[->>>+<<<]<+\n<<<<<<<<<]>>>>>>>>>[>>>>[-<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<+>>>>>>>>>>>>>>>>>\n>>>>>>>>>>>>>>>>>>>]>>>>>]<<<<<<<<<[<<<<<<<<<]>>>>>>>>>+++++++++++++++[[>>>>>>>>\n>]<<<<<<<<<-<<<<<<<<<[<<<<<<<<<]>>>>>>>>>-]+>>>>>>>>>>>>>>>>>>>>>+<<<[<<<<<<<<<]\n>>>>>>>>>[>>>[-<<<->>>]+<<<[->>>->[-<<<<+>>>>]<<<<[->>>>+<<<<<<<<<<<<<[<<<<<<<<<\n]>>>>[-]+>>>>>[>>>>>>>>>]>+<]]+>>>>[-<<<<->>>>]+<<<<[->>>>-<[-<<<+>>>]<<<[->>>+<\n<<<<<<<<<<<[<<<<<<<<<]>>>[-]+>>>>>>[>>>>>>>>>]>[-]+<]]+>[-<[>>>>>>>>>]<<<<<<<<]>\n>>>>>>>]<<<<<<<<<[<<<<<<<<<]>>->>[-<<<<+>>>>]<<<<[->>>>+<<[-]<<]>>]<<+>>>>[-<<<<\n->>>>]+<<<<[->>>>-<<<<<<.>>]>>>>[-<<<<<<<.>>>>>>>]<<<[-]>[-]>[-]>[-]>[-]>[-]>>>[\n>[-]>[-]>[-]>[-]>[-]>[-]>>>]<<<<<<<<<[<<<<<<<<<]>>>>>>>>>[>>>>>[-]>>>>]<<<<<<<<<\n[<<<<<<<<<]>+++++++++++[-[->>>>>>>>>+<<<<<<<<<]>>>>>>>>>]>>>>+>>>>>>>>>+<<<<<<<<\n<<<<<<[<<<<<<<<<]>>>>>>>[-<<<<<<<+>>>>>>>]<<<<<<<[->>>>>>>+[-]>>[>>>>>>>>>]<<<<<\n<<<<[>>>>>>>[-<<<<<<+>>>>>>]<<<<<<[->>>>>>+<<<<<<<[<<<<<<<<<]>>>>>>>[-]+>>>]<<<<\n<<<<<<]]>>>>>>>[-<<<<<<<+>>>>>>>]<<<<<<<[->>>>>>>+>>[>+>>>>[-<<<<->>>>]<<<<[->>>\n>+<<<<]>>>>>>>>]<<+<<<<<<<[>>>>>[->>+<<]<<<<<<<<<<<<<<]>>>>>>>>>[>>>>>>>>>]<<<<<\n<<<<[>[-]<->>>>>>>[-<<<<<<<+>[<->-<<<+>>>]<[->+<]>>>>>>>]<<<<<<[->>>>>>+<<<<<<]<\n+<<<<<<<<<]>>>>>>>-<<<<[-]+<<<]+>>>>>>>[-<<<<<<<->>>>>>>]+<<<<<<<[->>>>>>>->>[>>\n>>>[->>+<<]>>>>]<<<<<<<<<[>[-]<->>>>>>>[-<<<<<<<+>[<->-<<<+>>>]<[->+<]>>>>>>>]<<\n<<<<[->>>>>>+<<<<<<]<+<<<<<<<<<]>+++++[-[->>>>>>>>>+<<<<<<<<<]>>>>>>>>>]>>>>+<<<\n<<[<<<<<<<<<]>>>>>>>>>[>>>>>[-<<<<<->>>>>]+<<<<<[->>>>>->>[-<<<<<<<+>>>>>>>]<<<<\n<<<[->>>>>>>+<<<<<<<<<<<<<<<<[<<<<<<<<<]>>>>[-]+>>>>>[>>>>>>>>>]>+<]]+>>>>>>>[-<\n<<<<<<->>>>>>>]+<<<<<<<[->>>>>>>-<<[-<<<<<+>>>>>]<<<<<[->>>>>+<<<<<<<<<<<<<<[<<<\n<<<<<<]>>>[-]+>>>>>>[>>>>>>>>>]>[-]+<]]+>[-<[>>>>>>>>>]<<<<<<<<]>>>>>>>>]<<<<<<<\n<<[<<<<<<<<<]>>>>[-]<<<+++++[-[->>>>>>>>>+<<<<<<<<<]>>>>>>>>>]>>>>-<<<<<[<<<<<<<\n<<]]>>>]<<<<.>>>>>>>>>>[>>>>>>[-]>>>]<<<<<<<<<[<<<<<<<<<]>++++++++++[-[->>>>>>>>\n>+<<<<<<<<<]>>>>>>>>>]>>>>>+>>>>>>>>>+<<<<<<<<<<<<<<<[<<<<<<<<<]>>>>>>>>[-<<<<<<\n<<+>>>>>>>>]<<<<<<<<[->>>>>>>>+[-]>[>>>>>>>>>]<<<<<<<<<[>>>>>>>>[-<<<<<<<+>>>>>>\n>]<<<<<<<[->>>>>>>+<<<<<<<<[<<<<<<<<<]>>>>>>>>[-]+>>]<<<<<<<<<<]]>>>>>>>>[-<<<<<\n<<<+>>>>>>>>]<<<<<<<<[->>>>>>>>+>[>+>>>>>[-<<<<<->>>>>]<<<<<[->>>>>+<<<<<]>>>>>>\n>>]<+<<<<<<<<[>>>>>>[->>+<<]<<<<<<<<<<<<<<<]>>>>>>>>>[>>>>>>>>>]<<<<<<<<<[>[-]<-\n>>>>>>>>[-<<<<<<<<+>[<->-<<+>>]<[->+<]>>>>>>>>]<<<<<<<[->>>>>>>+<<<<<<<]<+<<<<<<\n<<<]>>>>>>>>-<<<<<[-]+<<<]+>>>>>>>>[-<<<<<<<<->>>>>>>>]+<<<<<<<<[->>>>>>>>->[>>>\n>>>[->>+<<]>>>]<<<<<<<<<[>[-]<->>>>>>>>[-<<<<<<<<+>[<->-<<+>>]<[->+<]>>>>>>>>]<<\n<<<<<[->>>>>>>+<<<<<<<]<+<<<<<<<<<]>+++++[-[->>>>>>>>>+<<<<<<<<<]>>>>>>>>>]>>>>>\n+>>>>>>>>>>>>>>>>>>>>>>>>>>>+<<<<<<[<<<<<<<<<]>>>>>>>>>[>>>>>>[-<<<<<<->>>>>>]+<\n<<<<<[->>>>>>->>[-<<<<<<<<+>>>>>>>>]<<<<<<<<[->>>>>>>>+<<<<<<<<<<<<<<<<<[<<<<<<<\n<<]>>>>[-]+>>>>>[>>>>>>>>>]>+<]]+>>>>>>>>[-<<<<<<<<->>>>>>>>]+<<<<<<<<[->>>>>>>>\n-<<[-<<<<<<+>>>>>>]<<<<<<[->>>>>>+<<<<<<<<<<<<<<<[<<<<<<<<<]>>>[-]+>>>>>>[>>>>>>\n>>>]>[-]+<]]+>[-<[>>>>>>>>>]<<<<<<<<]>>>>>>>>]<<<<<<<<<[<<<<<<<<<]>>>>[-]<<<++++\n+[-[->>>>>>>>>+<<<<<<<<<]>>>>>>>>>]>>>>>->>>>>>>>>>>>>>>>>>>>>>>>>>>-<<<<<<[<<<<\n<<<<<]]>>>]";/*enter */
env.v3437 = v3426;/*enter */
env.v3438 = v3427;/*enter */
env.v3439 = v3428;/*enter */
mrb->ud = (void *)gctab;
v3445 = mrb_str_new(mrb, "", 0);
v3445 = v3445;
env.v3445 = v3445;/*foo*/
v3446 = " A mandelbrot set fractal viewer in brainf*** written by Erik Bosman\n+++++++++++++[->++>>>+++++>++>+<<<<<<]>>>>>++++++>--->>>>>>>>>>+++++++++++++++[[\n>>>>>>>>>]+[<<<<<<<<<]>>>>>>>>>-]+[>>>>>>>>[-]>]<<<<<<<<<[<<<<<<<<<]>>>>>>>>[-]+\n<<<<<<<+++++[-[->>>>>>>>>+<<<<<<<<<]>>>>>>>>>]>>>>>>>+>>>>>>>>>>>>>>>>>>>>>>>>>>\n>+<<<<<<<<<<<<<<<<<[<<<<<<<<<]>>>[-]+[>>>>>>[>>>>>>>[-]>>]<<<<<<<<<[<<<<<<<<<]>>\n>>>>>[-]+<<<<<<++++[-[->>>>>>>>>+<<<<<<<<<]>>>>>>>>>]>>>>>>+<<<<<<+++++++[-[->>>\n>>>>>>+<<<<<<<<<]>>>>>>>>>]>>>>>>+<<<<<<<<<<<<<<<<[<<<<<<<<<]>>>[[-]>>>>>>[>>>>>\n>>[-<<<<<<+>>>>>>]<<<<<<[->>>>>>+<<+<<<+<]>>>>>>>>]<<<<<<<<<[<<<<<<<<<]>>>>>>>>>\n[>>>>>>>>[-<<<<<<<+>>>>>>>]<<<<<<<[->>>>>>>+<<+<<<+<<]>>>>>>>>]<<<<<<<<<[<<<<<<<\n<<]>>>>>>>[-<<<<<<<+>>>>>>>]<<<<<<<[->>>>>>>+<<+<<<<<]>>>>>>>>>+++++++++++++++[[\n>>>>>>>>>]+>[-]>[-]>[-]>[-]>[-]>[-]>[-]>[-]>[-]<<<<<<<<<[<<<<<<<<<]>>>>>>>>>-]+[\n>+>>>>>>>>]<<<<<<<<<[<<<<<<<<<]>>>>>>>>>[>->>>>[-<<<<+>>>>]<<<<[->>>>+<<<<<[->>[\n-<<+>>]<<[->>+>>+<<<<]+>>>>>>>>>]<<<<<<<<[<<<<<<<<<]]>>>>>>>>>[>>>>>>>>>]<<<<<<<\n<<[>[->>>>>>>>>+<<<<<<<<<]<<<<<<<<<<]>[->>>>>>>>>+<<<<<<<<<]<+>>>>>>>>]<<<<<<<<<\n[>[-]<->>>>[-<<<<+>[<->-<<<<<<+>>>>>>]<[->+<]>>>>]<<<[->>>+<<<]<+<<<<<<<<<]>>>>>\n>>>>[>+>>>>>>>>]<<<<<<<<<[<<<<<<<<<]>>>>>>>>>[>->>>>>[-<<<<<+>>>>>]<<<<<[->>>>>+\n<<<<<<[->>>[-<<<+>>>]<<<[->>>+>+<<<<]+>>>>>>>>>]<<<<<<<<[<<<<<<<<<]]>>>>>>>>>[>>\n>>>>>>>]<<<<<<<<<[>>[->>>>>>>>>+<<<<<<<<<]<<<<<<<<<<<]>>[->>>>>>>>>+<<<<<<<<<]<<\n+>>>>>>>>]<<<<<<<<<[>[-]<->>>>[-<<<<+>[<->-<<<<<<+>>>>>>]<[->+<]>>>>]<<<[->>>+<<\n<]<+<<<<<<<<<]>>>>>>>>>[>>>>[-<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<+>>>>>>>>>>>>>\n>>>>>>>>>>>>>>>>>>>>>>>]>>>>>]<<<<<<<<<[<<<<<<<<<]>>>>>>>>>+++++++++++++++[[>>>>\n>>>>>]<<<<<<<<<-<<<<<<<<<[<<<<<<<<<]>>>>>>>>>-]+>>>>>>>>>>>>>>>>>>>>>+<<<[<<<<<<\n<<<]>>>>>>>>>[>>>[-<<<->>>]+<<<[->>>->[-<<<<+>>>>]<<<<[->>>>+<<<<<<<<<<<<<[<<<<<\n<<<<]>>>>[-]+>>>>>[>>>>>>>>>]>+<]]+>>>>[-<<<<->>>>]+<<<<[->>>>-<[-<<<+>>>]<<<[->\n>>+<<<<<<<<<<<<[<<<<<<<<<]>>>[-]+>>>>>>[>>>>>>>>>]>[-]+<]]+>[-<[>>>>>>>>>]<<<<<<\n<<]>>>>>>>>]<<<<<<<<<[<<<<<<<<<]<<<<<<<[->+>>>-<<<<]>>>>>>>>>+++++++++++++++++++\n+++++++>>[-<<<<+>>>>]<<<<[->>>>+<<[-]<<]>>[<<<<<<<+<[-<+>>>>+<<[-]]>[-<<[->+>>>-\n<<<<]>>>]>>>>>>>>>>>>>[>>[-]>[-]>[-]>>>>>]<<<<<<<<<[<<<<<<<<<]>>>[-]>>>>>>[>>>>>\n[-<<<<+>>>>]<<<<[->>>>+<<<+<]>>>>>>>>]<<<<<<<<<[<<<<<<<<<]>>>>>>>>>[>>[-<<<<<<<<\n<+>>>>>>>>>]>>>>>>>]<<<<<<<<<[<<<<<<<<<]>>>>>>>>>+++++++++++++++[[>>>>>>>>>]+>[-\n]>[-]>[-]>[-]>[-]>[-]>[-]>[-]>[-]<<<<<<<<<[<<<<<<<<<]>>>>>>>>>-]+[>+>>>>>>>>]<<<\n<<<<<<[<<<<<<<<<]>>>>>>>>>[>->>>>>[-<<<<<+>>>>>]<<<<<[->>>>>+<<<<<<[->>[-<<+>>]<\n<[->>+>+<<<]+>>>>>>>>>]<<<<<<<<[<<<<<<<<<]]>>>>>>>>>[>>>>>>>>>]<<<<<<<<<[>[->>>>\n>>>>>+<<<<<<<<<]<<<<<<<<<<]>[->>>>>>>>>+<<<<<<<<<]<+>>>>>>>>]<<<<<<<<<[>[-]<->>>\n[-<<<+>[<->-<<<<<<<+>>>>>>>]<[->+<]>>>]<<[->>+<<]<+<<<<<<<<<]>>>>>>>>>[>>>>>>[-<\n<<<<+>>>>>]<<<<<[->>>>>+<<<<+<]>>>>>>>>]<<<<<<<<<[<<<<<<<<<]>>>>>>>>>[>+>>>>>>>>\n]<<<<<<<<<[<<<<<<<<<]>>>>>>>>>[>->>>>>[-<<<<<+>>>>>]<<<<<[->>>>>+<<<<<<[->>[-<<+\n>>]<<[->>+>>+<<<<]+>>>>>>>>>]<<<<<<<<[<<<<<<<<<]]>>>>>>>>>[>>>>>>>>>]<<<<<<<<<[>\n[->>>>>>>>>+<<<<<<<<<]<<<<<<<<<<]>[->>>>>>>>>+<<<<<<<<<]<+>>>>>>>>]<<<<<<<<<[>[-\n]<->>>>[-<<<<+>[<->-<<<<<<+>>>>>>]<[->+<]>>>>]<<<[->>>+<<<]<+<<<<<<<<<]>>>>>>>>>\n[>>>>[-<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>\n]>>>>>]<<<<<<<<<[<<<<<<<<<]>>>>>>>>>[>>>[-<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<+>\n>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>]>>>>>>]<<<<<<<<<[<<<<<<<<<]>>>>>>>>>++++++++\n+++++++[[>>>>>>>>>]<<<<<<<<<-<<<<<<<<<[<<<<<<<<<]>>>>>>>>>-]+[>>>>>>>>[-<<<<<<<+\n>>>>>>>]<<<<<<<[->>>>>>>+<<<<<<+<]>>>>>>>>]<<<<<<<<<[<<<<<<<<<]>>>>>>>>>[>>>>>>[\n-]>>>]<<<<<<<<<[<<<<<<<<<]>>>>+>[-<-<<<<+>>>>>]>[-<<<<<<[->>>>>+<++<<<<]>>>>>[-<\n<<<<+>>>>>]<->+>]<[->+<]<<<<<[->>>>>+<<<<<]>>>>>>[-]<<<<<<+>>>>[-<<<<->>>>]+<<<<\n[->>>>->>>>>[>>[-<<->>]+<<[->>->[-<<<+>>>]<<<[->>>+<<<<<<<<<<<<[<<<<<<<<<]>>>[-]\n+>>>>>>[>>>>>>>>>]>+<]]+>>>[-<<<->>>]+<<<[->>>-<[-<<+>>]<<[->>+<<<<<<<<<<<[<<<<<\n<<<<]>>>>[-]+>>>>>[>>>>>>>>>]>[-]+<]]+>[-<[>>>>>>>>>]<<<<<<<<]>>>>>>>>]<<<<<<<<<\n[<<<<<<<<<]>>>>[-<<<<+>>>>]<<<<[->>>>+>>>>>[>+>>[-<<->>]<<[->>+<<]>>>>>>>>]<<<<<\n<<<+<[>[->>>>>+<<<<[->>>>-<<<<<<<<<<<<<<+>>>>>>>>>>>[->>>+<<<]<]>[->>>-<<<<<<<<<\n<<<<<+>>>>>>>>>>>]<<]>[->>>>+<<<[->>>-<<<<<<<<<<<<<<+>>>>>>>>>>>]<]>[->>>+<<<]<<\n<<<<<<<<<<]>>>>[-]<<<<]>>>[-<<<+>>>]<<<[->>>+>>>>>>[>+>[-<->]<[->+<]>>>>>>>>]<<<\n<<<<<+<[>[->>>>>+<<<[->>>-<<<<<<<<<<<<<<+>>>>>>>>>>[->>>>+<<<<]>]<[->>>>-<<<<<<<\n<<<<<<<+>>>>>>>>>>]<]>>[->>>+<<<<[->>>>-<<<<<<<<<<<<<<+>>>>>>>>>>]>]<[->>>>+<<<<\n]<<<<<<<<<<<]>>>>>>+<<<<<<]]>>>>[-<<<<+>>>>]<<<<[->>>>+>>>>>[>>>>>>>>>]<<<<<<<<<\n[>[->>>>>+<<<<[->>>>-<<<<<<<<<<<<<<+>>>>>>>>>>>[->>>+<<<]<]>[->>>-<<<<<<<<<<<<<<\n+>>>>>>>>>>>]<<]>[->>>>+<<<[->>>-<<<<<<<<<<<<<<+>>>>>>>>>>>]<]>[->>>+<<<]<<<<<<<\n<<<<<]]>[-]>>[-]>[-]>>>>>[>>[-]>[-]>>>>>>]<<<<<<<<<[<<<<<<<<<]>>>>>>>>>[>>>>>[-<\n<<<+>>>>]<<<<[->>>>+<<<+<]>>>>>>>>]<<<<<<<<<[<<<<<<<<<]>>>>>>>>>+++++++++++++++[\n[>>>>>>>>>]+>[-]>[-]>[-]>[-]>[-]>[-]>[-]>[-]>[-]<<<<<<<<<[<<<<<<<<<]>>>>>>>>>-]+\n[>+>>>>>>>>]<<<<<<<<<[<<<<<<<<<]>>>>>>>>>[>->>>>[-<<<<+>>>>]<<<<[->>>>+<<<<<[->>\n[-<<+>>]<<[->>+>+<<<]+>>>>>>>>>]<<<<<<<<[<<<<<<<<<]]>>>>>>>>>[>>>>>>>>>]<<<<<<<<\n<[>[->>>>>>>>>+<<<<<<<<<]<<<<<<<<<<]>[->>>>>>>>>+<<<<<<<<<]<+>>>>>>>>]<<<<<<<<<[\n>[-]<->>>[-<<<+>[<->-<<<<<<<+>>>>>>>]<[->+<]>>>]<<[->>+<<]<+<<<<<<<<<]>>>>>>>>>[\n>>>[-<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>]>\n>>>>>]<<<<<<<<<[<<<<<<<<<]>>>>>[-]>>>>+++++++++++++++[[>>>>>>>>>]<<<<<<<<<-<<<<<\n<<<<[<<<<<<<<<]>>>>>>>>>-]+[>>>[-<<<->>>]+<<<[->>>->[-<<<<+>>>>]<<<<[->>>>+<<<<<\n<<<<<<<<[<<<<<<<<<]>>>>[-]+>>>>>[>>>>>>>>>]>+<]]+>>>>[-<<<<->>>>]+<<<<[->>>>-<[-\n<<<+>>>]<<<[->>>+<<<<<<<<<<<<[<<<<<<<<<]>>>[-]+>>>>>>[>>>>>>>>>]>[-]+<]]+>[-<[>>\n>>>>>>>]<<<<<<<<]>>>>>>>>]<<<<<<<<<[<<<<<<<<<]>>>[-<<<+>>>]<<<[->>>+>>>>>>[>+>>>\n[-<<<->>>]<<<[->>>+<<<]>>>>>>>>]<<<<<<<<+<[>[->+>[-<-<<<<<<<<<<+>>>>>>>>>>>>[-<<\n+>>]<]>[-<<-<<<<<<<<<<+>>>>>>>>>>>>]<<<]>>[-<+>>[-<<-<<<<<<<<<<+>>>>>>>>>>>>]<]>\n[-<<+>>]<<<<<<<<<<<<<]]>>>>[-<<<<+>>>>]<<<<[->>>>+>>>>>[>+>>[-<<->>]<<[->>+<<]>>\n>>>>>>]<<<<<<<<+<[>[->+>>[-<<-<<<<<<<<<<+>>>>>>>>>>>[-<+>]>]<[-<-<<<<<<<<<<+>>>>\n>>>>>>>]<<]>>>[-<<+>[-<-<<<<<<<<<<+>>>>>>>>>>>]>]<[-<+>]<<<<<<<<<<<<]>>>>>+<<<<<\n]>>>>>>>>>[>>>[-]>[-]>[-]>>>>]<<<<<<<<<[<<<<<<<<<]>>>[-]>[-]>>>>>[>>>>>>>[-<<<<<\n<+>>>>>>]<<<<<<[->>>>>>+<<<<+<<]>>>>>>>>]<<<<<<<<<[<<<<<<<<<]>>>>+>[-<-<<<<+>>>>\n>]>>[-<<<<<<<[->>>>>+<++<<<<]>>>>>[-<<<<<+>>>>>]<->+>>]<<[->>+<<]<<<<<[->>>>>+<<\n<<<]+>>>>[-<<<<->>>>]+<<<<[->>>>->>>>>[>>>[-<<<->>>]+<<<[->>>-<[-<<+>>]<<[->>+<<\n<<<<<<<<<[<<<<<<<<<]>>>>[-]+>>>>>[>>>>>>>>>]>+<]]+>>[-<<->>]+<<[->>->[-<<<+>>>]<\n<<[->>>+<<<<<<<<<<<<[<<<<<<<<<]>>>[-]+>>>>>>[>>>>>>>>>]>[-]+<]]+>[-<[>>>>>>>>>]<\n<<<<<<<]>>>>>>>>]<<<<<<<<<[<<<<<<<<<]>>>[-<<<+>>>]<<<[->>>+>>>>>>[>+>[-<->]<[->+\n<]>>>>>>>>]<<<<<<<<+<[>[->>>>+<<[->>-<<<<<<<<<<<<<+>>>>>>>>>>[->>>+<<<]>]<[->>>-\n<<<<<<<<<<<<<+>>>>>>>>>>]<]>>[->>+<<<[->>>-<<<<<<<<<<<<<+>>>>>>>>>>]>]<[->>>+<<<\n]<<<<<<<<<<<]>>>>>[-]>>[-<<<<<<<+>>>>>>>]<<<<<<<[->>>>>>>+<<+<<<<<]]>>>>[-<<<<+>\n>>>]<<<<[->>>>+>>>>>[>+>>[-<<->>]<<[->>+<<]>>>>>>>>]<<<<<<<<+<[>[->>>>+<<<[->>>-\n<<<<<<<<<<<<<+>>>>>>>>>>>[->>+<<]<]>[->>-<<<<<<<<<<<<<+>>>>>>>>>>>]<<]>[->>>+<<[\n->>-<<<<<<<<<<<<<+>>>>>>>>>>>]<]>[->>+<<]<<<<<<<<<<<<]]>>>>[-]<<<<]>>>>[-<<<<+>>\n>>]<<<<[->>>>+>[-]>>[-<<<<<<<+>>>>>>>]<<<<<<<[->>>>>>>+<<+<<<<<]>>>>>>>>>[>>>>>>\n>>>]<<<<<<<<<[>[->>>>+<<<[->>>-<<<<<<<<<<<<<+>>>>>>>>>>>[->>+<<]<]>[->>-<<<<<<<<\n<<<<<+>>>>>>>>>>>]<<]>[->>>+<<[->>-<<<<<<<<<<<<<+>>>>>>>>>>>]<]>[->>+<<]<<<<<<<<\n<<<<]]>>>>>>>>>[>>[-]>[-]>>>>>>]<<<<<<<<<[<<<<<<<<<]>>>[-]>[-]>>>>>[>>>>>[-<<<<+\n>>>>]<<<<[->>>>+<<<+<]>>>>>>>>]<<<<<<<<<[<<<<<<<<<]>>>>>>>>>[>>>>>>[-<<<<<+>>>>>\n]<<<<<[->>>>>+<<<+<<]>>>>>>>>]<<<<<<<<<[<<<<<<<<<]>>>>>>>>>+++++++++++++++[[>>>>\n>>>>>]+>[-]>[-]>[-]>[-]>[-]>[-]>[-]>[-]>[-]<<<<<<<<<[<<<<<<<<<]>>>>>>>>>-]+[>+>>\n>>>>>>]<<<<<<<<<[<<<<<<<<<]>>>>>>>>>[>->>>>[-<<<<+>>>>]<<<<[->>>>+<<<<<[->>[-<<+\n>>]<<[->>+>>+<<<<]+>>>>>>>>>]<<<<<<<<[<<<<<<<<<]]>>>>>>>>>[>>>>>>>>>]<<<<<<<<<[>\n[->>>>>>>>>+<<<<<<<<<]<<<<<<<<<<]>[->>>>>>>>>+<<<<<<<<<]<+>>>>>>>>]<<<<<<<<<[>[-\n]<->>>>[-<<<<+>[<->-<<<<<<+>>>>>>]<[->+<]>>>>]<<<[->>>+<<<]<+<<<<<<<<<]>>>>>>>>>\n[>+>>>>>>>>]<<<<<<<<<[<<<<<<<<<]>>>>>>>>>[>->>>>>[-<<<<<+>>>>>]<<<<<[->>>>>+<<<<\n<<[->>>[-<<<+>>>]<<<[->>>+>+<<<<]+>>>>>>>>>]<<<<<<<<[<<<<<<<<<]]>>>>>>>>>[>>>>>>\n>>>]<<<<<<<<<[>>[->>>>>>>>>+<<<<<<<<<]<<<<<<<<<<<]>>[->>>>>>>>>+<<<<<<<<<]<<+>>>\n>>>>>]<<<<<<<<<[>[-]<->>>>[-<<<<+>[<->-<<<<<<+>>>>>>]<[->+<]>>>>]<<<[->>>+<<<]<+\n<<<<<<<<<]>>>>>>>>>[>>>>[-<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<+>>>>>>>>>>>>>>>>>\n>>>>>>>>>>>>>>>>>>>]>>>>>]<<<<<<<<<[<<<<<<<<<]>>>>>>>>>+++++++++++++++[[>>>>>>>>\n>]<<<<<<<<<-<<<<<<<<<[<<<<<<<<<]>>>>>>>>>-]+>>>>>>>>>>>>>>>>>>>>>+<<<[<<<<<<<<<]\n>>>>>>>>>[>>>[-<<<->>>]+<<<[->>>->[-<<<<+>>>>]<<<<[->>>>+<<<<<<<<<<<<<[<<<<<<<<<\n]>>>>[-]+>>>>>[>>>>>>>>>]>+<]]+>>>>[-<<<<->>>>]+<<<<[->>>>-<[-<<<+>>>]<<<[->>>+<\n<<<<<<<<<<<[<<<<<<<<<]>>>[-]+>>>>>>[>>>>>>>>>]>[-]+<]]+>[-<[>>>>>>>>>]<<<<<<<<]>\n>>>>>>>]<<<<<<<<<[<<<<<<<<<]>>->>[-<<<<+>>>>]<<<<[->>>>+<<[-]<<]>>]<<+>>>>[-<<<<\n->>>>]+<<<<[->>>>-<<<<<<.>>]>>>>[-<<<<<<<.>>>>>>>]<<<[-]>[-]>[-]>[-]>[-]>[-]>>>[\n>[-]>[-]>[-]>[-]>[-]>[-]>>>]<<<<<<<<<[<<<<<<<<<]>>>>>>>>>[>>>>>[-]>>>>]<<<<<<<<<\n[<<<<<<<<<]>+++++++++++[-[->>>>>>>>>+<<<<<<<<<]>>>>>>>>>]>>>>+>>>>>>>>>+<<<<<<<<\n<<<<<<[<<<<<<<<<]>>>>>>>[-<<<<<<<+>>>>>>>]<<<<<<<[->>>>>>>+[-]>>[>>>>>>>>>]<<<<<\n<<<<[>>>>>>>[-<<<<<<+>>>>>>]<<<<<<[->>>>>>+<<<<<<<[<<<<<<<<<]>>>>>>>[-]+>>>]<<<<\n<<<<<<]]>>>>>>>[-<<<<<<<+>>>>>>>]<<<<<<<[->>>>>>>+>>[>+>>>>[-<<<<->>>>]<<<<[->>>\n>+<<<<]>>>>>>>>]<<+<<<<<<<[>>>>>[->>+<<]<<<<<<<<<<<<<<]>>>>>>>>>[>>>>>>>>>]<<<<<\n<<<<[>[-]<->>>>>>>[-<<<<<<<+>[<->-<<<+>>>]<[->+<]>>>>>>>]<<<<<<[->>>>>>+<<<<<<]<\n+<<<<<<<<<]>>>>>>>-<<<<[-]+<<<]+>>>>>>>[-<<<<<<<->>>>>>>]+<<<<<<<[->>>>>>>->>[>>\n>>>[->>+<<]>>>>]<<<<<<<<<[>[-]<->>>>>>>[-<<<<<<<+>[<->-<<<+>>>]<[->+<]>>>>>>>]<<\n<<<<[->>>>>>+<<<<<<]<+<<<<<<<<<]>+++++[-[->>>>>>>>>+<<<<<<<<<]>>>>>>>>>]>>>>+<<<\n<<[<<<<<<<<<]>>>>>>>>>[>>>>>[-<<<<<->>>>>]+<<<<<[->>>>>->>[-<<<<<<<+>>>>>>>]<<<<\n<<<[->>>>>>>+<<<<<<<<<<<<<<<<[<<<<<<<<<]>>>>[-]+>>>>>[>>>>>>>>>]>+<]]+>>>>>>>[-<\n<<<<<<->>>>>>>]+<<<<<<<[->>>>>>>-<<[-<<<<<+>>>>>]<<<<<[->>>>>+<<<<<<<<<<<<<<[<<<\n<<<<<<]>>>[-]+>>>>>>[>>>>>>>>>]>[-]+<]]+>[-<[>>>>>>>>>]<<<<<<<<]>>>>>>>>]<<<<<<<\n<<[<<<<<<<<<]>>>>[-]<<<+++++[-[->>>>>>>>>+<<<<<<<<<]>>>>>>>>>]>>>>-<<<<<[<<<<<<<\n<<]]>>>]<<<<.>>>>>>>>>>[>>>>>>[-]>>>]<<<<<<<<<[<<<<<<<<<]>++++++++++[-[->>>>>>>>\n>+<<<<<<<<<]>>>>>>>>>]>>>>>+>>>>>>>>>+<<<<<<<<<<<<<<<[<<<<<<<<<]>>>>>>>>[-<<<<<<\n<<+>>>>>>>>]<<<<<<<<[->>>>>>>>+[-]>[>>>>>>>>>]<<<<<<<<<[>>>>>>>>[-<<<<<<<+>>>>>>\n>]<<<<<<<[->>>>>>>+<<<<<<<<[<<<<<<<<<]>>>>>>>>[-]+>>]<<<<<<<<<<]]>>>>>>>>[-<<<<<\n<<<+>>>>>>>>]<<<<<<<<[->>>>>>>>+>[>+>>>>>[-<<<<<->>>>>]<<<<<[->>>>>+<<<<<]>>>>>>\n>>]<+<<<<<<<<[>>>>>>[->>+<<]<<<<<<<<<<<<<<<]>>>>>>>>>[>>>>>>>>>]<<<<<<<<<[>[-]<-\n>>>>>>>>[-<<<<<<<<+>[<->-<<+>>]<[->+<]>>>>>>>>]<<<<<<<[->>>>>>>+<<<<<<<]<+<<<<<<\n<<<]>>>>>>>>-<<<<<[-]+<<<]+>>>>>>>>[-<<<<<<<<->>>>>>>>]+<<<<<<<<[->>>>>>>>->[>>>\n>>>[->>+<<]>>>]<<<<<<<<<[>[-]<->>>>>>>>[-<<<<<<<<+>[<->-<<+>>]<[->+<]>>>>>>>>]<<\n<<<<<[->>>>>>>+<<<<<<<]<+<<<<<<<<<]>+++++[-[->>>>>>>>>+<<<<<<<<<]>>>>>>>>>]>>>>>\n+>>>>>>>>>>>>>>>>>>>>>>>>>>>+<<<<<<[<<<<<<<<<]>>>>>>>>>[>>>>>>[-<<<<<<->>>>>>]+<\n<<<<<[->>>>>>->>[-<<<<<<<<+>>>>>>>>]<<<<<<<<[->>>>>>>>+<<<<<<<<<<<<<<<<<[<<<<<<<\n<<]>>>>[-]+>>>>>[>>>>>>>>>]>+<]]+>>>>>>>>[-<<<<<<<<->>>>>>>>]+<<<<<<<<[->>>>>>>>\n-<<[-<<<<<<+>>>>>>]<<<<<<[->>>>>>+<<<<<<<<<<<<<<<[<<<<<<<<<]>>>[-]+>>>>>>[>>>>>>\n>>>]>[-]+<]]+>[-<[>>>>>>>>>]<<<<<<<<]>>>>>>>>]<<<<<<<<<[<<<<<<<<<]>>>>[-]<<<++++\n+[-[->>>>>>>>>+<<<<<<<<<]>>>>>>>>>]>>>>>->>>>>>>>>>>>>>>>>>>>>>>>>>>-<<<<<<[<<<<\n<<<<<]]>>>]";
v3448 = 11669;
v3449.id = 3;
v3449.self = self;
v3449.env = &env;
gctab->single[0] = &v3445;/* normal */
gctab->size = 1;
v3510 = times__Fixnum__2(mrb, v3448, ((gproc)&v3449), gctab);
v3445 = env.v3445;
{
mrb_value tmpele[] = {
};
mrb->ud = (void *)gctab;
v3511 = mrb_nil_value();
gctab->single[1] = &v3511; /* conversion */
gctab->size++;
v3511 = mrb_ary_new_from_values(mrb, 0, tmpele);
ARY_SET_LEN(mrb_ary_ptr(v3511), 0);
}
env.v3511 = v3511;/*foo*/
v3512 = 0;
env.v3512 = v3512;/*foo*/
v3513 = 0;
env.v3513 = v3513;/*foo*/
v3514 = v3445;
v3516 = RSTRING_LEN(v3514);
v3518.id = 7;
v3518.self = self;
v3518.env = &env;
v5229 = times__Fixnum__5(mrb, v3516, ((gproc)&v3518), gctab);
v3445 = env.v3445;
v5231 = v3511;
v5233 = optimize__Object__8(mrb, self, v5231, gctab);
v5234 = v3511;
mrb_ary_push(mrb, v5234, mrb_nil_value());
v5237 = v5234;
mrb_gc_arena_restore(mrb, ai);
return v3511;
mrb_gc_arena_restore(mrb, ai);
}
static mrb_value evalbf__Object__8(mrb_state *mrb, mrb_value self, mrb_value v13562, struct gctab *prevgctab) {
struct env11 env;
struct REnv *venv = NULL;
mrb_value v13603;
mrb_value v13604;/*snd*/
struct proc12 v13606;
mrb_int v13634;
mrb_value v13637;/*snd*/
mrb_int v13639;
mrb_value v14518;
mrb_value v14520;
mrb_int v14521;
mrb_int v14522;
mrb_value v14537;/*snd*/
mrb_value v14540;
mrb_value v13718;
mrb_value v13720;
mrb_int v13721;
mrb_int v13722;
mrb_value v13724;
mrb_value v13708;/*snd*/
mrb_value v13711;
mrb_value v13815;/*snd*/
mrb_value v13817;/*snd*/
mrb_int v13820;
mrb_int v13835;
mrb_value v14108;
mrb_value v14110;
mrb_int v14111;
mrb_int v14112;
mrb_value v13924;
mrb_value v13926;
mrb_int v13927;
mrb_int v13928;
mrb_value v13914;/*snd*/
mrb_int v13917;
char *v13919;
mrb_value v13921;
mrb_value v13992;/*snd*/
mrb_int v13995;
mrb_value v14030;
mrb_value v14032;
mrb_int v14033;
mrb_int v14034;
mrb_value v14070;/*snd*/
mrb_int v14073;
mrb_bool v14076;/*snd*/
mrb_value v14205;/*snd*/
mrb_int v14209;
mrb_value v14325;
mrb_value v14327;
mrb_int v14328;
mrb_int v14329;
mrb_int v14331;
mrb_value v14489;
mrb_value v14491;
mrb_int v14492;
mrb_int v14493;
mrb_int v14495;
mrb_value v14231;/*snd*/
mrb_value v14235;
mrb_value v14298;
mrb_value v14300;
mrb_int v14301;
mrb_int v14302;
mrb_int v14304;
mrb_value v14269;/*snd*/
mrb_int v14276;/*snd*/
mrb_value v14277;/*snd*/
mrb_int v14278;/*snd*/
mrb_int v14280;
mrb_value v14281;/*snd*/
mrb_int v14284;
mrb_int v14295;
mrb_value v14318;/*snd*/
mrb_int v14322;
mrb_value v14393;/*snd*/
mrb_value v14396;
mrb_value v14461;
mrb_value v14463;
mrb_int v14464;
mrb_int v14465;
mrb_int v14467;
mrb_int v14470;
mrb_int v14471;
mrb_value v14480;/*snd*/
mrb_int v14483;
mrb_bool v14486;/*snd*/
int ai = mrb_gc_arena_save(mrb);
struct gctab *gctab = (struct gctab *)alloca(sizeof(struct gctab) + 3 * sizeof(mrb_value *));
gctab->prev = prevgctab;
gctab->complex = NULL;
gctab->object = NULL;
gctab->size = 0;
gctab->csize = 0;
gctab->osize = 0;
gctab->ret_status = 0;
L591:;
gctab->single[0] = &v13562;/* normal */
gctab->size = 1;
mrb->ud = (void *)gctab;
v13603 = mrb_ary_new_capa(mrb, 1024);
for (int i = 0;i < 1024; i++) ARY_PTR(mrb_ary_ptr(v13603))[i] = mrb_nil_value();
ARY_SET_LEN(mrb_ary_ptr(v13603), 1024);
v13604 = v13603;
env.v13604 = v13604;/*foo*/
v13606.id = 12;
v13606.self = self;
v13606.env = &env;
gctab->single[1] = &v13604;/* normal */
gctab->size = 2;
v13634 = times__Fixnum__9(mrb, 1024, ((gproc)&v13606), gctab);
v13637 = v13562;
v13639 = ARY_LEN(mrb_ary_ptr(v13637));
v14518 = v13562; /* 1*/
v14520 = v13604; /* 1*/
v14521 = 0; /* 1*/
v14522 = 0; /* 1*/
L622:;
v14537 = v14518;
v14540 = mrb_ary_ref(mrb, v14537, v14521);
if ((mrb_test(v14540))) goto L592; else goto L623;
L592:;
v13718 = v14518; /* 1*/
v13720 = v14520; /* 1*/
v13721 = (v14521 + 1); /* 1*/
v13722 = v14522; /* 1*/
v13724 = v14540; /* 1*/
if ((((mrb_fixnum(v14540)) & 13) == 0)) goto L593; else goto L594;
L593:;
v13708 = v14518;
v13711 = mrb_ary_ref(mrb, v13708, (v14521 + 1));
v13718 = v14518; /* 2*/
v13720 = v14520; /* 2*/
v13721 = ((v14521 + 1) + 1); /* 2*/
v13722 = (v14522 + (((mrb_fixnum(v14540)) >> 4) * (((mrb_fixnum(v14540)) & 2) - 1))); /* 2*/
v13724 = v13711; /* 2*/
L594:;
v14518 = v13718; /* 2*/
v14520 = v13720; /* 2*/
v14521 = v13721; /* 2*/
v14522 = v13722; /* 2*/
L595:;
if ((((mrb_fixnum(v13724)) & 8) == 0)) goto L596; else goto L609;
L596:;
if ((((mrb_fixnum(v13724)) & 4) == 0)) goto L597; else goto L598;
L597:;
v13815 = v13720;
v13817 = v13815;
v13820 = (mrb_fixnum(mrb_ary_ref(mrb, v13817, v13722)));
gctab->single[0] = &v13718;/* normal */
gctab->single[1] = &v13720;/* normal */
gctab->single[2] = &v13815;/* normal */
gctab->size = 3;
mrb->ud = (void *)gctab;
mrb_ary_set(mrb, v13815, v13722, (mrb_fixnum_value((v13820 + (((mrb_fixnum(v13724)) >> 4) * (((mrb_fixnum(v13724)) & 2) - 1))))));
v13835 = (v13820 + (((mrb_fixnum(v13724)) >> 4) * (((mrb_fixnum(v13724)) & 2) - 1)));
v14108 = v13718; /* 1*/
v14110 = v13720; /* 1*/
v14111 = v13721; /* 1*/
v14112 = v13722; /* 1*/
L608:;
v14518 = v14108; /* 3*/
v14520 = v14110; /* 3*/
v14521 = v14111; /* 3*/
v14522 = v14112; /* 3*/
goto L622;
L598:;
if ((((mrb_fixnum(v13724)) & 1) == 0)) goto L599; else goto L602;
L599:;
v13924 = v13718; /* 1*/
v13926 = v13720; /* 1*/
v13927 = v13721; /* 1*/
v13928 = v13722; /* 1*/
if ((((mrb_fixnum(v13724)) & 2) == 0)) goto L600; else goto L601;
L600:;
v13914 = v13720;
v13917 = (mrb_fixnum(mrb_ary_ref(mrb, v13914, (mrb_fixnum(v13724)))));
{ char *tmpstr = alloca(2);
tmpstr[0] = v13917;
tmpstr[1] = '\0';
gctab->size = 2;
mrb->ud = (void *)gctab;
v13919 = tmpstr;
}
v13921 = print__Object__12(mrb, self, v13919, gctab);
v13924 = v13718; /* 2*/
v13926 = v13720; /* 2*/
v13927 = v13721; /* 2*/
v13928 = v13722; /* 2*/
L601:;
v14108 = v13924; /* 2*/
v14110 = v13926; /* 2*/
v14111 = v13927; /* 2*/
v14112 = v13928; /* 2*/
goto L608;
L602:;
if ((((mrb_fixnum(v13724)) & 2) == 2)) goto L603; else goto L606;
L603:;
v13992 = v13720;
v13995 = (mrb_fixnum(mrb_ary_ref(mrb, v13992, v13722)));
v14030 = v13718; /* 1*/
v14032 = v13720; /* 1*/
v14033 = v13721; /* 1*/
v14034 = v13722; /* 1*/
if ((v13995 == 0)) goto L604; else goto L605;
L604:;
v14030 = v13718; /* 2*/
v14032 = v13720; /* 2*/
v14033 = (v13721 + ((mrb_fixnum(v13724)) >> 4)); /* 2*/
v14034 = v13722; /* 2*/
L605:;
v14108 = v14030; /* 3*/
v14110 = v14032; /* 3*/
v14111 = v14033; /* 3*/
v14112 = v14034; /* 3*/
goto L608;
L606:;
v14070 = v13720;
v14073 = (mrb_fixnum(mrb_ary_ref(mrb, v14070, v13722)));
v14076 = (!((v14073 == 0)));
v14108 = v13718; /* 4*/
v14110 = v13720; /* 4*/
v14111 = v13721; /* 4*/
v14112 = v13722; /* 4*/
if (v14076) goto L607; else goto L608;
L607:;
v14108 = v13718; /* 5*/
v14110 = v13720; /* 5*/
v14111 = (v13721 - ((mrb_fixnum(v13724)) >> 4)); /* 5*/
v14112 = v13722; /* 5*/
goto L608;
L609:;
if ((((mrb_fixnum(v13724)) & 4) == 0)) goto L610; else goto L616;
L610:;
if ((((mrb_fixnum(v13724)) & 1) == 0)) goto L611; else goto L612;
L611:;
v14205 = v13720;
gctab->single[2] = &v14205;/* normal */
gctab->size = 3;
mrb->ud = (void *)gctab;
mrb_ary_set(mrb, v14205, v13722, (mrb_fixnum_value(0)));
v14209 = 0;
v14325 = v13718; /* 1*/
v14327 = v13720; /* 1*/
v14328 = v13721; /* 1*/
v14329 = v13722; /* 1*/
v14331 = (mrb_fixnum(v13724)); /* 1*/
L615:;
v14489 = v14325; /* 1*/
v14491 = v14327; /* 1*/
v14492 = v14328; /* 1*/
v14493 = v14329; /* 1*/
v14495 = v14331; /* 1*/
L621:;
v14518 = v14489; /* 4*/
v14520 = v14491; /* 4*/
v14521 = (v14492 + (v14495 >> 4)); /* 4*/
v14522 = v14493; /* 4*/
goto L622;
L612:;
v14231 = v13718;
v14235 = mrb_ary_ref(mrb, v14231, (v13721 + 1));
v14298 = v13718; /* 1*/
v14300 = v13720; /* 1*/
v14301 = v13721; /* 1*/
v14302 = v13722; /* 1*/
v14304 = (mrb_fixnum(v13724)); /* 1*/
if ((mrb_test(v14235))) goto L613; else goto L614;
L613:;
v14269 = v13720;
v14276 = (v13722 + (((mrb_fixnum(v14235)) >> 4) * (((mrb_fixnum(v14235)) & 2) - 1)));
v14277 = v14269;
v14278 = v14276;
v14280 = (mrb_fixnum(mrb_ary_ref(mrb, v14277, v14278)));
v14281 = v13720;
v14284 = (mrb_fixnum(mrb_ary_ref(mrb, v14281, v13722)));
gctab->single[2] = &v14269;/* normal */
mrb->ud = (void *)gctab;
mrb_ary_set(mrb, v14269, v14276, (mrb_fixnum_value((v14280 + (v14284 * (((mrb_fixnum(v13724)) & 2) - 1))))));
v14295 = (v14280 + (v14284 * (((mrb_fixnum(v13724)) & 2) - 1)));
v14298 = v13718; /* 2*/
v14300 = v13720; /* 2*/
v14301 = v13721; /* 2*/
v14302 = v13722; /* 2*/
v14304 = (mrb_fixnum(v13724)); /* 2*/
L614:;
v14318 = v14300;
gctab->single[0] = &v14298;/* normal */
gctab->single[1] = &v14300;/* normal */
gctab->single[2] = &v14318;/* normal */
mrb->ud = (void *)gctab;
mrb_ary_set(mrb, v14318, v14302, (mrb_fixnum_value(0)));
v14322 = 0;
v14325 = v14298; /* 2*/
v14327 = v14300; /* 2*/
v14328 = v14301; /* 2*/
v14329 = v14302; /* 2*/
v14331 = v14304; /* 2*/
goto L615;
L616:;
v14489 = v13718; /* 2*/
v14491 = v13720; /* 2*/
v14492 = v13721; /* 2*/
v14493 = v13722; /* 2*/
v14495 = (mrb_fixnum(v13724)); /* 2*/
if ((((mrb_fixnum(v13724)) & 1) == 0)) goto L617; else goto L621;
L617:;
v14393 = v13718;
v14396 = mrb_ary_ref(mrb, v14393, v13721);
v14489 = v13718; /* 3*/
v14491 = v13720; /* 3*/
v14492 = v13721; /* 3*/
v14493 = v13722; /* 3*/
v14495 = (mrb_fixnum(v13724)); /* 3*/
if ((mrb_test(v14396))) goto L618; else goto L621;
L618:;
v14461 = v13718; /* 1*/
v14463 = v13720; /* 1*/
v14464 = v13721; /* 1*/
v14465 = v13722; /* 1*/
v14467 = (mrb_fixnum(v13724)); /* 1*/
v14470 = (((mrb_fixnum(v14396)) & 2) - 1); /* 1*/
v14471 = ((mrb_fixnum(v14396)) >> 4); /* 1*/
L620:;
v14480 = v14463;
v14483 = (mrb_fixnum(mrb_ary_ref(mrb, v14480, v14465)));
v14486 = (!((v14483 == 0)));
v14489 = v14461; /* 4*/
v14491 = v14463; /* 4*/
v14492 = v14464; /* 4*/
v14493 = v14465; /* 4*/
v14495 = v14467; /* 4*/
if (v14486) goto L619; else goto L621;
L619:;
v14461 = v14461; /* 2*/
v14463 = v14463; /* 2*/
v14464 = v14464; /* 2*/
v14465 = (v14465 + (v14471 * v14470)); /* 2*/
v14467 = v14467; /* 2*/
v14470 = v14470; /* 2*/
v14471 = v14471; /* 2*/
goto L620;
L623:;
mrb_gc_arena_restore(mrb, ai);
return mrb_nil_value();
mrb_gc_arena_restore(mrb, ai);
}
static mrb_int times__Fixnum__2(mrb_state *mrb, mrb_int self, gproc v6166, struct gctab *prevgctab) {
struct env6 env;
struct REnv *venv = NULL;
gproc v6178;/*snd*/
gproc v6225;
mrb_int v6226;
gproc v6216;/*snd*/
mrb_value v6219;
struct gctab *gctab = prevgctab;
L279:;
v6178 = v6166;
L280:;
L282:;
v6225 = v6166; /* 1*/
v6226 = 0; /* 1*/
L284:;
if ((v6226 < self)) goto L283; else goto L285;
L283:;
v6216 = v6225;
v6219 = (p3_Object_0_4(mrb, v6216, v6226, gctab));
v6225 = v6225; /* 2*/
v6226 = (v6226 + 1); /* 2*/
goto L284;
L285:;
return self;
}
static mrb_int times__Fixnum__5(mrb_state *mrb, mrb_int self, gproc v6166, struct gctab *prevgctab) {
struct env6 env;
struct REnv *venv = NULL;
gproc v6178;/*snd*/
gproc v6225;
mrb_int v6226;
gproc v6216;/*snd*/
mrb_int v6219;
struct gctab *gctab = prevgctab;
L279:;
v6178 = v6166;
L280:;
L282:;
v6225 = v6166; /* 1*/
v6226 = 0; /* 1*/
L284:;
if ((v6226 < self)) goto L283; else goto L285;
L283:;
v6216 = v6225;
v6219 = (p7_Object_1_7(mrb, v6216, v6226, gctab));
v6225 = v6225; /* 2*/
v6226 = (v6226 + 1); /* 2*/
goto L284;
L285:;
return self;
}
static mrb_value optimize__Object__8(mrb_state *mrb, mrb_value self, mrb_value v9643, struct gctab *prevgctab) {
struct env9 env;
struct REnv *venv = NULL;
mrb_value v9668;/*snd*/
mrb_int v9670;
mrb_value v10135;
mrb_int v10137;
mrb_int v10138;
mrb_value v9686;/*snd*/
mrb_int v9689;
mrb_value v10118;
mrb_int v10120;
mrb_int v10121;
mrb_value v9749;
mrb_int v9751;
mrb_int v9752;
mrb_int v9754;
mrb_bool v9755;
mrb_value v9733;/*snd*/
mrb_int v9737;
mrb_value v9775;/*snd*/
mrb_int v9778;
mrb_int v9781;
mrb_value v9787;/*snd*/
mrb_int v9791;
mrb_value v9840;
mrb_int v9842;
mrb_int v9843;
mrb_int v9845;
mrb_bool v9846;
mrb_value v9824;/*snd*/
mrb_int v9828;
mrb_value v9879;
mrb_int v9881;
mrb_int v9882;
mrb_int v9884;
mrb_bool v9885;
mrb_value v9866;/*snd*/
mrb_int v9870;
mrb_value v9918;
mrb_int v9920;
mrb_int v9921;
mrb_int v9923;
mrb_bool v9924;
mrb_value v9905;/*snd*/
mrb_int v9909;
mrb_value v9957;
mrb_int v9959;
mrb_int v9960;
mrb_int v9962;
mrb_bool v9963;
mrb_value v9944;/*snd*/
mrb_int v9948;
mrb_value v9983;/*snd*/
mrb_int v9986;
mrb_int v9993;
mrb_value v9999;/*snd*/
mrb_int v10003;
mrb_value v10009;/*snd*/
mrb_int v10013;
mrb_value v10059;
mrb_int v10061;
mrb_int v10062;
mrb_bool v10065;
mrb_value v10046;/*snd*/
mrb_int v10050;
mrb_value v10085;/*snd*/
mrb_int v10088;
mrb_int v10095;
mrb_value v10101;/*snd*/
mrb_int v10105;
mrb_value v10111;/*snd*/
mrb_int v10115;
struct gctab *gctab = (struct gctab *)alloca(sizeof(struct gctab) + 2 * sizeof(mrb_value *));
gctab->prev = prevgctab;
gctab->complex = NULL;
gctab->object = NULL;
gctab->size = 0;
gctab->csize = 0;
gctab->osize = 0;
gctab->ret_status = 0;
L427:;
v9668 = v9643;
v9670 = ARY_LEN(mrb_ary_ptr(v9668));
v10135 = v9643; /* 1*/
v10137 = 0; /* 1*/
v10138 = v9670; /* 1*/
L448:;
if ((v10137 < v10138)) goto L428; else goto L449;
L428:;
v9686 = v10135;
v9689 = (mrb_fixnum(mrb_ary_ref(mrb, v9686, v10137)));
v10118 = v10135; /* 1*/
v10120 = v10137; /* 1*/
v10121 = v10138; /* 1*/
if (((v9689 & 7) == 7)) goto L429; else goto L447;
L429:;
v9749 = v10135; /* 1*/
v9751 = v10137; /* 1*/
v9752 = v10138; /* 1*/
v9754 = (v9689 >> 4); /* 1*/
v9755 = ((v9689 >> 4) == 2); /* 1*/
if (((v9689 >> 4) == 2)) goto L430; else goto L431;
L430:;
v9733 = v10135;
v9737 = (mrb_fixnum(mrb_ary_ref(mrb, v9733, (v10137 + 1))));
v9749 = v10135; /* 2*/
v9751 = v10137; /* 2*/
v9752 = v10138; /* 2*/
v9754 = (v9689 >> 4); /* 2*/
v9755 = ((v9737 - (1 << 4)) == 1); /* 2*/
L431:;
if (v9755) goto L432; else goto L433;
L432:;
v9775 = v9749;
v9778 = (mrb_fixnum(mrb_ary_ref(mrb, v9775, v9751)));
v9781 = ~15;
v9787 = v9749;
gctab->single[0] = &v9749;/* normal */
gctab->single[1] = &v9787;/* normal */
gctab->size = 2;
mrb->ud = (void *)gctab;
mrb_ary_set(mrb, v9787, v9751, (mrb_fixnum_value(((v9778 & v9781) | 8))));
v9791 = ((v9778 & v9781) | 8);
v10118 = v9749; /* 2*/
v10120 = v9751; /* 2*/
v10121 = v9752; /* 2*/
L447:;
v10135 = v10118; /* 2*/
v10137 = (v10120 + 1); /* 2*/
v10138 = v10121; /* 2*/
goto L448;
L433:;
v9840 = v9749; /* 1*/
v9842 = v9751; /* 1*/
v9843 = v9752; /* 1*/
v9845 = v9754; /* 1*/
v9846 = (v9754 == 5); /* 1*/
if ((v9754 == 5)) goto L434; else goto L435;
L434:;
v9824 = v9749;
v9828 = (mrb_fixnum(mrb_ary_ref(mrb, v9824, (v9751 + 1))));
v9840 = v9749; /* 2*/
v9842 = v9751; /* 2*/
v9843 = v9752; /* 2*/
v9845 = v9754; /* 2*/
v9846 = ((v9828 - (1 << 4)) == 1); /* 2*/
L435:;
v9879 = v9840; /* 1*/
v9881 = v9842; /* 1*/
v9882 = v9843; /* 1*/
v9884 = v9845; /* 1*/
v9885 = v9846; /* 1*/
if (v9846) goto L436; else goto L437;
L436:;
v9866 = v9840;
v9870 = (mrb_fixnum(mrb_ary_ref(mrb, v9866, (v9842 + 2))));
v9879 = v9840; /* 2*/
v9881 = v9842; /* 2*/
v9882 = v9843; /* 2*/
v9884 = v9845; /* 2*/
v9885 = ((v9870 & 5) == 0); /* 2*/
L437:;
v9918 = v9879; /* 1*/
v9920 = v9881; /* 1*/
v9921 = v9882; /* 1*/
v9923 = v9884; /* 1*/
v9924 = v9885; /* 1*/
if (v9885) goto L438; else goto L439;
L438:;
v9905 = v9879;
v9909 = (mrb_fixnum(mrb_ary_ref(mrb, v9905, (v9881 + 3))));
v9918 = v9879; /* 2*/
v9920 = v9881; /* 2*/
v9921 = v9882; /* 2*/
v9923 = v9884; /* 2*/
v9924 = ((v9909 & 5) == 1); /* 2*/
L439:;
v9957 = v9918; /* 1*/
v9959 = v9920; /* 1*/
v9960 = v9921; /* 1*/
v9962 = v9923; /* 1*/
v9963 = v9924; /* 1*/
if (v9924) goto L440; else goto L441;
L440:;
v9944 = v9918;
v9948 = (mrb_fixnum(mrb_ary_ref(mrb, v9944, (v9920 + 4))));
v9957 = v9918; /* 2*/
v9959 = v9920; /* 2*/
v9960 = v9921; /* 2*/
v9962 = v9923; /* 2*/
v9963 = ((v9948 & 5) == 0); /* 2*/
L441:;
if (v9963) goto L442; else goto L443;
L442:;
v9983 = v9957;
v9986 = (mrb_fixnum(mrb_ary_ref(mrb, v9983, v9959)));
v9993 = ~((1 << 4) - 1);
v9999 = v9957;
v10003 = (mrb_fixnum(mrb_ary_ref(mrb, v9999, (v9959 + 3))));
v10009 = v9957;
gctab->single[0] = &v9957;/* normal */
gctab->single[1] = &v10009;/* normal */
mrb->ud = (void *)gctab;
mrb_ary_set(mrb, v10009, v9959, (mrb_fixnum_value((((v9986 & v9993) | 9) | (v10003 & 2)))));
v10013 = (((v9986 & v9993) | 9) | (v10003 & 2));
v10118 = v9957; /* 3*/
v10120 = v9959; /* 3*/
v10121 = v9960; /* 3*/
goto L447;
L443:;
v10059 = v9957; /* 1*/
v10061 = v9959; /* 1*/
v10062 = v9960; /* 1*/
v10065 = (v9962 == 2); /* 1*/
if ((v9962 == 2)) goto L444; else goto L445;
L444:;
v10046 = v9957;
v10050 = (mrb_fixnum(mrb_ary_ref(mrb, v10046, (v9959 + 1))));
v10059 = v9957; /* 2*/
v10061 = v9959; /* 2*/
v10062 = v9960; /* 2*/
v10065 = ((v10050 & 5) == 0); /* 2*/
L445:;
v10118 = v10059; /* 4*/
v10120 = v10061; /* 4*/
v10121 = v10062; /* 4*/
if (v10065) goto L446; else goto L447;
L446:;
v10085 = v10059;
v10088 = (mrb_fixnum(mrb_ary_ref(mrb, v10085, v10061)));
v10095 = ~((1 << 4) - 1);
v10101 = v10059;
v10105 = (mrb_fixnum(mrb_ary_ref(mrb, v10101, (v10061 + 1))));
v10111 = v10059;
gctab->single[0] = &v10059;/* normal */
gctab->single[1] = &v10111;/* normal */
mrb->ud = (void *)gctab;
mrb_ary_set(mrb, v10111, v10061, (mrb_fixnum_value((((v10088 & v10095) | 12) | (v10105 & 2)))));
v10115 = (((v10088 & v10095) | 12) | (v10105 & 2));
v10118 = v10059; /* 5*/
v10120 = v10061; /* 5*/
v10121 = v10062; /* 5*/
goto L447;
L449:;
return v10135;
}
static mrb_int times__Fixnum__9(mrb_state *mrb, mrb_int self, gproc v6166, struct gctab *prevgctab) {
struct env6 env;
struct REnv *venv = NULL;
gproc v6178;/*snd*/
gproc v6225;
mrb_int v6226;
gproc v6216;/*snd*/
mrb_int v6219;
struct gctab *gctab = prevgctab;
L279:;
v6178 = v6166;
L280:;
L282:;
v6225 = v6166; /* 1*/
v6226 = 0; /* 1*/
L284:;
if ((v6226 < self)) goto L283; else goto L285;
L283:;
v6216 = v6225;
v6219 = (p12_Object_0_11(mrb, v6216, v6226, gctab));
v6225 = v6225; /* 2*/
v6226 = (v6226 + 1); /* 2*/
goto L284;
L285:;
return self;
}
static mrb_value print__Object__12(mrb_state *mrb, mrb_value self, char *v15247, struct gctab *prevgctab) {
struct env19 env;
struct REnv *venv = NULL;
mrb_value *v15256;
mrb_value *v15266;/*snd*/
mrb_int v15268;
mrb_value *v15295;
mrb_int v15297;
mrb_int v15298;
mrb_value *v15282;/*snd*/
char *v15285;
char *v15287;
char *v15289;
struct gctab *gctab = (struct gctab *)alloca(sizeof(struct gctab) + 1 * sizeof(mrb_value *));
gctab->prev = prevgctab;
gctab->complex = NULL;
gctab->object = NULL;
gctab->size = 0;
gctab->csize = 0;
gctab->osize = 0;
gctab->ret_status = 0;
L655:;
gctab->size = 0;
mrb->ud = (void *)gctab;
v15256 = alloca(sizeof(mrb_value)); // xxx
*v15256 = (mrb_str_new_cstr(mrb, v15247));
v15266 = v15256;
v15268 = 1;
v15295 = v15256; /* 1*/
v15297 = 0; /* 1*/
v15298 = v15268; /* 1*/
L657:;
if ((v15297 < v15298)) goto L656; else goto L658;
L656:;
v15282 = v15295;
v15285 = RSTRING_PTR(v15282[v15297]);
v15287 = v15285;
printf("%s", v15287);
v15289 = v15287;
v15295 = v15295; /* 2*/
v15297 = (v15297 + 1); /* 2*/
v15298 = v15298; /* 2*/
goto L657;
L658:;
return mrb_nil_value();
}
static mrb_value p3_Object_0_4(mrb_state *mrb, gproc cgproc, mrb_int v3454, struct gctab *prevgctab) {
struct proc3 *proc = (struct proc3 *)cgproc;
mrb_value self = proc->self;
struct env3 env;
struct REnv *venv = NULL;
char *v3468;
char *v3471;
char *v3472;/*snd*/
char *v3473 = "<>+-[].,";
char *v3474;/*snd*/
mrb_bool v3476;
mrb_value v3486;
char *v3487;/*snd*/
mrb_value v3489;
mrb_value v3505;
int ai = mrb_gc_arena_save(mrb);
struct gctab *gctab = (struct gctab *)alloca(sizeof(struct gctab) + 1 * sizeof(mrb_value *));
gctab->prev = prevgctab;
gctab->complex = NULL;
gctab->object = NULL;
gctab->size = 0;
gctab->csize = 0;
gctab->osize = 0;
gctab->ret_status = 0;
env.prev = proc->env;
L143:;
v3468 = proc->env->v3434;
{ char *tmpstr = alloca(2);
tmpstr[0] = v3468[v3454];
tmpstr[1] = '\0';
v3471 = tmpstr;
};
v3472 = v3471;
v3474 = v3472;
gctab->size = 0;
mrb->ud = (void *)gctab;
v3476 = (mrb_str_index(mrb, (mrb_str_new_cstr(mrb, "<>+-[].,")), v3474, strlen(v3474), 0) >= 0);
if (v3476) goto L144; else goto L145;
L144:;
v3486 = proc->env->v3445;
v3487 = v3472;
mrb->ud = (void *)gctab;
v3489 = mrb_str_cat_cstr(mrb, v3486, v3487);
v3489 = v3489;
proc->env->v3445 = v3489;
v3505 = v3489; /* 1*/
L146:;
mrb_gc_arena_restore(mrb, ai);
return v3505;
L145:;
v3505 = mrb_nil_value(); /* 2*/
goto L146;
mrb_gc_arena_restore(mrb, ai);
}
static mrb_int p7_Object_1_7(mrb_state *mrb, gproc cgproc, mrb_int v3523, struct gctab *prevgctab) {
struct proc7 *proc = (struct proc7 *)cgproc;
mrb_value self = proc->self;
struct env7 env;
struct REnv *venv = NULL;
mrb_value v3555;
char *v3558;
char *v3559;/*snd*/
char *v3561;/*snd*/
char *v3562 = ">";
char *v3563;/*snd*/
mrb_bool v3565;
char *v3610;
mrb_int v3611;
char *v3624;/*snd*/
char *v3625 = "<";
mrb_bool v3627;
char *v3651;
mrb_int v3652;
mrb_int v3665;
char *v3667;/*snd*/
mrb_value v3668;
mrb_int v3669;
char *v3672;
mrb_bool v3674;
mrb_value v3693;
mrb_int v3694;
mrb_value v3705;
mrb_int v5226;
mrb_int v5227;/*snd*/
char *v3584 = "<";
char *v3585;/*snd*/
mrb_bool v3587;
char *v3743 = "+";
char *v3744;/*snd*/
mrb_bool v3746;
char *v3791;
mrb_int v3792;
char *v3805;/*snd*/
char *v3806 = "-";
mrb_bool v3808;
char *v3832;
mrb_int v3833;
mrb_int v3846;
char *v3848;/*snd*/
mrb_value v3849;
mrb_int v3850;
char *v3853;
mrb_bool v3855;
mrb_value v3874;
mrb_int v3875;
mrb_value v3886;
char *v3765 = "-";
char *v3766;/*snd*/
mrb_bool v3768;
char *v3924 = ".";
char *v3925;/*snd*/
mrb_bool v3927;
mrb_value v3964;
mrb_value v3967;
char *v3986 = ",";
char *v3987;/*snd*/
mrb_bool v3989;
mrb_value v4026;
mrb_value v4029;
char *v4048 = "[";
char *v4049;/*snd*/
mrb_bool v4051;
mrb_int v4089;
mrb_int v4532;
mrb_int v4533;
mrb_int v4534;
mrb_value v4544;
char *v4547;
char *v4548 = "]";
mrb_bool v4550;
mrb_int v4579;
mrb_int v4580;
mrb_int v4581;
mrb_bool v4584;
mrb_value v4111;
char *v4114;
char *v4115 = "[";
char *v4116;/*snd*/
mrb_bool v4118;
mrb_int v4511;
mrb_int v4512;
mrb_int v4513;
char *v4179 = "]";
char *v4180;/*snd*/
mrb_bool v4182;
char *v4243 = "<";
char *v4244;/*snd*/
mrb_bool v4246;
mrb_int v4337;
mrb_int v4338;
mrb_int v4339;
mrb_value v4349;
char *v4352;
char *v4353;/*snd*/
mrb_int v4381;
mrb_int v4382;
mrb_int v4383;
char *v4384;
char *v4393;/*snd*/
mrb_value v4394;
char *v4398;
mrb_bool v4400;
char *v4265 = ">";
char *v4266;/*snd*/
mrb_bool v4268;
char *v4287 = "+";
char *v4288;/*snd*/
mrb_bool v4290;
char *v4309 = "-";
char *v4310;/*snd*/
mrb_bool v4312;
char *v4440 = ".";
char *v4441;/*snd*/
mrb_bool v4443;
mrb_int v4490;
mrb_int v4491;
mrb_int v4492;
char *v4462 = ",";
char *v4463;/*snd*/
mrb_bool v4465;
mrb_value v4609;
mrb_value v4618;
mrb_bool v4572;/*snd*/
char *v4637 = "]";
char *v4638;/*snd*/
mrb_bool v4640;
mrb_int v4678;
mrb_int v5121;
mrb_int v5122;
mrb_int v5123;
mrb_value v5133;
char *v5136;
char *v5137 = "[";
mrb_bool v5139;
mrb_int v5168;
mrb_int v5169;
mrb_int v5170;
mrb_bool v5173;
mrb_value v4700;
char *v4703;
char *v4704 = "]";
char *v4705;/*snd*/
mrb_bool v4707;
mrb_int v5100;
mrb_int v5101;
mrb_int v5102;
char *v4768 = "[";
char *v4769;/*snd*/
mrb_bool v4771;
char *v4832 = "<";
char *v4833;/*snd*/
mrb_bool v4835;
mrb_int v4926;
mrb_int v4927;
mrb_int v4928;
mrb_value v4938;
char *v4941;
char *v4942;/*snd*/
mrb_int v4970;
mrb_int v4971;
mrb_int v4972;
char *v4973;
char *v4982;/*snd*/
mrb_value v4983;
char *v4987;
mrb_bool v4989;
char *v4854 = ">";
char *v4855;/*snd*/
mrb_bool v4857;
char *v4876 = "+";
char *v4877;/*snd*/
mrb_bool v4879;
char *v4898 = "-";
char *v4899;/*snd*/
mrb_bool v4901;
char *v5029 = ".";
char *v5030;/*snd*/
mrb_bool v5032;
mrb_int v5079;
mrb_int v5080;
mrb_int v5081;
char *v5051 = ",";
char *v5052;/*snd*/
mrb_bool v5054;
mrb_value v5198;
mrb_value v5207;
mrb_bool v5161;/*snd*/
int ai = mrb_gc_arena_save(mrb);
struct gctab *gctab = prevgctab;
env.prev = proc->env;
L147:;
v3555 = proc->env->v3445;
v3558 = RSTRING_PTR(mrb_str_new(mrb, ((RSTRING_PTR(v3555)) + v3523), 1));
v3559 = v3558;
v3561 = v3559;
v3563 = v3561;
v3565 = (!strcmp(">", v3563));
v3610 = v3559; /* 1*/
v3611 = 2; /* 1*/
if (v3565) goto L150; else goto L148;
L150:;
v3624 = v3610;
v3627 = (!strcmp(v3624, "<"));
v3651 = v3610; /* 1*/
v3652 = v3611; /* 1*/
if (v3627) goto L151; else goto L152;
L151:;
v3651 = v3610; /* 2*/
v3652 = 0; /* 2*/
L152:;
v3665 = proc->env->v3512;
proc->env->v3512 = (v3665 + 1);
v3667 = v3651;
v3668 = proc->env->v3445;
v3669 = proc->env->v3513;
v3672 = RSTRING_PTR(mrb_str_new(mrb, ((RSTRING_PTR(v3668)) + (v3669 + 1)), 1));
v3674 = (!strcmp(v3667, v3672));
v3674 = (!(v3674));
if (v3674) goto L153; else goto L154;
L153:;
v3693 = proc->env->v3511;
v3694 = proc->env->v3512;
mrb_ary_push(mrb, v3693, (mrb_fixnum_value((((v3694 << 4) | 0) | v3652))));
v3705 = v3693;
proc->env->v3512 = 0;
L154:;
L223:;
v5226 = proc->env->v3513;
v5227 = (v5226 + 1);
proc->env->v3513 = v5227;
mrb_gc_arena_restore(mrb, ai);
return v5227;
L148:;
v3585 = v3561;
v3587 = (!strcmp("<", v3585));
v3610 = v3559; /* 2*/
v3611 = 2; /* 2*/
if (v3587) goto L150; else goto L149;
L149:;
L155:;
v3744 = v3561;
v3746 = (!strcmp("+", v3744));
v3791 = v3559; /* 1*/
v3792 = 2; /* 1*/
if (v3746) goto L158; else goto L156;
L158:;
v3805 = v3791;
v3808 = (!strcmp(v3805, "-"));
v3832 = v3791; /* 1*/
v3833 = v3792; /* 1*/
if (v3808) goto L159; else goto L160;
L159:;
v3832 = v3791; /* 2*/
v3833 = 0; /* 2*/
L160:;
v3846 = proc->env->v3512;
proc->env->v3512 = (v3846 + 1);
v3848 = v3832;
v3849 = proc->env->v3445;
v3850 = proc->env->v3513;
v3853 = RSTRING_PTR(mrb_str_new(mrb, ((RSTRING_PTR(v3849)) + (v3850 + 1)), 1));
v3855 = (!strcmp(v3848, v3853));
v3855 = (!(v3855));
if (v3855) goto L161; else goto L162;
L161:;
v3874 = proc->env->v3511;
v3875 = proc->env->v3512;
mrb_ary_push(mrb, v3874, (mrb_fixnum_value((((v3875 << 4) | 1) | v3833))));
v3886 = v3874;
proc->env->v3512 = 0;
L162:;
goto L223;
L156:;
v3766 = v3561;
v3768 = (!strcmp("-", v3766));
v3791 = v3559; /* 2*/
v3792 = 2; /* 2*/
if (v3768) goto L158; else goto L157;
L157:;
L163:;
v3925 = v3561;
v3927 = (!strcmp(".", v3925));
if (v3927) goto L165; else goto L164;
L165:;
v3964 = proc->env->v3511;
mrb_ary_push(mrb, v3964, (mrb_fixnum_value(4)));
v3967 = v3964;
goto L223;
L164:;
L166:;
v3987 = v3561;
v3989 = (!strcmp(",", v3987));
if (v3989) goto L168; else goto L167;
L168:;
v4026 = proc->env->v3511;
mrb_ary_push(mrb, v4026, (mrb_fixnum_value(6)));
v4029 = v4026;
goto L223;
L167:;
L169:;
v4049 = v3561;
v4051 = (!strcmp("[", v4049));
if (v4051) goto L171; else goto L170;
L171:;
v4089 = proc->env->v3513;
v4532 = 0; /* 1*/
v4533 = (v4089 + 1); /* 1*/
v4534 = 1; /* 1*/
L192:;
v4544 = proc->env->v3445;
v4547 = RSTRING_PTR(mrb_str_new(mrb, ((RSTRING_PTR(v4544)) + v4533), 1));
v4550 = (!strcmp(v4547, "]"));
v4550 = (!(v4550));
v4579 = v4532; /* 1*/
v4580 = v4533; /* 1*/
v4581 = v4534; /* 1*/
v4584 = v4550; /* 1*/
if (v4550) goto L194; else goto L193;
L194:;
if (v4584) goto L172; else goto L195;
L172:;
v4111 = proc->env->v3445;
v4114 = RSTRING_PTR(mrb_str_new(mrb, ((RSTRING_PTR(v4111)) + v4580), 1));
v4116 = v4114;
v4118 = (!strcmp("[", v4116));
if (v4118) goto L174; else goto L173;
L174:;
v4511 = (v4579 + 1); /* 1*/
v4512 = v4580; /* 1*/
v4513 = (v4581 + 1); /* 1*/
L191:;
v4532 = v4511; /* 2*/
v4533 = (v4512 + 1); /* 2*/
v4534 = v4513; /* 2*/
goto L192;
L173:;
L175:;
v4180 = v4114;
v4182 = (!strcmp("]", v4180));
if (v4182) goto L177; else goto L176;
L177:;
v4511 = (v4579 - 1); /* 2*/
v4512 = v4580; /* 2*/
v4513 = (v4581 + 1); /* 2*/
goto L191;
L176:;
L178:;
v4244 = v4114;
v4246 = (!strcmp("<", v4244));
v4337 = v4579; /* 1*/
v4338 = v4580; /* 1*/
v4339 = v4581; /* 1*/
if (v4246) goto L183; else goto L179;
L183:;
v4349 = proc->env->v3445;
v4352 = RSTRING_PTR(mrb_str_new(mrb, ((RSTRING_PTR(v4349)) + v4338), 1));
v4353 = v4352;
v4381 = v4337; /* 1*/
v4382 = v4338; /* 1*/
v4383 = v4339; /* 1*/
v4384 = v4353; /* 1*/
L185:;
v4393 = v4384;
v4394 = proc->env->v3445;
v4398 = RSTRING_PTR(mrb_str_new(mrb, ((RSTRING_PTR(v4394)) + (v4382 + 1)), 1));
v4400 = (!strcmp(v4393, v4398));
if (v4400) goto L184; else goto L186;
L184:;
v4381 = v4381; /* 2*/
v4382 = (v4382 + 1); /* 2*/
v4383 = v4383; /* 2*/
v4384 = v4384; /* 2*/
goto L185;
L186:;
v4511 = v4381; /* 3*/
v4512 = v4382; /* 3*/
v4513 = (v4383 + 1); /* 3*/
goto L191;
L179:;
v4266 = v4114;
v4268 = (!strcmp(">", v4266));
v4337 = v4579; /* 2*/
v4338 = v4580; /* 2*/
v4339 = v4581; /* 2*/
if (v4268) goto L183; else goto L180;
L180:;
v4288 = v4114;
v4290 = (!strcmp("+", v4288));
v4337 = v4579; /* 3*/
v4338 = v4580; /* 3*/
v4339 = v4581; /* 3*/
if (v4290) goto L183; else goto L181;
L181:;
v4310 = v4114;
v4312 = (!strcmp("-", v4310));
v4337 = v4579; /* 4*/
v4338 = v4580; /* 4*/
v4339 = v4581; /* 4*/
if (v4312) goto L183; else goto L182;
L182:;
L187:;
v4441 = v4114;
v4443 = (!strcmp(".", v4441));
v4490 = v4579; /* 1*/
v4491 = v4580; /* 1*/
v4492 = v4581; /* 1*/
if (v4443) goto L190; else goto L188;
L190:;
v4511 = v4490; /* 4*/
v4512 = v4491; /* 4*/
v4513 = (v4492 + 1); /* 4*/
goto L191;
L188:;
v4463 = v4114;
v4465 = (!strcmp(",", v4463));
v4490 = v4579; /* 2*/
v4491 = v4580; /* 2*/
v4492 = v4581; /* 2*/
if (v4465) goto L190; else goto L189;
L189:;
v4511 = v4579; /* 5*/
v4512 = v4580; /* 5*/
v4513 = v4581; /* 5*/
goto L191;
L195:;
v4609 = proc->env->v3511;
mrb_ary_push(mrb, v4609, (mrb_fixnum_value(((v4581 << 4) | 7))));
v4618 = v4609;
goto L223;
L193:;
v4572 = (!((v4532 == 0)));
v4579 = v4532; /* 2*/
v4580 = v4533; /* 2*/
v4581 = v4534; /* 2*/
v4584 = v4572; /* 2*/
goto L194;
L170:;
L196:;
v4638 = v3561;
v4640 = (!strcmp("]", v4638));
if (v4640) goto L198; else goto L197;
L198:;
v4678 = proc->env->v3513;
v5121 = 0; /* 1*/
v5122 = (v4678 - 1); /* 1*/
v5123 = 1; /* 1*/
L219:;
v5133 = proc->env->v3445;
v5136 = RSTRING_PTR(mrb_str_new(mrb, ((RSTRING_PTR(v5133)) + v5122), 1));
v5139 = (!strcmp(v5136, "["));
v5139 = (!(v5139));
v5168 = v5121; /* 1*/
v5169 = v5122; /* 1*/
v5170 = v5123; /* 1*/
v5173 = v5139; /* 1*/
if (v5139) goto L221; else goto L220;
L221:;
if (v5173) goto L199; else goto L222;
L199:;
v4700 = proc->env->v3445;
v4703 = RSTRING_PTR(mrb_str_new(mrb, ((RSTRING_PTR(v4700)) + v5169), 1));
v4705 = v4703;
v4707 = (!strcmp("]", v4705));
if (v4707) goto L201; else goto L200;
L201:;
v5100 = (v5168 + 1); /* 1*/
v5101 = v5169; /* 1*/
v5102 = (v5170 + 1); /* 1*/
L218:;
v5121 = v5100; /* 2*/
v5122 = (v5101 - 1); /* 2*/
v5123 = v5102; /* 2*/
goto L219;
L200:;
L202:;
v4769 = v4703;
v4771 = (!strcmp("[", v4769));
if (v4771) goto L204; else goto L203;
L204:;
v5100 = (v5168 - 1); /* 2*/
v5101 = v5169; /* 2*/
v5102 = (v5170 + 1); /* 2*/
goto L218;
L203:;
L205:;
v4833 = v4703;
v4835 = (!strcmp("<", v4833));
v4926 = v5168; /* 1*/
v4927 = v5169; /* 1*/
v4928 = v5170; /* 1*/
if (v4835) goto L210; else goto L206;
L210:;
v4938 = proc->env->v3445;
v4941 = RSTRING_PTR(mrb_str_new(mrb, ((RSTRING_PTR(v4938)) + v4927), 1));
v4942 = v4941;
v4970 = v4926; /* 1*/
v4971 = v4927; /* 1*/
v4972 = v4928; /* 1*/
v4973 = v4942; /* 1*/
L212:;
v4982 = v4973;
v4983 = proc->env->v3445;
v4987 = RSTRING_PTR(mrb_str_new(mrb, ((RSTRING_PTR(v4983)) + (v4971 - 1)), 1));
v4989 = (!strcmp(v4982, v4987));
if (v4989) goto L211; else goto L213;
L211:;
v4970 = v4970; /* 2*/
v4971 = (v4971 - 1); /* 2*/
v4972 = v4972; /* 2*/
v4973 = v4973; /* 2*/
goto L212;
L213:;
v5100 = v4970; /* 3*/
v5101 = v4971; /* 3*/
v5102 = (v4972 + 1); /* 3*/
goto L218;
L206:;
v4855 = v4703;
v4857 = (!strcmp(">", v4855));
v4926 = v5168; /* 2*/
v4927 = v5169; /* 2*/
v4928 = v5170; /* 2*/
if (v4857) goto L210; else goto L207;
L207:;
v4877 = v4703;
v4879 = (!strcmp("+", v4877));
v4926 = v5168; /* 3*/
v4927 = v5169; /* 3*/
v4928 = v5170; /* 3*/
if (v4879) goto L210; else goto L208;
L208:;
v4899 = v4703;
v4901 = (!strcmp("-", v4899));
v4926 = v5168; /* 4*/
v4927 = v5169; /* 4*/
v4928 = v5170; /* 4*/
if (v4901) goto L210; else goto L209;
L209:;
L214:;
v5030 = v4703;
v5032 = (!strcmp(".", v5030));
v5079 = v5168; /* 1*/
v5080 = v5169; /* 1*/
v5081 = v5170; /* 1*/
if (v5032) goto L217; else goto L215;
L217:;
v5100 = v5079; /* 4*/
v5101 = v5080; /* 4*/
v5102 = (v5081 + 1); /* 4*/
goto L218;
L215:;
v5052 = v4703;
v5054 = (!strcmp(",", v5052));
v5079 = v5168; /* 2*/
v5080 = v5169; /* 2*/
v5081 = v5170; /* 2*/
if (v5054) goto L217; else goto L216;
L216:;
v5100 = v5168; /* 5*/
v5101 = v5169; /* 5*/
v5102 = v5170; /* 5*/
goto L218;
L222:;
v5198 = proc->env->v3511;
mrb_ary_push(mrb, v5198, (mrb_fixnum_value(((v5170 << 4) | 5))));
v5207 = v5198;
goto L223;
L220:;
v5161 = (!((v5121 == 0)));
v5168 = v5121; /* 2*/
v5169 = v5122; /* 2*/
v5170 = v5123; /* 2*/
v5173 = v5161; /* 2*/
goto L221;
L197:;
goto L223;
mrb_gc_arena_restore(mrb, ai);
}
static mrb_int p12_Object_0_11(mrb_state *mrb, gproc cgproc, mrb_int v13611, struct gctab *prevgctab) {
struct proc12 *proc = (struct proc12 *)cgproc;
mrb_value self = proc->self;
struct env12 env;
struct REnv *venv = NULL;
mrb_value v13628;
mrb_int v13630;/*snd*/
mrb_int v13632;
struct gctab *gctab = (struct gctab *)alloca(sizeof(struct gctab) + 1 * sizeof(mrb_value *));
gctab->prev = prevgctab;
gctab->complex = NULL;
gctab->object = NULL;
gctab->size = 0;
gctab->csize = 0;
gctab->osize = 0;
gctab->ret_status = 0;
env.prev = proc->env;
L624:;
v13628 = proc->env->v13604;
v13630 = 0;
gctab->single[0] = &v13628;/* normal */
gctab->size = 1;
mrb->ud = (void *)gctab;
mrb_ary_set(mrb, v13628, v13611, (mrb_fixnum_value(v13630)));
v13632 = v13630;
return 0;
}
/*
Class Object
Instance variables
methodes
compile (Object e=false, String e=false, NilClass e=false l=0 var=0) -> Array<[:undef] => Fixnum e=false pos =false|[:undef] => Literal NilClass|1 => Fixnum e=false pos =false|1 => Literal NilClass|0 => Fixnum e=false pos =false> e=true l=3
optimize (Object e=false, Array<[:undef] => Fixnum e=false pos =false|[:undef] => Literal NilClass|1 => Fixnum e=false pos =false|1 => Literal NilClass|0 => Fixnum e=false pos =false> e=true l=3, NilClass e=false l=0 var=0) -> Array<[:undef] => Fixnum e=false pos =false|[:undef] => Literal NilClass|1 => Fixnum e=false pos =false|1 => Literal NilClass|0 => Fixnum e=false pos =false> e=true l=3
evalbf (Object e=false, Array<[:undef] => Fixnum e=false pos =false|[:undef] => Literal NilClass|1 => Fixnum e=false pos =false|1 => Literal NilClass|0 => Fixnum e=false pos =false> e=true l=3, NilClass e=false l=0 var=0) -> Literal NilClass
print (Object e=false, String e=false l=3 var=0, NilClass e=false l=0 var=0) -> Literal NilClass
Module Integral
Instance variables
methodes
Class Fixnum
Instance variables
methodes
times (Fixnum e=false pos =true, Proc<irep=205eb588 <#<Irep:0x20a23a40> pos=bf2.rb:149>>) -> Fixnum e=false pos =true
times (Fixnum e=false pos =true, Proc<irep=205ed4b0 <#<Irep:0x20a36b68> pos=bf2.rb:159>>) -> Fixnum e=false pos =true
times (Fixnum e=false, Proc<irep=205e4ee8 <#<Irep:0x225680e8> pos=bf2.rb:286>>) -> Fixnum e=false
Module Kernel
Instance variables
methodes
Class #<Class:Array>
Instance variables
methodes
*/
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment