// File: /workspace/github_cpp_makefile_star2_O3/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 %r14
pushq %rbx
subq $0x20, %rsp
movq %rdi, %rbx
leaq -0x20(%rbp), %r14
movq %r14, -0x10(%r14)
leaq 0x7291b(%rip), %rsi     # 0x76004
leaq 0x7294b(%rip), %rdx     # 0x7603b
leaq -0x30(%rbp), %rdi
callq 0x2ac04
leaq -0x30(%rbp), %rsi
movq %rbx, %rdi
callq 0x2a942
movq -0x30(%rbp), %rdi
cmpq %r14, %rdi
je 0x3713
callq 0x31d0
leaq -0x30(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x7291b(%rip), %rsi     # 0x7603c
leaq 0x72942(%rip), %rdx     # 0x7606a
callq 0x2ac04
leaq -0x30(%rbp), %rsi
movq %rbx, %rdi
callq 0x2a942
movq -0x30(%rbp), %rdi
cmpq %r14, %rdi
je 0x3747
callq 0x31d0
leaq -0x30(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x72916(%rip), %rsi     # 0x7606b
leaq 0x72947(%rip), %rdx     # 0x760a3
callq 0x2ac04
leaq -0x30(%rbp), %rsi
movq %rbx, %rdi
callq 0x2a942
movq -0x30(%rbp), %rdi
cmpq %r14, %rdi
je 0x377b
callq 0x31d0
leaq -0x30(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x7291b(%rip), %rsi     # 0x760a4
leaq 0x7292a(%rip), %rdx     # 0x760ba
callq 0x2ac04
leaq -0x30(%rbp), %rsi
movq %rbx, %rdi
callq 0x2a942
movq -0x30(%rbp), %rdi
cmpq %r14, %rdi
je 0x37af
callq 0x31d0
leaq -0x30(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x75e44(%rip), %rdx     # 0x79601
movq %rdx, %rsi
callq 0x2ac04
leaq -0x30(%rbp), %rsi
movq %rbx, %rdi
callq 0x2a942
movq -0x30(%rbp), %rdi
cmpq %r14, %rdi
je 0x37df
callq 0x31d0
leaq -0x30(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x728ce(%rip), %rsi     # 0x760bb
leaq 0x7290c(%rip), %rdx     # 0x76100
callq 0x2ac04
leaq -0x30(%rbp), %rsi
movq %rbx, %rdi
callq 0x2a942
movq -0x30(%rbp), %rdi
cmpq %r14, %rdi
je 0x3813
callq 0x31d0
leaq -0x30(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x728e0(%rip), %rsi     # 0x76101
leaq 0x72922(%rip), %rdx     # 0x7614a
callq 0x2ac04
leaq -0x30(%rbp), %rsi
movq %rbx, %rdi
callq 0x2a942
movq -0x30(%rbp), %rdi
cmpq %r14, %rdi
je 0x3847
callq 0x31d0
leaq -0x30(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x728f6(%rip), %rsi     # 0x7614b
leaq 0x728f6(%rip), %rdx     # 0x76152
callq 0x2ac04
leaq -0x30(%rbp), %rsi
movq %rbx, %rdi
callq 0x2a942
movq -0x30(%rbp), %rdi
cmpq %r14, %rdi
je 0x387b
callq 0x31d0
leaq -0x30(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x75d78(%rip), %rdx     # 0x79601
movq %rdx, %rsi
callq 0x2ac04
leaq -0x30(%rbp), %rsi
movq %rbx, %rdi
callq 0x2a942
movq -0x30(%rbp), %rdi
cmpq %r14, %rdi
je 0x38ab
callq 0x31d0
leaq -0x30(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x7289a(%rip), %rsi     # 0x76153
leaq 0x728d6(%rip), %rdx     # 0x76196
callq 0x2ac04
leaq -0x30(%rbp), %rsi
movq %rbx, %rdi
callq 0x2a942
movq -0x30(%rbp), %rdi
cmpq %r14, %rdi
je 0x38df
callq 0x31d0
leaq -0x30(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x728aa(%rip), %rsi     # 0x76197
leaq 0x728e5(%rip), %rdx     # 0x761d9
callq 0x2ac04
leaq -0x30(%rbp), %rsi
movq %rbx, %rdi
callq 0x2a942
movq -0x30(%rbp), %rdi
cmpq %r14, %rdi
je 0x3913
callq 0x31d0
leaq -0x30(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x75ce0(%rip), %rdx     # 0x79601
movq %rdx, %rsi
callq 0x2ac04
leaq -0x30(%rbp), %rsi
movq %rbx, %rdi
callq 0x2a942
movq -0x30(%rbp), %rdi
cmpq %r14, %rdi
je 0x3943
callq 0x31d0
leaq -0x30(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x72889(%rip), %rsi     # 0x761da
leaq 0x728c8(%rip), %rdx     # 0x76220
callq 0x2ac04
leaq -0x30(%rbp), %rsi
movq %rbx, %rdi
callq 0x2a942
movq -0x30(%rbp), %rdi
cmpq %r14, %rdi
je 0x3977
callq 0x31d0
leaq -0x30(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x7289c(%rip), %rsi     # 0x76221
leaq 0x728dd(%rip), %rdx     # 0x76269
callq 0x2ac04
leaq -0x30(%rbp), %rsi
movq %rbx, %rdi
callq 0x2a942
movq -0x30(%rbp), %rdi
cmpq %r14, %rdi
je 0x39ab
callq 0x31d0
leaq -0x30(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x728b1(%rip), %rsi     # 0x7626a
leaq 0x728f3(%rip), %rdx     # 0x762b3
callq 0x2ac04
leaq -0x30(%rbp), %rsi
movq %rbx, %rdi
callq 0x2a942
movq -0x30(%rbp), %rdi
cmpq %r14, %rdi
je 0x39df
callq 0x31d0
leaq -0x30(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x75c14(%rip), %rdx     # 0x79601
movq %rdx, %rsi
callq 0x2ac04
leaq -0x30(%rbp), %rsi
movq %rbx, %rdi
callq 0x2a942
movq -0x30(%rbp), %rdi
cmpq %r14, %rdi
je 0x3a0f
callq 0x31d0
leaq -0x30(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x72897(%rip), %rsi     # 0x762b4
leaq 0x728d3(%rip), %rdx     # 0x762f7
callq 0x2ac04
leaq -0x30(%rbp), %rsi
movq %rbx, %rdi
callq 0x2a942
movq -0x30(%rbp), %rdi
cmpq %r14, %rdi
je 0x3a43
callq 0x31d0
leaq -0x30(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x728a7(%rip), %rsi     # 0x762f8
leaq 0x728e4(%rip), %rdx     # 0x7633c
callq 0x2ac04
leaq -0x30(%rbp), %rsi
movq %rbx, %rdi
callq 0x2a942
movq -0x30(%rbp), %rdi
cmpq %r14, %rdi
je 0x3a77
callq 0x31d0
leaq -0x30(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x728b8(%rip), %rsi     # 0x7633d
leaq 0x728f3(%rip), %rdx     # 0x7637f
callq 0x2ac04
leaq -0x30(%rbp), %rsi
movq %rbx, %rdi
callq 0x2a942
movq -0x30(%rbp), %rdi
cmpq %r14, %rdi
je 0x3aab
callq 0x31d0
leaq -0x30(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x75b48(%rip), %rdx     # 0x79601
movq %rdx, %rsi
callq 0x2ac04
leaq -0x30(%rbp), %rsi
movq %rbx, %rdi
callq 0x2a942
movq -0x30(%rbp), %rdi
cmpq %r14, %rdi
je 0x3adb
callq 0x31d0
leaq -0x30(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x72897(%rip), %rsi     # 0x76380
leaq 0x728d6(%rip), %rdx     # 0x763c6
callq 0x2ac04
leaq -0x30(%rbp), %rsi
movq %rbx, %rdi
callq 0x2a942
movq -0x30(%rbp), %rdi
cmpq %r14, %rdi
je 0x3b0f
callq 0x31d0
leaq -0x30(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x728aa(%rip), %rsi     # 0x763c7
leaq 0x728e7(%rip), %rdx     # 0x7640b
callq 0x2ac04
leaq -0x30(%rbp), %rsi
movq %rbx, %rdi
callq 0x2a942
movq -0x30(%rbp), %rdi
cmpq %r14, %rdi
je 0x3b43
callq 0x31d0
leaq -0x30(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x728bb(%rip), %rsi     # 0x7640c
leaq 0x728fc(%rip), %rdx     # 0x76454
callq 0x2ac04
leaq -0x30(%rbp), %rsi
movq %rbx, %rdi
callq 0x2a942
movq -0x30(%rbp), %rdi
cmpq %r14, %rdi
je 0x3b77
callq 0x31d0
leaq -0x30(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x728d0(%rip), %rsi     # 0x76455
leaq 0x72910(%rip), %rdx     # 0x7649c
callq 0x2ac04
leaq -0x30(%rbp), %rsi
movq %rbx, %rdi
callq 0x2a942
movq -0x30(%rbp), %rdi
cmpq %r14, %rdi
je 0x3bab
callq 0x31d0
leaq -0x30(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x728e4(%rip), %rsi     # 0x7649d
leaq 0x72926(%rip), %rdx     # 0x764e6
callq 0x2ac04
leaq -0x30(%rbp), %rsi
movq %rbx, %rdi
callq 0x2a942
movq -0x30(%rbp), %rdi
cmpq %r14, %rdi
je 0x3bdf
callq 0x31d0
leaq -0x30(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x728fa(%rip), %rsi     # 0x764e7
leaq 0x72936(%rip), %rdx     # 0x7652a
callq 0x2ac04
leaq -0x30(%rbp), %rsi
movq %rbx, %rdi
callq 0x2a942
movq -0x30(%rbp), %rdi
cmpq %r14, %rdi
je 0x3c13
callq 0x31d0
leaq -0x30(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x7290a(%rip), %rsi     # 0x7652b
leaq 0x7294b(%rip), %rdx     # 0x76573
callq 0x2ac04
leaq -0x30(%rbp), %rsi
movq %rbx, %rdi
callq 0x2a942
movq -0x30(%rbp), %rdi
cmpq %r14, %rdi
je 0x3c47
callq 0x31d0
leaq -0x30(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x7291f(%rip), %rsi     # 0x76574
leaq 0x72960(%rip), %rdx     # 0x765bc
callq 0x2ac04
leaq -0x30(%rbp), %rsi
movq %rbx, %rdi
callq 0x2a942
movq -0x30(%rbp), %rdi
cmpq %r14, %rdi
je 0x3c7b
callq 0x31d0
leaq -0x30(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x72934(%rip), %rsi     # 0x765bd
leaq 0x72973(%rip), %rdx     # 0x76603
callq 0x2ac04
leaq -0x30(%rbp), %rsi
movq %rbx, %rdi
callq 0x2a942
movq -0x30(%rbp), %rdi
cmpq %r14, %rdi
je 0x3caf
callq 0x31d0
leaq -0x30(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x72947(%rip), %rsi     # 0x76604
leaq 0x72988(%rip), %rdx     # 0x7664c
callq 0x2ac04
leaq -0x30(%rbp), %rsi
movq %rbx, %rdi
callq 0x2a942
movq -0x30(%rbp), %rdi
cmpq %r14, %rdi
je 0x3ce3
callq 0x31d0
leaq -0x30(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x7295c(%rip), %rsi     # 0x7664d
leaq 0x7299c(%rip), %rdx     # 0x76694
callq 0x2ac04
leaq -0x30(%rbp), %rsi
movq %rbx, %rdi
callq 0x2a942
movq -0x30(%rbp), %rdi
cmpq %r14, %rdi
je 0x3d17
callq 0x31d0
leaq -0x30(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x758dc(%rip), %rdx     # 0x79601
movq %rdx, %rsi
callq 0x2ac04
leaq -0x30(%rbp), %rsi
movq %rbx, %rdi
callq 0x2a942
movq -0x30(%rbp), %rdi
cmpq %r14, %rdi
je 0x3d47
callq 0x31d0
leaq -0x30(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x72940(%rip), %rsi     # 0x76695
leaq 0x7294f(%rip), %rdx     # 0x766ab
callq 0x2ac04
leaq -0x30(%rbp), %rsi
movq %rbx, %rdi
callq 0x2a942
movq -0x30(%rbp), %rdi
cmpq %r14, %rdi
je 0x3d7b
callq 0x31d0
leaq -0x30(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x72923(%rip), %rsi     # 0x766ac
leaq 0x72947(%rip), %rdx     # 0x766d7
callq 0x2ac04
leaq -0x30(%rbp), %rsi
movq %rbx, %rdi
callq 0x2a942
movq -0x30(%rbp), %rdi
cmpq %r14, %rdi
je 0x3daf
callq 0x31d0
leaq -0x30(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x7291b(%rip), %rsi     # 0x766d8
leaq 0x72925(%rip), %rdx     # 0x766e9
callq 0x2ac04
leaq -0x30(%rbp), %rsi
movq %rbx, %rdi
callq 0x2a942
movq -0x30(%rbp), %rdi
cmpq %r14, %rdi
je 0x3de3
callq 0x31d0
leaq -0x30(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x728f9(%rip), %rsi     # 0x766ea
leaq 0x72963(%rip), %rdx     # 0x7675b
callq 0x2ac04
leaq -0x30(%rbp), %rsi
movq %rbx, %rdi
callq 0x2a942
movq -0x30(%rbp), %rdi
cmpq %r14, %rdi
je 0x3e17
callq 0x31d0
leaq -0x30(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x757dc(%rip), %rdx     # 0x79601
movq %rdx, %rsi
callq 0x2ac04
leaq -0x30(%rbp), %rsi
movq %rbx, %rdi
callq 0x2a942
movq -0x30(%rbp), %rdi
cmpq %r14, %rdi
je 0x3e47
callq 0x31d0
addq $0x20, %rsp
popq %rbx
popq %r14
popq %rbp
retq
jmp 0x3f0a
jmp 0x3f1d
jmp 0x3f0a
jmp 0x3f1d
jmp 0x3f0a
jmp 0x3f1d
jmp 0x3f0a
jmp 0x3f1d
jmp 0x3f0a
jmp 0x3f1d
jmp 0x3f0a
jmp 0x3f1d
jmp 0x3f0a
jmp 0x3f1d
jmp 0x3f0a
jmp 0x3f1d
jmp 0x3f0a
jmp 0x3f1d
jmp 0x3f0a
jmp 0x3f1d
jmp 0x3f0a
jmp 0x3f1d
jmp 0x3f0a
jmp 0x3f1d
jmp 0x3f0a
jmp 0x3f1d
jmp 0x3f0a
jmp 0x3f1d
jmp 0x3f0a
jmp 0x3f1d
jmp 0x3f0a
jmp 0x3f1d
jmp 0x3f0a
jmp 0x3f1d
jmp 0x3f0a
jmp 0x3f1d
jmp 0x3f0a
jmp 0x3f1d
jmp 0x3f0a
jmp 0x3f1d
jmp 0x3f0a
jmp 0x3f1d
jmp 0x3f0a
jmp 0x3f1d
jmp 0x3f0a
jmp 0x3f1d
jmp 0x3f0a
jmp 0x3f1d
jmp 0x3f0a
jmp 0x3f1d
jmp 0x3f0a
jmp 0x3f1d
jmp 0x3f0a
jmp 0x3f1d
jmp 0x3f0a
jmp 0x3f1d
jmp 0x3f0a
jmp 0x3f1d
jmp 0x3f0a
jmp 0x3f1d
jmp 0x3f0a
jmp 0x3f1d
jmp 0x3f0a
jmp 0x3f1d
jmp 0x3f0a
jmp 0x3f1d
jmp 0x3f0a
jmp 0x3f1d
jmp 0x3f0a
jmp 0x3f1d
jmp 0x3f0a
jmp 0x3f1d
movq %rax, %rbx
movq -0x30(%rbp), %rdi
cmpq %r14, %rdi
je 0x3f20
callq 0x31d0
jmp 0x3f20
movq %rax, %rbx
movq %rbx, %rdi
callq 0x33a0