// File: /workspace/github_cpp_makefile_star2_O3/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 0x4b0da(%rip), %xmm3    # 0x6a9b8
mulsd %xmm1, %xmm3
movsd 0x4a036(%rip), %xmm6    # 0x69920
movsd 0x4b0e6(%rip), %xmm4    # 0x6a9d8
mulsd %xmm1, %xmm4
mulsd %xmm1, %xmm4
addsd %xmm3, %xmm4
addsd %xmm6, %xmm3
movsd 0x4b0b6(%rip), %xmm5    # 0x6a9c0
mulsd %xmm1, %xmm5
mulsd %xmm1, %xmm5
addsd %xmm3, %xmm5
movsd 0x4b0aa(%rip), %xmm3    # 0x6a9c8
mulsd %xmm1, %xmm3
mulsd %xmm1, %xmm3
mulsd %xmm1, %xmm3
addsd %xmm5, %xmm3
movsd 0x4b09a(%rip), %xmm5    # 0x6a9d0
mulsd %xmm1, %xmm5
mulsd %xmm1, %xmm5
mulsd %xmm1, %xmm5
mulsd %xmm1, %xmm5
addsd %xmm3, %xmm5
movsd %xmm5, -0x50(%rbp)
movsd 0x4b089(%rip), %xmm3    # 0x6a9e0
mulsd %xmm1, %xmm3
mulsd %xmm1, %xmm3
mulsd %xmm1, %xmm3
addsd %xmm4, %xmm3
movsd 0x4b079(%rip), %xmm4    # 0x6a9e8
mulsd %xmm1, %xmm4
mulsd %xmm1, %xmm4
mulsd %xmm1, %xmm4
mulsd %xmm1, %xmm4
addsd %xmm3, %xmm4
mulsd 0x4b065(%rip), %xmm4    # 0x6a9f0
fldl -0x50(%rbp)
fstpt -0xc(%rbp)
movsd %xmm4, -0x38(%rbp)
fldl -0x38(%rbp)
fstpt -0xa0(%rbp)
movsd 0x4b051(%rip), %xmm3    # 0x6a9f8
mulsd %xmm1, %xmm3
movsd 0x4b04d(%rip), %xmm4    # 0x6aa00
mulsd %xmm1, %xmm4
mulsd %xmm1, %xmm4
mulsd %xmm1, %xmm4
mulsd %xmm1, %xmm3
addsd %xmm4, %xmm3
movsd 0x4b039(%rip), %xmm4    # 0x6aa08
mulsd %xmm1, %xmm4
mulsd %xmm1, %xmm4
mulsd %xmm1, %xmm4
mulsd %xmm1, %xmm4
addsd %xmm3, %xmm4
mulsd 0x4b025(%rip), %xmm4    # 0x6aa10
movsd %xmm4, -0x40(%rbp)
movsd 0x4b020(%rip), %xmm3    # 0x6aa18
mulsd %xmm1, %xmm3
mulsd %xmm1, %xmm3
movsd 0x4b018(%rip), %xmm4    # 0x6aa20
mulsd %xmm1, %xmm4
mulsd %xmm1, %xmm4
mulsd %xmm1, %xmm4
mulsd %xmm1, %xmm4
mulsd %xmm1, %xmm3
addsd %xmm4, %xmm3
mulsd 0x4b000(%rip), %xmm3    # 0x6aa28
fldl -0x40(%rbp)
fstpt -0x7c(%rbp)
movsd %xmm3, -0x48(%rbp)
fldl -0x48(%rbp)
fstpt -0x94(%rbp)
movsd 0x4afec(%rip), %xmm3    # 0x6aa30
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 0x8150
movsd %xmm0, -0x58(%rbp)
fldt -0xa0(%rbp)
fmull -0x58(%rbp)
fldt -0xc(%rbp)
fmull -0x70(%rbp)
faddp %st, %st(1)
fstpt -0xc(%rbp)
movsd 0x4ae05(%rip), %xmm0    # 0x6a8a8
mulsd -0x18(%rbp), %xmm0
callq 0x8150
movsd %xmm0, -0x30(%rbp)
fldt -0x7c(%rbp)
fmull -0x30(%rbp)
fldt -0xc(%rbp)
faddp %st, %st(1)
fstpt -0xc(%rbp)
movsd 0x4af70(%rip), %xmm0    # 0x6aa38
mulsd -0x18(%rbp), %xmm0
callq 0x8150
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 0x4af4b(%rip), %xmm0    # 0x6aa40
callq 0x8150
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