// File: /workspace/github_cpp_makefile_star2_O2/DoubleString[P]RtConverter/src/Rnxobs/Com.cpp
// Function: bamboo::GetX(double, double, double)
long double GetX(double RadLat, double eSquare, double a) {
	long double X;
	long double A0;
	long double A2;
	long double A4;
	long double A6;
	long double A8;	///*  from hsq
	A0 = 1 + 3.0 / 4.0 * eSquare + 45.0 / 64.0 * eSquare * eSquare
			+ 350.0 / 512.0 * eSquare * eSquare * eSquare
			+ 11025.0 / 16384.0 * eSquare * eSquare * eSquare * eSquare;
	A2 =
			-1.0 / 2.0
					* (3.0 / 4.0 * eSquare + 60.0 / 64.0 * eSquare * eSquare
							+ 525.0 / 512.0 * eSquare * eSquare * eSquare
							+ 17640.0 / 16384.0 * eSquare * eSquare * eSquare
									* eSquare);
	A4 = 1.0 / 4.0
			* (15.0 / 64.0 * eSquare * eSquare
					+ 210.0 / 512.0 * eSquare * eSquare * eSquare
					+ 8820.0 / 16384.0 * eSquare * eSquare * eSquare * eSquare);
	A6 = -1.0 / 6.0
			* (35.0 / 512.0 * eSquare * eSquare * eSquare
					+ 2520.0 / 16384.0 * eSquare * eSquare * eSquare * eSquare);
	A8 = 1.0 / 8.0 * 315.0 / 16384.0 * eSquare * eSquare * eSquare * eSquare;
	X = a * (1 - eSquare)
			* (A0 * RadLat + A2 * sin(2 * RadLat) + A4 * sin(4 * RadLat)
					+ A6 * sin(6 * RadLat) + A8 * sin(8 * RadLat));
	return X;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xa0, %rsp
movsd 0x44613(%rip), %xmm3    # 0x609a8
mulsd %xmm1, %xmm3
movsd 0x4357f(%rip), %xmm6    # 0x5f920
movsd 0x4461f(%rip), %xmm4    # 0x609c8
mulsd %xmm1, %xmm4
mulsd %xmm1, %xmm4
addsd %xmm3, %xmm4
addsd %xmm6, %xmm3
movsd 0x445ef(%rip), %xmm5    # 0x609b0
mulsd %xmm1, %xmm5
mulsd %xmm1, %xmm5
addsd %xmm3, %xmm5
movsd 0x445e3(%rip), %xmm3    # 0x609b8
mulsd %xmm1, %xmm3
mulsd %xmm1, %xmm3
mulsd %xmm1, %xmm3
addsd %xmm5, %xmm3
movsd 0x445d3(%rip), %xmm5    # 0x609c0
mulsd %xmm1, %xmm5
mulsd %xmm1, %xmm5
mulsd %xmm1, %xmm5
mulsd %xmm1, %xmm5
addsd %xmm3, %xmm5
movsd %xmm5, -0x50(%rbp)
movsd 0x445c2(%rip), %xmm3    # 0x609d0
mulsd %xmm1, %xmm3
mulsd %xmm1, %xmm3
mulsd %xmm1, %xmm3
addsd %xmm4, %xmm3
movsd 0x445b2(%rip), %xmm4    # 0x609d8
mulsd %xmm1, %xmm4
mulsd %xmm1, %xmm4
mulsd %xmm1, %xmm4
mulsd %xmm1, %xmm4
addsd %xmm3, %xmm4
mulsd 0x4459e(%rip), %xmm4    # 0x609e0
fldl -0x50(%rbp)
fstpt -0xc(%rbp)
movsd %xmm4, -0x38(%rbp)
fldl -0x38(%rbp)
fstpt -0xa0(%rbp)
movsd 0x4458a(%rip), %xmm3    # 0x609e8
mulsd %xmm1, %xmm3
movsd 0x44586(%rip), %xmm4    # 0x609f0
mulsd %xmm1, %xmm4
mulsd %xmm1, %xmm4
mulsd %xmm1, %xmm4
mulsd %xmm1, %xmm3
addsd %xmm4, %xmm3
movsd 0x44572(%rip), %xmm4    # 0x609f8
mulsd %xmm1, %xmm4
mulsd %xmm1, %xmm4
mulsd %xmm1, %xmm4
mulsd %xmm1, %xmm4
addsd %xmm3, %xmm4
mulsd 0x4455e(%rip), %xmm4    # 0x60a00
movsd %xmm4, -0x40(%rbp)
movsd 0x44559(%rip), %xmm3    # 0x60a08
mulsd %xmm1, %xmm3
mulsd %xmm1, %xmm3
movsd 0x44551(%rip), %xmm4    # 0x60a10
mulsd %xmm1, %xmm4
mulsd %xmm1, %xmm4
mulsd %xmm1, %xmm4
mulsd %xmm1, %xmm4
mulsd %xmm1, %xmm3
addsd %xmm4, %xmm3
mulsd 0x44539(%rip), %xmm3    # 0x60a18
fldl -0x40(%rbp)
fstpt -0x7c(%rbp)
movsd %xmm3, -0x48(%rbp)
fldl -0x48(%rbp)
fstpt -0x94(%rbp)
movsd 0x44525(%rip), %xmm3    # 0x60a20
mulsd %xmm1, %xmm3
mulsd %xmm1, %xmm3
mulsd %xmm1, %xmm3
mulsd %xmm1, %xmm3
movsd %xmm3, -0x60(%rbp)
fldl -0x60(%rbp)
fstpt -0x88(%rbp)
subsd %xmm1, %xmm6
mulsd %xmm2, %xmm6
movsd %xmm6, -0x68(%rbp)
movsd %xmm0, -0x18(%rbp)
movsd %xmm0, -0x70(%rbp)
addsd %xmm0, %xmm0
callq 0x8160
movsd %xmm0, -0x58(%rbp)
fldt -0xa0(%rbp)
fmull -0x58(%rbp)
fldt -0xc(%rbp)
fmull -0x70(%rbp)
faddp %st, %st(1)
fstpt -0xc(%rbp)
movsd 0x4433e(%rip), %xmm0    # 0x60898
mulsd -0x18(%rbp), %xmm0
callq 0x8160
movsd %xmm0, -0x30(%rbp)
fldt -0x7c(%rbp)
fmull -0x30(%rbp)
fldt -0xc(%rbp)
faddp %st, %st(1)
fstpt -0xc(%rbp)
movsd 0x444a9(%rip), %xmm0    # 0x60a28
mulsd -0x18(%rbp), %xmm0
callq 0x8160
movsd %xmm0, -0x28(%rbp)
fldt -0x94(%rbp)
fmull -0x28(%rbp)
fldt -0xc(%rbp)
faddp %st, %st(1)
fstpt -0xc(%rbp)
movsd -0x18(%rbp), %xmm0
mulsd 0x44484(%rip), %xmm0    # 0x60a30
callq 0x8160
movsd %xmm0, -0x20(%rbp)
fldt -0x88(%rbp)
fmull -0x20(%rbp)
fldt -0xc(%rbp)
faddp %st, %st(1)
fmull -0x68(%rbp)
addq $0xa0, %rsp
popq %rbp
retq