// File: /workspace/github_c_makefile_star2_O1/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 %r12
pushq %rbx
xorl %r14d, %r14d
movl %r14d, 0xc0d8(%rip)     # 0x15a08
movl %r14d, 0xc0c9(%rip)     # 0x15a00
movl %r14d, 0xc0c6(%rip)     # 0x15a04
callq 0x2b84
cmpl $0x3e9, 0x5f47(%rip)    # imm = 0x3E9
jne 0x9a6f
movq 0xa56e(%rip), %r12      # 0x13ec8
movl 0x10(%r12), %r15d
testl %r15d, %r15d
jle 0x9991
addq $0x20, %r12
xorl %r14d, %r14d
leaq 0x671e(%rip), %rbx      # 0x10090
movq (%r12), %rdi
movq %rbx, %rsi
callq 0x2160
testl %eax, %eax
je 0x9991
incq %r14
addq $0x28, %r12
cmpq %r14, %r15
jne 0x9972
movl %r15d, %r14d
cmpl %r15d, %r14d
je 0x9a7b
movslq 0xc063(%rip), %rax      # 0x15a04
leal 0x1(%rax), %ecx
movl %ecx, 0xc05a(%rip)      # 0x15a04
leaq 0xc05f(%rip), %rcx      # 0x15a10
movl %r14d, (%rcx,%rax,4)
callq 0x2b84
cmpl $0x3d, 0x5ed3(%rip)     # 0xf894
jne 0x9abd
callq 0x2b84
movl 0x5ec2(%rip), %eax      # 0xf894
cmpl $0x3b, %eax
setne %dl
cmpl $0x2f, %eax
sete %cl
setne %sil
testb %sil, %dl
jne 0x99f0
cmpl $0x0, 0xc012(%rip)      # 0x15a00
jne 0x9a59
cmpl $0x3e9, %eax            # imm = 0x3E9
jne 0x9a6f
movq 0xa4ca(%rip), %r15      # 0x13ec8
movl 0x10(%r15), %ebx
testl %ebx, %ebx
jle 0x9a31
addq $0x20, %r15
xorl %r14d, %r14d
movq (%r15), %rdi
leaq 0x6679(%rip), %rsi      # 0x10090
callq 0x2160
testl %eax, %eax
je 0x9a34
incq %r14
addq $0x28, %r15
cmpq %r14, %rbx
jne 0x9a0d
movl %ebx, %r14d
jmp 0x9a34
xorl %r14d, %r14d
cmpl %ebx, %r14d
je 0x9a7b
movslq 0xbfc0(%rip), %rax      # 0x15a00
leal 0x1(%rax), %ecx
movl %ecx, 0xbfb7(%rip)      # 0x15a00
leaq 0xacd0(%rip), %rcx      # 0x14720
movl %r14d, (%rcx,%rax,4)
jmp 0x99c7
testb %cl, %cl
je 0x9a62
callq 0x9ac9
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
jmp 0x2b84
leaq 0x1c70(%rip), %rdi      # 0xb6e6
callq 0x25f2
leaq 0x5e2e(%rip), %rbx      # 0xf8b0
leaq 0x1fa0(%rip), %rdx      # 0xba29
leaq 0x6600(%rip), %rcx      # 0x10090
movl $0x7d0, %esi            # imm = 0x7D0
movq %rbx, %rdi
xorl %eax, %eax
callq 0x20e0
callq 0xa74a
movq %rbx, %rdi
callq 0x4081
leaq 0xc12d(%rip), %rdi      # 0x15be0
movl $0x1, %esi
callq 0x21b0
leaq 0x196d(%rip), %rdi      # 0xb431
callq 0x25f2