// File: /workspace/github_cpp_makefile_star2_O2/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 $0x48, %rsp
movq %rsi, %r14
xorpd %xmm1, %xmm1
movsd %xmm0, (%rsp)
ucomisd %xmm1, %xmm0
jbe 0x429f25
movq %rdi, %rbx
leaq 0x19a0b6(%rip), %rsi    # 0x5c3e69
movq %r14, %rdi
callq 0x406081
testb %al, %al
je 0x429dce
movsd 0x194251(%rip), %xmm0   # 0x5be018
divsd (%rsp), %xmm0
jmp 0x429dea
leaq 0x19a090(%rip), %rsi    # 0x5c3e65
movq %r14, %rdi
callq 0x406081
testb %al, %al
je 0x429e7b
movsd (%rsp), %xmm0
movsd %xmm0, (%rbx)
movsd 0x10(%rbx), %xmm1
movsd 0x19421d(%rip), %xmm0   # 0x5be018
ucomisd %xmm1, %xmm0
ja 0x429f03
movsd 0x20(%rbx), %xmm0
ucomisd %xmm0, %xmm1
ja 0x429f03
mulsd %xmm0, %xmm0
movsd 0x195380(%rip), %xmm1   # 0x5bf1a0
callq 0x4e1d70
movsd 0x19530b(%rip), %xmm1   # 0x5bf138
addsd %xmm0, %xmm1
mulsd %xmm0, %xmm1
movsd %xmm1, 0x40(%rbx)
movsd 0x195356(%rip), %xmm0   # 0x5bf198
divsd 0x18(%rbx), %xmm0
movsd %xmm0, 0x28(%rbx)
movsd 0x20(%rbx), %xmm0
mulsd %xmm0, %xmm0
movq %rbx, %rdi
callq 0x429fa8
movsd %xmm0, 0x30(%rbx)
xorpd %xmm0, %xmm0
movq %rbx, %rdi
callq 0x429fa8
movsd %xmm0, 0x38(%rbx)
addq $0x48, %rsp
popq %rbx
popq %r14
retq
leaq 0x198d41(%rip), %rsi    # 0x5c2bc3
movq %r14, %rdi
callq 0x406081
testb %al, %al
je 0x429e9d
movsd (%rsp), %xmm0
movsd %xmm0, 0x20(%rbx)
jmp 0x429dee
leaq 0x199fd1(%rip), %rsi    # 0x5c3e75
movq %r14, %rdi
callq 0x406081
testb %al, %al
je 0x429ebf
movsd (%rsp), %xmm0
movsd %xmm0, 0x8(%rbx)
jmp 0x429dee
leaq 0x199fbd(%rip), %rsi    # 0x5c3e83
movq %r14, %rdi
callq 0x406081
testb %al, %al
je 0x429ee1
movsd (%rsp), %xmm0
movsd %xmm0, 0x10(%rbx)
jmp 0x429dee
leaq 0x199fa4(%rip), %rsi    # 0x5c3e8c
movq %r14, %rdi
callq 0x406081
testb %al, %al
je 0x429f5a
movsd (%rsp), %xmm0
movsd %xmm0, 0x18(%rbx)
jmp 0x429dee
movq $0x64eaa0, %rdi         # imm = 0x64EAA0
leaq 0x199f8a(%rip), %rsi    # 0x5c3e9b
callq 0x4a4910
leaq 0x22379c(%rip), %rsi    # 0x64d6b9
movq %rax, %rdi
callq 0x434f95
leaq 0x1994c9(%rip), %rsi    # 0x5c33f5
leaq 0x28(%rsp), %rbx
movq %rbx, %rdi
movq %r14, %rdx
callq 0x4061da
leaq 0x1994bb(%rip), %rdx    # 0x5c33fe
leaq 0x8(%rsp), %rdi
movq %rbx, %rsi
callq 0x4067fc
leaq 0x8(%rsp), %rdi
callq 0x434d5b
leaq 0x195337(%rip), %rsi    # 0x5bf298
leaq 0x8(%rsp), %rbx
movq %rbx, %rdi
movq %r14, %rdx
callq 0x4061da
movq %rbx, %rdi
callq 0x434d5b
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
jmp 0x429f9a
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x4b4bf0
jmp 0x429f95
movq %rax, %rbx
leaq 0x28(%rsp), %rdi
callq 0x4b4bf0
movq %rbx, %rdi
callq 0x4eb220
nop