// File: Cell-veto[P]postlhc/./lj.hpp
// Function: LennardJones::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 == "strength")
            strength = value;
        else if (name == "scale")
            scale = value;
        else if (name == "cutoff")
            cutoff = value;
        else if (name == "sr_lr_split")
            sr_lr_split = value;
        else
            rt_error ("Invalid parameter: " + name);

        // after changing any parameters, the prober _must_ be re-initialized.
        prober.clear ();

        // precompute some interesting quantities
        rep_cutoff  = fmin (LJ_MINIMUM, cutoff, sr_lr_split);
        attr_cutoff = fmin (cutoff, sr_lr_split);
        lj_at_cutoff = evaluate_lj (sq (attr_cutoff));
        if (sr_lr_split > cutoff)
            probe_prefactor = 0.;
        else
            probe_prefactor = strength * 6.0001 * pow6 (scale)
                * fmax (1, fabs (2 / pow6 (sr_lr_split) - 1));
    }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xb0, %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 0x449af1
movq -0x10(%rbp), %rdx
leaq 0x1b7471(%rip), %rsi    # 0x600efd
leaq -0x58(%rbp), %rdi
movq %rdi, -0x98(%rbp)
callq 0x407fd0
movq -0x98(%rbp), %rsi
leaq 0x1b745c(%rip), %rdx    # 0x600f06
leaq -0x38(%rbp), %rdi
callq 0x409770
jmp 0x449ab5
leaq -0x38(%rbp), %rdi
callq 0x46d330
jmp 0x449ac0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
jmp 0x449ae3
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 0x449d2c
movq -0x10(%rbp), %rdi
leaq 0x1b292a(%rip), %rsi    # 0x5fc426
callq 0x407c80
testb $0x1, %al
jne 0x449b07
jmp 0x449b1c
movq -0x90(%rbp), %rax
movsd -0x18(%rbp), %xmm0
movsd %xmm0, (%rax)
jmp 0x449be9
movq -0x10(%rbp), %rdi
leaq 0x1b73e6(%rip), %rsi    # 0x600f0d
callq 0x407c80
testb $0x1, %al
jne 0x449b32
jmp 0x449b48
movq -0x90(%rbp), %rax
movsd -0x18(%rbp), %xmm0
movsd %xmm0, 0x10(%rax)
jmp 0x449be7
movq -0x10(%rbp), %rdi
leaq 0x1b67df(%rip), %rsi    # 0x600332
callq 0x407c80
testb $0x1, %al
jne 0x449b5e
jmp 0x449b71
movq -0x90(%rbp), %rax
movsd -0x18(%rbp), %xmm0
movsd %xmm0, 0x18(%rax)
jmp 0x449be5
movq -0x10(%rbp), %rdi
leaq 0x1b1864(%rip), %rsi    # 0x5fb3e0
callq 0x407c80
testb $0x1, %al
jne 0x449b87
jmp 0x449b9a
movq -0x90(%rbp), %rax
movsd -0x18(%rbp), %xmm0
movsd %xmm0, 0x8(%rax)
jmp 0x449be3
movq -0x10(%rbp), %rdx
leaq 0x1b28cb(%rip), %rsi    # 0x5fc470
leaq -0x88(%rbp), %rdi
movq %rdi, -0xa0(%rbp)
callq 0x407fd0
movq -0xa0(%rbp), %rdi
callq 0x46d330
jmp 0x449bc6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0x88(%rbp), %rdi
callq 0x4f1e40
jmp 0x449d2c
jmp 0x449be5
jmp 0x449be7
jmp 0x449be9
movq -0x90(%rbp), %rdi
addq $0x40, %rdi
callq 0x43c280
movq -0x90(%rbp), %rax
movsd 0x18(%rax), %xmm1
movsd 0x8(%rax), %xmm2
movsd 0x1b728e(%rip), %xmm0   # 0x600ea0
callq 0x449d40
movq -0x90(%rbp), %rax
movsd %xmm0, 0x20(%rax)
movsd 0x18(%rax), %xmm3
movsd 0x8(%rax), %xmm2
movaps %xmm2, %xmm4
movaps %xmm3, %xmm0
cmpunordsd %xmm0, %xmm0
movaps %xmm0, %xmm1
pand %xmm4, %xmm1
minsd %xmm3, %xmm2
pandn %xmm2, %xmm0
por %xmm1, %xmm0
movsd %xmm0, 0x28(%rax)
movsd 0x28(%rax), %xmm0
callq 0x418110
callq 0x449da0
movq -0x90(%rbp), %rax
movsd %xmm0, 0x30(%rax)
movsd 0x8(%rax), %xmm0
ucomisd 0x18(%rax), %xmm0
jbe 0x449c8b
movq -0x90(%rbp), %rax
xorps %xmm0, %xmm0
movsd %xmm0, 0x38(%rax)
jmp 0x449d23
movq -0x90(%rbp), %rax
movsd 0x1b720e(%rip), %xmm0   # 0x600ea8
mulsd (%rax), %xmm0
movsd %xmm0, -0xb0(%rbp)
movsd 0x10(%rax), %xmm0
callq 0x449df0
movq -0x90(%rbp), %rax
movaps %xmm0, %xmm1
movsd -0xb0(%rbp), %xmm0
mulsd %xmm1, %xmm0
movsd %xmm0, -0xa8(%rbp)
movsd 0x8(%rax), %xmm0
callq 0x449df0
movaps %xmm0, %xmm1
movsd 0x1b25cd(%rip), %xmm0   # 0x5fc2b0
divsd %xmm1, %xmm0
movsd 0x1b1329(%rip), %xmm1   # 0x5fb018
subsd %xmm1, %xmm0
movaps 0x1b26c6(%rip), %xmm1   # 0x5fc3c0
pand %xmm1, %xmm0
movl $0x1, %edi
callq 0x449e20
movq -0x90(%rbp), %rax
movaps %xmm0, %xmm1
movsd -0xa8(%rbp), %xmm0
mulsd %xmm1, %xmm0
movsd %xmm0, 0x38(%rax)
addq $0xb0, %rsp
popq %rbp
retq
movq -0x60(%rbp), %rdi
callq 0x5283c0
nopw %cs:(%rax,%rax)
nop