// File: /workspace/github_c_makefile_star2_O0/georgeweigt[P]sassafras/sassafras.c
// Function: print_anova_table_part3
void
print_anova_table_part3(void)
{
	int i, x;
	double msq, fval, pval;
	char **a;

	a = (char **) xmalloc(6 * (nx + 1) * sizeof (char *));

	A(0, 0) = strdup("Source");
	A(0, 1) = strdup("DF");
	A(0, 2) = strdup("Anova SS");
	A(0, 3) = strdup("Mean Square");
	A(0, 4) = strdup("F Value");
	A(0, 5) = strdup("Pr > F");

	for (i = 0; i < nx; i++) {

		x = xtab[i];

		// Source

		A(i + 1, 0) = strdup(dataset->spec[x].name);

		// DF

		snprintf(bigbuf, BIGBUFLEN, "%d", df[i]);
		A(i + 1, 1) = strdup(bigbuf);

		if (df[i] == 0) {
			A(i + 1, 2) = strdup(".");
			A(i + 1, 3) = strdup(".");
			A(i + 1, 4) = strdup(".");
			A(i + 1, 5) = strdup(".");
			continue;
		}

		// Anova SS

		snprintf(bigbuf, BIGBUFLEN, "%0.8f", ss[i]);
		A(i + 1, 2) = strdup(bigbuf);

		// Mean Square

		msq = ss[i] / df[i];

		snprintf(bigbuf, BIGBUFLEN, "%0.8f", msq);
		A(i + 1, 3) = strdup(bigbuf);

		// F Value

		fval = msq / mse;

		snprintf(bigbuf, BIGBUFLEN, "%0.2f", fval);
		A(i + 1, 4) = strdup(bigbuf);

		// Pr > F

		pval = 1 - fdist(fval, df[i], nobs - npar);

		snprintf(bigbuf, BIGBUFLEN, "%0.4f", pval);
		A(i + 1, 5) = strdup(bigbuf);
	}

	bigbuf[0] = 1; // left justify
	bigbuf[1] = 0;
	bigbuf[2] = 0;
	bigbuf[3] = 0;
	bigbuf[4] = 0;
	bigbuf[5] = 0;

	print_table_and_free(a, nx + 1, 6, bigbuf);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movl 0xfd1a(%rip), %eax      # 0x183d8
addl $0x1, %eax
imull $0x6, %eax, %eax
cltq
shlq $0x3, %rax
movl %eax, %edi
callq 0x2da0
movq %rax, -0x28(%rbp)
leaq 0x7089(%rip), %rdi      # 0xf765
callq 0x21f0
movq %rax, %rcx
movq -0x28(%rbp), %rax
movq %rcx, (%rax)
leaq 0x707a(%rip), %rdi      # 0xf76c
callq 0x21f0
movq %rax, %rcx
movq -0x28(%rbp), %rax
movq %rcx, 0x8(%rax)
leaq 0x70c6(%rip), %rdi      # 0xf7cf
callq 0x21f0
movq %rax, %rcx
movq -0x28(%rbp), %rax
movq %rcx, 0x10(%rax)
leaq 0x705e(%rip), %rdi      # 0xf77e
callq 0x21f0
movq %rax, %rcx
movq -0x28(%rbp), %rax
movq %rcx, 0x18(%rax)
leaq 0x7053(%rip), %rdi      # 0xf78a
callq 0x21f0
movq %rax, %rcx
movq -0x28(%rbp), %rax
movq %rcx, 0x20(%rax)
leaq 0x7044(%rip), %rdi      # 0xf792
callq 0x21f0
movq %rax, %rcx
movq -0x28(%rbp), %rax
movq %rcx, 0x28(%rax)
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
cmpl 0xfc6a(%rip), %eax      # 0x183d8
jge 0x8a4e
movslq -0x4(%rbp), %rcx
leaq 0xff91(%rip), %rax      # 0x18710
movl (%rax,%rcx,4), %eax
movl %eax, -0x8(%rbp)
movq 0xf72c(%rip), %rax      # 0x17eb8
addq $0x20, %rax
movslq -0x8(%rbp), %rcx
imulq $0x28, %rcx, %rcx
addq %rcx, %rax
movq (%rax), %rdi
callq 0x21f0
movq %rax, %rdx
movq -0x28(%rbp), %rax
movl -0x4(%rbp), %ecx
addl $0x1, %ecx
imull $0x6, %ecx, %ecx
movslq %ecx, %rcx
movq %rdx, (%rax,%rcx,8)
movslq -0x4(%rbp), %rcx
leaq 0x1032b(%rip), %rax     # 0x18af0
movl (%rax,%rcx,4), %ecx
leaq 0xe6e1(%rip), %rdi      # 0x16eb0
movl $0xfa0, %esi            # imm = 0xFA0
leaq 0x6b65(%rip), %rdx      # 0xf340
movb $0x0, %al
callq 0x20c0
leaq 0xe6c7(%rip), %rdi      # 0x16eb0
callq 0x21f0
movq %rax, %rdx
movq -0x28(%rbp), %rax
movl -0x4(%rbp), %ecx
addl $0x1, %ecx
imull $0x6, %ecx, %ecx
movslq %ecx, %rcx
movq %rdx, 0x8(%rax,%rcx,8)
movslq -0x4(%rbp), %rcx
leaq 0x102df(%rip), %rax     # 0x18af0
cmpl $0x0, (%rax,%rcx,4)
jne 0x88b0
leaq 0x6fb6(%rip), %rdi      # 0xf7d8
callq 0x21f0
movq %rax, %rdx
movq -0x28(%rbp), %rax
movl -0x4(%rbp), %ecx
addl $0x1, %ecx
imull $0x6, %ecx, %ecx
movslq %ecx, %rcx
movq %rdx, 0x10(%rax,%rcx,8)
leaq 0x6f92(%rip), %rdi      # 0xf7d8
callq 0x21f0
movq %rax, %rdx
movq -0x28(%rbp), %rax
movl -0x4(%rbp), %ecx
addl $0x1, %ecx
imull $0x6, %ecx, %ecx
movslq %ecx, %rcx
movq %rdx, 0x18(%rax,%rcx,8)
leaq 0x6f6e(%rip), %rdi      # 0xf7d8
callq 0x21f0
movq %rax, %rdx
movq -0x28(%rbp), %rax
movl -0x4(%rbp), %ecx
addl $0x1, %ecx
imull $0x6, %ecx, %ecx
movslq %ecx, %rcx
movq %rdx, 0x20(%rax,%rcx,8)
leaq 0x6f4a(%rip), %rdi      # 0xf7d8
callq 0x21f0
movq %rax, %rdx
movq -0x28(%rbp), %rax
movl -0x4(%rbp), %ecx
addl $0x1, %ecx
imull $0x6, %ecx, %ecx
movslq %ecx, %rcx
movq %rdx, 0x28(%rax,%rcx,8)
jmp 0x8a40
movslq -0x4(%rbp), %rcx
leaq 0x103d5(%rip), %rax     # 0x18c90
movsd (%rax,%rcx,8), %xmm0
leaq 0xe5e9(%rip), %rdi      # 0x16eb0
movl $0xfa0, %esi            # imm = 0xFA0
leaq 0x69bd(%rip), %rdx      # 0xf290
movb $0x1, %al
callq 0x20c0
leaq 0xe5cf(%rip), %rdi      # 0x16eb0
callq 0x21f0
movq %rax, %rdx
movq -0x28(%rbp), %rax
movl -0x4(%rbp), %ecx
addl $0x1, %ecx
imull $0x6, %ecx, %ecx
movslq %ecx, %rcx
movq %rdx, 0x10(%rax,%rcx,8)
movslq -0x4(%rbp), %rcx
leaq 0x10387(%rip), %rax     # 0x18c90
movsd (%rax,%rcx,8), %xmm0
movslq -0x4(%rbp), %rcx
leaq 0x101d7(%rip), %rax     # 0x18af0
cvtsi2sdl (%rax,%rcx,4), %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, -0x10(%rbp)
movsd -0x10(%rbp), %xmm0
leaq 0xe57d(%rip), %rdi      # 0x16eb0
movl $0xfa0, %esi            # imm = 0xFA0
leaq 0x6951(%rip), %rdx      # 0xf290
movb $0x1, %al
callq 0x20c0
leaq 0xe563(%rip), %rdi      # 0x16eb0
callq 0x21f0
movq %rax, %rdx
movq -0x28(%rbp), %rax
movl -0x4(%rbp), %ecx
addl $0x1, %ecx
imull $0x6, %ecx, %ecx
movslq %ecx, %rcx
movq %rdx, 0x18(%rax,%rcx,8)
movsd -0x10(%rbp), %xmm0
divsd 0x100d9(%rip), %xmm0    # 0x18a50
movsd %xmm0, -0x18(%rbp)
movsd -0x18(%rbp), %xmm0
leaq 0xe528(%rip), %rdi      # 0x16eb0
movl $0xfa0, %esi            # imm = 0xFA0
leaq 0x68d8(%rip), %rdx      # 0xf26c
movb $0x1, %al
callq 0x20c0
leaq 0xe50e(%rip), %rdi      # 0x16eb0
callq 0x21f0
movq %rax, %rdx
movq -0x28(%rbp), %rax
movl -0x4(%rbp), %ecx
addl $0x1, %ecx
imull $0x6, %ecx, %ecx
movslq %ecx, %rcx
movq %rdx, 0x20(%rax,%rcx,8)
movsd -0x18(%rbp), %xmm0
movslq -0x4(%rbp), %rcx
leaq 0x10121(%rip), %rax     # 0x18af0
cvtsi2sdl (%rax,%rcx,4), %xmm1
movl 0x1005a(%rip), %eax     # 0x18a34
subl 0x10058(%rip), %eax     # 0x18a38
cvtsi2sd %eax, %xmm2
callq 0x9070
movaps %xmm0, %xmm1
movsd 0x67ec(%rip), %xmm0     # 0xf1e0
subsd %xmm1, %xmm0
movsd %xmm0, -0x20(%rbp)
movsd -0x20(%rbp), %xmm0
leaq 0xe4a7(%rip), %rdi      # 0x16eb0
movl $0xfa0, %esi            # imm = 0xFA0
leaq 0x6863(%rip), %rdx      # 0xf278
movb $0x1, %al
callq 0x20c0
leaq 0xe48d(%rip), %rdi      # 0x16eb0
callq 0x21f0
movq %rax, %rdx
movq -0x28(%rbp), %rax
movl -0x4(%rbp), %ecx
addl $0x1, %ecx
imull $0x6, %ecx, %ecx
movslq %ecx, %rcx
movq %rdx, 0x28(%rax,%rcx,8)
movl -0x4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x4(%rbp)
jmp 0x8765
movb $0x1, 0xe45b(%rip)      # 0x16eb0
movb $0x0, 0xe455(%rip)      # 0x16eb1
movb $0x0, 0xe44f(%rip)      # 0x16eb2
movb $0x0, 0xe449(%rip)      # 0x16eb3
movb $0x0, 0xe443(%rip)      # 0x16eb4
movb $0x0, 0xe43d(%rip)      # 0x16eb5
movq -0x28(%rbp), %rdi
movl 0xf956(%rip), %esi      # 0x183d8
addl $0x1, %esi
movl $0x6, %edx
leaq 0xe41f(%rip), %rcx      # 0x16eb0
callq 0x53f0
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax)