// File: /workspace/github_c_makefile_star2_O3/georgeweigt[P]sassafras/sassafras.c
// Function: proc_anova_parse_means_stmt
void
proc_anova_parse_means_stmt(void)
{
	int i, lsd, n, ttest, x;
	char *s;

	alpha = 0.05;
	ttest = 0;
	lsd = 0;
	n = 0;

	scan();

	for (;;) {

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

		proc_anova_parse_means_item();

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

		if (i == dataset->nvar)
			stop("Not in data set");

		if (dataset->spec[i].ltab == NULL)
			stop("Not categorical");

		if (n == MAXITEM)
			stop("Buffer overrun");

		item[n++] = i;
	}

	// parse options

	if (token == '/') {
		scan();
		while (token != ';') {
			keyword();
			switch (token) {
			case KALPHA:
				parse_alpha_option();
				break;
			case KT:
			case KLSD:
				lsd = 1;
				break;
			case KTTEST:
				ttest = 1;
				break;
			default:
				expected("statement option");
				break;
			}
			scan();
		}
	}

	scan(); // eat end of line

	for (i = 0; i < n; i++) {
		x = item[i];
		proc_anova_compute_means(x);
		proc_anova_print_means(x);
		if (lsd)
			proc_anova_print_lsd(x);
		if (ttest)
			proc_anova_print_ttest(x);
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movabsq $0x3fa999999999999a, %rax # imm = 0x3FA999999999999A
movq %rax, 0xf31c(%rip)      # 0x13ee8
callq 0x2b82
xorl %r14d, %r14d
leaq 0xe2f5(%rip), %rbx      # 0x12ed0
leaq 0xf81e(%rip), %r15      # 0x14400
movl 0xacbc(%rip), %eax      # 0xf8a4
cmpl $0x2f, %eax
je 0x4c86
cmpl $0x3b, %eax
je 0x4c7b
callq 0x4f0d
movq 0xf2d2(%rip), %rax      # 0x13ed8
movslq 0x10(%rax), %r15
testq %r15, %r15
movq %rax, -0x30(%rbp)
jle 0x4c3b
leaq 0x20(%rax), %r12
xorl %r13d, %r13d
movq (%r12), %rdi
movq %rbx, %rsi
callq 0x2170
testl %eax, %eax
je 0x4c3e
incq %r13
addq $0x28, %r12
cmpq %r13, %r15
jne 0x4c1a
jmp 0x4d5b
xorl %r13d, %r13d
cmpl %r15d, %r13d
je 0x4d5b
movl %r13d, %eax
leaq (%rax,%rax,4), %rax
movq -0x30(%rbp), %rcx
cmpq $0x0, 0x30(%rcx,%rax,8)
je 0x4d7d
cmpq $0x64, %r14
leaq 0xf797(%rip), %r15      # 0x14400
je 0x4d8b
movl %r13d, (%r15,%r14,4)
incq %r14
jmp 0x4be2
movb $0x1, %r12b
movb $0x1, %r13b
jmp 0x4d10
callq 0x2b82
movb $0x1, %r12b
cmpl $0x3b, 0xac0f(%rip)     # 0xf8a4
movb $0x1, %r13b
je 0x4d10
xorl %r12d, %r12d
xorl %ebx, %ebx
movl %r12d, %r15d
callq 0x259c
movl $0x1, %r12d
movl 0xabf1(%rip), %eax      # 0xf8a4
cmpl $0x14f, %eax            # imm = 0x14F
jg 0x4ccd
cmpl $0x12d, %eax            # imm = 0x12D
je 0x4ce6
cmpl $0x13d, %eax            # imm = 0x13D
je 0x4cee
jmp 0x4d99
cmpl $0x150, %eax            # imm = 0x150
je 0x4cee
cmpl $0x155, %eax            # imm = 0x155
jne 0x4d99
movl $0x1, %ebx
jmp 0x4ceb
callq 0x42c8
movl %r15d, %r12d
callq 0x2b82
cmpl $0x3b, 0xabaa(%rip)     # 0xf8a4
jne 0x4c9f
testl %r12d, %r12d
sete %r13b
testl %ebx, %ebx
sete %r12b
leaq 0xf6f0(%rip), %r15      # 0x14400
callq 0x2b82
testl %r14d, %r14d
je 0x4d4c
movl (%r15), %ebx
movl %ebx, %edi
callq 0x5005
movl %ebx, %edi
callq 0x5196
testb %r13b, %r13b
jne 0x4d37
movl %ebx, %edi
callq 0x559c
testb %r12b, %r12b
jne 0x4d43
movl %ebx, %edi
callq 0x5a47
addq $0x4, %r15
decq %r14
jne 0x4d1a
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
callq 0xa7e0
leaq 0x690f(%rip), %rdi      # 0xb676
callq 0x4039
leaq 0x10e7d(%rip), %rdi     # 0x15bf0
movl $0x1, %esi
callq 0x21c0
callq 0xa7e0
leaq 0x68fd(%rip), %rdi      # 0xb686
jmp 0x4d67
callq 0xa7e0
leaq 0x68ff(%rip), %rdi      # 0xb696
jmp 0x4d67
leaq 0x6905(%rip), %rdi      # 0xb6a5
callq 0x25fb