// File: /workspace/github_cpp_makefile_star2_O2/temelmertcan[P]multgen/src/multgen.cpp
// Function: enter_license(std::queue<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::deque<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>>>&)
void enter_license (queue<string>& verilog) {

  verilog.push("// Note: The license below is based on the template at:");
  verilog.push("// http://opensource.org/licenses/BSD-3-Clause");

  verilog.push("// Copyright (C) 2020 Regents of the University of Texas");
  verilog.push("//All rights reserved.");
  verilog.push("");
  verilog.push("// Redistribution and use in source and binary forms, with or without");
  verilog.push("// modification, are permitted provided that the following conditions are");
  verilog.push("// met:");
  verilog.push("");
  verilog.push("// o Redistributions of source code must retain the above copyright");
  verilog.push("//   notice, this list of conditions and the following disclaimer.");
  verilog.push("");
  verilog.push("// o Redistributions in binary form must reproduce the above copyright");
  verilog.push("//   notice, this list of conditions and the following disclaimer in the");
  verilog.push("//   documentation and/or other materials provided with the distribution.");
  verilog.push("");
  verilog.push("// o Neither the name of the copyright holders nor the names of its");
  verilog.push("//   contributors may be used to endorse or promote products derived");
  verilog.push("//   from this software without specific prior written permission.");
  verilog.push("");
  verilog.push("// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS");
  verilog.push("// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT");
  verilog.push("// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR");
  verilog.push("// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT");
  verilog.push("// HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,");
  verilog.push("// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT");
  verilog.push("// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,");
  verilog.push("// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY");
  verilog.push("// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT");
  verilog.push("// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE");
  verilog.push("// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.");
  verilog.push("");
  verilog.push("// Original Author(s):");
  verilog.push("// Mertcan Temel         <mert@utexas.edu>\n");

  verilog.push("// DO NOT REMOVE:");
  verilog.push("// This file is generated by Temel's multiplier generator. Download from https://github.com/temelmertcan/multgen.");

  verilog.push("");
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %rbx
subq $0x28, %rsp
movq %rdi, %rbx
leaq 0x2da75(%rip), %rsi     # 0x30004
leaq -0x30(%rbp), %rdi
leaq -0x9(%rbp), %rdx
callq 0x20b0
leaq -0x30(%rbp), %rsi
movq %rbx, %rdi
callq 0x120e4
leaq -0x30(%rbp), %rdi
callq 0x20f0
leaq 0x2da84(%rip), %rsi     # 0x3003c
leaq -0x30(%rbp), %rdi
leaq -0x9(%rbp), %rdx
callq 0x20b0
leaq -0x30(%rbp), %rsi
movq %rbx, %rdi
callq 0x120e4
leaq -0x30(%rbp), %rdi
callq 0x20f0
leaq 0x2da8a(%rip), %rsi     # 0x3006b
leaq -0x30(%rbp), %rdi
leaq -0x9(%rbp), %rdx
callq 0x20b0
leaq -0x30(%rbp), %rsi
movq %rbx, %rdi
callq 0x120e4
leaq -0x30(%rbp), %rdi
callq 0x20f0
leaq 0x2da9a(%rip), %rsi     # 0x300a4
leaq -0x30(%rbp), %rdi
leaq -0x9(%rbp), %rdx
callq 0x20b0
leaq -0x30(%rbp), %rsi
movq %rbx, %rdi
callq 0x120e4
leaq -0x30(%rbp), %rdi
callq 0x20f0
leaq 0x30f9e(%rip), %rsi     # 0x335d1
leaq -0x30(%rbp), %rdi
leaq -0x9(%rbp), %rdx
callq 0x20b0
leaq -0x30(%rbp), %rsi
movq %rbx, %rdi
callq 0x120e4
leaq -0x30(%rbp), %rdi
callq 0x20f0
leaq 0x2da5f(%rip), %rsi     # 0x300bb
leaq -0x30(%rbp), %rdi
leaq -0x9(%rbp), %rdx
callq 0x20b0
leaq -0x30(%rbp), %rsi
movq %rbx, %rdi
callq 0x120e4
leaq -0x30(%rbp), %rdi
callq 0x20f0
leaq 0x2da7c(%rip), %rsi     # 0x30101
leaq -0x30(%rbp), %rdi
leaq -0x9(%rbp), %rdx
callq 0x20b0
leaq -0x30(%rbp), %rsi
movq %rbx, %rdi
callq 0x120e4
leaq -0x30(%rbp), %rdi
callq 0x20f0
leaq 0x2da9d(%rip), %rsi     # 0x3014b
leaq -0x30(%rbp), %rdi
leaq -0x9(%rbp), %rdx
callq 0x20b0
leaq -0x30(%rbp), %rsi
movq %rbx, %rdi
callq 0x120e4
leaq -0x30(%rbp), %rdi
callq 0x20f0
leaq 0x30efa(%rip), %rsi     # 0x335d1
leaq -0x30(%rbp), %rdi
leaq -0x9(%rbp), %rdx
callq 0x20b0
leaq -0x30(%rbp), %rsi
movq %rbx, %rdi
callq 0x120e4
leaq -0x30(%rbp), %rdi
callq 0x20f0
leaq 0x2da53(%rip), %rsi     # 0x30153
leaq -0x30(%rbp), %rdi
leaq -0x9(%rbp), %rdx
callq 0x20b0
leaq -0x30(%rbp), %rsi
movq %rbx, %rdi
callq 0x120e4
leaq -0x30(%rbp), %rdi
callq 0x20f0
leaq 0x2da6e(%rip), %rsi     # 0x30197
leaq -0x30(%rbp), %rdi
leaq -0x9(%rbp), %rdx
callq 0x20b0
leaq -0x30(%rbp), %rsi
movq %rbx, %rdi
callq 0x120e4
leaq -0x30(%rbp), %rdi
callq 0x20f0
leaq 0x30e7f(%rip), %rsi     # 0x335d1
leaq -0x30(%rbp), %rdi
leaq -0x9(%rbp), %rdx
callq 0x20b0
leaq -0x30(%rbp), %rsi
movq %rbx, %rdi
callq 0x120e4
leaq -0x30(%rbp), %rdi
callq 0x20f0
leaq 0x2da5f(%rip), %rsi     # 0x301da
leaq -0x30(%rbp), %rdi
leaq -0x9(%rbp), %rdx
callq 0x20b0
leaq -0x30(%rbp), %rsi
movq %rbx, %rdi
callq 0x120e4
leaq -0x30(%rbp), %rdi
callq 0x20f0
leaq 0x2da7d(%rip), %rsi     # 0x30221
leaq -0x30(%rbp), %rdi
leaq -0x9(%rbp), %rdx
callq 0x20b0
leaq -0x30(%rbp), %rsi
movq %rbx, %rdi
callq 0x120e4
leaq -0x30(%rbp), %rdi
callq 0x20f0
leaq 0x2da9d(%rip), %rsi     # 0x3026a
leaq -0x30(%rbp), %rdi
leaq -0x9(%rbp), %rdx
callq 0x20b0
leaq -0x30(%rbp), %rsi
movq %rbx, %rdi
callq 0x120e4
leaq -0x30(%rbp), %rdi
callq 0x20f0
leaq 0x30ddb(%rip), %rsi     # 0x335d1
leaq -0x30(%rbp), %rdi
leaq -0x9(%rbp), %rdx
callq 0x20b0
leaq -0x30(%rbp), %rsi
movq %rbx, %rdi
callq 0x120e4
leaq -0x30(%rbp), %rdi
callq 0x20f0
leaq 0x2da95(%rip), %rsi     # 0x302b4
leaq -0x30(%rbp), %rdi
leaq -0x9(%rbp), %rdx
callq 0x20b0
leaq -0x30(%rbp), %rsi
movq %rbx, %rdi
callq 0x120e4
leaq -0x30(%rbp), %rdi
callq 0x20f0
leaq 0x2dab0(%rip), %rsi     # 0x302f8
leaq -0x30(%rbp), %rdi
leaq -0x9(%rbp), %rdx
callq 0x20b0
leaq -0x30(%rbp), %rsi
movq %rbx, %rdi
callq 0x120e4
leaq -0x30(%rbp), %rdi
callq 0x20f0
leaq 0x2dacc(%rip), %rsi     # 0x3033d
leaq -0x30(%rbp), %rdi
leaq -0x9(%rbp), %rdx
callq 0x20b0
leaq -0x30(%rbp), %rsi
movq %rbx, %rdi
callq 0x120e4
leaq -0x30(%rbp), %rdi
callq 0x20f0
leaq 0x30d37(%rip), %rsi     # 0x335d1
leaq -0x30(%rbp), %rdi
leaq -0x9(%rbp), %rdx
callq 0x20b0
leaq -0x30(%rbp), %rsi
movq %rbx, %rdi
callq 0x120e4
leaq -0x30(%rbp), %rdi
callq 0x20f0
leaq 0x2dabd(%rip), %rsi     # 0x30380
leaq -0x30(%rbp), %rdi
leaq -0x9(%rbp), %rdx
callq 0x20b0
leaq -0x30(%rbp), %rsi
movq %rbx, %rdi
callq 0x120e4
leaq -0x30(%rbp), %rdi
callq 0x20f0
leaq 0x2dadb(%rip), %rsi     # 0x303c7
leaq -0x30(%rbp), %rdi
leaq -0x9(%rbp), %rdx
callq 0x20b0
leaq -0x30(%rbp), %rsi
movq %rbx, %rdi
callq 0x120e4
leaq -0x30(%rbp), %rdi
callq 0x20f0
leaq 0x2daf7(%rip), %rsi     # 0x3040c
leaq -0x30(%rbp), %rdi
leaq -0x9(%rbp), %rdx
callq 0x20b0
leaq -0x30(%rbp), %rsi
movq %rbx, %rdi
callq 0x120e4
leaq -0x30(%rbp), %rdi
callq 0x20f0
leaq 0x2db17(%rip), %rsi     # 0x30455
leaq -0x30(%rbp), %rdi
leaq -0x9(%rbp), %rdx
callq 0x20b0
leaq -0x30(%rbp), %rsi
movq %rbx, %rdi
callq 0x120e4
leaq -0x30(%rbp), %rdi
callq 0x20f0
leaq 0x2db36(%rip), %rsi     # 0x3049d
leaq -0x30(%rbp), %rdi
leaq -0x9(%rbp), %rdx
callq 0x20b0
leaq -0x30(%rbp), %rsi
movq %rbx, %rdi
callq 0x120e4
leaq -0x30(%rbp), %rdi
callq 0x20f0
leaq 0x2db57(%rip), %rsi     # 0x304e7
leaq -0x30(%rbp), %rdi
leaq -0x9(%rbp), %rdx
callq 0x20b0
leaq -0x30(%rbp), %rsi
movq %rbx, %rdi
callq 0x120e4
leaq -0x30(%rbp), %rdi
callq 0x20f0
leaq 0x2db72(%rip), %rsi     # 0x3052b
leaq -0x30(%rbp), %rdi
leaq -0x9(%rbp), %rdx
callq 0x20b0
leaq -0x30(%rbp), %rsi
movq %rbx, %rdi
callq 0x120e4
leaq -0x30(%rbp), %rdi
callq 0x20f0
leaq 0x2db92(%rip), %rsi     # 0x30574
leaq -0x30(%rbp), %rdi
leaq -0x9(%rbp), %rdx
callq 0x20b0
leaq -0x30(%rbp), %rsi
movq %rbx, %rdi
callq 0x120e4
leaq -0x30(%rbp), %rdi
callq 0x20f0
leaq 0x2dbb2(%rip), %rsi     # 0x305bd
leaq -0x30(%rbp), %rdi
leaq -0x9(%rbp), %rdx
callq 0x20b0
leaq -0x30(%rbp), %rsi
movq %rbx, %rdi
callq 0x120e4
leaq -0x30(%rbp), %rdi
callq 0x20f0
leaq 0x2dbd0(%rip), %rsi     # 0x30604
leaq -0x30(%rbp), %rdi
leaq -0x9(%rbp), %rdx
callq 0x20b0
leaq -0x30(%rbp), %rsi
movq %rbx, %rdi
callq 0x120e4
leaq -0x30(%rbp), %rdi
callq 0x20f0
leaq 0x2dbf0(%rip), %rsi     # 0x3064d
leaq -0x30(%rbp), %rdi
leaq -0x9(%rbp), %rdx
callq 0x20b0
leaq -0x30(%rbp), %rsi
movq %rbx, %rdi
callq 0x120e4
leaq -0x30(%rbp), %rdi
callq 0x20f0
leaq 0x30b4b(%rip), %rsi     # 0x335d1
leaq -0x30(%rbp), %rdi
leaq -0x9(%rbp), %rdx
callq 0x20b0
leaq -0x30(%rbp), %rsi
movq %rbx, %rdi
callq 0x120e4
leaq -0x30(%rbp), %rdi
callq 0x20f0
leaq 0x2dbe6(%rip), %rsi     # 0x30695
leaq -0x30(%rbp), %rdi
leaq -0x9(%rbp), %rdx
callq 0x20b0
leaq -0x30(%rbp), %rsi
movq %rbx, %rdi
callq 0x120e4
leaq -0x30(%rbp), %rdi
callq 0x20f0
leaq 0x2dbd4(%rip), %rsi     # 0x306ac
leaq -0x30(%rbp), %rdi
leaq -0x9(%rbp), %rdx
callq 0x20b0
leaq -0x30(%rbp), %rsi
movq %rbx, %rdi
callq 0x120e4
leaq -0x30(%rbp), %rdi
callq 0x20f0
leaq 0x2dbd7(%rip), %rsi     # 0x306d8
leaq -0x30(%rbp), %rdi
leaq -0x9(%rbp), %rdx
callq 0x20b0
leaq -0x30(%rbp), %rsi
movq %rbx, %rdi
callq 0x120e4
leaq -0x30(%rbp), %rdi
callq 0x20f0
leaq 0x2dbc0(%rip), %rsi     # 0x306ea
leaq -0x30(%rbp), %rdi
leaq -0x9(%rbp), %rdx
callq 0x20b0
leaq -0x30(%rbp), %rsi
movq %rbx, %rdi
callq 0x120e4
leaq -0x30(%rbp), %rdi
callq 0x20f0
leaq 0x30a7e(%rip), %rsi     # 0x335d1
leaq -0x30(%rbp), %rdi
leaq -0x9(%rbp), %rdx
callq 0x20b0
leaq -0x30(%rbp), %rsi
movq %rbx, %rdi
callq 0x120e4
leaq -0x30(%rbp), %rdi
callq 0x20f0
addq $0x28, %rsp
popq %rbx
popq %rbp
retq
jmp 0x2c33
jmp 0x2c41
jmp 0x2c33
jmp 0x2c41
jmp 0x2c33
jmp 0x2c41
jmp 0x2c33
jmp 0x2c41
jmp 0x2c33
jmp 0x2c41
jmp 0x2c33
jmp 0x2c41
jmp 0x2c33
jmp 0x2c41
jmp 0x2c33
jmp 0x2c41
jmp 0x2c33
jmp 0x2c41
jmp 0x2c33
jmp 0x2c41
jmp 0x2c33
jmp 0x2c41
jmp 0x2c33
jmp 0x2c41
jmp 0x2c33
jmp 0x2c41
jmp 0x2c33
jmp 0x2c41
jmp 0x2c33
jmp 0x2c41
jmp 0x2c33
jmp 0x2c41
jmp 0x2c33
jmp 0x2c41
jmp 0x2c33
jmp 0x2c41
jmp 0x2c33
jmp 0x2c41
jmp 0x2c33
jmp 0x2c41
jmp 0x2c33
jmp 0x2c41
jmp 0x2c33
jmp 0x2c41
jmp 0x2c33
jmp 0x2c41
jmp 0x2c33
jmp 0x2c41
jmp 0x2c33
jmp 0x2c41
jmp 0x2c33
jmp 0x2c41
jmp 0x2c33
jmp 0x2c41
jmp 0x2c33
jmp 0x2c41
jmp 0x2c33
jmp 0x2c41
jmp 0x2c33
jmp 0x2c41
jmp 0x2c33
jmp 0x2c41
jmp 0x2c33
jmp 0x2c41
jmp 0x2c33
jmp 0x2c41
jmp 0x2c33
jmp 0x2c41
jmp 0x2c33
jmp 0x2c41
jmp 0x2c33
jmp 0x2c41
movq %rax, %rbx
leaq -0x30(%rbp), %rdi
callq 0x20f0
jmp 0x2c44
movq %rax, %rbx
movq %rbx, %rdi
callq 0x2330