// File: /workspace/github_c_makefile_star2_O3/georgeweigt[P]sassafras/sassafras.c
// Function: proc_reg_compute_mse
void
proc_reg_compute_mse(void)
{
	int i;
	double d;

	dfm = npar - 1;
	dfe = nrow - npar;
	dft = nrow - 1;

	ybar = 0;

	for (i = 0; i < nrow; i++)
		ybar += (Y[i] - ybar) / (i + 1);

	ssr = 0;
	sse = 0;
	sst = 0;

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

		d = Yhat[i] - ybar;
		ssr += d * d;

		d = Y[i] - Yhat[i];
		sse += d * d;

		d = Y[i] - ybar;
		sst += d * d;
	}

	mse = sse / dfe;

	rootmse = sqrt(mse);

	msr = ssr / dfm;

	fval = msr / mse;

	pval = 1.0 - fdist(fval, dfm, dfe);

	rsquare = 1.0 - sse / sst;

	adjrsq = 1.0 - dft / dfe * sse / sst;

	cv = 100.0 * rootmse / ybar;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movl 0xa72f(%rip), %ecx      # 0x14a58
leal -0x1(%rcx), %eax
cvtsi2sd %eax, %xmm0
movsd %xmm0, 0xb898(%rip)     # 0x15bd0
movslq 0xb4a1(%rip), %rax      # 0x157e0
movl %eax, %edx
subl %ecx, %edx
leal -0x1(%rax), %ecx
cvtsi2sd %edx, %xmm1
xorps %xmm0, %xmm0
cvtsi2sd %ecx, %xmm0
movsd %xmm1, 0xa707(%rip)     # 0x14a60
movsd %xmm0, 0xb877(%rip)     # 0x15bd8
movq $0x0, 0xa74c(%rip) # 0x14ab8
testq %rax, %rax
jle 0xa43f
xorpd %xmm2, %xmm2
movq 0xa770(%rip), %rcx      # 0x14af0
xorl %edx, %edx
movapd %xmm2, %xmm0
movsd (%rcx,%rdx,8), %xmm2
subsd %xmm0, %xmm2
incq %rdx
xorps %xmm3, %xmm3
cvtsi2sd %edx, %xmm3
divsd %xmm3, %xmm2
addsd %xmm0, %xmm2
movsd %xmm2, 0xa70f(%rip)     # 0x14ab8
cmpq %rdx, %rax
jne 0xa382
xorl %ecx, %ecx
movq %rcx, 0xa6c9(%rip)      # 0x14a80
movq %rcx, 0xa6aa(%rip)      # 0x14a68
movq %rcx, 0xb81b(%rip)      # 0x15be0
testl %eax, %eax
jle 0xa456
movq 0xa724(%rip), %rcx      # 0x14af8
xorpd %xmm3, %xmm3
movq 0xa711(%rip), %rdx      # 0x14af0
xorl %esi, %esi
xorpd %xmm0, %xmm0
xorpd %xmm4, %xmm4
movsd (%rcx,%rsi,8), %xmm5
subsd %xmm2, %xmm5
mulsd %xmm5, %xmm5
addsd %xmm5, %xmm3
movsd %xmm3, 0xa67e(%rip)     # 0x14a80
movsd (%rdx,%rsi,8), %xmm5
subsd (%rcx,%rsi,8), %xmm5
mulsd %xmm5, %xmm5
addsd %xmm5, %xmm0
movsd %xmm0, 0xa64c(%rip)     # 0x14a68
movsd (%rdx,%rsi,8), %xmm5
subsd %xmm2, %xmm5
mulsd %xmm5, %xmm5
addsd %xmm5, %xmm4
movsd %xmm4, 0xb7ab(%rip)     # 0x15be0
incq %rsi
cmpq %rsi, %rax
jne 0xa3e9
jmp 0xa45a
xorl %eax, %eax
movq %rax, 0xa638(%rip)      # 0x14a80
movq %rax, 0xa619(%rip)      # 0x14a68
movq %rax, 0xb78a(%rip)      # 0x15be0
xorpd %xmm0, %xmm0
divsd %xmm1, %xmm0
movsd %xmm0, 0xa60a(%rip)     # 0x14a70
xorpd %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jb 0xa476
sqrtsd %xmm0, %xmm0
jmp 0xa47b
callq 0x2210
movsd %xmm0, 0xa5f5(%rip)     # 0x14a78
movsd 0xa5f5(%rip), %xmm0     # 0x14a80
movsd 0xb73d(%rip), %xmm1     # 0x15bd0
divsd %xmm1, %xmm0
movsd %xmm0, 0xa5e9(%rip)     # 0x14a88
divsd 0xa5c9(%rip), %xmm0     # 0x14a70
movsd %xmm0, 0xa5e1(%rip)     # 0x14a90
movsd 0xa5a9(%rip), %xmm2     # 0x14a60
callq 0x7353
movsd 0xe04(%rip), %xmm1      # 0xb2c8
movapd %xmm1, %xmm2
subsd %xmm0, %xmm2
movsd %xmm2, 0xa5c4(%rip)     # 0x14a98
movsd 0xa58c(%rip), %xmm0     # 0x14a68
movsd 0xb6f4(%rip), %xmm2     # 0x15bd8
divsd 0xa574(%rip), %xmm2     # 0x14a60
movsd 0xb6ec(%rip), %xmm3     # 0x15be0
mulsd %xmm0, %xmm2
divsd %xmm3, %xmm0
movapd %xmm1, %xmm4
subsd %xmm0, %xmm4
movsd %xmm4, 0xa59c(%rip)     # 0x14aa8
divsd %xmm3, %xmm2
subsd %xmm2, %xmm1
movsd 0xa55c(%rip), %xmm0     # 0x14a78
mulsd 0xde4(%rip), %xmm0      # 0xb308
movsd %xmm1, 0xa584(%rip)     # 0x14ab0
divsd 0xa584(%rip), %xmm0     # 0x14ab8
movsd %xmm0, 0xa584(%rip)     # 0x14ac0
popq %rbp
retq