// File: /workspace/github_c_makefile_star2_O2/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
subq $0x18, %rsp
andl $0x0, 0xc8d1(%rip)      # 0x15a08
andl $0x0, 0xc8c2(%rip)      # 0x15a00
andl $0x0, 0xc8bf(%rip)      # 0x15a04
callq 0x2a45
cmpl $0x3e9, 0x6740(%rip)    # imm = 0x3E9
jne 0x92cb
movq 0xad67(%rip), %r12      # 0x13ec8
movl 0x10(%r12), %r15d
addq $0x20, %r12
xorl %r13d, %r13d
testl %r15d, %r15d
movl $0x0, %r14d
cmovgl %r15d, %r14d
leaq 0x6f0f(%rip), %rbx      # 0x10090
cmpq %r13, %r14
je 0x91a2
movq (%r12), %rdi
movq %rbx, %rsi
callq 0x2160
testl %eax, %eax
je 0x919f
incq %r13
addq $0x28, %r12
jmp 0x9181
movl %r13d, %r14d
cmpl %r15d, %r14d
je 0x929f
movslq 0xc852(%rip), %rax      # 0x15a04
leal 0x1(%rax), %ecx
movl %ecx, 0xc849(%rip)      # 0x15a04
leaq 0xc84e(%rip), %rcx      # 0x15a10
movl %r14d, (%rcx,%rax,4)
callq 0x2a45
cmpl $0x3d, 0x66c2(%rip)     # 0xf894
jne 0x92d7
leaq 0x6eb1(%rip), %rbx      # 0x10090
callq 0x2a45
movl 0x66aa(%rip), %eax      # 0xf894
cmpl $0x3b, %eax
sete %cl
cmpl $0x2f, %eax
sete %dl
orb %cl, %dl
movl 0xc801(%rip), %r15d     # 0x15a00
testl %r15d, %r15d
setne %cl
testb %cl, %dl
jne 0x9282
cmpl $0x3e9, %eax            # imm = 0x3E9
jne 0x92cb
movslq %r15d, %rax
movq %rax, -0x38(%rbp)
movq 0xaca6(%rip), %r12      # 0x13ec8
movl 0x10(%r12), %eax
addq $0x20, %r12
testl %eax, %eax
movl $0x0, %r14d
movl %eax, -0x2c(%rbp)
cmovgl %eax, %r14d
xorl %r13d, %r13d
cmpq %r13, %r14
je 0x925e
movq (%r12), %rdi
movq %rbx, %rsi
callq 0x2160
testl %eax, %eax
je 0x925b
incq %r13
addq $0x28, %r12
jmp 0x923d
movl %r13d, %r14d
cmpl -0x2c(%rbp), %r14d
je 0x929f
leal 0x1(%r15), %eax
movl %eax, 0xc792(%rip)      # 0x15a00
leaq 0xb4ab(%rip), %rax      # 0x14720
movq -0x38(%rbp), %rcx
movl %r14d, (%rax,%rcx,4)
jmp 0x91df
cmpl $0x2f, %eax
jne 0x928c
callq 0x92e3
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x2a45
leaq 0x660a(%rip), %rbx      # 0xf8b0
leaq 0x274c(%rip), %rdx      # 0xb9f9
leaq 0x6ddc(%rip), %rcx      # 0x10090
movl $0x7d0, %esi            # imm = 0x7D0
movq %rbx, %rdi
xorl %eax, %eax
callq 0x20e0
movq %rbx, %rdi
callq 0x267a
leaq 0x23e4(%rip), %rdi      # 0xb6b6
callq 0x25a8
leaq 0x2123(%rip), %rdi      # 0xb401
callq 0x25a8