// File: 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 %rbp
movq %rsp, %rbp
subq $0xa0, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movsd %xmm0, -0x18(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x90(%rbp)
movsd -0x18(%rbp), %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
ja 0x453ef1
movq -0x10(%rbp), %rdx
leaq 0x1ad071(%rip), %rsi    # 0x600efd
leaq -0x58(%rbp), %rdi
movq %rdi, -0x98(%rbp)
callq 0x407fd0
movq -0x98(%rbp), %rsi
leaq 0x1ad05c(%rip), %rdx    # 0x600f06
leaq -0x38(%rbp), %rdi
callq 0x409770
jmp 0x453eb5
leaq -0x38(%rbp), %rdi
callq 0x46d330
jmp 0x453ec0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
jmp 0x453ee3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0x38(%rbp), %rdi
callq 0x4f1e40
leaq -0x58(%rbp), %rdi
callq 0x4f1e40
jmp 0x45411a
movq -0x10(%rbp), %rdi
leaq 0x1adcfd(%rip), %rsi    # 0x601bf9
callq 0x407c80
testb $0x1, %al
jne 0x453f07
jmp 0x453f24
movq -0x90(%rbp), %rax
movsd 0x1a7102(%rip), %xmm0   # 0x5fb018
divsd -0x18(%rbp), %xmm0
movsd %xmm0, (%rax)
jmp 0x45404c
movq -0x10(%rbp), %rdi
leaq 0x1adcc6(%rip), %rsi    # 0x601bf5
callq 0x407c80
testb $0x1, %al
jne 0x453f3a
jmp 0x453f4f
movq -0x90(%rbp), %rax
movsd -0x18(%rbp), %xmm0
movsd %xmm0, (%rax)
jmp 0x45404a
movq -0x10(%rbp), %rdi
leaq 0x1ac3d8(%rip), %rsi    # 0x600332
callq 0x407c80
testb $0x1, %al
jne 0x453f65
jmp 0x453f7b
movq -0x90(%rbp), %rax
movsd -0x18(%rbp), %xmm0
movsd %xmm0, 0x20(%rax)
jmp 0x454048
movq -0x10(%rbp), %rdi
leaq 0x1adc7f(%rip), %rsi    # 0x601c05
callq 0x407c80
testb $0x1, %al
jne 0x453f91
jmp 0x453fa7
movq -0x90(%rbp), %rax
movsd -0x18(%rbp), %xmm0
movsd %xmm0, 0x8(%rax)
jmp 0x454046
movq -0x10(%rbp), %rdi
leaq 0x1adc61(%rip), %rsi    # 0x601c13
callq 0x407c80
testb $0x1, %al
jne 0x453fbd
jmp 0x453fd0
movq -0x90(%rbp), %rax
movsd -0x18(%rbp), %xmm0
movsd %xmm0, 0x10(%rax)
jmp 0x454044
movq -0x10(%rbp), %rdi
leaq 0x1adc41(%rip), %rsi    # 0x601c1c
callq 0x407c80
testb $0x1, %al
jne 0x453fe6
jmp 0x453ff9
movq -0x90(%rbp), %rax
movsd -0x18(%rbp), %xmm0
movsd %xmm0, 0x18(%rax)
jmp 0x454042
movq -0x10(%rbp), %rdx
leaq 0x1a846c(%rip), %rsi    # 0x5fc470
leaq -0x88(%rbp), %rdi
movq %rdi, -0xa0(%rbp)
callq 0x407fd0
movq -0xa0(%rbp), %rdi
callq 0x46d330
jmp 0x454025
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0x88(%rbp), %rdi
callq 0x4f1e40
jmp 0x45411a
jmp 0x454044
jmp 0x454046
jmp 0x454048
jmp 0x45404a
jmp 0x45404c
movq -0x90(%rbp), %rax
movsd 0x1a6fbd(%rip), %xmm0   # 0x5fb018
ucomisd 0x10(%rax), %xmm0
ja 0x454079
movq -0x90(%rbp), %rax
movsd 0x20(%rax), %xmm1
movsd 0x10(%rax), %xmm0
ucomisd %xmm1, %xmm0
jbe 0x45409b
movq $0x698ac0, %rdi         # imm = 0x698AC0
leaq 0x1adba4(%rip), %rsi    # 0x601c2b
callq 0x4e1b60
movq %rax, %rdi
leaq 0x243643(%rip), %rsi    # 0x6976d9
callq 0x46d700
movq -0x90(%rbp), %rax
movsd 0x20(%rax), %xmm0
callq 0x418110
callq 0x454130
movq -0x90(%rbp), %rax
movsd %xmm0, 0x40(%rax)
movsd 0x1a829b(%rip), %xmm0   # 0x5fc360
divsd 0x18(%rax), %xmm0
movsd %xmm0, 0x28(%rax)
movsd 0x20(%rax), %xmm0
callq 0x418110
movq -0x90(%rbp), %rdi
callq 0x454180
movq -0x90(%rbp), %rax
movsd %xmm0, 0x30(%rax)
xorps %xmm0, %xmm0
callq 0x418110
movq -0x90(%rbp), %rdi
callq 0x454180
movq -0x90(%rbp), %rax
movsd %xmm0, 0x38(%rax)
addq $0xa0, %rsp
popq %rbp
retq
movq -0x60(%rbp), %rdi
callq 0x5283c0
nopw %cs:(%rax,%rax)
nopl (%rax)