// File: /workspace/github_cpp_makefile_star2_O1/PeterDenton[P]Nu-Pert/src/Hyperbolas.cpp
// Function: Hyperbolas::s12msq(double)
double s12msq(double D)
{
	double x = (pow(Hyperbolas::l2(D), 2) - alpha() * Hyperbolas::l2(D) + beta()) * Hyperbolas::Dl31(D);
	double s12msq_n = -x;
	double s12msq_d = Hyperbolas::Dl32(D) * (pow(Hyperbolas::l1(D), 2) - alpha() * Hyperbolas::l1(D) + beta()) - x;
	return s12msq_n / s12msq_d;
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x60, %rsp
movsd %xmm0, (%rsp)
callq 0x83c3
mulsd %xmm0, %xmm0
movsd %xmm0, 0x10(%rsp)
leaq 0xa62b(%rip), %rbx      # 0x13180
leaq 0x5774(%rip), %rax      # 0xe2d0
movsd (%rax), %xmm2
movsd %xmm2, 0x28(%rsp)
leaq 0x5743(%rip), %rax      # 0xe2b0
movsd (%rax), %xmm3
movsd %xmm3, 0x40(%rsp)
leaq 0x5742(%rip), %rax      # 0xe2c0
movsd (%rax), %xmm1
movsd %xmm1, 0x48(%rsp)
leaq 0x5719(%rip), %rax      # 0xe2a8
movapd %xmm2, %xmm0
mulsd %xmm1, %xmm0
addsd (%rax), %xmm0
mulsd %xmm3, %xmm0
movsd (%rbx), %xmm1
mulsd %xmm2, %xmm1
movsd %xmm0, 0x18(%rsp)
addsd %xmm0, %xmm1
movsd %xmm1, 0x8(%rsp)
movsd (%rsp), %xmm0
callq 0x83c3
mulsd 0x8(%rsp), %xmm0
movsd 0x10(%rsp), %xmm1
subsd %xmm0, %xmm1
movsd (%rbx), %xmm0
mulsd 0x28(%rsp), %xmm0
mulsd 0x40(%rsp), %xmm0
mulsd 0x48(%rsp), %xmm0
addsd %xmm1, %xmm0
movapd %xmm0, 0x30(%rsp)
movsd (%rsp), %xmm0
callq 0x8670
movsd %xmm0, 0x10(%rsp)
movaps 0x30(%rsp), %xmm0
xorps 0x5413(%rip), %xmm0     # 0xe020
movaps %xmm0, 0x30(%rsp)
movsd (%rsp), %xmm0
callq 0x87a5
movsd %xmm0, 0x58(%rsp)
leaq 0x56df(%rip), %rax      # 0xe308
movsd (%rax), %xmm0
addsd %xmm0, %xmm0
movsd %xmm0, 0x20(%rsp)
callq 0x22c0
leaq 0xa54d(%rip), %r14      # 0x13190
mulsd (%r14), %xmm0
leaq 0xa539(%rip), %r15      # 0x13188
mulsd (%r15), %xmm0
movsd (%rsp), %xmm1
subsd %xmm0, %xmm1
movsd %xmm1, 0x8(%rsp)
mulsd %xmm1, %xmm1
movsd %xmm1, 0x50(%rsp)
movsd 0x20(%rsp), %xmm0
callq 0x2070
mulsd (%r14), %xmm0
mulsd (%r15), %xmm0
mulsd %xmm0, %xmm0
addsd 0x50(%rsp), %xmm0
xorpd %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jb 0x8c9c
sqrtsd %xmm0, %xmm0
jmp 0x8ca1
callq 0x2120
movsd 0x10(%rsp), %xmm1
mulsd 0x30(%rsp), %xmm1
movsd %xmm1, 0x10(%rsp)
movsd 0x8(%rsp), %xmm1
subsd %xmm0, %xmm1
mulsd 0x5343(%rip), %xmm1     # 0xe008
addsd 0xa4e3(%rip), %xmm1     # 0x131b0
mulsd %xmm1, %xmm1
movsd %xmm1, 0x8(%rsp)
movsd (%rbx), %xmm0
mulsd 0x28(%rsp), %xmm0
addsd 0x18(%rsp), %xmm0
movsd %xmm0, 0x30(%rsp)
movsd 0x20(%rsp), %xmm0
callq 0x22c0
mulsd (%r14), %xmm0
mulsd (%r15), %xmm0
movsd (%rsp), %xmm1
subsd %xmm0, %xmm1
movsd %xmm1, (%rsp)
mulsd %xmm1, %xmm1
movsd %xmm1, 0x18(%rsp)
movsd 0x20(%rsp), %xmm0
callq 0x2070
mulsd (%r14), %xmm0
mulsd (%r15), %xmm0
mulsd %xmm0, %xmm0
addsd 0x18(%rsp), %xmm0
ucomisd 0x5617(%rip), %xmm0     # 0xe358
jb 0x8d49
sqrtsd %xmm0, %xmm0
jmp 0x8d4e
callq 0x2120
movsd (%rsp), %xmm1
subsd %xmm0, %xmm1
mulsd 0x52a9(%rip), %xmm1     # 0xe008
addsd 0xa449(%rip), %xmm1     # 0x131b0
movsd 0x30(%rsp), %xmm3
mulsd %xmm1, %xmm3
movsd 0x28(%rsp), %xmm0
mulsd (%rbx), %xmm0
movsd 0x8(%rsp), %xmm2
subsd %xmm3, %xmm2
movsd 0x40(%rsp), %xmm1
mulsd %xmm0, %xmm1
movsd 0x48(%rsp), %xmm0
mulsd %xmm1, %xmm0
addsd %xmm2, %xmm0
movsd 0x58(%rsp), %xmm1
mulsd %xmm0, %xmm1
movsd 0x10(%rsp), %xmm0
addsd %xmm0, %xmm1
divsd %xmm1, %xmm0
addq $0x60, %rsp
popq %rbx
popq %r14
popq %r15
retq