// File: /workspace/github_cpp_makefile_star2_O2/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 %r14
pushq %rbx
subq $0x48, %rsp
movq %rsi, %r14
xorpd %xmm1, %xmm1
movsd %xmm0, (%rsp)
ucomisd %xmm1, %xmm0
jbe 0x4242a3
movq %rdi, %rbx
leaq 0x19b0e3(%rip), %rsi    # 0x5bf24e
movq %r14, %rdi
callq 0x406081
movq %rbx, %rcx
testb %al, %al
jne 0x4241c7
leaq 0x19f284(%rip), %rsi    # 0x5c3405
movq %r14, %rdi
callq 0x406081
testb %al, %al
je 0x424193
leaq 0x10(%rbx), %rcx
jmp 0x4241c7
leaq 0x19ea29(%rip), %rsi    # 0x5c2bc3
movq %r14, %rdi
callq 0x406081
testb %al, %al
je 0x4241ac
leaq 0x18(%rbx), %rcx
jmp 0x4241c7
leaq 0x19a045(%rip), %rsi    # 0x5be1f8
movq %r14, %rdi
callq 0x406081
testb %al, %al
je 0x4242d8
leaq 0x8(%rbx), %rcx
movsd (%rsp), %xmm0
movsd %xmm0, (%rcx)
movabsq $-0x4010000000000000, %rax # imm = 0xBFF0000000000000
movq %rax, 0x40(%rbx)
movsd 0x8(%rbx), %xmm1
movsd 0x18(%rbx), %xmm0
callq 0x4e1ce0
movapd %xmm0, %xmm1
minsd 0x19f18f(%rip), %xmm1   # 0x5c3388
movsd %xmm1, 0x20(%rbx)
movsd %xmm0, 0x28(%rbx)
mulsd %xmm0, %xmm0
movsd 0x19af91(%rip), %xmm1   # 0x5bf1a0
callq 0x4e1d70
movsd 0x19af14(%rip), %xmm1   # 0x5bf130
addsd %xmm0, %xmm1
mulsd %xmm0, %xmm1
movsd %xmm1, 0x30(%rbx)
movsd 0x8(%rbx), %xmm0
xorpd %xmm1, %xmm1
ucomisd 0x18(%rbx), %xmm0
ja 0x424296
movsd (%rbx), %xmm2
movsd 0x10(%rbx), %xmm1
mulsd 0x19f146(%rip), %xmm2   # 0x5c3390
mulsd %xmm1, %xmm1
movapd %xmm1, %xmm3
mulsd %xmm1, %xmm3
mulsd %xmm1, %xmm3
mulsd %xmm0, %xmm0
movapd %xmm0, %xmm4
mulsd %xmm0, %xmm4
mulsd %xmm0, %xmm4
movsd 0x19af36(%rip), %xmm1   # 0x5bf1a8
divsd %xmm4, %xmm1
addsd 0x19aeb2(%rip), %xmm1   # 0x5bf130
andpd 0x19adea(%rip), %xmm1   # 0x5bf070
mulsd %xmm2, %xmm3
maxsd 0x199d86(%rip), %xmm1   # 0x5be018
mulsd %xmm3, %xmm1
movsd %xmm1, 0x38(%rbx)
addq $0x48, %rsp
popq %rbx
popq %r14
retq
leaq 0x19f14b(%rip), %rsi    # 0x5c33f5
leaq 0x28(%rsp), %rbx
movq %rbx, %rdi
movq %r14, %rdx
callq 0x4061da
leaq 0x19f13d(%rip), %rdx    # 0x5c33fe
leaq 0x8(%rsp), %rdi
movq %rbx, %rsi
callq 0x4067fc
leaq 0x8(%rsp), %rdi
callq 0x434d5b
leaq 0x19afb9(%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 0x424318
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x4b4bf0
jmp 0x424313
movq %rax, %rbx
leaq 0x28(%rsp), %rdi
callq 0x4b4bf0
movq %rbx, %rdi
callq 0x4eb220
nop