// File: /workspace/github_cpp_makefile_star2_O1/Cell-veto[P]postlhc/ljg.cpp
// Function: LennardJonesGauss::set_parameter(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, double)
void set_parameter (string_ref name, double value)
    {
        if (! (value > 0.))
            rt_error ("Invalid " + name + " value");

        if (name == "temperature")
            inv_temperature = 1./value;
        else if (name == "inv_temperature")
            inv_temperature = value;
        else if (name == "cutoff")
            cutoff = value;
        else if (name == "gauss_epsilon")
            gauss_epsilon = value;
        else if (name == "gauss_r0")
            gauss_r0 = value;
        else if (name == "gauss_sigma_sq")
            gauss_sigma_sq = value;
        else
            rt_error ("Invalid parameter: " + name);

        if (gauss_r0 < LJ_MINIMUM || cutoff < gauss_r0)
            std::cerr << "Code is not correct in this regime" << ABORT;

        // precompute some interesting quantities
        lj_at_cutoff = evaluate_lj (sq (cutoff));
        pref_g = -.5 / gauss_sigma_sq;
        g_at_cutoff = evaluate_g (sq (cutoff));
        g_at_origin = evaluate_g (sq (0.));
    }

// Assembly:
pushq %r14
pushq %rbx
subq $0x58, %rsp
movq %rsi, %r14
xorpd %xmm1, %xmm1
movsd %xmm0, (%rsp)
ucomisd %xmm1, %xmm0
jbe 0x43387f
movq %rdi, %rbx
leaq 0x19c2fa(%rip), %rsi    # 0x5cf9a9
movq %r14, %rdi
callq 0x4c3ef0
testl %eax, %eax
je 0x433736
leaq 0x19c2e3(%rip), %rsi    # 0x5cf9a5
movq %r14, %rdi
callq 0x4c3ef0
testl %eax, %eax
je 0x433745
leaq 0x19b0a6(%rip), %rsi    # 0x5ce77b
movq %r14, %rdi
callq 0x4c3ef0
testl %eax, %eax
je 0x433830
leaq 0x19c2c9(%rip), %rsi    # 0x5cf9b5
movq %r14, %rdi
callq 0x4c3ef0
testl %eax, %eax
je 0x43383f
leaq 0x19c2c0(%rip), %rsi    # 0x5cf9c3
movq %r14, %rdi
callq 0x4c3ef0
testl %eax, %eax
je 0x43384e
leaq 0x19c2b2(%rip), %rsi    # 0x5cf9cc
movq %r14, %rdi
callq 0x4c3ef0
testl %eax, %eax
jne 0x4338f6
movsd (%rsp), %xmm0
movsd %xmm0, 0x18(%rbx)
jmp 0x43374e
movsd 0x1968da(%rip), %xmm0   # 0x5ca018
divsd (%rsp), %xmm0
jmp 0x43374a
movsd (%rsp), %xmm0
movsd %xmm0, (%rbx)
movsd 0x10(%rbx), %xmm1
movsd 0x1968bd(%rip), %xmm0   # 0x5ca018
ucomisd %xmm1, %xmm0
ja 0x43385d
movsd 0x20(%rbx), %xmm0
ucomisd %xmm0, %xmm1
ja 0x43385d
mulsd %xmm0, %xmm0
movsd 0x1978e8(%rip), %xmm1   # 0x5cb068
callq 0x4ee2f0
movsd 0x197873(%rip), %xmm1   # 0x5cb000
addsd %xmm0, %xmm1
mulsd %xmm0, %xmm1
movsd %xmm1, 0x40(%rbx)
movsd 0x1978be(%rip), %xmm0   # 0x5cb060
divsd 0x18(%rbx), %xmm0
movsd %xmm0, 0x28(%rbx)
movsd 0x20(%rbx), %xmm0
mulsd %xmm0, %xmm0
xorpd %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jb 0x4337c5
sqrtsd %xmm0, %xmm0
jmp 0x4337ca
callq 0x4ee410
movsd 0x8(%rbx), %xmm1
subsd 0x10(%rbx), %xmm0
xorps 0x1978f5(%rip), %xmm1   # 0x5cb0d0
movaps %xmm1, (%rsp)
mulsd %xmm0, %xmm0
mulsd 0x28(%rbx), %xmm0
callq 0x4ee440
mulsd (%rsp), %xmm0
movsd %xmm0, 0x30(%rbx)
movsd 0x8(%rbx), %xmm1
xorpd %xmm0, %xmm0
subsd 0x10(%rbx), %xmm0
xorps 0x1978c4(%rip), %xmm1   # 0x5cb0d0
movaps %xmm1, (%rsp)
mulsd %xmm0, %xmm0
mulsd 0x28(%rbx), %xmm0
callq 0x4ee440
mulsd (%rsp), %xmm0
movsd %xmm0, 0x38(%rbx)
addq $0x58, %rsp
popq %rbx
popq %r14
retq
movsd (%rsp), %xmm0
movsd %xmm0, 0x20(%rbx)
jmp 0x43374e
movsd (%rsp), %xmm0
movsd %xmm0, 0x8(%rbx)
jmp 0x43374e
movsd (%rsp), %xmm0
movsd %xmm0, 0x10(%rbx)
jmp 0x43374e
movq $0x656aa0, %rdi         # imm = 0x656AA0
leaq 0x19c170(%rip), %rsi    # 0x5cf9db
callq 0x4b1a00
leaq 0x221e42(%rip), %rsi    # 0x6556b9
movq %rax, %rdi
callq 0x440cc2
leaq 0x19b68f(%rip), %rsi    # 0x5cef15
leaq 0x38(%rsp), %rbx
movq %rbx, %rdi
movq %r14, %rdx
callq 0x407ce4
leaq 0x19b681(%rip), %rsi    # 0x5cef1e
movq %rbx, %rdi
callq 0x4c3490
leaq 0x28(%rsp), %r14
movq %r14, -0x10(%r14)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0x4338c8
movupd (%rcx), %xmm0
movupd %xmm0, (%r14)
jmp 0x4338d5
movq %rdx, 0x18(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x28(%rsp)
movq 0x8(%rax), %rdx
leaq 0x18(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
callq 0x440975
leaq 0x1978a3(%rip), %rsi    # 0x5cb1a0
leaq 0x18(%rsp), %rbx
movq %rbx, %rdi
movq %r14, %rdx
callq 0x407ce4
movq %rbx, %rdi
callq 0x440975
movq %rax, %rbx
leaq 0x28(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x433967
movq 0x28(%rsp), %rsi
jmp 0x43395f
movq %rax, %rbx
movq 0x18(%rsp), %rdi
cmpq %r14, %rdi
je 0x43394c
movq 0x28(%rsp), %rsi
incq %rsi
callq 0x4440d0
jmp 0x43394c
movq %rax, %rbx
leaq 0x48(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x433967
movq 0x48(%rsp), %rsi
incq %rsi
callq 0x4440d0
movq %rbx, %rdi
callq 0x4f77a0
nop