// File: /workspace/github_cpp_makefile_star2_O1/sagardoshi[P]NegotiationsEncounter/src/Negotiator.cpp
// Function: Negotiator::acceptTerms()
void Negotiator::acceptTerms() {

    string acceptance = "You think over the encounter you just had.\n\n";

    // Try to give somewhat customised feedback after each rejected offer
    if (generosityOfOffer > 1.5) {
        acceptance += "Your offer was far too generous! " + name + " ";
        acceptance += "would have accepted a much\n";
        acceptance += "lower offer, if you had a way to give it. ";
        acceptance += "You have progressed ";
        acceptance += "onward in your\njourney, but you may find ";
        acceptance += "yourself short of inventory in the future, having\n";
        acceptance += "given away what you have here.\n\n";
        acceptance += "Nevertheless, you survive to fight ";
        acceptance += "another day. Well done!\n";
    } else if (generosityOfOffer >= 1 && generosityOfOffer <= 1.5) {
        acceptance += "Your offer was generous. A little more, even, ";
        acceptance += "than what may have sufficed.\n";
        acceptance += "Manage your inventory carefully in future ";
        acceptance += "encounters.\n\n";
        acceptance += "Still, you survive to fight ";
        acceptance += "another day. Well done!\n";
    }
     else if (generosityOfOffer >= 0.5 && generosityOfOffer < 0.75) {
        acceptance += "Wow, you drove an extremely hard bargain and won! ";
        acceptance += "Very, very impressive. You've\nmoved along efficiently ";
        acceptance += "and set yourself up well for the future. Well done!\n";
    } else if (generosityOfOffer >= 0.75 && generosityOfOffer < 1.0) {
        acceptance += "You made a solid offer and won the day. ";
        acceptance += "It's up to you now to continue to manage\nyour stock ";
        acceptance += "efficiently and get out of here safely. Well done!\n";
    } else {
        acceptance += "It's impossible to win the way you did, so you must ";
        acceptance += "be a superuser. All hail\n";
        acceptance += "the superuser. Happy supering.\n";
    }

    std::cout << acceptance << endl;

}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x60, %rsp
movq %rdi, %rbx
leaq 0x10(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x3542(%rip), %rsi      # 0xfe14
leaq 0x3567(%rip), %rdx      # 0xfe40
movq %rsp, %rdi
callq 0x290e
movss 0x8c(%rbx), %xmm0
ucomiss 0x351c(%rip), %xmm0     # 0xfe0c
jbe 0xc949
addq $0x68, %rbx
leaq 0x3544(%rip), %rsi      # 0xfe41
leaq 0x40(%rsp), %rdi
movq %rbx, %rdx
callq 0x6696
leaq 0x31ad(%rip), %rsi      # 0xfabe
leaq 0x40(%rsp), %rdi
callq 0x23d0
leaq 0x30(%rsp), %r15
movq %r15, -0x10(%r15)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xc9ef
movq %rdx, 0x20(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x30(%rsp)
jmp 0xc9f6
ucomiss 0x34b8(%rip), %xmm0     # 0xfe08
jb 0xc9a7
movss 0x34b2(%rip), %xmm1     # 0xfe0c
ucomiss %xmm0, %xmm1
jb 0xc9a7
leaq 0x3614(%rip), %rsi      # 0xff7a
movq %rsp, %rdi
callq 0x23d0
leaq 0x3634(%rip), %rsi      # 0xffa9
movq %rsp, %rdi
callq 0x23d0
leaq 0x3643(%rip), %rsi      # 0xffc7
movq %rsp, %rdi
callq 0x23d0
leaq 0x365f(%rip), %rsi      # 0xfff2
movq %rsp, %rdi
callq 0x23d0
leaq 0x365e(%rip), %rsi      # 0x10000
jmp 0xcab3
ucomiss 0x28d2(%rip), %xmm0     # 0xf280
jb 0xcb29
movss 0x3454(%rip), %xmm1     # 0xfe10
ucomiss %xmm0, %xmm1
jbe 0xcb29
leaq 0x3651(%rip), %rsi      # 0x1001d
movq %rsp, %rdi
callq 0x23d0
leaq 0x3675(%rip), %rsi      # 0x10050
movq %rsp, %rdi
callq 0x23d0
leaq 0x369d(%rip), %rsi      # 0x10087
jmp 0xcac2
movups (%rcx), %xmm0
movups %xmm0, (%r15)
movq 0x8(%rax), %rdx
movq %rdx, 0x28(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x20(%rsp), %rsi
movq 0x28(%rsp), %rdx
movq %rsp, %rdi
callq 0x20d0
movq 0x20(%rsp), %rdi
cmpq %r15, %rdi
je 0xca37
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x2210
leaq 0x50(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xca52
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x2210
leaq 0x340a(%rip), %rsi      # 0xfe63
movq %rsp, %rdi
callq 0x23d0
leaq 0x3417(%rip), %rsi      # 0xfe7f
movq %rsp, %rdi
callq 0x23d0
leaq 0x3433(%rip), %rsi      # 0xfeaa
movq %rsp, %rdi
callq 0x23d0
leaq 0x3439(%rip), %rsi      # 0xfebf
movq %rsp, %rdi
callq 0x23d0
leaq 0x3454(%rip), %rsi      # 0xfee9
movq %rsp, %rdi
callq 0x23d0
leaq 0x3478(%rip), %rsi      # 0xff1c
movq %rsp, %rdi
callq 0x23d0
leaq 0x348a(%rip), %rsi      # 0xff3d
movq %rsp, %rdi
callq 0x23d0
leaq 0x349f(%rip), %rsi      # 0xff61
movq %rsp, %rdi
callq 0x23d0
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
movq 0x84f6(%rip), %rdi      # 0x14fd0
callq 0x2260
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x21f0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2170
movq (%rsp), %rdi
cmpq %r14, %rdi
je 0xcb1f
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x2210
addq $0x60, %rsp
popq %rbx
popq %r14
popq %r15
retq
ucomiss 0x32e0(%rip), %xmm0     # 0xfe10
jb 0xcb69
movss 0x32ce(%rip), %xmm1     # 0xfe08
ucomiss %xmm0, %xmm1
jbe 0xcb69
leaq 0x3576(%rip), %rsi      # 0x100bc
movq %rsp, %rdi
callq 0x23d0
leaq 0x3590(%rip), %rsi      # 0x100e5
movq %rsp, %rdi
callq 0x23d0
leaq 0x35b6(%rip), %rsi      # 0x1011a
jmp 0xcac2
leaq 0x35de(%rip), %rsi      # 0x1014e
movq %rsp, %rdi
callq 0x23d0
leaq 0x3604(%rip), %rsi      # 0x10183
movq %rsp, %rdi
callq 0x23d0
leaq 0x360f(%rip), %rsi      # 0x1019d
jmp 0xcac2
movq %rax, %rbx
movq 0x20(%rsp), %rdi
cmpq %r15, %rdi
je 0xcbb2
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x2210
jmp 0xcbb2
movq %rax, %rbx
leaq 0x50(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xcbd4
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x2210
jmp 0xcbd4
jmp 0xcbd1
movq %rax, %rbx
movq (%rsp), %rdi
cmpq %r14, %rdi
je 0xcbea
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x2210
movq %rbx, %rdi
callq 0x2390