// File: /workspace/github_c_makefile_star2_O0/dalnefre[P]kernel_abe/schemer.c
// Function: test_schemer
void
test_schemer(CONFIG* cfg)
{
	DBUG_ENTER("test_schemer");
	TRACE(printf("--test_schemer--\n"));

	assert_reduce(cfg, "0", "0");
	assert_reduce(cfg, "1", "1");
	assert_reduce(cfg, "_", "_");	/* NOTE: this is non-standard */

	assert_reduce(cfg, "#t", "#t");
	assert_reduce(cfg, "#f", "#f");
	assert_reduce(cfg, "true", "#t");
	assert_reduce(cfg, "false", "#f");

	assert_reduce(cfg, "()", "()");			/* FIXME: this SHOULD signal FAILURE! */
	assert_reduce(cfg, "()", "NIL");		/* FIXME: this SHOULD signal FAILURE! */
	assert_reduce(cfg, "undefined", "(FAILURE! unknown-symbol undefined)");
	
	assert_reduce(cfg, "(quote 0)", "0");
	assert_reduce(cfg, "(quote x)", "x");
	assert_reduce(cfg, "(quote true)", "true");
	assert_reduce(cfg, "(quote ())", "()");
	assert_reduce(cfg, "(quote (x))", "(x)");
	assert_reduce(cfg, "(quote (x y))", "(x y)");
	assert_reduce(cfg, "(quote ((x) y))", "((x) y)");

	assert_reduce(cfg, "'y", "y");
	assert_reduce(cfg, "'()", "NIL");
	assert_reduce(cfg, "'(a b c)", "(a b c)");

	assert_reduce(cfg, "(define z -1)", "ok");	/* NOTE: this is unspecified */
	assert_reduce(cfg, "z", "-1");
	assert_reduce(cfg, "(define z 1)", "redefined");	/* NOTE: this is unspecified */
	assert_reduce(cfg, "(begin (define z 0) z)", "0");
	assert_reduce(cfg, "(list 1 2 3)", "(1 2 3)");
	assert_reduce(cfg, "(list z 0)", "(0 0)");
	assert_reduce(cfg, "(list)", "()");
	assert_reduce(cfg, "(list 'z)", "(z)");
	assert_reduce(cfg, "(list 'x '(y))", "(x (y))");

	assert_reduce(cfg, "(cons 0 NIL)", "(0)");
	assert_reduce(cfg, "(cons 0 (cons 1 '()))", "(0 1)");
	assert_reduce(cfg, "(cons 0 (quote (1)))", "(0 1)");
	assert_reduce(cfg, "(cons 'x '(y))", "(x y)");
	assert_reduce(cfg, "(car '(x))", "x");
	assert_reduce(cfg, "(cdr '(x))", "()");
	assert_reduce(cfg, "(car '(x y))", "x");
	assert_reduce(cfg, "(cdr '(x y))", "(y)");
	assert_reduce(cfg, "(car (cons #t #f))", "#t");
	assert_reduce(cfg, "(cdr (cons #t #f))", "#f");

	assert_reduce(cfg, "(cond (#f 0) (#t 1))", "1");
	assert_reduce(cfg, "(cond (true 0) (else 1))", "0");
	assert_reduce(cfg, "(cond (false 'no) (else 'or 'yes))", "yes");
#if 0 /* "if" is now defined in "library.scm" */
	assert_reduce(cfg, "(if (eq? true #f) #t #f)", "#f");
	assert_reduce(cfg, "(if (eq? false #f) #t #f)", "#t");
#endif

	assert_reduce(cfg, "((lambda (x) x) 1)", "1");
	assert_reduce(cfg, "(((lambda (x) (lambda (y) (list '+ x y))) 3) 4)", "(+ 3 4)");

	assert_reduce(cfg, "(eq? 0 0)", "#t");
	assert_reduce(cfg, "(eq? 0 1)", "#f");
	assert_reduce(cfg, "(eq? NIL '())", "#t");
	assert_reduce(cfg, "(eq? NIL 0)", "#f");
	assert_reduce(cfg, "(eq? 'x 'x)", "#t");
	assert_reduce(cfg, "(eq? '() '())", "#t");
	assert_reduce(cfg, "(eq? '(x) '(x))", "#f");
	assert_reduce(cfg, "(eq? (cons 0 1) (cons 0 1))", "#f");
	assert_reduce(cfg, "(eq? (car (cons 0 1)) 0)", "#t");
	assert_reduce(cfg, "(eq? (cdr (cons 0 1)) 1)", "#t");

	assert_reduce(cfg, "(pair? #t)", "#f");
	assert_reduce(cfg, "(pair? 0)", "#f");
	assert_reduce(cfg, "(pair? 'x)", "#f");
	assert_reduce(cfg, "(pair? '())", "#f");
	assert_reduce(cfg, "(pair? '(0))", "#t");
	assert_reduce(cfg, "(pair? (cons 0 1))", "#t");
	
	assert_reduce(cfg, "(symbol? #t)", "#f");
	assert_reduce(cfg, "(symbol? 0)", "#f");
	assert_reduce(cfg, "(symbol? 'x)", "#t");
	assert_reduce(cfg, "(symbol? '())", "#f");
	assert_reduce(cfg, "(symbol? '(0))", "#f");
	assert_reduce(cfg, "(symbol? (cons 0 1))", "#f");
	
	assert_reduce(cfg, "(boolean? #t)", "#t");
	assert_reduce(cfg, "(boolean? 0)", "#f");
	assert_reduce(cfg, "(boolean? 'x)", "#f");
	assert_reduce(cfg, "(boolean? '())", "#f");
	assert_reduce(cfg, "(boolean? '(0))", "#f");
	assert_reduce(cfg, "(boolean? (cons 0 1))", "#f");
	
	assert_reduce(cfg, "(number? #t)", "#f");
	assert_reduce(cfg, "(number? 0)", "#t");
	assert_reduce(cfg, "(number? 'x)", "#f");
	assert_reduce(cfg, "(number? '())", "#f");
	assert_reduce(cfg, "(number? '(0))", "#f");
	assert_reduce(cfg, "(number? (cons 0 1))", "#f");

	assert_reduce(cfg, "(and)", "#t");
	assert_reduce(cfg, "(and false)", "#f");
	assert_reduce(cfg, "(and true)", "#t");
	assert_reduce(cfg, "(and false false)", "#f");
	assert_reduce(cfg, "(and false true)", "#f");
	assert_reduce(cfg, "(and true false)", "#f");
	assert_reduce(cfg, "(and true true)", "#t");
	assert_reduce(cfg, "(and 0 1 2)", "2");

	assert_reduce(cfg, "(or)", "#f");
	assert_reduce(cfg, "(or false)", "#f");
	assert_reduce(cfg, "(or true)", "#t");
	assert_reduce(cfg, "(or false false)", "#f");
	assert_reduce(cfg, "(or false true)", "#t");
	assert_reduce(cfg, "(or true false)", "#t");
	assert_reduce(cfg, "(or true true)", "#t");
	assert_reduce(cfg, "(or 0 1 2)", "0");

	assert_reduce(cfg, "(+)", "0");
	assert_reduce(cfg, "(+ 2)", "2");
	assert_reduce(cfg, "(+ 0 0)", "0");
	assert_reduce(cfg, "(+ 0 2)", "2");
	assert_reduce(cfg, "(+ 2 0)", "2");
	assert_reduce(cfg, "(+ 2 3)", "5");
	assert_reduce(cfg, "(+ 1 2 3)", "6");

	assert_reduce(cfg, "(- 2)", "-2");
	assert_reduce(cfg, "(- 0 0)", "0");
	assert_reduce(cfg, "(- 0 2)", "-2");
	assert_reduce(cfg, "(- 2 0)", "2");
	assert_reduce(cfg, "(- 2 3)", "-1");
	assert_reduce(cfg, "(- 1 2 3)", "-4");

	assert_reduce(cfg, "(*)", "1");
	assert_reduce(cfg, "(* 2)", "2");
	assert_reduce(cfg, "(* 0 0)", "0");
	assert_reduce(cfg, "(* 0 2)", "0");
	assert_reduce(cfg, "(* 2 0)", "0");
	assert_reduce(cfg, "(* 2 3)", "6");
	assert_reduce(cfg, "(* 1 2 3)", "6");

	assert_reduce(cfg, "(< 0 0)", "#f");
	assert_reduce(cfg, "(< 0 1)", "#t");
	assert_reduce(cfg, "(< 1 0)", "#f");
	assert_reduce(cfg, "(< 0 1 2)", "#t");
	assert_reduce(cfg, "(< 2 1 0)", "#f");

	assert_reduce(cfg, "(> 0 0)", "#f");
	assert_reduce(cfg, "(> 0 1)", "#f");
	assert_reduce(cfg, "(> 1 0)", "#t");
	assert_reduce(cfg, "(> 0 1 2)", "#f");
	assert_reduce(cfg, "(> 2 1 0)", "#t");
	
	assert_reduce(cfg, "(+ 1 (call/cc (lambda (esc) (+ 2 (esc 3)))))", "4");

#if 0
	assert_reduce("((template (x) (literal x)) 0)", "0");
	assert_reduce("((template (x y) (literal (y x))) TRUE FALSE)", "(FALSE TRUE)");
	assert_reduce("((template (x y) (literal (y x))) foo bar)", "(bar foo)");
	reduce_line(reduce_cfg, "(define 2tuple (template (x y) (prepend x (prepend y ()))))", a_sink);
	assert_reduce("(2tuple () (sum 1 2))", "(() 3)");
	
	assert_reduce("((function (x) (prepend x ())) 0)", "(0)");
	assert_reduce("((function (x) (if x FALSE TRUE)) TRUE)", "FALSE");
	assert_reduce("((function (x) (if x FALSE TRUE)) FALSE)", "TRUE");	
	assert_reduce("((function (x) (list (literal Hello) x)) (literal World))", "(Hello World)");
	assert_reduce("(((function (x) (function (y) (sum x y))) 3) 4)", "7");
	reduce_line(reduce_cfg, "(define fact (function (n) (if (zero? n) 1 (product n (fact (sum n -1))))))", a_sink);
	assert_reduce("(fact 3)", "6");

	assert_reduce("(reduce 0)", "0");
	assert_reduce("(reduce (literal (equal? 0 0)))", "TRUE");

	report_actor_usage(reduce_cfg);
#endif

	DBUG_RETURN;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
leaq 0x10484(%rip), %rax     # 0x20617
movq %rax, -0x30(%rbp)
leaq 0x16172(%rip), %rax     # 0x26310
movq (%rax), %rax
movq 0x50(%rax), %rax
movl 0x8(%rax), %eax
movl %eax, -0x28(%rbp)
movl $0xa2c, -0x24(%rbp)     # imm = 0xA2C
leaq 0x129d3(%rip), %rax     # 0x22b8c
movq %rax, -0x20(%rbp)
leaq 0x15f6c(%rip), %rax     # 0x26130
movq %rax, -0x18(%rbp)
leaq 0x16141(%rip), %rax     # 0x26310
movq (%rax), %rax
movq 0x50(%rax), %rax
movq %rax, -0x10(%rbp)
leaq -0x30(%rbp), %rdi
callq 0x1f2c0
leaq 0x1043a(%rip), %rdi     # 0x20624
movb $0x0, %al
callq 0x20d0
movq -0x8(%rbp), %rdi
leaq 0x11be2(%rip), %rdx     # 0x21dde
movq %rdx, %rsi
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x11ec2(%rip), %rdx     # 0x220d1
movq %rdx, %rsi
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x10414(%rip), %rdx     # 0x20636
movq %rdx, %rsi
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x10403(%rip), %rdx     # 0x20638
movq %rdx, %rsi
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x103f3(%rip), %rdx     # 0x2063b
movq %rdx, %rsi
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x1010d(%rip), %rsi     # 0x20368
leaq 0x103d6(%rip), %rdx     # 0x20638
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x100f0(%rip), %rsi     # 0x20362
leaq 0x103c2(%rip), %rdx     # 0x2063b
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x1044b(%rip), %rdx     # 0x206d4
movq %rdx, %rsi
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x10438(%rip), %rsi     # 0x206d4
leaq 0x12496(%rip), %rdx     # 0x22739
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x1038b(%rip), %rsi     # 0x2063e
leaq 0x1038e(%rip), %rdx     # 0x20648
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x103a2(%rip), %rsi     # 0x2066c
leaq 0x11b0d(%rip), %rdx     # 0x21dde
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x10395(%rip), %rsi     # 0x20676
leaq 0x11cb0(%rip), %rdx     # 0x21f98
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x10388(%rip), %rsi     # 0x20680
leaq 0x10069(%rip), %rdx     # 0x20368
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x1037e(%rip), %rsi     # 0x2068d
leaq 0x103be(%rip), %rdx     # 0x206d4
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x10372(%rip), %rsi     # 0x20698
leaq 0x121c9(%rip), %rdx     # 0x224f6
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x10367(%rip), %rsi     # 0x206a4
leaq 0x1036e(%rip), %rdx     # 0x206b2
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x10364(%rip), %rsi     # 0x206b8
leaq 0x1036d(%rip), %rdx     # 0x206c8
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x10365(%rip), %rsi     # 0x206d0
leaq 0x1035f(%rip), %rdx     # 0x206d1
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x10351(%rip), %rsi     # 0x206d3
leaq 0x123b0(%rip), %rdx     # 0x22739
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x1033e(%rip), %rsi     # 0x206d7
leaq 0x10338(%rip), %rdx     # 0x206d8
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x10330(%rip), %rsi     # 0x206e0
leaq 0xfd1c(%rip), %rdx      # 0x200d3
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x10327(%rip), %rsi     # 0x206ee
leaq 0x10322(%rip), %rdx     # 0x206f0
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x10315(%rip), %rsi     # 0x206f3
leaq 0xfce4(%rip), %rdx      # 0x200c9
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x1030b(%rip), %rsi     # 0x20700
leaq 0x119e2(%rip), %rdx     # 0x21dde
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x1030b(%rip), %rsi     # 0x20717
leaq 0x10311(%rip), %rdx     # 0x20724
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x10309(%rip), %rsi     # 0x2072c
leaq 0x1030d(%rip), %rdx     # 0x20737
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x119fe(%rip), %rsi     # 0x21e38
leaq 0x10293(%rip), %rdx     # 0x206d4
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x102ec(%rip), %rsi     # 0x2073d
leaq 0x102ef(%rip), %rdx     # 0x20747
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x102e3(%rip), %rsi     # 0x2074b
leaq 0x102eb(%rip), %rdx     # 0x2075a
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x102e3(%rip), %rsi     # 0x20762
leaq 0x12488(%rip), %rdx     # 0x2290e
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x102d9(%rip), %rsi     # 0x2076f
leaq 0x102e8(%rip), %rdx     # 0x20785
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x102de(%rip), %rsi     # 0x2078b
leaq 0x102d1(%rip), %rdx     # 0x20785
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x102dc(%rip), %rsi     # 0x207a0
leaq 0x101e7(%rip), %rdx     # 0x206b2
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x102d4(%rip), %rsi     # 0x207af
leaq 0x11ab6(%rip), %rdx     # 0x21f98
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x102c8(%rip), %rsi     # 0x207ba
leaq 0x101db(%rip), %rdx     # 0x206d4
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x102bc(%rip), %rsi     # 0x207c5
leaq 0x11a88(%rip), %rdx     # 0x21f98
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x102b2(%rip), %rsi     # 0x207d2
leaq 0x11ff5(%rip), %rdx     # 0x2251c
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x102a8(%rip), %rsi     # 0x207df
leaq 0x100fa(%rip), %rdx     # 0x20638
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x102a4(%rip), %rsi     # 0x207f2
leaq 0x100e6(%rip), %rdx     # 0x2063b
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x102a0(%rip), %rsi     # 0x20805
leaq 0x11b65(%rip), %rdx     # 0x220d1
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x1029e(%rip), %rsi     # 0x2081a
leaq 0x1185b(%rip), %rdx     # 0x21dde
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x102a0(%rip), %rsi     # 0x20833
leaq 0x102bc(%rip), %rdx     # 0x20856
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x102b0(%rip), %rsi     # 0x2085a
leaq 0x11b20(%rip), %rdx     # 0x220d1
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x102ac(%rip), %rsi     # 0x2086d
leaq 0x102d5(%rip), %rdx     # 0x2089d
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x102cd(%rip), %rsi     # 0x208a5
leaq 0x10059(%rip), %rdx     # 0x20638
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x102c0(%rip), %rsi     # 0x208af
leaq 0x10045(%rip), %rdx     # 0x2063b
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x102b3(%rip), %rsi     # 0x208b9
leaq 0x1002b(%rip), %rdx     # 0x20638
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x102aa(%rip), %rsi     # 0x208c7
leaq 0x10017(%rip), %rdx     # 0x2063b
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x1029f(%rip), %rsi     # 0x208d3
leaq 0xfffd(%rip), %rdx      # 0x20638
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x10294(%rip), %rsi     # 0x208df
leaq 0xffe6(%rip), %rdx      # 0x20638
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x1028b(%rip), %rsi     # 0x208ed
leaq 0xffd2(%rip), %rdx      # 0x2063b
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x10284(%rip), %rsi     # 0x208fd
leaq 0xffbb(%rip), %rdx      # 0x2063b
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x10289(%rip), %rsi     # 0x20919
leaq 0xffa1(%rip), %rdx      # 0x20638
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x1028b(%rip), %rsi     # 0x20932
leaq 0xff8a(%rip), %rdx      # 0x20638
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x1028d(%rip), %rsi     # 0x2094b
leaq 0xff76(%rip), %rdx      # 0x2063b
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x10281(%rip), %rsi     # 0x20956
leaq 0xff5f(%rip), %rdx      # 0x2063b
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x10274(%rip), %rsi     # 0x20960
leaq 0xff48(%rip), %rdx      # 0x2063b
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x10268(%rip), %rsi     # 0x2096b
leaq 0xff31(%rip), %rdx      # 0x2063b
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x1025d(%rip), %rsi     # 0x20977
leaq 0xff17(%rip), %rdx      # 0x20638
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x10253(%rip), %rsi     # 0x20984
leaq 0xff00(%rip), %rdx      # 0x20638
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x1024f(%rip), %rsi     # 0x20997
leaq 0xfeec(%rip), %rdx      # 0x2063b
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x10245(%rip), %rsi     # 0x209a4
leaq 0xfed5(%rip), %rdx      # 0x2063b
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x1023a(%rip), %rsi     # 0x209b0
leaq 0xfebb(%rip), %rdx      # 0x20638
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x10230(%rip), %rsi     # 0x209bd
leaq 0xfea7(%rip), %rdx      # 0x2063b
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x10227(%rip), %rsi     # 0x209cb
leaq 0xfe90(%rip), %rdx      # 0x2063b
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x1021f(%rip), %rsi     # 0x209da
leaq 0xfe79(%rip), %rdx      # 0x2063b
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x1021d(%rip), %rsi     # 0x209ef
leaq 0xfe5f(%rip), %rdx      # 0x20638
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x10214(%rip), %rsi     # 0x209fd
leaq 0xfe4b(%rip), %rdx      # 0x2063b
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x1020a(%rip), %rsi     # 0x20a0a
leaq 0xfe34(%rip), %rdx      # 0x2063b
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x10201(%rip), %rsi     # 0x20a18
leaq 0xfe1d(%rip), %rdx      # 0x2063b
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x101f9(%rip), %rsi     # 0x20a27
leaq 0xfe06(%rip), %rdx      # 0x2063b
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x101f2(%rip), %rsi     # 0x20a37
leaq 0xfdef(%rip), %rdx      # 0x2063b
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x101f1(%rip), %rsi     # 0x20a4d
leaq 0xfdd8(%rip), %rdx      # 0x2063b
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x101e7(%rip), %rsi     # 0x20a5a
leaq 0xfdbe(%rip), %rdx      # 0x20638
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x101dc(%rip), %rsi     # 0x20a66
leaq 0xfdaa(%rip), %rdx      # 0x2063b
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x101d2(%rip), %rsi     # 0x20a73
leaq 0xfd93(%rip), %rdx      # 0x2063b
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x101c9(%rip), %rsi     # 0x20a81
leaq 0xfd7c(%rip), %rdx      # 0x2063b
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x101c1(%rip), %rsi     # 0x20a90
leaq 0xfd65(%rip), %rdx      # 0x2063b
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x101bf(%rip), %rsi     # 0x20aa5
leaq 0xfd4b(%rip), %rdx      # 0x20638
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x101ae(%rip), %rsi     # 0x20aab
leaq 0xfd37(%rip), %rdx      # 0x2063b
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x101a3(%rip), %rsi     # 0x20ab7
leaq 0xfd1d(%rip), %rdx      # 0x20638
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x10197(%rip), %rsi     # 0x20ac2
leaq 0xfd09(%rip), %rdx      # 0x2063b
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x10192(%rip), %rsi     # 0x20ad4
leaq 0xfcf2(%rip), %rdx      # 0x2063b
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x1018c(%rip), %rsi     # 0x20ae5
leaq 0xfcdb(%rip), %rdx      # 0x2063b
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x10186(%rip), %rsi     # 0x20af6
leaq 0xfcc1(%rip), %rdx      # 0x20638
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x1017f(%rip), %rsi     # 0x20b06
leaq 0x11703(%rip), %rdx     # 0x22091
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x10174(%rip), %rsi     # 0x20b12
leaq 0xfc96(%rip), %rdx      # 0x2063b
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x10162(%rip), %rsi     # 0x20b17
leaq 0xfc7f(%rip), %rdx      # 0x2063b
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x10156(%rip), %rsi     # 0x20b22
leaq 0xfc65(%rip), %rdx      # 0x20638
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x10149(%rip), %rsi     # 0x20b2c
leaq 0xfc51(%rip), %rdx      # 0x2063b
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x10143(%rip), %rsi     # 0x20b3d
leaq 0xfc37(%rip), %rdx      # 0x20638
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x1013c(%rip), %rsi     # 0x20b4d
leaq 0xfc20(%rip), %rdx      # 0x20638
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x10135(%rip), %rsi     # 0x20b5d
leaq 0xfc09(%rip), %rdx      # 0x20638
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x1012d(%rip), %rsi     # 0x20b6c
leaq 0x11398(%rip), %rdx     # 0x21dde
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x10121(%rip), %rsi     # 0x20b77
leaq 0x11381(%rip), %rdx     # 0x21dde
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x1010e(%rip), %rsi     # 0x20b7b
leaq 0x1161d(%rip), %rdx     # 0x22091
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x100fd(%rip), %rsi     # 0x20b81
leaq 0x11353(%rip), %rdx     # 0x21dde
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x100ee(%rip), %rsi     # 0x20b89
leaq 0x115ef(%rip), %rdx     # 0x22091
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x100df(%rip), %rsi     # 0x20b91
leaq 0x115d8(%rip), %rdx     # 0x22091
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x100d0(%rip), %rsi     # 0x20b99
leaq 0x100d1(%rip), %rdx     # 0x20ba1
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x100c3(%rip), %rsi     # 0x20ba3
leaq 0x100c6(%rip), %rdx     # 0x20bad
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x100b8(%rip), %rsi     # 0x20baf
leaq 0x100b7(%rip), %rdx     # 0x20bb5
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x100aa(%rip), %rsi     # 0x20bb8
leaq 0x112c9(%rip), %rdx     # 0x21dde
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x1009b(%rip), %rsi     # 0x20bc0
leaq 0x10089(%rip), %rdx     # 0x20bb5
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x1008c(%rip), %rsi     # 0x20bc8
leaq 0x1154e(%rip), %rdx     # 0x22091
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x1007d(%rip), %rsi     # 0x20bd0
leaq 0xfb96(%rip), %rdx      # 0x206f0
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x1006e(%rip), %rsi     # 0x20bd8
leaq 0x10071(%rip), %rdx     # 0x20be2
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x10064(%rip), %rsi     # 0x20be5
leaq 0x11549(%rip), %rdx     # 0x220d1
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x10051(%rip), %rsi     # 0x20be9
leaq 0x114f2(%rip), %rdx     # 0x22091
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x10040(%rip), %rsi     # 0x20bef
leaq 0x11228(%rip), %rdx     # 0x21dde
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x10031(%rip), %rsi     # 0x20bf7
leaq 0x11211(%rip), %rdx     # 0x21dde
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x10022(%rip), %rsi     # 0x20bff
leaq 0x111fa(%rip), %rdx     # 0x21dde
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x10013(%rip), %rsi     # 0x20c07
leaq 0xffb2(%rip), %rdx      # 0x20bad
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0x10004(%rip), %rsi     # 0x20c0f
leaq 0xff9b(%rip), %rdx      # 0x20bad
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0xfff7(%rip), %rsi      # 0x20c19
leaq 0xfa12(%rip), %rdx      # 0x2063b
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0xffe8(%rip), %rsi      # 0x20c21
leaq 0xf9f8(%rip), %rdx      # 0x20638
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0xffd9(%rip), %rsi      # 0x20c29
leaq 0xf9e4(%rip), %rdx      # 0x2063b
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0xffca(%rip), %rsi      # 0x20c31
leaq 0xf9ca(%rip), %rdx      # 0x20638
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0xffbd(%rip), %rsi      # 0x20c3b
leaq 0xf9b6(%rip), %rdx      # 0x2063b
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0xffb0(%rip), %rsi      # 0x20c45
leaq 0xf99f(%rip), %rdx      # 0x2063b
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0xffa1(%rip), %rsi      # 0x20c4d
leaq 0xf988(%rip), %rdx      # 0x2063b
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0xff92(%rip), %rsi      # 0x20c55
leaq 0xf96e(%rip), %rdx      # 0x20638
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0xff83(%rip), %rsi      # 0x20c5d
leaq 0xf95a(%rip), %rdx      # 0x2063b
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0xff76(%rip), %rsi      # 0x20c67
leaq 0xf940(%rip), %rdx      # 0x20638
callq 0x10d30
movq -0x8(%rbp), %rdi
leaq 0xff69(%rip), %rsi      # 0x20c71
leaq 0x11b80(%rip), %rdx     # 0x2288f
callq 0x10d30
movl $0xadb, -0x24(%rbp)     # imm = 0xADB
leaq -0x30(%rbp), %rdi
callq 0x1f490
addq $0x30, %rsp
popq %rbp
retq
nopw (%rax,%rax)