// File: /workspace/github_c_makefile_star2_O1/georgeweigt[P]sassafras/sassafras.c
// Function: print_anova_table_part1
void
print_anova_table_part1(void)
{
	char **a;

	a = (char **) xmalloc(4 * 6 * sizeof (char *));

	// 1st row

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

	// 2nd row

	A(1, 0) = strdup("Model");

	snprintf(bigbuf, BIGBUFLEN, "%d", npar - 1);
	A(1, 1) = strdup(bigbuf);

	snprintf(bigbuf, BIGBUFLEN, "%0.8f", ssr);
	A(1, 2) = strdup(bigbuf);

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

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

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

	// 3rd row

	A(2, 0) = strdup("Error");

	snprintf(bigbuf, BIGBUFLEN, "%d", nobs - npar);
	A(2, 1) = strdup(bigbuf);

	snprintf(bigbuf, BIGBUFLEN, "%0.8f", sse);
	A(2, 2) = strdup(bigbuf);

	snprintf(bigbuf, BIGBUFLEN, "%0.8f", mse);
	A(2, 3) = strdup(bigbuf);

	A(2, 4) = strdup("");
	A(2, 5) = strdup("");

	// 4th row

	A(3, 0) = strdup("Total");

	snprintf(bigbuf, BIGBUFLEN, "%d", nobs - 1);
	A(3, 1) = strdup(bigbuf);

	snprintf(bigbuf, BIGBUFLEN, "%0.8f", css);
	A(3, 2) = strdup(bigbuf);

	A(3, 3) = strdup("");
	A(3, 4) = strdup("");
	A(3, 5) = strdup("");

	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, 4, 6, bigbuf);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movl $0xc0, %edi
callq 0x2180
testq %rax, %rax
je 0x6adf
movq %rax, %rbx
leaq 0x5036(%rip), %rdi      # 0xb85a
callq 0x2210
movq %rax, (%rbx)
leaq 0x502e(%rip), %rdi      # 0xb861
callq 0x2210
movq %rax, 0x8(%rbx)
leaq 0x5021(%rip), %rdi      # 0xb864
callq 0x2210
movq %rax, 0x10(%rbx)
leaq 0x5020(%rip), %rdi      # 0xb873
callq 0x2210
movq %rax, 0x18(%rbx)
leaq 0x501c(%rip), %rdi      # 0xb87f
callq 0x2210
movq %rax, 0x20(%rbx)
leaq 0x5014(%rip), %rdi      # 0xb887
callq 0x2210
movq %rax, 0x28(%rbx)
leaq 0x500b(%rip), %rdi      # 0xb88e
callq 0x2210
movq %rax, 0x30(%rbx)
movl 0xe1b6(%rip), %ecx      # 0x14a48
decl %ecx
leaq 0xc625(%rip), %r14      # 0x12ec0
leaq 0x4bb2(%rip), %r15      # 0xb454
movl $0xfa0, %esi            # imm = 0xFA0
movq %r14, %rdi
movq %r15, %rdx
xorl %eax, %eax
callq 0x20e0
movq %r14, %rdi
callq 0x2210
movq %rax, 0x38(%rbx)
movsd 0xe1a8(%rip), %xmm0     # 0x14a70
leaq 0x4ad9(%rip), %r12      # 0xb3a8
movl $0xfa0, %esi            # imm = 0xFA0
movq %r14, %rdi
movq %r12, %rdx
movb $0x1, %al
callq 0x20e0
movq %r14, %rdi
callq 0x2210
movq %rax, 0x40(%rbx)
movsd 0xe183(%rip), %xmm0     # 0x14a78
movl $0xfa0, %esi            # imm = 0xFA0
movq %r14, %rdi
movq %r12, %rdx
movb $0x1, %al
callq 0x20e0
movq %r14, %rdi
callq 0x2210
movq %rax, 0x48(%rbx)
movsd 0xe165(%rip), %xmm0     # 0x14a80
leaq 0x4a62(%rip), %rdx      # 0xb384
movl $0xfa0, %esi            # imm = 0xFA0
movq %r14, %rdi
movb $0x1, %al
callq 0x20e0
movq %r14, %rdi
callq 0x2210
movq %rax, 0x50(%rbx)
movsd 0xe143(%rip), %xmm0     # 0x14a88
leaq 0x4a44(%rip), %rdx      # 0xb390
movl $0xfa0, %esi            # imm = 0xFA0
movq %r14, %rdi
movb $0x1, %al
callq 0x20e0
movq %r14, %rdi
callq 0x2210
movq %rax, 0x58(%rbx)
leaq 0x4f26(%rip), %rdi      # 0xb894
callq 0x2210
movq %rax, 0x60(%rbx)
movl 0xe0c7(%rip), %ecx      # 0x14a44
subl 0xe0c5(%rip), %ecx      # 0x14a48
movl $0xfa0, %esi            # imm = 0xFA0
movq %r14, %rdi
movq %r15, %rdx
xorl %eax, %eax
callq 0x20e0
movq %r14, %rdi
callq 0x2210
movq %rax, 0x68(%rbx)
movsd 0xe0af(%rip), %xmm0     # 0x14a58
movl $0xfa0, %esi            # imm = 0xFA0
movq %r14, %rdi
movq %r12, %rdx
movb $0x1, %al
callq 0x20e0
movq %r14, %rdi
callq 0x2210
movq %rax, 0x70(%rbx)
movsd 0xe091(%rip), %xmm0     # 0x14a60
movl $0xfa0, %esi            # imm = 0xFA0
movq %r14, %rdi
movq %r12, %rdx
movb $0x1, %al
callq 0x20e0
movq %r14, %rdi
callq 0x2210
movq %rax, 0x78(%rbx)
leaq 0x4aff(%rip), %r13      # 0xb4f3
movq %r13, %rdi
callq 0x2210
movq %rax, 0x80(%rbx)
movq %r13, %rdi
callq 0x2210
movq %rax, 0x88(%rbx)
leaq 0x4e81(%rip), %rdi      # 0xb89a
callq 0x2210
movq %rax, 0x90(%rbx)
movl 0xe019(%rip), %ecx      # 0x14a44
decl %ecx
movl $0xfa0, %esi            # imm = 0xFA0
movq %r14, %rdi
movq %r15, %rdx
xorl %eax, %eax
callq 0x20e0
movq %r14, %rdi
callq 0x2210
movq %rax, 0x98(%rbx)
movsd 0xe03a(%rip), %xmm0     # 0x14a90
movl $0xfa0, %esi            # imm = 0xFA0
movq %r14, %rdi
movq %r12, %rdx
movb $0x1, %al
callq 0x20e0
movq %r14, %rdi
callq 0x2210
movq %rax, 0xa0(%rbx)
movq %r13, %rdi
callq 0x2210
movq %rax, 0xa8(%rbx)
movq %r13, %rdi
callq 0x2210
movq %rax, 0xb0(%rbx)
movq %r13, %rdi
callq 0x2210
movq %rax, 0xb8(%rbx)
movb $0x1, 0xc415(%rip)      # 0x12ec0
movb $0x0, 0xc413(%rip)      # 0x12ec5
movl $0x0, 0xc405(%rip)      # 0x12ec1
movq %rbx, %rdi
movl $0x4, %esi
movl $0x6, %edx
movq %r14, %rcx
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x4767
movl $0x1, %edi
callq 0x21f0