// File: /workspace/github_c_makefile_star2_O2/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
subq $0x18, %rsp
movabsq $0x3fa999999999999a, %rax # imm = 0x3FA999999999999A
movq %rax, 0xf685(%rip)      # 0x13ed8
callq 0x2a45
xorl %r14d, %r14d
leaq 0xfb8e(%rip), %r15      # 0x143f0
leaq 0xe657(%rip), %rbx      # 0x12ec0
movl 0xb025(%rip), %eax      # 0xf894
cmpl $0x3b, %eax
je 0x4963
cmpl $0x2f, %eax
je 0x4910
movq %r14, -0x38(%rbp)
callq 0x4b5f
movq 0xf637(%rip), %r14      # 0x13ec8
movl 0x10(%r14), %eax
addq $0x20, %r14
testl %eax, %eax
movl $0x0, %r15d
movl %eax, -0x2c(%rbp)
cmovgl %eax, %r15d
movq %r14, %r13
xorl %r12d, %r12d
cmpq %r12, %r15
je 0x48cf
movq (%r13), %rdi
movq %rbx, %rsi
callq 0x2160
testl %eax, %eax
je 0x48cc
incq %r12
addq $0x28, %r13
jmp 0x48ae
movl %r12d, %r15d
cmpl -0x2c(%rbp), %r15d
je 0x49d4
movl %r15d, %eax
imulq $0x28, %rax, %rax
cmpq $0x0, 0x10(%r14,%rax)
je 0x49c8
movq -0x38(%rbp), %r14
cmpq $0x64, %r14
je 0x49bc
leaq 0xfaef(%rip), %rax      # 0x143f0
movl %r15d, (%rax,%r14,4)
movq %rax, %r15
incq %r14
jmp 0x4869
xorl %r13d, %r13d
movb $0x1, %r12b
pushq $0x1
popq %rbx
callq 0x2a45
cmpl $0x3b, 0xaf6f(%rip)     # 0xf894
je 0x496b
callq 0x254c
movl 0xaf62(%rip), %eax      # 0xf894
cmpl $0x12d, %eax            # imm = 0x12D
jne 0x4940
callq 0x4022
jmp 0x4919
cmpl $0x13d, %eax            # imm = 0x13D
je 0x4959
cmpl $0x155, %eax            # imm = 0x155
je 0x495e
cmpl $0x150, %eax            # imm = 0x150
jne 0x49e0
movl %ebx, %r13d
jmp 0x4919
xorl %r12d, %r12d
jmp 0x4919
movb $0x1, %r12b
movb $0x1, %r13b
jmp 0x4972
testl %r13d, %r13d
sete %r13b
callq 0x2a45
subq $0x1, %r14
jb 0x49ad
movl (%r15), %ebx
movl %ebx, %edi
callq 0x4c31
movl %ebx, %edi
callq 0x4d69
testb %r13b, %r13b
jne 0x499a
movl %ebx, %edi
callq 0x5171
testb $0x1, %r12b
jne 0x49a7
movl %ebx, %edi
callq 0x5608
addq $0x4, %r15
jmp 0x4977
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x6cd3(%rip), %rdi      # 0xb696
callq 0x267a
leaq 0x6cb7(%rip), %rdi      # 0xb686
callq 0x267a
leaq 0x6c9b(%rip), %rdi      # 0xb676
callq 0x267a
leaq 0x6cbe(%rip), %rdi      # 0xb6a5
callq 0x25a8