// File: /workspace/github_c_makefile_star2_O3/georgeweigt[P]sassafras/sassafras.c
// Function: proc_reg_parse_model_stmt
void
proc_reg_parse_model_stmt(void)
{
	int i;

	noint = 0;

	num_x = 0;
	num_y = 0;

	scan();

	if (token != NAME)
		expected("variable name");

	// look for match in dataset

	for (i = 0; i < dataset->nvar; i++)
		if (strcmp(dataset->spec[i].name, strbuf) == 0)
			break;

	if (i == dataset->nvar) {
		snprintf(errbuf, ERRBUFLEN, "Variable %s not in dataset", strbuf);
		stop(errbuf);
	}

	ytab[num_y++] = i;

	scan();

	if (token != '=')
		expected("equals sign");

	for (;;) {

		scan();

		if ((token == ';' || token == '/') && num_x)
			break;

		if (token != NAME)
			expected("variable name");

		// look for match in dataset

		for (i = 0; i < dataset->nvar; i++)
			if (strcmp(dataset->spec[i].name, strbuf) == 0)
				break;

		if (i == dataset->nvar) {
			snprintf(errbuf, ERRBUFLEN, "Variable %s not in dataset", strbuf);
			stop(errbuf);
		}

		xtab[num_x++] = i;
	}

	if (token == '/')
		proc_reg_parse_model_options();

	scan(); // eat the semicolon
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
xorl %r14d, %r14d
movl %r14d, 0xc0b1(%rip)     # 0x15a18
movl %r14d, 0xc0a2(%rip)     # 0x15a10
movl %r14d, 0xc09f(%rip)     # 0x15a14
callq 0x2b82
cmpl $0x3e9, 0x5f20(%rip)    # imm = 0x3E9
jne 0x9b26
movq 0xa547(%rip), %r12      # 0x13ed8
movslq 0x10(%r12), %r15
testq %r15, %r15
jle 0x9a07
addq $0x20, %r12
xorl %r14d, %r14d
leaq 0x66f7(%rip), %rbx      # 0x100a0
movq (%r12), %rdi
movq %rbx, %rsi
callq 0x2170
testl %eax, %eax
je 0x9a07
incq %r14
addq $0x28, %r12
cmpq %r14, %r15
jne 0x99a9
leaq 0x5ef4(%rip), %rbx      # 0xf8c0
leaq 0x2026(%rip), %rdx      # 0xb9f9
leaq 0x66c6(%rip), %rcx      # 0x100a0
movl $0x7d0, %esi            # imm = 0x7D0
movq %rbx, %rdi
xorl %eax, %eax
callq 0x20e0
callq 0xa7e0
movq %rbx, %rdi
callq 0x4039
leaq 0xc1f3(%rip), %rdi      # 0x15bf0
movl $0x1, %esi
callq 0x21c0
cmpl %r15d, %r14d
je 0x99c5
movslq 0xc001(%rip), %rax      # 0x15a14
leal 0x1(%rax), %ecx
movl %ecx, 0xbff8(%rip)      # 0x15a14
leaq 0xbffd(%rip), %rcx      # 0x15a20
movl %r14d, (%rcx,%rax,4)
callq 0x2b82
cmpl $0x3d, 0x5e71(%rip)     # 0xf8a4
jne 0x9b32
callq 0x2b82
movl 0x5e60(%rip), %eax      # 0xf8a4
cmpl $0x3b, %eax
sete %dl
cmpl $0x2f, %eax
sete %cl
orb %cl, %dl
movl 0xbfb7(%rip), %r15d     # 0x15a10
testl %r15d, %r15d
setne %sil
testb %sil, %dl
jne 0x9b0a
leaq 0x6630(%rip), %rbx      # 0x100a0
cmpl $0x3e9, %eax            # imm = 0x3E9
jne 0x9b26
movq 0xa456(%rip), %r14      # 0x13ed8
movslq 0x10(%r14), %r12
testq %r12, %r12
jle 0x9ab2
addq $0x20, %r14
xorl %r13d, %r13d
movq (%r14), %rdi
movq %rbx, %rsi
callq 0x2170
testl %eax, %eax
je 0x9ab5
incq %r13
addq $0x28, %r14
cmpq %r13, %r12
jne 0x9a92
jmp 0x99c5
xorl %r13d, %r13d
cmpl %r12d, %r13d
je 0x99c5
leal 0x1(%r15), %eax
movl %eax, 0xbf48(%rip)      # 0x15a10
movslq %r15d, %rax
leaq 0xac5e(%rip), %rcx      # 0x14730
movl %r13d, (%rcx,%rax,4)
callq 0x2b82
movl 0x5dc3(%rip), %eax      # 0xf8a4
cmpl $0x3b, %eax
sete %dl
cmpl $0x2f, %eax
sete %cl
orb %cl, %dl
movl 0xbf1a(%rip), %r15d     # 0x15a10
testl %r15d, %r15d
setne %sil
andb %dl, %sil
cmpb $0x1, %sil
jne 0x9a70
testb %cl, %cl
je 0x9b13
callq 0x9b3e
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x2b82
leaq 0x1b89(%rip), %rdi      # 0xb6b6
callq 0x25fb
leaq 0x18c8(%rip), %rdi      # 0xb401
callq 0x25fb