// File: /workspace/github_cpp_makefile_star2_O2/WayfireWM[P]wf-utils/wayfire/rule/lambda_rule.cpp
// Function: wf::lambda_rule_t::to_string[abi:cxx11]() const
std::string lambda_rule_t::to_string() const
{
    std::string out = "lambda rule: [signal: ";
    out.append(_signal).append(", condition: ");
    if (_condition)
    {
        out.append(_condition->to_string());
    }
    else
    {
        out.append("nullptr");
    }
    out.append(", if_lambda: ");
    if (_if_lambda)
    {
        auto uint_ptr = reinterpret_cast<std::uintptr_t>(&_if_lambda);
        std::stringstream ss;
        ss << "0x" << std::hex << uint_ptr;
        out.append(ss.str());
    }
    else
    {
        out.append("nullptr");
    }
    out.append(", else_lambda: ");
    if (_else_lambda)
    {
        auto uint_ptr = reinterpret_cast<std::uintptr_t>(&_else_lambda);
        std::stringstream ss;
        ss << "0x" << std::hex << uint_ptr;
        out.append(ss.str());
    }
    else
    {
        out.append("nullptr");
    }
    out.append("]");
    return out;
}

// Assembly:
pushq %r14
pushq %rbx
subq $0x1a8, %rsp            # imm = 0x1A8
movq %rsi, %r14
leaq 0x2046(%rip), %rsi      # 0xcb94
leaq 0x20(%rsp), %rdx
movq %rdi, %rbx
callq 0x61ca
movq %rbx, %rdi
movq %r14, %rsi
callq 0x5390
leaq 0x203e(%rip), %rsi      # 0xcbab
movq %rax, %rdi
callq 0x5360
movq 0x20(%r14), %rsi
testq %rsi, %rsi
je 0xaba2
movq (%rsi), %rax
leaq 0x20(%rsp), %rdi
callq *0x18(%rax)
leaq 0x20(%rsp), %rsi
movq %rbx, %rdi
callq 0x5390
leaq 0x20(%rsp), %rdi
callq 0x50e0
jmp 0xabb1
leaq 0x14b3(%rip), %rsi      # 0xc05c
movq %rbx, %rdi
callq 0x5360
leaq 0x2001(%rip), %rsi      # 0xcbb9
movq %rbx, %rdi
callq 0x5360
cmpq $0x0, 0x40(%r14)
je 0xac2f
leaq 0x20(%rsp), %rdi
callq 0x5160
leaq 0x30(%rsp), %rdi
leaq 0x1fea(%rip), %rsi      # 0xcbc7
callq 0x51e0
movq (%rax), %rcx
leaq 0x30(%r14), %rsi
movq -0x18(%rcx), %rcx
movl 0x18(%rax,%rcx), %edx
andl $-0x4b, %edx
orl $0x8, %edx
movl %edx, 0x18(%rax,%rcx)
movq %rax, %rdi
callq 0x5140
leaq 0x38(%rsp), %rsi
movq %rsp, %rdi
callq 0x52e0
movq %rsp, %rsi
movq %rbx, %rdi
callq 0x5390
movq %rsp, %rdi
callq 0x50e0
leaq 0x20(%rsp), %rdi
callq 0x5190
jmp 0xac3e
leaq 0x1426(%rip), %rsi      # 0xc05c
movq %rbx, %rdi
callq 0x5360
leaq 0x1f85(%rip), %rsi      # 0xcbca
movq %rbx, %rdi
callq 0x5360
cmpq $0x0, 0x60(%r14)
je 0xacbf
leaq 0x20(%rsp), %rdi
callq 0x5160
leaq 0x30(%rsp), %rdi
leaq 0x1f5d(%rip), %rsi      # 0xcbc7
callq 0x51e0
movq (%rax), %rcx
addq $0x50, %r14
movq -0x18(%rcx), %rcx
movl 0x18(%rax,%rcx), %edx
andl $-0x4b, %edx
orl $0x8, %edx
movl %edx, 0x18(%rax,%rcx)
movq %rax, %rdi
movq %r14, %rsi
callq 0x5140
leaq 0x38(%rsp), %rsi
movq %rsp, %rdi
callq 0x52e0
movq %rsp, %rsi
movq %rbx, %rdi
callq 0x5390
movq %rsp, %rdi
callq 0x50e0
leaq 0x20(%rsp), %rdi
callq 0x5190
jmp 0xacce
leaq 0x1396(%rip), %rsi      # 0xc05c
movq %rbx, %rdi
callq 0x5360
leaq 0x1348(%rip), %rsi      # 0xc01d
movq %rbx, %rdi
callq 0x5360
movq %rbx, %rax
addq $0x1a8, %rsp            # imm = 0x1A8
popq %rbx
popq %r14
retq
jmp 0xacf1
jmp 0xad15
jmp 0xad24
movq %rsp, %rdi
movq %rax, %r14
callq 0x50e0
jmp 0xad18
jmp 0xad15
jmp 0xad24
leaq 0x20(%rsp), %rdi
movq %rax, %r14
callq 0x50e0
jmp 0xad27
jmp 0xad24
jmp 0xad15
movq %rax, %r14
leaq 0x20(%rsp), %rdi
callq 0x5190
jmp 0xad27
movq %rax, %r14
movq %rbx, %rdi
callq 0x50e0
movq %r14, %rdi
callq 0x5340