// File: /workspace/github_cpp_makefile_star2_O2/kazel1990[P]Inception-v4/generator.cpp
// Function: reductionB(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>)
std::string reductionB(std::string prv)
{
    std::string header = "reduction_b_";
    std::string cur1, cur2, cur3, prv2, prv3;

    cur1 = header + "pool";
    pool(cur1, prv, cur1, "MAX", 3, 2);

    cur2 = header + "conv2_1_1x1";
    convolution(cur2, prv, cur2, 192, 0, 1, 1);
    norm(cur2);

    prv2 = cur2;
    cur2 = header + "conv2_2_3x3";
    convolution(cur2, prv2, cur2, 192, 0, 3, 2);
    norm(cur2);

    cur3 = header + "conv3_1_1x1";
    convolution(cur3, prv, cur3, 256, 0, 1, 1);
    norm(cur3);

    prv3 = cur3;
    cur3 = header + "conv3_2_1x7";
    convolution(cur3, prv3, cur3, 256, 0, 3, 1, 7, 1);
    norm(cur3);

    prv3 = cur3;
    cur3 = header + "conv3_3_7x1";
    convolution(cur3, prv3, cur3, 320, 3, 0, 7, 1, 1);
    norm(cur3);

    prv3 = cur3;
    cur3 = header + "conv3_4_3x3";
    convolution(cur3, prv3, cur3, 320, 0, 3, 2);
    norm(cur3);

    std::string cur = header + "concat";
    concat(cur, {cur1, cur2, cur3}, cur);
    return cur;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x520, %rsp            # imm = 0x520
movq %rsi, %r14
movq %rdi, %rbx
leaq 0x3d7d(%rip), %rsi      # 0x953f
leaq 0x68(%rsp), %r15
leaq 0xa8(%rsp), %rdx
movq %r15, %rdi
callq 0x7fb8
leaq 0x118(%rsp), %rax
movq %rax, -0x10(%rax)
andq $0x0, -0x8(%rax)
xorl %ecx, %ecx
leaq 0x58(%rsp), %rdx
movq %rdx, -0x10(%rdx)
andq $0x0, -0x8(%rdx)
movb %cl, (%rax)
movb %cl, (%rdx)
leaq 0x38(%rsp), %rax
movq %rax, -0x10(%rax)
andq $0x0, -0x8(%rax)
leaq 0x150(%rsp), %rdx
movq %rdx, -0x10(%rdx)
andq $0x0, -0x8(%rdx)
movb %cl, (%rax)
movb %cl, (%rdx)
leaq 0x98(%rsp), %rax
movq %rax, -0x10(%rax)
andq $0x0, -0x8(%rax)
movb %cl, (%rax)
leaq 0x3afe(%rip), %rdx      # 0x9337
leaq 0xa8(%rsp), %rdi
movq %r15, %rsi
callq 0x802d
leaq 0x108(%rsp), %r15
leaq 0xa8(%rsp), %r12
movq %r15, %rdi
movq %r12, %rsi
callq 0x1120
movq %r12, %rdi
callq 0x1090
leaq 0x500(%rsp), %rdi
movq %r15, %rsi
callq 0x1130
leaq 0x4e0(%rsp), %rdi
movq %r14, %rsi
callq 0x1130
leaq 0x4c0(%rsp), %rdi
leaq 0x108(%rsp), %rsi
callq 0x1130
leaq 0x3a94(%rip), %rsi      # 0x933c
leaq 0x4a0(%rsp), %rdi
leaq 0xa8(%rsp), %rdx
callq 0x7fb8
andl $0x0, (%rsp)
leaq 0x500(%rsp), %rdi
leaq 0x4e0(%rsp), %rsi
leaq 0x4c0(%rsp), %rdx
leaq 0x4a0(%rsp), %rcx
pushq $0x3
popq %r8
pushq $0x2
popq %r9
callq 0x19b5
leaq 0x4a0(%rsp), %rdi
callq 0x1090
leaq 0x4c0(%rsp), %rdi
callq 0x1090
leaq 0x4e0(%rsp), %rdi
callq 0x1090
leaq 0x500(%rsp), %rdi
callq 0x1090
leaq 0x3a8f(%rip), %rdx      # 0x93b8
leaq 0xa8(%rsp), %rdi
leaq 0x68(%rsp), %rsi
callq 0x802d
leaq 0x48(%rsp), %r15
leaq 0xa8(%rsp), %r12
movq %r15, %rdi
movq %r12, %rsi
callq 0x1120
movq %r12, %rdi
callq 0x1090
leaq 0x480(%rsp), %rdi
movq %r15, %rsi
callq 0x1130
leaq 0x460(%rsp), %rdi
movq %r14, %rsi
callq 0x1130
leaq 0x440(%rsp), %rdi
leaq 0x48(%rsp), %rsi
callq 0x1130
movl $0x1, (%rsp)
leaq 0x480(%rsp), %rdi
leaq 0x460(%rsp), %rsi
leaq 0x440(%rsp), %rdx
pushq $0x1
popq %r9
movl $0xc0, %ecx
xorl %r8d, %r8d
callq 0x169f
leaq 0x440(%rsp), %rdi
callq 0x1090
leaq 0x460(%rsp), %rdi
callq 0x1090
leaq 0x480(%rsp), %rdi
callq 0x1090
leaq 0x420(%rsp), %rdi
leaq 0x48(%rsp), %rsi
callq 0x1130
leaq 0x420(%rsp), %rdi
callq 0x1bd7
leaq 0x420(%rsp), %rdi
callq 0x1090
leaq 0x140(%rsp), %rdi
leaq 0x48(%rsp), %rsi
callq 0x10b0
leaq 0x3b23(%rip), %rdx      # 0x954c
leaq 0xa8(%rsp), %rdi
leaq 0x68(%rsp), %rsi
callq 0x802d
leaq 0x48(%rsp), %r15
leaq 0xa8(%rsp), %r12
movq %r15, %rdi
movq %r12, %rsi
callq 0x1120
movq %r12, %rdi
callq 0x1090
leaq 0x400(%rsp), %rdi
movq %r15, %rsi
callq 0x1130
leaq 0x3e0(%rsp), %rdi
leaq 0x140(%rsp), %rsi
callq 0x1130
leaq 0x3c0(%rsp), %rdi
leaq 0x48(%rsp), %rsi
callq 0x1130
movl $0x2, (%rsp)
leaq 0x400(%rsp), %rdi
leaq 0x3e0(%rsp), %rsi
leaq 0x3c0(%rsp), %rdx
pushq $0x3
popq %r9
movl $0xc0, %ecx
xorl %r8d, %r8d
callq 0x169f
leaq 0x3c0(%rsp), %rdi
callq 0x1090
leaq 0x3e0(%rsp), %rdi
callq 0x1090
leaq 0x400(%rsp), %rdi
callq 0x1090
leaq 0x3a0(%rsp), %rdi
leaq 0x48(%rsp), %rsi
callq 0x1130
leaq 0x3a0(%rsp), %rdi
callq 0x1bd7
leaq 0x3a0(%rsp), %rdi
callq 0x1090
leaq 0x3967(%rip), %rdx      # 0x9483
leaq 0xa8(%rsp), %rdi
leaq 0x68(%rsp), %rsi
callq 0x802d
leaq 0x28(%rsp), %r15
leaq 0xa8(%rsp), %r12
movq %r15, %rdi
movq %r12, %rsi
callq 0x1120
movq %r12, %rdi
callq 0x1090
leaq 0x380(%rsp), %rdi
movq %r15, %rsi
callq 0x1130
leaq 0x360(%rsp), %rdi
movq %r14, %rsi
callq 0x1130
leaq 0x340(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0x1130
movl $0x1, (%rsp)
leaq 0x380(%rsp), %rdi
leaq 0x360(%rsp), %rsi
leaq 0x340(%rsp), %rdx
pushq $0x1
popq %rbp
movl $0x100, %ecx            # imm = 0x100
xorl %r8d, %r8d
movl %ebp, %r9d
callq 0x169f
leaq 0x340(%rsp), %rdi
callq 0x1090
leaq 0x360(%rsp), %rdi
callq 0x1090
leaq 0x380(%rsp), %rdi
callq 0x1090
leaq 0x320(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0x1130
leaq 0x320(%rsp), %rdi
callq 0x1bd7
leaq 0x320(%rsp), %rdi
callq 0x1090
leaq 0x88(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0x10b0
leaq 0x38d9(%rip), %rdx      # 0x94f7
leaq 0xa8(%rsp), %rdi
leaq 0x68(%rsp), %rsi
callq 0x802d
leaq 0x28(%rsp), %r14
leaq 0xa8(%rsp), %r15
movq %r14, %rdi
movq %r15, %rsi
callq 0x1120
movq %r15, %rdi
callq 0x1090
leaq 0x300(%rsp), %rdi
movq %r14, %rsi
callq 0x1130
leaq 0x2e0(%rsp), %rdi
leaq 0x88(%rsp), %rsi
callq 0x1130
leaq 0x2c0(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0x1130
movl %ebp, 0x10(%rsp)
movl %ebp, (%rsp)
movl $0x7, 0x8(%rsp)
leaq 0x300(%rsp), %rdi
leaq 0x2e0(%rsp), %rsi
leaq 0x2c0(%rsp), %rdx
pushq $0x3
popq %r9
movl $0x100, %ecx            # imm = 0x100
xorl %r8d, %r8d
callq 0x13e8
leaq 0x2c0(%rsp), %rdi
callq 0x1090
leaq 0x2e0(%rsp), %rdi
callq 0x1090
leaq 0x300(%rsp), %rdi
callq 0x1090
leaq 0x2a0(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0x1130
leaq 0x2a0(%rsp), %rdi
callq 0x1bd7
leaq 0x2a0(%rsp), %rdi
callq 0x1090
leaq 0x88(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0x10b0
leaq 0x382d(%rip), %rdx      # 0x9558
leaq 0xa8(%rsp), %rdi
leaq 0x68(%rsp), %rsi
callq 0x802d
leaq 0x28(%rsp), %r14
leaq 0xa8(%rsp), %r15
movq %r14, %rdi
movq %r15, %rsi
callq 0x1120
movq %r15, %rdi
callq 0x1090
leaq 0x280(%rsp), %rdi
movq %r14, %rsi
callq 0x1130
leaq 0x260(%rsp), %rdi
leaq 0x88(%rsp), %rsi
callq 0x1130
leaq 0x240(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0x1130
movl %ebp, 0x10(%rsp)
movl %ebp, 0x8(%rsp)
movl $0x7, (%rsp)
leaq 0x280(%rsp), %rdi
leaq 0x260(%rsp), %rsi
leaq 0x240(%rsp), %rdx
pushq $0x3
popq %r8
movl $0x140, %ecx            # imm = 0x140
xorl %r9d, %r9d
callq 0x13e8
leaq 0x240(%rsp), %rdi
callq 0x1090
leaq 0x260(%rsp), %rdi
callq 0x1090
leaq 0x280(%rsp), %rdi
callq 0x1090
leaq 0x220(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0x1130
leaq 0x220(%rsp), %rdi
callq 0x1bd7
leaq 0x220(%rsp), %rdi
callq 0x1090
leaq 0x88(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0x10b0
leaq 0x372c(%rip), %rdx      # 0x9564
leaq 0xa8(%rsp), %rdi
leaq 0x68(%rsp), %rsi
callq 0x802d
leaq 0x28(%rsp), %r14
leaq 0xa8(%rsp), %r15
movq %r14, %rdi
movq %r15, %rsi
callq 0x1120
movq %r15, %rdi
callq 0x1090
leaq 0x200(%rsp), %rdi
movq %r14, %rsi
callq 0x1130
leaq 0x1e0(%rsp), %rdi
leaq 0x88(%rsp), %rsi
callq 0x1130
leaq 0x1c0(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0x1130
movl $0x2, (%rsp)
leaq 0x200(%rsp), %rdi
leaq 0x1e0(%rsp), %rsi
leaq 0x1c0(%rsp), %rdx
pushq $0x3
popq %r9
movl $0x140, %ecx            # imm = 0x140
xorl %r8d, %r8d
callq 0x169f
leaq 0x1c0(%rsp), %rdi
callq 0x1090
leaq 0x1e0(%rsp), %rdi
callq 0x1090
leaq 0x200(%rsp), %rdi
callq 0x1090
leaq 0x1a0(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0x1130
leaq 0x1a0(%rsp), %rdi
callq 0x1bd7
leaq 0x1a0(%rsp), %rdi
callq 0x1090
leaq 0x343e(%rip), %rdx      # 0x9369
leaq 0x68(%rsp), %rsi
movq %rbx, %rdi
callq 0x802d
leaq 0x180(%rsp), %rdi
movq %rbx, %rsi
callq 0x1130
leaq 0xa8(%rsp), %r15
leaq 0x108(%rsp), %rsi
movq %r15, %rdi
callq 0x1130
leaq 0xc8(%rsp), %r12
leaq 0x48(%rsp), %rsi
movq %r12, %rdi
callq 0x1130
leaq 0xe8(%rsp), %r12
leaq 0x28(%rsp), %rsi
movq %r12, %rdi
callq 0x1130
leaq 0x128(%rsp), %rdi
leaq 0xa8(%rsp), %rsi
pushq $0x3
popq %rdx
leaq 0x27(%rsp), %rcx
callq 0x7ff4
leaq 0x160(%rsp), %rdi
movq %rbx, %rsi
callq 0x1130
leaq 0x180(%rsp), %rdi
leaq 0x128(%rsp), %rsi
leaq 0x160(%rsp), %rdx
callq 0x1b20
leaq 0x160(%rsp), %rdi
callq 0x1090
leaq 0x128(%rsp), %rdi
callq 0x7f96
pushq $0x40
popq %r14
leaq (%rsp,%r14), %rdi
addq $0xa8, %rdi
callq 0x1090
addq $-0x20, %r14
cmpq $-0x20, %r14
jne 0x5ff2
leaq 0x180(%rsp), %rdi
callq 0x1090
leaq 0x88(%rsp), %rdi
callq 0x1090
leaq 0x140(%rsp), %rdi
callq 0x1090
leaq 0x28(%rsp), %rdi
callq 0x1090
leaq 0x48(%rsp), %rdi
callq 0x1090
leaq 0x108(%rsp), %rdi
callq 0x1090
leaq 0x68(%rsp), %rdi
callq 0x1090
movq %rbx, %rax
addq $0x520, %rsp            # imm = 0x520
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %r14
leaq 0x160(%rsp), %rdi
callq 0x1090
jmp 0x6086
movq %rax, %r14
leaq 0x128(%rsp), %rdi
callq 0x7f96
jmp 0x6098
movq %rax, %r14
pushq $0x40
popq %r15
leaq (%rsp,%r15), %rdi
addq $0xa8, %rdi
callq 0x1090
addq $-0x20, %r15
cmpq $-0x20, %r15
jne 0x609c
jmp 0x62d4
movq %rax, %r14
jmp 0x62d4
movq %rax, %r14
jmp 0x62e1
movq %rax, %r14
leaq 0x1a0(%rsp), %rdi
jmp 0x62e4
movq %rax, %r14
leaq 0x1c0(%rsp), %rdi
callq 0x1090
jmp 0x60f0
movq %rax, %r14
leaq 0x1e0(%rsp), %rdi
callq 0x1090
jmp 0x6102
movq %rax, %r14
leaq 0x200(%rsp), %rdi
jmp 0x62e4
jmp 0x62eb
movq %rax, %r14
leaq 0x220(%rsp), %rdi
jmp 0x62e4
movq %rax, %r14
leaq 0x240(%rsp), %rdi
callq 0x1090
jmp 0x6139
movq %rax, %r14
leaq 0x260(%rsp), %rdi
callq 0x1090
jmp 0x614b
movq %rax, %r14
leaq 0x280(%rsp), %rdi
jmp 0x62e4
jmp 0x62eb
movq %rax, %r14
leaq 0x2a0(%rsp), %rdi
jmp 0x62e4
movq %rax, %r14
leaq 0x2c0(%rsp), %rdi
callq 0x1090
jmp 0x6182
movq %rax, %r14
leaq 0x2e0(%rsp), %rdi
callq 0x1090
jmp 0x6194
movq %rax, %r14
leaq 0x300(%rsp), %rdi
jmp 0x62e4
jmp 0x62eb
movq %rax, %r14
leaq 0x320(%rsp), %rdi
jmp 0x62e4
movq %rax, %r14
leaq 0x340(%rsp), %rdi
callq 0x1090
jmp 0x61cb
movq %rax, %r14
leaq 0x360(%rsp), %rdi
callq 0x1090
jmp 0x61dd
movq %rax, %r14
leaq 0x380(%rsp), %rdi
jmp 0x62e4
jmp 0x62eb
movq %rax, %r14
leaq 0x3a0(%rsp), %rdi
jmp 0x62e4
movq %rax, %r14
leaq 0x3c0(%rsp), %rdi
callq 0x1090
jmp 0x6214
movq %rax, %r14
leaq 0x3e0(%rsp), %rdi
callq 0x1090
jmp 0x6226
movq %rax, %r14
leaq 0x400(%rsp), %rdi
jmp 0x62e4
jmp 0x62eb
movq %rax, %r14
leaq 0x420(%rsp), %rdi
jmp 0x62e4
movq %rax, %r14
leaq 0x440(%rsp), %rdi
callq 0x1090
jmp 0x625d
movq %rax, %r14
leaq 0x460(%rsp), %rdi
callq 0x1090
jmp 0x626f
movq %rax, %r14
leaq 0x480(%rsp), %rdi
jmp 0x62e4
jmp 0x62eb
movq %rax, %r14
leaq 0x4a0(%rsp), %rdi
callq 0x1090
jmp 0x6290
movq %rax, %r14
leaq 0x4c0(%rsp), %rdi
callq 0x1090
jmp 0x62a2
movq %rax, %r14
leaq 0x4e0(%rsp), %rdi
callq 0x1090
jmp 0x62b4
movq %rax, %r14
leaq 0x500(%rsp), %rdi
jmp 0x62e4
jmp 0x62eb
movq %rax, %r14
addq $-0x20, %r12
movq %r12, %rdi
callq 0x1090
cmpq %r15, %r12
jne 0x62c3
leaq 0x180(%rsp), %rdi
callq 0x1090
movq %rbx, %rdi
callq 0x1090
jmp 0x62ee
movq %rax, %r14
leaq 0x88(%rsp), %rdi
callq 0x1090
leaq 0x140(%rsp), %rdi
callq 0x1090
leaq 0x28(%rsp), %rdi
callq 0x1090
leaq 0x48(%rsp), %rdi
callq 0x1090
leaq 0x108(%rsp), %rdi
callq 0x1090
leaq 0x68(%rsp), %rdi
callq 0x1090
movq %r14, %rdi
callq 0x1170